Elements of Software Configuration Management - PowerPoint PPT Presentation

About This Presentation
Title:

Elements of Software Configuration Management

Description:

Software Configuration Management (SCM) is simply configuration management tailored to systems or portions of systems that are comprised of software. – PowerPoint PPT presentation

Number of Views:159
Avg rating:3.0/5.0
Slides: 40
Provided by: DialaG7
Learn more at: http://www.cs.ucf.edu
Category:

less

Transcript and Presenter's Notes

Title: Elements of Software Configuration Management


1
Elements of Software Configuration Management
Edward H. Bersoff
  • Presented by Diala T. Gammoh
  • eel6883 Software Engineering II
  • Dr. Damla Turgut

2
Agenda
  • Introduction
  • SCM in Context
  • The Elements of SCM- Software Configuration
    Identification - Software Configuration
    Control- Software Configuration Auditing-
    Software Configuration Status Accounting
  • Conclusion
  • My Opinion

3
Introduction
  • Software Configuration Management is one of the
    disciplines of the 1980s in response to the many
    failures in industry in 1970s, it has more focus
    on - the failures.
  • - what went wrong and how we are going
    to correct it.
  • - dissecting the software development
    process.
  • - defining techniques by which it could be
    effectively managed.

4
SCM in Context
  • Product integrity is defined as the intrinsic set
    of attributes that characterize the product -
    that fulfills user functional needs- that can
    easily completely be traced through its life
    cycle- that meets specified performance- whose
    cost expectations are met- whose delivery
    expectations are met

5
SCM in Context
  • Software in this paper is defined as information
    that is- structured with logical and
    functional properties.- created and maintained
    in various forms and representations during
    life cycle.- tailored for machine processing
    in its fully developed state.

6
SCM in Context
  • Software is not simply a set of computer
    programs, but includes the documentation required
    to define, develop and maintain these programs.
    Here, it escapes the software development manager
    who assumes that controlling a software product
    is the same as controlling computer code.
  • Developers structure themselves into three basic
    discipline sets includes project management,
    development and product assurance

7
SCM in Context
  • The project management discipline- supports
    general management needs to see whats going on
    in a project and to ensure that the
    organization develops product with integrity.-
    looks inside the project in support of the
    assignment, allocation and control of all
    project resources.- determines the relative
    allocation of resources to the set of
    development and product assurance disciplines.

8
SCM in Context
  • The development disciplines represent those
    traditionally applied to a software project
    include- Analysis- Design- Engineering-
    Production(coding)- Test(unit/subtesting)-
    Installation- Documentation- Training-
    Maintenance

9
SCM in Context
  • The product assurance disciplines which are used
    by project management to gain visibility into the
    development process include- Configuration
    Management- Quality Assurance- Validation and
    Verification- Test and Evaluation

10
SCM in Context
11
Product Assurance Configuration Management
  • Configuration Management (CM) is the discipline
    of identifying the configuration of a system at
    discrete points in time for the purpose of
    systematically controlling changes to the
    configuration and maintaining the integrity and
    traceability of the configuration throughout the
    system life cycle.
  • Software Configuration Management (SCM) is simply
    configuration management tailored to systems or
    portions of systems that are comprised of
    software.

12
Product Assurance Quality Assurance
  • Quality Assurance (QA) consists of the
    procedures, techniques, and tools applied by
    professionals to insure that a product meets or
    exceeds prespecified standards during a products
    development cycle.

13
Product Assurance Quality Assurance
  • QA discipline has not been uniformly treated or
    invoked relative to software development because
  • 1- Very few organizations have software
    design and development standards that compare
    in any way with hardware standards for
    detail and completeness
  • 2- It takes a high level of software
    expertise to assess whether a software
    product meet prescribed standards.

14
Product Assurance Quality Assurance
  • QA discipline has not been uniformly treated or
    invoked relative to software development
  • 3- Few buyer organizations have
    provided for or have developed the capability
    to impose and then monitor software endeavors
    on seller organizations.
  • 4- Few organizations have been concerned
    over precisely defining the difference
    between QA and other product assurance
    discipline.

