Use Case Diagram |
The use case diagrams describe system functionality as a set of tasks that the system must carry out and actors who interact with the system to complete the tasks.
|
|
Each use case on the diagram represents a single task that the system needs to carry out. Buy a Product, Add Client, Make Purchase and Validate Order Information are all examples of use cases. Some use cases may include or extend a task represented by another use case. For example, in order to make a purchase, the order information will need to be validated. |
|
|
An actor is anything outside the system that interacts with the system to complete a task. It could be a user or another system. The actor "uses" the use case to complete a task. System Administrator, Credit Authentication System, Accounting System and Web Client are all examples of actors. Often, it is useful to look at the set of use cases that an actor has access to -- this defines the actor's overall role in the system.
|
The association is the link that is drawn between and actor and a use case. It indicates which actors interact with the system to complete the various tasks.

Use the includes link to show that one use case includes the task described by another use case. For example, saving a Visual Case project includes saving the diagrams and saving the project settings. Sometimes the word "Uses" is used instead of "Includes".

The generalization link is an informal way of showing that one use case is similar to another use case, but with a little bit of extra functionality. One use case inherits the functionality represented by another use case and adds some additional behaviour to it.
The extends link is used to
show that one use case extends the task described by another use case.
It's very
similar to generalization, but is much more formalized.
The use case that is extended is always referred to as the base use case and has one or more defined extension points. The extension points show exactly where extending use cases are allowed to add functionality. The extending use case doesn't have to add functionality at all of the base use case's extension points. The extension link indicates which extension points are being used.
Related Topics: