05-830, User Interface Software, Spring 2000

Use Case Diagram Tool Benchmark Description
Ashwini Bhide


Introduction
The Unified Software Development Process which uses the Unified Modeling Language (UML) is extensively used to implement software systems. An important step in this process is to identify actors and use cases - which enables the user to find the actual requirements of a system. A tool is required to represent the Use Case Model in a simple graphical way, which will be understandable by users and customers.

The tool will be a graphical editor by which the user can depict the various actors who will interact with the system to be designed and their use cases which are actions that the system performs to give output to the actor. These and the relationships between them represent the use case model. 

This interface will be representative of the direct manipulation interface where the objects on screen can be selected and moved with the help of a pointing device such as a mouse. The actors and use cases can be moved around freely on screen with the pointing device. It is up to the user to determine the positioning and balance of the objects in the model. The relationships between the objects will be represented as lines with an arrow at one end. The arrow will start from the initiator and point towards the passive object e.g. If the actor initiates the use case, the arrow will point towards the use case, but if the system initiates the use case, the arrow will point to the actor. These lines will be anchored to the centers of the objects and will maintain their link even if the objects are moved. 

This interface will be similar that provided by Rational Rose for depicting Use Case Diagrams. Rational Rose provides a lot of other functionalities which are not considered for this benchmark 



Description
The working window will have two sections. One will contain the palette  and the other will be the workspace. There will be a menu bar on top.

Palette 
The palette will have four buttons - one for selecting an object, in which case a mouse click would highlight the object and it can be moved around on screen. 
The next button would be for drawing an actor, and a stick figure will be placed on screen at the location of the mouse click. 
The third would be for representing a use case and an oval would be placed on screen at the location of the mouse click. 
The actor and the use case objects have to be given unique identifying names and will be given an automatic name if the user has not entered a name. The names can be edited at any point by the user by using the edit button, or by highlighting the text and overwriting it. 
The actor and use objects are not resizable (they could be - but I don't think that serves much purpose, especially since the names will be entered below the icons and so their length is not an issue). 
If two objects overlap then the last one selected will be on top.
The fourth button would be for the relation line, and the arrow will point from the first object on which the mouse is clicked to the second object on which the mouse is clicked, if the restrictions are not being violated. These lines will be anchored to the centers of the objects and will maintain their link even if the objects are moved. The constraint is that an arrow between two use cases or two actors will not be permissible.

Menu
The menu will have two buttons - File and Edit

The file button will have a pop up menu with two commands - new and exit. New will bring up a fresh workspace. Exit will exit the program. Open and Save File commands are not being implemented for the benchmark. 
The edit button will be a pop up menu with standard editing commands like rename, copy, cut, paste and delete. First the object will have to be selected by the mouse and then any of the edit commands can be selected. The delete command can be used for deleting any of the objects on screen. . The constraints are - a line can be freely deleted, but if an actor or use case is deleted then all lines from or to that object must be deleted too. 
Only single selection will be considered for this benchmark.

Workspace
This will be that section of the window where the objects will actually be placed and the use case model composed, and as such would occupy maximum screen area. Scroll bars will be provided, since larger area than shown on screen may be required to draw the complete model.



Limitations
For simplifying the implementation certain features are not included - open file and save file, resizable objects, undo, multiple selection etc.

Programming Environments

Visual Basic

Tcl/Tk

Java Swing

Amulet