ClassDiagrammer Software Engineering Documentation

 

1. Introduction

 

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

 

 

Figure 1: A typical class diagram

 

 

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

 

2. Requirements Overview

 

3. Usage Scenario

 

4. Functional Requirements

 

5. Non-functional requirements

 

Design

 

6. Fundamental Concepts

 

7. System Structure - The 30,000 ft view

 

8. Subsystem objects and interfaces

 

9. Primary Data and Objects

 

 

 

Download a Java executable of the ClassDiagrammer (ClassDiagrammerApp.jar)

 

Download a sample diagram created by the ClassDiagrammer (BankAccountClasses.cd)

 

 

Copyright © 2009 John Keklak.  All rights reserved.  Based on version 090515a.