Software Tools

You will need several tools in this course:

1. Java IDE

You can use any editor, compiler and runtime environment. One option is to install an editor (notepad, wordpad, emacs, vi, vim, etc), and use Sun's JDK and JRE to compile and run the programs. You are strongly encouraged to use the Eclipse Integrated Development Environment to do all the programming activities. The advantage is that Eclipse provides a good editor and debugger. It can also be integrated with version control software. Eclipse is the preferred IDE in our department. You can download Eclipse for free from here. You can also use NetBeans or IntelliJ. For Android development, you may use AndroidStudio. Further instructions will be available at a later time.

2. Version control

Version control and source code control is very useful when you are working in a team. Even if you are not, it still helps to be able to retrieve an older version of a file that used to work when the current version is lost or broken. In this course we will use GitHub. Further information will be available at an appropriate time.

3. UML Drawing Tools

There are several tools available commercially and in the free software domain for drawing UML diagrams. Examples are Visio, Topcased, Eclipse-Omondo, ArgoUML, Poseidon, Visual Paradigm, and Rational Software Modeler. A list of some UML tools can be found on Wikipedia. Below is a select set of tools that support the modeling activities covered in our software engineering classes (e.g., CS314, CS414). Visio may be the best option for most of you. As long as you use a tool that exports diagrams to image files that can be inserted into a word / PDF document, you should be fine.

3.1 Visio

Microsoft Visio is installed on the Windows PCs in the department. You can also get it for free as described below.

Microsoft Imagine enables CSU Computer Science faculty members, undergraduate majors, graduate students, and certain classes to acquire software at minimal cost. Use your CS account user name and password to Log in to this website. Contact Paul Hansen ( if you have questions regarding access.

Anyone taking CS classes has a CS email account. Your CS email address is your CS login added to Password is the same as your CS account. If you don't know your CS login, please send email to

Quick access to CS email is available here.

3.2 Topcased

A modeling environment developed as part of an EU project. It was built to primarily support the development of critical embedded software. You can download it from here.

3.3 Papyrus

Papyrus is intended to be the standard eclipse UML modeling environment. The UML features are similar to those found in Topcased. You can download it from here.

3.4 Visual Paradigm

Another option, which has both a free and a trial version (free, time-limited, but has more functionality) is Visual Paradigm's SDE.

This is a pretty good UML tool that integrates with Eclipse, JBuilder, and a few other IDEs. The more functional versions also provide code-generation, so this might help out with the implementation.