Software Development Models:
A software cycle deals with various parts and phases from planning to testing and deploying. All these activities are carried out in different ways, as per the needs. Each way is known as a Software Development Lifecycle Model (SDLC).
Software life cycle models describe phases of the software cycle and the order in which those phases are executed. There are lots of models, and many companies adopt their own, but all have very similar patterns.
V – Model Development
Just like the waterfall model, the V-model life cycle is a sequential path of execution processes. Each phase must be completed before the next phase begins. Testing is emphasized in this model more so than the waterfall model though. The testing procedures are developed early in the life cycle before any coding is done, during each of the phases preceding implementation.
Requirements begin the life cycle model just like the waterfall model. Before development is started, a system test plan is created. The test plan focuses on meeting the functionality
specified in the requirements gathering.
The high – level design phase focuses on system architecture and design. An integration test plan is created in this phase as well in order to test the pieces of the software systems ability to work together.
The low – level design phase is where the actual software components are designed, and unit tests are created in this phase as well.
The implementation phase is, again, where all coding takes place. Once coding is complete, the path of execution continues up the right side of the V where the test plans developed earlier are now put to use.
Advantages of the V Model:
- Simple and easy to use.
- Each phase has specific deliverables.
- Higher chance of success over the waterfall model
- early on during the life cycle. due to the development of test plans
- Works well for small projects where requirements are easily understood.
Disadvantages of the V Model:
- Very rigid, like the waterfall model.
- Little flexibility and adjusting scope are difficult and expensive.
- Software is developed during the implementation phase, so no early prototypes of the software are produced.
- The model doesn’t provide a clear path for problems found during testing phases.