Software Configuration Management And CVS

50 %
50 %
Information about Software Configuration Management And CVS
Education

Published on March 8, 2009

Author: rajeshatbuzz

Source: slideshare.net

Description

scmGalaxy.com is dedicated to software configuration, build and Release management. This covers CVS, VSS (Visual Source Safe),Perforce, SVN(Subversion) MKS Integrity, ClearCase,TFS,CM Synergy, Best Practices ,AnthillPro, Apache Ant, Maven, Bamboo, Cruise Control and many more tools.

Software Configuration Management And CVS www.scmGalaxy.com scmGalaxy Author: Rajesh Kumar [email_address]

Agenda Purpose and Objectives of SCM Process SCM Activities SCM summary How to use CVS

Purpose and Objectives of SCM Process

SCM Activities

SCM summary

How to use CVS

Current Software Development Issues Ensuring proper components are being used throughout the Lifecycle Providing file security and file control Controlling transfer from the LAN to Target environment Ensuring correct build of application Managing progress of project

Ensuring proper components are being used throughout the Lifecycle

Providing file security and file control

Controlling transfer from the LAN to Target environment

Ensuring correct build of application

Managing progress of project

Today’s Situation Developers Step on Each Other Multiple File Copies on Workstations & Network Files Misplaced or Mishandled Non-Standard Builds Cause Errors

Developers Step on Each Other

Multiple File Copies on Workstations & Network

Files Misplaced or Mishandled

Non-Standard Builds Cause Errors

What is SCM? The tracking and control of software development. SCM is an infrastructure for software design, development, and deployment. SCM is a set of utilities which can increase productivity and efficiency when building applications. SCM is the art of identifying, organizing and controlling modifications to the software being built by a project team.

The tracking and control of software development.

SCM is an infrastructure for software design, development, and deployment.

SCM is a set of utilities which can increase productivity and efficiency when building applications.

SCM is the art of identifying, organizing and controlling modifications to the software being built by a project team.

Purpose of Configuration Management The purpose of Configuration Management is to establish and maintain the integrity of the work products throughout the software life cycle. Provide a defined and controlled configuration of the SW throughout the SW Life Provide ability to consistently replicate the executable code of whichever the release or version required Provide Controls that ensure problems receive attention and changes are recorded, approved, and implemented. Control process I & O to ensure consistency, traceability and repeatability of process activities Ensure that secure physical archiving (Backup), recovery and control are maintained for the CIs Maximize productivity by minimizing mistakes DESIGN CODE TEST SDP WBS SOFT-WARE REQUIRE-MENTS VSS LIBRARY

The purpose of Configuration Management is to establish and maintain the integrity of the work products throughout the software life cycle.

Provide a defined and controlled configuration of the SW throughout the SW Life

Provide ability to consistently replicate the executable code of whichever the release or version required

Provide Controls that ensure problems receive attention and changes are recorded, approved, and implemented.

Control process I & O to ensure consistency, traceability and repeatability of process activities

Ensure that secure physical archiving (Backup), recovery and control are maintained for the CIs

Maximize productivity by minimizing mistakes

Where does CM Fit in the whole of SW Life Project Repository Changes (Bug fixes, change requests, Change log) Project Initiation Estimations, Proposal, SOW, Kickoff, materials,manuals, stds Requirements Development Requirements doc, Prototype, records Planning Plans and Records Design Designs and Records Coding Source, Object, Records Testing TCDs, Results, Fixes Post release Defect fixes Acceptance test fixes Release Single Release, Multiple version releases Records -MOM -Manuals&Stds Status Reports

Records

-MOM

-Manuals&Stds

Status Reports

Typical items to be controlled in SW Requirements Document Project Plan SRS Any Executable or Paper Prototype User Manual Design Specification Source code Test plan and procedure Test cases and recorded results Operation and Installation Manuals Database description Maintenance documents Standards and Procedures for software engineering Executable programs? Standards and Guidelines Customer Supplies These are called as Configuration Items (CI): One or more HW or SW components treated as a unit for configuration management purposes.

Requirements Document

Project Plan

SRS

Any Executable or Paper Prototype

User Manual

Design Specification

Source code

Test plan and procedure

Test cases and recorded results

Operation and Installation Manuals

Database description

Maintenance documents

Standards and Procedures for software engineering

Executable programs?

Standards and Guidelines

Customer Supplies

