cs 43111 software configuration management (scm) frank tsui, orland karam, and barbara bernal,...
TRANSCRIPT
![Page 1: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/1.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/2.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/3.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/4.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/5.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/6.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/7.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/8.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/9.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/10.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/11.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/12.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/13.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/14.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/15.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/16.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/17.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/18.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/19.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/20.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/21.jpg)
21CS 4311
Software Configuration Auditing
Q: Why needed?
A: May help ensure a stopping point for a phase.
![Page 22: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/22.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/23.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/24.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/25.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/26.jpg)
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: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/27.jpg)
27CS 4311
Copy-Modify-Merge System
![Page 28: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/28.jpg)
28CS 4311
Copy-Modify-Merge System (Cont.)
)
![Page 29: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/29.jpg)
29CS 4311
Project Assignment
Complete the configuration management plan for your team.
Due date: Feb 3, 2015 Leader: Analyst
![Page 30: CS 43111 Software Configuration Management (SCM) Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones &](https://reader036.vdocument.in/reader036/viewer/2022062314/56649da05503460f94a8b8cc/html5/thumbnails/30.jpg)
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