CM homepage Computer Science LTH

Configuration Management - exercises week 5:

1. Explain why the name of a document should not be used to identify the document in a configuration management system. Suggest a standard for a document identification scheme that may be used for all projects in an organization.

2. Using the entity-relational approach to data modeling, design a model of a configuration database which records information about system components, versions, releases and changes. Some requirements for the data model are as follows:

  • it should be possible to retrieve all versions or a single identified version of a component
  • it should be possible to retrieve the "latest" version of a component
  • it should be possible to find out which change requests have been implemented by a particular version of a system
  • it should be possible to discover which versions of components are included in a specified version of a system
  • it should be possible to retrieve a particular release of a system according to either the release date or the customers to whom the release was delivered
3. Using a data-flow diagram, describe a change management procedure which might be used in a large organization concerned with developing software for external clients. Changes may be suggested from either external or internal sources.

4. Describe the difficulties which can be encountered in system building. What are the particular problems that can arise when a system is built on a host computer for some target machine?

5. With reference to system building, explain why it may sometimes be necessary to maintain obsolete computers on which large software systems were developed.

6. A common problem with system building occurs when physical file names are incorporated in system code and the file structure implied in these names differs from that of the target machine. Write a set of programmer's guidelines which help avoid this and other system building problems which you can think of.

7. Describe five factors which must be taken into account by engineers during the process of building a release of a large software system.

8. Describe two ways in which system building tools can optimize the process of building a version of a system from its components. Explain how these build optimization mechanisms can be used in different kinds of workspaces.  

9. Is there a Change Control Board (CCB) on eXtreme Programming projects? If yes, where is it and how does it work? If no, how can an XP project control changes without a CCB?

10. We have been using a construction site, a study and a library as metaphors for important situations in the work and interaction of a group of developers on a project. Which other metaphors could be used to describe these situations? Do you find that the metaphors cover all aspects? If not, what kind of metaphor could cover this/these aspects?


Updated November 21, 2005