Configuration Management: ©ian Sommerville 2004
Configuration Management: ©ian Sommerville 2004
v
e
Sun rs
versio
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 29 Slide 6
CM standards
CM should always be based on a set of standards
which are applied within an organisation.
Standards should define how items are identified,
how changes are controlled and how new versions
are managed.
Standards may be based on external CM standards
(e.g. IEEE standard for CM).
Some existing standards are based on a waterfall
process model - new CM standards are needed for
evolutionary development.
DI
SP
L
A MS
T
Q
U
E
YUC
R
EH
E
RS
RYL
FOR
M-SP
ECAS
OB
JET
-
NTER
CCFA
CE
S
IFOR
OTESM-I
TS
DE
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 29 Slide 14
The configuration database
All CM information should be maintained in a
configuration database.
This should allow queries about configurations to be
answered:
• Who has a particular system version?
• What platform is required for a particular version?
• What versions are affected by a change to component X?
• How many reported faults in version T?
The CM database should preferably be linked to the
software being managed.
CM planning process.
This form records the change proposed, requestor of
change, the reason why change was suggested and
the urgency of change(from requestor of the
change).
It also records change evaluation, impact analysis,
change cost and recommendations (System
maintenance staff).
o
Change
G. Analy
Dean
10/12
Compone
Display-
Associate
FileT
able
Change
Relative
available. a
a
to associat
Change
Low
Estimated
0.5 days p
im
Date
15/12/02
CCB CCB
Accept
Change
Date to
1/2/0
Date
QA C
deci
decis
Commentsubmc
im
o
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 29 Slide 20
Change tracking tools
A major problem in change management is
tracking change status.
Change tracking tools keep track the status
of each change request and automatically
ensure that change requests are sent to the
right people at the right time.
Integrated with E-mail systems allowing
electronic change request distribution.
V1.1
V1.2
V2.
V2
V
V1.1a
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 29 Slide 29
Attribute-based identification
Attributes can be associated with a version with
the combination of attributes identifying that
version
• Examples of attributes are Date, Creator,
Programming Language, Customer, Status etc.
This is more flexible than an explicit naming scheme
for version retrieval; However, it can cause problems
with uniqueness - the set of attributes have to be
chosen so that all versions can be uniquely identified.
In practice, a version also needs an associated name
for easy reference.
system
Sourc
Build E
Obj
compsy
script
com
versi
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 29 Slide 42
CASE tools for configuration management
CM processes are standardised and involve
applying pre-defined procedures.
Large amounts of data must be managed.
CASE tool support for CM is therefore
essential.
Mature CASE tools to support configuration
management are available ranging from
stand-alone tools to integrated CM
workbenches.
D1D2 D3
C
etitae
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 29 Slide 47
System building
Building a large system is computationally
expensive and may take several hours.
Hundreds of files may be involved.
System building tools may provide
• A dependency specification language and
interpreter;
• Tool selection and instantiation support;
• Distributed compilation;
• Derived object management.
scan.o
syn.o
sem
cge
scan.o
syn.o
sem
cge
defs.h
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 29 Slide 49
Key points
Configuration management is the management of
system change to software products.
A formal document naming scheme should be
established and documents should be managed in a
database.
The configuration data base should record
information about changes and change requests.
A consistent scheme of version identification should
be established using version numbers, attributes or
change sets.