Software life cycle Model

Source: Internet
Author: User

software life cycle model ( Life Cycle Model ) is a model that describes how various activities are performed during the software development process . various models establish the order limits of each stage of software development and the rules and restrictions that are followed in the development process . . typical software life cycle models include waterfall model, evolutionary model, Helix model, fountain model

1. Waterfall Models (Waterfall model )

Waterfall model is the first software development model to emerge , It prescribes the activities of the software life cycle as a number of phases that are connected in a fixed sequence , like waterfall water, descending.

features :

1) , Waterfall model requires a clear demand analysis , So in reality it is impossible to implement ( model )

2) Each phase is completely fixed and linear. , development results can only be seen in the late stages of the process , This increases the risk of development

3) not adapt to changes in user requirements

Test: according to the Waterfall model Stage Division , Software testing can be divided into unit testing, integration testing, System testing

Applications: Systems with clear requirements or few changes

2. Evolutionary models (evolutionary model)

Evolutionary model is a global software cycle model, using iterative development methods. Based on the basic needs of the user, an initial operational version of the software is constructed through rapid analysis, which is often referred to as a prototype, which is then improved based on the comments and suggestions made by the user in the process of using the prototype to obtain a new version of the prototype. Repeat the process until you have a software product that satisfies the user. That is, from the initial prototype gradually evolved into the final software PRODUCT, each iteration can be seen as a "waterfall model."

Features: adopt the method of dynamic definition requirement , so there is no need for explicit needs. But without rigorous process management, evolutionary models are likely to degenerate into a primitive unplanned "trial - error - change" model .

Application: Unclear requirements, difficult to develop successful systems at once

3. Helical models (spiral model)

for complex large software, developing a prototype often does not reach the requirements. The spiral model combines the waterfall model and the evolutionary model, and adds the risk analysis that both models ignore. The Helix model divides the development process into several helical cycles, with each spiral cycle roughly consistent with the waterfall model, initially starting with the first spiral from the concept project. Each spiral cycle is divided into 4 work steps: Planning, risk analysis, implementation engineering, user assessment.

Features: combines the benefits of waterfall models and evolutionary models , on this basis, the risk analysis is added, the large-scale system is constructed with small segments, the design is flexible, but the development cycle is long, and when the development is completed, there may be a large gap with the current technical level.

Application: For the development of new development, the application of spiral model is not clear, easy to risk control and change of requirements

4. Fountain models (water Fountainmodel)

Fountain model is a model based on user's demand, which is driven by object, and is suitable for object-oriented development method. It overcomes the limitations that waterfall models do not support software reuse and integration of multiple development activities. The fountain model makes the development process iterative and non-interstitial.

Features: mainly used to describe the object-oriented development process , The core is iteration . all development activities have no obvious boundaries , enables cross-cutting of various development activities to deliver software project development efficiencies. However, due to the overlapping development stages, in the development process requires a large number of developers, it is not conducive to project management, in addition to strict management of the document, making the audit more difficult.

Application: Object-oriented Software development process

Summary:

The above four kinds of software life cycle models are more typical, other like V model, W model, H model, increment model, evolutionary model and so on have fused some of their characteristics, in view of the original based on the improvement. Master the advantages and disadvantages of the basic models to better manage the software development activities.

Software life cycle Model

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.