Você está na página 1de 27

Software

Configuration
Management And
CVS
www.scmGalaxy.com
sG

Author: Rajesh Kumar


info@scmGalaxy.com

scmGalaxy
Agenda
www.scmGalaxy.com

Purpose and Objectives of SCM Process


SCM Activities
SCM summary
How to use CVS

scmGalaxy
Current Software Development
Issues
www.scmGalaxy.com
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

scmGalaxy
Today’s Situation
www.scmGalaxy.com
Developers Step on Each
Other

Multiple File Copies on


Workstations & Network

Files Misplaced or Mishandled

Non-Standard Builds Cause


Errors

scmGalaxy
What is SCM?
www.scmGalaxy.com
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.

scmGalaxy
Purpose of Configuration
Management
www.scmGalaxy.com

The purpose of Configuration Management is to establish and maintain the


integrity of the work products throughout the software life cycle.

SOFT-
WARE
REQUIRE
-MENTS DESIGN
CODE
TEST
SD P

WBS

VSS LIBRARY

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

n Provide ability to consistently replicate the executable code of whichever the release or version
required
n Provide Controls that ensure problems receive attention and changes are recorded, approved, and
implemented.
n Control process I & O to ensure consistency, traceability and repeatability of process activities

n Ensure that secure physical archiving (Backup), recovery and control are maintained for the CIs
scmGalaxy
Where does CM Fit in the
whole of SW Life
www.scmGalaxy.com

Project Estimations, Proposal, SOW,


Initiation Kickoff, materials,manuals, stds

Release

Requirements Requirements doc, Prototype,


Development records
Single Release, Multiple version
releases
Acceptance
test
fixes
Plans and Records
Planning

Designs and Records Post release


Defect fixes
Design Project
Repository
Records
Source, Object, Records -MOM
Coding -Manuals&Stds
-Status Reports

TCDs, Results, Fixes


Testing

Changes (Bug fixes, change requests, Change log)

scmGalaxy
Typical items to be controlled
in SW
www.scmGalaxy.com
1. Requirements Document

2. Project Plan

3. SRS

4. Any Executable or Paper Prototype

5. User Manual

6. Design Specification

7. Source code

8. Test plan and procedure

9. Test cases and recorded results

10. Operation and Installation Manuals

11. Database description

12. Maintenance documents

13. Standards and Procedures for software engineering

14. Executable programs? These are called as Configuration Items (CI):


15. One
Standards andor more HW
or SW components treated as a unit for configuration
Guidelines
management purposes.
16. Customer Supplies

scmGalaxy
What is a Baseline?
www.scmGalaxy.com

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.

scmGalaxy
SCM Activities
www.scmGalaxy.com

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

scmGalaxy
Create CM Plan
www.scmGalaxy.com
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

scmGalaxy
Create & use Central
Repository
www.scmGalaxy.com

Create a Project folder in mindtree.com\rds\Projects


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.

scmGalaxy
Standard Directory Structure
www.scmGalaxy.com

scmGalaxy
Naming and Identification of
CIs
www.scmGalaxy.com

Plans
Requirements
Designs
Test Cases
Source Code (Related modules)
Release Notes
User Documentation
Release

scmGalaxy
Roles and Responsibilities for
CM Activities
www.scmGalaxy.com
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

scmGalaxy
Establish Baselines and
Traceability
www.scmGalaxy.com

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

scmGalaxy
Defect Identification and
Traceability
www.scmGalaxy.com
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>

scmGalaxy
Change Control
www.scmGalaxy.com
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.

scmGalaxy
Release
www.scmGalaxy.com

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

scmGalaxy
CI Status Accounting & CM
Audit
www.scmGalaxy.com

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.

scmGalaxy
Archival, Retrieving
www.scmGalaxy.com

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
scmGalaxy
SCM Summary
www.scmGalaxy.com
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

scmGalaxy
What is CVS?
www.scmGalaxy.com


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.

scmGalaxy
CVS Continues……..
www.scmGalaxy.com

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

scmGalaxy
CVS Continues….
www.scmGalaxy.com

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.

scmGalaxy
CVS Continues…
CVS Continues….
www.scmGalaxy.com

v
Help !!!
v
cvs --help-options
To see a list of common commands
v
cvs --help-command
To see syntax for specific command
v
cvs –H <command>

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

scmGalaxy
Thank You !
www.scmGalaxy.com

sG Author: Rajesh Kumar


rajeshkumar.raj06@gmail.com

Você também pode gostar