Software Configuration Management
Software Configuration Management
Software Configuration
Management
Outline
Why SCM?
Multiple teams are working on software
And that software is changing
More than one version of the software
has to be supported:
Released systems
Custom configured systems (different
functionality)
System(s) under development
Why SCM?
So, we need a mechanism to:
Why SCM?
and
SCM does all this
Change
(Heraclitus)
SCM
Change
First Law of System Engineering
states:
No matter where you are in the
system life cycle, the system will
change, and the desire to change
it will persist throughout the life
cycle
SCM
Origin of Change
Changes will occur at any time,
for any reason. The major reasons
are:
Configuration
Management
This change must be managed and controlled
in order to improve quality and reduce error.
Software Configuration Management (SCM)
is a set of activities that have been developed
to manage change
throughout the software life cycle.
SCM
10
SCM
SCM is the art of identifying,
organizing and controlling
modifications to the software
being built by a project team.
SCM
11
Basic Terminologies
Documentatio
n
Technical
End user
SCM
13
Software Configuration
Item
SCM
14
Software Configuration
Item
15
SCI Examples
SRS
Design Specification
Project Plan
Test Plan
Test Cases
User Manuals
Etc..
SCM
16
Software Configuration
Object
Collection of closely related SCIs
An SCO has
A name
Attributes
And relationships with other SCOs
SCM
17
SCO Examples
SCIs
18
1.
2.
Indicates an interrelationship
SCM
19
Design Data
Architectural Design
Module Design
Interface Design
Components
Interface
Algorithm
.
Test Specification
Source Code
Test Plan
Test Procedure
Test Case
SCM
20
Baseline
A specification or product that has
been formally reviewed and agreed
upon, that thereafter serves as the
basis for further development, and
that can be changed only through
formal change control procedures.
SCM
21
Baseline
A specification or product that has
been formally reviewed and
agreed upon, that thereafter serves
as the basis for further development,
and that can be changed only
through formal change control
procedures.
SCM
22
Baseline
A specification or product that has
been formally reviewed and agreed
upon, that thereafter serves as the
basis for further development,
and that can be changed only
through formal change control
procedures.
SCM
23
Baseline
A specification or product that has
been formally reviewed and agreed
upon, that thereafter serves as the
basis for further development, and
that can be changed only through
formal change control
procedures.
SCM
24
Project Database
25
SCM Activities
SCM Activities
1. IDENTIFICATION
4. STATUS
REPORTING
2. CONTROL
3. CONFIGURATION
AUDIT
SCM
27
Configuration
Identification
The purpose of configuration
identification is to ensure that all
of the products to be controlled:
28
Configuration
Identification
29
30
Version
SCM
Revision/
Edition
31
SCM Activities
1. IDENTIFICATION
4. STATUS
REPORTING
2. CONTROL
3. CONFIGURATION
AUDIT
SCM
32
Configuration Control
Version Control
Change Control
33
Change Control
34
Change
Report
Change Control
Authority
Change
Request
Chang
e?
Request Denied
Accepted
ECO
Change
Requester
Project
Database
Access
&
Synch.
Control
Audit
Reporting
SCM
35
Software
Engineer
SCO (extracted
version)
Un-lock
Acces
s
Contro
l
Lock
SCO
(baselined)
Project
Database
SCO
(baselined)
Check
-out
SCM
36
SCM Activities
1. IDENTIFICATION
4. STATUS
REPORTING
2. CONTROL
3. CONFIGURATION
AUDIT
SCM
37
Configuration Audit
SCM
38
SCM Activities
1. IDENTIFICATION
2. CONTROL
4. STATUS
3. CONFIGURATION
REPORTING
AUDIT
SCM
39
Configuration Status
Reporting
A Configuration Status Report
(CSR) is generated on regular
basis and is intended to keep
management and
practitioners appraised of important
changes.
40
CSR Information
A CSR gives the following
information:
What happened?
Who did it?
When did it happen?
What else will be affected?
41
SCM Tools
SCM Tools
43
SCM Standards
SCM Standards
IEEE Std 828-1998
45
1.
Management (WHO?)
2.
Activities (WHAT?)
3.
46
4.
Resources (HOW?)
5.
Maintenance
6.
47
SCM Forms
SCM Forms
SCM
49