What is a Baseline? The approved, recorded configuration of one or more CIs, that there after serves as the basis for further development, and that is changed only through Change Control Process. Requirements Doc after customer approval - 1.0 onwards User Documents Release 1.0 onwards SW release 1.0.0 onwards Entire Project folder is labeled as Baselined x.y. All further changes need to undergo Change control = Analysis, approval, implementation, regression test, release and post release support.

The approved, recorded configuration of one or more CIs, that there after serves as the basis for further development, and that is changed only through Change Control Process.

Requirements Doc after customer approval - 1.0 onwards

User Documents Release 1.0 onwards

SW release 1.0.0 onwards

Entire Project folder is labeled as Baselined x.y. All further changes need to undergo Change control = Analysis, approval, implementation, regression test, release and post release support.

SCM Activities Create CM Plan Create Central Repository (defined and controlled configuration) Naming and Identification of CI’s Establish roles and responsibilities for CM Establish Baselines & Traceability Defect Identification and Traceability Change Control CM Audit Configuration Status accounting Release Archiving & Retrieval

Create CM Plan

Create Central Repository (defined and controlled configuration)

Naming and Identification of CI’s

Establish roles and responsibilities for CM

Establish Baselines & Traceability

Defect Identification and Traceability

Change Control

CM Audit

Configuration Status accounting

Release

Archiving & Retrieval

Create CM Plan PM / PL is responsible for creating CM Plan Project Specific directory structure Responsibilities for Configuration management Responsibilities for approving changes Versioning & Baselining of Docs Versioning & Baselining of code before release Every new version check in to accompanied by reason, if Bug fix, then specify Bug-id in comments Versioning & Baselining of code after release Change Control Bug tracking Configuration Audit Backup and Recovery Strategy All team members may participate in review and updating CM Plan CM Plan to be read in compliance with Developers handbook

PM / PL is responsible for creating CM Plan

Project Specific directory structure

Responsibilities for Configuration management

Responsibilities for approving changes

Versioning & Baselining of Docs

Versioning & Baselining of code before release

Every new version check in to accompanied by reason, if Bug fix, then specify Bug-id in comments

Versioning & Baselining of code after release

Change Control

Bug tracking

Configuration Audit

Backup and Recovery Strategy

All team members may participate in review and updating CM Plan

CM Plan to be read in compliance with Developers handbook

Create & use Central Repository Create a Project folder in mindtree.com dsProjects always. This is done by Help Desk on Request. Use Calpaq. Use the Standard Directory Structure specified in ProcessNet Create CVS Database in this Folder Only. Specify Access rights to CVS DB using the Admin Facility. Select Windows Login Authentication facility BP: Individuals to create folders in their U:Username folder with the same structure as of Project Central folder (in MTV01FS01 / MTV01FS02, not in C: or any other local drive unless it is approved by the PM/PL and Configuration Controller) for backup and recovery purposes. It is safe as IS takes backup of your U: on daily basis.

Create a Project folder in mindtree.com dsProjects always. This is done by Help Desk on Request. Use Calpaq.

Use the Standard Directory Structure specified in ProcessNet

Create CVS Database in this Folder Only.

Specify Access rights to CVS DB using the Admin Facility. Select Windows Login Authentication facility

BP: Individuals to create folders in their U:Username folder with the same structure as of Project Central folder (in MTV01FS01 / MTV01FS02, not in C: or any other local drive unless it is approved by the PM/PL and Configuration Controller) for backup and recovery purposes. It is safe as IS takes backup of your U: on daily basis.

Standard Directory Structure

Naming and Identification of CIs Plans Requirements Designs Test Cases Source Code (Related modules) Release Notes User Documentation Release …

Plans

Requirements

Designs

Test Cases

Source Code (Related modules)

Release Notes

User Documentation

Release



Roles and Responsibilities for CM Activities Maintaining repository – Called as Configuration Controller CVS Admin Merges the changes if any required between different versions Project specific Backups, Recovery Is there a person / group responsible for approving all change request – Configuration Control Board Change Analysis & Acceptance criteria Change Approval/ Rejection Regression test criteria Release and acceptance Developers responsible for all check-ins (and check-outs) Comment the changes / bug fixes appropriately before check-in Ensure that CI is defect free before integrated

Maintaining repository – Called as Configuration Controller

CVS Admin

Merges the changes if any required between different versions

Project specific Backups, Recovery

Is there a person / group responsible for approving all change request – Configuration Control Board

Change Analysis & Acceptance criteria

Change Approval/ Rejection

Regression test criteria

Release and acceptance

Developers responsible for all check-ins (and check-outs)

Comment the changes / bug fixes appropriately before check-in

