CS 350, slide set 11 M. Overstreet Old Dominion University Spring 2006.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Software change management
Configuration management
Configuration Management
Page 1 October 31, 2000 An Introduction to Large-Scale Software Development Steve Varnau Core HP-UX Operation October 31, 2000.
1 GOES-R AWG Products Processing Framework Configuration Management Yunhui Zhao.
Configuration Management Main issues:  manage items during software life cycle  usually supported by powerful tools.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Configuration Management Backup/Recovery Project Review.
Software Configuration Management
CS-502 Fall 2006Project 1, Fork1 Programming Project 1 – Fork.
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
Nov. 6, 2003CS WPI1 CS 509 Design of Software Systems Lecture #10 Thursday, Nov. 6, 2003.
Configuration Management and RCS CPS470 Fall 1999.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Configuration Management
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Software Configuration Management (SCM)
CSSE 375 Software Construction and Evolution: Configuration Management
This chapter is extracted from Sommerville’s slides. Text book chapter
Software Configuration Management (SCM)
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Engineering Modern Approaches
Seattle Area Software Quality Assurance Group Release and Configuration Management, The Acceleration of Change and Its Contribution To Software Quality.
Software Configuration Management
Software Configuration Management (SCM)
1 Lecture 19 Configuration Management Software Engineering.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Configuration Management (CM)
Chapter 4: Software Configuration Management (SCM)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 29 Slide 1 Configuration management.
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
CS 350, slide set 10 M. Overstreet Old Dominion University Spring 2006.
Software Quality Assurance
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
© Mahindra Satyam 2009 Configuration Management QMS Training.
RCS The Revision Control System. To Be Covered… An RCS overview The RCS command set Some useful things Where it can be used Alternatives to RCS.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
Configuration Management Main issues:  manage items during software life cycle  usually supported by powerful tools ©2008 John Wiley & Sons Ltd.
Management of Software Project CSM Software Configuration Management (SCM)
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Configuration Management
SharePoint Workflow Prepared By: Eng. Rasha Farouk.
CS 350, slide set 4 M. Overstreet Old Dominion University Spring 2005.
Introduction to ITSM processes. CONFIDENTIAL Agenda Problem Management  Overview  High Level process Change Management  Overview  High Level process.
CS 350, slide set 10 M. Overstreet Old Dominion University Spring 2005.
Software Engineering Lecture 9: Configuration Management.
TMP3413 Software Engineering Lab Lab 01: TSPi Tool Support.
Configuration Control (Aliases: change control, change management )
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Software Configuration Management (SCM)
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Software Configuration Management (SCM)
Configuration Management
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Configuration Management
Introduction to Configuration Management With RCS
Software Configuration Management
Configuration Management (managing change)
Chapter 25 – Configuration Management
Software Configuration Management
Presentation transcript:

CS 350, slide set 11 M. Overstreet Old Dominion University Spring 2006

Reading TSP text, Appendix B: Software Configuration Management

Typical Problems Uncontrolled, unreviewed changes Corrupted or unrecoverable source code Many slight variants of "current" version For different OSs For different hardware/software environments For different customers For different in-house developers/users Stable, infrequently changing version for other developers Most current and changing version of some developers

Major components A Software Configuration Plan A system baseline Submission policy Backup procedures Configuration audit procedure Testing facilities Specialized Hardware Support tools

Config. Mgmt in CS 350 Minimal – no CCRs!, no CSRs! required Each group can decide what is appropriate for the group Next several slides discuss how this this might be done

Typical plan components Must depend on size/complexity of project Issues Steps in process Approval decisions Reduce bureaucratic overhead Avoid disasters Baseline submissions Automated support tools Simplify manual tasks Reduce errors; impact of proposed changes When are backups done? When are builds done?

Contents of Configuration Change Request (CCR) Product/Component Identification Change Information Reason for change Change description Impact of change Status & Approvals

Configuration Change Board Evaluate proposed changes to baselined products

Contents of Configuration Status Report – TSP version Config. Change Process: Activity CCRs submitted, approved, rejected, deferred, outstanding, reversed Config. Change Process: Status Volume under SCM control: pages, Pseudocode lines, LOC—total, LOC— new and changed, Test case LOC, Test material pages, Test results pages

Baseline steps: TSP version Individual completes and tests approved changes Approval by quality/process mgr CCB reviews submissions and approves or disapproves Support manager retains backups of all baselined items Team members can normally obtain baselined items at any time Development manager ensures that only baseline products are used in builds Support manager produces weekly CSRs

RCS: UNIX Revision Control System Overview Free with UNIX (Linux) Only partial solution Commercial systems provide many more services Consistent with UNIX philosophy: programmers are smarter than software systems Does not enforce rules Designed to be used by knowledgeable, cooperating programmers That is, control is voluntary; really easy to “cheat” – and sometimes necessary.

RCS continued Works with make Make knows about RCS and will look in for missing source when needed Makes it easy to recover old versions of files Can see exact changes made to a file, along with date of changes and who made changes Alerts if two people try to change a file at the same time.

Basic RCS structure Assumes related source code is in several files in one directory Assumes the existence of an RCS directory in the source directory Use "mkdir RCS" to create this directory Tries to reduce size of files by only recording changes made

Basic RCS commands "ci" - 1 "ci " to remove file from current directory and put a version under RCS control This is "checking in" a file to RCS A structured version of the file, along with some documentation, is placed in the RCS directory called,v You can edit this file. Don't.

Basic RCS commands "ci" - 2 When you check a file in: RCS checks to see if you really made changes No reason to keep two identical versions RCS prompts you to document your changes But doesn't force it. RCS assigns a version number (by adding 1 to the old number) so that you can recover exactly this version in the future.

Basic RCS commands "co" If a file has been checked in, it can later be "checked out" with the "co" command. co Everything that can be checked out will be a file in the RCS directory If I forget filenames, I often start with ls –l RCS Use of "co" means that you promise not to change the file, but just need to read it For, say, compilation of your component with baselined versions of other components You can edit the file anyway. Don't.

Basic RCS commands, "co –l" Unlike use of "co", "co –l" (for "lock") is used when a programmer intends to modify a file. co –l The file is then "locked." If another team member uses "co –l" for the same file, he/she will get a message that the file is already checked out. UNIX assumes that if you really need it, you will contact the person who checked it out and make some arrangements. You can easily edit the file anyway (this is UNIX). But you should now know that what you're doing may be dangerous.

More info man rcsintro or rcs or co or ci or ident or rcsclean or rcsdiff or rcsmerge or rlog or rcsfile