COMP 310

Use Cases

    Current Home  Java Resources  Eclipse Resources

Use Cases

A use case is an example of how a user might interact with an application. To develop an application, one of the very first things that a developer must work with the customer to collect and analyze as many use cases as possible. It is from these use cases that a picture is built up that tells the developer how exactly the user (or any external entity) will interact with the system being built and thus how the sytem needs to be built.

Use cases give a high-level picture of the chain of processes that an application needs to perform in order to specific tasks.    Generally, use cases start from the user desiring to do something, but can also be thought of in terms of either internal or external services that are offered.   When viewed together, multiple use cases will become an graph of operations.

Use Case References:


Use Case Diagrams

A Use Case Diagram (a standard type of UML diagram) is used to visually represent a use case.  Use case diagrams model the interactions between the tasks a system performs and external entities that need those tasks performed.

 The main components of Use Case diagrams are the "actors", the users or other external entities, and the various components of the system being built. Arrows are used to indicate interactions between components.


Example Use Case Diagram

Use Case example
(Note:  Example diagram does not show all the features described below.)

Features to be found in use case diagrams:


 Relationships in a use case diagram


REMEMBER:  The (open) arrows between the individual uses cases in a use case diagram represent composition, not relative temporal execution!

When a use case has arrows (open arrowheads) pointing to other use cases, it means that use case is composed of the referenced use cases.    It does NOT mean that one use case is executed and then the next is executed.   If a temporal ordering of the use cases needs to be indicated, simply number the arrows to indicate the order in which the component use cases are executed in order to generate the overall use case.  Convention is for the tasks to be ordered in temporal order from top to bottom in the diagram.


Use Case-driven System Block Diagrams

System block diagrams are the next developmental stage after creating Use Cases.   These high-level modularizations of a system can be directly generated by simply organizing a well-constructed use case diagram.

For more information, see the Java Resources page on Use Case-driven System Block Diagrams.


© 2017 by Stephen Wong