Dependency
A dependency is a relationship in which one component, module, or other building block relies on another to do its job – to compile, to run, or to behave correctly.
The dependent side is affected by changes made to the thing it depends on, but not usually the other way around, which makes dependencies directional even where the underlying communication between the two is not.
The accumulation of dependencies across a system’s components is what coupling measures. A component with many, or particularly deep, dependencies is more tightly coupled to the rest of the system, harder to change in isolation, and harder to reuse elsewhere.