当前位置:网站首页>Interviewer: what development models do you know?
Interviewer: what development models do you know?
2022-07-07 07:26:00 【Two black】
Preface
Software development model refers to the whole process of software development 、 The structural framework of activities and tasks . Generally, it includes requirements 、 Design 、 Coding and testing etc , Even the maintenance phase . The software development model clearly stipulates the main activities and tasks to be completed in the process of software development , It is used to guide the work in the whole development process . For different systems , According to the characteristics of the software 、 Different software development models are selected for the participation of project members .
As a test engineer , The work content of testing is closely related to the software development model , In different development models , The tasks and functions of testing will also be different . following , Introduce several common development models .
01、 Waterfall model
Waterfall model is the earliest software development model , It provides the basic framework of software development , It lays the foundation for the subsequent development model . from 1970 By Winston in · Royce (Winston Royce) After the proposal , until 80 Early S , It has been widely used .
This model has clear stage activities , It is divided into 6 Stages : plan → Demand analysis → software design → code → test → Operation and maintenance . The sequence of stages is fixed , From top to bottom 、 Connect with each other , Like a waterfall, water falls step by step . This is also the origin of the name of waterfall model .
The essence of waterfall model is one pass , That is, each activity is executed only once , Finally get the software product , Also known as “ Linear order model ” perhaps “ Traditional life cycle model ”. The process is to complete the work of the previous stage, output the results and pass the audit , can “ flow ” To the next stage ; Otherwise, go back to the front , Even earlier stage activities .
shortcoming :
1) The division of each stage is completely fixed , A lot of documents are generated between stages , It greatly increased the workload .
2) Because the development model is linear , Single process , Irreversible , Users can only see the development results at the end of the whole process , This increases the risk of development .
3) Testing is just one stage , Lack of whole process testing idea . Early errors may not be discovered until later in the development testing phase , The later the problem is found, the higher the cost
4) In the software requirement analysis phase , It is difficult to completely determine all the needs of users , Unable to cope with projects with changing needs .
advantage :
1) Provide checkpoints for projects by phase .
2) After the completion of the current phase , You just need to focus on the next phase .
Applicable project scope :
1) Software development projects with clear requirements ;
2) There is little or no change in requirements during development time ;
3) Analysts and designers should be familiar with the application field ;
4) Low risk projects ( To the goal 、 The environment is very familiar );
5) The user environment is very stable ;
02、 Rapid prototyping model
The rapid prototype model is opposite to the waterfall model , At the beginning of the project, a system prototype that can be run is quickly built according to the needs of users , Then show the user , Reviewed by the user , Make an opinion , Then gradually enrich the project requirements . When the demand is really determined , Before the formal project development .
advantage :
It helps to meet the real needs of users ; The prototype system has been verified through interaction with users , The specification document generated from this can correctly describe user requirements .
shortcoming :
Require developers to quickly build prototypes .
Applicable project scope :
It is applicable to software projects with unclear requirements .
03、 Incremental model
Also known as iterative model or evolutionary model , It splits a complete piece of software into different components , Then develop tests component by component , Every time a component is completed, it is presented to the customer , Let the customer confirm whether the function and performance of this part meet the customer's requirements , The final determination is correct , Integrating components into the software architecture . The entire development effort is organized into a series of short-term 、 Simple small projects , It's called a series of iterations , Every iteration needs to go through requirements analysis → software design → code → Testing process .
advantage :
1) The first deliverable version of the software requires less cost and time
2) Be able to adapt to changes in customers' needs , As the demand changes , Just modify one component .
shortcoming :
1) If there is no overall plan for the change of user needs , It may change to " Develop while doing " The pattern of .
2) When finally integrating various components , There may be a risk of integration failure .
Applicable project scope :
Applicable to tight construction period 、 Functions can be divided 、 More complex software projects . Software engineers must have a high technical level , Be able to design an open software architecture .
04、 Spiral model
This model combines the waterfall model 、 Rapid prototyping model , Youbali · Bohm (Barry Boehm) On 1988 Put forward in , The biggest feature of this model is the introduction of risk analysis that other models do not .
The spiral model divides the development process into several spiral cycles , Each spiral period is roughly consistent with the waterfall model , Risk analysis will be carried out before the beginning of each cycle . At each stage , First, build the software prototype , Complete the iteration process according to the rapid prototype model , Produce the final perfect product , Then move on to the next stage , Similarly, risk assessment should also be carried out before the next stage , This cycle continues until all stages of the task are completed .
The model has four quadrants , The meaning of each quadrant is as follows :
1、 Make a plan : Identify software goals , Formulate the implementation plan , And list the limitations of the project development .
2、 risk analysis : Evaluate the implementation plan formulated , Identify and eliminate risks .
3、 Carry out the works : Develop products and verify them .
4、 Customer assessment : The customer reviews and evaluates the product , Put forward suggestions for amendment , Make a plan for the next step .
advantage :
1) The emphasis on alternatives and constraints is conducive to the reuse of existing software , It also helps to make software quality an important goal of software development ;
2) Reduces the risk of over testing or under testing ;
3) In the spiral model, maintenance is just another cycle of the model , There is no essential difference between maintenance and development .
shortcoming :
The spiral model is risk driven , Therefore, software developers must have rich experience in risk assessment and expertise in this field .
Applicable project scope :
Applicable to large-scale software developed internally ( Long development cycle 、 Software projects that are relatively vulnerable to social factors ), Software developers have rich knowledge and experience in risk assessment .
05、V Model
V Model is also called RAD(Rapid Application Development, Rapid application development ) Model , It is an important model in the process of software development , Because its model composition looks like letters V, So it is called software testing V Model .V The model can be roughly divided into the following different stages and steps : Customer demand analysis 、 Software requirements analysis 、 Outline design 、 Detailed design 、 Software coding 、 unit testing 、 Integration testing 、 The system test 、 The acceptance test .
advantage :
The development phase includes the underlying tests ( unit testing ) And high level testing ( The system test ); Clearly identifies all phases of development and testing ; Clear division of labor in each stage , Easy to control the whole project .
shortcoming :
The top-down order leads to , Testing should be done after coding , As a result, the error cannot be modified in time ; In practice , Change requirements frequently , Lead to v The model steps are repeated , A lot of rework , Low flexibility .
Applicable project scope :
It is generally applicable to the development of some traditional information system applications , And some high-performance, high-risk systems 、 Internet software , Or when a system is difficult to be modularized , It's more difficult to make V The various components required by the pattern , Need more emphasis on iterative development model or agile development model .
06、 Agile model
The agile model is 20 century 90 A software development model that arose in the s . In the development of modern society , Because the business will often change rapidly , Therefore, detailed and complete development requirements are often not available before software development , There are no complete development requirements , The traditional software development model cannot be applied . Agile development model is proposed to solve this problem . The model takes the customer's needs as the core , Use iterations , Develop step by step .
At the beginning of construction, a software project will be divided into several interrelated and independent sub projects , Then iteratively complete each sub project . When the customer has a change in demand , Agile model can quickly make changes to a sub project to meet the needs of customers . In the process , The software is always available .
advantage :
1、 Users will soon be able to see a baseline architecture version of the product
2、 Agility focuses on the market's ability to respond quickly , Face to face with customers
3、 Changes can be accepted at any time
shortcoming :
1、 Pay attention to personnel communication , Better teamwork is needed
2、 Ignore the importance of documents , Need experienced people in the project
3、 If the project personnel flow is too large , It will increase the difficulty of project maintenance
Applicable project scope :
Applicable to complex products , The demand is changeable , Hard to predict 、 Realize products with long cycle
Learning resource sharing
Finally, thank everyone who reads my article carefully , Watching the rise and attention of fans all the way , Reciprocity is always necessary , Although it's not very valuable , If you can use it, you can take it
These materials , For those who want to advance 【 automated testing 】 For our friends, it should be the most comprehensive and complete war preparation warehouse , This warehouse also accompanied me through the most difficult journey , I hope it can help you ! Everything should be done as soon as possible , Especially in the technology industry , We must improve our technical skills . I hope that's helpful …….
Join my communication group below for free !
边栏推荐
- 虚拟机的作用
- LC interview question 02.07 Linked list intersection & lc142 Circular linked list II
- Cloud backup project
- Introduction to abnova's in vitro mRNA transcription workflow and capping method
- Nesting and splitting of components
- [Luogu p1971] rabbit and egg game (bipartite game)
- MySQL service is missing from computer service
- Sqlmap tutorial (IV) practical skills three: bypass the firewall
- C language (high-level) data storage + Practice
- Unity3d learning notes
猜你喜欢
Abnova circulating tumor DNA whole blood isolation, genomic DNA extraction and analysis
Convolutional neural network -- understanding of pooling
L'externalisation a duré trois ans.
SQLMAP使用教程(四)实战技巧三之绕过防火墙
Abnova membrane protein lipoprotein technology and category display
L'étape avancée du pointeur de langage C (haut de gamme) pour l'enroulement des cocons
Outlier detection technology of time series data
Pass parent component to child component: props
Paranoid unqualified company
Four goals for the construction of intelligent safety risk management and control platform for hazardous chemical enterprises in Chemical Industry Park
随机推荐
深度学习花书+机器学习西瓜书电子版我找到了
Tujia, muniao, meituan... Home stay summer war will start
Readonly read only
How to model and simulate the target robot [mathematical / control significance]
Jesd204b clock network
三、高质量编程与性能调优实战 青训营笔记
Fast quantitative, abbkine protein quantitative kit BCA method is coming!
四、高性能 Go 语言发行版优化与落地实践 青训营笔记
Wechat applet full stack development practice Chapter 3 Introduction and use of APIs commonly used in wechat applet development -- 3.10 tabbar component (I) how to open and use the default tabbar comp
二、并发、测试笔记 青训营笔记
聊聊异步编程的 7 种实现方式
ViewModelProvider. Of obsolete solution
抽丝剥茧C语言(高阶)指针进阶练习
About binary cannot express decimals accurately
Explain Bleu in machine translation task in detail
Role of virtual machine
1090: integer power (multi instance test)
Cloud backup project
MySQL service is missing from computer service
Detailed explanation of transform origin attribute