0% found this document useful (0 votes)
65 views27 pages

UNIT V - 6 Software Configuration Management

The document discusses software configuration management and contains slides related to the topic. It notes that the slides are designed to accompany a textbook on software engineering and are copyrighted. It then provides information on the "First Law" of software changes, the types of changes that occur, the software configuration, baselines, software configuration objects, the SCM repository, and content that may be contained in the repository.

Uploaded by

Devnath
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views27 pages

UNIT V - 6 Software Configuration Management

The document discusses software configuration management and contains slides related to the topic. It notes that the slides are designed to accompany a textbook on software engineering and are copyrighted. It then provides information on the "First Law" of software changes, the types of changes that occur, the software configuration, baselines, software configuration objects, the SCM repository, and content that may be contained in the repository.

Uploaded by

Devnath
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 27

Chapter 29

 Software Configuration Management


Slide Set to accompany
Software Engineering: A Practitioner’s
Approach, 8/e
by Roger S. Pressman and Bruce R. Maxim

Slides copyright © 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman

For non-profit educational use only


May be reproduced ONLY for student use at the university level when used in conjunction
with Software Engineering: A Practitioner's Approach, 8/e. Any other reproduction or use is
prohibited without the express written permission of the author.

All copyright information MUST appear if these slides are posted on a website for student
use.

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 1
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

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 2
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

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 3
The Software
Configuration

programs documents

The pieces data

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 4
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
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 5
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
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

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 7
SCM 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
 Methodology enforcement
 Document standardization

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 8
Repository Content
u se -case s
an aly sis m o d e l so u rce co d e
b u sin e ss ru le s
b u sin e ss fu n ct io n s sce n ario -b ase d d iag ram s o b je ct co d e
o rg an izat io n st ru ct u re flo w-o rie n t e d d iag ram s sy st e m b u ild in st ru ct io n s
in fo rm at io n arch it e ct u re class-b ase d d iag ram s
b e h av io ral d iag ram s Cons t ruc t ion
d e sig n m o d e l Cont e nt
arch it e ct u ral d iag ram s
Bus ine s s in t e rface d iag ram s
Cont e nt 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
Mode l
Cont e nt
V&V
Cont e nt

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?

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 12
The SCM Process
Software
Vm.n

reporting

configuration auditing

version control

change control

identification

SCIs

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 13
Version Control
 Version control combines procedures and tools to
manage different versions of configuration objects
that are created during the software process
 A version control system implements or is directly
integrated with four major capabilities:
 a project database (repository) that stores all relevant
configuration objects
 a version management capability that stores all
versions of a configuration object (or enables any
version to be constructed using differences from past
versions);
 a make facility that enables the software engineer to
collect all relevant configuration objects and construct
a specific version of the software.
 an issues tracking (also called bug tracking) capability
that enables the team to record and track the status of
all outstanding issues associated with each
configuration object.
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 14
Change Control

STOP

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 15
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
user is informed
change
change control
control process—II
process—II
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 16
Change Control
Process-II
assign people to SCIs

check-out SCIs

make the change

review/audit the change

establish a “baseline” for testing

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

check-in the changed SCIs

promote SCI for inclusion in next release

rebuild appropriate version

review/audit the change

include all changes in release


These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 18
Auditing

Change
Requests SQA
Plan
SCIs

SCM Audit

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 19
Status Accounting
Change
Change
Reports ECOs
Requests
SCIs

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.

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 21
SCM for Web and
Mobile Engineering-II
 Scalability.
 As size and complexity grow, small changes can
have far-reaching and unintended affects that
can be problematic. Therefore, the rigor of
configuration control mechanisms should be
directly proportional to application scale.
 Politics.
 Who ‘owns’ a App?
 Who assumes responsibility for the accuracy of
the information displayed by the App?
 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?
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 22
Content Management-I
 The collection subsystem encompasses all actions
required to create and/or acquire content, and the
technical functions that are necessary to
 convert content into a form that can be represented
by a mark-up language (e.g., HTML, XML)
 organize content into packets that can be displayed
effectively on the client-side.
 The management subsystem implements a
repository that encompasses the following
elements:
 Content database—the information structure that has
been established to store all content objects
 Database capabilities—functions that enable the CMS
to search for specific content objects (or categories of
objects), store and retrieve objects, and manage the
file structure that has been established for the
content
 Configuration management functions—the functional
elements and associated workflow that support
content object identification, version control, change
These slides are designed to accompany Software Engineering: A
management, change auditing, and reporting.
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 23
Content Management-II
 The publishing subsystem extracts from the
repository, converts it to a form that is amenable
to publication, and formats it so that it can be
transmitted to client-side browsers. The
publishing subsystem accomplishes these tasks
using a series of templates.
 Each template is a function that builds a
publication using one of three different
components [BOI02]:
 Static elements—text, graphics, media, and scripts
that require no further processing are transmitted
directly to the client-side
 Publication services—function calls to specific
retrieval and formatting services that personalize
content (using predefined rules), perform data
conversion, and build appropriate navigation links.
 External services—provide access to external
corporate information infrastructure such as
These slides are designed to accompany Software Engineering: A
enterprise
Practitioner’s Approach, data2014).
8/e (McGraw-Hill or “back-room” applications.
Slides copyright 2014 by
Roger Pressman. 24
Content Management -
III

configura t ion objec t s

dat a bas e Cont ent


Management
Sys t em

t e mplat es

HTML code client -s ide brows e r


+ s cript s

s e rve r-s ide


These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 25
Change Management for Web
and Mobile Apps-I

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

acq u ire re lat e d o b je ct s d e v e lo p b rie f writ t e n d e v e lo p b rie f writ t e n


d e scrip t io n o f ch an g e d e scrip t io n o f ch an g e
asse ss imp act o f ch an g e

t ran smit t o all t e am t ran smit t o all st ake -


me mb e rs fo r re v ie w h o ld e rs fo r re v ie w
ch an g e s
re q u ire d
in re lat e d
o b je ct s

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

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 26
Change Management for Web
and Mobile Apps-II

check out objec t (s )


t o be change d

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

These slides are designed to accompany Software Engineering: A


Practitioner’s Approach, 8/e (McGraw-Hill 2014). Slides copyright 2014 by
Roger Pressman. 27

You might also like