Software Configuration Control Tools Summary - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Software Configuration Control Tools Summary

Description:

The tooltip that shows up can also show the version's change log. The change log can be configured to show up at check-out which may be useful as ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 31
Provided by: pkk1
Category:

less

Transcript and Presenter's Notes

Title: Software Configuration Control Tools Summary


1
Software Configuration Control Tools Summary
  • Peter Kim
  • June 2004

2
Software Configuration Management
  • Configuration management (CM) is a discipline
    whose goal is to control changes to large
    software through the functions of component
    identification, change tracking, version
    selection and baselining, software manufacture,
    and managing simultaneous updates (team work).
    Tichy 1988

3
The Need for Configuration Management
  • Some of the problems that CM addresses
  • Simultaneous update
  • Shared code
  • Common code
  • Version control

4
SCM Potential Problems
  • There are many potential problems that may appear
    with the SCM
  • Managing many items large number of documents,
    code, variants.
  • Simultaneous updatewhen two or more developers
    are working on the same code at the same time.
  • Shared codewhen a fix is made to code that
    others rely on, they need to be notified.
  • Common codewhen fixes are made to reuse
    libraries, or common code.

5
CM System functions
  • SCM systems addresses these questions
  • What is the current configuration
  • What is the status
  • How do I control changes to the configuration
  • How do I inform others of my changes
  • What are the changes that have been made to the
    system
  • Do these changes affect my code?

6
SCM
  • All SCM systems should ensure proper backup and
    recovery processes
  • Configuration Control
  • Change Management
  • Revisions
  • Versions
  • Deltas/ Change Packages/ Change Sets
  • Conditional Code

7
SCM Member Roles
  • Configuration Manager Responsible for
    identifying configuration items. The
    configuration manager can also be responsible for
    defining the procedures for creating promotions
    and releases
  • Change control board member Responsible for
    approving or rejecting change requests
  • Developer Creates promotions triggered by change
    requests or the normal activities of development.
    The developer checks in changes and resolves
    conflicts
  • Auditor Responsible for the selection and
    evaluation of promotions for release and for
    ensuring the consistency and completeness of this
    release

8
SCM Terms
1.0
  • Baseline an authorized software work product
    that can only be changed through formal change
    control procedures
  • Version An identified and documented software
    product

1.1
1.2
2.0
2.1
9
SCM
1.0
  • Branching A variant development path that
    diverges from the primary development path
  • Variants An alternative form of a configuration
    item

1.1
1.2
1.2.1.0
2.0
1.2.1.1
2.1
10
SCM
1.0
  • Merging the activity of joining modifications
    performed simultaneously to different copies of
    the same module

1.1
1.2
1.2.1.0
2.0
1.2.1.1
2.1
MERGE
11
SCM Process
12
CVS
  • Concurrent Version System
  • Open source project-- still widely used
  • Can record the history of your source files
  • For each change who, when, and comments
  • Non-exclusive control access to one file by
    multiple developers

13
CVS functions
  • Stores entire history of each file efficiently
  • Allows multiple developers to work simultaneously
  • Enables retrieval of old systems
  • Helps manage different versions, releases
  • Works for any ASCII file limited support for
    binaries

14
CVS
  • CVS is not the following and was not designed to
    be these functions
  • A build system
  • A substitute for management or communication

15
CVS
  • Server should be Unix/Linux
  • Local machine can be any OS
  • Repository Central
  • Local copy Editing
  • Add, remove, commit, tag, checkout, update, diff

16
CVS
  • Update frequently stay in sync with repository
  • Commit changes frequently
  • Should not share code except through the
    repository
  • Build early and often
  • Most CVS repositories now have GUI front-ends

17
CVS Screenshot (Eclipse)
18
Rational ClearCase
  • Powerful tool for revision control of source code
    and development
  • Versioned file system, which can be mounted as a
    virtual file system allowing for the production
    of derived objects
  • Uses Versioned Object Bases to allow for
    distributed peer-to-peer repositories (with
    add-on modules)

19
ClearCase Menu Options (as seen from WSAD)
20
ClearCase Screenshots
  • ClearCase graphical version tree GUI. The
    version tree shows the versions of a repository
    element and merge arrows, labels and branch names
  • The annotations describe the different elements
    of the interface and some of the toolbar controls
    all of which are accessible from the keyboard,
    context menu, and toolbar menu.

21
ClearCase Graphical Tree
  • The first screenshot is a simple view of a
    relatively new file. It was created on the
    dev_ng branch, then merged onto dev_lj and
    dev_anno_lj.
  • The 0 versions are only placeholders on empty
    branches

22
ClearCase Graphical View of Code Branches
http//www.mit.edu/afs/sipb/project/subversion/src
/svn/notes/guis/pics/ClearCase-lsvtree-1.gif
23
ClearCase Screen 2
  • Same file, but showing only versions contributing
    to the version in the current view
  • The tooltip that shows up can also show the
    versions change log
  • The change log can be configured to show up at
    check-out which may be useful as a reminder to
    the developer (and others) to see what is being
    done to the file

24
ClearCase2
http//www.mit.edu/afs/sipb/project/subversion/src
/svn/notes/guis/pics/ClearCase-lsvtree-2.gif
25
ClearCase Screen 3
  • Same as the first screen, but with Show all
    Versions turned off
  • Only contributors, merge sources, or merge
    targets are shown

26
ClearCase3
http//www.mit.edu/afs/sipb/project/subversion/src
/svn/notes/guis/pics/ClearCase-lsvtree-3.gif
27
ClearCase Screen 4
  • Real-Life example
  • At first confusing, but eventually users can get
    used to it.

28
ClearCase4
http//www.mit.edu/afs/sipb/project/subversion/src
/svn/notes/guis/pics/ClearCase-lsvtree-4.gif
29
SCM
  • Implementing SCM in your organization requires
    support from all areas especially management
  • On larger systems, a CCB is mandatory
  • Automated tools are essential for proper CM
    activity

30
Conclusions
  • CM is changing
  • Broader scope, wide-ranging responsibility,
    intermingling with other disciplines
  • CM tools will change as well
  • Design, development, deployment, and run-time,
    not just implementation
Write a Comment
User Comments (0)
About PowerShow.com