Transcript Slide 1

Software Configuration Management
(SCM)
By,
Muhammad Imran Hashim
SQA Engineer
VisualSoft (Pvt) Ltd.
[email protected]
[email protected]
Objectives
• To explain the importance of software configuration
management (SCM)
• To describe the key SCM activities namely SCM
planning, change management, version management
and system building
• To describe the functions of SCM tool Microsoft
Visual Source Safe 6.0
Topics covered
•
•
•
•
•
•
•
•
SCM Definitions
SCM Process overview
SCM Plan
SCM Functions
System Building
Basic SCM Concepts
SCM Tool (Microsoft Visual Source Safe 6.0)
VSS concepts
Definitions
• SCM systems typically offer version control and
team programming features.
• Software Configuration management is a method of
bringing control to the software development
process.
Configuration management
• New versions of software systems are created as
they change:
– For different machines/OS;
– Offering different functionality;
– Tailored for particular user requirements.
• Configuration management is concerned with
managing evolving software systems:
– System change is a team activity;
– CM aims to control the costs and effort involved
in making changes to a system.
Configuration management
• Involves the development and application of
procedures and standards to manage an evolving
software product.
• CM may be seen as part of a more general quality
management process.
• When released to CM, software systems are
sometimes called baselines as they are a starting
point for further development.
SCM Process Overview
The process is divided in three parts:
• Firstly SCM function should identify the
configuration items and document their
characteristics.
• Once configuration items are identified and their
characteristics are documented then SCM system
should control the changes to those characteristics.
• Third, the SCM system should record the change
management process.
SCM Plan
The best place to record how SCM should be
performed for each project is in the SCM plan.
The SCM plan document following :
• What SCM activities are to be done.
• How they are to be done.
• Who is responsible for doing specific
activities.
• When they are to happen.
• What recourses are required.
SCM Planning
• Defines the types of documents to be managed and
a document naming scheme.
• Defines who takes responsibility for the CM
procedures and creation of baselines.
• Defines policies for change control and version
management.
• Defines the CM records which must be maintained.
SCM Planning
• Describes the tools which should be used to assist
the CM process and any limitations on their use.
• Defines the process of tool use.
• Defines the CM database used to record
configuration information.
• May include information such as the CM of external
software, process auditing, etc.
SCM planning
• All products of the software process may have to be
managed:
– Specifications;
– Designs;
– Programs;
– Test data;
– User manuals.
• Thousands of separate documents may be
generated for a large, complex software system.
SCM Functions
•
•
•
•
Configuration Identification
Configuration Control
Status Accounting (Recording & Reporting)
Audits & Reviews
SCM standards
• CM should always be based on a set of standards
which are applied within an organisation.
• Standards should define how items are identified,
how changes are controlled and how new versions
are managed.
• Standards may be based on external CM standards
(e.g. IEEE standard for CM).
• Some existing standards are based on a waterfall
process model - new CM standards are needed for
evolutionary development.
Change management
• Software systems are subject to continual
change requests:
– From users;
– From developers;
– From market forces.
• Change management is concerned with keeping
track of these changes and ensuring that they are
implemented in the most cost-effective way.
Version management tools
• Version and release identification
– Systems assign identifiers automatically when a
new version is submitted to the system.
• Storage management.
– System stores the differences between versions
rather than all the version code.
• Change history recording
– Record reasons for version creation.
• Independent development
– Only one version at a time may be checked out for
change. Parallel working on different versions.
Delta-based versioning
System building
• Building a large system is computationally
expensive and may take several hours.
• Hundreds of files may be involved.
• System building tools may provide
• A dependency specification language and
interpreter;
• Tool selection and instantiation support;
• Distributed compilation;
• Derived object management.
Component dependencies
Baselines
Baseline is an SCM concept that helps to control
change. When configuration item is complete it is
handed over to the configuration management
team for safekeeping. The configuration
management team will check whether the item
that is given to them is complete per the SCM
plan and assigns to a baseline to it. So once a
baseline is established for a configuration item,
then that item can be changed only through a
formal change management process.
Check-in/ Check-out
• The process of copying the item from the controlled
library is called Check-out process.
• The process of reviewing, approving and moving an
item into the controlled environment is called checkin.
Change request analysis, approval,etc.
Software Configuration Managemet
Check-out
Check-in
Test, Review,
Approve
Configuration Item
Modifications
Revised
Configuration
Item
SCM Tool
Microsoft Visual Source Safe 6.0
Visual Source Safe 6.0
Microsoft VSS helps to manage your projects,
regardless of the file type (text files, graphics files,
binary files, sound files, or video files) by saving
them to a database.
VSS project organization makes team coordination
easy.
Visual Source Safe 6.0
• Visual SourceSafe 6.0 is a member of the Visual
Studio 6.0 family of development products which
includes:
• Visual Basic
• Visual C++
• Visual FoxPro
• Visual InterDev
• Visual J++
• .Net
Visual Source Safe 6.0
•
•
•
•
Keeps all sources together in one place.
Keeps history of all files.
Controls access to resources.
Physically safe resources – files and its history are
stored in the VSS incremental database which is easy to
backup.
• Security by managing access rights to projects for all
users.
• Versioning.
VSS Administrative Tasks
•
Create new database
•
•
•
•
•
Add/Delete users
Change passwords
Allow multiple checkouts
Lock database
Rights by projects
VSS Client Tasks
•
•
•
•
•
•
•
•
•
•
Create Projects (Folders)
Add Files
View / Edit
Set Working Folder
Check Out
Check In
Show History
Get Latest Version
Label Version
View Differences
Thank you