ClassDiagrammer Software Engineering Documentation

 

1. Introduction

 

Requirements

 

2. Requirements Overview

 

3. Usage Scenario

 

4. Functional Requirements

 

 

This section provides a list of functional capabilities referenced by the scenario presented above.  The prefix ‘(x)’ was added to each item as it was completed during implementation.

 

The user of the class diagramming app shall have the ability to:

 

(x) (1) Create a class label

 

Test case:

 

(a) Start the ClassDiagrammer App.

(b) Right-click in the client area.  The context menu appears.

(c) Move the mouse onto the "New Label>" item in the context menu.  The label type submenu appears.

(d) Select the "Class" item in the label type submenu.  A dialog for entering the class name appears.

(e) Enter "BankAccount" for the class name in the edit box in the dialog.  Click the OK button.  A class label with text "BankAccount" appears.  The bottom center of the label is located at the point where the right-click occurred.

 

 

(x) (2) Create a class member (data or method) label

 

(x) (3) Create an interface label

 

(x) (4) Create an interface method label

 

(x) (5) Link a class label to a member label

 

(x) (6) Link a class label to another class label to indicate inheritance

 

(x) (7) Link a class label to another class label to indicate usage

 

(x) (8) Link a class data member to a class label indicating its type

 

(x) (9) Link an interface label to a class label to indicate that the class implements the interface

 

(x) (10) Link an interface label to a method label to indicate the method is a member of the interface

 

(x) (11) Change the text of a label

 

(x) (12) Hide labels and links; optionally display hidden labels and links in light gray to remind user that these labels and links still exist

 

(x) (13) Delete labels and links

 

(x) (14) Reposition a label by dragging it

 

(x) (15) Add bends to links

 

(x) (16) Add forks to links; specifically create a link by starting at an internal vertex of a bent link

 

(x) (17) Reposition a vertex of a link by dragging it

 

(x) (18) Display a key; allow it to be repositioned by dragging

 

(x) (19) Add notes to annotate a class diagram

 

(x) (20) Put a green ‘+’ on a label or link to indicate that it is proposed to be added

 

(x) (21) Put a red ‘X’ on a label or link to indicate that it is proposed to be deleted

 

(x) (22) Save a diagram to a file per conventional ui

 

(x) (23) Read a diagram from a file per conventional ui

 

 

 

 

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.