15
Product Assurance Validation and Verification
  • Validation and Verification (VV)
  • - The purpose is to cope with the software
    and its development.- Unlike QA which deals
    which the problem of a product adherence to a
    pre established standards, VV deals with the
    issue of how well software fulfills functional
    and performance requirement and the assurance
    that specified requirements are indeed stated
    and interpreted correctly.

16
Product Assurance Validation and Verification
  • Validation and Verification (VV)- Verification
    assures that a product meets its prescribed
    goals as defined through baseline
    documentation. It insures that the end-user
    gets the product right.- Validation assures
    that the product not only meets the objectives
    specified through baseline documentation, but
    in addition, does the right job. It insures
    that the end-user gets the right product.

17
Product Assurance Test and Evaluation
  • Test and Evaluation (TE) is defined as the
    discipline imposed outside the development
    project organization to independently assess
    whether a product fulfills objectives.
  • The definitions given for CM, QA, VV, and TE
    suggest some overlap.
  • There are those who believe that CM, VV are
    subsets of the QA and others who argue that VV
    and TE have come into being as separate
    disciplines because QA methods have failed to do
    an adequate job with respect to providing product
    assurance.

18
The Elements of SCM
  • SCM elements were chosen to be the same as those
    for hardware, the four components of SCM are-
    identification- control- auditing- status
    accounting

19
The Elements of SCM
  • Software Configuration Identification
  • - Effective management of a system requires
    careful definition of its baseline
    components, changes to these components need
    to be defined.- A system baseline is like a
    snapshot of the aggregate of system
    components.- Updates to this baseline is like
    frames in a movie strip of the system life
    cycle.

20
The Elements of SCM
  • Software Configuration Identification
  • - The role of software configuration
    identification in the SCM process is to provide
    labels for these snapshots and the movie
    strip.- A baseline can be characterized by two
    labels, one label for the baseline itself and
    the other label identifies the update to a
    particular baseline.- The most elementary
    entity in the software configuration
    identification is the software configuration
    item (SCI)

21
The Elements of SCM
  • Software Configuration Identification
  • - From SCM perspective a software baseline
    appears as a set of SCIs.- The SCIs within a
    baseline are related to one another via a
    tree like hierarchy.- As the software system
    evolves through its life cycle, the number of
    branches in this hierarchy generally
    increases.- The first baseline may consist of
    no more than one SCI.

22
The Elements of SCM
  • Software Configuration Identification- The
    lowest level SCIs in the tree hierarchy may
    still be under development and not yet under
    SCM control.- These entities are termed
    design objects or computer program
    components. (Figure 3, page 13)- Each baseline
    and each member in the associated family of the
    updates will exist in one or more forms such as
    a design document, source code on a disk or
    executing object code.

23
The Elements of SCM
  • Software Configuration Identification- The
    identification of baselines and updates
    provides an explicit documentation trail
    linking all stages of the software life
    cycle.- With the aid of this documentation
    trail, the software developer can assess the
    integrity of his product, and the software
    buyer can assess the integrity of the product
    he is paying for.

24
The Elements of SCM
  • Software Configuration Control- The evolution
    of a software system, in the language of SCM,
    is the development of baselines and
    incorporation of a series of changes into the
    baselines.- In addition to these changes, there
    are changes that occur during early stages of
    the system life cycle that may affect baselines
    that do not yet exist.

25
The Elements of SCM
  • Software Configuration Control- The role of the
    software configuration control is to provide
    the administrative mechanism for preparing,
    evaluating, approving or disapproving all
    change proposal throughout the system life
    cycle. - SCC focuses on managing changes to
    SCIs (existing or to be developed) in all of
    their representations.

26
The Elements of SCM
  • Software Configuration ControlThis process
    involves 3 basic ingredients
  • 1- Documentation administrative forms,
    supporting technical and administrative
    material.2- Configuration Control Board (CCB)
    organizational body for formally evaluating
    and approving or disapproving a proposed
    change to the system.3- Procedures for
    controlling changes to a software system.

27
The Elements of SCM
  • Software Configuration ControlThe Engineering
    Change Proposal (ECP) is a major control
    document, contains information such as- a
    description of the proposed change.-
    identification of the originating
    organization.- rationale for the change.-
    identification of the affected baselines and
    SCIs (if appropriate).- specification of cost
    and schedule impacts.Figure 5 page 14.

