JMU CS446 - Software Analysis and Design
Help Policies Solutions Study-Aids Syllabus
Tools


1 Required Tools

There are a variety of tools that you must use this semester. Information about how to install these tools is available on the course "Help" page.

1.1 Java Development Tools

Java Development Kit Standard Edition v16 (Compiler, Runtime Environment, ...)
You may use either the Oracle JDK (be careful to use the Standard Edition/SE) or the OpenJDK. (Note: The labs use the OpenJDK.) If you install a more recent version, your code must not use features beyond those in v16 and you must cross-compile your code so that the .class files are consistent with v16. (See the CS Wiki for help.)
Eclipse v2021-06 (Integrated Development Environment)
Eclipse IDE (Be careful to use the "Eclipse IDE for Java Developers".)
Course Formatter
Checkstyle v8.42/43/44 (Static Analysis Tool)
Eclipse plugin
Course Configuration File
JUnit v5.7 (Unit Testing Framework)
The Eclipse installer should also install JUnit. Documentation
EclEmma 3.1.4 (Coverage Tool)
Documentation

1.2 Engineering Design Tools

Visual Paradigm for UML v16.3
For compatibility reasons, you must use the version that is installed in the Department's labs. The installer is available on stu.cs.jmu.edu (which you should access using a file transfer client) at /cs/shr/visual_paradigm. You must register your installation using the JMU CS Department Activation Code.
(Note: Through the Academic Partner Program, James Madison University is granted license for modeling software - Visual Paradigm for educational use.)

1.3 Telepresence/Communication/Collaboration Tools

Zoom (Teleconferencing)
JMU Login
Google Docs/Sheets/Slides/Forms (Collaboration Tools)
Google Login
Note: You must create an account that uses your JMU "dukes" eID (e.g., bernstdh@dukes.jmu.edu)
GitHub (Code Management Tool)
GitHub Login
Note: You must create an account that uses your JMU "dukes" eID (e.g., bernstdh@dukes.jmu.edu)

2 Other Useful Development Tools

There are a variety of other development tools that you might find useful as the semester progresses, including:

If you would like to use a stand-alone file transfer client you can use:

If you would like to use a terminal client you need to use an SSH client. In OS X and Linux/Unix you can use ssh from the command line. In MS-Windows you may be able to use ssh but, if not, you can use:

MSW: PuTTY

3 Alternative Tools That Might Interest You

Though we will use a specific set of tools this semester, there are alternatives that you may want to consider for other purposes, including:

Copyright 2022