Several models commonly used in software development

Source: Internet
Author: User

Software development model refers to the structural framework of all processes, activities, and tasks of software development. Software development includes the stages of requirement, design, coding and testing, and sometimes maintenance. The software development model can clearly and intuitively express the entire process of software development, and clearly defines the main activities and tasks to be completed as the basis of software project work. For different software systems, different development methods, different programming languages, and personnel with different skills can be used to participate in the work, and different management methods and means can be used, and allow different software tools and different software engineering environments.

Waterfall Model

The waterfall model is also called the software life cycle model. The core idea of the waterfall model is to simplify the problem by process, separate the Implementation and Design of functions, and facilitate the division of labor and collaboration, that is, the waterfall model, use structured analysis and design methods to separate logical implementation from physical implementation. The software lifecycle is divided into six basic activities, including planning, requirement analysis, software design, programming, software testing, and operation and maintenance, they also define a fixed order of top-down and interconnection, so if the project changes frequently, it is not suitable for waterfall model development.

Advantages of Waterfall Model

1. Provides checkpoints for project development by phase;

2. After the current phase is completed, you only need to pay attention to the subsequent stages;

3. You can apply the waterfall model to the iterative model.

Shortcomings of the waterfall model

1. There is little feedback between various stages of the project;

2. The results can only be seen later in the project lifecycle, which is different from what you expect;

3. Many documents are generated, which increases the workload;

4. Early errors may not be detected until the test phase at the end of the development stage, resulting in serious consequences.

Prototype Model

The prototype model provides a prototype to obtain user feedback, so that the developed software can truly reflect the user's needs. At the same time, the prototype model gradually improved the prototype, enabling rapid development of the prototype, this avoids the difficulty of quickly responding to user feedback in the lengthy development process like the waterfall model.

Features of the prototype model

(1) developers and users reach an agreement on the "prototype. In this way, errors in design and risks in development can be reduced, user training time can be reduced, and the system's practicality, correctness, and user satisfaction can be improved.

(2) Shortening the development cycle and accelerating the project progress

(3) reduce costs.

Disadvantages of the prototype model

As can be seen from the prototype diagram, the development process may return to the top for redevelopment.

Spiral Model

It combines the waterfall model with the rapid prototype model, emphasizing the risk analysis ignored by other models, and is suitable for large-scale and complex systems. The spiral model uses a periodic Method for system development, which leads to the development of many intermediate versions. This model is a rapid prototyping method, centered on evolutionary development methods, and uses the waterfall Modeling Method in each project phase. Each cycle of this model includes four stages: requirement definition, risk analysis, engineering implementation, and review,
The basic practice of a spiral model is to introduce a very strict risk identification, risk analysis and risk control before each development phase of the waterfall model. It breaks down software projects into small projects. Each small project identifies one or more major risks until all major risk factors are identified. The spiral model is a risk-driven method system to a large extent, because risk assessment must be carried out before each stage and before frequent loops. In practice, the technology and process of spiral method become simpler. If some risks cannot be ruled out in a scheme, the scheme is terminated immediately. Otherwise, start the next development step. As risk analysis accounts for a large part of the project, if the implementation of risk analysis will greatly affect the project's profit, it is meaningless to carry out risk analysis. Therefore, the spiral model is only suitable for large-scale software projects. Applicable to the spiral model project: it is suitable for the development of the spiral model when the new development and the demand are not clear, so as to facilitate risk control and demand change.

The following table lists the problems that the spiral method can solve:

  

Problem Solution
Insufficient user requirements Allow and encourage user feedback
Unknown Communication Eliminate severe misinterpretations early in the project
Rigid System Development first focuses on important services and Problems
Subjective judgment Make objective evaluations through testing and quality assurance
Potential inconsistency Inconsistency was discovered early in the project
Poor testing and quality assurance Test from the first iteration
Developed by waterfall Identify and focus on risks in the early stages

Each cycle includes the following six steps:

1. Determine the target, options, and mandatory conditions.

2. Identify and resolve risks.

3. Evaluation Options.

4. develop and test the current phase.

5. plan the next stage.

6. determine the steps for entering the next stage.

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.