UML Lecture
UML Lecture
Year Version
2003: UML 2.0
2001: UML 1.4
1999: UML 1.3
1997: UML 1.0, 1.1
1996: UML 0.9 & 0.91
1995: Unified Method 0.8
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.
Association:
communication between an actor and a use case; Represented by a solid line.
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
<<extend>>
Use-Case Diagrams
Figure 16.12
The McGraw-Hill Companies, 2005
Use-Case Diagrams
(TogetherSoft, Inc)
Class diagram
Name
Account_Name
- Customer_Name
Attributes
- Balance
+addFunds( ) Operations
+withDraw( )
+transfer( )
OO Relationships
Example:
Supertype Customer
Regular Loyalty
Customer Customer
Subtype1 Subtype2
-Inheritance is a required feature of object orientation
-Generalization expresses a parent/child relationship among related classes.
student
1 *
University Person
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 some act as students, others as teachers.
language) A given student belongs to a single
* From zero to any positive university; a given teacher may or may not
integer be working for the university at a particular
0..* From zero to any positive time.”
integer
1..* From one to any positive
integer
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-Containee
AGGREGATION
relationship.
Apples Milk
e.g. Each car has an engine that can not be shared with other cars.
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
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.
Deletion Activation bar
X
Return
Placing an ‘X’ on lifeline Deletion
Object’s life ends at that point Lifeline
Sequence Diagram
Us er
Message Catalog Res ervations
6 : borrow title ()
•The vertical arrangement of
messages indicates their order. 6 : rem ove res ervation ()
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 payin Invoice destroying
g
State Diagrams (Traffic light example)
Yellow
Green
Event
What UML Modeling tools we use today?
ArgoUML: http://argouml.tigris.org/
Questions?