Software Configuration Management
Software Configuration Management
CSC-532
Outline
Introduction what is SCM, who are involved, why it is imp?
what are the steps? Basic Concepts of SCM Configuration Management Activities Configuration Management Tools Conclusions References
Introduction
Definition of SCM:
Software configuration management is the discipline of managing the evolution of complex software systems [IEEE STD 1987]. It is also defined as the process of controlling and monitoring change to work products [Herbert 1999].
Versions and configurations: A version identifies the state of a particular configuration item or a configuration at a well defined point in time Promotion: A promotion is a version of a configuration item/CM aggregate that has been available to other developers in a project.
Release: A release is a version that has been available to the user or the client.
Repository: It stores the various releases of a CM item/aggregate. Workspace: It is a library of promotions.
Perforce:
Perforce is a commercial replacement for CVS. It also controls a central repository like CVS and RCS. Perforce includes version control, workspace management, atomic change transactions and a powerful branching model to develop and maintain multiple code lines.
Perforce contd..
Files or elements are
stored in the central repository called Versioned Object Base (VOB). Different available versions of an element are stored in the VOB
Clearcase
ClearCase is designed to help developers track the
files and directories used to create software.
ClearQuest
conclusion
Configuration management is very crucial for evolving software systems. Change in many large software systems is inevitable. Careful planning is required considering aspects like the components that are likely to be changed, any other subsystems that may have to be changed for the modification of the given system, analysis of cost etc. CM makes sure that these changes do not cause undesired impact on the other subsystems.
Questions?