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.