{{short description|Degree of interdependence between software modules}}
In [[software engineering]], '''coupling''' is the degree of interdependence between software [[Modular programming|modules]]; a measure of how closely connected two routines or modules are;<ref name="ISO_24765"/> the strength of the relationships between modules.<ref name="ISOIECTR19759_2005"/>
[[File:CouplingVsCohesion.svg|thumb|Coupling and [[cohesion (computer science)|cohesion]]]]
Coupling is usually contrasted with [[cohesion (computer science)|cohesion]]. [[Loose coupling|Low coupling]] often correlates with high cohesion, and vice versa. Low coupling is often thought to be a sign of a well-structured [[computer system]] and a good design, and when combined with high cohesion, supports the general goals of high [[computer programming#Readability of source code|readability]] and [[maintainability]].{{Citation needed|date=October 2013}}