When designing complex systems, have you ever felt lost, asking "Who is this function for, and how should it interact?" I'm sure we've all been there. I know I have. There were many times when functions were so intertwined that I didn't know where to start. Whenever that happened, I found SysML's Use Case Diagrams to be a real lifesaver. 😊
Today, we're going to take an easy, in-depth look at this powerful tool that clearly defines a system's functional requirements and visually represents the interactions between users and the system: the Use Case Diagram.

The Core Role of SysML Use Case Diagrams 🎯
A Use Case Diagram isn't just about drawing a few pictures. It plays a crucial role in the early stages of systems engineering. Let's pinpoint its key roles.
- Clarifying System Boundaries: It clearly defines the scope of a system—what it should and shouldn't do. For example, a hospital management system would include patient management and scheduling systems but exclude an unrelated parking management system.
- Understanding User Interactions: It visually represents the interactions between the system and users (actors), helping designers to more accurately grasp user requirements and define necessary services.
- Enhancing Stakeholder Communication: By presenting complex system functions in a form that even non-experts can easily understand, it serves as an important communication tool between the development team and other departments or clients.
- Detailing Requirements: Each use case represents one or more system requirements. This helps to clarify the problems the system must solve and the services it must provide.
Use Case Diagrams are especially essential when establishing the system's Concept of Operations (ConOps) in the early stages. By clearly defining how the system will actually work and what user expectations are, it acts as a compass that sets the direction for the design.
Understanding the Basic Structure & Key Elements 🔍
To draw a proper Use Case Diagram, you need to know the basic components. It's largely composed of Actors, Use Cases, a System Boundary, and the relationships between them.
| Element | Notation | Description |
|---|---|---|
| Actor | Stick figure icon or a rectangle with the «actor» keyword | A user or external system that interacts with the system (e.g., person, device, another system). |
| Use Case | Ellipse | A specific function or service provided by the system (e.g., 'Purchase Product', 'Create Account'). |
| System Boundary | A rectangle enclosing the use cases | Visually separates the system's scope from the outside world. |
| Relationship | Solid lines, dashed arrows, etc. | Interactions between actors and use cases, or between use cases (Association, Include, Extend, etc.). |
Among the relationships between use cases, «include» and «extend» are very easy to confuse! Remember that 'include' is used for common functionalities that must be executed (e.g., 'Login' is included in all payment processes), while 'extend' is for optional functionalities that are executed only under certain conditions (e.g., 'Apply Coupon' extends the payment process).
How to Write a Use Case Specification 📝
Just drawing the diagram isn't enough! The requirements only become clear once you write a Use Case Specification that details the contents of each use case. The specification provides much more information than a simple name and is a key to the project's success.
📝 Guide to Writing an Effective Specification
- Narrative-driven Approach: Focus on the 'story' of how the actor interacts with the system rather than on technical details. It's much easier to understand if you write in a narrative style, like "When the user presses the ~ button, the system displays ~."
- Core Success Scenario: First, define a single, ideal flow for when the use case executes normally (the success scenario).
- Alternative and Exception Flows: Additionally, define alternative/exception flows for errors or exceptional situations that might occur to specify how the system should respond.
- Specify Pre- and Post-conditions: Clearly defining the 'pre-conditions' that must be met before the use case begins and the 'post-conditions' that must be met after it completes makes the criteria for success clear.
- Utilize Visualization: Once the text is organized, visualizing it with tools like SysML Activity Diagrams can make even complex scenarios easy to understand at a glance.
SysML Use Case Diagram Key Summary
Frequently Asked Questions (FAQ) ❓
Do you have a better feel for SysML Use Case Diagrams now? There's likely no better tool for systematically organizing a system's seemingly complex functions and communicating clearly with your project team members. Be sure to apply what you've learned today to a real project! If you have any more questions, feel free to ask in the comments~ 😊
This article is a re-reation of the core content of the article I wrote last year using AI. If you are interested in the original article, please refer to the HTML below!