CS 491G - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

CS 491G

Description:

What does CVS stand for? Why would you want to use it? Why wouldn't you? CS 491G ... cvs update -D date You can revert to a symbolic tag. CS 491G ... – PowerPoint PPT presentation

Number of Views:176
Avg rating:3.0/5.0
Slides: 21
Provided by: brenda6
Category:
Tags: 491g | cvs

less

Transcript and Presenter's Notes

Title: CS 491G


1
CS 491j
  • Lecture 4 SW Eng. 2

2
Planning is one thing
  • Youve got a brilliant plan
  • and ten of your best friends to build it.
  • What happens next?

3
Collaborative Development
  • Working Simultaneously
  • Understanding others work (and your own)
  • Not breaking the build

4
Simultaneity
  • What does CVS stand for?
  • Why would you want to use it?
  • Why wouldnt you?

5
Version Control
  • Basic Operations
  • Checkout (cvs checkout)
  • Update (cvs update -d)
  • Add (cvs add)
  • Commit (cvs commit)
  • Diff (cvs diff)

6
What happens in update
  • New files
  • Merges
  • Conflicts

7
What happens on commit
  • Youre out of date
  • Update, Merge, Recommit
  • You break the build
  • Someone hurts you

8
Revision Control
  • Every file you commit gets a version
  • These operations are sticky
  • You can revert to an older version
  • cvs update -r 1.3
  • You can revert to an older date
  • cvs update -D
  • You can revert to a symbolic tag

9
Symbolic Tags
  • You can tag an entire repository with a symbolic
    tag
  • They correspond to milestones, releases, etc.
  • cvs tag R_016

10
More Information
  • cvs https//www.cvshome.org/docs/manual/
  • subversion
  • http//subversion.tigris.org
  • Others ClearCase, Visual SourceSafe, etc

11
Understanding what youve done
  • Documentation!
  • Design docs do part of this
  • But source documentation is necessary

12
JavaDoc, Doxygen
  • Add comments to code
  • Generate documentation from code and comments

13
Code Standards
  • Uniform approach to programming style
  • Uniform approach to development roadmap

14
Example
15
Unit Testing
  • Write a test for every piece of functionality
  • Run the tests regularly
  • Run old tests for regression testing

16
CppUnit/JUnit
  • setUp - Create the setting
  • tearDown - Destroy the test setting
  • testFoo - Test something
  • Create a suite of tests
  • Run them all simultaneously

17
Development Methodology
  • Spiral Development
  • Release
  • Seek feedback
  • Make Changes
  • Repeat

18
Development Methodology
  • Pair Programming
  • One person writing, one person watching
  • Fewer bugs
  • Better clarity
  • And switch

19
Development Methodology
  • Refactoring
  • Update existing code to serve evolving needs
  • Dont break old stuff (Testing!)
  • Throwing it away
  • Knowing when something is too far gone
  • Re-Writing is fast!

20
Putting it all together
  • Lets have a great idea as a class
Write a Comment
User Comments (0)
About PowerShow.com