Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Configuration Management

Similar presentations


Presentation on theme: "Software Configuration Management"— Presentation transcript:

1 Software Configuration Management
Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001

2 Topic: Software Configuration Management
Presentation Outline - Introduction to Software Configuration Management - The SCM Process - Version Control - Change Control - Configuration Audit - Status Reporting Jerry Gao Ph.D. 9/2001 All Rights Reserved

3 Topic: Software Configuration Management
Software Configuration Management (SCM) What is SCM? SCM is an umbrella activity that is applied throughout the software process. SCM is a set of activities designed to control changes and manage versions of work products. Major activities: - identify change - control change - ensure changes are made properly - report changes Why SCM? - If you don’t control the changes of your product, then it is very easy to turn a good product into chaos after a number of changes . Jerry Gao Ph.D. 9/2001 All Rights Reserved

4 Topic: Software Configuration Management
Software Configuration Management (SCM) Who does it? - Engineers and others are involved in SCM during the software engineering process. - Configuration management engineers take responsibility to manage product versions and build baselines. Major causes of software changes: - bug fixing and feature enhancement - change technologies and environments - new business/market changes --> new business rules & requirements - new customer needs new functions and services - organization/business structural changes lead product change requests - budgetary/scheduling constraints cause the redefinition of the product Jerry Gao Ph.D. 9/2001 All Rights Reserved

5 Topic: Software Configuration Management
The SCM Process SCM process address the following questions: - How does an organization identify and manage the existing versions of a product in a efficient and systematic way? - How does an organization control changes before and after software is released to a customer?. - Who has responsibility for approving and ranking changes? - How can we ensure that changes have been made properly? - What mechanism is used to appraise others of changes that are made? Five major tasks: - identification - version control - change control - configuration auditing - and reporting Jerry Gao Ph.D. 9/2001 All Rights Reserved

6 Topic: Software Configuration Management
Software Configuration Management Process Incorporate change Define change $? 4 SCI analysis Assess impact 2 3 yes approve Initiate change Prepare change evaluate no 1 Input from user, buyer, seller: deficiencies, enhancements, changing requirements archive Status accounting 5 feedback Jerry Gao Ph.D. 9/2001 All Rights Reserved

7 SCM Objects Data Model Design Specification data design
Topic: Software Configuration Management SCM Objects Design Specification data design architectural design module design interface design Data Model Component N Interface description algorithm description PDL Test Specification test plan test procedure test cases Source Code Jerry Gao Ph.D. 9/2001

8 Topic: Software Configuration Management
Samples Configuration Items for SCM Configuration item Examples Management plan process plan, SE guide, SCM plan, test plan, maintenance plan Specification requirements, design, testing specification Design source code Testing test design, case, procedure, data, generation Support software planning documents Data dictionary software requirement specification Code source, executable, requirement Libraries component, reuse libraries Maintenance listing, detailed design descriptions, measures Jerry Gao Ph.D. 9/2001 All Rights Reserved

9 Topic: Software Configuration Management
Basic Elements of SCM SCM Elements Methods Software configuration define baseline components item identification Software configuration control mechanism for initiating, preparing, evaluating, approving or disapproving change proposals Software configuration auditing mechanism for determining the current status of a product baseline and their versions Software configuration mechanism for tracking and recording all changes status accounting made for a product during a development process Jerry Gao Ph.D. 9/2001 All Rights Reserved

10 Baselined SCIs and The Project Database
Topic: Software Configuration Management Baselined SCIs and The Project Database Baselines: System specification Software Requirements Design specification source code test plan/ test procedures/data …. modified SCIs Software engineering tasks Formal technical reviews SCIs SCIs approved stored extracted SCIs SCIs SCM controls Jerry Gao Ph.D. 9/2001

11 Topic: Software Configuration Management
Software Evolution Obj 1.3 Obj 1.4 Obj 1.0 Obj 1.1 Obj 1.2 Obj 2.0 Obj 2.1 Obj 1.1.1 Obj 1.1.2 Evolution Graph Jerry Gao Ph.D. 9/2001

12 Topic: Software Configuration Management
Version Control variants entities versions Version Control combines procedures and tools to manage different versions of configuration objects that are created during the software process. Jerry Gao Ph.D. 9/2001

13 Access and Synchronization Control
Topic: Software Configuration Management Access and Synchronization Control Check-in Configuration object (modified version) Configuration object (baseline version) unlock Audit info Project database Software Engineer Access control lock Configuration object (baseline version) Configuration object (extracted version) Check-out Jerry Gao Ph.D. 9/2001

14 Topic: Software Configuration Management
Change Control Change Control Process in Figure 9.5 of your text book Jerry Gao Ph.D. 9/2001

15 Topic: Software Configuration Management
Software Configuration Management (SCM) - Configuration Audit Software configuration audit complements the formal technical review by assessing a configuration object for characteristics that are generally not considered during review. The audit asks and answer the following questions: - Has the change specified in the ECO been made? - Have any additional changes been incorporated? - Has a formal review been conducted to assess technical correction? - Has the software process been followed and have software engineering standards been properly applied? - Has the change been “highlighted” in the SCI? - Have the changes date and author been specified? - Do the attributes of the configuration object reflect the change? - Have SCM procedures for noting the change, recording it been followed? - Have all related SCIs been properly updated? Jerry Gao Ph.D. 9/2001 All Rights Reserved

16 Software Configuration Management (SCM) - Status Reporting
Topic: Software Configuration Management Software Configuration Management (SCM) - Status Reporting Configuration status reporting (called status accounting) is a SCM task that answer the following questions: - What happened? - Who did it? - when did it happened? - What else will be affected? Status reporting plays a vital role in the success of a large software development project. When many people are involved in a project, “the left hand does not know what the right hand is doing”. Jerry Gao Ph.D. 9/2001 All Rights Reserved


Download ppt "Software Configuration Management"

Similar presentations


Ads by Google