• software maintenance
The process of modifying a product after delivery to correct faults (corrective maintenance), to improve performance or other attributes (perfective maintenance), or to adapt the product to a changed environment (adaptive maintenance).
• software project model
The software project model underlying this curriculum module is based on (1) planning, (2) execution, and (3) evaluation-based feedback stages. Conventional life-cycle models describe the execution part. Specifications are created during planning, used to control the performance of processes and the creation of products during execution, and evaluated after execution during the feedback stage.
Replaced/Superseded by document(s)
This curriculum module presents a framework for understanding software product and process specifications. An unusual approach has been chosen in order to address all aspects related to 'specification' without confusing the many existing uses of the term. In this module, the term 'specification' refers to any plan (or standard) according to which products of some type are constructed or processes of some type are performed, not to the products or processes themselves. In this sense, a specification is itself a product that describes how products of some type should look or how processes of some type should be performed. The framework includes:
• A reference software life-cycle model and terminology
• A characterization scheme for software product and process specifications
• Guidelines for using the characterization scheme to identify clearly certain life-cycle phases
• Guidelines for using the characterization scheme to select and evaluate specification techniques