0% found this document useful (0 votes)
20 views17 pages

LESSON 13 Software Configuration Management

software configuration management

Uploaded by

Simon Chege
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views17 pages

LESSON 13 Software Configuration Management

software configuration management

Uploaded by

Simon Chege
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 17

Esther Wanjiru Mwangi

 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
 The problem:
◦ Multiple people have to work on software that is changing
◦ More than one version of the software has to be
supported:
 Released systems
 Custom configured systems (different functionality)
 System(s) under development
 Software on different machines & operating systems

 Need for coordination


 Software Configuration Management
◦ manages evolving software systems
◦ controls the costs involved in making changes to a
system.
 Software Configuration Management is a
project function with the goal to make
technical and managerial activities more
effective
 Software Configuration Management can

be administered in several ways:


◦ Organization-wide
◦ Project-specific
◦ Distributed among the project members
◦ Mixture of all of the above.
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?


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.
Release:
The formal distribution of an approved version
Version:
An initial release or re-release of a configuration item associated
with a complete compilation or recompilation of the item.
Different versions have different functionality
Revision:
Change to a version that corrects only errors in the design/code,
but does not affect the documented functionality.
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.
Baseline:
◦ “A specification or product that has been formally reviewed
and agreed to by responsible management, that thereafter
serves as the basis for further development, and can be
changed only through formal change control procedures.”
Types: Developmental baseline ,Functional baseline , Product
baseline
 Configuration item/CM aggregate identification
 Promotion management
 Release management
 Branch management
 Variant Management
 Change Management
 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].
 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 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.
 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 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.
 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.
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.

You might also like