Use cases

Instructor's Guide

introduction class diagrams use cases interaction packages state and activity discussion
Use cases define typical interactions between the user and the system. In other words, use cases define the boundaries between a system and its users. Use cases are critical in eliciting the functional requirements a system must satisfy.

slide: Use cases

A typical use case consists of an actor or role and a more or less detailed description of the actions that an actor performs to accomplish some task. A task may for example be the insertion of text, or the creation of a particular figure in a drawing editor. A distinction must be made between the overall goals of a user, like making a decent drawing, and the actions that must be performed to satisfy these goals. Only the latter can be the subject of use cases.

When defining a use case, other use cases can be (re)used, either through the extends or through the uses relation. The extends relation is similar to the inheritance relation for classes. The extending use case may override aspects of the extended use case. The uses relation is used to factor out common parts.