Page 269 -
P. 269
240 PART TWO MANAGING SOFTWARE PROJECTS
9.4. Design a project database system that would enable a software engineer to
store, cross reference, trace, update, change, and so forth all important software con-
figuration items. How would the database handle different versions of the same pro-
gram? Would source code be handled differently than documentation? How will two
developers be precluded from making different changes to the same SCI at the same
time?
9.5. Do some research on object-oriented databases and write a paper that describes
how they can be used in the context of SCM.
9.6. Use an E-R model (Chapter 12) to describe the interrelationships among the
SCIs (objects) listed in Section 9.1.2.
9.7. Research an existing SCM tool and describe how it implements control for ver-
sions, variants, and configuration objects in general.
9.8. The relations <part-of> and <interrelated> represent simple relationships between
configuration objects. Describe five additional relationships that might be useful in
the context of a project database.
9.9. Research an existing SCM tool and describe how it implements the mechanics
of version control. Alternatively, read two or three of the papers on SCM and describe
the different data structures and referencing mechanisms that are used for version
control.
9.10. Using Figure 9.5 as a guide, develop an even more detailed work breakdown
for change control. Describe the role of the CCA and suggest formats for the change
request, the change report, and the ECO.
9.11. Develop a checklist for use during configuration audits.
9.12. What is the difference between an SCM audit and a formal technical review?
Can their function be folded into one review? What are the pros and cons?
FURTHER READINGS AND INFORMATION SOURCES
One of the few books that have been written about SCM in recent years is by Brown,
et al. (AntiPatterns and Patterns in Software Configuration Management, Wiley, 1999).
The authors discuss the things not to do (antipatterns) when implementing an SCM
process and then consider their remedies.
Lyon (Practical CM: Best Configuration Management Practices for the 21st Century,
Raven Publishing, 1999) and Mikkelsen and Pherigo (Practical Software Configuration
Management: The Latenight Developer's Handbook, Allyn & Bacon, 1997) provide prag-
matic tutorials on important SCM practices. Ben-Menachem (Software Configuration
Management Guidebook, McGraw-Hill, 1994), Vacca (Implementing a Successful Con-
figuration Change Management Program, I. S. Management Group, 1993), and Ayer
and Patrinnostro (Software Configuration Management, McGraw-Hill, 1992) present
good overviews for those who need further introduction to the subject. Berlack (Soft-