CPSC 544: Software Configuration Management (Part II)

Software Configuration Management (SCM) Overview
  • Ensures software design integrity throughout its lifecycle by managing changes to design, code, and project artifacts.

  • Requires design documentation updates when code changes occur, ensuring accuracy.

Software Configuration Management Plan
  • Initial step: develop an SCM Plan detailing objectives, responsibilities, and control methods.

  • Includes baseline contents and a checklist for SCM procedures.

SCM Questions
  • Addresses key phases: requirements, design, implementation, and testing.

  • Essential for tracking changes and maintaining consistent documentation across all project artifacts.

SCM Support Functions
  • Provides comprehensive support for software engineering activities through standardized version and change management.

  • Includes protected baselines, change tracking systems, and centralized data dictionaries.

The Requirements Phase
  • Ensures user needs are understood and captured before design.

  • Manages requirement changes formally and establishes baselines for tracking approved requirements.

Design Control
  • Changes to design are managed by a Change Control Board (CCB) which reviews and approves modifications.

  • Documentation of all changes (reasons, approvals, details) is crucial for consistency and future reference.

The Implementation Phase
  • Develops code based on controlled design and approved specifications.

  • Updates design documentation with implementation changes to reflect the 'as-built' system.

Operational Data
  • Management of operational data is essential in SCM for software systems to ensure integrity, availability, and consistency.

The Test Phase
  • Controls changes post-baseline to ensure software stability during testing.

  • Records test runs, results, environment details, and defects found for quality assurance.

Configuration Accounting
  • Maintains accurate historical records of all baselined items and their statuses, including versions, authors, and change history.

The Software Configuration Audit
  • Regular audits ensure adherence to SCM practices by verifying documentation and code against approved baselines.

  • Audit frequency is recommended for ongoing compliance with organizational and regulatory requirements.