Download - SQE 10 Configuration Management 1
-
7/24/2019 SQE 10 Configuration Management 1
1/22
CHAPTER 27SOFTWARE CONFIGURATIONMANAGEMENT
1
-
7/24/2019 SQE 10 Configuration Management 1
2/22
THE FIRST LAW
2
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
-
7/24/2019 SQE 10 Configuration Management 1
3/22
WHAT ARE THESE CHANGES?
3
data
other
documents
codeTest
Project
Plan
changes in
technical requirements
changes in
business requirements
changes in
user requirements
software models
-
7/24/2019 SQE 10 Configuration Management 1
4/22
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.
4
-
7/24/2019 SQE 10 Configuration Management 1
5/22
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
-
7/24/2019 SQE 10 Configuration Management 1
6/22
THE SOFTWARE CONFIGURATION
6
programsdocuments
dataThe pieces
-
7/24/2019 SQE 10 Configuration Management 1
7/22
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
7
-
7/24/2019 SQE 10 Configuration Management 1
8/22
SOFTWARE CONFIGURATION MANAGEMENT
a set of activities that have been developed to manage
change throughout the life cycle of computer software
8
-
7/24/2019 SQE 10 Configuration Management 1
9/22
SOFTWARE CONFIGURATION MANAGEMENT
The project manager sees CM as an auditingmechanism;
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
-
7/24/2019 SQE 10 Configuration Management 1
10/22
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 formalchange 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
-
7/24/2019 SQE 10 Configuration Management 1
11/22
BASELINES
11
SCIs
SCIs
modified
Software
engineering
tasks
Formal
technical
reviewsSCIs
approved
SCIs
extracted
SCM
controls
SCIs
stored
Project database
System SpecificationSoftware RequirementsDesign Specification
Source CodeTest Plans/Procedures/Data
Operational System
BASELINES :
-
7/24/2019 SQE 10 Configuration Management 1
12/22
SOFTWARE CONFIGURATION OBJECTS
12
Design specification
data design
architectural design
module design
interface design
Component N
interface description
algorithm descr iption
PDL
Data model
Test specification
test plan
test procedure
test cases
Source code
-
7/24/2019 SQE 10 Configuration Management 1
13/22
A curved arrow shows a compositional relation.The double headed straight line indicates an
interrelationship..
13
-
7/24/2019 SQE 10 Configuration Management 1
14/22
SOFTWARE CONFIGURATION ITEMS
In addition to these SCIs many organizations also place
software tools under configuration control e.g Specificversions of editors, compilers, browsers and other
automated tools are also frozen as part of software
configuration.
14
-
7/24/2019 SQE 10 Configuration Management 1
15/22
SCM REPOSITORY
The SCIs are maintained in the projects database or Repository
The SCM repository is the set of mechanisms and data structures thatallow 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
-
7/24/2019 SQE 10 Configuration Management 1
16/22
REPOSITORY CONTENT
16
Business
Content
Model
Content
V&V
Content
Project
Management
Content
Construction
Content
Documents
business rules
business functions
organization struct ure
information architect ure
project estimates
project schedule
SCM requirement s
change requests
change reports
SQA requiremen ts
project reports/audit reports
project m et rics
Project Plan
SCM/SQA Plan
System Spec
Requirem ent s Spec
Design Document
Test Plan and Procedure
Support documents
User manual
use-cases
analysis mod el
scenario-based d iagrams
flow-orient ed diagrams
class-based diagrams
be havioral diagrams
design mode l
archit ect ural diagrams
int erface diagrams
comp one nt -lev el diagrams
t echnical met rics
source code
object code
syste m build inst ructions
t est cases
te st scripts
te st results
qualit y me t rics
-
7/24/2019 SQE 10 Configuration Management 1
17/22
REPOSITORY FEATURES
Versioning.
saves all versions of SCIs to enable effective management of producreleases and to permit developers to go back to previous versions
Dependency tracking and change management.
The repository manages a wide variety of relationships among thedata elements stored in it.
Requirements tracing.
Provides the ability to track all the design and construction
components and deliverables that result from a specific requirementspecification(FORWARD TRACING)
BACKWARD TRACING 17
-
7/24/2019 SQE 10 Configuration Management 1
18/22
REPOSITORY FEATURES
Configuration management.
Keeps track of a series of configurations representingspecific project milestones or production releases. Version
management provides the needed versions, and linkmanagement keeps track of interdependencies.
Audit trails.
establishes additional information about when, why, and
by whom changes are made.
18
-
7/24/2019 SQE 10 Configuration Management 1
19/22
THE SCM PROCESS
1. To identify all items that collectively define thesoftware configuration
2. To manage changes to one or more of these
items3. To facilitate the construction of different versions
of an application
4. To ensure that software quality is maintained as
the configuration evolves over time19
-
7/24/2019 SQE 10 Configuration Management 1
20/22
THE SCM PROCESS
How does a software team identify the discrete elements of a softwareconfiguration?
How does an organization manage the many existing versions of a
program (and its documentation) in a manner that will enable changeto be accommodated efficiently?
How does an organization control changes before and after softwareis 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
Addresses the following questions
-
7/24/2019 SQE 10 Configuration Management 1
21/22
THE SCM PROCESS
21
identification
change control
version control
configuration auditing
reporting
SCIs
Software
Vm.n
-
7/24/2019 SQE 10 Configuration Management 1
22/22
REFERENCE
Software Configuration Management ,Chapter 22 from Software Engineering: APractitioners Approach, 7th edition by Roger S. Pressman
22