Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003.

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Why Is Software Difficult to Build?
Configuration Management
Configuration Management Main issues:  manage items during software life cycle  usually supported by powerful tools.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Source Control in MATLAB A tool for tracking changes in software development projects. Stuart Nelis & Rachel Sheldon.
Software Configuration Management Speaker: Jerry Gao Ph.D. San Jose State University URL:
Software Configuration Management
1 Software Configuration Management METU Computer Engineering CEng 492 Spring'2004.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Configuration Management
1 CMPT 275 Software Engineering Revision Control.
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
Software Configuration Management
Software Configuration Management (SCM)
CSSE 375 Software Construction and Evolution: Configuration Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Managing Software Quality
Software Engineering Modern Approaches
Software Configuration Management
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 Lecture 19 Configuration Management Software Engineering.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Chapter 4: Software Configuration Management (SCM)
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Software Quality Assurance
© Mahindra Satyam 2009 Configuration Management QMS Training.
Software Engineering 2003 Jyrki Nummenmaa 1 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): -
Managing Change 1. Why Do Requirements Change?  External Factors – those change agents over which the project team has little or no control.  Internal.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Configuration management.
Software Project Management
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Configuration Management Main issues:  manage items during software life cycle  usually supported by powerful tools ©2008 John Wiley & Sons Ltd.
Management of Software Project CSM Software Configuration Management (SCM)
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Objectives Understand Corrective, Perfective and Preventive maintenance Discuss the general concepts of software configuration management.
Configuration Management
Configuration Management What does configuration management really manage? – Software artifacts – Change control activities – System build activities.
Software Engineering Lecture 9: Configuration Management.
1 Week 9 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Software Configuration Management (SCM)
School of Business Administration
Software Configuration Management (SCM)
Configuration Management
Configuration Management, Integration, and Builds
Software Configuration Management
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Chapter 11: Software Configuration Management
Chapter 18 Maintaining Information Systems
Configuration Management
Software Configuration Management
Configuration Management (managing change)
Chapter 11: Software Configuration Management
Maintaining Information Systems (SAD- 18)
Chapter 11: Configuration Management, Integration, and Builds
Software Configuration Management
Presentation transcript:

Configuration Management CS 415, Software Engineering I Mark Ardis, Rose-Hulman Institute February 4, 2003

2 A Story of 3 Programmers (The following story is purely fictional. Any resemblance to real people or cartoon characters is entirely coincidental.)

3 AliceDilbertWally were working on a college registration system. Once Upon a Time

4 Division of Labor Alice worked on the User Interface (UI) Dilbert worked on the Database (DB) Wally worked on the Limits Checker (LC)

5 System Architecture UIDBLC

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.

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

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.

9 Dilbert Made Some Changes Dilbert 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.

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.

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

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.

13 All 3 Programmers Test None of the results are as they expected.

14 Alice's Tests Although Alice's changes to the UI and LC modules were made, the DB module reflects Dilbert's changes.

15 Dilbert's Tests Dilbert's changes to the DB module were made, but the LC reflects Alice's changes.

16 Wally's Tests Wally's changes have all been overridden by changes made by Alice and Dilbert.

17 What Went Wrong?

18 Versions LC Alice DB Dilbert LC LC Dilbert DB LC Wally DB Wally UI Alice UI UI Dilbert

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

20 Version Control Tools Revision Control System (RCS) Concurrent Versions System (CVS) ClearCase from Rational SoftBench CM from Hewlett-Packard Many others

21 Use of VC Tools Creation of initial baseline Check Out Check In Review Log Merging

22 RCS Demo

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.

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.

25 All 3 Programmers are Happy

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

27 Configuration Management All the technology and processes required to control changes to artifacts. Includes: –Configuration Items –Change Request Forms –Configuration Control Board

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

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)

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

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

32 Factors in Evaluating Change Requests Size of change Complexity Date needed Cost Resources available Impact on other work Politics …

33 Summary Version control prevents conflicts between individuals Configuration control provides management and accountability for changes

34 References Configuration Management Yellow Pages configuration_management.html Newsgroup comp.software.config-mgmt Component Software (RCS for Windows)