Ensure that CI is defect free before integrated

Establish Baselines and Traceability Establish Traceability Matrix – Design –Req-Test Cases-Code Change Control Log – CR Status – Use MPower for LOG Release Log Baselining & Versioning – Before Release Documents (Within and in CVS) – 0.1 To n.9 Code (Coding Guidelines are used for version history) - IT Base lined, ST baselined at a directory level BP: Check in into CVS repository only after the code is compiled & unit tested, important so that others can do their build Baselining & Versioning – After Release Label at project level Release – Release Checklist + Release Notes + Release Log + User Docs

Establish

Traceability Matrix – Design –Req-Test Cases-Code

Change Control Log – CR Status – Use MPower for LOG

Release Log

Baselining & Versioning – Before Release

Documents (Within and in CVS) – 0.1 To n.9

Code (Coding Guidelines are used for version history) - IT Base lined, ST baselined at a directory level

BP: Check in into CVS repository only after the code is compiled & unit tested, important so that others can do their build

Baselining & Versioning – After Release

Label at project level

Release – Release Checklist + Release Notes + Release Log + User Docs

Defect Identification and Traceability Use Defect tracking tool for defect login and status tracking Use MPower for effort tracking on review and tests Review defect code Defect Logs/ Mpower– Defect Track Id Tests – Integration & System Tests Defect Id (from Mpower) part of Comment Post release defects Comment Containing PRDF:<Defect Id(s) from Mpower>

Use Defect tracking tool for defect login and status tracking

Use MPower for effort tracking on review and tests

Review defect code

Defect Logs/ Mpower– Defect Track Id

Tests – Integration & System Tests

Defect Id (from Mpower) part of Comment

Post release defects

Comment Containing PRDF:<Defect Id(s) from Mpower>

Change Control Log the change details into CR Form Establish CR Log in Mpower and track effort and status Perform analysis Get approval Implement changes Perform Regression test as applicable Label CVS after implementing CR/ part of release comment Store the release in the Release folder.

Log the change details into CR Form

Establish CR Log in Mpower and track effort and status

Perform analysis

Get approval

Implement changes

Perform Regression test as applicable

Label CVS after implementing CR/ part of release comment

Store the release in the Release folder.

Release Release Note Release Checklist Release Log User Manual Release Label - Mandatory

Release Note

Release Checklist

Release Log

User Manual

Release Label - Mandatory

CI Status Accounting & CM Audit Perform CM audit to check the integrity of the CIs regularly and before release of SW using the CM Audit Checklist. – Physical + functional Collect data on the status of CRs, Defects, and releases Collect data on the effort spent on CM activities Report on the above measures in PM Review, and Post Harvest Reports appropriately.

Perform CM audit to check the integrity of the CIs regularly and before release of SW using the CM Audit Checklist. – Physical + functional

Collect data on the status of CRs, Defects, and releases

Collect data on the effort spent on CM activities

Report on the above measures in PM Review, and Post Harvest Reports appropriately.

Archival, Retrieving Backup & Archiving Central folder is backed up by IS. All Any project specific folders to be backed up to central folder by CC/ - Address Part of CM Plan Request Helpdesk for Burning a CD / Archival folder BP: 2 CDs for Archival Librarian maintains Archives – Archival Form Confidentiality assured Retrieving Helpdesk – Retrieval request – on Shared Server Librarian on Archives C: or D: or E: - Individuals responsible

Backup & Archiving

Central folder is backed up by IS.

All Any project specific folders to be backed up to central folder by CC/ - Address Part of CM Plan

Request Helpdesk for Burning a CD / Archival folder

BP: 2 CDs for Archival

Librarian maintains Archives – Archival Form

Confidentiality assured

Retrieving

Helpdesk – Retrieval request – on Shared Server

Librarian on Archives

C: or D: or E: - Individuals responsible

SCM Summary Create and use Central folder Identify and Name CIs in the Project Use guidelines for versioning and labeling at different stages of a CIs Use Mpower for Defect tracking Identify and Control changes Track status of Defects, CRs and effort spent on CM activities Perform Release Checks and CM audits to check for the integrity of the CIs before releases On a regular basis, report on the above activities to the PM/PL. Perform Archiving as required

Create and use Central folder

Identify and Name CIs in the Project

Use guidelines for versioning and labeling at different stages of a CIs

Use Mpower for Defect tracking

Identify and Control changes

Track status of Defects, CRs and effort spent on CM activities

Perform Release Checks and CM audits to check for the integrity of the CIs before releases

