Skip to content

Use case diagram

Package«Stereotype»«Stereotype»Use caseActor«Stereotype»NoteAdditional use case
Package«Stereotype»«Stereotype»Use caseActor«Stereotype»NoteAdditional use case

@startuml
  actor "Actor" <<Stereotype>>
  note right of :Actor:: Note

  package "Package" <<Stereotype>> {
    usecase UseCase as "Use case" <<Stereotype>>
  }

  useCase UseCase2 as "Additional use case"

  :Actor: --> UseCase
  UseCase <|-- UseCase2
@enduml

Example

UserDeveloperApplication ManagerDataWorkbenchGet human-readable feedbackGet machine-readable feedbackAccess an APIRun the validator softwareAccess a web serviceaccessoperate
UserDeveloperApplication ManagerDataWorkbenchGet human-readable feedbackGet machine-readable feedbackAccess an APIRun the validator softwareAccess a web serviceaccessoperate

@startuml

actor user as "User"
actor developer as "Developer"
actor appman as "Application Manager"
actor dwb as "DataWorkbench"

user <|-- appman
appman <|-right- developer
developer <|-right- dwb

usecase hfeedback as "Get human-readable feedback"
usecase mfeedback as "Get machine-readable feedback"
usecase api as "Access an API"
usecase run as "Run the validator software"
usecase ws as "Access a web service"

(api) <|-- (mfeedback)
(api) <|-- (hfeedback)
(run) <|-- (api)
(ws) <|-- (run)

user --> (ws)

appman -> (api): "access"

developer -down-> (run)

dwb -> (ws): "operate"

@enduml