Created
November 7, 2018 16:10
-
-
Save malisetti/a7acb11cd2189ada083202d93262d18f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/' | |
model the End to End UX (in as much details as possible) | |
for withdrawing cash in an atm. | |
actors: consumer, ATM, bank | |
'/ | |
@startuml Consumer UX at an ATM withdrawl | |
actor Consumer #green | |
actor ATM #blue | |
actor Bank #red | |
... | |
Consumer -> ATM: | |
... Wait for ATM to be online and available ... | |
Consumer -> ATM: Insert Card | |
alt successful card read | |
ATM --> Consumer: Present Options | |
group Withdrawl | |
Consumer -> ATM: Withdraw | |
ATM --> Consumer: Amount to withdraw | |
loop 5 times | |
ATM --> Consumer: Enter PIN | |
Consumer -> ATM: PIN | |
ATM -> Bank: Verify PIN | |
alt verified | |
Bank --> ATM: PIN verified | |
ATM --> Consumer: Enter Amount | |
Consumer -> ATM: Amount | |
alt has required cash | |
ATM --> Bank: Propose withdrawl | |
Bank -> Bank: Validate withdrawl request | |
Bank -> Bank: Record request transaction | |
alt accepted | |
Bank --> ATM: Allow withdrawl | |
Bank -> Bank: Record allowed transaction | |
alt dispensed | |
ATM -> ATM: Dispense cash | |
ATM --> Bank: Ack dispense | |
Bank -> Bank: Record withdraw transaction | |
ATM --> Consumer: Display a/c balance | |
else no cash | |
ATM --> Bank: Report error | |
Bank -> Bank: Record transaction error | |
ATM --> Consumer: Display error | |
end | |
else rejected | |
Bank --> ATM: Rejected with Error | |
ATM --> Consumer: Error Message Displayed | |
end | |
else no cash or denomination | |
ATM --> Consumer: Display error | |
ATM --> Bank: Notify error | |
Bank -> Bank: Log error | |
end | |
else not verified | |
Bank -> Bank: Record error transaction | |
Bank --> ATM: PIN not verified | |
ATM --> Consumer: Retry PIN | |
end | |
end | |
ATM --> Consumer: Card Blocked. Please visit Bank or try after an hour. | |
end | |
else card not read | |
ATM --> Consumer: Please re-insert Card | |
end | |
@enduml |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment