+ All Categories
Home > Documents > Software Configuration Management (SCM)

Software Configuration Management (SCM)

Date post: 06-Feb-2016
Category:
Upload: enoch
View: 81 times
Download: 2 times
Share this document with a friend
Description:
Software Configuration Management (SCM). Hans Van Vliet, Software Engineering, Principles and Practice, 3 rd edition, John Wiley & Sons, 2008. Chapter 4. H. E. Bersoff, Elements of Software Configuration Management. IEEE Transactions on Software Engineering , 10(1):79-87, Jan 1984. - PowerPoint PPT Presentation
Popular Tags:
30
CS 4311 1 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones & Bartett Learning. Chapter 11. Hans Van Vliet, Software Engineering, Principles and Practice, 3 rd edition, John Wiley & Sons, 2008. Chapter 4. H. E. Bersoff, Elements of Software Configuration Management. IEEE Transactions on Software Engineering, 10(1):79-87, Jan 1984.
Transcript
Page 1: Software Configuration  Management (SCM)

CS 4311 1

Software Configuration Management (SCM)

Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones & Bartett Learning. Chapter 11.Hans Van Vliet, Software Engineering, Principles and Practice, 3rd edition, John Wiley & Sons, 2008. Chapter 4. H. E. Bersoff, Elements of Software Configuration Management. IEEE Transactions on Software Engineering, 10(1):79-87, Jan 1984.

Page 2: Software Configuration  Management (SCM)

2CS 4311

Learning Objectives

To know the concepts of a software configuration management along with its key elements

To understand the main tasks and responsibilities of software configuration management

To be able to write a configuration management plan

Page 3: Software Configuration  Management (SCM)

3CS 4311

First Law of Systems 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.

Q: Why?

Page 4: Software Configuration  Management (SCM)

4CS 4311

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.

Page 5: Software Configuration  Management (SCM)

5CS 4311

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. One “official version” at any point in time Signals a point of departure from one activity to the

start of another activity. Helps control change without impeding justifiable

change.

Page 6: Software Configuration  Management (SCM)

6CS 4311

Baseline (Cont.)

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.

Page 7: Software Configuration  Management (SCM)

7CS 4311

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 Source code Test suite Software tools (e.g., compilers)

Page 8: Software Configuration  Management (SCM)

8CS 4311

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

Page 9: Software Configuration  Management (SCM)

9CS 4311

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.

1.0 1.1 1.2

1.41.3

2.01.1.1 1.1.2

Page 10: Software Configuration  Management (SCM)

10CS 4311

Family of Products

A1 B E

D A2 A3

C1 C2

Member 1

B

A1

C1

Member 2

B

A2

C2

Member 3

D

A3

The component data base.

A family of products using a component database

Page 11: Software Configuration  Management (SCM)

11CS 4311

Software Configuration Control

Three basic ingredients to SCC1. 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.

Page 12: Software Configuration  Management (SCM)

12CS 4311

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).

Page 13: Software Configuration  Management (SCM)

13CS 4311

Access and Synchronization Control

Check-In

Check-Out

SoftwareEngineer

ProjectDatabaseAccess

Control

Configuration Object(Baseline Version)

Ownership Info

Audit Info

Configuration Object(Baseline Version)

Configuration Object(Modified Version)

Unlock

Lock

Configuration ObjectRequest

Page 14: Software Configuration  Management (SCM)

14CS 4311

Access and Synchronization Control

Check-In

Check-Out

SoftwareEngineer

ProjectDatabaseAccess

Control

Configuration Object(Baseline Version)

Ownership Info

Audit Info

Configuration Object(Baseline Version)

Configuration Object(Modified Version)

Configuration Object(Extracted Version)

Unlock

Lock

Page 15: Software Configuration  Management (SCM)

15CS 4311

Access and Synchronization Control

Check-In

Check-Out

SoftwareEngineer

ProjectDatabaseAccess

Control

Configuration Object(Baseline Version)

Ownership Info

Audit Info

Configuration Object(Baseline Version)

Configuration Object(Modified Version)

Configuration Object(Extracted Version)

Unlock

Lock

Page 16: Software Configuration  Management (SCM)

16CS 4311

Access and Synchronization Control

Check-In

Check-Out

SoftwareEngineer

ProjectDatabaseAccess

Control

Configuration Object(Baseline Version)

Ownership Info

Audit Info

Configuration Object(Baseline Version)

Configuration Object(Modified Version)

Configuration Object(Extracted Version)

Unlock

Lock

Page 17: Software Configuration  Management (SCM)

17CS 4311

ConfigurationManager*

Customer

Project Manager

Dev Team

Customer generatesa 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

Page 18: Software Configuration  Management (SCM)

18CS 4311

Software Configuration Auditing

Audit in general Planned and independent evaluation of one or more

products or processes to determine conformance or compliance to a set of agreed to requirements.

Page 19: Software Configuration  Management (SCM)

19CS 4311

Software Configuration Auditing

Allow to follow trails, e.g., Which changes has been made Who did those changes, and Why

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.

Page 20: Software Configuration  Management (SCM)

20CS 4311

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?

Page 21: Software Configuration  Management (SCM)

21CS 4311

Software Configuration Auditing

Q: Why needed?

A: May help ensure a stopping point for a phase.

Page 22: Software Configuration  Management (SCM)

22CS 4311

Software Configuration Status Accounting

Allows to gather statistics about the system and the development process Component with most changes

=> Question its quality?

Provides a mechanism for maintaining a record of where the system is at any point with respect to what appears in published baseline. It may take some time before a change is initiated or

completed.

Page 23: Software Configuration  Management (SCM)

23CS 4311

Software Configuration Status Accounting

Why needed?- Ensure that there is progress within the

development of the project. - Track updates to baselines.- Provide data for quality improvement

Page 24: Software Configuration  Management (SCM)

24CS 4311

Requirements for SCM

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.

Workspace 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.

Page 25: Software Configuration  Management (SCM)

25CS 4311

SCM Tools

Earlier: product oriented tasks, e.g., versions SCCS, RCS Concurrent Version System (CVS) Subversion (SVN) Git/GitHub

Modern: more functionalities, e.g., process

Page 26: Software Configuration  Management (SCM)

26CS 4311

Lock-Modify-Unlock System*

*B. Collins-Sussman. et al., Version Control with Subversion, http://svnbook.red-bean.com/en/1.0/ch02s02.html.

Page 27: Software Configuration  Management (SCM)

27CS 4311

Copy-Modify-Merge System

Page 28: Software Configuration  Management (SCM)

28CS 4311

Copy-Modify-Merge System (Cont.)

)

                                           

Page 29: Software Configuration  Management (SCM)

29CS 4311

Project Assignment

Complete the configuration management plan for your team.

Due date: Feb 3, 2015 Leader: Analyst

Page 30: Software Configuration  Management (SCM)

30CS 4311

Group Work: SCM Check list

Review memo, grading rubric, report template for SCM plan (course website)

Come up with a 1-page check list for inspection

Leader: V&V Q: Inspection?

Review-based V&V technique Looking for specific faults (using check list),

e.g., unitialized variables


Recommended