Sequence Diagrams - UvA

Sequence Diagrams
• A Sequence diagram depicts the sequence of
actions that occur in a system.
• The invocation of methods in each object, and the
order in which the invocation occurs is captured in
a Sequence diagram.
• This makes the Sequence diagram a very useful
tool to easily represent the dynamic behavior of a
• A Sequence diagram is two-dimensional in nature.
On the horizontal axis, it shows the life of the
object that it represents, while on the vertical axis,
it shows the sequence of the creation or
invocation of these objects.
Message Arrows for Communications
• The message arrows represent the communications between
two objects in a sequence diagram. It goes from the lifeline of
one object to that of another object
– Synchronous message where the sending object suspends action and
waits for the response to the message
(filled head)
– Asynchronous message where the sending object continues with its
operations without waiting for the response
(open head)
– A return of control from the synchronous message
– A creation of a new entity
Example 1: Withdraw saving
He enters his card into an ATM (automated teller machine).
The ATM machine prompts “ Enter PIN”.
The customer enters his PIN.
The ATM (internally) retrieves the bank account number from
the card.
The ATM encrypts the PIN and the account number and
sends it over to the bank.
The bank verifies the encrypted account and PIN number.
If the PIN number is correct, the ATM displays, “Enter
Draws money from the bank account and pays out the
Withdraw saving
Use Case:
Withdraw Saving
Bank, Client
Flow of Events:
1. Bank client insert ATM card into ATM machine
2. ATM machine request PIN code
3. Bank client enter PIN code
4. Verify PIN code entered with saving account
5. ATM machine request amount if the PIN is valid
6. Bank client enter the required amount
7. Process the transaction in the client account
8. ATM machine dispense cash
9. ATM machine print receipt when the transaction completed
Alternative Flow of Events
Invalid PIN code entered. Indicate error message. Return step 3.
Identifying Classes
– Bank Client
– ATM Card
– ATM Machine
– Savings Account
– Cash
– Message
Insert ATM card
Request PIN
Enter PIN code
Verify PIN code
PIN valid
Request amount
Enter amount
Process transaction
Transaction successful
Dispense cash
Print receipt
Example 2: Buying Tickets
An interaction between a customer, ticket seller, database and printer.
Example 3: Logging in
Let's start with the simple example above: a user logging onto the
system. The Logon use case can be specified by the following step:
1. Logon dialog is shown
2. User enters user name and password
3. User clicks on OK or presses the enter key
4. The user name and password are checked and approved
5. The user is allowed into the system
Alternative: Logon Failed - if at step 4 the user name and password are not
approved, allow the user to try again
Example 4: Course Enrolment System
Example 5: Product Order
Example 6: Search Engine

similar documents