Professional Documents
Culture Documents
Software Engineering
Dr. Rami Bahsoon
School of Computer Science
The University Of Birmingham
r.bahsoon@cs.bham.ac.uk
www.cs.bham.ac.uk/~rzb
They could be
using
UML ;-)
Analysis and Design
Jacobson
OOSE
Use cases
Class diagram
activity
Deployment
Sequence Collaboration
Actor Semantics
Name 1 Description
When Customer has deposited all her items, she will press a
receipt button to get a receipt on which returned items have
been printed, as well as the total return sum.
Refuse loan
Borrow copy of a
book
Extend Loan
Check for
reservation
Borrow copy of a
book
<<include>>
Covered
In fact,
Composed of 64 squares
Covered
Covered
Covered
objects
Life-time
Activation:
i.e., object in active
objects
Activation: message
i.e., object in active
Life-line
destroy
Notify()
Obj:class Obj:class
Guard
Alternative multiple fragment: only the one whose condition is true will execute
Guard
Loop:the fragment may execute multiple times, and the guard indicates basis
for iterations
Fundamentals of Software Engineering, R. 98
Bahsoon
Opt in UML 2.0
time
Some UML
versions use
for both
synchronous
Student submitting a
choice to the web return Asynchronous
You are
Here!
Covered
Covered
You are
Here!
Covered
On shelf
Borrow
Copy of a On loan
Book
return
maybe lost
borrow()
On loan Copy of
On shelf book
Important hint:
For some guards use keywords like
In credit overdrawn
Updating the account
[balance<0]
When
(balance<overdraft limit)
/notify manager
[balance>=0]
Important hint:
For expressing some events use keywords like
After followed by expression
When followed by expression
overdrawn
After (3months)
When
(balance<overdraft frozen
limit)
/notify manager
Important hint:
For expressing some events use keywords like
After followed by expression
When followed by expression
Serving customer
Idle busy
Customer served
Out of order
Serving customer
Idle busy
Customer served
Out of order
Wrong pin
Correct
Reading
card
After
Three wrong
Trials
Retain card
Busy
Wrong pin
Correct
Reading
card
Serving After
Three wrong
Trials
customer
Idle Retain card
Customer
served
Out of order
Covered
We are
here
Covered Covered
Car Hire
Promotional
Service
Requires Provides
Flight Information
Customer
Preference
Information
Customer data Flight Booking
Requires Provides
List of available
Hotels
Flight Information
Promotional
Customer Preference Hotel Booking
Information Service
Requires Provides
List of available
Hotels
Flight Information List of Budget
Hotel
Requires Provides
List of available
Car agents
Flight Information
Car Hire
List of cars deals
Promotional
Service
Customer Preference
Information
Requires Provides
List of available
Hotels
Flight List of Budget
Hotel
Information
Promotional List of Five star
classes
Note that these ‘connectors’ are rather limited, special cases of the ones
we’ve been considering in software architectures
Ref: David Rosenblum, UCL
Fundamentals of Software Engineering, R. 151
Bahsoon
Ports
ports provide a way to model how
component's provided/required interfaces relate to its
internal parts
Defining contacts
Highly coupled
classes
Covered
Covered
We are
here
Covered Covered
UML 1.4
UML 2.0
Covered
Covered Covered