Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save vithu/951232 to your computer and use it in GitHub Desktop.

Select an option

Save vithu/951232 to your computer and use it in GitHub Desktop.
Complete Application (Use case 1)
participant "«actor»\nTraveller" as T
participant "«boundary»\nUI" as UI
participant "<<controller>>\nTFS" as TFS
note left of TFS
Travel Forms System
(administrative backend)
end note
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
T->UI: New Trip Application
activate UI
UI->TFS: create_new_application()
activate TFS
TFS->AoD: complete_forms(AoD)
activate AoD
AoD-->TFS: AoD entries
deactivate AoD
TFS-->DB : AoD entries
TFS->TB: complete_forms(TB)
activate TB
TB-->TFS: TB entries
deactivate TB
TFS-->DB: TB entries
TFS->TD: complete_forms(TD)
activate TD
TD-->TFS:TD entries
deactivate TD
TFS-->DB:TD entries
loop until entire checklist has been processed
TFS->CL: complete_forms(CL)
activate CL
CL-->TFS: CL entries
deactivate CL
TFS-->DB: CL entries
end
alt optional
TFS-->UI: forms sucessfully completed
UI-->T: Submission Success Message
else or
TFS-->UI: forms incompleted
deactivate TFS
UI-->T: Incomplete form or Checklist
Message
deactivate UI
end
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: login()
activate TC
activate UI
UI->TFS: createlogin()
activate TFS
TFS-->UI: access
UI-->TC: access
TC->UI: selectTripApplication()
UI->TFS: retrieveTripApplication()
TFS-->UI: trip application
UI-->TC:selectTripApplication
loop check status
TC->UI: setApprovalStatus(TravelDiary,status)
UI-->TFS : Approvalstatus
TC->UI: setComment(TravelDiary)
UI-->TFS:Comments
TC->UI: setApprovalStatus(AbsenceOnDuty,status)
UI-->TFS : Approvalstatus
TC->UI: setComment(AbsenceOnDuty)
UI-->TFS:Comments
TC->UI: setApprovalStatus(TravelBudget,status)
UI-->TFS : Approvalstatus
TC->UI: setComment(TravelBudget)
UI-->TFS:Comments
TC->UI: saveApproval()
UI-->TFS:save Approval
end
UI->TFS: updateTravelDiary(status,comment)
TFS-->DB: TravelDiaryStatus
TFS-->DB: TravelDiaryComment
UI->TFS: updateAbsenceOnDuty(status,comment)
TFS-->DB: AbsenceOnDutyStatus
TFS-->DB: AbsenceOnDutyComment
UI->TFS: updateTravelBudget(status,comment)
TFS-->DB: TravelBudgetStatus
TFS-->DB: TravelBudgetComment
TFS->UI: notifyResult()
UI-->TC: notifyResult
TC->UI : notifyTraveller()
UI-->T:notifyTraveller
TC->UI: logout()
UI->TFS :createlogout()
TFS-->UI :logout
deactivate TFS
UI-->TC: logout
deactivate UI
deactivate TC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment