当前位置:网站首页>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 .
边栏推荐
- Ks006 student achievement management system based on SSM
- SQLite 3 of embedded database
- Openssl3.0 learning XXI provider encoder
- RTL8189FS如何关闭Debug信息
- Design and implementation of key value storage engine based on LSM tree
- leetcode2311. 小于等于 K 的最长二进制子序列(中等,周赛)
- Word search applet design report based on cloud development +ppt+ project source code + demonstration video
- How does MySQL solve the problem of not releasing space after deleting a large amount of data
- Volume compression, decompression
- How to turn off debug information in rtl8189fs
猜你喜欢

Cross domain? Homology? Understand what is cross domain at once

Discussion on the idea of platform construction

leetcode2310. The one digit number is the sum of integers of K (medium, weekly)

How to use redis ordered collection

734. Energy stone (greed, backpack)

matlab 使用 audiorecorder、recordblocking录制声音,play 播放声音,audiowrite 保存声音

A quick understanding of analog electricity
![[question] - why is optical flow not good for static scenes](/img/8d/2cf6f582bc58cc2985f50e3f85f334.jpg)
[question] - why is optical flow not good for static scenes

WebGPU(一):基本概念

Five skills of adding audio codec to embedded system
随机推荐
Develop those things: how to use go singleton mode to ensure the security of high concurrency of streaming media?
A quick understanding of analog electricity
MATLAB realizes voice signal resampling and normalization, and plays the comparison effect
Architecture evolution from MVC to DDD
Learn basic K-line diagram knowledge in three minutes
剑指 Offer 62. 圆圈中最后剩下的数字
[Video] visual interpretation of Markov chain principle and Mrs example of R language region conversion | data sharing
Sword finger offer 62 The last remaining number in the circle
The role of artificial intelligence in network security
Golang lock
JPM 2021 most popular paper released (with download)
开发工具创新升级,鲲鹏推进计算产业“竹林”式生长
PR second training
Regular expression learning notes
剑指 Offer 47. 礼物的最大价值
RTL8189FS如何关闭Debug信息
Logging only errors to the console Set system property ‘log4j2. debug‘ to sh
leetcode373. Find and minimum k-pair numbers (medium)
Based on configured schedule, the given trigger will never fire
分卷压缩,解压