You are on page 1of 26

UML Bi 1: Gii thiu tng quan v ngn ng UML

Ti sao chng ta phi xy dng m hnh cho h thng?


M hnh ha l cch xem xt mt bi ton thng qua vic s dng cc m hnh. M hnh d ng !" hi"u #$ bi ton% t#ao !&i thng tin gi'a nh'ng ng()i li*n quan nh( +hch hng% chu,*n gia% ng()i -h.n t/ch% ng()i thi0t +0... M hnh gi1- cho vic xc !2nh cc ,*u c3u t4t h5n% thi0t +0 #$ #ng h5n v +h6 n7ng b6o t# h th4ng cao h5n. M hnh l s8 t#9u t(:ng ha% m t6 m;t b6n ch<t c=a mt v<n !> ho;c mt c<u t#1c -h?c t@- bAng cch lo@i bB nh'ng chi ti0t +hng quan t#Cng% +hi0n cho bi ton t#D n*n dE hi"u v dE nFm bFt h5n. G#9u t(:ng ha l mt +h6 n7ng c5 b6n c=a con ng()i t#ong vic gi6i qu,0t cc v<n !> -h?c t@-. Hc +I s(% +i0n t#1c s(% cc ngh sJ !K t9ng x., d8ng nh'ng m hnh t9 hng nghn n7m na, !" th cc thi0t +0 c=a hC t#(Lc +hi th8c hin ch1ng. Mic -ht t#i"n cc h th4ng -h3n m>m cNng +hng ngo@i l. O" x., d8ng mt h th4ng -h?c t@-% nh'ng ng()i -ht t#i"n -h6i t#9u t(:ng ha nh'ng +h/a c@nh PMieQR +hc nhau c=a h th4ng% x., d8ng cc m hnh bAng cch s dng cc +/ hiu mt cch #$ #ng% cSn thTn% +i"m t#a xem cc m hnh !K tho6 mKn cc ,*u c3u c=a h th4ng ch(a v d3n d3n th*m vo cc chi ti0t !" c th" chu,"n !&i t9 m hnh sang mt ci !;t c th". Hh1ng ta x., d8ng m hnh c=a nh'ng h th4ng -h?c t@- bDi v ch1ng ta +hng th" lJnh hi mt l1c ton b h th4ng !. M/ d nh( +hi x., mt nh +ho ch1ng ta c th" bFt ta, vo x., nga,% +hi x., mt ngi nh ch1ng ta c th" c3n b6n thi0t +0 c=a ngi nh !. Uhi c3n x., mt tVa nh cao t3ng% ch1ng ta chFc chFn c3n b6n thi0t +0 c=a to nh !. Oi>u n, cNng !1ng t#ong lJnh v8c -h3n m>m. W th4ng cng -h?c t@- th vic x., d8ng m hnh cng quan t#Cng. X., d8ng m hnh cho -h- ng()i thi0t +0 th<, !(:c b?c t#anh t&ng quan c=a h th4ng% th<, !(:c cc thnh -h3n c=a h th4ng t(5ng tc vLi nhau nh( th0 no h5n l vic sa l3, vo chi ti0t b*n t#ong c=a cc thnh -h3n !. G#ong th0 giLi lun bi0n !ng c=a cc ?ng dng h(Lng !4i t(:ng th vic -ht t#i"n v b6o t# cc ?ng dng c ch<t l(:ng cao t#ong mt +ho6ng th)i gian h:- lY ng, cng t#D n*n +h +h7n h5n. Mt t& ch?c -ht t#i"n -h3n m>m thnh cng l t& ch?c x., d8ng !(:c cc -h3n m>m c ch<t l(:ng% tho6 mKn !(:c mCi ,*u c3u c=a +hch hng. M hnh ha l -h3n t#ung t.m t#ong cc cng vic% cc ho@t !ng !" dZn tLi mt -h3n m>m t4t. Hh1ng ta x., d8ng m hnh !" t#ao !&i% bn b@c v> c<u t#1c v ?ng xPbehavio#R mong mu4n c=a h th4ng. Hh1ng ta x., d8ng m hnh !" t#8c quan ha v +i"m sot +i0n t#1c c=a h th4ng. M hnh c th" m t6 cc c<u t#1c% nh<n m@nh v> m;t t& ch?c c=a h th4ng ho;c n c th" m t6 cc hnh vi% tT- t#ung vo m;t !ng c=a h th4ng.

Hh1ng ta x., d8ng m hnh !" hi"u #$ h5n v> h th4ng m ch1ng ta !ang x., d8ng% t@o #a c5 hi !" c th" !5n gi6n ha v ti s dng. Hh1ng ta x., d8ng m hnh !" +i"m sot #=i #o. Mic lT- m hnh +hng ch[ dnh cho cc h th4ng lLn. Uhi x., d8ng m hnh ch1ng ta s\ !@t !(:c ] mc !/ch sau^

M hnh gi1- ch1ng ta t#8c quan ha h th4ng nh( l n v4n c ha, theo cch m ch1ng ta mu4n n s\ nh( vT,. M hnh cho -h- ch1ng ta ch[ #$ c<u t#1c v ?ng x c=a h th4ng M hnh cho ch1ng ta mt +hun mZu !" h(Lng dZn ch1ng ta t#ong qu t#nh x., d8ng h th4ng. M hnh !(a #a cc dZn ch?ng bAng ti liu v> cc qu,0t !2nh m ch1ng ta !K !(a #a t#ong qu t#nh thi0t +0 h th4ng.

