当前位置:网站首页>Software development life cycle -- waterfall model
Software development life cycle -- waterfall model
2022-07-02 02:03:00 【Lao Xiao of Buddhism】

List of articles
The classic waterfall model is basic Software development lifecycle Model . It's very simple , But idealism . This model used to be very popular , But now it is not used . But it's very important , Because all other software development lifecycle models are based on the classic waterfall model .
The classic waterfall model divides the life cycle into a set of stages . This model believes that a phase can be started after the last phase . in other words , The output of one stage will be the input of the next stage . therefore , You can think of the development process as a sequential flow in a waterfall . ad locum , These stages do not overlap . The different sequential stages of the classic waterfall model are shown in the figure below :

Stage Introduction
Now? , Let's take a brief look at each stage :
feasibility study : The main objective of this stage is to determine whether the development software is financially and technically feasible .
The feasibility study involves understanding problems , Then determine various possible strategies to solve the problem . Analyze the advantages and disadvantages of these different solutions , Choose the best solution , And perform all other phases according to this solution strategy .Requirements analysis and specification : The purpose of the requirements analysis and specification stage is to understand the exact requirements of customers and record them correctly . This phase consists of two different activities .
- Requirements collection and Analysis : First , Collect all requirements about software from customers , Then analyze the collected requirements . The goal of the analysis section is to eliminate imperfections ( Incomplete requirements omit some parts of the actual requirements ) And inconsistent ( Inconsistent requirements are requirements that contradict some parts of the requirements with some other parts ).
- Requirement specification : The requirements of these analyses are documented in the software requirements specification (SRS) In the document .SRS The document acts as a contract between the development team and the customer . Any future disputes between customers and developers can be checked SRS Document to solve .
Design : The goal of this stage is to SRS The requirements obtained in are converted into a format that can be encoded in a programming language . It includes high-level and detailed design and overall software architecture . Software design documents are used to record all these works (SDD)
Coding and unit testing : In the coding phase , Use any suitable programming language to convert the software design into source code . therefore , Every designed module is coded . The purpose of the unit test phase is to check whether each module works properly .
Integration and system testing : The integration of different modules takes place shortly after coding and unit testing . The integration of various modules is carried out step by step . In each integration step , Add previously planned modules to the partially integrated system , And test the generated system . Last , After all modules have been successfully integrated and tested , Get a complete working system and test it .
System testing consists of three different testing activities , As follows :
- Alpha test : Alpha Tests are system tests performed by the development team .
- Beta test : Beta The test is a system test performed by a group of friendly customers .
- The acceptance test : After software delivery , The customer performs acceptance tests , To determine whether to accept or reject the delivered software .
maintain : Maintenance is the most important stage in the software life cycle . The energy used for maintenance accounts for% of the total workload spent on developing complete software 60%. There are basically three types of maintenance :
- Corrective maintenance : This type of maintenance is performed to correct errors not found during product development .
- Integrity maintenance : This type of maintenance is carried out according to the requirements of customers to enhance the function of the system .
- Adaptive maintenance : It usually requires adaptive maintenance to migrate software to a new environment , For example, working on a new computer platform or a new operating system .
Advantages of classic waterfall model
The classic waterfall model is an idealistic model of software development . It's very simple , Therefore, it can be regarded as the basis of other software development life cycle models . Here is this SDLC Some of the main advantages of the model :
- This model is very simple , Easy to understand .
- The phases in this model process one phase at a time .
- Each stage in the model is clearly defined .
- The model has very clear and easy to understand milestones .
- The process , Actions and results are well documented .
- Strengthen good habits : Define first, design first ,
Post design code . - This model is suitable for small projects and requirements
Understand the project .
Disadvantages of classical waterfall model
The classical waterfall model has various shortcomings , Basically , We can't use it in real projects , But we use other software development lifecycle models based on the classic waterfall model . Here are some of the main drawbacks of this model :
No feedback path : In the classic waterfall model , The evolution of software from one stage to another is like a waterfall . It assumes that developers will not make any mistakes at any stage . therefore , It does not contain any error correction mechanism .
Difficult to adapt to change requests : This model assumes that all customer requirements can be defined exactly at the beginning of the project , But in fact, customers' needs will change over time . After the requirements specification stage , It's hard to adapt to any change request .
There is no overlap of stages : This model suggests that the new phase can only be started after the completion of the previous phase . But in the real world , This is unsustainable . In order to improve efficiency and reduce costs , The stages may overlap .
边栏推荐
- Three core problems of concurrent programming
- 电子协会 C语言 1级 32、计算2的幂
- Failed to transform file 'xxx' to match attributes
- What are the necessary things for students to start school? Ranking list of Bluetooth headsets with good sound quality
- [Video] Markov chain Monte Carlo method MCMC principle and R language implementation | data sharing
- 剑指 Offer 62. 圆圈中最后剩下的数字
- The role of artificial intelligence in network security
- Spend a week painstakingly sorting out the interview questions and answers of high-frequency software testing / automated testing
- 剑指 Offer 29. 顺时针打印矩阵
- MATLAB realizes voice signal resampling and normalization, and plays the comparison effect
猜你喜欢

479. Additive binary tree (interval DP on the tree)

软件开发生命周期 --瀑布模型

人工智能在网络安全中的作用

Ks006 student achievement management system based on SSM

MATLAB realizes voice signal resampling and normalization, and plays the comparison effect

The smart Park "ZhongGuanCun No.1" subverts your understanding of the park

Ar Augmented Reality applicable scenarios

Redis环境搭建和使用的方法

The role of artificial intelligence in network security

pytest 测试框架
随机推荐
The concepts and differences between MySQL stored procedures and stored functions, as well as how to create them, the role of delimiter, the viewing, modification, deletion of stored procedures and fu
Cross domain? Homology? Understand what is cross domain at once
Three core problems of concurrent programming
Construction and maintenance of business websites [13]
leetcode2305. 公平分发饼干(中等,周赛,状压dp)
How does MySQL solve the problem of not releasing space after deleting a large amount of data
Failed to transform file 'xxx' to match attributes
How can the tsingsee Qingxi platform play multiple videos at the same time on the same node?
OpenCASCADE7.6编译
mysql列转行函数指的是什么
【深度学习】infomap 人脸聚类 facecluster
The difference between new and malloc
Construction and maintenance of business websites [12]
From January 11, 2007 to January 11, 2022, I have been in SAP Chengdu Research Institute for 15 years
【毕业季】研究生学长分享怎样让本科更有意义
MySQL主从延迟问题怎么解决
Construction and maintenance of business websites [14]
WebGPU(一):基本概念
Sword finger offer 31 Stack push in and pop-up sequence
VARIATIONAL IMAGE COMPRESSION WITH A SCALE HYPERPRIOR文献实验复现