The V-model is another variation of waterfall development that pays more
explicit attention to testing. As shown in Figure 2-4, the development process proceeds
down the left-hand slope of the V, defining requirements and designing system
components. At the base of the V, the code is written. On the upward-sloping
right side of the model, testing of components, integration testing, and, finally,
acceptance testing are performed. A key concept of this model is that as requirements
are specified and components designed, testing for those elements is also
defined. In this manner, each level of testing is clearly linked to a part of the analysis
or design phase, helping to ensure high quality and relevant testing and maximize
test effectiveness.