0% found this document useful (0 votes)
8 views

software configuration management

Uploaded by

Mohit Malviya
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

software configuration management

Uploaded by

Mohit Malviya
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 22

Software Configuration

Management
Introduction
• Software systems always change during development and
use.
• Bugs are discovered and have to be fixed.
• System requirements change, and you have to implement
these changes in a new version of the system.
• New versions of hardware and system platforms become
available and you have to adapt your systems to work
with them.
• Competitors introduce new features in their system that
you have to match.
• As changes are made to the software, a new
version of a system is created.
• Most systems, therefore, can be thought of as a
set of versions, each of which has to be
maintained and managed.
Software Configuration Mangement
• In Software Engineering, Software
configuration management is the task of
tracking and controlling changes in the
software.
• Configuration management (CM) is
concerned with the policies, processes, and
tools for managing changing software systems.
• Software configuration management (SCM) is
an umbrella activity that is applied throughout
the software process. Because change can
occur at any time.
• You need to manage evolving systems because
it is easy to lose track of what changes and
component versions have been incorporated
into each system version.
• Versions implement
– proposals for change,
– corrections of faults, and
– adaptations for different hardware and operating systems.
• There may be several versions under development
and in use at the same time.
• If you don’t have effective configuration
management procedures in place, you may waste
effort modifying the wrong version of a system, deliver
the wrong version of a system to customers, or forget
where the software source code for a particular
version of the system or component is stored.
• Configuration management is useful for
individual projects as it is easy for one person
to forget what changes have been made.
• It is essential for team projects where several
developers are working at the same time on a
software system.
• Some time it may happens that, when the software is
getting developed, a new requirement or set of new
requirements will come.
• Now what will happen?
• Whether that requirements will be implemented in the
same version or not?
• This will be sanctioned by higher authorities.
• And they will check whether this particular
requirement implementation will go beyond the
budget or over on the time.
• So depending upon these criteria, decision will be
taken that
• Whether those new requirements are to be developed
in present developing version or later version.
Configuration Management
• Configuration Management is a process of
tracking and controlling the changes in
software in terms of the requirements, design,
functions and development of the product.
Configuration Management
IEEE defines it as “the process of
• defining the items in the system,
• controlling the change of these items
throughout their lifecycle,
• recording and reporting the status of items
and change requests and
• verifying the completeness and correctness of
items.
• Generally once SRS is finalized, there is less
chance of change of requirement from user. If
they occur, changes are addressed only with
prior approval of higher management, as
there is possibility of cost and time overrun.
Why Change Request?
• Software must be adapted to meet the
requirement of new computing environments
and technology.
• Software must be integrated to implement new
business requirements.
• Software must be extended to make it
interoperable with other more modern
technology platform or different databases.
• Software must be re-architected to make to
make it compatible with new networking
environment.
• Versions implement
– proposals for change,
– corrections of faults, and
– adaptations for different hardware and operating
systems.
• Customers want to modify requirements.
• Developers want to modify the technical
approach.
• Managers want to modify the project strategy.
• Changes may be required to modify or update any
existing solution or to create a new solution for a
problem.

Requirements keeps on changing on daily basis and


so we need to keep on upgrading our systems based
on the current requirements and needs to meet
desired outputs.
• Changes should be analyzed before they are
made to the existing system,
• recorded before they are implemented,
• reported to have details of before and after,
• and controlled in a manner that will improve
quality and reduce error.
• This is where the need of System
Configuration Management comes.
Process involved in SCM -
• When a new SCI (Software Configuration Item)
is created, it must be identified.
• However, if no changes are requested for the
SCI, the change control layer does not apply.
• The SCI is assigned to a specific version of the
software (version control mechanisms come
into play).
• A record of the SCI (its name, creation date,
version designation, etc.) is maintained for
configuration auditing purposes and reported
to those with a need to know.
Processes involved in SCM –
• It involves following activities:
Identification and Establishment – Identifying
the configuration items from products that
compose baselines at given points in time (a
baseline is a set of mutually consistent
Configuration Items, which has been formally
reviewed and agreed upon, and serves as the
basis of further development).
• Change Request – A change request (CR) is
submitted and evaluated to assess technical
merit, potential side effects, overall impact on
other configuration objects and system
functions, and the projected cost of the
change. The results of the evaluation are
presented as a change report, which is used
by a change control board (CCB) —a person or
group who makes a final decision on the
status and priority of the change.
• Version control – Creating
versions/specifications of the existing product
to build new products.
• So that it is possible to know which changes
have been implemented in each version of the
component/system, and also to recover/re-
create previous versions
of the component/system.
• Configuration auditing – A software
configuration audit complements the formal
technical review of the process and product.
It focuses on the technical correctness of the
configuration object that has been modified.
The audit confirms the completeness,
correctness and consistency of items in the
SCM system and track action items from the
audit to closure.
• Reporting – Providing accurate status and
current configuration data to developers,
tester, end users, customers and stakeholders
through admin guides, user guides, FAQs,
Release notes, Memos, Installation Guide,
Configuration guide etc .

You might also like