28
The Elements of SCM
  • Software Configuration ControlMany automated
    tools support the control process such as the
    PSLs (Program Support Libraries).
  • - There are automation for other functions
    such as library access control, software and
    documentation version maintenance, change
    recording, and document reconstruction.-
    These capabilities are available in systems
    such as SOFTTOOLs change and configuration
    control environment.

29
The Elements of SCM
  • Software Configuration Control- PSL should
    support 3 main activities code development,
    software management, and configuration
    control.- A PSL provides the support for code
    development 1- storage and maintenance of
    software documentation and code. 2- support to
    program/compilation testing. 3- support
    for the generation of program/system
    documentation.

30
The Elements of SCM
  • Software Configuration ControlSupport to the
    management of the software development process
    involves the storage and output of programming
    data such as1- collection and automatic
    reporting of management data related to
    program development.2- control over the
    integrity and security of the data in the
    PSL.3- separation of the clerical activity
    related to the programming process.

31
The Elements of SCM
  • Software Configuration ControlPSL provides
    support to the configuration control process
    through1- access and change authorization
    control for all data in the library.2- control
    of software code releases.3- automatic program
    and document reconstruction.4- automatic
    change tracking and reporting.5- assurance
    of the consistency between documentation,
    code and listings.

32
The Elements of SCM
  • Software Configuration ControlA PSL has four
    major components1- internal libraries in
    machine-readable form.2- external libraries
    in hardcopy form.3- computer procedures.4-
    office procedures.

33
The Elements of SCM
  • Software Configuration Auditing- It provides
    the mechanism for determining the degree to
    which the current state of the software system
    mirrors the software system pictured in
    baseline and requirements documentation.- It
    also provides the mechanism for formally
    establishing a baseline.

34
The Elements of SCM
  • Software Configuration AuditingSCA serves two
    purposes1- Configuration Verification which
    ensures that what is intended for each
    software configuration item as specified in
    one baseline or update is actually achieve in
    the succeeding baseline or update.2-
    Configuration Validation which ensures that
    the SCI configuration solves the right
    problem.

35
The Elements of SCM
  • Software Configuration Auditing- SCA is
    intended to increase visibility and to
    establish traceability throughout the life
    cycle of the software product.- This visibility
    and traceability are not achieved without cost.
    It costs time and money.- The investment in
    time and money in the early stages of a project
    is worth it at the later stages like avoiding
    the sudden appearance of new requirements
    and discovery of major design flaws.

36
The Elements of SCM
  • Software Configuration Status Accounting - It is
    the administrative tracking and reporting of
    all software items formally identified and
    controlled.- It also involves the maintenance
    of records to support software configuration
    auditing.- It records the activity associated
    with the other three SCM functions and
    therefore provides the mans by which the
    history of the software system life cycle can
    be traced.

37
The Elements of SCM
  • Software Configuration Status Accounting The
    scope encompasses the recording and reporting
    of1- the time at which each representation of
    a baseline and update came into being.2- the
    time at which each SCI came into being.3-
    descriptive information about each SCI.4-
    engineering change proposal status (approved,
    disapproved, awaiting action).5- descriptive
    information about each ECP.6- change status.7-
    descriptive information about each change.8-
    status of technical and administrative
    documentation associated with a baseline or
    update.9- deficiencies in a to-be-established
    baseline uncovered during a configuration
    audit.

38
The Elements of SCM
  • Software Configuration Status Accounting Because
    of its large data input and output requirements,
    it is generally supported by PSL described
    earlier.

39
Conclusion
  • We must have the visibility and control that the
    product assurance disciplines have the capacity
    to provide.
  • We must be careful not to overcompensate and over
    control, this is the fine line that will
    distinguish that successful software managers of
    the 1980s from the rest of the software
    engineering community

40
My Opinion
  • The paper was comprehensive.
  • PSL (Program Support Libraries) was a good
    addition to the paper.
  • I prefer if they mentioned some practical
    applications that use the PSL.
Write a Comment
User Comments (0)
About PowerShow.com