ISE ch6
version management
stores all versions of a configuration object (or enables any version to be constructed using differences from past versions);
project database (repository)
that stores all relevant configuration objects
issue tracking
capability that enables the team to record and track the status of all outstanding issues associated with each configuration object.
Version control
combines procedures and tools to manage different versions of configuration objects that are created during the software process
Software Process Output is divided into three categories
Computer Programs (PROGRAMS) Work products that describe the computer programs (DOCUMENTS) Data (within the program or external to it
Addresses the following questions...
How does a software team identify the discrete elements of a software configuration? How does an organization manage the many existing versions of a program (and its documentation) in a manner that will enable change to be accommodated efficiently? How does an organization control changes before and after software is released to a customer? Who has responsibility for approving and ranking changes? How can we ensure that changes have been made properly? What mechanism is used to appraise others of changes that are made?
SCM activities are developed to:
1. Identify change. 2. Control change. 3. Ensure that change is being properly implemented. 4. Report changes to others who may have an interest.
Some version control systems establish a change set, that includes
A collection of all changes to some baseline configuration that are required to create a specific version. All changes to all files in the configuration along with reason for changes. Details of who made the changes and when.
is an umbrella activity that is applied throughout the software process.
Software configuration management (SCM)
baseline
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.
These version control mechanisms, integrated within the change control process, implement two important elements of change management
Access control Synchronization control
The SCM process defines a series of tasks that have the following primary objectives:
Identify all items that collectively defines the software configuration. Manage changes to one or more of these items. Facilitate the construction of different versions of an application. Ensure that software quality is maintained as the configuration evolves over time.
helps to ensure that parallel changes, performed by two different people, don't overwrite one another
Synchronization control
Identification
To control and manage software configuration items, each should be separately named and then organized using an object-oriented approach
make facility
enables the software engineer to collect all relevant configuration objects and construct a specific version of the software.
aggregate object
is a collection of basic objects and other aggregate objects.
Support
is a set of software engineering activities that occur after software has been delivered to the customer and put into operation.
Software configuration management
is a set of tracking and control activities that are initiated when a software engineering project begins and terminates only when the software is taken out of operation.
basic object
is a unit of information that you create during analysis, design, code, or test.
A version control system implements or is directly integrated with four major capabilities:
project database (repository) version management make facility issue tracking