SysML

[SysML] #8. The Complete Guide to SysML Use Case Diagrams: From Concept to Practical Examples

AutoSysEng 2025. 6. 28. 23:19

 

Still confused by SysML Use Case Diagrams? We'll teach you everything from A to Z about understanding system functions and user interactions at a glance. Let's take the first step together in clarifying complex system requirements and communicating smoothly with all stakeholders!

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.
💡 Good to know!
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.).
⚠️ Be careful!
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

Define Purpose: Clarify the system's 'what' and 'who' to define functional requirements and interactions.
Key Elements: Consists of Actors, Use Cases, System Boundary, and the relationships between them (Association, Include, Extend).
Distinguish Relationships:
«include»: Mandatory, common function / «extend»: Optional, extended function
Write Specifications: A complete requirements definition is only possible by writing a specification with detailed scenarios, pre/post-conditions, along with the diagram.

 

Frequently Asked Questions (FAQ) ❓

Q: Why are Use Case Diagrams important?
A: 👉 Because they help to detail requirements at the initial project stage by clearly defining the services the system must provide and its interactions with users, facilitating smooth communication among all stakeholders. It acts as a compass that sets the direction for the design.
Q: What is the difference between «include» and «extend» relationships?
A: 👉 'Include' is a mandatory relationship where another use case must be executed when one use case runs (e.g., 'Login' is included in 'Payment'). In contrast, 'extend' is an optional relationship that is executed only when certain conditions are met (e.g., 'Apply Discount Coupon' extends 'Payment').
Q: Are Actors only humans?
A: 👉 No. An actor refers to any external entity that interacts with the system. This includes not only human users but also other external systems, hardware devices, and more. Non-human actors are usually represented by a rectangle.

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!

[SysML] #8. Understanding SysML UseCase Diagram.html
0.16MB