Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Configuration Management Speaker: Jerry Gao Ph.D. San Jose State University URL:

Similar presentations


Presentation on theme: "Software Configuration Management Speaker: Jerry Gao Ph.D. San Jose State University URL:"— Presentation transcript:

1 Software Configuration Management Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: http://www.engr.sjsu.edu/gaojerry Sept., 2001

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

3 Topic: Software Configuration Management 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 Software Configuration Management (SCM) All Rights Reserved

4 Topic: Software Configuration Management 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 Software Configuration Management (SCM) All Rights Reserved

5 Topic: Software Configuration Management 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 The SCM Process All Rights Reserved

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

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

8 Topic: Software Configuration Management Configuration itemExamples -------------------------------------------------------------------------------------------------------------- Management planprocess plan, SE guide, SCM plan, test plan, maintenance plan Specificationrequirements, design, testing specification Designsource code Testingtest design, case, procedure, data, generation Support softwareplanning documents Data dictionarysoftware requirement specification Codesource, executable, requirement Librariescomponent, reuse libraries Maintenancelisting, detailed design descriptions, measures Jerry Gao Ph.D.9/2001 Samples Configuration Items for SCM All Rights Reserved

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

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

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

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

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

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

15 Topic: Software Configuration Management 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 Software Configuration Management (SCM) - Configuration Audit All Rights Reserved

16 Topic: Software Configuration Management 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 Software Configuration Management (SCM) - Status Reporting All Rights Reserved


Download ppt "Software Configuration Management Speaker: Jerry Gao Ph.D. San Jose State University URL:"

Similar presentations


Ads by Google