2. Introduction
Prof. Kanchana Devi
2
It is one of the fundamental Activity of software
engineering.
Changes to the requirements drive the design,
and design changes affect the code
The change process is simple in concept but
complex in detail.
In order to handle the changes a separate
formal management is required (i. e.)
Configuration Management
3. Need for Configuration
Management
Prof. Kanchana Devi
3
The very much difficult task in software
development is to fix the problem
Eg.
A difficult bug that was fixed at great expense
suddenly reappears
A fully tested program suddenly doesn’t work
A developed and tested feature is missing
4. Solution
Prof. Kanchana Devi
4
Configuration management helps to reduce these
problems by coordinating the work among the
people
Without Configuration Management many
Problems arises such as
Simultaneous Updates
Shared Code
Common Code
Versions
These problems will result in lack of control, waste
enormous amount of time
5. To have control
Prof. Kanchana Devi
5
To have a control system that answers the
following questions
What is my current software configuration?
What is its status?
How do I control changes to my configuration?
How do I inform everyone else of my changes?
What changes have been made to my software?
Do anyone else changes affect my software?
6. Software Product Nomenclature
Prof. Kanchana Devi
6
Control the development of the system
elements and then combined into full system.
System
Sub-
System
Sub-
System
Products
Products
Components
Components
Modules
Modules
7. Prof. Kanchana Devi
7
System
The package of all software the meets all user
requirements
Sub-system
Communication, display, processing
Product
Sub system contain many products
Eg. Operating system- control program, compiler, ..
Components
A control program – supervisor, scheduler, i/o controls
Module
Small and self-contained - queue management, interrupt
management
9. Configuration Control
Prof. Kanchana Devi
9
The task of configuration control revolves
around one official copy of the code
The simplest way to protect every system
revision to keep a separate copy of each
revision level
A good rule of thumb is that “No Separate
Copies of a program can be kept identical”
Solution: Library Facility
Eg. Google Excel
10. Revisions
Prof. Kanchana Devi
10
Keeping track of the revisions is an important
task of configuration management
When new problems are found, previous tests
can be rerun to trace the problem source.
Solution: Numbering System
11. Derivations
Prof. Kanchana Devi
11
The ability is to determine what has changed
is one of the most powerful software testing
aids.
Module 101 Module 101
Control Program level 116 Control Program Level 117
X
Y
Test A Rerun
Test A
12. Some information maintained in
derivation record are:
Prof. Kanchana Devi
12
The revision level of each module
The revision level of the tools used to assemble,
compile, link, load and execute the program
The test cases used and their revision level
The test data employed
The files used
The software and hardware system configuration
including peripherals features options
The operational procedures
13. Versions
Prof. Kanchana Devi
13
Several different functions can be
implemented by the same module with only
modest coding differences
14. Deltas
Prof. Kanchana Devi
14
Use of versions solve the problem of different
functional needs for the same module but
introduce multiple copies of the same code.
MEM
MEMS
MEML
>512
>512
Large Memory
Standard Memory
15. Conditional Code
Prof. Kanchana Devi
15
Useful for handling slight code variations
Advantage
There remains only one copy of the code
Disadvantages
Requires the proper parameters to trigger; which
could be astronomical in large systems
Nightmare to maintain over a decent length of
time.