U.S. Department of Transportation
Federal Highway Administration
1200 New Jersey Avenue, SE
Washington, DC 20590
Federal Highway Administration Research and Technology
Coordinating, Developing, and Delivering Highway Transportation Innovations
|This report is an archived publication and may contain dated technical, contact, and link information|
Publication Number: FHWA-RD-04-080
Date: September 2004
Software Reliability: A Federal Highway Administration Preliminary Handbook
PDF Version (697 KB)
PDF files can be viewed with the Acrobat® Reader®
Chapter 2: Software Life Cycle
The techniques developed in this handbook can be applied separately or in conjunction to improve the reliability of the software product. This chapter examines the utilization of these techniques throughout the software development life cycle. This chapter discusses:
Software Development Life Cycles (SDLC)
When developing any large complex system, it is customary to divide it into tasks or groups of related tasks that make it easy to understand, organize, and manage. In the context of software projects, these tasks or groups of tasks are referred to as phases. Grouping these phases and their outcomes in a way that produces a software product is called a software process or an SDLC.
There are many different software processes, and none is ideal for all instances. Each is good for a particular situation and, in most complex software projects, a combination of these processes is used. The most used life cycles (processes) for software development are:
Recently, with the advent of Internet applications, many fast software development processes were developed, including:
All of these systems are discussed in detail in the literature.
Software Development Phases
Most of the processes outlined above encompass most or all of the following activities or phases:
Scope of Chapter
Only some of the highlights of the extensive literature on SDLCs are included here to help explain where in the life cycle the techniques developed in the handbook are applicable.
What Constitutes Testing
For the purposes of discussion, the V model is used to pinpoint where the techniques developed in this handbook can be applied. Keep in mind, as mentioned above, that most of these processes have the same activities and phases.
As shown in figure 1, the V model contains all the phases outlined above.
Figure 1: The V (U) Model for SDLC
For simplicity and certain similarities in their accomplishment, some of the phases that require similar techniques are combined here. These are:
Figure 2 is a simplification of the V model and includes techniques outlined in the remainder of this handbook.
Figure 2: Simplified V Model with Handbook Techniques
Topics: research, safety, data and analysis tools
Keywords: research, safety, software reliability, roundoff errors, floating points errors, software verification and validation, software testing, SpecChek
TRT Terms: Computer software--Reliability, Computer software--Verification, Computer software--Validation, Highway engineering, Highway design, Highway safety, Software, Validation