SQE 10 Configuration Management 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

CHAPTER 27

SOFTWARE CONFIGURATION
MANAGEMENT

THE FIRST LAW

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.
Bersoff, et al, 1980

WHAT ARE THESE CHANGES?

changes in
business requirements
changes in
technical requirements
changes in
user requirements

other
documents

software models
Project
Plan

data

Test

code

CONFIGURATION MANAGEMENT

The art of coordinating software development to minimize . . .

Confusion
The art of identifying, organizing, and controlling modifications to

the software being built by a programming team.

CONFIGURATION MANAGEMENT
SCM activities are developed to
1.

identify change,

2.

control change,

3.

ensure that change is being properly implemented,


and

4.

report changes to others who may have an interest


5

THE SOFTWARE CONFIGURATION

programs

The pieces

documents

data
6

SOFTWARE CONFIGURATION
The items that comprise all information produced as

part of the software process are collectively called a


software configuration.
SCI: a named element of information that can be as

small as a single UML diagram or as large as the


complete design document

SOFTWARE CONFIGURATION MANAGEMENT

a set of activities that have been developed to manage


change throughout the life cycle of computer software

SOFTWARE CONFIGURATION MANAGEMENT


The project manager sees CM as an auditing

mechanism;
the configuration manager sees it as a controlling,
tracking, and policy making mechanism;
the software engineer sees it as a changing,
building, and access control mechanism;
and the customer sees it as a quality assurance
mechanism
9

BASELINES
The IEEE (IEEE Std. No. 610.12-1990) defines a baseline as:
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.
a baseline is a milestone in the development of software that is

marked by the delivery of one or more software configuration items


and the approval of these SCIs that is obtained through a formal
technical review
10

BASELINES
modified
SCIs
Projec t database
Software
engineering
tasks

SCIs

Formal
technical
reviews

approved
SCIs
stored
SCIs

extrac ted
SCM
controls

SCIs
BASELINES :
System Specification
Software Requirements
Design Spec ific ation
Source Code
Tes t Plans/Procedures/Data
Operational System

11

SOFTWARE CONFIGURATION OBJECTS


Data model
Design specification
data des ign
architec tural design
module des ign
interface design
Component N

Tes t s pecific ation

interface description
algorithm description
PDL

test plan
test procedure
test cas es
Source code
12

A curved arrow shows a compositional relation.


The double headed straight line indicates an

interrelationship..

13

SOFTWARE CONFIGURATION ITEMS

In addition to these SCIs many organizations also place

software tools under configuration control e.g Specific


versions of editors, compilers, browsers and other
automated tools are also frozen as part of software
configuration.

14

SCM REPOSITORY
The SCIs are maintained in the projects database or Repository
The SCM repository is the set of mechanisms and data structures that

allow a software team to manage change in an effective manner


The repository performs or precipitates the following functions

[FOR89]:
Data integrity
Information sharing

Tool integration
Data integration
15

REPOSITORY CONTENT
u se -case s
an aly sis m o d e l

b u sin e ss ru le s
b u sin e ss fu n ct io n s
o rg an izat io n st ru ct u re
in fo rm at io n arch it e ct u re

b e h av io ral d iag ram s


d e sig n m o d e l
arch it e ct u ral d iag ram s

Business
Cont ent

so u rce co d e

sce n ario -b ase d d iag ram s


flo w -o rie n t e d d iag ram s
class-b ase d d iag ram s

o b j e ct co d e
sy st e m b u ild in st ru ct io n s

Const ruct ion


Cont ent

in t e rface d iag ram s


co m p o n e n t -le v e l d iag ram s
t e ch n ical m e t rics

t e st case s
t e st scrip t s
t e st re su lt s
q u alit y m e t rics

Model
Cont ent
V&V
Cont ent

p ro j e ct e st im at e s
p ro j e ct sch e d u le

Project
Management
Cont ent

SCM re q u ire m e n t s
ch an g e re q u e st s
ch an g e re p o rt s
SQA re q u ire m e n t s
p ro j e ct re p o rt s/ au d it re p o rt s
p ro j e ct m e t rics

Document s

Pro j e ct Plan
SCM/ SQA Plan
Sy st e m Sp e c
Re q u ire m e n t s Sp e c
De sig n Do cu m e n t
Te st Plan an d Pro ce d u re
Su p p o rt d o cu m e n t s
Use r m an u al

16

REPOSITORY FEATURES
Versioning.
saves all versions of SCIs to enable effective management of product

releases and to permit developers to go back to previous versions


Dependency tracking and change management.
The repository manages a wide variety of relationships among the
data elements stored in it.
Requirements tracing.
Provides the ability to track all the design and construction
components and deliverables that result from a specific requirement
specification(FORWARD TRACING)
17
BACKWARD TRACING

REPOSITORY FEATURES
Configuration management.
Keeps track of a series of configurations representing

specific project milestones or production releases. Version


management provides the needed versions, and link
management keeps track of interdependencies.

Audit trails.
establishes additional information about when, why, and

by whom changes are made.


18

THE SCM PROCESS


1. To identify all items that collectively define the

software configuration
2. To manage changes to one or more of these
items
3. To facilitate the construction of different versions
of an application
4. To ensure that software quality is maintained as
the configuration evolves over time
19

THE SCM PROCESS


Addresses the following questions
How does a software team identify the discrete elements of a software

configuration?
How does an organization manage the many existing versions of a

program (and its documentation) in a manner that will enable change


to be accommodated efficiently?
How does an organization control changes before and after software

is released to a customer?
Who has responsibility for approving and ranking changes?
How can we ensure that changes have been made properly?
What mechanism is used to appraise others of changes that are made?
20

Software
Vm.n

THE SCM PROCESS


reporting

configuration auditing
vers ion control
change control
identification

SCIs

21

REFERENCE

Software Configuration Management ,Chapter 22 from Software Engineering: A

Practitioners Approach, 7th edition by Roger S. Pressman

22

You might also like