Chapter 22 - Software Configuration Management
Chapter 22 - Software Configuration Management
All copyright information MUST appear if these slides are posted on a website for student
use.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 1
What Are These Changes?
changes in
business requirements
changes in
technical requirements
changes in
user requirements other
documents
software models
Project
Plan
data
Test
code
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 2
The Software Configuration
programs documents
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 3
What is Software Configuration Management?
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4
Configuration Management Activities
• Configuration item identification
• Modeling the system as a set of evolving components
• Promotion management
• the creation of versions for other developers
• Release management
• the creation of versions for clients and users
• Change management
• the handling, approval & tracking of change requests
• Branch management
• the management of concurrent development
• Variant management
• the management of synchronized versions
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5
Terminology
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6
Terminology
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7
Terminology: Baseline
• Examples:
• Baseline A: The API has been completely been defined;
the bodies of the methods are empty
• Baseline B: All data access methods are implemented
and tested
• Baseline C: The GUI is implemented.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8
Naming Schemes for Baselines
7.5.5
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9
Transitions between Baselines
Baseline A (developmental)
Release
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11
Controlling Changes
User
Programmer Master Software
Promotion Directory Release Repository
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12
Terminology: SCM Directories
• Programmer’s Directory (IEEE: Dynamic Library)
• Library for holding newly created or modified software
entities
• The programmer’s workspace is controlled by the
programmer only
• Master Directory (IEEE: Controlled Library)
• Manages the current baseline(s) and for controlling
changes made to them
• Changes must be authorized
• Software Repository (IEEE: Static Library)
• Archive for the various baselines released for general
use
• Copies of these baselines may be made available to
requesting organizations.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13
Standard SCM Directories
• Programmer’s Directory
• (IEEE Std: “Dynamic Library”)
• Completely under control of one
programmer Promotion
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14
Change Policies
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15