Você está na página 1de 23

M.

Winter
COSC 2P90 Programming languages & Object
Orientation
8.1
Object-Oriente !esign "#$%
& goals'
ecom(osition into classes
e)inition o) )unctionalit*
& #ooc+ met+oolog*'
ienti)* classes
ienti)* )unctionalit*
ienti)* relations+i(s
& gra(+ical notation e.g. ,M-
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.2
.es(onsibilit*-!ri/en !esign "#$%
& Wir)s-#roc0 an Wil0erson c.1990
& ri/en b* s(eci)ication an elegation o) res(onsibilities
& res(onsibilities elegate to classes
class res(onsible )or its o(erations
& c+aracteri1e esire be+a/iour
o) s*stem
o) com(onents
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.$
2nal*sis ",13%
& ienti)* esire be+a/iour
4+at5 not +o4
& use cases
major )unctionalities o) t+e s*stem
a set o) relate scenarios
& actors
interact 4it+ s*stem
& e6am(le' creit-car /aliation s*stem
actors' customer5 store5 ban0
use cases'
& (er)orm car transaction "customer5 store%
& manage account "customer5 ban0%
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.7
!esign ",75,85#$%
& ienti)* com(onents
classes5 (atterns5 etc.
& associate be+a/iour 4it+ classes
res(onsibilities
co+esion
cou(ling
& ienti)* relations+i(s
association "9uses:%
aggregation "9+as a:%
in+eritance "9is a:%
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.8
2ssignment o) .es(onsibilities "#$%
& 4al0 t+roug+ scenarios
acti/ities become res(onsibilities
& C.C cars
com(onent5 res(onsibilit*5 collaborator
(+*sical re(resentation
& e6am(le' ;+e <nteracti/e =itc+en >el(er
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.3
;+e <nteracti/e =itc+en >el(er "#$.7%
& ?reeter com(onent - o))ers user 8 c+oices
1. #ro4se t+e atabase o) e6isting reci(es5 4it+out
re)erence to an* (articular meal (lan
2. 2 a ne4 reci(e to t+e atabase
$. @it or annotate an e6isting reci(e
7. .e/ie4 an e6isting (lan )or se/eral meals
8. Create a ne4 (lan o) meals
Greeter
Collaborators
Display informative initial message Database Manager
Offer user choice of options Plan Manager
Pass control to either
Recipe Database Manager
Plan Manager for processing
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.A
.ecogni1ing .elations+i(s ",8%
& association
9uses:
C.C collaborators
1-4a* or 2-4a*
& aggregation
9+as a:
one class contains or manages objects o) anot+er class
& in+eritance
9is a:
e/er* object o) one class con)orms to anot+er 4it+
aitional (ro(erties
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.B
Cou(ling an Co+esion "#$%
& co+esion
+o4 closel* relate are t+e res(onsibilities o) a unitC
& cou(ling
+o4 e(enent are units on eac+ ot+erC
number o) associations
& s*stem s+oul be +ig+l* co+esi/e5 loosel* cou(le
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.9
<n)ormation >iing
"#$%
& im(lementation +ien be+in sim(le inter)ace
& inter)ace' 4+at
& im(lementation' +o4
& ParnasDs (rinci(les'
all reEuire in)ormation an no more
user' )or use o) a com(onent
e/elo(er' to carr* out res(onsibilities o) a com(onent
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
10
,ni)ie Moelling -anguage ",A5,
2
$%
& #ooc+5 .umbaug+5 Facobson c. 1998
& stanar language )or gra(+icall* moelling a s*stem
& structural moelling'
class iagram
internal structure iagram
collaboration iagram
com(onent iagram
use case iagram
& *namic moelling'
state mac+ine iagram
acti/it* iagram
seEuence iagram
communication iagram
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
11
,se Case
& scenario a escri(tion o) s(eci)ic use o) t+e s*stem b* a
user5 e.g.
Foe goes to t+e bo6-o))ice to bu* a tic0et to t+e .on
Se6smit+ concert. ;+e cler0 c+ec0s t+e a/ailabilit*. Foe
c+ooses a seat. ;+e cler0 as0s )or (a*ment. Foe +ans +is
creit car. ;+e cler0 enters t+e creit car in)ormation.
;+e s*stem /aliates & bills t+e creit car. ;+e s*stem
(rints t+e tic0et. ;+e cler0 gi/es Foe t+e tic0et.
& use case generali1ation o) a set o) scenarios t+at start 4it+
t+e same reEuest to ac+ie/e t+e same user goal
goal t+e business /alue to t+e user
s*stem a((lication an +ar4are use b* user
actor an e6ternal entit* t+at interacts 4it+ t+e s*stem
& in t+is case5 t+e s*stem is t+e bo6 o))ice so)t4are & +ar4are5
t+e goal is bu*ing a tic0et"s% an t+e actor is t+e cler0.
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
12
,se Case ;em(late "-ee & ;e()en+art5 Gigure $-3%
Use Case Name
Description' 2 one or t4o sentence escri(tion o) t+e use case
Actors' <enti)ies t+e actors (artici(ating in t+e use case
Includes' <enti)ies t+e use cases inclue in it
Extends' <enti)ies t+e use cases t+at it ma* e6ten
Pre-Conditions' <enti)ies t+e conitions t+at must be met to in/o0e t+e
use case
Details' <enti)ies t+e etails o) t+e use case t+e action
Post-conditions' <enti)ies t+e conitions t+at are assure to +ol at t+e
conclusion o) t+e use case
Exceptions' <enti)ies an* e6ce(tions t+at mig+t arise in t+e e6ecution o)
t+is use case
Constraints' <enti)ies an* constraints t+at ma* a((l*
Variants' <enti)ies an* /ariations t+at mig+t +ol )or t+e use case
Comments' Pro/ies an* aitional in)ormation t+at mig+t be im(ortant in
t+is use case
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
1$

Buy Tickets
Description' 2 customer (urc+ases tic0ets )or an e/ent )rom a cler0
Actors' Cler0
Includes' Ma0e C+arges
Extends' none
Pre-Conditions' @/ent must be sc+eule
Details'
1. Cler0 reEuests a/ailabilit* )or number o) tic0ets )or e/ent
2. #o6-O))ice is(la*s a/ailabilit*
$. Cler0 selects seats
7. #o6-O))ice inicates cost
8. Cler0 selects creit car (urc+ase an enters car number
3. #o6-O))ice ma0es c+arges to creit car
A. #o6-O))ice (rints tic0ets
Post-conditions' Selecte tic0ets are sol
Exceptions' Creit car not /aliate
Constraints' Hone
Variants' Cas+ (urc+ase
Comments' Hone
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
17
,se Case !iagrams ",135 ,1A%
& s+o4s +o4 use cases are relate to eac+ ot+er an to t+e
actors
& s+o4s 4+ic+ actors (artici(ate in 4+ic+ use cases
& actors' 9roles: (la*e b* users
& use cases' a transaction among actors an t+e s*stem
& associations
inclusion one use case is a (art o) anot+er
e6tension s(eciali1e /ersion o) t+e case
& s*stem bounar*
& e6am(le' #o6-O))ice
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
18
,se Case !iagram ",
2
$-3%
Clerk
Kiosk
Buy
Tickets
Survey
Sales
Make
Charges
Buy
Subscription
Box-Office
inclu!e""
relationship
System
boundary
use case
actor
association
Cre!it
car!
Service
Supervisor
inclu!e""
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
13
Class !iagrams ",75,85,B%
& e(ict static structure
& classes'
name
attributes
o(erations
res(onsibilities
& relations+i(s'
association
aggregation an com(osition
in+eritance
& a/ance )eatures' multi(licit*5 name relations+i(s5
e(enencies5 /isibilit*
& e6am(les
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
1A
.elations+i(s ",8-1%
#in!o$
open%&
close%&
move%&
!isplay%&
han!le'vent%&
Console#in!o$
#in!o$
Control DialogBo(
'vent
generali)ation
!epen!ency
association
supplier
client
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
1B
Structural .elations+i(s ",8-10%
Department
*nstructor Course Stu!ent
School
+,,-
chairperson
has
-,,.
assigne!To
member
teaches atten!s
-,,. -,,.
-,,.
-,,.
-,,.
-
+,,-
-,,.
.
. . .
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
19
Moeling Sim(le Collaborations ",B-2%
Motor
Move%!/Direction0 s/Spee!&
stop%&
resetCounter%&
Status status%&
*nteger !istance%&
Path1gent
Responsibilities
2seek path
2avoi! obstacles
CollisionSensor
MainMotor SteeringMotor
Driver
-
- -
- -
.
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
20
!*namic Moelling ",A5
,1B%
& moelling t+e be+a/iour o) a s*stem
& use case iagrams
& collaboration iagrams
)lo4 o) )unction calls bet4een objects
em(+asis' structural relations+i(
& seEuence iagrams
interaction o) objects as messages are (asse
em(+asis' timing
& state iagrams
seEuence o) states )or an object
states5 e/ents an transitions
& acti/it* iagrams
)lo4c+arts
em(+asis' )lo4 o) control )rom acti/it* to acti/it*
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
21
SeEuence !iagrams ",1B%
& objects
& messages
& object li)eline
& )ocus o) control
& time-orering o) messages
& timing constraints
& e6am(les' O!#C5 (+one call
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
22
SeEuence !iagram ",1B-2%
/ Transaction
p / ODBCPro(y c / Client
3transient4
set1ctions%a5 !5 o&
set6alues%!5 7,8&
set6alues%a5 9CO:&
create""
committe!
!estroy""
lifeline
focus of control
time
ob;ects
M. Winter
COSC 2P90 Programming languages & Object
Orientation
8.
2$
SeEuence !iagram ",1B-7%
/ S$itch r / Caller s / Caller
setDialTone%&
connect%s&
liftReceiver
liftReceiver
. !ialDigit%!&
ring%&
c/ Conversation
!ialing
connect%r5 s&
connect%r&
3!ialing,e(ecutionTime 7+ sec 4
routeCall%s5 n&
create""

Você também pode gostar