You are on page 1of 22

Software Configuration

Management

Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Introduction

SCM is a process to
systematically manage, organize,
and control the changes in the
documents, codes, and other
entities during  the SDLC. 

2
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Key participants in SCM

3
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Baselines
• Baseline is a milestone in the development of software.
• Approval of SCI is obtained through a formal technical review.

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.

4
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Baselines
modified
SCIs
Project database
approved
Software Formal
engineering SCIs technical SCIs
tasks reviews

stored

SCIs

extracted
SCM SCIs
controls

BASELINES:
System Specification
Software Requirements
Design Specification
Source Code
Test Plans/Procedures/Data
Operational System
5
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Software Configuration Objects
Data model

Design specification

data design
architectural design
module design
interface design

Component N

interface description
algorithm description
Test specification PDL

test plan
test procedure
test cases

Source code

6
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
SCM Repository

▪ Set of mechanisms and data structures to manage change in an effective


manner.
▪ The repository performs the functions :
▫ Data integrity
▫ Information sharing
▫ Tool integration
▫ Data integration
▫ Methodology enforcement
▫ Document standardization

7
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Repository Content
u s e -cas e s
an aly s is m o d e l s o u rce co d e
b u s in e s s ru le s
b u s in e s s fu n ct io n s s ce n ario -b as e d d iag ram s o b je ct co d e
o rg an izat io n s t ru ct u re flo w -o rie n t e d d iag ram s s y s t e m b u ild in s t ru ct io n s
clas s -b as e d d iag ram s
in fo rm at io n arch it e ct u re
b e h av io ral d iag ram s Cons t r u c t ion
d e s ig n m o d e l Con t e nt
arch it e ct u ral d iag ram s
Bus in e s s in t e rface d iag ram s
co m p o n e n t -le v e l d iag ram s
Cont e n t
t e ch n ical m e t rics t e s t cas e s
t e s t s crip t s
t e s t re s u lt s
q u alit y m e t rics
Mode l
Co nt e nt
V&V
Con t e nt

Pr oje c t
Ma na ge m e n t
p ro je ct e s t im at e s Cont e nt
p ro je ct s ch e d u le
S CM re q u ire m e n t s
P ro je ct P lan
ch an g e re q u e s t s Doc u me nt s S CM/ S Q A P lan
ch an g e re p o rt s
Sy st e m Sp e c
S Q A re q u ire m e n t s
Re q u ire m e n t s S p e c
p ro je ct re p o rt s / au d it re p o rt s
De s ig n Do cu m e n t
p ro je ct m e t rics
Te s t P lan an d P ro ce d u re
S u p p o rt d o cu m e n t s 8
Us e r m an u al
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Repository Features
▪ Versioning
▫ saves all versions to enable effective management of product releases
▫ 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 .
▪ Configuration management
▫ Keeps track of a series of configurations, project milestones or production releases.
▪ Audit trails
▫ Establishes additional information about when, why, and by whom changes are made.

9
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
SCM Elements
▪ Component elements
▪Set of tools (e.g., a database) to manage each software configuration item.
▪ Process elements
▪Collection of procedures that define an effective approach to change
management
▪ Construction elements
▪Set of tools to validate the components.
▪ Human elements
▪To implement effective SCM, the software team uses a set of tools.

10
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
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 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?

11
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
The SCM Process
Software
Vm.n

reporting

configuration auditing

version control

change control

identification

SCIs

12
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Version Control

▪ Combines procedures and tools to manage different versions of configuration


objects that are created during the software process.
▪ Version control system capabilities:
▫ project database (repository) - stores all relevant configuration objects
▫ version management - capability that stores all versions of a
configuration object
▫ make facility - enables the software engineer to collect all relevant
configuration objects and construct a specific version of the software.
▫ issues tracking - enables the team to record and track the status of all
outstanding issues associated with configuration object.

13
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Change Control

STOP
▪ Change control is a procedural method which
ensures quality and consistency when changes
are made in the configuration object.

14
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Change Control Process—I
need for change is recognized

change request from user

developer evaluates

change report is generated

change control authority decides

request is queued for action change request is denied

change control process—II user is informed


15
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Change Control Process—II
assign people to SCIs

check-out SCIs

make the change

review/audit the change

establish a “baseline” for testing

change control process—III


16
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Change Control Process-III
perform SQA and testing activities

check-in the changed SCIs

promote SCI for inclusion in next release

rebuild appropriate version

review/audit the change

include all changes in release 17


Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Auditing
“ Change
Requests SQA
Plan
SCIs

SCM Audit
18
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
SCM for Web Engineering-I

▪ Content
▫ Typical WebApp contains a vast array of content—text, graphics, applets,
scripts, audio/video files, forms, active page elements, tables, streaming
data, and many others.
▪ People
▫ Because a significant percentage of WebApp development continues to be
conducted in an ad hoc manner, any person involved in the WebApp can
create content.

19
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
SCM for Web Engineering-II
▪ Scalability
▫ As size and complexity grow, small changes can have unintended affects that
can be problematic.
▪ Politics
▫ Who ‘owns’ a WebApp?
▫ Who assumes responsibility for the accuracy of the information on the Web
site?
▫ Who assures that quality control processes have been followed before
information is published to the site?
▫ Who is responsible for making changes?
▫ Who assumes the cost of change?

20
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Content Management-I

▪ Management subsystem implements a repository that encompasses the following


elements:
▫ Content database—the information structure to store all content objects.
▫ Database capabilities—functions that enable the CMS to search for specific content objects,
store and retrieve objects, and manage the file structure that has been established for the
content.
▫ Configuration management - version control, change management, change auditing, and
reporting.

21
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore
Text Books
▪ Roger Pressman S., Bruce R. Maxim, “Software
Engineering: A Practitioner's Approach”, Eighth Edition,
McGraw- Hill, 2015, ISBN 978-0-07-802212-8.

References ▪ Ian Sommerville, “Software Engineering”, Ninth Edition,


Pearson Education Ltd, 2016. ISBN 10: 1-292-09613-6.

22
Dr. T. Jemima Jebaseeli, Assistant Professor, Karunya Institute of Technology and Sciences, Coimbatore

You might also like