Offline Documentation:

See examples on this page Structure Charts: http://www.ecst.csuchico.edu/~amk/foo/csci151/structure.html

A Structure chart (or Object Model) shows each class used in a program via the following:

(1) each class is enclosed in a "box" which has three parts - its name, its instance and class variables, its methods.

(2) classes are connected via lines which indicate one of the following: inheritance (is-a) (graphics on line is a triangle), aggregation (part-of) (graphics on line is a diamond), and "association" (graphics on line is a line with the name of the association.). Association names should be descriptive. This means, say more than one class "uses" another...that is obvious.

See examples on this webpage.

This can either be put on a web page (preferred...see how to make snapshots of screens ) OR faxed to me at the number: 530-898-5995.

Some tools to help build structure charts are often found in IDE's. Here is a page with some free (and/or open source) tools. Some students have made fine object models with Word and Paint as well.

OR, can be mailed to me at:

          Anne Keuneke
          Department of Computer Science
          California State University, Chico
          Chico, CA 95929-0410

Inline Documentation:

Classes:

* Variables

* Methods

You should provide an ADT for each class (what are the classes imports (classes and methods it will require), exports (class and methods it provides); what are each methods pre- and post-conditions, etc). Class definitions, variables and methods should all also have documentation stating the purpose of the construct. That is, what is it (the class, the method, the variable) for? ... why is it here? This information can go with the ADT specs. If you use /** and */ for comments, you can have both inline documentation and using javadoc, you can have nice web pages to show the docs in java API format from a webpage.

Algorithms

* It should be clear what a piece of code is for. If not, document it.

* If you borrowed any code (whole class, a method, part of an algorithm) from any "library" (this includes getting it off of the web), you should indicate its source and be clear about what was theirs and what is yours.