Вы находитесь на странице: 1из 16

Software Configuration Management

CSC-532

Chandra Shekar Kandi

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].

Who are Involved? Why it is important?


What are the steps?

Basic concepts of Configuration Management:


Configuration Item:
A piece of software or work product which is subject to change is a configuration item Change Request: It is a formal report that contains the request for modification in a configuration item.

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.

Configuration Management Activities



Configuration item/CM aggregate identification Promotion management
Release management Branch management Variant Management Change Management

Configuration Management Tools


Revision Control System (RCS ):
To change a configuration item, the developer has to lock that item first, preventing other developers from changing the item at the same time. The developer specifies a label for each configuration item. Using this label, developers can check out consistent set of versions by using this label [Herbert 1999].

Concurrent Versions System (CVS):

CVS System lets the groups of people work


simultaneously on group of files. This tool is similar to RCS. In addition it also supports the concept of branch. This system does not support locking of files. In CVS, the user would check out the latest version of a file or any of the earlier versions from the repository .

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.

The files stored in the repository are called


elements.

ClearCase supports parallel development which


includes isolating the work of a single developer from a small team, creating and developing multiple releases in parallel using different teams, and sharing of code among different teams located at different locations.

ClearQuest

This tool is a change request management


application that allows a developer to track and monitor the change requests for a configuration item [Rational 2002]. ClearQuest maintains its own database which stores all the change requests in the form of records. There are various categories of changes that can be done on a product. These changes can be due to addition of new features, detection of faults, activities etc.

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?

Вам также может понравиться