22-refppt - CSE,Dhaka City College

advertisement
Software Configuration
Management
“The only constant is change ...”
TCS2411 Software Engineering
1
Lecture Objectives
To understand the activities in managing
software changes
To identify the software configuration
items that needs to be managed
To describe the different tasks in software
configuration management
TCS2411 Software Engineering
2
What is S/w Configuration
Management?
SCM is the discipline for systematically
controlling the changes that take place
during development
Umbrella activity that is applied throughout
SE process
SCM is easier at the start of development
and gets more complex towards the end
TCS2411 Software Engineering
3
Sources of Change
New business or market conditions
New customer needs
Reorganisation and/or business
downsizing
Budgetary or scheduling constraints
TCS2411 Software Engineering
4
Main Elements of SCM
Identification
What are the configuration items?
Control
How changes should be controlled?
Status Accounting
What changes have been made?
Auditing
Is the system being built to satisfy the
needs?
TCS2411 Software Engineering
5
Software Configuration
Computer programs
Source code
Executable code
Documents that describe the computer
programs
For technical staff
For users
Data
Within the program and external to it
TCS2411 Software Engineering
6
Software Configuration
Item
A document or an artifact that is explicitly
placed under configuration control and
that can be regarded as a basic unit for
modification
Examples:
requirement documents
design document
code of a module
test plan
TCS2411 Software Engineering
7
Baselines Definition
IEEE definition:
“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”
TCS2411 Software Engineering
8
Baselines
A baseline is essentially a set of SCIs
The items have been reviewed, corrected,
and approved
Baselines should be used as reference
point
Baselines should only be changed through
formal procedures
Careful definition and control of different
baselines should be done
TCS2411 Software Engineering
9
Examples of Baselines
Functional baseline (requirements)
Design baseline
Product baseline (developed system)
TCS2411 Software Engineering
10
Configuration Control
Version control - procedures and tools to
manage different versions of configuration
objects
Change control - procedures and tools to
provide a mechanism for the control of
changes
TCS2411 Software Engineering
11
Version Control
Process of identifying and keeping track of
different versions and releases of a system
Procedures to ensure that different versions
of a system may be retrieved when
required and not accidentally changed
Version management is almost always
supported by automated tools
TCS2411 Software Engineering
12
Evolution Graph
Obj
1.0
Obj
1.1
Obj
1.4
Obj
2.0
Obj
2.1
Obj
1.2
Obj
1.1.1
TCS2411 Software Engineering
Obj
1.3
Obj
1.1.2
13
Versions, releases &
variants
Version - an instance of a system that
differs from other instances
different functionality
performance
repair of system faults
Release - version that is distributed to
customers
Variant - sometimes used when
differences are small
TCS2411 Software Engineering
14
Change Control
Focuses on managing changes to the
different forms of the SCIs
Engineering change proposal - basic
document used for defining & requesting
for a change.
Configuration Control Board (CCB) is
responsible for configuration management
CCB evaluate proposal & approve/reject it
TCS2411 Software Engineering
15
Change Control Process
Need
for
change
Change
request
generated
Evaluation
Change
report
generated
Technical merits, Side effects
Overall impact, Project cost
Other
SCM
tasks
TCS2411 Software Engineering
Place on
queue
for change
Requestor
is informed
ECO
generated
Approve
CCA
decision
Reject
16
Engineering Change
Proposal
proposed change
reason(s)
baselines & SCIs that are affected
cost
schedule impacts
procedures for the change
TCS2411 Software Engineering
17
Engineering Change
Order
Change description
Constraints
Audit review criteria
TCS2411 Software Engineering
18
Change Process
Object to be changed is “checked out”
Change is made
Appropriate SQA activities applied
Object is “checked in” to the database
Version control mechanisms applied for
next version
TCS2411 Software Engineering
19
Change Process
Diagram
Configuration object
(modified version)
Audit info
Software
Engineer
Check-in
unlock
Access
control
Configuration object
(baseline version)
Ownership
info
Project
Database
lock
Configuration object
(extracted version)
TCS2411 Software Engineering
Configuration object
(baseline version)
Check-out
20
Status
Accounting/Reporting
Keeps record of how the system evolves
and what is its current status
(administrative nature)
Can be complex due to the existence of
executable and non-executable forms
TCS2411 Software Engineering
21
Status Reporting
Process
Configuration
Identification
Configuration
Control
SCIs
Changes
Configuration
Audit
TCS2411 Software Engineering
CSR
Database
Status
Reporting
Deficiencies
CSR
Report
22
Status Accounting
Tasks
Record baseline establishment time
Record when SCI came into being
Information about each SCI
Engineering change proposal status
Status of the approved changes
TCS2411 Software Engineering
23
Configuration Audit
Concerned with determining how
accurately the current software system
implements the system defined in the
baseline & requirements document
Also concerned with increasing the
visibility and traceability of the software
Also establish a new baseline
TCS2411 Software Engineering
24
Auditing
How do we know a change is properly
implemented?
Formal technical reviews - assess the SCI to
determine consistency with other SCIs
Software configuration audit
SCI changes made?
FTR conducted?
SE standards followed?
SCM procedures followed & updates properly done?
Related SCIs updated?
TCS2411 Software Engineering
25
References
“Software Engineering: A Practitioner’s
Approach” 5th Ed. by Roger S. Pressman,
Mc-Graw-Hill, 2001
“Software Engineering” by Ian Sommerville,
Addison-Wesley, 2001
TCS2411 Software Engineering
26
Download