Skip to content

Instantly share code, notes, and snippets.

@rotaris
Created April 5, 2011 23:36
Show Gist options
  • Select an option

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

Select an option

Save rotaris/904810 to your computer and use it in GitHub Desktop.
ITEC800: D2: Sequence Diagram: Submit (Trip) for Approval
participant "«actor»\nTraveller" as T
participant "«boundary»\nUI" as UI
participant "«entity»\nTrip" as Trip
participant "«entity»\nUser" as User
participant "«actor»\nEmailer" as Emailer
participant "«entity»\nAbsenceOnDuty" as AoD
participant "«entity»\nTravelBudget" as TB
participant "«entity»\nTravelDiary" as TD
participant "«entity»\nChecklist" as Checklist
T->UI: Submit for Approval
activate UI
UI->Trip: submit_for_approval()
activate Trip
Trip->Trip: validate_trip()
activate Trip
Trip->AoD: is_approved()
activate AoD
AoD-->Trip: AoD
deactivate AoD
Trip->TB: is_approved()
activate TB
TB-->Trip: TB
deactivate TB
Trip->TD: is_approved()
activate TD
TD-->Trip: TD
deactivate TD
Trip->Checklist: is_approved()
activate Checklist
Checklist-->Trip: CL
deactivate Checklist
Trip-->Trip: is_valid
deactivate Trip
alt is_valid
Trip->Trip: update_status("Pending Approval")
activate Trip
Trip-->Trip: Update Success
deactivate Trip
Trip->User: notify_t_c(pending_approval, trip_id)
activate User
User->Trip: get_traveller(trip_id)
activate Trip
Trip-->User: traveller
deactivate Trip
User->User: get_t_c_group(traveller)
activate User
User-->User: t_c_group
deactivate User
User->User: create_pending_request_msg(trip_id)
activate User
User->Trip: get_trip_summary(trip_id)
activate Trip
Trip-->User: trip_summary
deactivate Trip
User-->User: message
deactivate User
User->Emailer: email(t_c_group, message)
activate Emailer
Emailer-->User: Email Sent
deactivate Emailer
User-->Trip: Notification Success
deactivate User
Trip->Trip: notify_traveller(trip_id)
activate Trip
Trip->Trip: create_trip_summary_msg(trip_id)
activate Trip
Trip->Trip: get_trip_summary(trip_id)
activate Trip
Trip-->Trip: trip_summary
deactivate Trip
Trip-->Trip: trip_summary_msg
deactivate Trip
Trip->Trip: get_traveller(trip_id)
activate Trip
Trip-->Trip: traveller
deactivate Trip
Trip->Emailer: email(traveller, trip_summary_msg)
activate Emailer
Emailer-->Trip: Email Sent
deactivate Emailer
deactivate Trip
Trip-->UI: Submission Success
UI-->T: Submission Success Message
else
Trip-->UI: Submission Failure
deactivate Trip
UI-->T: Incomplete Form or Checklist Message
deactivate UI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment