Comparison of common software development process models

Source: Internet
Author: User

 

Compare the features, advantages and disadvantages, and applicability of several common software development process models:

 

I. Waterfall Model

 

Waterfall Model features:

1. Simple, intuitive, and easy to use

2. The development process is strict. one stage is followed by one stage.

3. There is no feedback in the model. If the task in the previous stage is completed and the task enters the next stage, no feedback will be given to the work in the previous stage.

4. Strict control is required during model execution.

5. allow early acceptance control of baselines and configurations

6. A new project is not suitable for the waterfall model unless it is in the later stage of the project.

7. the user can see the product quality until the end of the project; the user is not gradually familiar with the system

8. changes are not allowed or early requirements for changes are limited

9. The waterfall model is more idealistic.

 

Advantages of Waterfall Model: Facilitates the organization and management of personnel in large-scale software development, facilitates the research of software development methods and tools, and improves the quality and efficiency of large-scale software project development.

 

Disadvantages of the waterfall model:(1) The development process cannot be reversed; otherwise, the cost is too high; (2) it is difficult to strictly follow the model in actual project development; (3) it is often difficult for customers to clearly give all their needs, but this model requires this. (4) the actual situation of the software must be visible to the customer at the end of project development. This requires the customer to be patient.

 

Use scope of Waterfall Model(1) The user's needs are clear and comprehensive, and there are no or few changes in the development process; (2) developers are familiar with the application field of software; (3) the user's use environment is very stable; (4) development requires low user participation.

 

Ii. Prototype Model

Features of the prototype model:

1. A prototype system needs to be built quickly when the requirement is defined.

2. the user provides feedback to developers Based on the advantages and disadvantages of the quickly constructed prototype system.

3. modify the software requirement specification according to feedback so that the system can better reflect users' requirements.

4. Various project assumptions and risks can be reduced.

 

Advantages of the prototype model(1) A good requirement definition can be obtained, which is easy to adapt to changes in requirements; (2) it is conducive to synchronization of development and training; (3) low development costs, short development cycles, and more user-friendly.

 

Disadvantages of the prototype model(1) customers and developers have different understandings of the prototype; (2) it is difficult to accurately design the prototype; (3) it is not conducive to developers' innovation.

 

Usage scope of the prototype model(1) familiar with the developed fields and quick prototyping tools; (2) prototype models can be used as software development models during project bidding; (3) the prototype is ideal for product porting, upgrading, or customizing existing product prototypes.

 

Iii. Incremental Model

Features of the Incremental Model:

1. Avoid the risks caused by too much one-time investment. Implement the main functions or risky functions first, and then gradually improve them to ensure the effectiveness of investment.

2. A system that can be operated can be developed more quickly

3. Changes to user requirements during development can be reduced

4. Some incremental data may need to be re-developed (if the demand for early development is unstable or incomplete)

 

Advantages of the Incremental Model(1) the advantage of using the incremental model is that the personnel distribution is flexible and there is no need to invest a lot of human resources at the beginning; (2) if the core products are very popular, you can increase manpower to achieve the next increment; (3) Some functions can be released to the customer first, and the customer will be given a stash.

 

Disadvantages of the Incremental Model(1) parallel development components may encounter risks of being unable to be integrated. The software must have an open architecture. (2) the flexibility of the incremental model makes it better to adapt to this change than the waterfall model and the rapid prototype model, but it is also easy to degrade to the side-to-side modeling, instead, the control of software processes loses integrity.

 

Scope of use of the Incremental Model(1) At the beginning of the project, most of the requirements are identified, but the requirements may change. (2) The project should be gradually understood because the market and users are not accurate; (3) The project must be implemented step by step to improve functions of Systems with large and complex functions.

 

 

Iv. Spiral Model

A spiral model is a model designed for highly risky projects. The main purpose of designing this model is to overcome the shortcomings of the waterfall model. It gradually avoids risks through continuous circulation of a series of waterfall models.

 

 

 

Each cycle step consists of the following four phases:

Planning-determine the software objectives, select the implementation scheme, and clarify the constraints of project development;

Risk analysis-analyzes the selected scheme and considers how to identify and eliminate risks;

Implementation Project-implement software development, coding, testing, etc;

Customer evaluation-evaluate the development work and propose amendments.

 

Features of the spiral model:

1. multiple iterations of the waterfall model

2. More detailed division of each stage

3. Flexible Design

4. Driven by risk management

5. Users can see the product earlier

6. Users can continuously evaluate the product

7. Users can closely integrate with developers

8. No one-time investment is required for the project.

9. More feedback to developers

 

Advantages of a spiral model(1) design flexibility, which can be changed at various stages of the project; (2) building a large system in small segments to make cost calculation easy; (3) the customer is always involved in the development of each stage, ensuring that the project does not deviate from the correct direction and the controllability of the project. (4) as the project progresses, the customer is always informed of the latest project information, so that he or she can effectively interact with the management.

 

Disadvantages of Spiral Model(1) adopting a spiral model requires a wealth of experience and expertise in risk assessment. If risks are not identified in a timely manner during project development with high risks, this will inevitably cause significant losses; (2) Too many iterations will increase development costs and delay the submission time.

 

Use scope of the Spiral Model:

1. the spiral model is only suitable for large-scale software projects.

2. Projects that adopt new technologies

3. Projects with risks as the main constraint

4. uncertain factors and risks limit the project progress

5. the user's own needs are not very clear about the project

6. items requiring verification of some basic concepts

7. projects with major changes

 

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.