Ch 8 configuration management

35
SE422 Software Quality Assurance CH-8 Configuration Management Software Engineering College of Arts, Media and Technology ,CMU. Kittitouch S. 1.0-2-2-12

description

 

Transcript of Ch 8 configuration management

Page 1: 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

Page 2: Ch 8 configuration management

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

Page 3: Ch 8 configuration management

Topics

Software configuration Software configuration management Software change control Release of software configuration

versions Computerized tools for managing

software configuration SCM plan

Page 4: Ch 8 configuration management

The SQA system

Page 5: Ch 8 configuration management

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?”

Page 6: Ch 8 configuration management

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)?”

Page 7: Ch 8 configuration management

Most Questions.

Who make changes?

What changes are

made?

When are changes made?

Why are changes made?

Page 8: Ch 8 configuration management

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.

Page 9: Ch 8 configuration management

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

Page 10: Ch 8 configuration management

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.

Page 11: Ch 8 configuration management

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.

Page 12: Ch 8 configuration management

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.

Page 13: Ch 8 configuration management

A list of common types of SCIs

Page 14: Ch 8 configuration management

A list of common types of SCIs

Page 15: Ch 8 configuration management

PMT project

Page 16: Ch 8 configuration management

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.

Page 17: Ch 8 configuration management

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.

Page 18: Ch 8 configuration management

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.

Page 19: Ch 8 configuration management

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.

Page 20: Ch 8 configuration management

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.

Page 21: Ch 8 configuration management

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

Page 22: Ch 8 configuration management

Example

Page 23: Ch 8 configuration management

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.

Page 24: Ch 8 configuration management

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.

Page 25: Ch 8 configuration management

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

Page 26: Ch 8 configuration management

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.

Page 27: Ch 8 configuration management

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

Page 28: Ch 8 configuration management

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

Page 29: Ch 8 configuration management

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.

Page 30: Ch 8 configuration management

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.

Page 31: Ch 8 configuration management

Example of SCM tool

CVS Subversion:SVN Clearcase:IBM Team Foundation Server:Microsoft Git

Page 32: Ch 8 configuration management

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

Page 33: Ch 8 configuration management

SCM plan may include..(cont’)

Library control Back up policy SCM tool

Page 34: Ch 8 configuration management

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]

Page 35: Ch 8 configuration management

Referrence

Chapter 18:Daniel Galin. SOFTWARE QUALITY ASSURANCE From theory to implementation. Pearson Education Limited,2004.