UML Lecture
UML Lecture
UML Lecture
Acknowledgements
Slides material are taken from different
sources including:
the slides of Mr. Shiyuan Jin’s UML class, EEL 4884, Fall 2003.
Booch ‘91
OMT - 1
How to use UML diagrams to
design software system?
Types of UML Diagrams:
Use Case Diagram
Class Diagram
Sequence Diagram
Collaboration Diagram
State Diagram
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.
Generalization: relationship between one general use case and a special use
case (used for defining special alternatives) Represented by a line with a
triangular arrow head toward the parent use case.
Use-Case Diagrams
Include: a dotted line labeled <<include>> beginning at base
use case and ending with an arrows pointing to the include use
case. The include relationship occurs when a chunk of
behavior is similar across more than one use case. Use
“include” in stead of copying the description of that behavior.
<<include>>
<<extend>>
Use-Case Diagrams
Figure 16.12
The McGraw-Hill Companies, 2005
Use-Case Diagrams
Both Make Appointment
and Request Medication
include Check Patient
Record as a subtask
(include)
(TogetherSoft, Inc)
Class diagram
A class diagram depicts classes and their interrelationships
Regular Loyalty
Customer Customer
Subtype1 Subtype2
-Inheritance is a required feature of object orientation
-Generalization expresses a parent/child relationship among related classes.
-Used for abstracting details in several layers
OO Relationships: Association
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[];
}
OO Relationships: Composition
Whole Class
Class W Association
Models the part–whole relationship
Composition
Class P1 Class P2 Also models the part–whole relationship but, in
addition, Every part may belong to only one
whole, and If the whole is deleted, so are the
Part Classes parts
[From Dr.David A. Workman]
Example Example:
A number of different chess boards: Each square
belongs to only one board. If a chess board is
thrown away, all 64 squares on that board go as well.
Figure 16.7
The McGraw-Hill Companies, 2005
OO Relationships: Aggregation
Container Class
Aggregation:
Class C expresses a relationship among instances of related
classes. It is a specific kind of Container-
AGGREGATION
Containee relationship.
Class E1 Class E2
express a more informal relationship than
composition expresses.
Apples Milk
Aggregations
may form "part of" the association, but may not be essential to it. They
may also exist independent of the aggregate. e.g. Apples may exist
independent of the bag.
Good Practice: CRC Card
Class Responsibility Collaborator
easy to describe how classes work by moving cards around; allows to
quickly consider alternatives.
Object Diagrams
Interaction Diagrams
show how objects interact with one another
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
is activated.
Rectangle also denotes when
object is deactivated.
Deletion Activation bar
X
Return
Placing an ‘X’ on lifeline
Deletion
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 ()
start
6: remove reservation
5: title available
6 : borrow title
1: look up
2: title data
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
State Diagrams (Traffic light example)
Yellow
Green
Event
What UML Modeling tools we use today?
List of UML tools http://en.wikipedia.org/wiki/List_of_UML_tools
ArgoUML: http://argouml.tigris.org/