当前位置:网站首页>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 .
边栏推荐
- AR增强现实可应用的场景
- 2022 Q2 - Summary of skills to improve skills
- 软件开发生命周期 --瀑布模型
- 人工智能在网络安全中的作用
- Laravel artisan common commands
- [technology development -21]: rapid overview of the application and development of network and communication technology -1- Internet Network Technology
- leetcode2305. Fair distribution of biscuits (medium, weekly, shaped pressure DP)
- 1218 square or round
- [Video] Markov chain Monte Carlo method MCMC principle and R language implementation | data sharing
- Five skills of adding audio codec to embedded system
猜你喜欢

Ks006 student achievement management system based on SSM
![[graduation season] graduate seniors share how to make undergraduate more meaningful](/img/03/9adc44476e87b2499aa0ebb11cb247.png)
[graduation season] graduate seniors share how to make undergraduate more meaningful

如何远程、在线调试app?

Architecture evolution from MVC to DDD
![[Video] visual interpretation of Markov chain principle and Mrs example of R language region conversion | data sharing](/img/56/87bc8fca9ceeab6484f567f7231fdb.png)
[Video] visual interpretation of Markov chain principle and Mrs example of R language region conversion | data sharing

How to use redis ordered collection

Redis有序集合如何使用

【LeetCode 43】236. The nearest common ancestor of binary tree

How to build and use redis environment

Medical management system (C language course for freshmen)
随机推荐
What is the MySQL column to row function
Word search applet design report based on cloud development +ppt+ project source code + demonstration video
Laravel artisan common commands
MySQL view concept, create view, view, modify view, delete view
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
The concept, function, characteristics, creation and deletion of MySQL constraints
Architecture evolution from MVC to DDD
np. Where and torch Where usage
Regular expression learning notes
What are the necessary things for students to start school? Ranking list of Bluetooth headsets with good sound quality
What is AQS and its principle
The difference between new and malloc
剑指 Offer 47. 礼物的最大价值
Ubuntu20.04 PostgreSQL 14 installation configuration record
STM32F103——两路PWM控制电机
New news, Wuhan Yangluo international port, filled with black technology, refreshes your understanding of the port
剑指 Offer 31. 栈的压入、弹出序列
mysql列转行函数指的是什么
Five skills of adding audio codec to embedded system
Cross domain? Homology? Understand what is cross domain at once