Professional Documents
Culture Documents
Outline
Booch ‘91
OMT - 1
How to use UML diagrams to
design software system?
➢ Another system
Borrow Employee
Client
Order Title
Fine Remittance
Supervisor
Use-Case Diagrams
Actors: A role that a user plays with respect to the system, including human users
and other systems. e.g., inanimate physical objects (e.g. robot); an external system
that needs some information from the current system.
Use case: A set of scenarios that describing an interaction between a user and a
system, including alternatives.
Association:
communication between an actor and a use case; Represented by
a solid line.
<<extend>>
• Extend relationship: The use case is optional and comes after the
base use case. It is represented by a dashed arrow in the direction
of the base use case with the notation <<extend>>.
• Include relationship: The use case is mandatory and part of the
base use case. It is represented by a dashed arrow in the direction
of the included use case with the notation <<include>>.
• Example
In the above use case diagram, the use case “Read book” includes
the use case “Open book”. If a reader reads the book, she must
open it too, as it is mandatory for the base use case (read book).
The use case “read book” extends to the use case “turn page”,
which means that turning the page while reading the book is
optional. The base use case in this scenario (read book) is
complete without the extended use case
Use-Case Diagrams
Class diagram
Name
Account_Name
- Customer_Name
Attributes
- Balance
+addFunds( ) Operations
+withDraw( )
+transfer( )
OO Relationships
0..1 *
employer teacher
Multiplicity Role
Symbol Meaning
1 One and only one Role
0..1 Zero or one “A given university groups many people;
M..N From M to N (natural language)
some act as students, others as teachers.
A given student belongs to a single
* From zero to any positive integer university; a given teacher may or may not
0..* From zero to any positive integer be working for the university at a particular
1..* From one to any positive integer time.”
Class diagram
* 4
Student Course
has enrolls
Class Student {
Course enrolls[4];
}
Class Course {
Student have[];
}
Interaction Diagrams
Picks up
Dial tone
Dial
Picks up
Hello
Sequence Diagram:Object
interaction
A B
Self-Call: A message that an
Synchronous
Object sends to itself.
[condition] remove()
Condition
*[for each] remove()
Iteration
Self-Call
Sequence Diagrams – Object Life
Spans
Creation A
➢ Create message
➢ Object life starts at that point
Create
Activation B
➢ Symbolized by rectangular
stripes
➢ Place on the lifeline where
object is activated.
➢ Rectangle also denotes when
object is deactivated. X
Activation bar Return
Deletion
Deletion
➢ Placing an ‘X’ on lifeline
➢ Object’s life ends at that point Lifeline
Sequence Diagram
User Message Catalog Reservations
4 : title returned ()
•The horizontal dimension shows the
objects participating in the interaction. 5: hold title ()
5 : title available ()
6: remove reservation
4 : title returned
Catalog
5 : hold title
➢Collaboration diagrams are equivalent to sequence diagrams. All the features of sequence
diagrams are equally applicable to collaboration diagrams
➢Use a sequence diagram when the transfer of information is the focus of attention
Start End
Unpaid Paid
Invoice created paying Invoice destroying
What UML Modeling tools we use
today?
Visio
ArgoUML: http://argouml.tigris.org/
THANK YOU