Banking example - Customer transfers funds

The customer wants to transfer money from his checking account to his savings account. He does this via an internet banking session, where he needs to login using his password/pin. The password is valid so he enters the main menu. From the main menu he goes to the account menu. In this case he has chosen the transfer checking to saving option. The system validates the balance, in this case there was enough balance. Then updates both accounts and return with a transferred message. And the customer logs out (without doing another action). This is just one of many (millions) permutations. Use the choices on the right to make different diagrams or even different starting points (e.g. ATM, Merchant or Web-Shop).

The generated MSG-Flow

Customer Web-Intf Acc-Srv Acc-DB
| | | |
+-click-login-button
Info for click-login-button
No link information between act and comp for click-login-button
| | |
|------get-login
Info for get-login
No link information between msg and prot for get-login
------>| | |
|<--rsp-display-login
Info for rsp-display-login
No link information between msg and prot for rsp-display-login
--| | |
|---post-key-usr-pwd
Info for post-key-usr-pwd
No link information between msg and prot for post-key-usr-pwd
-->| | |
| |--verify-login
Info for verify-login
No link information between msg and prot for verify-login
-->| |
| | |---get-login-details
Info for get-login-details
No link information between msg and prot for get-login-details
-->|
| | |<-----login-details
Info for login-details
No link information between msg and prot for login-details
----|
| |<-login-response
Info for login-response
No link information between msg and prot for login-response
resultvalid
-| |
|<--rsp-valid-customer
Info for rsp-valid-customer
No link information between msg and prot for rsp-valid-customer
resultvalid
-| | |
+-in-main-menu
Info for in-main-menu
No link information between act and comp for in-main-menu
| | |
+-in-account-menu
Info for in-account-menu
No link information between act and comp for in-account-menu
| | |
+-transfer-checking
Info for transfer-checking
No link information between act and comp for transfer-checking
| | |
|----post-transfer
Info for post-transfer
No link information between msg and prot for post-transfer
resultvalid
actiontransfer
src_accchecking
dst_accsaving
---->| | |
| |----transfer
Info for transfer
No link information between msg and prot for transfer
resultvalid
actiontransfer
src_accchecking
dst_accsaving
---->| |
| | |------get-balance
Info for get-balance
No link information between msg and prot for get-balance
resultvalid
actiontransfer
src_accchecking
dst_accsaving
----->|
| | |<-----balance-info
Info for balance-info
No link information between msg and prot for balance-info
resultvalid
actiontransfer
src_accchecking
dst_accsaving
-----|
| | |-upd-checking-balance
Info for upd-checking-balance
No link information between msg and prot for upd-checking-balance
resultvalid
actiontransfer
src_accchecking
dst_accsaving
->|
| | |--upd-saving-balance
Info for upd-saving-balance
No link information between msg and prot for upd-saving-balance
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accsaving
-->|
| | |----commit-changes
Info for commit-changes
No link information between msg and prot for commit-changes
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accsaving
---->|
| | |<---changes-committed
Info for changes-committed
No link information between msg and prot for changes-committed
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accsaving
--|
| |<---transferred
Info for transferred
No link information between msg and prot for transferred
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accsaving
--| |
|<---rsp-transferred
Info for rsp-transferred
No link information between msg and prot for rsp-transferred
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accsaving
---| | |
+-transferred
Info for transferred
No link information between act and comp for transferred
| | |
+-in-main-menu
Info for in-main-menu
No link information between act and comp for in-main-menu
| | |
+-click-logout-button
Info for click-logout-button
No link information between act and comp for click-logout-button
| | |
+-closes-browser
Info for closes-browser
action closes-browserCustomer decides to stop.
section IB-ActionsActions related to IB.
component CustomerRepresents a customer.
| | |

You can and paste the above flow representation in a text file or in your favourite text editor using a monospace font. Ofcourse you will loose the context sensitive output and the links towards additional information.

Decission table

The decission table shows which decissions have been made so far and which to make. The header contains the choice number and the entity making the choice. The choices are shown from left (latest) to right (earlier) which make it handier to follow or adapts. All choices you could have choisen on a specific level are displayed. You can click on the description to make a different choice.

Customer-flows : The customer starts any action.

Additional Generated Information

Below is the graphical representaion rendered using PlantUML Try it yourself online

Cannot render UML

You can the following url to refer to the graph. Or copy as to have it embeded in usable HTML code.

Be aware that changes/improvements will not be reflected in the graph.
The plain text, which can be used by some editors, is given below. Use it if you want to make edit in you favorite editor. It does not contain links as they are not supported by some editors. You can copy the text and paste it e.g. into WebSequenceDiagrams, SequenceDiagram or SwimLanes. You can also copy it for and paste it into PlantUML.