Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Software Quality

Engineering
(SEC-3073)
Fall 2021

Dr. Toqeer Mahmood


SOFTWARE CONFIGURATION MANAGEMENT

 Software Configuration Management (SCM)


 Software Configuration Items
 Baselines
 SCM Process
 SCM Tasks
SOFTWARE CONFIGURATION MANAGEMENT

 Change management: more commonly called as


software configuration management (SCM), is an
activity that is applied throughout the software
process because change can occur at any time.
 It maximizes the productivity by minimizing the
mistakes of the teams involved.
 SCM activities are developed to:
◦ Identify changes,
◦ Change control,
◦ Ensure that changes are being properly implemented,
◦ Report changes to others who may have interest.
SOFTWARE CONFIGURATION ITEMS

 The items that contains all information produced


as a part of software process are collectively called
a software configuration items.
BASELINES

 A baseline is a formally accepted version of a


software configuration item.
 IEEE Std. No. 610.12-1990 defines baselines as,
◦ “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.”
SCM PROCESS

 SCM process is a systems engineering practice


for establishing and maintaining consistency of a
product's functional, performance, and physical
attributes with its requirements, design, and
operational information throughout its life.
SCM TASKS

 Configuration item identification,


 Change control,
 Version control,
 Configuration auditing, &
 Reporting.
SCM TASKS:
CONFIGURATION ITEM IDENTIFICATION
 To control and manage software configuration
items, each should be separately named and then
organized using an object oriented approach.
 Two types of objects can be identified as follows:
◦ Basic objects, &
◦ Aggregate objects
SOFTWARE CONFIGURATION ITEMS:
CONFIGURATION ITEM IDENTIFICATION
 A basic object is a unit of information that has
been created by a software engineer during
analysis, design, code or test.
 E.g., a basic object might be a section of
requirements specification, part of design model or
a source code of a component.
SOFTWARE CONFIGURATION ITEMS:
CONFIGURATION ITEM IDENTIFICATION
 An aggregate object is a collection of basic
objects.
 Each object has a set of distinct features that
identify it uniquely: a name, a description, a list of
resources.
 Configuration object identification can also
consider the relationships that exist between
named objects.
 E.g., using the simple notation:
Class diagram <part-of> analysis model;
Analysis model <part-of> requirements
specification;
SCM TASKS:
CHANGE CONTROL
 A defined process that is used to handle change
requests from their initiation until the time the
change is implemented and released to the users.
 In this process, a change request is submitted and
evaluated:
◦ to assess technical merit,
◦ potential side effects,
◦ overall impact on other configuration objects and system
functions, &
◦ the projected cost of change.
SCM TASKS:
CHANGE CONTROL
 The results of evaluation are presented as a
change report, which is used by a change control
authority (CCA) – a person or a group who makes
the final decision on the status and priority of the
change.
 An engineering change order (ECO) is generated
for each approved change. The ECO describes the
change to be made, the constraints that must be
valued and the criteria for review and audit.
SCM TASKS:
VERSION CONTROL
 Revisions, variations, and variants are the types
of versions of a software product; and the
principles of version control apply to all of them.
 A version control system updates the original file
once the change has been made and appropriate
SQA activities are applied to create the next
version of the software.
SCM TASKS:
VERSION CONTROL
 The version control mechanisms, implement two
important elements of change management:
◦ access control, &
◦ synchronization.
 Access control governs which software engineers
have authority to access and modify a particular
configuration object.
 Synchronization control helps to ensure that
parallel changes, performed by two different
people do not overwrite one another.
SCM TASKS:
CONFIGURATION AUDITING
 It is executed formally and impartially to ensure that
changes have been made correctly and quality has
been maintained while implementing the changes.
 A software configuration audit complements the
formal technical review by addressing the following
questions:
◦ Has the change specified in the Engineering Change Order
(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?
SCM TASKS:
CONFIGURATION AUDITING
◦ Has the change been highlighted in SCI? Have the
change date and change author been specified?
◦ Have all the Software Configuration Items (SCIs) been
properly updated?
SCM TASKS:
STATUS REPORTING
 It provides timely information on the status of the
changes requested and the SCIs to the people who
may be affected by the changes.
 These could be the people requesting for changes,
the developers, the project manager, and the senior
management.
 Status reports are generated on a regular basis and
are intended to keep management and practitioners
informed of important changes.

You might also like