Software Life Cycle Models

The "waterfall model", documented in 1970 by Royce was the first publicly documented life cycle model. The model was developed to help cope with the increasing complexity of aerospace products. The waterfall model followed a documentation driven paradigm. The next revolutionary new look at the development lifecycle was the "spiral model", presented by Boehm in 1985. The spiral model is focused on risk management.

Life cycle models describe the interrelationships between software development phases. The common life cycle models are:
y y y y y y y

spiral model waterfall model throwaway prototyping model evolutionary prototyping model incremental/iterative development reusable software model automated software synthesis

Because the life cycle steps are described in very general terms, the models are adaptable and their implementation details will vary among different organizations. The spiral model is the most general. Most life cycle models can in fact be derived as special instances of the spiral model. Organizations may mix and match different life cycle models to develop a model more tailored to their products and capabilities.

A software life cycle model depicts the significant phases or activities of a software project from conception until the product is retired. It specifies the relationships between project phases, including transition criteria, feedback mechanisms, milestones, baselines, reviews, and deliverables. Typically, a life cycle model addresses the following phases of a software project: requirements phase, design phase, implementation, integration, testing, operations and maintenance. Much of the motivation behind utilizing a life cycle model is to provide structure to avoid the problems of the "undisciplined hacker".


each having incrementally more functionality. or coping with information sclerosis. This is . and requirement changes incorporates software quality objectives into the product focus on early error detection and design flaws sets completion criteria for each project activity to answer the question: "How much is enough?" uses identical approaches for development and maintenance can be used for hardware-software system development Waterfall Model The least flexible and most obsolete of the life cycle models.Spiral Model The spiral model is the most generic of the models. The spiral uses a risk management approach to software development. The approach is to construct a quick and dirty partial implementation of the system during or before the requirements phase. Incremental/iterative Development The process for constructing several partial deliverables. growth. Throwaway Prototyping Model Useful in "proof of concept" or situations where requirements and user's needs are unclear or poorly specified. Automated Software Synthesis This process relies on tools to transform requirements into operational code. schedule predictability and control. Formal requirements are created and maintained using specification tools. Most life cycle models can be derived as special cases of the spiral model. Some advantages of the spiral model are: y y y y y y y y y defers elaboration of low risk software elements incorporates prototyping as a risk reduction strategy gives an early focus to reusable software accommodates life-cycle evolution. Well suited to projects that has low risk in the areas of user interface and performance requirements. Evolutionary Prototyping Model Use in projects that have low risk in such areas as losing budget. but high risk in user interface design. large-system integration problems. but high risk in budget and schedule predictability and control.

and practical tools for this approach are yet to be developed. .an active research area.

Sign up to vote on this title
UsefulNot useful