Software Configuration Management Copyright, 2006 © L.Ouyang Liubo Ouyang Personal Software Process Lecture.

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

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?
Software Configuration Management Speaker: Jerry Gao Ph.D. San Jose State University URL:
Software Configuration Management
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
SCM SCM: AN OVERVIEW. Agenda  Introduction  Concepts  CBSD.
TCS2411 Software Engineering1 Software Configuration Management “The only constant is change...”
Configuration Management
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
Chapter 27 Change Management
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.
This chapter is extracted from Sommerville’s slides. Text book chapter
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?
Configuration Management Copyright, 2002 © Jerzy R. Nawrocki Quality Management.
The Planning Process Copyright, 2006 © L. Ouyang Liubo Ouyang Personal Software Process Lecture 11.
Software Configuration Management (SCM)
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.
CMM Level 2: Repeatable Copyright, 2000 © Jerzy R. Nawrocki Quality Management.
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.
SOFTWARE CONFIGURATION MANAGEMENT. Change is inevitable when computer software is built. And change increases the level of confusion among software engineers.
OSLC PLM Workgroup1 ALM-PLM terms Prep for Oct 5th.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Configuration management.
Software Project Management
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Management of Software Project CSM Software Configuration Management (SCM)
Configuration Management at CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Objectives Understand Corrective, Perfective and Preventive maintenance Discuss the general concepts of software configuration management.
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.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Configuration Management
1 Chapter 9 Software Configuration Management. 2 The “First Law” No matter where you are in the system life cycle, the system will change, and the desire.
Configuration Management (II) Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Software Engineering Lecture 9: Configuration Management.
Requirements Management and Changes Copyright, 2003 © Jerzy R. Nawrocki Requirements.
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.
Software Configuration Management -Subversion- RTLAB YuJin Park.
Configuration Management
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Chapter 11: Software Configuration Management
Software Engineering (CSI 321)
Configuration Management
Software Configuration Management
Chapter 27 Change Management
Lecture 3 Change Management
Configuration Management (managing change)
Software Configuration Management
Chapter 27 Change Management
Chapter 27 Change Management
Baseline – IEEE definition
Chapter 11: Software Configuration Management
Chapter 27 Change Management
Chapter # 6 Software Configuration Management
Chapter 27 Change Management
Software Configuration Management
Presentation transcript:

Software Configuration Management Copyright, 2006 © L.Ouyang Liubo Ouyang Personal Software Process Lecture 10

L.Ouyang, PSP, Lecture 10 Introduction Configuration management is the art of identifying, organising and controlling modifications to the software being built by a programming team -- W.A. Babich’86

L.Ouyang, PSP, Lecture 10 Introduction SCM activities: identifying the changeidentifying the change controlling the changecontrolling the change ensuring that the change is being properly implementedensuring that the change is being properly implemented reporting the change to other interested partiesreporting the change to other interested parties

L.Ouyang, PSP, Lecture 10 Introduction Software maintenance vs. SCM Maintenance: a set of activities that occur after delivery SCM: begins when a software project begins and lasts till the software is taken out of operation

L.Ouyang, PSP, Lecture 10 Software configuration Software artefacts: programs (source and executable)programs (source and executable) documents (requirements specification, project plan, user manual,..)documents (requirements specification, project plan, user manual,..) data (test data)data (test data) The main problem: CHANGE SCM as an SQA activity

L.Ouyang, PSP, Lecture 10 Baseline A specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedure -- IEEE Std

L.Ouyang, PSP, Lecture 10 Baseline The most common software baselines: System specificationSystem specification Software requirements specificationSoftware requirements specification Design specificationDesign specification Source codeSource code Test plans/Procedures/DataTest plans/Procedures/Data Operational systemOperational system

L.Ouyang, PSP, Lecture 10 Software configuration items (1) System specification Software project plan Software requirements specification Preliminary user manual Design specification Source code listing Test specification

L.Ouyang, PSP, Lecture 10 Software configuration items (2) Operation and installation manuals Executable program Database description As-built user manual Maintenance documents Standards and procedures for SE Software tools

L.Ouyang, PSP, Lecture 10 Identification Each SCI is treated like an object Types of objects: basic and aggregate ones A basic object: a unit of text (e.g. a section of requirements, a listing for a module, a suite of test cases) An aggregate object: a collection of basic and aggregate objects

L.Ouyang, PSP, Lecture 10 Identification Each object has: A nameA name A description: the SCI type (program, document, data), a project identifier, change and/or version informationA description: the SCI type (program, document, data), a project identifier, change and/or version information Resources: entities that are provided, processed or referenced by the object (e.g. data types, functions etc.)Resources: entities that are provided, processed or referenced by the object (e.g. data types, functions etc.) A realisation: a pointer to the “unit of text”A realisation: a pointer to the “unit of text”

L.Ouyang, PSP, Lecture 10 Identification An object an aggregate object Example: Type_expressions Type_checker Symbol_table Type_checker Type_checker Static_analyser

L.Ouyang, PSP, Lecture 10 Identification Obj1.0 Obj1.1Obj1.2 Obj1.3Obj1.4 Obj2.0Obj2.1 Obj1.1.1Obj1.1.2 Evolution graph A complete version of the software

L.Ouyang, PSP, Lecture 10 Version control SCM allows.. to specify alternative configurations.. through the selection of appropriate versions. This is supported by associating attributes with each software version, and then allowing a configuration to be specified by describing the set of desired attributes. -- G.M. Clemm’89

L.Ouyang, PSP, Lecture 10 Version control The attributes of software version can be: a version number,a version number, a string of boolean variables (switches) that describe functional changes made to the systema string of boolean variables (switches) that describe functional changes made to the system

L.Ouyang, PSP, Lecture 10 Versions and component variants The need for variants: Software localisationSoftware localisation Performance trade-offPerformance trade-off Explicit version construction: numbers (SCCS) Implicit version construction: tags in CVS; HRT systems: selection of variants can be based on non-functional requirements

L.Ouyang, PSP, Lecture 10 CVS cvs -d :local:c:\src\cvsroot init mkdir election mkdir election/require mkdir election/concept cd election cvs import -m “Created directory struc” elect artur start Start

L.Ouyang, PSP, Lecture 10 CVS cvs checkout CVSROOT/modules cd CVSROOT edit the ‘modules’ file CVSROOT CVSROOT CVSROOT CVSROOT modules CVSROOT/modules modules CVSROOT/modules cvs gnu/cvs cvs gnu/cvs rcs gnu/rcs rcs gnu/rcs require elect/require require elect/require Defining modules

L.Ouyang, PSP, Lecture 10 CVS cvs commit -m “Added the require module” modules cd.. cvs release -d CVSROOT # release the ‘modules’ Defining modules

L.Ouyang, PSP, Lecture 10 CVS cvs tag srs-1-0. #assigning a tag cvs checkout -r srs-1-0 require #getting a revision cvs rtag -b -r old-rel new-rel require #create a branch Other operations

L.Ouyang, PSP, Lecture 10 Homework Get familiar with the CVS system: start to use it on your project.

L.Ouyang, PSP, Lecture 10 Summary Software configuration Baseline Revisions and branches Version control CVS

L.Ouyang, PSP, Lecture 10 Further readings cvs_toc.html

L.Ouyang, PSP, Lecture 10 Quality assessment 1. What is your general impression ? 2. Was it too slow or too fast ? 3. Did you learn something important to you ? 4. What to improve and how ?