UNIT V - 6 Software Configuration Management
UNIT V - 6 Software Configuration Management
All copyright information MUST appear if these slides are posted on a website for student
use.
software models
Project
Plan
data
Test
code
programs documents
stored
SCIs
extracted
SCM SCIs
controls
BASELINES:
System Specification
Software Requirements
Design Specification
Source Code
Test Plans/Procedures/Data
Operational System
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 6
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
Proje c t
Ma na ge me nt
p ro je ct e st im at e s Cont e nt
p ro je ct sch e d u le
SCM re q u ire m e n t s
Pro je ct Plan
ch an g e re q u e st s Doc ume nt s SCM/ SQA Plan
ch an g e re p o rt s
Sy st e m Sp e c
SQA re q u ire m e n t s
Re q u ire m e n t s Sp e c
p ro je ct re p o rt s/ au d it re p o rt s
De sig n Do cu m e n t
p ro je ct m e t rics
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
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 9
Repository Features
Versioning.
saves all of these versions 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
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.
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 10
SCM Elements
Component elements—a set of tools coupled
within a file management system (e.g., a database)
that enables access to and management of each
software configuration item.
Process elements—a collection of procedures and
tasks that define an effective approach to change
management (and related activities) for all
constituencies involved in the management,
engineering and use of computer software.
Construction elements—a set of tools that
automate the construction of software by ensuring
that the proper set of validated components (i.e.,
the correct version) have been assembled.
Human elements—to implement effective SCM, the
software team uses a set of tools and process
features (encompassing other CM elements)
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 11
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?
reporting
configuration auditing
version control
change control
identification
SCIs
STOP
developer evaluates
check-out SCIs
change
change control
control process—III
process—III
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 17
Change Control
Process-III
perform SQA and testing activities
Change
Requests SQA
Plan
SCIs
SCM Audit
Status Accounting
Reporting
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 20
SCM for Web and
Mobile Engineering-I
Content.
A typical Web or Mobile App contains a vast array of
content—text, graphics, applets, scripts, audio/video
files, forms, active page elements, tables, streaming
data, and many others.
The challenge is to organize this sea of content into
a rational set of configuration objects (Section
29.2.1) and then establish appropriate configuration
control mechanisms for these objects.
People.
Because a significant percentage of Web and Mobile
App development continues to be conducted in an ad
hoc manner, any person involved in the App can (and
often does) create content.
t e mplat es
classify t h e
re q u e st e d ch an g e
class 1 ch an g e class 4 ch an g e
class 2 ch an g e class 3 ch an g e
fu rt h e r fu rt h e r
e v alu at io n e v alu at io n
is re q u ire d OK t o make is re q u ire d OK t o make
m ake change s
des ign, c ons t ruct , t es t
check in objec t (s )
t ha t were c hanged
publis h t o WebApp