Software Engineering
College of Arts, Media and Technology ,CMU.

Kittitouch S.
1.0-2-2-12
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







Software configuration
Software configuration management
Software change control
Release of software configuration versions
Computerized tools for managing software
configuration
SCM plan
“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?”
“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)?”
Who make
changes?
What changes
are made?

When are
changes made?

Why are
changes made?
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.


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


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.


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.





Design documents
Software code
Data files, including files of test cases and
test scripts
Software development tools.


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 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.


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.
 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.
 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.
 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


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.
 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.


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


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.


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
 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


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.
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.







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

INTRODUCTION
Software Configuration Management (SCM)
 SCM Organization
 SCM Responsibilities
 SCM Resources



Configuration identification







Naming Conversion
Document IDs
Document name
Version tag

Baselines




Library control
Back up policy
SCM tool
No
.

Item

1

Software Testing

6

Traceability
Record

7

Baseline
ver.

Software Design

5

path

Requirement
specification

4

Owner

Project plan

3

File
extension

Proposal

2

File name

Acceptance
record

[Team name]-[Document name]-[Version tag].[file type]


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

Ch 8 configuration management

  • 1.
    Software Engineering College ofArts, Media and Technology ,CMU. Kittitouch S. 1.0-2-2-12
  • 2.
    version Change detail Release date Author 1.0 - 2-2-12 Kittitouch 1.1 Add -Releaseof software configuration versions -Computerized tools for managing software configuration -SCM plan 6-2-12 Kittitouch
  • 3.
          Software configuration Software configurationmanagement Software change control Release of software configuration versions Computerized tools for managing software configuration SCM plan
  • 5.
    “What is thecorrect 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?”
  • 6.
    “What version ofthe 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)?”
  • 7.
    Who make changes? What changes aremade? When are changes made? Why are changes made?
  • 8.
    1. Reduces confusionand 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.
  • 9.
     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
  • 10.
     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.
  • 11.
     SCI version  Theapproved 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.
  • 12.
        Design documents Software code Datafiles, including files of test cases and test scripts Software development tools.
  • 16.
     The tasks ofsoftware configuration management  Control software change  Release of SCI and software configuration versions  Provision of SCM information services  Verification of compliance to SCM procedures.
  • 17.
     Software change managementcontrols 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.
  • 18.
     Types of softwareconfiguration 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.
  • 19.
     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.
  • 20.
     Revisions-Revisions introduceminor changes and corrections to a given software configuration version. In some cases, several successive revisions are released before a new baseline version is released.
  • 21.
     Numeration conventionsfor 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
  • 23.
     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.
  • 24.
     A listof 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.
  • 25.
     Based on theproject 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
  • 26.
     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.
  • 27.
     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
  • 28.
     Changes inthe 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
  • 29.
     The computerized SCMtools also operate the mechanisms coordinating the work on an SCI’s changes and prevent different teams from simultaneously introducing changes in the same SCI.
  • 30.
    An additional benefitof 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. 
  • 31.
  • 32.
      INTRODUCTION Software Configuration Management(SCM)  SCM Organization  SCM Responsibilities  SCM Resources  Configuration identification      Naming Conversion Document IDs Document name Version tag Baselines
  • 33.
  • 34.
    No . Item 1 Software Testing 6 Traceability Record 7 Baseline ver. Software Design 5 path Requirement specification 4 Owner Projectplan 3 File extension Proposal 2 File name Acceptance record [Team name]-[Document name]-[Version tag].[file type]
  • 35.
     Chapter 18:Daniel Galin.SOFTWARE QUALITY ASSURANCE From theory to implementation. Pearson Education Limited,2004.