Software Architecture - Coupling

Up
Background
Categories
Classification

 

Background

Coupling is an ordinal scale describing the degree of interdependence between modules.  It was first introduced in the middle 1970’s as explanation of  why it took longer to maintain some programs than others.

What researchers discovered was that when one component of a program changed frequently it was necessary to change other components in the system.  This “ripple effect” was related to how the programmer constructed the interface to components.  The more a module knew about the internals of a module that it used the more like it was to require maintained when the called module changed.  It was also observed that the closer or tighter the relationship between the components, there were reduced incidents of the component being used in other places within the system.  While doing this research that there where seven general categories of coupling and that the looser the coupling the less likely-hood there was to cause other modules to require maintenance and a greater likely-hood for using the component in other parts of the system and other related applications.

References

W.P. Stevens, G.J. Myers, L.L. Constantine.  "Structured design".  IBM Systems Journal, vol. 2, no. 13.  pp. 115-139.  1974

Glenford J. Meyers.  Reliable Software through composite design. Van Nostrand Reinhold. New York.  1975.

 

© Carl J. Mueller, 2001.

 This page was last update on  04/11/2001