CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But...
-
date post
21-Dec-2015 -
Category
Documents
-
view
216 -
download
1
Transcript of CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But...
![Page 1: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/1.jpg)
CSC 395 –Software Engineering
Lecture 25:
SCM –or– Expecting Change From Everything
But Vending Machines
![Page 2: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/2.jpg)
In This Lecture
Discuss last night’s hack on megahertz Departmental instructions for course project Examine what SCM is
![Page 3: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/3.jpg)
Software Configuration Mgmt.
Art of identifying, organizing, & controlling modifications to the software being developed - Babich Occurs throughout engineering process
Prevents runaway changes After deliverable approved, assume it correct But changes are sometimes needed SCM develops processes to control and manage
these changes
![Page 4: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/4.jpg)
The “First Law”
No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle.
-- Bersoff, et al., 1980
![Page 5: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/5.jpg)
What Are These Changes?
Changes in Changes in business requirementsbusiness requirements
Changes in Changes in business requirementsbusiness requirements
Changes in Changes in technical requirementstechnical requirements
Changes in Changes in technical requirementstechnical requirements
datadata
otherotherdocumentsdocuments
codecodeTestTest
ProjectProjectPlanPlan
Changes in Changes in user requirementsuser requirements
Changes in Changes in user requirementsuser requirements
software modelssoftware models
![Page 6: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/6.jpg)
Software Configurations Items
Requirements Specifications Design Documents Source code Object code Test plans Test suites User manuals Maintenance manuals Standards
![Page 7: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/7.jpg)
Functions of SCM
Maintain integrity of SCIs Limit people who can commit changes Track who committed changes Examine what changes are
Evaluate and control change Make the product visible
![Page 8: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/8.jpg)
Baselines
Specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change procedures – IEEE Std. 610 Set of agreed upon standards Can expect a baseline to remain fairly static
Once baselined changes to SCI must follow defined, formal procedure
![Page 9: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/9.jpg)
Baselines
SCIs
SCIs
modified
Softwareengineering
tasks
Formaltechnicalreviews
SCIs
approved
SCIs
extracted
SCMcontrols
SCIs
stored
Project database
System SpecificationSoftware RequirementsDesign SpecificationSource CodeTest Plans/Procedures/DataOperational System
BASELINES:
![Page 10: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/10.jpg)
SCM Repository
Set of mechanisms and data structures for managing change effectively
Performs or creates systems to maintain: Data integrity Information sharing Tool integration Data integration Methodology enforcement Document standardization
![Page 11: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/11.jpg)
SCM Benefits
Reduces effort managing & implementing change Improved productivity
Increased software integrity and security Improves quality and reliability
Generate information about process Improved process & team management
Maintain software development database Reduce costs by streamlining paperwork Better finger pointing and/or saying “I told you so”
![Page 12: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/12.jpg)
SCM Tasks
Identification of SCIs Version control Change control Auditing, reporting “make” facility
![Page 13: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/13.jpg)
Identification of SCIs
Name and organize each SCI Store in centralized project database Need some method to identify & track
individual documents Usually uses numbering scheme Want predictable, precise method of ordering data Helpful if names can somehow be meaningful
Handles relationships between SCIs
![Page 14: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/14.jpg)
Version Control
Set of procedures and tools managing different versions of configuration objects
Standalone tool or included within database SCCS RCS CVS
Track and manage each items requirements Different components Different targets
![Page 15: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/15.jpg)
Version Tree
1.01.0
1.11.1
2.02.01.21.2
3.03.0
Original release
Change
Change
New release
New release
![Page 16: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/16.jpg)
Change Control
Change control provides a mechanism for controlling change Human procedures Automated tools
Change control process
![Page 17: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/17.jpg)
Change Control Process
Need for change is recognized
Change request from user
Developer evaluates
Change report is generated
Change control authority decides
Request is queued for action
Follow process
Request is denied
User is informed
![Page 18: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/18.jpg)
No
Change Request Evaluation
CR CR submittedsubmitted
CR loggedCR loggedCR closure-CR closure-audit & logaudit & log
SCI SCI updatedupdated
Implement Implement changechange
CCBCCBEvalEval
Authorized
![Page 19: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/19.jpg)
Simultaneous Update
SourceSource3/23/013/23/01
Source Source 3/26/013/26/01
Coder BCoder BCoder ACoder A
![Page 20: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/20.jpg)
Configuration Audit
Ensure change was appropriately handled Engineering Change Order clearly specified Formal Technical Reviews examined change
Audit should ask (and be able to answer) Has each change been made? Was the FTR completed? Were all of our standards followed? Change recorded & SCI database updated? All related SCIs updated?
![Page 21: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/21.jpg)
Deliverable Generation Facility
Ability to recreate the SCI Should recreate any release, date, time Should be able to do this simply
May require preserving old code, compilers, word processors, etc. Version control does this for documents Much harder to maintain for hardware Need to link software versions to hardware
What happens when hardware outdated?
![Page 22: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d605503460f94a41078/html5/thumbnails/22.jpg)
For Next Lecture
Back to reading in book Begin looking at implementation process
Finally a chance for the code monkeys! Compare book’s description with usual methods Also consider how you will distribute coding,
maintain consistent style, work together