Software Configuration Management

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Software Quality Assurance Plan
Software Quality Assurance Plan
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Configuration Management Speaker: Jerry Gao Ph.D. San Jose State University URL:
Software Configuration Management
1 Software Configuration Management METU Computer Engineering CEng 492 Spring'2004.
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
Configuration Management
Configuration Management
Software Configuration Management
Chapter 27 Change Management
© 2008 Prentice Hall11-1 Introduction to Project Management Chapter 11 Managing Project Execution Information Systems Project Management: A Process and.
Project Execution.
Software Configuration Management
Software Configuration Management (SCM)
CSSE 375 Software Construction and Evolution: Configuration Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
Software Project Configuration Management
This chapter is extracted from Sommerville’s slides. Text book chapter
Configuration Management Process and Environment MACS Review 1 February 5th, 2010 Roland Moser PR a-RMO, February 5 th, 2010 R. Moser 1 R. Gutleber.
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Software Configuration Management (SCM)
Seattle Area Software Quality Assurance Group Release and Configuration Management, The Acceleration of Change and Its Contribution To Software Quality.
Software Configuration Management (SCM)
Configuration Management Matti Kuikka CONFIGURATION MANAGEMENT by Matti Kuikka, Unit Manager, Ericsson, Turku, Telecom R&D, Wireless Charging.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
Lecture 11 Managing Project Execution. Project Execution The phase of a project in which work towards direct achievement of the project’s objectives and.
Software Quality Assurance
© Mahindra Satyam 2009 Configuration Management QMS Training.
Software Engineering 2003 Jyrki Nummenmaa 1 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): -
KS3 Phase4 Client Server Monitoring System October 1, 2008 by Stephen, Seema, Kam, Shpetim.
CEN 5011 Ninth Lecture (2 nd part) Nov. 24, 2004 Advance Software Engineering (CEN-5011) Fall 2004 Instructor: Masoud Sadjadi
CSSE 375 Software Construction and Evolution: More SCM, and a loop back to Feathers! Shawn and Steve Left – On big systems, SCM is a well-defined process.
Software Project Management
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Quick Recap Monitoring and Controlling. Lesson 11: Monitoring and Controlling Project Work Topic 11A: Identify the Monitor and Control Project Work Process.
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,
Configuration Management
State of Georgia Release Management Training
Software Engineering Lecture 9: Configuration Management.
Configuration Control (Aliases: change control, change management )
SG Software Configuration Management And CVS scmGalaxy Author: Rajesh Kumar
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Software Configuration Management (SCM)
 Software Configuration Management is the process of controlling and monitoring change to work products.  Or  “It is the art of identifying, organizing.
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
Configuration Management
Software Configuration Management
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Chapter 10, Software Configuration Management
Chapter 11: Software Configuration Management
Software Configuration Management
Configuration Management
Software Configuration Management
Release Management Release Management.
Chapter 27 Change Management
Lecture 3 Change Management
Software Configuration Management
Chapter 27 Change Management
Chapter 27 Change Management
Chapter 11: Software Configuration Management
Chapter 27 Change Management
Configuration Management
Software Configuration Management
Presentation transcript:

Software Configuration Management

Software Configuration Management (SCM) The process of identifying, organizing, and controlling changes to the software during development and maintenance. SCM is a support activity that makes technical and managerial activities more effective SCM operates throughout the SW life-cycle

Causes of Change Evolutionary changes Revolutionary changes the system evolves as it passes through various stages in the development cycle Revolutionary changes such change is caused by the system being unable to satisfy the user’s requirements or the customers or producers expectations

Why Products change ? Requirements change during and after development Errors are found and need correction Variants are needed

Problems of Change Which component ? Which version ? Double (or multiple) maintenance Updates to shared data Simultaneous update

SCM Functions Identification of software items and products Definition of Baselines Access controls Progressing defect reports Progressing change requests Recording item status Controlling releases (versions and variants) Reporting

SCM Tasks Configuration identification Configuration control Status accounting Configuration audit

Some Definitions ... Development item not yet approved, can item be informally changed Configuration an approved and accepted item (CI) deliverable, changes done through formal change control procedures

Typical SW Configuration Items (CIs) Management plans Specifications (requirements, design) User documentation Test design, case and procedure specifications Test data and test generation procedures Data dictionaries and databases Source code, executable code Libraries Maintenance documentation Support software

Milestones and Baselines A milestone is the end of a stage or phase of a project at which one or more deliverables are actually delivered. Baselines A baseline is that collection of items which when complete indicates that a milestone in the development process has been reached.

Typical Baselines Phase Baseline Feasibility study Requirements defn. Functional baseline SRS, Interface spec. Allocated baseline Detailed design Design baseline Source and Object code User manuals Test documents Product baseline Installation Operational baseline

Baselines Baselines serve as the basis for further development Baselines can be changed only through formal change control procedures Only items that have been approved and obtained through a formal technical review are accepted into the baseline.

Configuration Identification Identify what the different baselines will consist of Set labelling and identification conventions for the CIs

Basic CI information Item identity Baseline to which it belongs Relationships to other items Version Variant

SCM Terminology Version A SW CI having a defined set of functional capabilities. Revisions changes to a version to correct only errors in design logic but does not affect documented functional capabilities since none of the requirements have changed. Variants a variation of a version developed to run on different types of HW, or to provide slightly different facilities for different users.

Examples successive versions 1.1 1.2 1.3 1.4 branching versions (variants) 1.3.1.1 1.3.1.2 1.1 1.2 1.3 1.4

Merging Two diverging versions may be merged to create a single new version combining both set of change requests. Merge operations are typically done interactively with tool assistance

SCM Terminology Promotion of a CI A CI may be promoted from one developmental baseline to another to signify a change in a CI’s internal development state. Release A Release is used to designate certain promotions of CI’s that are distributed outside the development organization.

Configuration Control Enforces a rigorous change control mechanism Requires formal procedures to request changes carry out impact analysis approve changes carry out changes

Change Management Methodology Submission of Change Request (CR) Technical and business evaluation and impact analysis Approval by Change Control Board Engineering Change Order (ECO) is generated stating changes to be made criteria for reviewing the changed CI CI’s checked out Changes made and reviewed CI’s checked in

Change Control Board A group consisting of representatives of user, customer, producer. Responsibilities: to approve, monitor and control baselines to approve, monitor, and control changes to authorise changes CCB concerns in change approval technically ok solution, cost, schedule, configuration of the whole system, user satisfaction

Software Libraries SW libraries provide the means for implementing SCM The number and kind of libraries will vary from project to project . It depends on the levels of control needed.

Three Kinds of Software Libraries Dynamic library (programmer’s library) programmer’s workspace Controlled library (master library) used for managing the current baseline(s) and for controlling changes made to them Static library (software repository) used to archive various baselines released for general use

Techniques for storing Versions Full files Forward Delta files Reverse Delta files The set of differences between two versions is called a delta.

Forward Delta Files + User CM System foward delta files Vn version Vn first version changes Vn+1 version Vn+1 version Vn version

Reverse Delta Files + User CM System reverse delta files Vn+1 Vn+1 version Vn+1 new recent version + changes recent version Vn version Vn version

Status Accounting provides a mechanism for administrative tracking and reporting of all SW items identified and controlled. Examples of Status reports: the status of proposed changes the status of approved changes the baselines and the approved changes associated with each baseline the date when each revision of each CI was recorded deficiencies identified by configuration audit

Configuration Audit A configuration audit establishes that product integrity has been maintained and that changes have taken place in an orderly and controlled manner. Audit of the SW product Audit of SCM activities

Physical Configuration Audit consists of determining that all items identified as being part of the configuration are present in the Product baseline it must also establish that the correct version and revision of each part are included in the product baseline and that they correspond to information contained in the baseline’s configuration status report.

Functional Configuration Audit it verifies that each CI in the product has been tested to determine that it satisfies the functions defined in the specifications or contract(s) for which it was developed.

Organising for SCM Roles: Configuration manager Change Control Board includes representatives of - user - customer - developer

SCM Plan The SCM Plan is prepared in Project Initiation phase. It documents - what SCM activities are to be done - how they are to be done - who is responsible for doing specific activities - when they are to happen - what resources are required

SCM Tools Common features of popular PC-based tools (PVCS, MS Visual SourceSafe): Support for controlling all types of files (source code as well as binary) Managing changes as deltas Supporting branching and merging Identifying and re-creating releases Providing a project view

Intersolv PVCS Version Manager 5.2 One of the oldest PC-based version control products Large installed base A fairly rich feature set Interfaces with other third party tools Gateways to mainframe-based library management systems Comprehensive security

Microsoft Visual SourceSafe 4.0 Project support File sharing Intuitive GUI interface Good repository architecture Powerful security features Tight integration with Visual Basic and Visual C++ development tools

SCM Tools for Unix SCCS (Source Code Control System) manages changes to text files uses a single file (s-file) to store first version and successive forward deltas RCS (Revision Control System) uses reverse deltas to store versions

SW Configuration Management Plan -- IEEE Standard 828-1990 for SCM Plan 1. Introduction 2. SCM Management 2.1 Organization 2.2 SCM Responsibilities 2.3 Applicable policies, directives and procedures

SW Configuration Management Plan -- IEEE Standard 828-1990 for SCM Plan 3. SCM Activities 3.1 Configuration identification 3.1.1 Identifying configuration items 3.1.2 Naming configuration items 3.1.3 Acquiring configuration items 3.2 Configuration control 3.2.1 Requesting changes 3.2.2 Evaluating changes 3.2.3 Approving or disapproving changes 3.2.4 Implementing changes

SW Configuration Management Plan -- IEEE Standard 828-1990 for SCM Plan (3. SCM Activities) 3.3 Configuration Status Accounting 3.4 Configuration Audits and Reviews 3.5 Interface control 3.6 Subcontractor/Vendor control 4. SCM Schedules 5. SCM Resources 6. SCM Plan maintenance