Ghng qua vic m hnh ha% ch1ng ta thu h_- bi ton m ch1ng ta !ang nghi*n c?u bAng cch ch[ tT- t#ung vo mt +h/a c@nh t@i mt th)i !i"m. Oi>u n, cNng gi4ng nh( -h(5ng -h- `chia !" t#2a m bdsge# cis+st#a !K !(a #a^ `di6i qu,0t mt v<n !> +h bAng cch chia n thnh nh'ng bi ton nhB h5n m b@n c th" gi6i qu,0t !(:c.a M hnh ha l vic !5n gi6n ha th8c t0% lo@i bB nh'ng !i"m th? ,0u% tu, nhi*n ta -h6i chFc chFn #Ang +hng bB st mt chi ti0t quan t#Cng no. G , thuc vo !;c !i"m t8 nhi*n c=a h th4ng% mei m hnh c th" tT- t#ung vo nh'ng m;t +hc nhau c=a h th4ng. fh( h th4ng tT- t#ung vo d' liu th cc m hnh v> -h3n thi0t +0 tJnh c=a h th4ng s\ !(:c ch1 Y h5n. G#ong h th4ng giao din ng()i d ng th -h3n tJnh v !ng c=a gse case s\ l quan t#Cng. G#ong h th4ng th)i gian th8c% cc ti0n t#nh !ng l quan t#Cng. Hu4i c ng% t#ong h th4ng -h.n tn d8a t#*n cD sD heb th cc m hnh v> th8c thi v t#i"n +hai l quan t#Cng nh<t.

Lch s pht tri n c!a "#L


fh'ng n7m !3u c=a thT- +i jk c #<t nhi>u -h(5ng -h- -h.n t/ch% thi0t +0 h th4ng h(Lng !4i t(:ng v c ng vLi ch1ng l cc +Y hiu #i*ng cho t9ng -h(5ng -h-. l4 l(:ng cc -h(5ng -h- t#ong +ho6ng t9 mk !K l*n !0n g3n nk t#ong nh'ng n7m t9 mjoj !0n mjj]. pa -h(5ng -h- -h& bi0n nh<t l qMG Pqbrect Modeling GechniqueRstames uumbaughv% poochjm sd#ad, poochv v qqlb Pqbrectwq#iented loxtQa#e bngine#ingR syva# tacobsonv. Mei -h(5ng -h- !>u c nh'ng !i"m m@nh v ,0u. fh( qMG m@nh t#ong -h.n t/ch v ,0u D +h.u thi0t +0% poochjm th m@nh D thi0t +0 v ,0u D -h.n t/ch. qqlb m@nh D -h.n t/ch cc ?ng x% !- ?ng c=a h th4ng m ,0u t#ong cc +h.u +hc. co cc -h(5ng -h- ch(a hon thin n*n ng()i d ng #<t -h.n v.n t#ong vic chCn #a mt -h(5ng -h- -h h:- nh<t !" gi6i qu,0t bi ton c=a hC. W5n n'a% vic cc +Y hiu +hc nhau c=a cc -h(5ng -h- !K g., #a nh'ng s8 mT- m)% nh3m lZn +hi m mt +Y hiu c th" mang nh'ng Y nghJa +hc nhau t#ong mei -h(5ng -h-. M/ d nh( mt hnh t#Vn

!(:c t !en bi"u hin mt multi-licit, t#ong qMG l@i l mt agg#egation t#ong poochR. Gh)i +z n, cVn !(:c bi0t !0n vLi t*n gCi l cuc chi0n gi'a cc -h(5ng -h-. Uho6ng !3u n7m j]% pooch !K c6i ti0n -h(5ng -h- c=a mnh t#ong ! c ?ng dng nh'ng (u !i"m c=a cc -h(5ng -h- c=a uumbaugh v tacobson. G(5ng t8 uumbaugh cNng cho !7ng mt lo@t cc bi bo !(:c bi0t !0n vLi t*n gCi -h(5ng -h- qMGw{ cNng s dng nhi>u (u !i"m c=a -h(5ng -h- c=a pooch. Hc -h(5ng -h- !K bFt !3u h:- nh<t% nh(ng cc +/ hiu s dng D cc -h(5ng -h- vZn cVn nhi>u !i"m +hc bit. Huc chi0n n, ch[ +0t th1c +hi c s8 #a !)i c=a gM| w mt ngn ng' m hnh ha h:nh<t. G@i sao l@i l h:- nh<t} O l do c s8 h:- nh<t cc cch +/ hiu c=a pooch% qMG v qbrecto#, cNng nh( cc Y t(Dng t4t nh<t c=a mt s4 -h(5ng -h- +hc nh( hnh v\ sau^

pAng cch h:- nh<t cc +/ hiu s dng t#ong +hi -h.n t/ch% thi0t +0 c=a cc -h(5ng -h!% gM| cung c<- mt n>n t6ng chuSn t#ong vic -h.n t/ch thi0t +0. H nghJa l cc nh -ht t#i"n vZn c th" ti0n hnh theo -h(5ng -h- m hC !ang s dng ho;c l c th" ti0n hnh theo mt -h(5ng -h- t&ng h:- h5nP do th*m vo nh'ng b(Lc (u !i"m c=a t9ng -h(5ng -h-R. fh(ng !i>u quan t#Cng l cc +Y hiu gi) !., !K th4ng nh<t v mei +Y hiu chuSn c=a t& ch?c qMd Pqbrect Management d#ou-R vo thng ~wmjj~.

"ni$i%d #od%&ing Lang'ag% &( g?


UML l mt ngn ng dng

G#8c quan ha H th" ha linh mK D d@ng ngu,*n mZu |T- v cung c<- ti liu

gM| l mt ngn ng' bao gm mt b6ng t9 v8ng v cc qu, tFc !" +0t h:- cc t9 v8ng ! -hc v cho mc !/ch giao ti0-. Mt ngn ng' d ng cho vic lT- m hnh l ngn ng' m b6ng t9 v8ngP cc +Y hiuR v cc qu, tFc c=a n tT- t#ung vo vic th" hin v> m;t +hi nim cNng nh( vTt lY c=a mt h th4ng. M hnh ha mang l@i s8 hi"u bi0t v> mt h th4ng. Mt m hnh +hng th" gi1- ch1ng ta hi"u #$ mt h th4ng% th()ng l -h6i x., d8ng mt s4 m hnh xt t9 nh'ng gc ! +hc nhau. Hc m hnh n, c quan h vLi nhau. gM| s\ cho ta bi0t cch t@o #a v !Cc hi"u !(:c mt m hnh !(5c c<u t#1c t4t% nh(ng n +hng cho ta bi0t nh'ng m hnh no n*n t@o #a v +hi no t@o #a ch1ng. O l nhim v c=a qu, t#nh -ht t#i"n -h3n m>m.

)* "#L &( ngn ng+ d,ng - trc .'an h/a


O4i vLi nhi>u lT- t#nh vi*n% +hng c +ho6ng cch no gi'a Y t(Dng !" gi6i qu,0t mt v<n !> v vic th" hin !i>u ! thng qua cc !o@n mK. WC nghJ #a v hC vi0t mK. G#*n th8c t0% !i>u n, g;- mt s4 v<n !>. Gh? nh<t% vic t#ao !&i v> cc Y t(Dng gi'a nh'ng ng()i lT- t#nh s\ g;- +h +h7n% t#9 +hi t<t c6 !>u ni c ng mt ngn ng'. GhTm ch/ nga, c6 +hi +hng g;- t#D ng@i v> ngn ng' th !4i vLi t9ng cng t,% t9ng nhm cNng c nh'ng `ngn ng'a #i*ng c=a hC. Oi>u n, g., t#D ng@i cho mt ng()i mLi vo !" c th" hi"u !(:c nh'ng vic !ang !(:c ti0n hnh. W5n n'a% t#ong lJnh v8c -h3n m>m% nhi>u +hi +h c th" hi"u !(:c n0u ch[ xem xt cc !o@n mK lnh. M/ d nh( s8 -h.n c<- c=a cc lL-% ta c th" -h6i du,t #<t nhi>u !o@n lnh !" hi"u !(:c s8 -h.n c<- c=a cc lL-. M n0u nh( ng()i lT- t#nh +hng m t6 cc Y t(Dng m anh ta !K x., d8ng thnh mK lnh th nhi>u +hi cch t4t nh<t l x., d8ng l@i t#ong t#()ng h:- mt ng()i +hc !6m nhTn ti0- nhim v +hi anh ta #)i +hBi nhm. X., d8ng m hnh s dng ngn ng' gM| !K gi6i qu,0t !(:c cc +h +h7n t#*n. Uhi t#D thnh mt chuSn t#ong vic lT- m hnh% mei +/ hiu mang mt Y nghJa #$ #ng v du, nh<t% mt nh -ht t#i"n c th" !Cc !(:c m hnh x., d8ng bAng gM| do mt ng()i +hc vi0t. fh'ng c<u t#1c m vic nFm bFt thng qua !Cc mK lnh l +h +h7n na, !K !(:c th" hin t#8c quan. Mt m hnh #$ #ng% sng s=a lm t7ng +h6 n7ng giao ti0-% t#ao !&i gi'a cc nh -ht t#i"n.

0* "#L &( ngn ng+ d,ng - chi ti1t h/a


H nghJa l x., d8ng cc m hnh mt cc t[ m[% #$ #ng% !3, != D cc m?c ! chi ti0t +hc nhau. O;c bit l gM| th8c hin vic chi ti0t ho t<t c6 cc qu,0t !2nh quan t#Cng t#ong -h.n t/ch% thi0t +0 v th8c thi mt h th4ng -h3n m>m.

2* "#L &( ngn ng+ d,ng - sinh ra m3 4 dng ng'y5n m6'


Hc m hnh x., d8ng bDi gM| c th" nh x@ tLi mt ngn ng' lT- t#nh c th" nh( ^ tava% H... thTm ch/ c6 cc b6ng t#ong mt Hlc| quan h ha, Hlc| h(Lng !4i t(:ng. Mic cc ,*u c3u c +h6 n7ng th()ng xu,*n tha, !&i t#ong qu t#nh -ht t#i"n h th4ng dZn !0n vic cc c<u t#1c v hnh vi c=a h th4ng !(:c x., d8ng c th" +hc m hnh m ta !K x., d8ng. Oi>u n, c th" lm cho mt m hnh t4t t#D n*n v nghJa v n +hng cVn -h6n nh !1ng h th4ng n'a. Hho n*n -h6i c mt c5 ch0 !" !ng b ha gi'a m hnh v mK lnh. gM| cho -h- cT- nhTt mt m hnh t9 cc mK th8c thi.P nh x@ ng(:cR. Oi>u n, t@o #a s8 nh<t qun gi'a m hnh c=a h th4ng v cc !o@n mK th8c thi m ta x., d8ng cho h th4ng !.

7* "#L &( ngn ng+ d,ng - &8p 9( c'ng c:p t(i &i'
Mt t& ch?c -h3n m>m ngoi vic t@o #a cc !o@n mK lnhP th8c thiR th cVn t@o #a cc ti liu sau^

dhi ch- v> cc ,*u c3u c=a h th4ng Ui0n t#1c c=a h th4ng Ghi0t +0 MK ngun U0 ho@ch d8 n Gests Hc ngu,*n mZu ...

;* <ng d=ng c!a "#L


Mc !/ch ch/nh c=a gM| l !" x., d8ng m hnh cho cc h th4ng -h3n m>m% n c th" !(:c s dng mt cch hiu qu6 t#ong nhi>u lJnh v8c nh(^

W th4ng thng tin doanh nghi- Pente#-#iseR fg.n hng v d2ch v ti ch/nh MiEn thng diao thng Wng +hng v qu4c -hVng M, mc !in t d ng t#ong , t0 Uhoa hCc Hc ?ng dng -h.n tn d8a t#*n heb

gM| +hng ch[ giLi h@n t#ong lJnh v8c -h3n m>m. f cVn c th" d ng !" lT- m hnh cho cc h th4ng +hng -h6i l -h3n m>m nh( h th4ng -h- luTt Plung cng vic w Qo#+xloQR% thi0t +0 -h3n c?ng% ...

>* ?c th(nh ph@n c!a "#L


>*)* ?c ph@n t mang tAnh c:' trc
LBp C?&assD | mt tT- h:- cc !4i t(:ng c c ng mt tT- thuc t/nh% cc hnh vi% cc m4i quan h vLi nh'ng !4i t(:ng +hc.

EFp tc C?o&&aGorationD Gh" hin mt gi6i -h- thi hnh b*n t#ong h th4ng% bao gm cc lL- !4i t(:ng m4i quan h v s8 t(5ng tc gi'a ch1ng !" !@t !(:c mt ch?c n7ng mong !:i c=a gse case.

Hiao din CInt%r$ac%D | mt tT- h:- cc -h(5ng th?c Po-e#ationR t@o n*n d2ch v c=a mt lL- ho;c mt thnh -h3n Pcom-onentR. f ch[ #a mt tT- cc o-e#ation D m?c +hai bo ch? +hng -h6i D m?c th8c thi Pim-lementationR.

"s% cas%

l m t6 mt tT- h:- c=a nhi>u hnh !ng tu3n t8 m h th4ng th8c hin !" !@t !(:c mt +0t qu6 c th" quan st !(:c !4i vLi mt acto# c th" no !. cto# l nh'ng g D b*n ngoi m t(5ng tc vLi h th4ng. gse case m t6 s8 t(5ng tc gi'a acto# v h th4ng. f th" hin ch?c n7ng m h th4ng s\ cung c<- cho acto#. GT- h:- cc gse case c=a h th4ng s\ t@o n*n t<t c6 cc t#()ng h:- m h th4ng c th" !(:c s dng.

LBp tAch cc CJciti9% c&assD l mt lL- m cc !4i t(:ng c=a n th8c hin cc ho@t !ng !i>u +hi"n. |L- t/ch c8c cNng gi4ng nh( lL- bnh th()ng ngo@i t#9 vic cc !4i t(:ng c=a n th" hin cc -h3n t m ?ng x c=a ch1ng c th" th8c hin !ng th)i vLi cc -h3n t9 +hc. |L- n, th()ng d ng !" bi"u diEn ti0n t#nhP-#ocessR v lungPth#eadR

Th(nh ph@n C?ompon%ntD l bi"u diEn vTt lY c=a mK ngun. G#ong h th4ng ta s\ th<, cc +i"u +hc nhau c=a com-onent nh( cc thnh -h3n HqM ha, tavapeans cNng nh( l cc thnh -h3n nh( cc xile mK ngun% cc xile nh2 -h.n t@o #a t#ong qu t#nh -ht t#i"n h th4ng.

Kod%s

l th" hin mt thnh -h3n vTt lY nh( l mt m, t/nh ha, mt thi0t b2 -h3n c?ng.

>*0* ?c ph@n t th hin h(nh 9i


TLMng tc CInt%ractionD bao gm mt tT- cc thng boPmessageR t#ao !&i gi'a cc !4i t(:ng t#ong mt ng' c6nh c th" no ! !" th8c hin mt ch?c n7ng no !.

#y ch'y n trng CNtat%s machin%D th" hin cc t#@ng thi c=a mt !4i t(:ng t#ong th)i gian s4ng c=a n nhAm !- ?ng cc s8 +in% cc tc !ng t9 b*n ngoi.

>*2 Oh@n t mang tAnh nh/m CHro'pD


H/i COacPag%D c ng !" nhm cc -h3n t c mt Y nghJa chung no ! vo thnh nhm. Uhng gi4ng nh( cc thnh -h3n Pcom-onent w tn t@i t#ong l1c th8c thiR% mt -ac+age ch[ mang t/nh t#9u t(:ng. ac+age d ng !" nhn h th4ng D mt m?c ! t&ng qut h5n so vLi vic xem xt t9ng -h3n t t#ong -ac+age. Jnnotationa& Cmang tAnh ch:t gii thAchDQ l cc ch1 th/ch d ng !" m t6% lm sng tB v ghi ch1 v> b<t c? -h3n t no t#ong m hnh. Gh()ng d ng nh<t l fote gm cc #ng buc ho;c ghi ch1% !(:c gFn vLi mt -h3n t ho;c mt tT- h:- cc -h3n t.

>*7 ?c mi .'an h CR%&ationshipsD


S'an h Oh= th'Tc CU%p%nd%ncyD Gh" hin m4i quan h m ^ n0u c mt s8 tha, !&i D !4i t(:ng !c lT- s\ 6nh h(Dng tLi !4i t(:ng -h thuc. U/ hiu^

S'an h V1t hFp C JssociationD | m4i quan h li*n +0t gi'a { lL-. fi mt cch !5n gi6n% +hi mt !4i t(:ng c=a lLn, gi thng !i- tLi ho;c nhTn thng !i- t9 mt !4i t(:ng c=a lL- +ia th ta ni gi'a { lL- c m4i quan h association.

S'an h T8p hFp CJggr%agationD l mt d@ng !;c bit c=a quan h li*n +0t. f th" hin s8 li*n +0t `ch;ta h5n% ! l m4i quan h ton th"wb -hTn.

S'an h HTp C?ompositionD l mt d@ng !;c bit c=a quan h agg#egation. G#ong ! n0u nh( !4i t(:ng ton th" b2 h=, th cc !4i t(:ng b -hTn c=a n cNng b2 h=, theo.

S'an h ThWa P1 CH%n%ra&iXationD l m4i quan h t&ng qut ha c th" ha t#ong ! !4i t(:ng c th" s\ +0 th9a cc thuc t/nh v -h(5ng th?cP behavio#R c=a !4i t(:ng t&ng qut.

S'an h Ein thc h/a CR%a&iXationD M4i quan h gi'a inte#xace v class ha, com-onent hin th8c ho n ho;c m4i quan h gi'a gse case v Hollabo#ation hin th8c ha gse case !.

>*; ?c Gi ' -Y CUiagramsD


Zi ' -Y &Bp C?&ass UiagramD pao gm mt tT- h:- cc lL-% cc giao din% cc collabo#ation v m4i quan h gi'a ch1ng. f th" hin m;t tJnh c=a h th4ng. Zi ' -Y -i tLFng C[G\%ct UiagramD pao gm mt tT- h:- cc !4i t(:ng v m4i quan h gi'a ch1ng. O4i t(:ng l mt th" hin c=a lL-% bi"u ! !4i t(:ng l mt th" hin c=a bi>u ! lL-. Zi ' -Y "s% cas% C"s% ?as% UiagramD Uhi nim acto#^ l nh'ng ng()i% h th4ng +hc D b*n ngoi -h@m vi c=a h th4ng m c t(5ng tc vLi h th4ng. pi"u ! gse case bao gm mt tT- h:- cc gse case% cc acto# v th" hin m4i quan h t(5ng tc gi'a acto# v gse case. f #<t quan t#Cng t#ong vic t& ch?c v m hnh ha hnh vi c=a h th4ng Zi ' -Y trnh t CN%.'%nc% UiagramD l mt d@ng bi"u ! t(5ng tc Pinte#actionR% bi"u diEn s8 t(5ng tc gi'a cc !4i t(:ng theo th? t8 th)i gian. f m t6 cc !4i t(:ng li*n quan t#ong mt tnh hu4ng c th" v cc b(Lc tu3n t8 t#ong vic t#ao !&i cc thng boPmessageR gi'a cc !4i t(:ng ! !" th8c hin mt ch?c n7ng no ! c=a h th4ng.

Zi ' -Y hFp tc C?o&&aGorationD d3n gi4ng nh( bi"u ! lequence% bi"u ! Hollabo#ation l mt cch +hc !" th" hin mt tnh hu4ng c th" x6, #a t#ong h th4ng. fh(ng n tT- t#ung vo vic th" hin vic t#ao !&i qua l@i cc thng bo gi'a cc !4i t(:ng ch? +hng quan t.m !0n th? t8 c=a cc thng bo !. H nghJa l qua ! ch1ng ta s\ bi0t !(:c nhanh chng gi'a { !4i t(:ng c th" no ! c t#ao !&i nh'ng thng bo g cho nhau. Zi ' -Y ch'y n trng thi CNtat%chartD Hh[ #a mt m, chu,"n t#@ng% bao gm cc t#@ng thi% cc b(Lc chu,"n t#@ng v cc ho@t !ng. f !;c bit quan t#Cng t#ong vic m hnh ha hnh vi c=a mt lL- giao dinPinte#xace classR ha, collabo#ation v n nh<n m@nh vo cc !- ?ng theo s8 +in c=a mt !4i t(:ng% !i>u n, #<t h'u /ch +hi m hnh ha mt h th4ng -h6n ?ngP#eactiveR. Zi ' -Y hot -Tng CJcti9ityD | mt d@ng !;c bit c=a bi"u ! chu,"n t#@ng. f ch[ #a lung !i t9 ho@t !ng n, sang ho@t !ng +hc t#ong mt h th4ng. f !;c bit quan t#Cng t#ong vic x., d8ng m hnh ch?c n7ng c=a h th4ng v nh<n m@nh tLi vic chu,"n !&i qu,>n +i"m sot gi'a cc !4i t(:ng Zi ' -Y th(nh ph@n C?ompon%ntD ch[ #a cch t& ch?c v s8 -h thuc c=a cc thnh -h3nPcom-onentR. f li*n quan tLi bi"u ! lL-% t#ong ! mt thnh -h3n th()ng nh x@ tLi mt ha, nhi>u lL-% giao din % collabo#ation. S'an h ThWa P1 CH%n%ra&iXationD ch[ #a c<u hnh c=a h th4ng +hi th8c thi.

]* ?c .'y t^c c!a "#L


Hc thnh -h3n c=a gM| +hng th" ngZu nhi*n !;t c@nh nhau. fh( b<t c? mt ngn ng' no% gM| c nh'ng qu, tFc ch[ #a #Ang mt m hnh t4t s\ nh( th0 no. Mt m hnh t4t l m hnh mang t/nh nh<t qun v c s8 +0t h:- hi hVa gi'a cc m hnh c li*n quan c=a n. gM| c mt s4 qu, tFc dnh cho vic^

_`t t5nQ !" c th" t#u, xu<t cc -h3n t c=a m hnh th -h6i !;t t*n cho ch1ng nh( t*n c=a cc quan h% bi"u !... ac -nh phm 9iQ ng' c6nh mang l@i mt Y nghJa c th" cho mt ci t*n

TAnh nhn th:y -LFcQ !" c !(:c s8 !5n gi6n v dE +i"m sot th D nh'ng ng' c6nh +hc nhau c3n ch[ #a #Ang mt ci t*n l hin h'u v !(:c s dng bDi nh'ng !4i t(:ng +hc nh( th0 no. TAnh to(n 9bnQ mCi th? quan h mt cch !1ng !Fn v nh<t qun vLi nhau nh( th0 no.

c* ?c Pd th'8t ch'ng c!a "#L


c*) ?= th h/a
fh( !K t#nh b, D -h3n t#*n% vic th" hin t#8c quan gi1- ch1ng ta hi"u v<n !> dE dng h5n ch? +hng c nghJa l cc m t6 bAng l)i l +hng c /ch.Hho n*n gM| +hng ch[ l mt tT- cc +/ hiu ! hCa. p*n c@nh cc +/ hiu ! hCa cVn c cc -ht bi"u bAng l)i !" ch[ #$ ng' nghJa c=a cc +/ hiu !. M/ d nh( t#ong +/ hiu c=a mt lL-P mt hnh ch' nhTtR cVn c th" !(:c ch[ #$ #a cc thuc t/nh% cc -h(5ng th?c c=a lL- !.

c*0 Trang trA


G<t c6 cc -h3n t t#ong gM| !>u c mt hnh d@ng -h.n bit !4i vLi cc -h3n t +hc. Ong th)i ch1ng cNng !(:c thi0t +0 !" th" hin nh'ng m;t quan t#Cng nh<t c=a !4i t(:ng. M/ d nh( +/ hiu cho mt lL- l mt hnh ch' nhTt #<t dE v\ bDi v lL- l mt thnh -h3n quan t#Cng% xu<t hi*n #<t nhi>u t#ong cc m hnh h(Lng !4i t(:ng. M +/ hiu n, th" hin !(:c c6 thnh -h3n quan t#Cng c=a lL- ! l t*n lL-% cc thuc t/nh v cc -h(5ng th?c c=a n. fgoi #a n cVn bao gm cc chi ti0t nh(^ lL- ! c -h6i l lLt#9u t(:ng +hng% cc thuc t/nh% -h(5ng th?c c=a n thuc lo@i g P-ublic% -#ivate ha, -#otectedR. fi tm l@i cc +/ hiu t#ong gM| gi1- ta nhTn bi0t cc !;c !i"m quan t#Cng c=a !4i t(:ng% +hi nim !(:c m t6 mt cch dE dng v nhanh chng.

c*2 Ohn chia


h.n bit #$ -h3n t#9u t(:ng v c th". G#(Lc ti*n l lL- v !4i t(:ng. Mt lL- l mt s8 t#9u t(:ng ha% mt !4i t(:ng l mt th" hin c th" c=a s8 t#9u t(:ng !. G#ong gM| ta c th" m hnh lL- v !4i t(:ng. H #<t nhi>u th? t(5ng t8. M/ d nh( mt gse case v mt th" hin c=a gse case% mt com-onent v mt th" hin c=a com-onent

c*7 Vd th'8t m4 rTng


gM| cung c<- nh'ng thnh -h3n c5 b6n !" lT- n*n mt m hnh cho mt -h3n m>m. fh(ng n +hng th" no bao qut h0t theo th)i gian mCi m hnh t#ong mCi lJnh v8c. co ! gM| !(:c thi0t +0 mD theo nghJa l ng()i d ng c th" mD #ng mt s4 thnh -h3n !" c th" - dng mt cch t4t nh<t cho h th4ng c=a hC m l@i +hng -h6i tha, !&i ha, thi0t +0 l@i cc thnh -h3n c5 sD c=a gM|. H5 ch0 ! bao gm^

Nt%r%otyp%s CPh'n m6'DQ mD #ng tT- t9 v8ng c=a gM|% cho -h- t@o nh'ng thnh -h3n mLi +0 th9a nh'ng !;c !i"m c=a nh'ng thnh -h3n !K c !ng th)i ch?a th*m nh'ng !;c !i"m #i*ng gFn vLi mt bi ton c th" no !. Tagg%d 9a&'%s Cgi tr theDQ mD #ng thuc t/nh c=a cc thnh -h3n c=a gM|% n cho -h- ta t@o th*m nh'ng thng tin mLi v> mt -h3n t. M/ d nh( +hi lm vic h:- tc !" t@o #a mt s6n -hSm% ta mu4n ch[ #a cc -hi*n b6n v tc gi6 c=a mt !4i t(:ng no !. Oi>u n, +hng !(:c x., d8ng sn t#ong gM| m c th" th8c hin thng qua vic th*m vo mt gi t#2 th. ?onstraints Cr(ng G'TcDQ mD #ng ng' nghJa c=a cc thnh -h3n c=a gM|% cho -h- t@o #a nh'ng qu, tFc mLi ho;c sa ch'a nh'ng qu, tFc !K c.

f* Vi1n trc c!a h thng


Uhi xem xt mt h th4ng% ch1ng ta c3n x., d8ng cc m hnh t9 nh'ng +h/a c@nh +hc nhau% xu<t -ht t9 th8c t0 l nh'ng ng()i lm vic vLi h th4ng vLi nh'ng vai t#V +hc nhau s\ nhn h th4ng t9 nh'ng +h/a c@nh +hc nhau. gM| xt h th4ng t#*n n +h/a c@nh^

)* "s%g?as% hi%i
pao gm cc gse Hase m t6 ?ng x c=a h th4ng theo cch nhn nhTn c=a ng()i d ng% ng()i -h.n t/ch h th4ng. f +hng ch[ #a cch c<u t#1c c=a h th4ng -h3n m>m% n ch[ d ng !" nhn nhTn mt cch t&ng qut nh'ng g m h th4ng s\ cung c<-% thng qua ! ng()i d ng c th" +i"m t#a xem cc ,*u c3u c=a mnh !K !(:c !- ?ng !3, != ha, ch(a ho;c c ch?c n7ng no c=a h th4ng l +hng c3n thi0t. pi"u ! d ng !0n l bi"u ! gse Hase.

0* Logica& hi%i

O(:c d ng !" xem xt cc -h3n t b*n t#ong h th4ng v m4i quan h% s8 t(5ng tc gi'a ch1ng !" th8c hin cc ch?c n7ng mong !:i c=a h th4ng.

2* Oroc%ss hi%i
Hhia h th4ng thnh cc ti0n t#nhP-#ocessR v lungPth#eadR% m t6 vic !ng b ha v cc x lY !ng th)i. c ng cho ng()i -ht t#i"n v t/ch h:- h th4ng% bao gm cc bi"u ! sequence% collabo#ation% activit, v state.

7* Imp&%m%ntation hi%i
pao gm cc com-onent v xile t@o n*n h th4ng vTt lY. f ch[ #a s8 -h thuc gi'a cc thnh -h3n n,% cch +0t h:- ch1ng l@i vLi nhau !" t@o #a mt h th4ng th8c thi.

;* U%p&oym%nt hi%i
Hh[ #a c<u hnh -h3n c?ng m h th4ng s\ ch@, t#*n !. f th" hin s8 -h.n tn% ci !;t cc -h3n m t@o n*n +i0n t#1cvTt lY c=a h th4ng. pi"u ! !(:c s dng l bi"u ! ce-lo,ment.

wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwww

UML Bi 2: Tm Use Case


ng x c=a h th4ng% t?c l nh'ng ch?c n7ng m h th4ng cung c<- s\ !(:c m t6 t#ong m hnh gse case. G#ong ! m t6 nh'ng ch?c n7ng Pgse caseR% nh'ng thnh -h3n D b*n ngoiP cto#R t(5ng tc vLi h th4ng v m4i quan h gi'a gse case v cto# Pbi"u ! gse caseR. Mc !/ch quan t#Cng nh<t c=a m hnh gse case l -hc v cho vic t#ao !&i thng tin. f cung c<- -h(5ng tin !" +hch hng% nh'ng ng()i d ng t(5ng lai c=a h th4ng v nh'ng ng()i -ht t#i"n h th4ng c th" t#ao !&i vLi nhau v bi0n nh'ng ,*u c3u v> m;t nghi- v c=a ng()i d ng thnh nh'ng ,*u c3u c th" m lT- t#nh vi*n c th" hi"u mt cch #$ #ng.

Jctor
)* _nh nghja actor
cto# +hng -h6i l mt -h3n c=a h th4ng. f th" hin mt ng()i ha, mt h th4ng +hc t(5ng tc vLi h th4ng. Mt cto# c th"^

Hh[ cung c<- thng tin cho h th4ng. Hh[ l<, thng tin t9 h th4ng. fhTn thng tin t9 h th4ng v cung c<- thng tin cho h th4ng

0* # t
Ghng th()ng% cc acto# !(:c tm th<, t#ong -ht bi"u bi ton bDi s8 t#ao !&i gi'a -h.n t/ch vi*n vLi +hch hng v cc chu,*n gia t#ong lJnh v8cPdomain ex-e#tR. Hc c.u hBi th()ng !(:c s dng !" xc !2nh acto# cho mt h th4ng l^

O4i vLi mt v<n !> c th" no ! th i l ng()i quan t.m } W th4ng !(:c d ng D n5i no t#ong t& ch?c} i l ng()i !(:c l:i +hi s dng h th4ng} i l ng()i cung c<- thng tin cho h th4ng% s dng thng tin c=a h th4ng v xa cc thng tin !} i l ng()i he t#: v b6o t# h th4ng} W th4ng c s dng ngun l8c no t9 b*n ngoi} H ng()i no !ng mt vi vai t#V t#ong h th4ng} H th" -h.n thnh { acto# H vai t#V no m nhi>u ng()i c ng th" hin} H th" ch[ l mt acto# W th4ng c t(5ng tc vLi cc h th4ng no +hc +hng}

?/ 2 &oi Jctor chAnh &(Q


Ngi dng. M/ d^ sinh vi*n% nh.n vi*n% +hch hng... H thng khc. S kin thi gian. M/ d^ U0t th1c thng% !0n h@n...

_ik' g to n5n mTt t8p hFp Jctor tt? H3n -h6i c.n nhFc +I l(ng +hi xc !2nh acto# c=a h th4ng. Hng vic n, th()ng !(:c th8c hin l;- !i l;- l@i. canh sch !3u ti*n v> cc acto# hi0m +hi l danh sch cu4i c ng. M/ d nh( t#ong bi ton !7ng +/ cc mn hCc c=a mt t#()ng !@i hCc% c mt c.u hBi l liu cc sinh vi*n mLi vo t#()ng l mt acto# v sinh vi*n cN l mt acto# +hc} di6 s c.u t#6 l c th b(Lc ti0- theo l xc !2nh xem cch th?c m hai acto# n, t(5ng tc vLi h th4ng. f0u ch1ng s dng h th4ng theo nh'ng cch +hc nhau th ch1ng l hai acto# ng(:c l@i s\ ch[ l mt acto# m thi. # t JctorQ Mic m t6 mt cch ngFn gCn v> mei acto# c3n th*m vo m hnh. M t6 n, c3n ch[ #$ vai t#V c=a acto# +hi t(5ng tc vLi h th4ng. M/ d^ linh vi*n^ l nh'ng ng()i !7ng +/ hCc cc lL- D t#()ng !@i hCc.

2* VA hi'

cto# cNng c m4i quan h +0 th9a. M/ d nh( c th" c hai acto# l nh.n vi*n t#6 l(5ng thng% nh.n vi*n lm h:- !ng. H6 hai !>u thuc mt +i"u l fh.n vi*n. cto# fh.n vi*n l mt acto# t#9u t(:ng v n +hng c mt th" hin no t#ong th8c t0% n !(:c d ng !" ch[ #a #Ang c mt s4 !i"m chung gi'a hai acto# t#*n. fi chung vic m t6 quan h +0 th9a gi'a cc cto# l +hng c3n thi0t% t#9 t#()ng h:ch1ng th8c hin nh'ng t(5ng tc +hc nhau !4i vLi h th4ng. M/ d^

?c mi .'an h
)* S'an h gi+a "s% cas% 9( JctorQ
Gh()ng gCi l quan h t(5ng tc v n th" hin s8 t(5ng tc gi'a mt acto# v mt gse case. M4i quan h n, c th" l hai chi>u Pt9 cto# !0n gse case v ng(:c l@iR% n cNng c th" ch[ l mt chi>u% l1c ! chi>u c=a quan h s\ ch[ #a #Ang ai l ng()i +hDi t@o li*n l@c PcommunicateR. uan h n, th" hin bDi mt !()ng thng n4i gi'a acto# v gse case Pquan h hai chi>uR ha, mt mNi t*n Pquan h mt chi>uR.

0* S'an h gi+a "s% cas% 9Bi "s% cas%Q


H ba lo@i quan h sau^ uses% extends v generalization. S'an h "s%s Cs d=ngDQ H th" c nhi>u gse case c chung mt s4 ch?c n7ng nhB. Uhi ! n*n tch ch?c n7ng ! thnh mt gse case #i*ng h5n l m t6 n t#ong t<t c6 cc gse case m c3n ch?c n7ng !. Uhi ! c mt quan h gses gi'a cc gse case t#*n v gse case v9a t@o #a. V d: t#ong h th4ng qu6n lY th( vin% mCi gse case !>u bFt !3u bAng vic +i"m t#a !2nh danh c=a ng()i d ng. Hh?c n7ng n, c th" m t6 t#ong mt gse case t*n l `O7ng nhTh th4nga% sau ! cc gse case +hc s\ s dng gse case n, +hi c3n thi0t. S'an h lxt%nds Cm4 rTngDQ

Uhng gi4ng nh( quan h gses t#ong ! ni #Ang +hi mt gse case s dng gse case p c nghJa l t#ong +hi th8c hin gse case -h6i th8c hin gse case p% quan h bxtends d ng !" ch[^

Cc hnh vi ty chn^ c th" th8c hin ho;c +hng. M/ d^ +hi gi email c th" th8c hin cc thao tc b6o mTt ni dung th( ho;c l +hng. Ga c gse case `p6o mTta c quan h extends vLi gse case `di emaila. Cc hnh vi m ch thc hin t !ng m"t # $i%& kin nh't $(nh. M/ d nh(^ Uhi th*m sch mLi t#ong th( vin th -h6i nhT- cc t9 +ha cho n% n0u t9 +ha ch(a c -h6i th8c hin th*m t9 +ha #i mLi ti0- tc th8c hin th*m cc thng tin v> sch. Ga c gse case `Gh*m t9 +haa c quan h extends gse case `Gh*m scha. )"t # hnh vi khc #* $+c thc hin ,h th&"c v! # -a chn c.a ngi dng. M/ d nh(^ ng()i d ng c=a h th4ng #1t ti>n t8 !ng c th" chCn u1t ti>n nhanh ho;c u1t ti>n theo cch bnh th()ng. Ga c gse case `u1t ti>n nhanha c quan h extends vLi gse case `u1t ti>na.

S'an h H%n%ra&iXation CthWa P1DQ HNng gi4ng nh( quan h th9a +0 gi'a hai lL-% quan h th9a +0 gi'a use case v use case p ni l*n #Ang use case p +0 th9a nh'ng !;c !i"m c=a use case ngoi #a n cNng c th" c th*m nh'ng !;c t#(ng #i*ng c=a n. V d^ nh( +i"m t#a !2nh danh ng()i d ng c th" theo nhi>u cch^ Ui"m t#a mK s4% +i"m t#a d<u v.n ta,... Uhi ! c6 hai !>u th8c hin mt s4 hnh !ng t(5ng !4i gi4ng nhau c=a mt lL- hnh !ng gCi l `Ui"m t#a !2nh danh ng()i d nga.

Zi ' -Y 's% cas% C"s% cas% UiagramD


)* _nh nghja
| bi"u ! th" hin s8 t(5ng tc% m4i quan h gi'a cc gse case v acto# t#ong h th4ng.

0* # t
Mei h th4ng th()ng c mt bi"u ! gse case ch/nh th" hin -h@m vi c=a h th4ng v cc ch?c n7ng ch/nh c=a h th4ng. l4 l(:ng cc gse case +hc !(:c t@o #a s\ t , thuc vo ,*u c3u. H th" l^

Mt bi"u ! th" hin t<t c6 cc gse case li*n quan !0n mt acto# no ! Mt bi"u ! th" hin t<t c6 cc gse case !(:c ci !;t t#ong mt giai !o@n -ht t#i"n.

Mt bi"u ! th" hin mt gse case v t<t c6 cc m4i quan h c=a n.

Gu, nhi*n n*n c.n nhFc !" cc bi"u ! th" hin != cc thng tin c3n thi0t% n0u qu nhi>u bi"u ! s\ g., #a s8 nh3m lZn v m<t !i l:i /ch c=a vic !5n gi6n ha. GT- h:- cc gse case gi1- cho +hch hng dE dng xem xt D m?c t&ng qut h th4ng m ta s\ x., d8ng. Mt h th4ng thng th()ng c t9 {k !0n nk gse case.

2* VA hi'
Mt bi"u ! gse case bao gm mt tT- cc gse case v acto#. di'a gse case v acto# c mt !()ng n4i n0u nh( acto# ! +hDi !3u mt gse case. pi"u gse case c th" lng nhau% c nghJa l mt gse case t#ong mt bi"u ! gse case c th" !(:c -h.n nhB #a thnh nh'ng gse case +hc% nAm t#ong mt bi"u ! gse case +hc. V d: W th4ng qu6n lY d8 n v ngun nh.n l8c. H b4n cto# l uesou#ce Manage# Pfg()i qu6n lY ngun nh.n l8cR% #orect Manage# Pfg()i qu6n lY d8 nR% l,stem dminist#ato# Pfg()i qu6n t#2 h th4ngR v pac+u- l,stemPh th4ng sao l(u d' liuR. Wnh mwm l bi"u ! use case D m?c t&ng qut% cung c<- mt b?c t#anh ton c6nh v> cc acto# v use case c=a h th4ng. Wnh mw{ chi ti0t ha use case /&0n -1 ng&2n nh3n -c bAng cch ch[ #a cc use case m acto# uesou#ce Manage# mong mu4n D h th4ng. uesou#ce Manage# c th" th*m mLi% sa% xa cc thng tin v> +J n7ng c=a nh.n vi*n. Mt +J n7ng -h6i !(:c tm #a t#ong c5 sD d' liu t#(Lc +hi n !(:c xa ho;c sa n*n use case indl+ill !(:c t@o #a. Wai use case g-datel+ill v uemovel+ill !>u s dng ch?c n7ng c=a use case indl+ill n*n ch1ng c quan h uses vLi use case n,. uesou#ce Manage# cNng c th" th*m% xa% sa cc thng tin v> nh.n vi*n. Uhi cT- nhTt thng tin v> mt nh.n vi*n% uesou#ce Manage# c th" l8a chCn^ th*m +J n7ng cho mt nh.n vi*n ha, xa bB mt +J n7ng c=a mt nh.n vi*n. co ! hai use case gnassignl+ill x#om uesou#ce v use case ssignl+ill to uesou#ce c quan h extends vLi use case g-dateuesou#ce !" ch[ #a ch1ng l hai +h6 n7ng l8a chCn c=a use case n,.

Hnh 1-1: biu Use case mc tng qut.

Ga c th" x., d8ng th*m cc bi"u ! chi ti0t h5n.

Hnh v 1-2: biu Use case

anage !es"u#ce mc chi ti$t h%n.

fhn vo bi"u ! t#*n ta th<, #$ tc dng c=a n t#ong vic t#ao !&i thng tin vLi +hch hng. Uhch hng c th" bi0t #$ nh'ng ch?c n7ng no s\ !(:c h th4ng cung c<-. fhn vo cc acto# hC c th" bi0t ch/nh xc ai s\ t(5ng tc vLi h th4ng. Mic n, s\ gi1- hC tm #a cc ch?c n7ng cVn thi0u. M/ d nh(^ Uhch hng c th" ni #Ang^ ` +hng% cc ch?c n7ng t#*n #<t ha, nh(ng ti cVn mu4n xem mk nh.n vi*n lm vic l.u n7m nh<t t#ong cng t,a. M nh( vT, cc ch?c n7ng c=a h th4ng s\ dE dng nFm bFt v !@t !(:c s8 nh<t t#/ vLi +hch hng m +hng -h6i bFt +hch hng !Cc qu nhi>u ti liu +I thuTt nh( t#(Lc.

UML Bi 3: Tm lp (Class)

_i tLFng CoG\%ctD
_nh nghja
O4i t(:ng l +hi nim d ng !" m hnh ha mt vTt ho;c mt +hi nim t#ong th0 giLi th8c.

# t
Uhi nghi*n c?u !4i t(:ng c3n ch1 Y tLi !;c !i"m ! l^ trng t !i PstateR% "ng x# Pbehavio#R v $n dan Pindentit,R c=a !4i t(:ng. G#@ng thi^ tT- d' liu% thng tin !" m t6 !4i t(:ng. G#@ng thi l mt t#ong nh'ng +h6 n7ng m !4i t(:ng c th" tn t@i. G#@ng thi c=a !4i t(:ng tha, !&i theo th)i gian v !(:c !2nh nghJa bDi mt tT- cc thuc t/nh% gi t#2 c=a cc thuc t/nh ! c ng vLi cc m4i quan h c=a !4i t(:ng vLi cc !4i t(:ng +hc. M/ d nh( !4i t(:ng canh sch O7ng +/ mn hCc t#ong h th4ng !7ng +/ lL- hCc c=a mt t#()ng !@i hCc c th" c hai t#@ng thi `mDa v `!nga. f0u s4 l(:ng sinh vi*n !7ng +/ cVn nhB h5n s4 t4i !a cho -h- th t#@ng thi c=a !4i t(:ng l `mDa% +hi !@t !0n s4 l(:ng sinh vi*n t4i !a cho mt lL- hCc th !4i t(:ng chu,"n sang t#@ng thi `!nga. ng x^ d ng !" !2nh nghJa cch ?ng x c=a !4i t(:ng !4i vLi nh'ng ,*u c3u t9 cc !4i t(:ng +hc. ?ng x c=a mt !4i t(:ng th" hin thng qua mt tT- cc -h- tonPo-e#ationR c=a !4i t(:ng. O2nh danh^

mei !4i t(:ng l du, nh<t% gi'a cc !4i t(:ng -h6i c s8 -h.n cch #$ #ng% cc !4i t(:ng +hc nhau c !2nh danh +hc nhau% cc !2nh danh n, +hng -h thuc vo t#@ng thi ha, ?ng x c=a !4i t(:ng

VA hi'
G#ong gM| !4i t(:ng !(:c th" hin bDi mt hnh ch' nhTt% t*n c=a !4i t(:ng !(:c g@ch ch.n.

LBp C?&assD
_nh nghja
|L- l !2nh nghJa c=a mt tT- h:- cc !4i t(:ng c chung cc thuc t/nh% cc ?ng x v ng' nghJa. fh( vT, lL- l mt +hun mZu !" t@o #a !4i t(:ng. Mei !4i t(:ng l mt th" hin c=a mt lL- v mt !4i t(:ng +hng th" l th" hin c=a nhi>u h5n mt lL-.

# t
|L- l +hi nim quan t#Cng nh<t t#ong h(Lng !4i t(:ng. X., d8ng !(:c mt tT- h:- lLt4t s\ t@o n*n mt h th4ng t4t. Gu, nhi*n vic tm lL- +hi -h.n t/ch mt h th4ng +hng -h6i l vic !5n gi6n. Uhng c mt -h(5ng -h- hon ch[nh !" tm lL-. Gu, nhi*n c mt cch #<t hiu qu6 !" tm cc lL- c=a mt h th4ng. O l vic tm cc lL- % &' t Pbntit,R% lL- (goi )i*n Ppounda#,R v lL- +i,u - in PHont#olR. LBp thc th Clntity ?&assD |L- th8c th" d ng !" m hnh ha cc thng tin l(u t#' l.u di t#ong h th4ng. f th()ng !c lT- vLi cc !4i t(:ng +hc D xung quanh% c nghJa l n +hng quan t.m tLi vic cc !4i t(:ng xung quanh t(5ng tc vLi h th4ng nh( th0 no. co ! n th()ng c +h6 n7ng s dng l@i. M/ d nh( lL- linh vi*n% lL- n, c th" c t#ong h th4ng qu6n lY !i"m% h th4ng O7ng +/ hCc% h th4ng qu6n lY th( vin... c=a mt t#()ng !@i hCc. Hc danh t9% cm danh t9 m t6 v> cc t#ch nhim P#es-onsibilit,R t#ong lung s8 +in l mt n5i dE -ht hin lL- th8c th". canh sch cc danh t9 ban !3u c th" !(:c xem xt !" lo@i bB #a nh'ng danh t9 D b*n ngoi lJnh v8c bi ton% nh'ng danh t9 t# ng l;-...Hc lLth8c th" th()ng !(:c gCi l lL- lJnh v8c bDi v n th()ng d ng !" m t6 cc !4i t(:ng% cc +hi nim li*n quan !0n lJnh v8c c=a h th4ng !ang x., d8ng. 4 hi&:

LBp Gi5n CZo'ndary ?&assD c ng !" nFm gi' s8 t(5ng tc gi'a -h3n b*n ngoi vLi -h3n b*n t#ong c=a h th4ng. Hh1ng cung c<- giao din cho mt ng()i d ng ha, mt h th4ng +hc !" t(5ng tc vLi h th4ng. Mei mt t(5ng tc gi'a c;- cto# gse case !Vi hBi /t nh<t l mt lL- bi*n. 4 hi&:

LBp -ik' Phi n C?ontro& ?&assD Gh" hin t#nh t8 ?ng x c=a h th4ng t#ong mt ha, nhi>u gse case. |L- n, d ng !" !i>u -h4i cc ho@t !ng c3n th8c hin !" hin th8c ha ch?c n7ng c=a mt gse case. H3n thTn t#Cng t#ong vic s dng lL- Oi>u +hi"n. f0u mt lL- Oi>u +hi"n lm nhi>u h5n vic !i>u -h4i cc ho@t !ng th n !K !(:c thi0t +0 sai vLi b6n ch<t n. U/ hiu^

(goi ra '.n '/ '!' 0 1n loi n 2 sau: lL- thng th()ng% lL- t#9u t(:ng Pabst#act classR% lL- tham s4 P-a#amete#ied classR% lL- th" hin Pinstantiated classR% lL- tin /ch Putilities classR% lL- tin /ch tham s4 P-a#amete#ied utilities classR% lL- th" hin tin /ch Pinstantiated utilities classR. LBp tham s Cparam%t%riX%d c&assDQ l lL- d ng !" t@o #a mt hC cc lL- c cc ?ng x c chung Y nghJa nh(ng th8c hin t#*n cc tT- d' liu +hc nhau. M/ d ^

LBp th hin Cinstantiat%d c&assDQ +hi ta gn mt gi t#2 c th" cho tham s4 c=a lL- tham s4% ta !(:c mt lL- th" hin. fh( D t#*n ta c lL- |ist d ng !" m t6 mt danh sch v cc -h- ton li*n quan tLi danh sch nh( th*m mt -h3n t vo danh sch% xa mt -h3n t +hBi danh sch% du,t danh sch. p., gi) ta cho mt gi t#2 c th" ! l nh.n vi*n% ta c danh sch nh.n vi*n.

LBp tin Ach C'ti&iti%s c&assDQ l mt tT- h:- cc -h- ton. M/ d nh( ta c mt s4 hm ton hCc ^ l<, bnh -h(5ng% l<, c7n... m !(:c d ng D nhi>u n5i t#ong h th4ng% +hi ! cc hm n, !(:c nhm l@i v !ng +/n t#ong mt lL- gCi l lL- tin /ch. |L- tin /ch th()ng !(:c d ng !" mD #ng t/nh n7ng c=a ngn ng' lT- t#nh% l(u gi' cc hm c th" ti s dng cho nhi>u h th4ng. LBp tin Ach tham s Cparam%t%riX%d 'ti&iti%s c&assDQ cNng gi4ng nh( lL- tin /ch% n bao gm mt tT- h:- cc hm ha, d ng nh(ng !" ch[ mt lL- tc !ng t&ng qut ch? +hng ch[ #$ +i"u d' liu m n s\ thao tc. LBp th hin tin Ach Cinstantiat%d 'ti&iti%s c&assDQ +hi cho mt gi t#2 c th" cho lL- tin /ch tham s4 ta c mt lL- th" hin tin /ch. M/ d LBp trW' tLFng CaGstract c&assDQ l lL- !(:c thi0t +0 D m?c ! t#9u t(:ng cao nh<t% n ch?a nh'ng thuc t/nh% nh'ng hnh vi chung cho nhi>u lL- con +hc. |L- t#9u t(:ng !(:c t@o #a ch[ !" cho cc lL- +hc +0 th9a n% nh'ng -h(5ng th?c +hai bo t#ong lL- t#9u t(:ng +hng !(:c ci !;t m ch1ng ch[ !(:c ci !;t D cc lL- con. Hho n*n +hng c mt !4i t(:ng no !(:c t@o #a t9 lLt#9u t(:ng.

Ohn Gm trch nhim gi+a cc &Bp


M hnh l mt tT- h:- c=a #<t nhi>u lL-% ch1ng ta c3n !6m b6o #Ang c mt s8 -h.n b& t#ch nhim t(5ng !4i cng bAng gi'a cc lL-. Oi>u ! c nghJa l +hng c lL- no qu lLn ho;c qu nhB. Mei lL- c3n -h6i lm t4t mt cng vic. f0u c nhi>u lL- qu lLn% ch1ng ta s\ th<, #Ang m hnh #<t +h tha, !&i v s dng l@i. f0u c nhi>u lL- qu nhB% ch1ng ta s\ +h c +h6 n7ng +i"m sot v hi"u h0t Y nghJa c=a ch1ng.

O" gi6i qu,0t v<n !> n,% ch1ng ta n*n th8c hin cc b(Lc sau^

Xc !2nh mt tT- h:- cc lL- m cng vic t(5ng !4i li*n quan vLi nhau !" th8c hin mt s4 ?ng x no !. Xc !2nh mt tT- h:- cc t#ch nhim cho mei lL-. Xem xt t9ng lL- mt% n0u lL- no qu lLn th tch n #a thnh nh'ng lL- nhB h5n% tT- h:- nh'ng lL- nhB thnh mt lL- lLn h5n v -h.n -h4i t#ch nhim mt cch h:- lY gi'a cc lL-. H.n nhFc cch th?c m nh'ng lL- n, h:- tc vLi nh'ng lL- +hc% -h.n -h4i l@i cc t#ch nhim n0u th<, c3n thi0t. Hng vic n, th8c hin l;- !i% l;- l@i cho tLi l1c c6m th<, t(5ng !4i -h h:-% n -h thuc nhi>u vo +inh nghim th8c t0.

# t &Bp
G#ong qu t#nh -h.n t/ch% c nhi>u lL- !(:c t@o #a% do ! c3n c mt m t6 cho mei lL!" hi"u #$ mc !/ch c=a lL- l !" lm g% t#nh s8 nh3m lZn. M t6 lL- c3n ch[ #a mc !/ch c=a lL- ch? +hng -h6i c<u t#1c c=a lL-. 4 hi&:

O(:c th" hin bDi mt hnh ch' nhTt% c cc -h3n ng7n cch gi'a t*n% thuc t/nh% -h(5ng th?c c=a lL-. V d: |L- `fg()i !Cca^ |L- n, ch?a cc thng tin c3n thi0t v> ng()i !Cc% -hc v cho vic m(:n sch. fg()i !Cc l ng()i !K !7ng +/ vLi th( vin v m(:n sch c=a th( vin. Mt m t6 ti s\ nh( sau^ |L- `fg()i !Cca^ |L- n, gm c t*n ng()i !Cc% !2a ch[...

H/i COacPag%sD
f0u h th4ng ch[ c mt vi lL- th ta c th" dE dng qu6n lY ch1ng. Gu, nhi*n h3u h0t cc h th4ng !>u c +h nhi>u lL- v do ! ta c3n c mt c5 ch0 !" nhm ch1ng l@i cho dE s dng% qu6n lY v s dng l@i. Mt giP -ac+ageR l mt tT- h:- cc lL- ha, cc gi c li*n quan vLi nhau. ua vic nhm lL- l@i theo gi% ta c th" nhn m hnh D m?c t&ng qut h5n v +hi c3n ta c th" xem chi ti0t cc lL- t#ong mt gi.

G#ong gM| mt gi +/ hiu nh( sau^

Zi ' -Y &Bp C?&ass UiagramD


Uhi c nhi>u lL- th*m vo m hnh% bi"u ! lL- !(:c t@o #a !" cung c<- mt b?c t#anh m t6 mt s4 ho;c t<t c6 cc lL- t#ong m hnh. Gh()ng c mt bi"u ! ch/nh th" hin cc gi t#ong m hnh. Mei gi l@i c mt bi"u ! ch/nh c=a gi !" m t6 cc lL- t#ong gi v m4i quan h gi'a ch1ng. l4 l(:ng bi>u ! lL- l tuz Y. Ghng th()ng c mt s4 cch d ng nh( sau^

Gh" hin c<u t#1c v ?ng x c=a mt ha, nhi>u lL-. Gh" hin m4i quan h th9a +0 gi'a cc lL-.

pi"u ! lL- l mt cng c h'u hiu t#ong vic thi0t +0. f gi1- cho lT- t#nh vi*n xem xt v l*n thi0t +0 v> c<u t#1c c=a h th4ng t#(Lc +hi vi0t mK lnh. V d: Mt d8 n c nhi>u ho@t !ng Pactivit,R v mt ho@t !ng c nhi>u nhim vPtas+R. uan h g- Pcom-ositionR gi'a d8 n v ho@t !ng ch[ #a #Ang cc ho@t !ng -h6i gFn vLi mt d8 n% n0u d8 n b2 h=, bB th cc ho@t !ng cNng b2 h=, bB.

5i6& $2 -7, 8 d9ng t:ng ;&t<

5i6& $2 -7, 8 m=c chi ti>t fh'ng ng()i -ht t#i"n s dng bi"u ! lL- !" x., d8ng cc lL-. Mt s4 cng c Hlb s\ gi1- t@o #a mK +hung cho cc lL- v ng()i -ht t#i"n s\ chi ti0t ha bAng ngn ng' lTt#nh m hC chCn. h.n t/ch vi*n s\ d ng bi"u ! lL- !" xem h th4ng D m?c chi ti0t. Hc +i0n t#1c s( h th4ng s\ xem thi0t +0 c=a h th4ng. f0u c mt lL- c qu nhi>u ch?c n7ng% hC c th" c.n nhFc !" tch lL- ! #a thnh cc lL- con.

You might also like