Use Case Diagram
Contents
Rationale and Underlying Metamodel
The OMG UML 2.5.1 specification states:
A UseCase is a specification of behavior.
UseCases are a means to capture the requirements of systems, i.e., what systems are supposed to do. The key concepts specified in this clause are Actors, UseCases, and subjects. Each UseCase’s subject represents a system under consideration to which the UseCase applies. Users and any other systems that may interact with a subject are represented as Actors.
A UseCase may apply to any number of subjects. When a UseCase applies to a subject, it specifies a set of behaviors performed by that subject...
Each UseCase specifies some behavior that a subject can perform in collaboration with one or more Actors. UseCases define the offered Behaviors of the subject without reference to its internal structure‘OMG Unified Modeling Language (OMG UML™). Version 2.5.1’, The Object Management Group, formal/2017-12-05, Dec. 2017. https://www.omg.org/spec/UML/2.5.1/PDF.
TRAK Resource elements (Job, Organisation, Physical, Role, Software and System) can be used instead of the Actor element. They can be used as the object of a Use Case or as collaborators with the object of the Use Case.
Elements and Connectors (Triples) - Linking Use Case Diagram with TRAK
Note that linking the UseCase to both the subject and collaborating Resources enables better traceability in repository searches rather than indirectly via UseCase - object Resource - collaborator Resource that the UML suggests is the only traceability.
Role names of 'collaborator' and 'subject' help make explicit which Resource is the focus of the Use Case Diagram and those which are associated with the Use Case.
- UseCase applies to (subject) Resource
- UseCase defines collaboration with (non subject) Resource
In the TRAK metamodel a Standard and Contract are normative artefacts and may contain atomic Requirements‘TRAK00002. TRAK. Architecture Framework. Metamodel’, TRAK00002, Apr. 2025. https://sourceforge.net/projects/trakmetamodel/. , hence:-
- UseCase refines Contract
- UseCase refines Requirement
- UseCase refines Standard
In the TRAK metamodel Contract, Requirement and Standard may govern any Architecture Description Element hence also UseCase and similarly in the reverse compliance or conformance direction using 'satisfies'.
Example Use Case Diagram
The following dummy Use Case Diagram was prepared using Sparx Systems Enterprise Architect.
A UML Use Case Diagram Annotated with TRAK Elements - Claim, Requirement, Resource (Job), Standard
A SysML Use Case Diagram Annotated with TRAK Elements - Claim, Requirement, Resource (Job), Standard
Features
Bare Profile
The bare UML profiles provide a set of node and connector elements which allow the triples shown on the metamodel diagram above to be created.
UML
The TRAK (UML) profile from trakumlprofile provides Resource elements (Job, Organisation, Physical, Role, Software and System).
The UML-TRAK profile (this project) provides UseCase, applies to, defines collaborator as, extend, include, refines, specializes which inherit properties from the TRAK Architecture Description Element provided by the (TRAK) profile.
SysML
The SYSML-TRAK profile (this project) extends the TRAK_SYSML profile from trakumlprofile providing Resource elements (Job, Organisation, Physical, Role, Software and System) as SysML Block elements.
The SYSML-TRAK profile (this project) extends the TRAK-UML profile (this project) and provides UseCase, applies to, defines collaborator as, extend, include, refines, specializes.
MDG (Sparx Systems Enterprise Architect)
The MDG for Sparx EA uses the bare UML and SysML profiles and also other Sparx EA-only profiles that provide functionality and modify the user interface within Sparx EA.
Custom Toolbox Provides the Elements to Create UML Use Case Diagram
The MDG for Sparx EA when loaded provides:-
- customised toolbox palette adding
- QuickLink - auto-completion/creation of triples shown in the metamodel fragment
- custom traceability pane
- searches (in addition to c 60 searches provided by the MDG for TRAK)
- Repository - All Use Cases
- Analysis - Requirements Refined by Use Case
- Analysis - Use Cases applied to Resources
- Analysis - Use Cases with Subject or Collaborating Resources
- Quality - Use Cases with no Collaborating or Subject Resource
- automatic display switch of 'collaborator', 'subject' role name based on 'display target role' property value
- custom presentation format for elements
- hiding of guillemets (« ») on node and connector element labels (where EA allows!)
- display of Use Case identifier in label based on 'id' property value
Custom Traceability Pane Labels (Sparx Enterprise Architect) - Use Case 1 Selected
Note that simply placing a UseCase inside another element (e.g. 'Job2' Resource) creates an invisible 'owns' relationship which isn't otherwise visible - hence the 'owned by' in the reverse direction shown above. This is standard behaviour of the UML and the SysML.
The UML / SysML with TRAK is subject to the terms of open source license: (CC BY-SA 4.0) Creative Commons Attribution-ShareAlike 4.0 International license (version 4 ) at https://creativecommons.org/licenses/by-sa/4.0/.