Author_Institution :
Star Data Corp., Spaceport, FL, USA
Abstract :
The elements of good software design are examined. One is coupling, which is the degree of interdependence between two modules. In a good design, coupling is kept to a minimum. The various levels of coupling, range from zero coupling (rare) on through data, stamp, and control coupling, which are acceptable, to global and content coupling, which are not. The second element of good software design is cohesion, which is the strength or logical unity of a module. The highest (and most preferred) level is functional cohesion: a module with functional cohesion performs only one task. There is again a hierarchy of levels, some of which are acceptably high and some of which are not. Other elements of design-factoring, state memory, fan-out, and fan-in-are briefly described.<>