[go: up one dir, main page]

0% found this document useful (0 votes)
86 views25 pages

Software Configuration Management Overview

1) Software systems will change throughout their lifecycle due to changes in requirements, technology, or other factors. 2) A baseline is a formally reviewed and approved version of software components that serves as the basis for further development and can only be changed through formal procedures. 3) A software configuration management repository stores and manages all project artifacts including requirements, designs, code, tests, and documentation and enables versioning, change management, and traceability of requirements through the lifecycle.

Uploaded by

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

Software Configuration Management Overview

1) Software systems will change throughout their lifecycle due to changes in requirements, technology, or other factors. 2) A baseline is a formally reviewed and approved version of software components that serves as the basis for further development and can only be changed through formal procedures. 3) A software configuration management repository stores and manages all project artifacts including requirements, designs, code, tests, and documentation and enables versioning, change management, and traceability of requirements through the lifecycle.

Uploaded by

Faisal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter 22

 Software Configuration Management

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.

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

3
The Software Configuration

programs documents

The pieces data

4
Baselines

• 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

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

6
Software Configuration Objects
Data model

Design specif ication

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

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:
 Data integrity
 Information sharing
 Tool integration
 Data integration
 Methodology enforcement
 Document standardization

8
Repository Content
use-cases
analy sis m o del so urce co de
b usiness rules
b usiness funct ions scen ario-b ased diagram s ob ject co de
o rganizat ion st ru ct ure flow-orie nt e d d iagram s sy st em b uild inst ruct ions
class-based diagram s
inform at io n archit e ct u re
b ehav ioral d iagram s Const ruct ion
de sign m ode l
Cont ent
archit e ct u ral diagram s
Business int erface diagram s
Cont ent com pon ent -lev e l diagram s
t echn ical m et rics t est cases
t est script s
t est result s
qu alit y m et rics
Model
Cont ent
V&V
Cont ent

Project
Management
proj ect e st im at es
Cont ent
proj ect sche dule
SCM requirem ent s
Proje ct Plan
chang e req uest s Document s SCM/ SQA Plan
chang e rep ort s
Sy st em Spe c
SQA requirem ent s
Requ irem en t s Sp ec
proj ect repo rt s/ audit repo rt s
Desig n Docu m ent
proj ect m et rics
Test Plan an d Pro ced ure
Supp ort docum ent s
Use r m anu al

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.

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)

11
The SCM Process
Software
Vm.n

reporting

configuration auditing

version control

change control

identification

SCIs

12
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.

13
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 control process—II

14
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

15
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


16
Auditing

Change
Requests SQA
Plan
SCIs

SCM Audit

17
Status Accounting
Change
Change
Reports ECOs
Requests
SCIs

Status Accounting

Reporting
18
SCM for Web Engineering-I
 Content.
 A 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.
 The challenge is to organize this sea of content into a
rational set of configuration objects (Section 27.1.4) and
then establish appropriate configuration control
mechanisms for these objects.
 People.
 Because a significant percentage of WebApp development
continues to be conducted in an ad hoc manner, any
person involved in the WebApp can (and often does)
create content.

19
SCM for Web 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 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
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 management, change auditing, and
reporting.

21
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:
 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 enterprise data or “back-
room” applications.

22
Content Management

conf igurat ion object s

dat abase Cont ent


Management
Syst em

t emplat es

HTML code client -side browser


+ script s

server-side

23
Change Management for WebApps-I

classify t he
request ed change

class 1 change class 4 change

class 3 change
class 2 change

acquire relat ed object s dev elop brief writ t en dev elop brief writ t en
descript ion of change descript ion of change
assess impact of change

t ransmit t o all t eam t ransmit t o all st ake-


members for rev iew holders for rev iew
changes
required
in relat ed
object s

furt her furt her


ev aluat ion ev aluat ion
is required OK t o make is required OK t o make

24
Change Management for WebApps-II

check out object (s)


t o be changed

make changes
design, const ruct , t est

check in object (s)


t hat were changed

publish t o WebApp

25

You might also like