Software Configuration Management SCM - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Software Configuration Management SCM

Description:

The art of identifying, organizing and controlling modifications to the software ... If A depends upon B and B is recompiled, A may also need to be recompiled. ... – PowerPoint PPT presentation

Number of Views:3574
Avg rating:5.0/5.0
Slides: 23
Provided by: bec46
Category:

less

Transcript and Presenter's Notes

Title: Software Configuration Management SCM


1
Software Configuration Management (SCM)
  • Software Configuration Management (SCM)
  • The art of identifying, organizing and
    controlling modifications to the software being
    built
  • Goal to minimize mistakes
  • SCM is an umbrella activity, applied throughout
    the software engineering process.

2
Software Configuration Management (SCM)
  • Output of software engineering process
  • 1) computer programs
  • 2) documents describing the programs
  • 3) data structures
  • Software configuration
  • The items that comprise all information
    produced as the part of the software engineering
    process are collectively called a software
    configuration.

3
Software Configuration Management (SCM)
  • First Law of System Engineering
  • No matter where you are in the system life
    cycle, the system will change and the desire to
    change it will persist throughout the life cycle.
  • Software Configuration Management
  • A set of activities that have been developed to
    manage change throughout the software life cycle.
  • Sources of Change
  • new business or market conditions
  • new customer needs
  • organization and/or business downsizing
  • budgetary or scheduling constraints

4
Software Configuration Management (SCM)
  • Baseline
  • A baseline is a milestone in the development
    of software that marked the delivery of one or
    more software configuration items.
  • Example Design specification ? documented,
    reviewed ? errors found, corrected ? approved
    BASELINE.

5
Software Configuration Management (SCM)
  • IEEE defines a baseline as
  • A specification or product that has been formally
    reviewed and agreed upon, that thereafter serve
    as the basis for further development, and that
    can be changed only through formal change control
    procedures.

6
Common Baselines
System engineering Requirement
analysis Software design Coding Testing Releas
e
System specification Software requirement
specification Design specification Source
code Test plans/Procedures/Data Operational
system
7
Software Configuration Item (SCI)
  • SCI Information created as part of Software
    Engineering process.
  • SCIs used as target in SCM
  • System specification
  • Software project plan
  • Software requirements specification
  • Preliminary user manual
  • Design specification
  • Source code listing
  • Test Specification
  • Operation and installation manuals
  • Executable program
  • Database description
  • As-built user manual
  • Maintenance documents
  • Standards and procedures for SE

8
Software Configuration Management (SCM)
9
Software Configuration Management (SCM)
  • SCM Process
  • Identification
  • Version control
  • Change control
  • Configuration auditing
  • Status reporting

10
Software Configuration Management (SCM)
  • Identification of objects in Software
    Configuration
  • Two types of objects
  • basic object unit of text created during
    analysis, design, coding, or testing by a
    software engineer.
  • example a section of requirement
    specification, source code of a module, suite of
    test cases
  • Aggregated objects a collection of basic objects
    and other composite objects. Example design
    specification

11
Software Configuration Management (SCM)
  • Features of objects
  • name a unique character string
  • description a list of data items to identify the
    SCI type and a project id, version information,
    etc.
  • resources entity that are provided, processed,
    referenced by the object
  • realization a pointer to unit of text for a
    basic object or null for an aggregate object

12
Software Configuration Management (SCM)
  • Relationships between objects
  • part-of a hierarchical relationship
  • interrelated a cross-structural relationship
  • Object identification methods
  • evolution graph
  • automated SCM tools
  • module interconnection language

13
Software Configuration Management (SCM)
  • Separately defined objects
  • Design specification
  • Data Model
  • Test specification
  • Module N
  • Source code
  • Curved arrow
  • Compositional Relation
  • Double headed arrow
  • Indicates interrelationship

14
Evolution Graph

obj 1.4
obj 1.3
obj 1.2
obj 1.0
obj 1.1
obj 2.0
obj 2.1
obj 1.1.1
obj 1.1.2
15
Version Control
  • Some of the issues
  • When an executable is built, the versions of its
    constituents must be consistent.
  • If A depends upon B and B is recompiled, A may
    also need to be recompiled.
  • What if multiple people need to modify same SCI?
  • Need to know what version different customers
    have
  • How do you keep track of 100s or 1000s of
    modules?

16
Version Control
  • Evolution graph to represent different versions
  • Uses an object pool representing components,
    variants and versions, and their relationship
  • RCS (Revision Control System) is common tool.
  • Use for documentation as well as code development.

17
Change Control
  • Change request from user
  • Developer evaluates
  • Change report is generated
  • Change control authority makes decision (ECO)

Change request is denied User is informed
Request is queued, persons are assigned Check
out SCI(s)
18
Change Control (contd)
  • Make the change/review change
  • Check in changed SCIs
  • Establish a baseline for testing
  • Do SQA and promote changes for inclusion in
    next release
  • Rebuild appropriate version
  • Audit the SCI changes/ include changes in new
    version
  • Release the new version

19

Access and Synchronization Control
Access control which software engineers have the
authority to access/modify a particular
configuration item.

Synchronization control parallel changes,
modified by two different people do not overwrite
each other.
20
Configuration Audit
  • Two approaches can be used to ensure proper
    implementation of change
  • formal technical review (FTR)
  • software configuration audit
  • CA assesses a configuration object for
    characteristics that are not generally considered
    during review
  • CA generally checks
  • SCM procedures followed
  • all related SCIs properly updated
  • change date and author specified
  • Changes incorporated
  • FTR conducted
  • SE standards followed

21
Status Reporting
  • Event occurred -- An SCI received updated ID
  • people involved
  • Time happened
  • Effects on others
  • Generated on a regular basis
  • To improve communication among all parties

22
  • Scope in this class
  • Ensuring, Verifying, and Maintaining Software
    Integrity
  • 1. Software Quality Assurance
  • 2. Software Testing Techniques
  • 3. Software Testing Strategies
  • 4. Software Maintenance
  • 5. Software Configuration Management
  • Reference Book
  • Roger S. Pressman
Write a Comment
User Comments (0)
About PowerShow.com