On a regular basis, report on the above activities to the PM/PL.

Perform Archiving as required

What is CVS? CVS is Concurrent Versions System.It is a source control system. Using it, one can record the history of source files. With CVS, old versions can be retrieved to see exactly which change caused the bug. Use CVS commands to get your own copy of the files into a working directory, and then work on that copy. When finished a set of changes, check (or commit ) them back into the repository. The repository then contains the changes which was made, as well as recording exactly what was the change, and other such information. CVS stores all the versions of a file in a single file and only stores the deltas i.e differences between versions. CVS merges the work when each developer is done.

CVS is Concurrent Versions System.It is a source control system. Using it, one can record the history of source files.

With CVS, old versions can be retrieved to see exactly which change caused the bug.

Use CVS commands to get your own copy of the files into a working directory, and then work on that copy.

When finished a set of changes, check (or commit ) them back into the repository. The repository then contains the changes which was made, as well as recording exactly what was the change, and other such information.

CVS stores all the versions of a file in a single file and only stores the deltas i.e differences between versions.

CVS merges the work when each developer is done.

CVS Continues…….. How to get to CVS? In your shell or dos box enter cvs login Enter your password when prompted. What is a module? The modules are symbolic names for some collection of source directories and files

How to get to CVS?

In your shell or dos box enter

cvs login

Enter your password when prompted.

What is a module?

The modules are symbolic names for some collection of source directories and files

CVS Continues…. What is a Branch? Branches allow development of different lines of software at the same time. CVS allows you to isolate changes onto a separate line of development, known as a branch . When you change files on a branch, those changes do not appear on the main trunk or other branches. What is a Tag? CVS Tags are used within CVS repository to mark revisions of particular interest to the development process to indicate that the files tagged are at an equivalent stage.You cannot add files and directories using a simple tag.

What is a Branch?

Branches allow development of different lines of software at the same time. CVS allows you to isolate changes onto a separate line of development, known as a branch . When you change files on a branch, those changes do not appear on the main trunk or other branches.

What is a Tag?

CVS Tags are used within CVS repository to mark revisions of particular interest to the development process to indicate that the files tagged are at an equivalent stage.You cannot add files and directories using a simple tag.

CVS Continues… CVS Continues…. Help !!! cvs --help-options To see a list of common commands cvs --help-command To see syntax for specific command cvs –H <command> http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/

Help !!!

cvs --help-options

To see a list of common commands

cvs --help-command

To see syntax for specific command

cvs –H <command>

http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/

www.scmGalaxy.com Thank You ! Author: Rajesh Kumar [email_address]

Add a comment

Related presentations

Related pages

CVS - Concurrent Versions System

CVS - Concurrent Versions System Introduction ... an important component of Source Configuration Management ... please read How to get GNU Software. CVS ...
Read more

Konfigurationsmanagement – Wikipedia

Konfigurationsmanagement (KM; englisch configuration management, CM) ... CVS und SVN (freie Software, sehr gängig bei Open Source Entwicklungen von Software)
Read more

Software Configuration Management And CVS ppt - wiziq

scmGalaxy.com is dedicated to software configuration, build and Release management. This covers CVS, VSS (Visual Source Safe),Perforce, SVN(Subversion...
Read more

A simple introduction to CVS - mongers.org

A simple introduction to CVS A simple introduction to CVS $Date: 2005/12/03 23:37:21 $ ... CVS is a software configuration management (SCM) tool.
Read more

Kapitel 2. Software Configuration Management mit CVS und SVN

Tools for Software Configuration Management zSoftware Configuration Management wird von Tools mit unterschiedlicher Funktionalität unterstützt Beispiele ...
Read more

CVS - Free Software Directory

Version control system and important component of Source Configuration Management ... http://savannah.nongnu.org/cvs/?group=cvs: Help: Newsgroup: comp ...
Read more

Software Configuration Management And CVS - Education

1.Software Configuration Management And CVS www.scmGalaxy.com scmGalaxy Author: Rajesh Kumar [email_address] 2. Agenda . Purpose and Objectives of SCM Process
Read more

Software Configuration Management and CVS - scribd.com

Software Configuration Management and CVS - Free download as Powerpoint Presentation (.ppt / .ppsx), PDF File (.pdf), Text File (.txt) or view presentation ...
Read more

A Framework for Software Product Line Practice, Version 5.0

A Framework for Software Product Line Practice, Version 5.0. ... Software Configuration Management involves identifying configuration items for the ...
Read more