Configuration 01
1. Software Configuration Management (SCM)
Definition: A set of management disciplines within the software development process.
Key SCM Functions:
Identification: Identifies software configuration items and baselines.
Baseline Management: Controls and manages baselines.
Auditing and Reporting: Ensures the integrity of baselines and SCM procedures.
2. SCM Overview
Integration Point: SCM integrates planning, oversight, and implementation for products, including software and related documentation.
Relevant Standards:
ANSI/IEEE Standard 828-1998: Outline for an SCM Plan.
ANSI/IEEE Standard 1042-1987: Overview of SCM with examples for various software applications.
3. SCM Terminology
Configuration Item (CI): Anything associated with a software project under configuration control (e.g., design, code).
Configuration Control: Maintaining and managing versions of system components.
Version: An instance of a configuration item with a unique identifier.
Baseline: A controlled collection of component versions that cannot be changed.
Codeline: A set of versions of a software component along with its dependencies.
4. More SCM Terminology
Mainline: Sequence of baselines representing different system versions.
Release: A version of the system available to customers.
Workspace: A private area for modifying software without affecting other developers.
Branching: Creating a new codeline from an existing version.
Merging: Combining separate versions from different codelines.
System Building: Compiling and linking versions of components to create an executable system.
5. Definitions from IEEE Standard 1042-1987
Baseline: A milestone in software development marked by delivered configuration items.
Software Configuration Item: A collection of software elements treated as a unit.
Configuration: Defined by a parts list and an exploded parts diagram.
Configuration Control Board (CCB): Reviews and approves changes to baselines.
Version: A specific instance of a baseline or software configuration item.
6. Manufacturing Process
Need for Manufacturing Process in Software:
Bill of material (BOM).
Detailed assembly procedure.
Exploded parts diagram.
For software, this includes:
Parts list representing needed software components.
Exploded parts diagram showing component interrelationships.
Build procedure for product creation.
7. Software Parts List and Diagram
Components:
Software Requirements Specification (SRS)
Software Design Documents (SDDs)
Source Code
Executable Code
Build Procedures
8. Conclusion
Course coverage concludes on the basics and terminologies associated with Software Configuration Management.