Published on


Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Venkatesh Samineni

    1. 1. 1Software ConfigurationManagementVenkatesh Samineni
    2. 2. 2Definition of SCM• Software configuration management is the discipline ofmanaging the evolution of complex software systems [IEEESTD 1987].• Software configuration management is the process ofidentifying, organizing & controlling changes to the softwareduring development & maintenance. SCM Operates throughoutsoftware development lifecycle (SDLC). From the softwaredevelopers perspective, SCM facilitates the development &change implementation activities.Venkatesh Samineni
    3. 3. The common features in a SCM tool are:* Support for controlling all types of file* Managing changes* Supporting branching & merging* Identifying & recreating releases* Providing a project viewImportance of SCM in SDLCSCM tools provide project managers with total control of theentire process of software development. It can track changesmade to the code by developers and communicate status ofdocuments and code as well as changes that have been made tothem.3Venkatesh Samineni
    4. 4. 4Basic concepts of Configuration Management:Configuration Item:A piece of software or work product which is subject to change isa configuration itemChange Request:It is a formal report that contains the request for modification in aconfiguration item.Venkatesh Samineni
    5. 5. Versions and configurations: A version identifies the state of aparticular configuration item or a configuration at a welldefined point in timePromotion: A promotion is a version of a configuration item/CMaggregate that has been available to other developers in aproject.Release: A release is a version that has been available to the useror the client.Repository: It stores the various releases of a CMitem/aggregate.Workspace: It is a library of promotions.5Venkatesh Samineni
    6. 6. Configuration Management Activities• Configuration item/CM aggregate identification• Promotion management• Release management• Branch management• Variant Management• Change Management6Venkatesh Samineni
    7. 7. • Configuration item identification– modeling of the system as a set of evolving components• Promotion management– is the creation of versions for other developers• Release management– is the creation of versions for the clients and users• Change management– is the handling, approval and tracking of change requests• Branch management– is the management of concurrent development• Variant management– is the management of versions intended to coexist7Venkatesh Samineni
    8. 8. Configuration Management Roles• Configuration Manager– Responsible for identifying configuration items. The configurationmanager can also be responsible for defining the procedures forcreating promotions and releases• Change control board member– Responsible for approving or rejecting change requests• Developer– Creates promotions triggered by change requests or the normalactivities of development. The developer checks in changes andresolves conflicts• Auditor– Responsible for the selection and evaluation of promotions for releaseand for ensuring the consistency and completeness of this release8Venkatesh Samineni
    9. 9. Goals of SCM• Configuration identification - Identifying configurations,configuration items and baselines.• Configuration control - Implementing a controlled changeprocess. This is usually achieved by setting up a changecontrol board whose primary function is to approve or rejectall change requests that are sent against any baseline.• Configuration status accounting - Recording and reporting allthe necessary information on the status of the developmentprocess.9Venkatesh Samineni
    10. 10. • Configuration auditing - Ensuring that configurations containall their intended parts and are sound with respect to theirspecifying documents, including requirements, architecturalspecifications and user manuals.• Build management - Managing the process and tools used forbuilds.• Process management - Ensuring adherence to theorganizations development process.• Environment management - Managing the software andhardware that host the system.• Teamwork - Facilitate team interactions related to the process.• Defect tracking - Making sure every defect has traceabilityback to the source. 10Venkatesh Samineni
    11. 11. SDLC Life cycle11Venkatesh Samineni
    12. 12. Configuration Management Tools• SVN• Revision Control System (RCS )• Concurrent Versions System (CVS)• Perforce• Clearcase• TFS12Venkatesh Samineni
    13. 13. Topics going to be covered• Version Controlling tools:• SVN (Subversion), CVS• Project Compiling scripts and Automation:• ANT, NANT, VB Script, Cruise Control• Software Packaging:• NSIS – Nullsoft Scriptable Install System• Bug Tracking:• Mantis, Jeera13Venkatesh Samineni
    14. 14. SVN• Apache Subversion (often abbreviated SVN, after thecommand name svn) is a software versioning and revisioncontrol system distributed under an open source license.Developers use Subversion to maintain current and historicalversions of files such as source code, web pages, anddocumentation. Its goal is to be a mostly compatible successorto the widely used Concurrent Versions System (CVS).14Venkatesh Samineni
    15. 15. Subversions architecture15Venkatesh Samineni
    16. 16. Nant & AntNantNAnt is a free and open source software tool forautomating software build processes. It is similar to Apache Ant,but targeted at the .NET environment rather than Java. NAntrequires one of the .NET frameworks (1.0, 1.1, 2.0, 3.5 or 4.0) orthe third party Mono platform.AntApache Ant is a software tool for automating software buildprocesses. It is similar to Make but is implemented using the Javalanguage, requires the Java platform, and is best suited tobuilding Java16Venkatesh Samineni
    17. 17. • Nullsoft Scriptable Install System (NSIS) is a script-driveninstallation system for Microsoft Windows with minimaloverhead backed by Nullsoft, the creators of Winamp. NSIShas risen to popularity as a widely used alternative tocommercial and proprietary products like InstallShield.• * Even Google Using NSIS for Installers (.exe)17Venkatesh Samineni
    18. 18. • Mantis Bug Tracker is a free and open source, web-basedbug tracking system released under the terms of the GNUGeneral Public License version 2. The most common use ofMantisBT is to track software defects. However, MantisBT isoften configured by users to serve as a more generic issuetracking system and project management tool.18Venkatesh Samineni
    19. 19. THANK YOU19Venkatesh Samineni