How to draw a UseCase Diagram with EA
Introducing how to effectively draw SysML’s UseCase Diagram using Enterprise Architect (EA). The main elements that make up the UseCase Diagram in EA include Actor, UseCase, and Boundary. Using these tools is simpler than you might think.
UseCase Diagram Basic Configuration Method
- Create a diagram : First, create a new UseCase Diagram in Enterprise Architect.
- Boundary setting : Place a boundary on the created diagram and define the scope of the system through it. Please clearly state the name of the system you wish to develop here.
- Actor placement : An Actor represents an external element (a user or an external system) that interacts with the system. By placing it outside the Boundary, it expresses interactions coming from outside the system.
- UseCase Deployment : UseCase represents the core functions that the system must perform. These are placed inside the boundary to visually distinguish the functional elements of the system.
- Setting up a communication path : Finally, set up a communication path between the Actor and each UseCase to clearly indicate how they interact. This is usually expressed as a straight line or arrow, and visually represents the link between each function and the system’s users or external systems.
Changing the appearance of an Actor in EA
Enterprise Architect (EA) provides Stick Figure as the default shape for Actors. This is usually used to represent a person, but if the Actor needs to represent an external system, it can change its appearance. Actors representing external systems typically require a more formal and defined appearance.
How to change to a box-shaped Actor:
- Select Actor : Select the Actor you want to change in the diagram.
- Access the context menu : Right-click on the selected Actor to open the context menu.
- Change appearance : Find and select the ‘Appearance’ option in the context menu, then click ‘Use Rectangle Notation’.
Understanding UseCase Diagram Relationships in EA
Understanding Generalize Relationships
When creating a UseCase Diagram in Enterprise Architect, it is important to express the relationships between various elements. Generalize Relationship is especially used to describe the hierarchy between Actors or Use Cases. This relationship is expressed as an arrow pointing from a specialized element (child) to a more general element (parent). For example, you can segment from a general Actor called ‘Customer’ to a more specialized Actor called ‘VIP Customer’.
Include Relationship Description
Include Relationships are used to separate and modularize repetitive actions. For example, by separating the login process that is commonly performed in several Use Cases into a separate Use Case and connecting it with an Include relationship in the original Use Case, you can reduce diagram duplication and increase efficiency. This indicates that it must be performed in all parent UseCases that include the ‘Login’ UseCase.
Concept of Extended Relationship
In Enterprise Architect (EA), UseCase Diagrams help you clarify the various functions of your system and their interactions. Extend Relationship is used to indicate functionality that can be optionally added to the base UseCase. This relationship has an arrow connecting from the expanded UseCase (which is optionally executed) to the default UseCase, meaning that the optional feature is only activated in situations where it is needed.
Case Description
For example, from the default UseCase called ‘Braking’, you can extend ‘ABS UseCase’, which activates the car’s ABS system. In this case, only the ‘Braking’ UseCase is executed in normal braking situations, but the ‘ABS UseCase’ is additionally executed under certain conditions (e.g. slippery roads).
How to add Extension Point
Building UseCase scenarios in Enterprise Architect
Enterprise Architect (EA) provides a powerful scenario builder to clearly outline the requirements of complex systems and prepare for scenario-based testing. This feature allows you to design each step of the UseCase in detail and predict how the system will perform in an actual operating environment.
How to write a screenplay
- Select UseCase : Select the target UseCase in EA.
- Access the Responsibilities tab : Click the ‘Responsibilities’ tab in the ‘Property’ window of the selected UseCase.
- Using the Scenarios section : In the ‘Scenarios’ section, click the ‘New Scenario’ button to create a new scenario.
- Definition of details : Define detailed description of the scenario, pre/post conditions, constraints, etc. through ‘Structure Editor’.
Now, let’s create a scenario as an example. First, scenario information related to emergency braking is as follows.
Example: Emergency braking system scenario
Scenario title
- Emergency braking when detecting obstacles ahead
Prerequisites
- A vehicle is traveling at 100 km/h on the highway.
- The emergency braking system is activated.
- All sensors are operating normally.\
Scenario steps
- Obstacle detection : Front radar and camera sensors detect animals crossing the road.
- Risk Assessment : The system calculates the risk of collision by evaluating the speed and distance of obstacles.
- Warning Signals : Provide visual and audible warnings to the driver.
- Wait for driver reaction : Wait for driver reaction within 1.5 seconds.
- Emergency Braking : If there is no response, the system automatically brings the vehicle to a sudden stop.
- Collision avoidance : The vehicle stops safely.
Postcondition
- The vehicle must stop safely and be undamaged.
- Both drivers and passengers must be safe.
Constraints
- The sensor must detect obstacles within a range of at least 150 meters.
- The system must initiate braking within 0.1 seconds of detection.
- Braking power must be capable of stopping the vehicle safely.
Creating UseCase scenarios and diagrams in Enterprise Architect
Step 1 : Create and set up UseCase
- Create an ‘Emergent Braking’ UseCase in EA and open the Property window for that element.
- Set the Type to ‘Basic Path’ and name the scenario “Emergency braking when detecting obstacles ahead”.
- Enter a basic description to provide an overview of your scenario.
Step 2 : Activate Structure Editor
- Click the ‘Structure Editor…’ button to open the Structure Editor window.
Step 3 : Define preconditions
- Click the ‘Constraints’ tab in the Structure Editor and press the ‘Add New’ button.
- Enter the three preconditions below in Constraint, set the ‘Type’ of each condition to ‘Pre-condition’ and ‘Status’ to ‘proposed’ and save.
- The vehicle is traveling at normal speed (e.g. 100 km/h) on the highway.
- The emergency braking system is activated.
- All sensors are operating normally.
Step 4 : Enter the Scenario Steps
- Enter each step of the example scenario in the ‘Action’ column.
- Enter additional information such as ‘Uses’, ‘Results’, and ‘State’ for each Action. (For specific information, please refer to the document)
Step 5 : Set Postconditions and Constraints
- In ‘Constraint’, add the post-condition by setting it to ‘Post-condition’ and the constraint to ‘Invariant’.
Step 6 : Create a diagram
- Create an Activity Diagram based on the scenario created through the ‘Generate Diagram’ function.
- Select ‘Generate Diagram → Activity’ to create an Activity Diagram and check the results.
EA’s Scenario Builder offers a variety of features and can be a great help in the systems engineering process. As a beginner in this field, I am not fully familiar with all the features of Scenario Builder. However, in my experience, using only the basic features of this tool is effective enough for most practices.
EA provides in-depth knowledge and support for using a variety of tools, including Scenario Builder. In particular, there are many materials designed for beginners or those who want to learn in-depth, so we recommend using these materials. If you need additional information, we recommend referring to EA’s official documentation, online forums, and training materials.
If you are interested in other articles about the basic Knowledge of SysML with EA, please refer to the links below!
[SysML] #1. Understanding SysML Diagrams
[SysML] #2. Understanding SysML Package Diagram
[SysML] #3. Understanding Dependencies of Pkg Diagram
[SysML] #5. Understanding SysML Requirement Diagram
[SysML] #6. Understanding Relations In Req Diagram
[SysML] #7. How to draw a Req Diagram with EA
[SysML] #8. Understanding SysML UseCase Diagram
[SysML] #10. Understanding SysML bdd Diagram
[SysML] #11. Understanding SysML ibd Diagram
[SysML] #12. Understanding Part Property of Block
[SysML] #13. Understanding Reference Property of Block
[SysML] #14. Understanding Value Type
[SysML] #15 Understanding Parametric Diagram
[SysML] #16. Understanding Flow Property
[SysML] #17. Understanding Port and Association Block
[SysML] #18. Understanding Behavior of Block
[SysML] #19. Understanding Generalizations
[SysML] #20. Understanding Dependencies, Allocate, Comment
[SysML] #21. Understanding Activity Diagram
[SysML] #22. How to draw a Activity Diagram with EA
[SysML] #23. Seq Diagram LifeLine and Message
[SysML] #24. Seq Diag Constraints Fragment Decompose
[SysML] #25. How to draw a Sequence Diagram with EA
[SysML] #26. Understanding Stm Diagram State and Transition
[SysML] #27. Understanding Stm Diagram Event Pseudostate Region