Escolar Documentos
Profissional Documentos
Cultura Documentos
Material based on
[Booch99, Rambaugh99, Jacobson99, Fowler97, Brown99]
operations
Person
/ age : Date
Person
Attributes can be:
+ name : String
+ public
# address : Address
# protected
# birthdate : Date
- private
/ age : Date
/ derived
- ssn : Id
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 Employee
TeachingAssistant
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]
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 different.
remove() 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 [failed]
Payment
Item
Assign to
Order
Synchronization Condition
[need to
reorder] Reorder
Item
[stock assigned to
all line items and
payment authorized]
Dispatch
Order