当前位置:网站首页>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 !
边栏推荐
- 点亮显示屏的几个重要步骤
- ROS2规划系统plansys2简单的例子
- 1089: highest order of factorial
- Introduction to abnova's in vitro mRNA transcription workflow and capping method
- OOM(内存溢出)造成原因及解决方案
- MIPS uclibc cross compile ffmpeg, support g711a encoding and decoding
- 07_ Handout on the essence and practical skills of text measurement and geometric transformation
- How does an enterprise manage data? Share the experience summary of four aspects of data governance
- Esxi attaching mobile (Mechanical) hard disk detailed tutorial
- LC interview question 02.07 Linked list intersection & lc142 Circular linked list II
猜你喜欢
Role of virtual machine
【leetcode】1020. Number of enclaves
About binary cannot express decimals accurately
URP - shaders and materials - light shader lit
transform-origin属性详解
$refs:组件中获取元素对象或者子组件实例:
L'étape avancée du pointeur de langage C (haut de gamme) pour l'enroulement des cocons
关于二进制无法精确表示小数
Flexible layout (I)
Dynamics CRM server deployment - restore database prompt: the database is in use
随机推荐
Outsourcing for three years, abandoned
URP - shaders and materials - simple lit
07_ Handout on the essence and practical skills of text measurement and geometric transformation
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
Flexible layout (II)
四、高性能 Go 语言发行版优化与落地实践 青训营笔记
Procedure in PostgreSQL supports transaction syntax (instance & Analysis)
Advanced level of C language (high level) pointer
PostgreSQL source code (60) transaction system summary
【Liunx】进程控制和父子进程
Apache AB stress test
Reflection (II)
Explain Bleu in machine translation task in detail
Fullgc problem analysis and solution summary
Release notes of JMeter version 5.5
Abnova circulating tumor DNA whole blood isolation, genomic DNA extraction and analysis
L'externalisation a duré trois ans.
一、Go知识查缺补漏+实战课程笔记 | 青训营笔记
【leetcode】1020. Number of enclaves