Page 258 -
P. 258
CHAPTER 9 SOFTWARE CONFIGURATION MANAGEMENT 229
FIGURE 9.2
Configuration Data model
objects
Design specification
data design
architectural design
module design
interface design
Component N
interface description
algorithm description
Test specification PDL
test plan
test procedure
test cases
Source code
tests. More realistically, an SCI is a document, a entire suite of test cases, or a named
program component (e.g., a C++ function or an Ada package).
In addition to the SCIs that are derived from software work products, many soft-
ware engineering organizations also place software tools under configuration con-
trol. That is, specific versions of editors, compilers, and other CASE tools are "frozen"
as part of the software configuration. Because these tools were used to produce doc-
umentation, source code, and data, they must be available when changes to the soft-
ware configuration are to be made. Although problems are rare, it is possible that a
Software Configuration new version of a tool (e.g., a compiler) might produce different results than the orig-
Items
inal version. For this reason, tools, like the software that they help to produce, can
be baselined as part of a comprehensive configuration management process.
In reality, SCIs are organized to form configuration objects that may be cataloged
in the project database with a single name. A configuration object has a name, attri-
butes, and is "connected" to other objects by relationships. Referring to Figure 9.2, the
configuration objects, Design Specification, data model, component N, source
code and Test Specification are each defined separately. However, each of the
objects is related to the others as shown by the arrows. A curved arrow indicates a
compositional relation. That is, data model and component N are part of the object
Design Specification. A double-headed straight arrow indicates an interrelationship.