Software Process Models IAN SOMMERVILLE Computing Department, Lancaster University, Lancaster, UK is@comp.lancs.ac.uk The software process consists of the activities and associated information that are required to develop a software system. Every organization has its own specific software process but these individual approaches usually follow some more abstract generic process model. These generic process models are the subject of this article. SPECIFICATION-BASED MODELS The failure of several high-profile software projects in the 1960s led to the notion of a software life-cycle or process. The initial life-cycle model [Royce 1970] is now termed the waterfall model. This model consists of a set of phases, starting with system specification, with results cascading from one stage to another. The waterfall model includes the following phases: (1) Specification. The functionality of the software and its operating constraints are specified in detail. (2) Design and implementation. The overall structure of the software is designed and specific software components identified. These are implemented using some programming language, often by separate individuals or teams. (3) Integration and testing. Individually developed modules are integrated into a complete system and tested. (4) Operation and maintenance. The software is delivered to the customer and modified to meet changing requirements
/lp/association-for-computing-machinery/software-process-models-opZZqQWIC7