Ch 8 configuration management
-
Upload
kittitouch-suteeca -
Category
Technology
-
view
529 -
download
3
description
Transcript of Ch 8 configuration management
SE422 Software Quality AssuranceCH-8 Configuration Management
Software EngineeringCollege of Arts, Media and Technology ,CMU.
Kittitouch S.1.0-2-2-12
Document history
version Change detail Release date Author
1.0 - 2-2-12 Kittitouch
1.1 Add-Release of software configuration versions-Computerized tools for managing software configuration-SCM plan
6-2-12 Kittitouch
Topics
Software configuration Software configuration management Software change control Release of software configuration
versions Computerized tools for managing
software configuration SCM plan
The SQA system
WHY SCM.?
“What is the correct version of the software module that I have to
continue its coding?”
“Who can provide me with an accurate copy of last year’s version 4.1 of the TMY
software system?”
“What version of the design document matches the software version we are
currently adapting to a new customer’s requirements?”
WHY SCM.?
“What version of the software system is installed at ABC Industries?”
“Where can I find the full list of customers that use version 6.8 of our software?”
“Can we be sure that the version installed at Top Com Ltd. does not include
undocumented changes (and changes that have not been
approved)?”
Most Questions.
Who make changes?
What changes are
made?
When are changes made?
Why are changes made?
Benefits of CM to a Project
1. Reduces confusion and establishes order.2. Organizes the activities necessary to
maintain product integrity.3. Ensures correct product configurations.4. Limits legal liability by providing a record
of actions.5. Reduces life-cycle costs.6. Enables consistent conformance with
requirements.7. Provides a stable working environment.8. Enhances compliance with standards.9. Enhances status accounting.
What is SCM.?
Software configuration management (SCM) is the SQA component assigned to manage changes and supply accurate answers to inquiries of the types mentioned above.
SCM is stressed by ISO 9000–3 standards
definitions
Software configuration item (SCI) or configuration item (CI) An approved unit of software code, a
document or piece of hardware that is designed for configuration management and treated as a distinct entity in the software configuration management process.
definitions
SCI version The approved state of an SCI at any
given point of time during the development or maintenance process.
Software configuration version An approved selected set of documented
SCI versions that constitute a software system or document at a given point of time.
The SCIs are generally placed into four classes
Design documents Software code Data files, including files of test
cases and test scripts Software development tools.
A list of common types of SCIs
A list of common types of SCIs
PMT project
Software configuration management– tasks and organization The tasks of software configuration
management Control software change Release of SCI and software configuration
versions Provision of SCM information services Verification of compliance to SCM procedures.
Software change control
Software change management controls the process of introducing changes mainly by doing the following: Examining change requests and approving
implementation of appropriate requests.
Assuring the quality of each new version of software configuration before it becomes operational.
Release of software configuration versions
Types of software configuration releases
Baseline versions-Baseline software configuration versions are planned early, during a system’s development or operating stage.
Baseline versions serve as milestones in the software system’s life cycle, and represent the foundations for further system development.
Types of software configuration releases
Intermediate versions- When problems arise that require immediate attention – such as the need to correct defects identified in an important SCI, or perform immediate adaptations as defined in a contract with a new customer – an intermediate version of the software is often prepared.
Types of software configuration releases
Revisions-Revisions introduce minor changes and corrections to a given software configuration version. In some cases, several successive revisions are released before a new baseline version is released.
Types of software configuration releases
Numeration conventions for identification of SCI and software versions-Numeration conventions have been formulated to identify SCIs; the most commonly used is decimal numeration, which indicates the successive version and revision numbers and is registered accordingly.
Example- SRS Ver.1.0 ,SRS Ver.1.1
Example
Software configuration management plans(SCMPs)
SCMP usually includes: An overview of the software development
project or existing software system. A list of scheduled baseline version releases. A list of SCIs (documents, code, etc.) to be
included in each version. A table identifying the relationship of
software development project plans and maintenance plans to scheduled releases of new SCIs or SCI versions.
Software configuration managementplans(SCMPs)
A list of assumptions about the resources required to perform the various activities required by the SCMP.
Estimates of the human resources and budget needed to perform the SCMP.
SCMP for the development stage
Based on the project plan, the SCMP sets the release dates of baseline versions, which usually coincide with the conclusion of one or more of the following three events: Design stage Coding stage System test stage
SCMP for the operation (maintenance) stage
During the operation (maintenance) stage, further releases of software baseline versions are required in order to introduce improved software versions released after accumulation of SCI changes made during regular customer use.
The plan generally schedules new baseline releases periodically, either annually, semi-annually, or according to the anticipated number of accumulated changes in SCIs.
Documentation of software configuration versions
SCI version document– a template Identification ▪ SCI Version number▪ Name(s) of software engineer(s) who
implemented the change▪ Date the new version was completed and
approved
Documentation of software configuration versions (cont’)
Changes in the new version▪ Former SCI version number▪ Short description of the introduced changes▪ List of other SCIs that had to be changed as
a result of the current changes▪ List of SCOs (Software change
orders)included in the new version▪ List of software problem reports resolved by
the new version ▪ Operational as well as other implications of
the changes introduced in the new version
Computerized tools for managing software configuration
The computerized SCM tools also operate the mechanisms coordinating the work on an SCI’s changes and prevent different teams from simultaneously introducing changes in the same SCI.
Computerized tools for managing software configuration
An additional benefit of the use of a computerized SCM system is the high security level it is able to provide:
It secures the code version and documentation files versions by protecting them from any changes, deletions and other damages.
It activates back-up procedures required for safe SCM file storage.
Example of SCM tool
CVS Subversion:SVN Clearcase:IBM Team Foundation Server:Microsoft Git
SCM plan may include..
INTRODUCTION Software Configuration Management (SCM)
SCM Organization SCM Responsibilities SCM Resources
Configuration identification Naming Conversion Document IDs Document name Version tag
Baselines
SCM plan may include..(cont’)
Library control Back up policy SCM tool
CI table for SE391
No.
Item File name File extension
Owner path Baseline ver.
1 Proposal
2 Project plan
3 Requirement specification
4 Software Design
5 Software Testing
6 Traceability Record
7 Acceptance record
[Team name]-[Document name]-[Version tag].[file type]
Referrence
Chapter 18:Daniel Galin. SOFTWARE QUALITY ASSURANCE From theory to implementation. Pearson Education Limited,2004.