STLH:

"THE BEST WAY TO MAKE YOUR DREAMS COME TRUE IS TO WAKE UP..."

Search This Blog

V - Model Development Process

 

 

In software development the V-model represents a development process that may be considered an extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing. The horizontal and vertical axes represents time or project completeness (left-to-right) and level of abstraction (coarsest-grain abstraction uppermost), respectively.

It is also known as Verification and Validation model. In this model testing is involved from requirement stage itself.

 

 

The V-Shaped life cycle is a sequential path of execution of processes. Each phase must be completed before the next phase begins. V-Model is one of the many software development models. 

Testing of the product is planned in parallel with a corresponding phase of development in V-model.


Different phases of V model Software Development Cycle

  • Requirement Gathering stage - Gather as much information as possible about the details & specifications of the desired software from the client. This is nothing but the Requirements gathering stage.

  • Design Stage - Plan the programming language like Java, PHP, .net; database like Oracle, MySQL, etc. Which would be suited for the project, also some high-level functions & architecture.

  • Build Stage - After the design stage, it is build stage, that is nothing but actually code the software.

  • Test Stage - Next, you test the software to verify that it is built as per the specifications are given by the client.

  • Deployment stage - Deploy the application in the respective environment.

  • Maintenance stage - Once your system is ready to use, you may require to change the code later on as per customer request.

 

V Model Advantages:

  • Failure is identified and multiplication of failure is stopped.

  • The downward flow of defect can be prevented.

  • High Quality product can be obtained.

  • Risk Management is pretty easy.

  • Simple and easy to use. Rework is less.

  • Verification & Validation happens in each and every stage.

  • The testing team is being involved from the initial stage of work. Testing activities like planning, test designing happens well before coding. This saves a lot of time. Hence higher chance of success.

  • The Customer gets the product delivery pretty fast.

 

V Model Disadvantages:

  • Very rigid and least flexible.

  • Software is developed during the implementation phase, so no early prototypes of the software are produced.

  • If any changes happen in midway, then the test documents along with requirement documents has to be updated.

 

Spiral Model Development Process

 

Spiral Model is a combination of a waterfall model and iterative model. Each phase in spiral model begins with a design goal and ends with the client reviewing the progress. 

This model is also known as Iterative/ Intended Model.

Spiral model starts with a small set of requirement and goes through each development phase for those set of requirements. The software engineering team adds functionality for the additional requirement in every-increasing spirals until the application is ready for the production phase.

This model was defined by Barry Boehm in the year 1986.

 

 

The Spiral model is a risk-driven Software Development Process model. This model process combines the advantages of Top-down and Bottom-up approach concept.

 

Different phases of Spiral model Software Development Cycle

  • Objectives determination and identify alternative solutions - Requirements are gathered from the customers and the objectives are identified, elaborated and analyzed at the start of every phase. Then alternative solutions possible for the phase are proposed in this quadrant.   

  • Identify and resolve Risks - During the second quadrant all the possible solutions are evaluated to select the best possible solution. Then the risks associated with that solution is identified and the risks are resolved using the best possible strategy. At the end of this quadrant, Prototype is built for the best possible solution. 

  • Develop next version of the Product - During the third quadrant, the identified features are developed and verified through testing. At the end of the third quadrant, the next version of the software is available. 

  • Review and plan for the next Phase - In the fourth quadrant, the Customers evaluate the so far developed version of the software. In the end, planning for the next phase is started.


Spiral Model Advantages:

  • Spiral Model is the best development model to follow due to the risk analysis and risk handling at every phase. 

  • Additional functionality or changes can be done at a later stage.

  • Cost estimation becomes easy as the prototype building is done in small fragments

  • There is always a space for customer feedback.

 

Spiral Model Disadvantages:

  • For its smooth operation spiral model protocol needs to be followed strictly.

  • Risk of not meeting the schedule or budget.

  • Documentation is more as it has intermediate phases, so it is time consuming process. 

  • It works best for large projects only also demands risk assessment expertise. It is not advisable for smaller project, it might cost them a lot

 

Waterfall Model Development Process




Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure success of the project. As per name suggests “Waterfall”, it means flow of water which goes in one direction. So Waterfall Model is also known as sequential software development process, in which progress is seen as flowing downwards through different phases.

The waterfall model is widely used for most of the commercial software development projects, where each phase has very well defined outputs at the end of every stage and hence monitoring the progress of the project will be very effective.


              JIRA Waterfall Model - Javatpoint

The first formal description of Waterfall Model article was given by Wilson W. Royace in the year 1970, although Royce did not use the term waterfall in that article. Royce presented this model as an example of a flawed, non-working model, which is how the term is generally used in writing about software development process to describe a critical view of a commonly used software development practice.

There is a misconception about the waterfall model is that once the specifications document is written, this document cannot be modified. You can always modify the specifications document but you need to follow a formal process of getting the modification approved by a content authority before making the changes.


Different phases of Waterfall model Software Development Cycle

  • Requirement Gathering and analysis − All possible requirements of the system to be developed are captured in this phase and documented in a requirement specification document.

  • System Design − The requirement specifications from first phase are studied in this phase and the system design is prepared. This system design helps in specifying hardware and system requirements and helps in defining the overall system architecture.

  • Implementation − With inputs from the system design, the system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality, which is referred to as Unit Testing.

  • Integration and Testing − All the units developed in the implementation phase are integrated into a system after testing of each unit. Post integration the entire system is tested for any faults and failures.

  • Deployment of system − Once the functional and non-functional testing is done; the product is deployed in the customer environment or released into the market.

  • Maintenance − There are some issues which come up in the client environment. To fix those issues, patches are released. Also to enhance the product some better versions are released. Maintenance is done to deliver these changes in the customer environment.

 

Waterfall Model Advantages:

  • Simple and easy to understand and use.

  • It is un-discretional model. Bug sucking is not possible in each phase.

  • It is used only when requirements are very clear.

  • It is mainly used on Live Mission or Critical Applications.


Waterfall Model Disadvantages:

  • Wrong set of requirements, it should be collected by Business Analyst. So there is a highly chances of that whole set of application is wrong.

  • Testing is not done in each and every phase of Software Development Life Cycle (SDLC).

  • It is time consuming.