Modular Design

Coupling

Coupling is a measure of the interdependence among software modules.

For unrelated modules, high coupling is bad, low coupling is good. For closely related modules, high coupling is good, low coupling is bad.

  • No direct coupling
  • Data coupling (by passing parameters)
  • Stamp coupling (by passing structures or pointers)
  • Control coupling (using flag to control a submodule)
  • Common coupling (using common area or global variables)
  • Content coupling