Behavioral Diagrams: Use Case Diagrams
SysML Behavioral Diagram Types
Behavioral Related
5. Use Case Diagrams (uc)
what the system can do for the users
6. Activity Diagrams (act)
process & flow
7. State Machine Diagrams (stm)
modes of system
8. Sequence Diagrams (seq)
message flow over time
Use Case Diagrams (uc)
What is a SysML Use Case diagram? Several Different Definitions from the Experts
Definition 1:
Use Case diagram (uc): A Use Case diagram shows communications among system transactions (Use Cases) and external users (Actors) in the context of a system boundary (Subject; notation: rectangle). Actors may represent wetware (persons, organizations, facilities), software systems, or hardware systems. Defining relationships between the system Subject and the system Actors is an effective informal way to define system scope.
Definition 2:
The Use Case diagram is used to define and view Use Cases and the Actors that derive value from the system. The Use Case diagram describes the relationship between the Actors and the Use Cases, enclosing the Use Case within a Boundary that defines the border of the system; the Actors, by definition, lie outside the Boundary. While the Use Case diagram can appear simplistic, it is a powerful communication device that describes the value or goals that external roles obtain from interacting with the system. Each Use Case can be detailed with descriptions, constraints and any number of scenarios that contain sets of steps performed alternately by Actor and system to achieve the desired goal.
Key Takeaway:
The use case diagram is used early on in the system development during the brainstorming phase of the project where engineers are trying to wrap their heads around what they system of interest is and what it should do from the 50,000ft view. The engineers haven't decomposed the system at this point or have a list of 300+ requirements available to clearly bound the problem. The use case diagram creation acts as a whiteboarding exercise for engineers to throw darts (use cases) up on a wall and provide direction for further refinement (behavioral decomposition).
Use Case Diagram (uc) Example
The coloring scheme of the diagram above is the SysML representation within the Cameo tool. The diagrams below are excerpts from "OMG Systems Modeling Language (OMG SysML) Version 1.2 and will give examples about the syntax of the language. Download the book here. For more helpful resources, go here.
Toaster Example
This is a use case for a toasting system. Notice that this diagram is created at the beginning phase of a project where the designer is trying to bound the problem. The designer is trying to understand what the system of interest is meant to do. This diagram is intended to help the designer/architect/system engineer brainstorm. "Toaster" and "Oven" are potential solutions or alternatives to explore later when the problem space has been properly constrained. There is an <<extend>> relationship from the main use case, "Toast Food". This is meant to show a special case which is important to capture.
Oscillating Fan Example
This is a use case diagram to explain how a "cooling system " conceptual system would be able to be developed into an actual product. The use cases were derived from the user needs. The list of alternatives were created as possible solutions to most effectively complete the use cases.
If this example was continued further by refining the stakeholder needs, a solution would become more evident. The alternatives would be evaluated, and a specific design solution would be selected.
When to use a uc
Definition 1:
The Use Case diagram can be used to define the details of a Use Case and its Scenarios and Constraints. This is a welcomed alternative to the traditional text-document based approach commonly used to define Use Cases. This ensures that the Use Case diagram and the textual details of the Use Cases and its Scenarios and Constraints are all contained in the same model and can be traced. If the Use Cases are required to be presented in a document format for contractual or process reasons, a Use Case Report can be generated automatically from the models using the in-built documentation engine.
What is the purpose of a uc?
Purpose
The purpose of Use Case diagrams is to provide a high-level view of the subject system and convey the top-level system requirements in non-technical terms for all stakeholders, including customers and project managers as well as architects and engineers. Additional more rigorous SysML diagrams are needed to specify a scalable and simulatable System Architecture Model (SAM).
Cameo uc Toolbar
Elements of a Use Case Diagram
Use Case: A Use Case (notation: oval/ellipse) represents a system transaction with an external system user, called an Actor (notation: stick-figure). Use Cases are sometimes considered high-level functional requirements. Source & More Info
The main elements that can appear in Use Case diagrams are:
Actor: Actors can be denoted with a stick man icon or a normal block. They represent people, groups, or external systems which would interact with the system-of-interest. These actors are placed outside of the system-of-interest on the diagram and connect to use cases with an association link.
Use Case: This is an oval which is placed on the system-of-interest within the use case diagram. The use case is a verb phrase which explains what the system is expected to do. Actors will typically connect/interact with these use cases.
The main connectors that can appear in Use Case diagrams are:
Include: This is a use case which is included in the base use case.
Extend: This is a special case but notable use case which occurs when a certain set of events occurs.
Association: This is the link between Actors and Use Cases which represents some sort of interaction is anticipated between the system-of-interest and the actor when the use case is performed.