DOC PREVIEW
DREXEL CS 451 - Managing software evolution

This preview shows page 1-2-14-15-30-31 out of 31 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 451 Software Engineering Yuanfang Cai Room 104 University Crossings 215 895 0298 yfcai cs drexel edu 1 Drexel University Managing software evolution Configuration Management 2 Drexel University Have you ever done this Using Save as Homework v1 doc Homework 11 03 2010 doc Homework latest java Want the new file without obliterating the old one Make a single backup copy Document old txt If we re clever we add a version number or date Document V1 txt DocumentMarch2007 txt Sharing a folder with others and hopefully they relabel the file after they save it 3 Drexel University These are not sufficient For large fast changing projects with many authors Backup and Restore Synchronization Short term undo Long term undo Track Changes Track Ownership Sandboxing Branching and merging 4 Drexel University What is Subversion Subversion is a version control system A version control system allows users to manage files directories and the changes made to them Subversion can manage any sort of file collection not only source code Drexel University Basic Setup Working copy Working copy Internet Repository Working copy Server Client Drexel University Basic Setup Repository Repo The database storing the files Server The computer storing the repo Client The computer connecting to the repo Working Set Working Copy Your local directory of files where you make changes Trunk Main The primary location for code in the repo Think of code as a family tree the trunk is the main line 7 Drexel University Basic Actions Add Put a file into the repo for the first time i e begin tracking it with Version Control Revision What version a file is on v1 v2 v3 etc Head The latest revision in the repo Check out Download a file from the repo Check in Upload a file to the repository if it has changed The file gets a new revision number and people can check out the latest one 8 Drexel University Basic Actions Checkin Message A short message describing what was changed Changelog History A list of changes made to a file since it was created Update Sync Synchronize your files with the latest from the repository This lets you grab the latest revisions of all files Revert Throw away your local changes and reload the latest version from the repository 9 Drexel University Advanced Actions Branch Create a separate copy of a file folder for private use bug fixing testing etc Diff Change Delta Finding the differences between two files Useful for seeing what changed between revisions Merge or patch Apply the changes from one file to another to bring it up to date For example you can merge features from one branch into another Conflict When pending changes to a file contradict each other both changes cannot be applied Resolve Fixing the changes that contradict each other and checking in the correct version 10 Drexel University SVN Repo structure Trunk Branch Tag 11 Drexel University Atomic Commits A commit either goes into the repository completely or not at all This allows developers to construct and commit changes as logical chunks All of the files in the repository at a point in time are at the same revision So you don t talk about the revision of a file but rather of the repository Check out rev 1482 rather than Check out rev 1 24 of foo txt rev 1 4 2 21 of bar html rev 12 Drexel University Atomic Commits Transactions This is much more important than many people realize at first In a very real sense Subversion doesn t work with files so much as it works with transactions This has many implications including atomicity that things can be grouped logically rather than in time and cheap copies much more on this later 13 Drexel University References Subversion http subversion tigris org Large parts of this were taken directly from the excellent book Version Control with Subversion The latest copy can be found at http svnbook red bean com though a paper copy can be bought from O Reilly 14 Drexel University How changes are incorporated Change management Issue Tracking and Reporting 15 Drexel University Possible changes Defects Enhancement New Feature 16 Drexel University Issue workflow WIP Valid Fixed Closed New Disputed issue QA 17 Customer tester Drexel University Management Control One of main purposes is to provide Issue visibility to enable management to ensure defects are appropriately prioritized Management must overview all active defect records ensure priorities are good if languishing too long in a given state act ensure coders are working on defects of appropriate priority at any given time 18 Drexel University Management Control System Support Most systems can be configured to send e mail and or re assign to manager when certain conditional action thresholds are reached E g prio 1 defect with state unchanged for 24 hrs Post Issue daily reports of overdue defects tickets 19 Drexel University Issue Ticket Information Where Found Who Found It product release version hardware os drivers general area customer internal when Description of the Defect summary description how to reproduce associated data links to related defects or features 20 Drexel University Issue Ticket Information Triage severity likelihood priority assign to whom Audit Trail all changes to the defect data by whom when State state owner 21 Drexel University Metrics Another purpose for issue tracking is to enable gathering of good clean defect arrival departure data Gives insight into productivity of coders fixing defects testers finding defects Clean data is essential e g if no way to validate defects lots of arrivals may be due to bad code or to bad defect triage may expend a lot of effort on coding initiatives and numbers will go the wrong way Must quickly get defects out of New and Fixed 22 Drexel University Metrics Arrivals Departures defects per day entering into Valid defects per day going from Fixed to Closed Total sum of defects in states Valid WIP and Fixed 23 Drexel University Sample Metrics 100 80 defects 60 total arrivals 40 departures net 20 0 1 3 5 7 9 11 13 15 17 19 21 23 25 20 days24 Drexel University Metrics These metrics should be tracked by product by priority Company should establish shipping thresholds e g no known priority 1 or 2 defects arrival rate for priority 1 3 1 defect per day Watch trends compare to last release If bad bug Olympics bug blitz weekends slip date clean up the architecture 25 Drexel University Issue Tracking and Version Control Two reasons for changes to source fix a defect add a feature Can tie VCS and defect feature


View Full Document

DREXEL CS 451 - Managing software evolution

Download Managing software evolution
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Managing software evolution and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Managing software evolution 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?