当前位置:网站首页>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 .

 Insert picture description here
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 .
 Insert picture description here

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 !

原网站

版权声明
本文为[Two black]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207070336288240.html