Page 262 -
P. 262

CHAPTER 9  SOFTWARE CONFIGURATION MANAGEMENT                       233

               FIGURE 9.4     Variants
               Object pool
               representation
               of components,
               variants, and
               versions [REI89]








                                                                Entities







                                     Versions

                                                                       Objects

                                                         3
                              posed of entities 1, 2, 3, 4, and 5. Entity 4 is used only when the software is imple-
                              mented using color displays. Entity 5 is implemented when monochrome displays
                              are available. Therefore, two variants of the version can be defined: (1) entities 1, 2,
                              3, and 4; (2) entities 1, 2, 3, and 5.
                                To construct the appropriate variant of a given version of a program, each entity
                              can be assigned an "attribute-tuple"—a list of features that will define whether the
                “Any change, even a  entity should be used when a particular variant of a software version is to be con-
                change for the  structed. One or more attributes is assigned for each variant. For example, a color
                better, is always  attribute could be used to define which entity should be included when color displays
                accompanied by  are to be supported.
                drawbacks and
                discomforts."   Another way to conceptualize the relationship between entities, variants and ver-
                Arnold Bennett  sions (revisions) is to represent them as an object pool [REI89]. Referring to Figure
                              9.4, the relationship between configuration objects and entities, variants and ver-
                              sions can be represented in a three-dimensional space. An entity is composed of a
                              collection of objects at the same revision level. A variant is a different collection of
                              objects at the same revision level and therefore coexists in parallel with other vari-
                              ants. A new version is defined when major changes are made to one or more objects.
                                A number of different automated approaches to version control have been pro-
                              posed over the past decade. The primary difference in approaches is the sophistica-
                              tion of the attributes that are used to construct specific versions and variants of a
                              system and the mechanics of the process for construction.



                              3  In this context, the term entity refers to all composite objects and basic objects that exist for a
                                baselined SCI. For example, an "input" entity might be constructed with six different software
                                components, each responsible for an input subfunction.
   257   258   259   260   261   262   263   264   265   266   267