csc 395 – software engineering lecture 25: scm –or– expecting change from everything but...

22
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines

Post on 21-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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