Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save rotaris/960014 to your computer and use it in GitHub Desktop.

Select an option

Save rotaris/960014 to your computer and use it in GitHub Desktop.
Usecase
participant "«actor»\nTravel Coordinator" as TC
participant "«boundary»\nUI" as UI
participant "«controller»\nTFS" as TFS
note left of TFS
Travel Forms System
(administrative backend)
end note
participant "«actor»\nDatabase" as DB
participant "«actor»\nTraveller" as T
TC->UI: Log in credentials
activate TC
activate UI
UI->TFS: authenticate(credentials)
activate TFS
TFS-->UI: Authentication Success
UI-->TC: Authentication Success
TC->UI: selectTripApplication()
UI->TFS: retrieveTripApplication()
TFS-->UI: trip application
UI-->TC: selectTripApplication
loop check status
TC->UI: setApprovalStatus(TravelDiary,status)
TC->UI: setComment(TravelDiary)
TC->UI: setApprovalStatus(AbsenceOnDuty,status)
TC->UI: setComment(AbsenceOnDuty)
TC->UI: setApprovalStatus(TravelBudget,status)
TC->UI: setComment(TravelBudget)
TC->UI: saveApproval()
UI -> UI: package = \ncreatePackage
UI -> TFS: setApplicationPackage(package)
end
UI->TFS: updateTravelDiary(status,comment)
TFS-->UI: TravelDiaryStatus
TFS-->UI: TravelDiaryComment
UI->DB : UpdateTravelDiary()
activate DB
UI->TFS: updateAbsenceOnDuty(status,comment)
TFS-->UI: AbsenceOnDutyStatus
TFS-->UI: AbsenceOnDutyComment
UI->DB : UpdateAbsenceOnDuty()
UI->TFS: updateTravelBudget(status,comment)
TFS-->UI: TravelBudgetStatus
TFS-->UI: TravelBudgetComment
UI->DB : UpdateTravelBudget()
deactivate DB
TFS->UI: notifyResult()
UI-->TC: notifyResult
TC->UI : notify()
UI->T:notifyTraveller()
TC->UI: Log out
UI->TFS: logout()
TFS-->UI: logout
deactivate TFS
UI-->TC: logout success
deactivate UI
deactivate TC
participant "«actor»\nTraveller" as T
participant "«boundary»\nUI" as UI
participant "«controller»\nTFS" as TFS
participant "«entity»\nAbsence on Duty" as AoD
participant "«entity»\nTravel Budget" as TB
participant "«entity»\nTravel Diary" as TD
participant "«entity»\nChecklist" as CL
participant "«actor»\nDatabase" as DB
loop until entire checklist has been processed
T->UI: New Trip Application
activate UI
UI->TFS: create_new_application()
activate TFS
TFS->AoD: instantiate(AoD)
activate AoD
AoD-->TFS: AoD entries
deactivate AoD
TFS->DB : add(AoD entries)
TFS->TB: instantiate(TB)
activate TB
TB-->TFS: TB entries
deactivate TB
TFS->DB: add(TB entries)
TFS->TD: instantiate(TD)
activate TD
TD-->TFS:TD entries
deactivate TD
TFS->DB: add(TD entries)
TFS->CL: intantiate(CL)
activate CL
CL-->TFS: CL entries
deactivate CL
TFS->DB: add(CL entries)
end
opt
TFS-->UI: forms successfully completed
UI-->T: Submission Success Message
else or
TFS-->UI: forms incomplete
deactivate TFS
UI-->T: Incomplete form or Checklist
Message
deactivate UI
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment