TCS2411 Software Engineering1 Software Configuration Management “The only constant is change...”

Slides:



Advertisements
Similar presentations
Software change management
Advertisements

Configuration Management
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
TCS2411 Software Engineering1 System Engineering and Analysis “What is the role of the software product?”
Software Configuration Management Speaker: Jerry Gao Ph.D. San Jose State University URL:
TCS2411 Software Engineering1 Software Project Management “What is happening in the project?”
Software Configuration Management
TCS2411 Software Engineering1 Software Maintenance “Taking care of the software”
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
Configuration Management
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)
SOFTWARE CONFIGURATION MANAGEMENT (SCM)
Software Configuration Management
Software Configuration Management (SCM)
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.
 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?
©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.
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): -
SOFTWARE CONFIGURATION MANAGEMENT. Change is inevitable when computer software is built. And change increases the level of confusion among software engineers.
Software Project Management
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.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 29 Slide 1 Configuration management.
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,
Software Configuration Management n Art of coordinating SW development to minimize confusion n Software quality assurance (umbrella) activity n Set of.
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.
Software Configuration Management SEII-Lecture 21
Configuration Management (II) Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Software Engineering Lecture 9: Configuration Management.
Configuration Control (Aliases: change control, change management )
Software Configuration Management (SCM)
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
Change Control Process—I
Chapter 27 Change Management
Lecture 3 Change Management
Software Configuration Management
Chapter 27 Change Management
Chapter 27 Change Management
Baseline – IEEE definition
Chapter 11: Software Configuration Management
Chapter 27 Change Management
Chapter 27 Change Management
Software Configuration Management
Presentation transcript:

TCS2411 Software Engineering1 Software Configuration Management “The only constant is change...”

TCS2411 Software Engineering2 Lecture Objectives zTo understand the activities in managing software changes zTo identify the software configuration items that needs to be managed zTo describe the different tasks in software configuration management

TCS2411 Software Engineering3 What is S/w Configuration Management? zSCM is the discipline for systematically controlling the changes that take place during development zUmbrella activity that is applied throughout SE process zSCM is easier at the start of development and gets more complex towards the end

TCS2411 Software Engineering4 Sources of Change zNew business or market conditions zNew customer needs zReorganisation and/or business downsizing zBudgetary or scheduling constraints

TCS2411 Software Engineering5 Main Elements of SCM zIdentification yWhat are the configuration items? zControl yHow changes should be controlled? zStatus Accounting yWhat changes have been made? zAuditing yIs the system being built to satisfy the needs?

TCS2411 Software Engineering6 Software Configuration zComputer programs ySource code yExecutable code zDocuments that describe the computer programs yFor technical staff yFor users zData yWithin the program and external to it

TCS2411 Software Engineering7 Software Configuration Item zA document or an artifact that is explicitly placed under configuration control and that can be regarded as a basic unit for modification zExamples: yrequirement documents ydesign document ycode of a module ytest plan

TCS2411 Software Engineering8 Baselines Definition IEEE definition: “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 procedures”

TCS2411 Software Engineering9 Baselines zA baseline is essentially a set of SCIs zThe items have been reviewed, corrected, and approved zBaselines should be used as reference point zBaselines should only be changed through formal procedures zCareful definition and control of different baselines should be done

TCS2411 Software Engineering10 Examples of Baselines zFunctional baseline (requirements) zDesign baseline zProduct baseline (developed system)

TCS2411 Software Engineering11 Configuration Control zVersion control - procedures and tools to manage different versions of configuration objects zChange control - procedures and tools to provide a mechanism for the control of changes

TCS2411 Software Engineering12 Version Control zProcess of identifying and keeping track of different versions and releases of a system zProcedures to ensure that different versions of a system may be retrieved when required and not accidentally changed zVersion management is almost always supported by automated tools

TCS2411 Software Engineering13 Evolution Graph Obj 1.0 Obj Obj Obj 1.1 Obj 1.2 Obj 2.0 Obj 1.3 Obj 1.4 Obj 2.1

TCS2411 Software Engineering14 Versions, releases & variants zVersion - an instance of a system that differs from other instances ydifferent functionality yperformance yrepair of system faults zRelease - version that is distributed to customers zVariant - sometimes used when differences are small

TCS2411 Software Engineering15 Change Control zFocuses on managing changes to the different forms of the SCIs zEngineering change proposal - basic document used for defining & requesting for a change. zConfiguration Control Board (CCB) is responsible for configuration management zCCB evaluate proposal & approve/reject it

TCS2411 Software Engineering16 Change Control Process Need for change Other SCM tasks Change request generated Change report generated Place on queue for change ECO generated Requestor is informed Evaluation CCA decision Reject Approve Technical merits, Side effects Overall impact, Project cost

TCS2411 Software Engineering17 Engineering Change Proposal zproposed change zreason(s) zbaselines & SCIs that are affected zcost zschedule impacts zprocedures for the change

TCS2411 Software Engineering18 Engineering Change Order zChange description zConstraints zAudit review criteria

TCS2411 Software Engineering19 Change Process zObject to be changed is “checked out” zChange is made zAppropriate SQA activities applied zObject is “checked in” to the database zVersion control mechanisms applied for next version

TCS2411 Software Engineering20 Change Process Diagram Software Engineer Project Database Check-out Check-in Access control Configuration object (baseline version) Configuration object (baseline version) Ownership info lock unlock Configuration object (extracted version) Configuration object (modified version) Audit info

TCS2411 Software Engineering21 Status Accounting/Reporting zKeeps record of how the system evolves and what is its current status (administrative nature) zCan be complex due to the existence of executable and non-executable forms

TCS2411 Software Engineering22 Status Reporting Process Configuration Identification Configuration Audit Configuration Control Status Reporting CSR Report CSR Database SCIs Changes Deficiencies

TCS2411 Software Engineering23 Status Accounting Tasks zRecord baseline establishment time zRecord when SCI came into being zInformation about each SCI zEngineering change proposal status zStatus of the approved changes

TCS2411 Software Engineering24 Configuration Audit zConcerned with determining how accurately the current software system implements the system defined in the baseline & requirements document zAlso concerned with increasing the visibility and traceability of the software zAlso establish a new baseline

TCS2411 Software Engineering25 Auditing zHow do we know a change is properly implemented? yFormal technical reviews - assess the SCI to determine consistency with other SCIs ySoftware configuration audit xSCI changes made? xFTR conducted? xSE standards followed? xSCM procedures followed & updates properly done? xRelated SCIs updated?

TCS2411 Software Engineering26 References z“Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 z“Software Engineering” by Ian Sommerville, Addison-Wesley, 2001