CS330, Spring 2014
Library
Reference Material:
Downloads:
- Chart Drawing:
- Please note that, no matter which of these you use, you should never turn in a chart as a separate file in the proprietary format laoded and saved by these programs. Instead, you should be using your favorite word processor to create a document, within which these charts appear as figures. For more info, see Turning in Non-Programming Assignments.
- dia is
an excellent tool, it's free, and it's probably the easiest thing to use to get good-quality UML class relationship diagrams.
- SmartDraw is a commercial
drawing program available at a
special academic discount. (This is the program I use for the
most of UML diagrams in the slides and lecture notes).
- Visual Thought is "abandonware", a commercial
drawing program that has been withdrawn from the market and is now
available for free. I find its interface a little fussier than I like,
but it handles labelled connectors better than any
program I've worked with. The site linked above describes it, but it's easier to download from here.
- The CS Dept PCs should all have Microsoft's Visio installed (as
part of the Office suite). Although not as easy to use as the above-mentioned packages, this does have templates for UML diagrams.
-
The
xfig
family of tools provide
a good, general-purpose drawing program, though the interface
takes some getting used to. xfig predates MS Windows, so it's
interface was designed long before the Microsoft world of
applictions began establishing certain conventions on GUI
style.
xfig
is available on our Unix network. Cygwin
(see below) users install it on their PCs via the usual CygWin
setup utility, if
they are running an X server. A Java version, jfig,
can be run on any platform with a Java engine (including the Java SDK below).
-
All of the above tools are good for UML class relationship
diagrams, but can
be very difficult to work with when doing UML sequence diagrams.
For those, I recommend sdedit. This takes a very different approach by having you write a textual description of the elements in a chart and then producing the graphics from there. In essence, you are describing the sequence of calls in your diagram using a programming-language-like notation.
- Compilers:
-
- User interfaces for programming with Java (all are free downloads):
-
- Eclipse is my hands-down
favorite for "real" work.
- OK on Windows (available on Dept lab PCs and virtual PC lab machines)
- On our Unix (Solaris) machines, available as
/home/zeil/src/eclipse/eclipse
. You should only do this if your X connection is via an on-campus machine. It's much too slow for off-campus access.
-
You can get the Sun NetBeans IDE along with the
J2SE download.
- OK on Windows, probably not the easiest choice for beginners
- Agonizingly slow when run remotely via X (on the CS Unix machines)
-
You can also use Unix/CygWin emacs as
described in CS 252.
- OK on Windows (if you have CygWin)
- Works fine when run remotely via X
- DrJava is an environment targeted
at students or programmers new to Java.
- OK on Windows (if you have CygWin)
- OK when run remotely via X. Run it as
~zeil/bin/drjava &
- jGrasp is also an
educational environment with some support for UML.
- OK on Windows
- Annoyingly slow when run remotely via X (on the CS Unix machines)
- Testing:
-
-
Get JUnit from http://junit.org. Note that JUnit is "built-in" to Eclipse, another reason why Eclipse is my preferred IDE.
- Graphics:
-
- Use Ghostscript and GSview to
view Postscript (
.ps
and .eps
) files and to convert Postscript to
Portable Document Format (.pdf
).
- PDF generation
- The following programs will allow you to generate PDF from any Windows program that allows printing. Generally, these create a special printer that writes to a file instead of to a physical output device. (Note that increasing numbers of Windows programs support options for direct generation of PDF. Such built-in generation is usually preferable to the fake printer appoach.