0% found this document useful (0 votes)
4 views11 pages

Module 6 Software Configuration Management

Software Configuration Management (SCM) encompasses activities to manage changes throughout the software lifecycle, focusing on organizing and controlling modifications to software configurations. It involves Software Configuration Items (SCIs) and baselines to facilitate version control and ensure software quality over time. SCM aims to maximize productivity by minimizing mistakes and providing a structured approach to handling changes in software development.

Uploaded by

khushivj.917
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views11 pages

Module 6 Software Configuration Management

Software Configuration Management (SCM) encompasses activities to manage changes throughout the software lifecycle, focusing on organizing and controlling modifications to software configurations. It involves Software Configuration Items (SCIs) and baselines to facilitate version control and ensure software quality over time. SCM aims to maximize productivity by minimizing mistakes and providing a structured approach to handling changes in software development.

Uploaded by

khushivj.917
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SOFTWARE CONFIGURATION

MANAGEMENT
SOFTWARE CONFIGURATION
MANAGEMENT
• The output of the software process is information that may
be divided into three broad categories:
– computer programs (both source level and executable forms),
– work products that describe the computer programs (targeted at
various stakeholders), and
– data or content (contained within the program or external to it).
• The items that comprise all information produced as part of
the software process are collectively called a software
configuration.
• Software configuration management is a set of activities
that have been developed to manage change throughout
the life cycle of computer software.
Software Configuration Item

• Software configuration item as information that is


created as part of the software engineering
process.
• In the extreme, a SCI could be considered to be a
single section of a large specification or one test
case in a large suite of tests.
• More realistically, an SCI is a document, an entire
suite of test cases, or a named program
component (e.g., a C++ function or an Ada
package).
Software Configuration Item
Baseline Process
A baseline is a software configuration management concept that
helps us to control change without seriously impeding justifiable
change.
Examples:
• Baseline A: The API has been completely been defined; the bodies
of the methods are empty
• Baseline B: All data access methods are implemented and tested
• Baseline C: The GUI is implemented.

• Naming Schemes for Baselines


– Many naming scheme for baselines exist (1.0, 6.01a, ...)
– A 3 digit scheme is quite common:
Software Configuration Management
(SCM) Process
Need of SCM

• It is an umbrella activity that is applied throughout the


software process.
• Its goal is to maximize productivity by minimizing mistakes
caused by confusion when coordinating software
development.
• SCM identifies, organizes, and controls modifications to the
software being built by a software development team.
• SCM activities are formulated to identify change, control
change, ensure that change is being properly implemented,
and report changes to others who may have an interest.
Software Configuration Management
(SCM) Process
Benefits of SCM

• Identify all items that collectively define the software


configuration.
• Manage changes to one or more of these items.
• Facilitate construction of different versions of an
application.
• Ensure the software quality is maintained as the
configuration evolves over time.
• Provide information on changes that have occurred.
Software Configuration Management
(SCM) Process
SCM Repository-Functions and Features supported

• Automated SCM Repository


• It is a set of mechanisms and data structures that
allow a software team to manage change in an
effective manner
• It acts as the centre for both accumulation and storage
of software engineering information
• Software engineers use tools integrated with the
repository to interact with it.
SCM Objects- Change Control and
Version Control
SCM Objects

• SCIs are organized to form configuration objects that may be


cataloged in the project database with a single name.
• A configuration object has a name, attributes, and is "connected"
to other objects by relationships.
• The configuration objects, Design Specification, data model,
component N, source code and Test Specification are each defined
separately.
• Each of the objects is related to the others as shown by the
arrows.
• A curved arrow indicates a compositional relation.
• That is, data model and component N are part of the object
Design Specification.
• A double-headed straight arrow indicates an interrelationship
SCM Objects- Change Control and
Version Control
SCM Objects- Change Control and
Version Control
Change Control

• Change control is vital.


• But the forces that make it necessary also make it annoying.
• We worry about change because a tiny perturbation in the
code can create a big failure in the product.
• But it can also fix a big failure or enable wonderful new
capabilities.
• We worry about change because a single rogue developer
could sink the project; yet brilliant ideas originate in the
minds of those rogues, and a burdensome change control
process could effectively discourage them from doing
creative work.
SCM Objects- Change Control and
Version Control
Version Control

• Version control combines procedures and tools to


manage different versions of configuration objects
that are created during the software process.
• Version control in the context of SCM: Configuration
management allows a user to specify alternative
configurations of the software system through the
selection of appropriate versions.
• This is supported by associating attributes with each
software version, and then allowing a configuration to
be specified [and constructed] by describing the set of
desired attributes.

You might also like