Ideas from the Software Engineering Community, pre-dating OOP.
-
Coupling refers to the extent to which one component uses another
to perform actions. Generally a goal is to reduce coupling between software.
-
Cohesion refers to the extent to which the actions of a component
seem to be tied together in purpose. Generally a goal is to increase
cohesion within a software component.