Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February...
-
date post
19-Dec-2015 -
Category
Documents
-
view
216 -
download
0
Transcript of Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February...
![Page 1: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/1.jpg)
Configuration Management
CS 415, Software Engineering I
Mark Ardis, Rose-Hulman Institute
February 4, 2003
![Page 2: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/2.jpg)
2
A Story of 3 Programmers
(The following story is purely fictional. Any resemblance to real people or cartoon characters is entirely
coincidental.)
![Page 3: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/3.jpg)
3
Alice Dilbert Wally
were working on a college registration system.
Once Upon a Time
![Page 4: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/4.jpg)
4
Division of Labor
Alice worked on the User Interface (UI)
Dilbert worked on the Database (DB)
Wally worked on the Limits Checker (LC)
![Page 5: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/5.jpg)
5
System Architecture
UI DB LC
![Page 6: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/6.jpg)
6
Alice -- Change Request
One day Alice received a request from a user:
Process multiple Add/Drop requests all at once, instead of one-at-a-time.
![Page 7: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/7.jpg)
7
Alice Made Some Changes
Alice needed to make some changes in order to support the new version:– The UI module was changed to allow
multiple Add/Drops– Each Add/Drop was processed as before,
but limits checking was suppressed until the last transaction
![Page 8: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/8.jpg)
8
Dilbert -- Finds a Bug
Dilbert noticed that CreditHours was an attribute of a Course, when it should really be an attribute of a CourseSection.
This would allow honors sections to earn more credit hours.
![Page 9: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/9.jpg)
9
Dilbert Made Some ChangesDilbert needed to make some changes in
order to fix the bug:– The DB module was changed to reflect the
new relationship between CreditHours and CourseSections
– The LC module was changed to pick up the CreditHours attribute from the proper table.
![Page 10: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/10.jpg)
10
Wally -- New Version
Wally wanted to modify the system so that the LC module was called before attempting to process an Add/Drop transaction.
![Page 11: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/11.jpg)
11
Wally Made Some Changes
Wally needed to make some changes:– The UI module was changed to call the LC
module– The DB module was changed so that it no
longer called the LC module– The LC module was changed to report
back to the UI module
![Page 12: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/12.jpg)
12
Rebuilds
1. Wally recompiles and rebuilds the system with his changes.
2. Dilbert recompiles and rebuilds the system with his changes.
3. Alice recompiles and rebuilds the system with her changes.
![Page 13: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/13.jpg)
13
All 3 Programmers Test
None of the results are as they expected.
![Page 14: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/14.jpg)
14
Alice's Tests
• Although Alice's changes to the UI and LC modules were made, the DB module reflects Dilbert's changes.
![Page 15: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/15.jpg)
15
Dilbert's Tests
• Dilbert's changes to the DB module were made, but the LC reflects Alice's changes.
![Page 16: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/16.jpg)
16
Wally's Tests
• Wally's changes have all been overridden by changes made by Alice and Dilbert.
![Page 17: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/17.jpg)
17
What Went Wrong?
![Page 18: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/18.jpg)
18
Versions
LCAlice DBDilbert
LC LCDilbert DB
LCWally DBWally
UIAlice
UI
UIDilbert
![Page 19: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/19.jpg)
19
Version Control (VC)
• Keep copy of each version of an artifact
• Restrict access to artifacts (read-only, read-write)
• Locking to prevent simultaneous updates
• Record who makes changes and who has a lock to make a change
![Page 20: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/20.jpg)
20
Version Control Tools
• Revision Control System (RCS)
• Concurrent Versions System (CVS)
• ClearCase from Rational
• SoftBench CM from Hewlett-Packard
• Many others
![Page 21: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/21.jpg)
21
Use of VC Tools
• Creation of initial baseline
• Check Out
• Check In
• Review Log
• Merging
![Page 22: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/22.jpg)
22
RCS Demo
![Page 23: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/23.jpg)
23
New Scenario for the 3 Programmers
1. Wally checks out all 3 modules (UI, DB, LC) and starts modifying his local copies.
2. Alice tries to check out UI and DB, but sees that Wally has a lock on each.
3. Dilbert tries to check out DB and LC, but sees that Wally has a lock on each.
![Page 24: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/24.jpg)
24
Scenario Continued
4. Wally checks in his new versions.
5. Alice checks out and modifies UI and DB.
6. Dilbert checks out and modifies DB and LC.
![Page 25: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/25.jpg)
25
All 3 Programmers are Happy
![Page 26: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/26.jpg)
26
Baseline
• An artifact that has been formally reviewed and agreed upon
• Serves as the basis for further development
• Can be changed only through formal procedures
![Page 27: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/27.jpg)
27
Configuration Management
• All the technology and processes required to control changes to artifacts.
• Includes:– Configuration Items– Change Request Forms– Configuration Control Board
![Page 28: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/28.jpg)
28
Configuration Items
• Artifact placed under configuration control
• May include:– requirements, designs, code, tests,
documents– tools (e.g., version of compiler)– hardware as well as software
![Page 29: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/29.jpg)
29
Reasons for Change
• Request, usually from a customer
• Defect repair (corrective maintenance)
• Enhancement (perfective maintenance)
• Needed to accommodate some other change (adaptive maintenance)
• Improvement (preventive maintenance)
![Page 30: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/30.jpg)
30
Change Requests
• Use a standard form
• Have unique Ids
• Usually contain:– name of proposer– object to be changed– reason for change– short description of intended change
![Page 31: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/31.jpg)
31
Change Control Board
• May be hierarchically organized
• Evaluate change requests and decide:– which requests to grant– who will perform them
• Monitor progress– tracking system– regular reports
![Page 32: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/32.jpg)
32
Factors in EvaluatingChange Requests
• Size of change• Complexity• Date needed• Cost• Resources available• Impact on other work• Politics
…
![Page 33: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/33.jpg)
33
Summary
• Version control prevents conflicts between individuals
• Configuration control provides management and accountability for changes
![Page 34: Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.](https://reader030.fdocuments.in/reader030/viewer/2022032704/56649d405503460f94a198bb/html5/thumbnails/34.jpg)
34
References
Configuration Management Yellow Pageswww.cmtoday.com/yp/configuration_management.html
Newsgroupcomp.software.config-mgmtwww.daveeaton.com/scm/CMFAQ.html
Component Software (RCS for Windows)www.ComponentSoftware.com