Software Configuration Management
Software Configuration Management
Software Configuration
Configuration
Management
Management (SCM)
(SCM)
Overview
What is SCM?
What are the processes of SCM?
How does each process do?
Summary
Software
Software Configurations
Configurations
System engineering
System specification
Requirement analysis
Software requirement
Software design specification
Design specification
Coding
Source code
Testing
Test plans/Procedures/Data
Release
Operational system
Software Configuration Item (SCI)
Information created as part of SE process
SCIs used as target in SCM:
System specification
Software project plan
Software requirements specification
Preliminary user manual
Design specification
Source code listing
SCI (Cont’d)
Test specification
Operation and installation manuals
Executable program
Database description
As-built user manual
Maintenance documents
Standards and procedures for SE
SCI Modification Process
SCM Process
Identification
Version control
Change control
Configuration auditing
Status reporting
Object identification in SW configuration
Features of objects:
name: a character string
description: a list of data items to identify the SCI
type and a project id, version information, etc.
resources: entity that are provided, processed,
referenced by the object
Realization: a pointer to ‘unit of text’ for a basic
object or null for an aggregate object
Object identification in SW
configuration (cont’d)
obj obj
1.3 1.4
obj obj obj
1.0 1.1 1.2
obj obj
2.0 2.1
obj obj
1.1.1 1.1.2
Version Control
Some of the issues
When an executable is built, the versions of its
constituents must be consistent.
If A depends upon B and B is recompiled, A may
also need to be recompiled.
What if multiple people need to modify same SCI?
Need to know what version different customers have
How do you keep track of 100’s or 1000’s of
modules?
Version
Version Control
Control
Developer evaluates