In software engineering, coupling is the degree of interdependence between software modules; a measure of how closely connected two routines or modules are; the strength of the relationships between modules
Coupling is usually contrasted with cohesion. low coupling often correlates with high cohesion, and vice versa. Low coupling is often a sign of a well-structured computer system and a good design, and when combined with high cohesion, supports the general goals of high readability and maintainability
- Cohesion is a measure of internal strength within a module, whereas coupling is a measure of inter dependency among the modules.So in the context of modular software design there should be high cohesion and low coupling.