Classification of Use Cases

There are three types of Use Cases.

user goal: describes how user’s goal is reached by interacting with the system. Something, that user want to achieve with system usage, end-to-end.

subfunction: used to factor out “subgoals” required to achieve a goal. For example, “buy ticket” can be a user goal, but “select destination” is not a user goal, but a subfunction.

operation: everything that is “smaller” than a subfunction is considered being “too low” for its own use case

Untitled

Includes Extends

<<include>> ~ sub use case “call”

<<extend>> ~ a possible extension, the extended use case is “unaware”

Use Cases and Control Flow

Important: use cases do not represent the control flow, only functional entities. For example, Techniker and Wartungspersonal have different user goals. But they both have to use menu → for all user goals the Menu subfunction will be used.

Untitled

Identify user goals use cases

Boss Test - imagine your boss asks you what you have been doing all day? If you would name some action, it is a candidate for user goal. “I have been creating customer accounts” is not a good thing to tell → subfunction.

Coffee break test - finish a use case when would you intuitively make a coffee break. Would you leave your computer fora coffee after you have searched the customer data you need to edit? Or rather after you have edited and saved the data?