The VShaped Software Development Life Cycle Model

The V-shaped model was developed to assist the project team in planning and designing for the testability of a system. The model places a strong emphasis on the verification and validation activities of the product. It illustrates that the testing of the product is discussed, designed, and planned in the early phases of the development life cycle. The customer acceptance test plan is developed during the planning phase, the system integration test plan is developed during the analysis and design phases, and so on. This test plan development activity is represented by the dotted lines between the rectangles of the V.

The V-shaped model, shown in Figure 4-10, was designed as a variation of the waterfall model; therefore, it has inherited the same sequence structure. Each subsequent phase is begun at the completion of the deliverables of the current phase. It is representative of a comprehensive approach to defining the phases of the software development process. It emphasizes the relationship between the analytical and design phases that precede coding with the testing phases that follow coding. The dotted lines indicate that these phases should be considered in parallel.

Figure 4-10. The V-Shaped Software Development Life Cycle Model

Figure 4-10. The V-Shaped Software Development Life Cycle Model

Phases in the V-Shaped Model

The following list contains a brief description of each phase of the V-shaped model, from project and requirements planning through acceptance testing:

• Project and requirements planning— Determines the system requirements and how the resources of the organization will be allocated to meet them. (Where appropriate, this phase allocates functions to hardware and software.)

• Product requirements and specification analysis— Includes analysis of the software problem at hand and concludes with a complete specification of the expected external behavior of the software system to be built.

• Architecture or high-level design— Defines how the software functions are to implement the design.

• Detailed design— Defines and documents algorithms for each component that was defined during the architecture phase. These algorithms will be translated into code.

• Coding— Transforms the algorithms defined during the detailed design phase into software.

• Unit testing— Checks each coded module for errors.

• Integration and testing— Interconnects the sets of previously unit-tested modules to ensure that the sets behave as well as the independently tested modules did during the unit-testing phase.

• System and acceptance testing— Checks whether the entire software system (fully integrated) embedded in its actual hardware environment behaves according to the software requirements specification.

• Production, operation, and maintenance— Puts software into production and provides for enhancements and corrections.

• Acceptance testing (not shown)— Allows the user to test the functionality of the system against the original requirements. After final testing, the software and its surrounding hardware become operational. Maintenance of the system follows.

Strengths of the V-Shaped Model

When applied to a project for which it is well suited, the V-shaped model offers several strengths:

® The model emphasizes planning for verification and validation of the product in the early stages of product development. Emphasis is placed on testing by matching the test phase or process with the development process. The unit testing phase validates detailed design. The integration and testing phases validate architectural or high-level design. The system testing phase validates the product requirements and specification phase.

® The model encourages verification and validation of all internal and external deliverables, not just the software product.

® The V-shaped model encourages definition of the requirements before designing the system, and it encourages designing the software before building the components.

® It defines the products that the development process should generate; each deliverable must be testable.

® It enables project management to track progress accurately; the progress of the project follows a timeline, and the completion of each phase is a milestone.

® It is easy to use (when applied to a project for which it is suited).

Weaknesses of the V-Shaped Model

When applied to a project for which it isnof well suited, the weaknesses of the V-shaped model are evident:

• It does not easily handle concurrent events.

• It does not handle iterations of phases.

• The model is not equipped to handle dynamic changes in requirements throughout the life cycle.

• The requirements are tested too late in the cycle to make changes without affecting the schedule for the project.

• The model does not contain risk analysis activities.

It is often graphically shown (as in Figure 4-10) without the integral tasks. This is an easily remedied issue, mentioned here only to remind the reader that integral tasks are present with the use of all life cycle models.

The V-shaped model may be modified to overcome these weaknesses by including iteration loops to handle the changing of requirements beyond the analysis phase.

When to Use the V-Shaped Model

Like its predecessor, the waterfall model, the V-shaped model works best when all knowledge of requirements is available up-front. A common modification to the V-shaped model, to overcome weaknesses, includes the addition of iteration loops to handle the changing of requirements beyond the analysis phase.

It works well when knowledge of how to implement the solution is available, technology is available, and staff have proficiency and experience with the technology.

The V-shaped model is an excellent choice for systems that require high reliability, such as hospital patient control applications and embedded software for air-bag chip controllers in automobiles.

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment