Software Configuration Management (SCM)

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
More CMM Part Two : Details.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Elements of Software Configuration Management – Edward H. Bersoff
Software Configuration Management Speaker: Jerry Gao Ph.D. San Jose State University URL:
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
Configuration Management
Configuration Management
Prepared by Long Island Quality Associates, Inc. ISO 9001:2000 Documentation Requirements Based on ISO/TC 176/SC 2 March 2001.
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.
Michael Solomon Tugboat Software Managing the Software Development Process.
4. Quality Management System (QMS)
1 Configuration Management 101 ITS Professional Capacity Building Program T3 Webinar February 21, 2008.
Effective Methods for Software and Systems Integration
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Software Configuration Management (SCM)
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
The Key Process Areas for Level 2: Repeatable Ralph Covington David Wang.
Chapter 4 Interpreting the CMM. Group (3) Fahmi Alkhalifi Pam Page Pardha Mugunda.
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
Configuration Management Copyright, 2002 © Jerzy R. Nawrocki Quality Management.
1 Configuration Management “The Cookbook Approach”
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?
Product Development Chapter 6. Definitions needed: Verification: The process of evaluating compliance to regulations, standards, or specifications.
Configuration Management Non Government Std: EIA Standard-649 “A management process for establishing and maintaining consistency of a product’s performance,
Software Quality Assurance
Georgia Institute of Technology CS 4320 Fall 2003.
© Mahindra Satyam 2009 Configuration Management QMS Training.
KS3 Phase4 Client Server Monitoring System October 1, 2008 by Stephen, Seema, Kam, Shpetim.
SOFTWARE CONFIGURATION MANAGEMENT. Change is inevitable when computer software is built. And change increases the level of confusion among software engineers.
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
Management of Software Project CSM Software Configuration Management (SCM)
Configuration Management at CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Purpose: The purpose of CMM Integration is to provide guidance for improving your organization’s processes and your ability to manage the development,
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Configuration Management- Basic Concepts. Agenda  Configuration Management process Overview  Process Stages  Planning & Setup  Control  Audit  Case.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Configuration Management (II) Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Software Engineering Lecture 9: Configuration Management.
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)
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
Software Configuration Management (SCM)
Configuration Management
Software Configuration Management
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Software Configuration Management (SCM)
Chapter 11: Software Configuration Management
Software Configuration Management
Software Engineering (CSI 321)
Configuration Management
Software Configuration Management
Software Requirements
Lecture 3 Change Management
Configuration Management (managing change)
Software Configuration Management
Chapter 11: Software Configuration Management
Software Reviews.
Software Configuration Management
Presentation transcript:

Software Configuration Management (SCM)

Product Integrity As software becomes more and more complex we need to ensure that software developed has the following characteristics: fulfills user functional needs. can easily and completely be traced through its life cycle. meets specified performance criteria. meets cost expectations. meets delivery expectations.

Product Developer Disciplines When developing a system, developers structure themselves into three discipline sets. Project Management Development Product Assurance Development inlcudes

Product Developer Disciplines When developing a system, developers structure themselves into three discipline sets. Project Management Assignment of resources Allocation of resources Control of resources Development Product Assurance Development inlcudes

Product Developer Disciplines When developing a system, developers structure themselves into three discipline sets. Project Management Development Elicitation Design Implementation Product Assurance Development inlcudes

Product Developer Disciplines When developing a system, developers structure themselves into three discipline sets. Project Management Development Product Assurance quality assurance validation and verification test and evaluation configuration management Development inlcudes

Configuration Management Definition: The discipline of identifying the configuration of a system at discrete points in time for the purpose of systematically controlling changes to the configuration and maintaining the integrity and traceability of the configuration throughout the system’s life cycle.

Configuration Item (CI) A system component or artifact: design document source code module test suite ... In the case of software, they are called Software Configuration Items (SCI).

System Configuration A set of system configuration items sometimes referred to as a version of a system.

Software Configuration Management A set of procedures that tracks: Requirements that define what the system should do. Design modules that are generated from requirements. Program code that implements the design. Tests that verify the functionality of the system. Documents that describe the system.

Elements of SCM There are four elements of SCM: Software Configuration Identification. Software Configuration Control. Software Configuration Auditing. Software Configuration Status Accounting.

Software Configuration Identification Provides labels for the baselines and their updates. Baseline: stable snapshot of the aggregate system components as they exist at a given point in time a configuration or version that has been verified and released

Software Configuration Identification First identify the elements that will make up a configuration. software == SRS + design + tests + code + … An early configuration may only have a few configuration items (e.g. requirements)

Software Configuration Identification Identify a labeling scheme for baselines Identify a labeling scheme for updates to baselines Example: HATS GUI 1.4 Baseline: 1.0 4 updates to baseline 1.0 Next Baseline: 2.0

Software Configuration Control Provides a mechanism for precipitating, preparing, evaluating, and approving or disapproving all change proposals throughout the life cycle.

Software Configuration Control Three basic ingredients to SCC Documentation for formally precipitating and defining a proposed change to a software system. An organizational body (Configuration Control Board) for formally evaluating and approving or disapproving a proposed change to a software system. Procedures for controlling changes to a software system.

Software Configuration Control Why needed? Not all possible changes are beneficial. Need a mechanism to control access to different items of the configuration. Example: We don’t want everyone to be accessing everyone else’s code and be able to make changes. other example?

Software Configuration Auditing Activity performed to independently evaluate the conformance of software products and processes to applicable regulations, standards, guidelines, plans, and procedures.

Software Configuration Auditing Determines the extent to which an item satisfies the required functional and physical characteristics Can be conducted at key points in the life cycle Two types of formal audits might be required Functional Configuration Audit (FCA) Physical Configuration Audit (PCA)

FCA Purpose: ensure that the audited software item is consistent with its governing specifications Output of the software verification and validation activities is a key input to this audit

PCA Purpose: ensure that the design and reference documentation is consistent with the as-built software product

Software Configuration Auditing Why needed? We need to ensure that changes are correct according to specifications and to the customer. We can approve good changes but if it is not what the customer wants then it is useless. If we never establish a baseline then we can’t proceed with the development of the system. May help ensure a stopping point for a phase

Software Configuration Status Accounting Provides a mechanism for maintaining a record of where the system is at any point with respect to what appears in published baseline documentation. When a change proposal is approved it may take some time before the change is initiated or completed.

Software Configuration Status Accounting Why needed? We need to ensure that there is progress within the development of the project. Updates to baselines must take place sometime, otherwise we can’t continue.

Source Code Control Version control, revision control, source code management CVS SVN Visual Source Safe

Source Code Control Goals: Manage source code for multiple users Serve as repository of work Prevent collisions

SVN Assignment: Find out about SVN Write a 1-2 paragraph description of SVN Describe the use of the SVN commands for checkout, update, add, and commit. Due: Nov. 25.