Configuration Management Ref: Pressman chapter 9 EEE493 2000 - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Configuration Management Ref: Pressman chapter 9 EEE493 2000

Description:

a difficult bug that was fixed at great expense suddenly reappears ... Make a misguided change that destroys existing functionality; must be able to ... – PowerPoint PPT presentation

Number of Views:69
Avg rating:3.0/5.0
Slides: 14
Provided by: GregPh4
Category:

less

Transcript and Presenter's Notes

Title: Configuration Management Ref: Pressman chapter 9 EEE493 2000


1
Configuration Management Ref Pressman chapter
9EEE493 2000
Royal Military College of Canada Electrical and
Computer Engineering
  • Major Greg Phillips
  • greg.phillips_at_rmc.ca
  • 1-613-541-6000 ext. 6190

Dr. Scott Knight knight-s_at_rmc.ca 1-613-541-6000
ext. 6190
2
Software Engineering
  • Dave Parnass definition
  • The multi-person production of multi-version
    software
  • What does this imply?

3
What can go wrong?
  • a difficult bug that was fixed at great expense
    suddenly reappears
  • a developed and tested feature goes missing
  • a fully tested program suddenly doesnt work
  • two programmers are working simultaneously on a
    program the second one to make changes destroys
    the work of the first
  • a bug is fixed in code shared by several
    programmers some of them arent notified
  • a program is being developed in several
    concurrent versions (one in use, one in test, one
    in development) a bug is fixed in one version
    but not the others

4
Configuration Management
  • The art of coordinating software development to
    minimize confusion is called configuration
    management. Configuration management is the art
    of identifying, organizing, and controlling
    modifications to the software being built by a
    programming team. The goal is to maximize
    productivity by minimizing mistakes.
  • Babitch 1986

5
Key requirements of a CM system
  • What is my current configuration?
  • What is its status?
  • How do I control changes?
  • How do I inform everyone else of changes?
  • What changes has anyone else made to my
    configuration?
  • Do anyone elses changes affect my configuration?

6
Basic CM Functions
  • configuration control
  • ensuring there is only one official
    configuration, and that this is well known to all
    developers
  • revisions
  • tracking and being able to reconstruct every
    change that was ever made to any product
  • versions
  • tracking the relationships between multiple
    versions of the same system (e.g., the normal
    version and the version for restricted memory
    systems)
  • implementing deltas
  • efficiently storing the multiple revisions and
    versions

7
Configuration Control Baselines
  • 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.
  • IEEE Standard 610
  • Key idea
  • a baseline represents the one official copy
  • once a specification or product has been
    established as a baseline, it can only be changed
    with the formal approval of the responsible
    stakeholders
  • approval authority will depend on the project
    culture, the phase of development, and the
    maturity of the product

8
CM Process
Initial development
Requirements/ design/use
Establish/ update baseline
Approve change
Validate baseline
Authorize change
Implement change
Validate change
Baselines
Changes
9
Revisions
  • need to be able to reconstruct the exact revision
    level of any product, at any time
  • Consider a failed test. To recreate, may need
    exact revisions of
  • hardware
  • operating system
  • product under test
  • supporting products
  • test harnesses and drivers
  • test procedures
  • also assists with many simpler functions
  • Make a misguided change that destroys existing
    functionality must be able to revert to previous
    revision

10
Differences
  • it was working yesterday
  • must be able to identify differences between
    revisions
  • what change is
  • who made change
  • when change was made
  • purpose of change
  • improves debugging effectiveness
  • provides audit trail, accountability

11
Versions
  • often several related versions of a single
    product
  • production, development, design
  • Windows, Mac, Solaris, Linux
  • large memory version, small memory version
  • to modify effectively, must understand
  • which products are common across versions
  • which products are unique to versions
  • how they are related (e.g., for multi-version
    debugging)

12
Deltas
  • maintaining complete copies of all versions and
    revisions bulky
  • where revisions/versions close, can often store
    just deltas
  • frequently used in configuration management tools
    to reduce storage requirements
  • typically works well only for textual information
  • occasionally desirable to flatten deltas and
    store actual product in the repository

13
Next ClassChange Control
Write a Comment
User Comments (0)
About PowerShow.com