Beruflich Dokumente
Kultur Dokumente
Object-oriented design.
Unified Modeling Language (UML).
Computers as Components 3e
© 2012 Marilyn Wolf
System modeling
Computers as Components 3e
© 2012 Marilyn Wolf
Object-oriented design
Computers as Components 3e
© 2012 Marilyn Wolf
OO design principles
Computers as Components 3e
© 2012 Marilyn Wolf
UML
Computers as Components 3e
© 2012 Marilyn Wolf
UML object
object name
class name
d1: Display
comment
attributes
Computers as Components 3e
© 2012 Marilyn Wolf
UML class
Display
class name
pixels
elements
menu_items
mouse_click()
operations
draw_box
Computers as Components 3e
© 2012 Marilyn Wolf
The class interface
Computers as Components 3e
© 2012 Marilyn Wolf
Choose your interface
properly
Computers as Components 3e
© 2012 Marilyn Wolf
Relationships between
objects and classes
Derived_class
UML
generalization
Base_class
Computers as Components 3e
© 2012 Marilyn Wolf
Class derivation example
Display
base
pixels class
elements
menu_items
pixel()
derived class set_pixel()
mouse_click()
draw_box
BW_display Color_map_display
Computers as Components 3e
© 2012 Marilyn Wolf
Multiple inheritance
base classes
Speaker Display
Multimedia_display
derived class
Computers as Components 3e
© 2012 Marilyn Wolf
Links and associations
Computers as Components 3e
© 2012 Marilyn Wolf
Link example
message
msg = msg1 message set
length = 1102
count = 2
message
msg = msg2
length = 2114
Computers as Components 3e
© 2012 Marilyn Wolf
Association example
# contained messages # containing message sets
Computers as Components 3e
© 2012 Marilyn Wolf
Stereotypes
Computers as Components 3e
© 2012 Marilyn Wolf
Behavioral description
Computers as Components 3e
© 2012 Marilyn Wolf
State machines
transition
a b
Computers as Components 3e
© 2012 Marilyn Wolf
Event-driven state
machines
Computers as Components 3e
© 2012 Marilyn Wolf
Types of events
Computers as Components 3e
© 2012 Marilyn Wolf
Signal event
<<signal>>
mouse_click a
leftorright: button
mouse_click(x,y,button)
x, y: position
b
declaration
event description
Computers as Components 3e
© 2012 Marilyn Wolf
Call event
draw_box(10,5,3,2,blue)
c d
Computers as Components 3e
© 2012 Marilyn Wolf
Timer event
tm(time-value)
e f
Computers as Components 3e
© 2012 Marilyn Wolf
Example state machine
start input/output
mouse_click(x,y,button)/ region = menu/
find_region(region) which_menu(i) call_menu(I)
region got menu called
found item menu item
region = drawing/
find_object(objid) highlight(objid)
found object
object highlighted
finish
Computers as Components 3e
© 2012 Marilyn Wolf
Sequence diagram
Computers as Components 3e
© 2012 Marilyn Wolf
Sequence diagram
example
mouse_click(x,y,button)
which_menu(x,y,i)
time
call_menu(i)
Computers as Components 3e
© 2012 Marilyn Wolf
Summary
Computers as Components 3e
© 2012 Marilyn Wolf