Lecture Software process improvement: Lesson 3 provide students with knowledge about: configuration management; change; software configuration management; SCM functions; purpose of SCM activities; SCM provides cover against;... Please refer to the detailed content of the lecture!
Trang 1Configuration Management
Lecture # 3
Trang 3• Changes will happen in all work products and during all processes during software
development and maintenance
• Change increases the level of confusion
among software engineers who are working
on a software project
Trang 4Sources of Change 1
• New business or market conditions dictate changes in product requirements or business rules
Trang 9– controlling the changes imposed
– auditing and reporting on the changes
Trang 12Software Configuration
• The items that comprise all information
produced as part of the software process are collectively called a software configuration
Trang 13Configuration Item
13
Trang 14• A baseline is a software configuration
management concept that helps us to
control change without seriously impeding justifiable change
Trang 15IEEE definition of Baseline
Trang 16– IEEE Std. No. 610.121990
Trang 17Baseline
• Before a software configuration item
becomes a baseline, changes may be made quickly and informally
• However, once a baseline is established,
changes can be made, but a specific, formal procedure must be applied to evaluate and verify each change request
Trang 18formal technical review or inspection
Trang 19Baseline
• Typical, work products that are baselined are
Trang 2020
Trang 23These questions lead us to definition
of five SCM functions
SCM Functions
Trang 26SCM Function: Version Control 1
• Version control combines procedures and tools to manage different versions of
configuration items that are created during the software process
• The naming scheme for SCIs should
incorporate the version number
Trang 27SCM Function: Version Control 2
• Configuration management allows a user to
specify alternative configurations of the software system through the selection of appropriate
versions
• This is supported by associating attributes with
each software version, and then allowing a
configuration to be specified [and constructed] by describing the set of attributes
Trang 30Change Control Process
Trang 31Change Control Process
• Proposed changes to software workproducts are reviewed, then subjected to the agreement of
project participants, and finally incorporated into the currently approved software configuration
Trang 36The Change Control Process 1
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 need for change is recognized
Change Control Process—2
Trang 37The Change Control Process 2
assign people to SCIs
checkout SCIs make the change review/audit the change establish a “baseline” for testing
Change Control Process—3
Trang 39synchronization control
Trang 40Access and Synchronization Control
• Access control governs which software
engineers have the authority to access and modify a particular configuration item
• Synchronization control helps to ensure that parallel changes, performed by two
different people, don’t overwrite one
another
• We need to implement both
Trang 42Audit 2
• Has the change specified in the ECO been made? Have any additional modifications been incorporated?
• Has a formal technical review been
conducted to assess technical correctness?
• Has the software process been followed and have software engineering standards been properly applied?
42
Trang 43Audit 3
• Has the change been “highlighted” in the
SCI? Have the change date and author been specified? Do the attributes of the
configuration object reflect the change?
• Have SCM procedures for noting the
change, recording it, and reporting it been followed?
• Have all related SCIs been properly
Trang 44SCM Function: Status Accounting/Reporting
• The status accounting function provides a corporate memory of project events that supports accomplishment of other
Trang 45Software Configuration Management
Overview
Trang 46Baselines Changes
Trang 47Management Commitment to SCM
Trang 48Management Commitment for SCM
Software Project Management Commitment
Trang 49Summary
• Software configuration management is an umbrella activity that is applied throughout the software process
• SCM identifies, controls, audits, and reports modifications that invariably occur while
software is being developed and after it has been released
• SCM saves a project from total chaos