Software Configuration Management (SCM)

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.
Software Configuration Management Copyright, 2006 © L.Ouyang Liubo Ouyang Personal Software Process Lecture.
TCS2411 Software Engineering1 Software Configuration Management “The only constant is change...”
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 Configuration Management
Configuration Management Copyright, 2002 © Jerzy R. Nawrocki Quality Management.
Software Configuration Management (SCM)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
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
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 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.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 29 Slide 1 Configuration management.
Management of Software Project CSM Software Configuration Management (SCM)
Chapter 29 소프트웨어 형상관리 Software Configuration Management
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.
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.
SCM. Introduction Change is inevitable when software is built Change increases the level of confusion Confusion arises when changes are not –Analyzed.
Software Engineering Lecture 9: Configuration 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
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Software Configuration Management (SCM)
Software Configuration Management
Chapter 11: Software Configuration Management
Software Configuration Management
Software Engineering (CSI 321)
Chapter 9 Software Configuration Management
Software Configuration Management
Change Control Process—I
Chapter 27 Change Management
Chapter 29 Software Configuration Management
Lecture 3 Change Management
Chapter 29 Software Configuration 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 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) ...... an umbrella activity that is applied throughout the software process. Because changes can occur at any time, SCM activities are developed to (1) identify change (2) control change (3) ensure that change is being properly implemented (4) report change to others who may have an interest The primary responsibility is the control of change

SCM Vs. Software maintenance Maintenance is a set of SE activities that occur after software has been delivered to the customer and put into operation SCM is a set of tracking and control activities that begin when a software project begins and terminate only when the software is taken out of operation

What is Software Configuration? Items (such as programs, documents and data) that comprise of all information produced as part of the S/W process are collectively called a Software Configuration As the software process progresses, the number of software configuration items (SCIs) grows rapidly

The Software Configuration programs documents The pieces data

Baseline … an SCM concept that helps us to control change without seriously impeding justifiable change … a milestone in the development of software that is marked by the delivery of one or more SCIs and the approval of these SCIs that is obtained through an FTR

IEEE Definition for ‘Baseline’ …a specification or product that has been formally reviewed and agreed upon that thereafter serves as the basis for further development that can be changed only through formal change control procedures

Baseline defined at this level Baselines Steps in S/W process Baseline defined at this level System Engineering System specification Requirements Analysis S/W requirements specification Software design Design specification Coding Source code Testing Test plans/procedures/data Release Operational system

Baselines

What is a configuration item? An SCI is an aggregation of software that is designated for configuration management and treated as a single entity in the SCM process An SCI is a document ,an entire suite of test cases , or a named program component. Plans, Specification and design documentation Testing materials Software tools Source and executable code and Code libraries Data and data dictionaries Documentation for installation, maintenance, operations and software use

Configuration objects A configuration object has a name, attributes and is ‘connected’ to other objects by relationships Basic object Aggregate object Compositional relationship (curved arrow) Inter-relationship (double-headed straight arrow)

Identification of objects in the software configuration 2 types of objects can be identified Basic object A ‘unit of text’ that has been created by a software engineer during analysis, design, coding or testing Aggregate objects A collection of basic objects and other aggregate objects (conceptually it can be viewed as a named (identified) list of pointers that specify basic objects)

Software Configuration Objects

The SCM process How does an organization identify and manage the many existing versions of a program in a manner that will enable change to be accommodated efficiently? How does an organization control changes before and after software is released to a customer? Who has responsibility for approving and prioritizing changes? How can we assure that changes have been made properly? What mechanism is used to appraise others of changes that are made? … these questions lead to the definition of 5 SCM tasks

5 SCM tasks Identification Version control Change control Configuration auditing Status reporting

The SCM Process

Version Control Combines procedures and tools to manage the different versions of configuration objects created during the software process An entity is composed of objects at the same revision level A variant is a different set of objects at the same revision level and coexists with other variants A new version is defined when major changes have been made to one or more objects

Version Control A version control system is directly integrated with four major capabilities: a project database (repository) that stores all relevant configuration objects a version management capability that stores all versions of a configuration object a make facility that enables the software engineer to collect all relevant configuration objects and construct a specific version of the software. an issues tracking (also called bug tracking) capability that enables the team to record and track the status of all outstanding issues associated with each configuration object.

Change Control Change request Change report submitted and evaluated to assess technical merit and impact on the other configuration objects and budget Change report contains the results of the evaluation Change control authority (CCA) makes the final decision on the status and priority of the change based on the change report

Change Control Engineering change order (ECO) generated for each change approved (describes change, lists the constraints, and criteria for review and audit) Object to be changed is checked-out of the project database subject to access control parameters for the object Modified object is subjected to appropriate SQA and testing procedures

Change Control Modified object is checked-in to the project database and version control mechanisms are used to create the next version of the software Synchronization control used to ensure that parallel changes made by different people don’t overwrite one another

Change Control Process—I need for change is recognized change request from user developer evaluates change report is generated change control authority (CCA) decides request is queued for action, Engg. Change Order (ECO) is generated change request is denied user is informed change control process—II

Change Control Process-II assign people to SCIs check-out SCIs make the change review/audit the change Check-in SCIs that have been changed establish a “baseline” for testing change control process—III

Change Control Process-III perform SQA and testing activities Promote changes for inclusion in next release rebuild appropriate version of software review/audit the change to all configuration items include changes in new version (release) Distribute new version