330 likes | 559 Views
Software Engineering Tools. By: Taylor Helsper. Outline. Introduction Bug Tracking Progress Tracking Version Control Conclusion Questions. Introduction. What is this lecture? Part of a CSE 4000 Independent Study Course “Practical Issues in Software Engineering” What’s the point?
E N D
Software Engineering Tools By: Taylor Helsper
Outline • Introduction • Bug Tracking • Progress Tracking • Version Control • Conclusion • Questions
Introduction • What is this lecture? • Part of a CSE 4000 Independent Study Course • “Practical Issues in Software Engineering” • What’s the point? • To provide practical information to students in Software Engineering topics Note: The products referenced in these slides are merely examples used to teach and there are other alternatives available. This is not an endorsement of the products.
Outline • Introduction • Bug Tracking • Progress Tracking • Version Control • Conclusion • Questions
Bug Tracking • Why? • Communication • Developer –> Developer • Tester –> Developer • Statistics • Progress Reporting
Bug Tracking • What to use? • Bugzilla - http://www.bugzilla.org/ • FogBugz - http://www.fogcreek.com/ • BugZap- http://www.bugzap.org/ • DefectManager - http://www.tierasoft.com/ …
Bugzilla • Web based bug tracking tool • Has all necessary features • Multi-user • Tracking • Simple
Bugzilla • Lets try it out https://landfill.bugzilla.org/bugzilla-4.0-branch/ Username: dcsp@mailinator.com Password: msstate
Outline • Introduction • Bug Tracking • Progress Tracking • Version Control • Conclusion • Questions
Progress Tracking • What is it? • Tracks progress of software development throughout it’s lifecycle • Why? • Statuses • Customer Communication • Keeps people active
Progress Tracking • What to use? • Microsoft Projecthttp://www.microsoft.com/project/ • Team Software Process Spreadsheethttp://www.sei.cmu.edu/tsp/ • Excel • iTeamworkhttp://www.iteamwork.com/
Outline • Introduction • Bug Tracking • Progress Tracking • Version Control • Conclusion • Questions
Version Control • What is version control? Repository main.cpp v1 class1.h v1 class1.cpp v3 class2.hv1 class2.cppv2 class1.cppv2 class2.cppv1 class1.cppv2
Version Control • What is version control? User 1 User 3 Repository User 2 User 4
Version Control • Why? • Multiple people work on projects • Automatic backups • Authentication • Tracking
Version Control • What to use? • Current Version Control (CVS) • Subversion (SVN) • Mercurial • Git
Subversion • 4 Basic Actions • Checkout • Commit • Update • Resolve
Subversion • Checkout • Sets up access to a repository • Retrieves all files for local access CreatesLocal Copy Repository
Subversion • Commit / Add • All editing is done locally, after checkout Local Copy Repository
Subversion • Update • Updates your local copy with changes Local Copy Repository
Subversion • Resolve • What if two people change and commit the same file? Repository User 1 User 2 main.cpp main.cpp
Subversion • Where to get it? • TortoiseSVNhttp://tortoisesvn.tigris.org/ • Integrate with your IDE • Netbeans • Eclipse…
Subversion • Example • CodeQuiz This example SVN server is no longer live.
Conclusion • Use Bug Tracking • Use Version Control • Use Progress Tracking when necessary
References Information came from my general knowledge due to experience and classes here at MSU. All images used have the appropriate links below them.