Introduction to Software Engineering/Tools

Basically, for every step in the development process there are tools available.


 * Modelling and Case Tools: StarUML, objectiF, Visio, ArgoUML


 * Writing Code: IDEs like Eclipse, Netbeans, Visual Studio; Compilers and Debuggers; SourceControl like CVS, Subversion, Git, Mercurial, SourceSafe, Perforce


 * Testing Code: Testing frameworks like JUnit, FIT, TestNG, HTMLUnit; Coverage with Clover, NCover; Profiling tools like EclipseProfile, Netbean’s Profiler, JProf, JProbe


 * Automation: Build tools: make, Ant, Maven,
 * Documentation: JavaDoc, Doxygen, NDoc; Wikis
 * Project Management, Bug Tracking,Continuous Integration: Trac, Bugzilla, Mantis; CruiseControl, Hudson
 * Re-engineering: Decompiler: JAD; Obfuscators

Some of these tools we have talked about before, but some we still need to learn about.