0% found this document useful (0 votes)
31 views18 pages

Lecture - 02 SOFTWARE CONFIGURATION MANAGEMENT (SCM)

The document discusses software configuration management (SCM) including its definition, activities, purposes, advantages, lifecycle, and key terminology. SCM aims to control changes to large, complex software systems through reliable version and change management. It identifies individual elements, tracks changes, and enables version selection and control.

Uploaded by

Froxter max
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)
31 views18 pages

Lecture - 02 SOFTWARE CONFIGURATION MANAGEMENT (SCM)

The document discusses software configuration management (SCM) including its definition, activities, purposes, advantages, lifecycle, and key terminology. SCM aims to control changes to large, complex software systems through reliable version and change management. It identifies individual elements, tracks changes, and enables version selection and control.

Uploaded by

Froxter max
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
You are on page 1/ 18

Advanced Applications : ICT2201

Semester : I

By :- Sathananthy Velautham

Department of Information Technology - Faculty of Technology


Lecture 02

SOFTWARE CONFIGURATION MANAGEMENT (SCM)

Department of Information Technology - Faculty of Technology


Content
• Software Development
– Software configuration management (SCM)
• SCM Activities

• Purposes / Goals of SCM

• Advantages

• SCM lifecycle

• Terminologies

– Software projects

Department of Information Technology -


Faculty of Technology
Software configuration Management (SCM)
• Software configuration management (SCM) is a software engineering

discipline consisting of standard processes and techniques often used by

organizations to manage the changes introduced to its software

products.

• SCM helps in identifying individual elements and configurations, tracking

changes, and version selection, control.

• SCM is also known as software control management.

• SCM aims to control changes introduced to large complex software

systems through reliable version selection and version control.


SCM : Definition

• In software engineering, software configuration management is the task

of track and controlling changes in the software, part of the larger cross-

disciplinary field of configuration management.

• If something goes wrong, SCM can determine what was changed and

who changed it.

• If a configuration is working well, SCM can determine how to replicate it

across many hosts.

- Wikipedia
SCM : Why do you need it?
• The problem:
 Multiple people have to work on software that is changing.
 More than one version of the software has to be supported:
• Released systems
• Custom configured systems (different functionality).
• System(s) under development.
 Software must run on different machines and operating systems.
• Need for coordination
• Software Configuration Management
 manages evolving software systems
 controls the costs involved in making changes to a system.
SCM : Activities
• Configuration item identification
– modeling of the system as a set of evolving components
• Promotion management
– is the creation of versions for other developers
• Release management
– is the creation of versions for the clients and users
• Change management
– is the handling, approval and tracking of change requests
• Branch management
– is the management of concurrent development
• Variant management
– is the management of versions intended to coexist
Purposes / Goals : SCM

• Configuration identification

• Configuration control.

• Build management

• Process management

• Environment management.

• Teamwork

• Defect tracking

• Configuration auditing
Advantages : SCM
The SCM system has the following advantages:
• Reduced redundant work.
• Effective management of simultaneous updates.
• Avoids configuration-related problems.
• Facilitates team coordination.
• Helps in building management; managing tools used in builds.
• SCM helps to eliminate the confusion often caused by
miscommunication among team members.
• The SCM system controls the basic components such as software
objects, program code, test data, test output, design documents, and
user manuals.
SCM and software development lifecycle

Note : SCM plays an important role by integrating every aspect of the


software development process.
Configuration Management Roles
• Configuration Manager
– Responsible for identifying configuration items.

– The configuration manager can also be responsible for defining the procedures
for creating promotions and releases.

• Change control board member


– Responsible for approving or rejecting change requests.

• Developer
– Creates promotions triggered by change requests or the normal activities of
development.

– The developer checks in changes and resolves conflicts.

• Auditor
– Responsible for the selection and evaluation of promotions for release and for
ensuring the consistency and completeness of this release.
Terminology
We will define the following terms

• Configuration Item

• SCM Directories

• Version

• Revision

• Release
• The definition of the terms follows the IEEE standard.

• Different configuration management systems may use different terms.


Terminology : Configuration Item
• “An aggregation of hardware, software, or both, that is
designated for configuration management and treated as a single
entity in the configuration management process.”

• Software configuration items are not only program code segments


but all type of documents according to development, Ex.
• all type of code files, drivers for tests

• analysis or design documents , user or developer manuals

• system configurations (e.g. version of compiler used)


Terminology : Version

• The initial release or re-release of a configuration item


associated with a complete compilation or recompilation of
the item.

• In each newer version, some changes are made to improve


the product's quality. This change can be made according to
user requirements.

• Different versions have different functionality.


Terminology : Revision
• Change to a version that corrects only errors in the
design/code, but does not affect the documented
functionality.

• Revision is a certain condition or stage where developers


revise it, to make sure that everything is working as it
should be
Terminology : Release

• The formal distribution of an approved version.

• In release phase, a software product will be released for


finally used.
Comparison between Revision and version

You might also like