Professional Documents
Culture Documents
Uml
Uml
Material based on
[Booch99, Rambaugh99, Jacobson99, Fowler97, Brown99]
operations
Person
/ age : Date
Person
Person
name : String
address : Address
birthdate : Date
ssn : Id
eat Operations describe the class behavior
sleep and appear in the third compartment.
work
play
PhoneBook
SmokeAlarm
Responsibilities
• dependencies
• generalizations
• associations
CourseSchedule
Course
add(c : Course)
remove(c : Course)
Person
A generalization connects a subclass
to its superclass. It denotes an
inheritance of attributes and behavior
from the superclass to the subclass and
indicates a specialization in the subclass
of the more general superclass.
Student
Student Instructor
Student Instructor
1..*
Student Instructor
1..*
membership
Student Team
1..* 1..*
member of
1..* 1..*
Student Team
1 president of 1..*
Router DomainNameServer
Registration
modelNumber
serialNumber
warrentyCode
Product Warranty
next
LinkedListNode
previous
Engine
Car
Transmission
Scrollbar
1 1
Window Titlebar
1 1
Menu
1 1 .. *
VendingMachine
FileWriter
{file must not be locked}
T A parameterized class or
LinkedList template defines a family of
potential elements.
To use it, the parameter must be
T bound.
1 .. *
A template is rendered by a small
dashed rectangle superimposed on
the upper-right corner of the class
rectangle. The dashed rectangle
contains a list of formal
parameters for the class.
<<exception>> <<exception>>
KeyException SQLException
Compiler
FrontEnd BackEnd
Compiler
FrontEnd BackEnd
JavaCompiler Java
ISelfTest
“parent” “parent”
signal.cpp
interp.cpp version = 4.1
Modeling source code.
[Booch, 99]
irq.h device.cpp
component
spell-check
Dictionary interfaces
synonyms
usage dependency
component
ATM-GUI
realization dependency
[Rumbaugh,99]
meetingsDB
Deployment diagram
of a client-server
:Scheduler reservations system.
<<direct channel>>
clientMachine:PC [Rumbaugh,99]
:Planner
Student
Student Person
Student
Billing System
Registrar
simple state
selecting
verifying
select another course
check schedule
sign schedule
checking schedule
scheduled
check()
[check = “true”]
Notice that the bottom arrow is
remove() different. The arrow head is not solid,
and there is no accompanying message.
* prepare()
An iteration marker, such as * (as
shown), or *[i = 1..n] , indicates
that a message will be repeated as
Iteration indicated.
marker
Creation
1: prepare() Message
: Order Self-Delegation
5: needToReorder()
[Fowler,97]
Multiple Trigger
Check
Cancel Authorize
Line
Order Payment
[failed] Item
Assign to
Order
Synchronization Condition
[need to
reorder] Reorder
Item
[stock assigned to
all line items and
payment authorized]
Dispatch
Order