02-03-2013, 02:15 PM
Software Configuration Management
Software Configuration.ppt (Size: 142.5 KB / Downloads: 51)
MP1 related issues
MP+Groups is closed for edits now
We’ll try to accommodate requests you sent
Please let the staff know if your partner drops the course or becomes unresponsive
TSG didn’t set up SVN repositories yet
Set your environment first, try things locally
Reading: strongly encouraged to follow up
It will be finalized before each MP
Previous lectures
Software engineering and process
We’ll follow XP in this course
JPF and Eclipse
Projects will be on Java PathFinder
We’ll use Eclipse (TAs prefer one environment)
Software Configuration Management
Theory in lectures, practice in MPs/projects
What are the three aspects of SCM?
Software products
A product is a set of components/documents
Code
Test suites
Operation manuals (administrators, end-users)
Requirements
Specifications
Design documentation
Plans/schedules
SCM
Keep track of how software changes over time and be able to reproduce any version of the software
Control how software changes; make sure needed changes have been made and no improper changes have been made
Many versions
Sequence of versions during development
Prototypes, daily (weekly) builds
Alpha/beta release
Final release
Different released versions
Linux - many versions
5ESS - tailored for each customer
Change request
We decided to implement a change.
Has it been implemented fully? (tests, code, manuals, documentation)
What parts of the system were affected by that change?
I look at a program/document
Why is it like this?
When was it written, and by whom?
SCM according to the SEI
A discipline for controlling the evolution of software systems
Has many aspects
Identification
Control
Status accounting
Audit and review
Baseline
Baseline is a software configuration item that has been reviewed and agreed upon, and that can be changed only through formal change control procedures
Intermediate versions that haven’t been reviewed are SCIs but not baselines.
Status accounting
Reporting the status of components and change requests
Which components have changed this week?
Which components did Bob change?
Which components have the most changes?
Which change requests are more than a month old and of priority 3 or greater?
Daily build and smoke test
Ways to break the build process
Check in bad code
Forget to include file in makefile
Move a library
Every day (night) build the latest version of product and run simple test suite
Developer issues
Private Workspace
Prevent integration issues from distracting you, and from your changes causing others problems, by developing in a Private Workspace.
Private System Build
Avoid breaking the build by doing a Private System Build before committing changes to the Repository
Summary of SCM
Three aspects
Version control
Change control
Building
Supported by tools
Requires expertise and oversight
More important on large projects