Overview
The program that I downloaded is called JConvert, and can be found at https://sourceforge.net/projects/jconvert/. It is a unit conversion program that provides a simple and easy-to-use GUI.
Prime Directive #1 - The system successfully accomplishes a useful task
JConvert satisfies Prime Directive #1. It features a plethora of unit conversions that are useful in the fields of physics, chemistry, math, computer science, and engineering.
Prime Directive #2 - An external user can successfully install and use the system
JConvert satisfies Prime Directive #2. The program is packaged as an executable jar file called "jconvert-1.0.9.jar" that only needs to be double-clicked to run. As shown in the first image above, I was able to obtain an accurate conversion from 1 megabyte to 1024 kilobytes.
Prime Directive #3 - An external developer can successfully understand and enhance the system
JConvert partially satisfies Prime Directive #3. The author provided another site http://jconvert.sourceforge.net/howto.html and specific details on how to modify and add your own conversions to the program. Javadoc files were also included.
However, the author did not make source code readily available as the executable was packaged as a .jar file. I extracted the contents of the .jar file as shown below
Furthermore, the source files were all in .class format. The only way to see the actual source code was to decompile the .class files. I proceeded to download and use a nifty Java decompiler from http://java.decompiler.free.fr/.
The major drawback is that in-line documentation and comments cannot be restored from decompiling a .class file. Despite these difficulties, a developer would be able to understand and enhance the system by using a decompiler and the Javadoc files provided on the author's site (although with significant effort).