Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
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)
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.
TCS2411 Software Engineering1 Software Configuration Management “The only constant is change...”
Configuration Management
Configuration Management
Software 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.
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
SOFTWARE CONFIGURATION MANAGEMENT (SCM)
Software Engineering Modern Approaches
Software Configuration Management
Configuration Management Copyright, 2002 © Jerzy R. Nawrocki Quality 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.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
Software Quality Assurance
© Mahindra Satyam 2009 Configuration Management QMS Training.
SOFTWARE CONFIGURATION MANAGEMENT. Change is inevitable when computer software is built. And change increases the level of confusion among software engineers.
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.
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)
Configuration Management at CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Configuration Management- Basic Concepts. Agenda  Configuration Management process Overview  Process Stages  Planning & Setup  Control  Audit  Case.
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.
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 )
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 27 Change Management Software Engineering: A Practitioner’s Approach, 6/e Chapter 27 Change.
Software Configuration Management (SCM)
Software Configuration Management (SCM)
Configuration Management
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Chapter 11: Software Configuration Management
Software Configuration Management
Software Engineering (CSI 321)
Chapter 9 Software Configuration Management
Configuration Management
Software Configuration Management
Change Control Process—I
Chapter 27 Change Management
Configuration Management (managing change)
Software Configuration Management
Chapter 27 Change Management
Chapter 27 Change Management
Chapter 11: Software Configuration Management
Chapter 27 Change Management
Chapter 27 Change Management
Software Engineering: A Practitioner’s Approach, 6/e Chapter 27 Change Management copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Configuration Management
Presentation transcript:

Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi, C. et al., Fundamentals of Software Engineering 2 nd. Ed. New Jersery: Prentice Hall, 2003; Bersoff, H. E., Elements of Software Configuration Management. IEEE Transactions on Software Engineering, Vol. SE-10, No. 1, Jan 1984

First Law of System Engineering No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the lifecycle.

Configuration Management Definition: The set of activities that have been developed to manage change throughout the software life cycle. Purpose: Systematically control changes to the configuration and maintain the integrity and traceability of the configuration throughout the system ’ s life cycle.

Baseline Definition: Specification or product that –has been formally reviewed and agreed upon, –serves as the basis for further development, and –can be changed only through formal change control procedures. Signals a point of departure from one activity to the start of another activity. Helps control change without impeding justifiable change.

Project Baseline Central repository of reviewed and approved artifacts that represent a given stable point in overall system development. Shared DB for project and kept in consistent state. Policies allow the team to achieve consistent state and manage the project.

Software Configuration Item (SCI) Definition: Information that is created as part of the software engineering process. Examples: –Software Project Plan –Software Requirements Specification Models, Prototypes, Requirements –Design document Protocols, Hierarchy Graphs –Source code Modules –Test suite –Software tools (e.g., compilers)

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

Software Configuration Identification Provides labels for the baselines and their updates. Evolution graph: depicts versions/variants. An object may be represented by variant, versions, and components

Family of Products A family of products using a component database

Software Configuration Control Three basic ingredients to SCC 1.Documentation for formally precipitating and defining a proposed change to a software system. 2.An organizational body (Configuration Control Board) for formally evaluating and approving or disapproving a proposed change to a software system. 3.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 (who can access what).

Access and Synchronization Control Check-In Check-Out Software Engineer Project Database Access Control Configuration Object (Baseline Version) Ownership Info Audit Info Configuration Object (Baseline Version) Configuration Object (Modified Version) Unlock Lock Configuration Object Request

Access and Synchronization Control Check-In Check-Out Software Engineer Project Database Access Control Configuration Object (Baseline Version) Ownership Info Audit Info Configuration Object (Baseline Version) Configuration Object (Modified Version) Configuration Object (Extracted Version) Unlock Lock

Access and Synchronization Control Check-In Check-Out Software Engineer Project Database Access Control Configuration Object (Baseline Version) Ownership Info Audit Info Configuration Object (Baseline Version) Configuration Object (Modified Version) Configuration Object (Extracted Version) Unlock Lock

Access and Synchronization Control Check-In Check-Out Software Engineer Project Database Access Control Configuration Object (Baseline Version) Ownership Info Audit Info Configuration Object (Baseline Version) Configuration Object (Modified Version) Configuration Object (Extracted Version) Unlock Lock

Configuration Manager* Customer Project Manager Dev Team Customer generates a change request Software engineer checks out necessary configuration objects Manager assigns change request to software engineer SE completes necessary changes CM creates new system baseline Customer approves changes *In charge of administering project database and providing access control to engineers SE checks in modified configuration objects and notifies CM CM prepares new system release for operation if necessary Configuration Management Cycle

Software Configuration Auditing Provides mechanism for determining the degree to which the current configuration of the software system mirrors the software system pictured in the baseline and the requirements documentation.

Software Configuration Auditing Asks the following questions: 1.Has the specified change been made? 2.Has a formal technical review been conducted to assess technical correctness? 3.Has the software process been followed and standards been applied? 4.Have the SCM procedures for noting the change, recording it, and reporting it been followed? 5.Have all related SCIs been properly updated?

Software Configuration Auditing Why needed?

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? -Ensure that there is progress within the development of the project. -Track updates to baselines.

Requirements for CM Repository: shared DB for artifacts with controlled access to prevent overwrites. Version management: Maintain history of changes made to each artifact; provide ability to see how version was created. Work-space control: Private work space with ability to check out from repository and check in with new version number. Product modeling and building: Procedure to build the product from artifacts in repository.

CM Tools Concurrent Version System (CVS) Subversion Visual Source Safe

Figure 1.3. The lock-modify-unlock solution Lock-Modify-Unlock System [2]

Copy-Modify-Merge System-1 [2]

Copy-Modify-Merge System-2 [3] )

Schedule Complete the configuration management plan for your team. Due date: January 27, 2011

References [1] Bersoff, H. E., Elements of Software Configuration Management. IEEE Transactions on Software Engineering, Vol. SE-10, No. 1, Jan [2] Collins-Sussman. B. et al., “ Version Control with Subversion ”, [3] Ghezzi, C. et al., Fundamentals of Software Engineering 2 nd. Ed. New Jersery: Prentice Hall, [4] Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005.