• DocumentCode
    1347554
  • Title

    Software Maintainability - What It Means and How to Achieve It

  • Author

    Rosene, A.F. ; Connolly, J.E. ; Bracy, K.M.

  • Author_Institution
    GTE Products Corp., 360 First Avenue; Needham Heights, Massachusetts 02194 USA.
  • Issue
    3
  • fYear
    1981
  • Firstpage
    240
  • Lastpage
    245
  • Abstract
    The terms reliability and maintainability are often misunderstood in the software field since software does not `break´ or `wear out´ in the physical sense; it either works in a given environment or it does not. This means that the program is either right or wrong in the environment. However, it does not follow that a program that is right is reliable or maintainable. For the purposes of this paper a program is maintainable if it meets the following two conditions: ¿ There is a high probability of determining the cause of a problem in a timely manner the first time it occurs, and ¿ There is a high probability of being able to modify the program without causing an error in some other part of the program. There are three important topics in developing a program which fulfills the above criteria: documentation, standards, and system architecture. This paper discusses the third topic since it is the real key to the development of maintainable software. A particular architecture of structured modular design using controlled communication between modules is presented together with its relationship to maintainability and reliability. The benefits of this approach are: ¿ High isolation between modules. ¿ Communication visibility and monitoring. ¿ Error location. ¿ Overload control. ¿ Simplified control program. ¿ Transparency to multicomputer configurations. A method is presented for calculating maintainability parameters related to this architecture, and examples of these calculations are given and interpreted.
  • Keywords
    Communication system control; Computer architecture; Engineering management; Maintenance engineering; Matrices; Multitasking; Software design; Software maintenance; Testing; Time sharing computer systems; Design evaluation; Maintenance prediction; Software Architecture;
  • fLanguage
    English
  • Journal_Title
    Reliability, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9529
  • Type

    jour

  • DOI
    10.1109/TR.1981.5221065
  • Filename
    5221065