docmachine/images/sample-usecases.uml

119 lines
2.7 KiB
Plaintext

@startuml
''
'Setup skin'
''
skinparam shadowing false
skinparam monochrome true
'skinparam linetype ortho
''
' Define direction'
''
'top to bottom direction'
left to right direction
''
' Define actors'
''
actor User
actor Administrator as Admin
actor Visitor
''
' Define related actors'
''
:Admin: -|> :User:
:User: -|> :Visitor:
''
' Define use-cases'
''
rectangle "Event Management" {
usecase "Delete event" as event_delete
usecase "Create event" as event_create
}
rectangle "Participation" {
usecase "List events" as event_list
usecase "Filter/Show future events" as event_list_future
usecase "Filter/Show past events" as event_list_past
usecase "Filter/Show all events" as event_list_all
usecase "Filter/Show confirmed events" as event_list_confirmed
usecase "Filter/Show declined events" as event_list_declined
usecase "Confirm participation" as event_participation_confirm
usecase "Decline participation" as event_participation_decline
note as event_participation_type_note
Participation type can be either:
- UNKNOWN (default)
- NONE
- TO_CONFIRM
- CONFIRMED
end note
(event_participation_confirm) .. event_participation_type_note
(event_participation_decline) .. event_participation_type_note
usecase "Set participation content" as event_participation_content_set
note right of (event_participation_content_set)
Either:
- TEXT (default)
- MUSIC
- COMMENT
end note
usecase "Set participation location" as event_participation_location_set
note right of (event_participation_location_set)
Either
- LOCATION_REMOTE (default)
- LOCATION_STUDIO
end note
usecase "Set participation metadata" as event_participation_metadata_set
note right of (event_participation_metadata_set)
Metadata (author, title, etc)
end note
usecase "View incomplete tasks\nfor next events" as task_list_incomplete
note right of (task_list_incomplete)
Examples:
- missing details,
- missing subscription information
end note
}
rectangle "Public pages" {
usecase "Access to public pages (?)" as static_read
}
''
' Link actors with use-cases and related use-cases'
''
:Visitor: --> (static_read)
:User: --> (event_list)
(event_list) --> (event_list_future)
(event_list) --> (event_list_past)
(event_list) --> (event_list_all)
(event_list) --> (event_list_confirmed)
(event_list) --> (event_list_declined)
:User: --> (event_participation_confirm)
(event_participation_confirm) --> (event_participation_location_set)
(event_participation_confirm) --> (event_participation_content_set)
(event_participation_confirm) --> (event_participation_metadata_set)
:User: --> (event_participation_decline)
:User: --> (task_list_incomplete)
:Admin: --> (event_create)
:Admin: --> (event_delete)
@enduml