1.
Introduction
This
document contains software engineering information for developing an
application for creating class diagrams.

These
diagrams communicate traditional relationships such as class hierarchy, along
with somewhat less traditional relationships such as “uses/accesses”.
The
square on each link represents the "subject" end, and indicates which
member of a linked pair is the subject of a sentence expressing the
relationship. For instance, the CheckingAccount class is the subject in the
relationship with the BankAccount class, and therefore the sentence expressing
the relationship between the two classes is: "The CheckingAccount class is
a kind of BankAccount".
Likewise,
the BankAccount class is the subject in the relationship with the printSpooler
object, and thus the relationship statement in this case is: "The
BankAccount class uses the printSpooler object to generate monthly statements."
The
engineering information is divided into to main sections: requirements and
design. The requirements section begins
with a descriptive scenario, from which requirement “elements” are extracted. The design section uses these elements to
develop and overall architecture, UI and internal details, and provides a
top-down description of the system, with the lowest-level details expressed as
“issue-solution-link” statements.
Requirements
5. Non-functional requirements
7. System Structure -
The 30,000 ft view
8. Subsystem objects and interfaces
Download a Java executable of the ClassDiagrammer
(ClassDiagrammerApp.jar)
Download a sample diagram created by the
ClassDiagrammer (BankAccountClasses.cd)