Page 257 -
P. 257
228 PART TWO MANAGING SOFTWARE PROJECTS
Modified
SCIs
Project database
Approved
Software Formal
engineering SCIs technical SCIs
tasks reviews
Stored
SCIs
Extracted
SCM SCIs
controls
BASELINES:
System Specification
Software Requirements
Design Specification
Source Code
Test Plans/Procedures/Data
Operational System
FIGURE 9.1 Baselined SCIs and the project database
In the context of software engineering, a baseline is a milestone in the develop-
ment of software that is marked by the delivery of one or more software configura-
tion items and the approval of these SCIs that is obtained through a formal technical
review (Chapter 8). For example, the elements of a Design Specification have been
documented and reviewed. Errors are found and corrected. Once all parts of the spec-
ification have been reviewed, corrected and then approved, the Design Specification
becomes a baseline. Further changes to the program architecture (documented in
the Design Specification) can be made only after each has been evaluated and approved.
Although baselines can be defined at any level of detail, the most common software
baselines are shown in Figure 9.1.
The progression of events that lead to a baseline is also illustrated in Figure 9.1.
Software engineering tasks produce one or more SCIs. After SCIs are reviewed and
approved, they are placed in a project database (also called a project library or soft-
Be sure that the
project database is ware repository). When a member of a software engineering team wants to make a
maintained in a modification to a baselined SCI, it is copied from the project database into the engi-
centralized, controlled neer's private work space. However, this extracted SCI can be modified only if SCM
location. controls (discussed later in this chapter) are followed. The arrows in Figure 9.1 illus-
trate the modification path for a baselined SCI.
9.1.2 Software Configuration Items
We have already defined a software configuration item as information that is created
as part of the software engineering process. In the extreme, a SCI could be consid-
ered to be a single section of a large specification or one test case in a large suite of