• DocumentCode
    996865
  • Title

    Elemental concerns (software design)

  • Author

    Krauskopf, Jan

  • Author_Institution
    Star Data Corp., Spaceport, FL, USA
  • Volume
    9
  • Issue
    1
  • fYear
    1990
  • Firstpage
    13
  • Lastpage
    15
  • 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.<>
  • Keywords
    software engineering; coupling; factoring; fan-in; fan-out; functional cohesion; logical unity; software design; state memory; Debugging; Design methodology; Engineering drawings; Guidelines; Large-scale systems; NASA; Software design; Software engineering; Software maintenance; Software packages;
  • fLanguage
    English
  • Journal_Title
    Potentials, IEEE
  • Publisher
    ieee
  • ISSN
    0278-6648
  • Type

    jour

  • DOI
    10.1109/45.46811
  • Filename
    46811