Luận văn: Nghiên cứu ngôn ngữ UML và ứng dụng
7,827
671
171
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
101
http://www.ebooks.vdcmedia.com
Möåt object (àöëi tûúång) laâ möåt thïí hiïån cuå thïí cuãa möåt lúáp trong hïå
thöëng,
àöëi tûúång coá thïí lêëy tïn thêåt trong thïë giúi thûåc. Möåt àöëi tûúång coá
thïí àûúåc àõnh
danh vaâ àõnh trõ.
Kyá hiïåu
Kyá hiïåu cuãa àöëi tûúång trong lûúåc àöì laâ möåt hònh chûä nhêåt àûúåc dêîn
xuêët
tûâ kyá hiïåu cuãa lúáp, thûúâng coá hai phêìn chñnh
- Phêìn trïn cuãa hònh chûä nhêåt chûáa tïn cuãa àöëi tûúång vaâ tïn lúáp cuãa
àöëi tûúång
(caã hai àïìu àûúåc gaåch dûúái). Nïëu àöëi tûúång khöng coá tïn, chó coá lúáp
phuå thuöåc,
ta goåi àêy laâ àöëi tûúång êín danh (anonymous). Cuá phaáp àùåt tïn àöëi tûúång
:
Tïn àöëi tûúång : Tïn lúáp
- Phêìn bïn dûúái chûáa caác giaá trõ cuãa àöëi tûúång vúái caác giaá trõ cuå
thïí. Cuá phaáp :
Tïn thuöåc tñnh : Kiïíu = Giaá trõ
(möåt thïí hiïån àún giaãn chó vúái tïn cuãa àöëi tûúång) (tïn àöëi tûúång) (tïn
lúáp) (àöëi
tûúång coá caác giaá trõ thuöåc tñnh cuå thïí ) ( àöëi tûúång êín danh, chó coá
tïn lúáp ) ( àöëi
tûúång vúái biïíu tûúång lúáp phuå thuöåc vaâ tïn àûúåc gaåch dûúái)
Hònh 3-40 Möåt söëá thïí hiïån cuãa àöëái tûúång (Objject)
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 105
3.25. Àöëi tûúång gheáp (Composite Object)
Ngûä nghôa
Àöëi tûúång gheáp biïíu diïîn àöëi tûúång úã mûác àöå cao hún, àöëi tûúång gheáp
àûúåc cêëu thaânh tûâ caác àöëi tûúång thaânh phêìn khaác. Àêy laâ möåt thïí
hiïån cuãa lúáp
trong quan hïå cêëu thaânh (xem hònh 3-34).
Kyá hiïåu
Kyá hiïåu cuãa àöëi tûúång gheáp tûúång tûå nhû cuãa àöëi tûúång thûúâng, nhûng
phêìn hònh chûä nhêåt bïn dûúái coá chûáa caác àöëi tûúång thaânh phêìn cêëu
thaânh vaâ caác
liïn kïët giûäa caác àöëi tûúång naây. (tïn àöëi tûúång vaâ tïn lúáp)(caác àöëi
tûúång thaânh
phêìn)
Hònh 3-41 Thïí hiïån cuãa àöëái tûúång gheáp (Composiite Objject)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
102
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 106
3.26. Caác liïn kïët (Link)
Ngûä nghôa
öåt liïn kïët (link) laâ möåt tham chiïëu giûäa caác àöëi tûúång. Liïn ïët laâ
möåt thïí
hiïån cuãa quan hïå kïët húåp.
Kyá kiïåu
Kyá hiïåu cuãa liïn kïët laâ möåt àûúâng dêîn nöëi hai àöëi tûúång vúái nau,
cuöëi
àûúâng dêîn coá thïí coá tïn vai troâ cuãa àöëi tûúång trong liïn kïët àoá. Lûu
yá, liïn kïët
khöng coá baãn söë. Liïn kïët coá raâng buöåc haån chïë (qualifier) thïí hiïån
bùçnh möåt
höåp nhoã chûáa giaá trõ haån chïë ngay àêìu liïn kïët. Ngoaâi ra liïn kïët coân
coá möåt söë
stereotype khi thûåc hiïån liïn kïët.
- association›› - mùåc àõnh khöng cêìn thïí hiïån trïn liïn kïët, ngoaåi trûâ
trûúâng
húåp cêìn nhêën maånh.
- ‹‹parameter›› - àöëi tûúång laâ tham söë haâm
- ‹‹local›› - àöëi tûúång laâ biïën cuåc böå
- ‹‹global›› - àöëi tûúång laâ biïën toaân cuåc
- ‹‹self›› - tûå liïn kïët (caác liïn kïët giûäa caác àöëi tûúång) (thïí hiïån
cuãa liïn kïët haån
chïë)
Hònh 3-42 Caác liïn kïëát (links)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
103
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 107
3.27. Lûúåc àöì Use Case (Use Case Diagram)
( caác taác nhên trong hïå thöëng) (quan hïå kïët húåp giûäa taác nhên vaâ use
case) (ranh
giúái xaác àõnh hïå thöëng) (caác use case trong hïå thöëng (quan hïå “extend”
(múã
röång) giûäa hai use case)
Hònh 3-43 Lûúåc àöì Use Case (Use Case Diiagram)
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 108
Ngûä nghôa
_ Laâ möåt loaåi lûúåc àöì bao göìm caác actor, caác use case,vaâ caác möëi quan
hïå giûäa
chuáng.
_ Lûúåc àöì Use Case ghi nhêån chûác nùng cuãa hïå thöëng dûúái goác nhòn cuãa
ngûúâi
sûã duång.
Chûác nùng
_ Àùåc taã ngûä caãnh cuãa möåt hïå thöëng vaâ caách thûác hïå thöëng tûúng taác
vúái thïë giúái
bïn ngoaâi.
_ Nùæm bùæt caác yïu cêìu cuãa hïå thöëng.
_ Xaác nhêån tñnh húåp lïå cuãa kiïën truác hïå thöëng.
_ Xaác àõnh phaåm vi ûáng duång vaâ caác chûác nùng cuãa hïå thöëng
_ Àõnh hûúáng quaá trònh caâi àùåt vaâ phaát sinh caác trûúâng húåp test.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
104
http://www.ebooks.vdcmedia.com
_ Àoáng vai troâ trung têm trong viïåc hoaåch àõnh tiïën trònh tiïën hoáa phêìn
mïìm.
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 109
3.29. Caác thaânh phêìn chñnh
3.29.1. Caác Use case
Ngûä nghôa
Use case (taåm dõch trûúâng húåp sûã duång) laâ möåt chuöîi caác haânh àöång
hoùåc
möåt àún võ chûác nùng àûúåc cung cêëp búãi hïå thöëng nhùçm àaáp ûáng nhu cêìu
cuãa
caác taác nhên bïn ngoaâi hay caác hïå thöëng khaác. Use case phaãi laâ möåt àún
võ chûác
nùng toaân diïån, luön traã vïì kïët quaã cuöëi cuâng cho taác nhên coá quan hïå
vúái noá vaâ
khöng thïí chia nhoã use case. Àiïím múã röång (extension point) laâ möåt tham
chiïëu
túái caác haânh àöång àûúåc múã röång tûâ möåt use case khaác.
Kyá hiïåu
Kyá hiïåu cuãa möåt use case laâ möåt ellipse vúái tïn bïn trong hoùåc àùåt ngay
bïn dûúái ellipse. Àùng kyá hoåc phêìn ÀKHP (tïn use case)
Hònh 3-44 Thïí hiïån cuãa Use case
Thïí hiïån cuãa àiïím múã röång laâ möåt danh saách nùçm bïn trong use case
àûúåc bùæt àêìu vúái tiïu àïì laâ Extension Points (xem hònh veä 3-46 trong
phêìn
3.5.4.4.3 Caác quan hïå).
3.29.2. Caác taác nhên (Actors)
Ngûä nghôa
Actor (taác nhên) laâ möåt thûåc thïí àoáng vai troâ tûúng taác vúái hïå thöëng,
taác
nhên coá thïí laâ ngûúâi sûã duång hïå thöëng hoùåc möåt hïå thöëng khaác. Möîi
taác nhên coá
möåt vai troâ nhêët àõnh àöëi vúái Use case maâ noá tûúng taác.
Kyá hiïåu
Kyá hiïåu cuãa möåt taác nhên laâ möåt hònh chûä nhêåt biïíu tûúång cuãa lúáp
vúái
stereotype laâ ‹‹actor›› àûúåc àùåt ngay trïn tïn cuãa taác nh ên. Biïíu tûúång
chuêín
cuãa taác nhên trong lûúåc àöì laâ möåt “ngûúâi hònh que” (stickman) vúái tïn
àûúåc àùåt
ngay bïn dûúái.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
105
http://www.ebooks.vdcmedia.com
Hònh 3-45 Thïí hiïån cuãa möåt taác nhên (Actor)
Chûúng 3
Hïå thöëng kyá hiïåu (UML Notation) 110
3.30. Caác quan hïå trïn Use case
Ngûä nghôa
Coá möåt söë quan hïå chuêín àûúåc àõnh nghôa giûäa Use case vaâ Actor hoùåc
Use case :
- Quan hïå kïët húåp (association) – àêy laâ quan hïå giûäa möåt actor vaâ möåt
use case,
quan hïå xaãy ra khi nhûäng thûåc thïí cuãa use case vaâ actor coá giao tiïëp,
liïn laåc vúái
nhau.
- Quan hïå múã röång (extend) – quan hïå múã röång tûâ use case A túái use case
B chó
ra rùçng use case A seä múã röång thïm möåt söë haânh vi lêëy tûâ use case A,
caác haânh
vi àûúåc múã röång tûâ use case B tuây thuöåc vaâo àiïìu kiïån múã röång àûúåc
àùåc taã taåi
àiïím múã röång (extension point) trïn use case B.
- Quan hïå töíng quaát hoáa (generalization) – quan hïå töíng quaát hoáa tûâ use
case A
túái use case B chó ra rùçng A laâ möåt phêìn àùåc biïåt hoáa cuãa B.
- Quan hïå bao haâm (include) – quan hïå bao haâm giûäa use case A vaâ use case
B
coá nghôa laâ A seä bao haâm nhûäng haânh vi àûúåc àùåc taã búãi B.
Kyá hiïåu
- Kyá hiïåu cuãa caác quan hïå :
- Kïët húåp – àûúâng dêîn liïìn neát nöëi actor vaâ use case
- Múã röång – àûúâng dêîn àûát neát coá hûúáng nöëi hai use case trïn àoá coá
tûâ khoáa
‹‹extend››.
- Töíng quaát hoáa – àûúâng dêîn liïìn neát coá tam giaác röîng cuöëi àûúâng
dêîn.
- Bao haâm - àûúâng dêîn àûát neát coá hûúáng nöëi hai use case trïn àoá coá tûâ
khoáa
‹‹include››.
(actor) (quan hïå múã röång) (àiïím múã röång) (quan hïå bao haâm)
Hònh 3-46 Nhûäng quan hïå trïn use case
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
106
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 111
3.31. Caác quan hïå trïn actor
Ngûä nghôa
Coá hai loaåi quan hïå trïn actor o Quan hïå kïët húåp – tûúng tûå nhû phêìn use
case. - Quan hïå töíng quaát hoáa (generalization) – quan hïå töíng quaát hoáa
tûâ taác
nhên A túái taác nhên B chó ra rùçng A cuäng coá thïí giao tiïëp, liïn laåc vúái
caác use
case maâ taác nhên B giao tiïëp àûúåc.
Kyá hiïåu
(quan hïå töíng quaát hoáa) (quan hïå kïët húåp)
Hònh 3-47 Quan hïå trïn caác actor
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 112
3.32. Lûúåc àöì tuêìn tûå (Sequence Diagram)
àöëi tûúång) (tïn) (lúáp) (thöng àiïåp truyïìn ài) (nhaän) (kñch hoaåt) (àïå
qui) (àûúâng
giúái haån chu kyâ söëng cuãa àöëi tûúång) (traã vïì) (huãy) (taåo)
Hònh 3-48 Lûúåc àöì tuêìn tûå (Sequence Diiagram)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
107
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 113
Ngûä nghôa
_ Laâ möåt lûúåc àöì tûúng taác têåp trung vaâo caác haânh vi àöång hûúáng thúâi
gian.
_ Caách thïí hiïån tuêìn tûå àùåc biïåt hûäu duång trong caác hïå thöëng vúái
caác chûác nùng
phuå thuöåc vaâo thúâi gian nhû laâ caác ûáng duång thúâi gian thûåc, hoùåc cho
caác kõch
baãn phûác taåp khi maâ sûå phuå thuöåc vaâo thúâi gian àoáng vai troâ quan
troång.
_ Lûúåc àöì tuêìn tûå coá hai phûúng
_ Theo phûúng thùèng àûáng – biïíu diïîn truåc thúâi gian theo hûúáng tûâ trïn
xuöëng
dûúái.
_ Theo phûúng ngang – biïíu diïîn caác àöëi tûúång khaác nhau trong chuöîi tuêìn
tûå
caác sûå kiïån duâng àïí thûåc hiïån möåt chûác nùng naâo àoá cuãa hïå thöëng.
_ Lûúåc àöì tuêìn tûå coá hai àùåc àiïím maâ lûúåc àöì cöång taác khöng coá laâ
àûúâng giúái
haån chu kyâ söëng (lifeline) vaâ kñch hoaåt (focus of control).
Chûác nùng
_ Mö hònh hoáa luöìng xûã lyá
_ Minh hoåa caác kõch baãn àùåc trûng
_ Mö taã möåt caách roä raâng sûå tuêìn tûå cuãa caác sûå kiïån, thïí hiïån khi
naâo möåt àöëi
tûúång àûúåc taåo vaâ huyã, mö taã caác haânh àöång àöìng thúâi.
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 114
3.33. Caác thaânh phêìn chñnh
Lûúåc àöì tuêìn tûå bao göìm böën thaânh töë chñnh :
- Caác àöëi tûúång (object) liïn quan àïën lûúåc àöì.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
108
http://www.ebooks.vdcmedia.com
- Caác àûúâng giúái haån chu kyâ söëng (lifeline) thïí hiïån sûå töìn taåi cuãa
àöëi tûúång trïn
truåc thúâi gian.
- Caác kñch hoaåt (activation - focus of control) àûúåc thïí hiïån bùçng hònh
chûä nhêåt
nùçm trïn àûúâng söëng. Àöå daâi cuãa focus of control cho biïët thúâi gian maâ
àöëi
tûúång töìn taåi àïí thûåc hiïån möåt söë haânh àöång naâo àoá.
- Caác thöng àiïåp (message) thïí hiïån sûå liïn laåc giûäa caác àöëi tûúång,
àûúåc biïíu
diïîn bùçng caác caånh nöëi giûäa nhûäng hònh chûä nhêåt cuãa caác focus of
control coá liïn
quan. Coá möåt söë daång thöng àiïåp : thöng àiïåp àöìng böå, thöng àiïåp khöng
àöìng
böå, thöng àiïåp àïå qui...
3.33.1. Viïåc taåo vaâ huãy möåt àöëi tûúång
Trong lûúåc àöì tuêìn tûå ta coá thïí àùåc taã khi naâo möåt àöëi tûúång àûúåc
taåo ra
vaâ bõ huãy ài. Xeát vñ duå sau :
Hònh 3-49 laâ möåt lûúåc àöì tuêìn tûå diïîn taã viïåc khúãi taåo vaâ huyã caác
àöëi tûúång trong lûúåc àöì tuêìn tûå. ÚÃ àêy, ta thêëy àöëi tûúång
CellularRadio taåo möåt
àöëi tûúång Connection àïí àaáp ûáng laåi thöng àiïåp Connect. Viïåc taåo möåt
àöëi
tûúång àûúåc kyá hiïåu bùçng möåt muäi tïn thöng àiïåp chó àïën hònh chûä nhêåt
mö taã
àöëi tûúång cêìn taåo. Tûúng tûå nhû vêåy, viïåc huyã àöëi tûúång kyá hiïåu
bùçng möåt muäi
tïn thöng àiïåp chó àïën dêëu X nùçm úã cuöëi àûúâng lifeline cuãa àöëi tûúång.
Thúâi gian
söëng cuãa àöëi tûúång Connection àûúåc thïí hiïån rêët roä trïn hònh veä.
(taåo àöëi tûúång) (huãy àöëi tûúång) (chu kyâ söëng cuãa àöëi tûúång àûúåc taåo
ra) (thöng
àiïåp bêët àöång böå)
Hònh 3-49 Taåo vaâ huãy àöëái tûúång trïn lûúåc àöì tuêìn tû
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 115
å
3.34. Thöng àiïåp khöng àöìng böå vaâ àïå qui
Thöng àiïåp khöng àöìng böå laâ möåt thöng àiïåp trúã vïì ngay lêåp tûác sau khi
sinh ra möåt tiïíu trònh trong àöëi tûúång nhêån thöng àiïåp. Trong lûúåc àöì
tuêìn tûå, noá
àûúåc thïí hiïån bùçng möåt muäi tïn khöng àêìy àuã (chó coá 1 neát). Xem vñ duå
hònh 3-
49, thöng àiïåp Connect(pno) àûúåc traã vïì àöëi tûúång Cellularradio ngay lêåp
tûác
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
109
http://www.ebooks.vdcmedia.com
sau khi àûúåc gúãi túái àöëi tûúång Connection. Khi möåt àöëi tûúång tûå kñch
hoaåt coá
nghôa laâ noá sinh ra möåt thöng àiïåp tûå gûãi cho chñnh noá, àêy phaãi laâ
möåt thöng
àiïåp àöìng böå vaâ àûúåc biïíu diïîn bùçng möåt muäi tïn tûå moác vaâo thanh
kñch hoaåt
(xem hònh veä 3-48).
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 116
3.35. Thúâi gian chuyïín thöng àiïåp trong lûúåc àöì tuêìn tûå
Möåt thöng àiïåp trong lûúåc àöì tuêìn tûå coá thïí àûúåc àùåc taã thúâi gian
gûãi ài
hoùåc thúâi gian nhêån vïì. Chuáng coá caác tïn hònh thûác coá thïí àûúåc duâng
trong biïíu
thûác raâng buöåc (xem vñ duå hònh 3-50). Möåt thöng àiïåp thöng àiïåp coá thïí
töìn taåi
trong möåt khoaãng thúâi gian àaáng kïí tûâ luác àûúåc gûãi ài àïën luác àûúåc
tiïëp nhêån vaâ
xûã lyá, trong lûúåc àöì tuêìn tûå caác thöng àiïåp daång naây àûúåc biïíu diïîn
bùçng möåt
muäi tïn xeáo tûâ hònh chûä nhêåt kñch hoaåt naây túái hònh chûä nhêåt kñch
hoaåt kia.
(raâng buöåc vïì thúâi gian nhêån vaâ gûãi thöng àiïåp) (thúâi gian chuyïín
thöng àiïåp laâ
àaáng kïí)
Hònh 3-50 Raâng buöåc vïì thúâi gian chuyïín thöâng àiïåp
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 117
3.36. Lûúåc àöì cöång taác (Collaboration Diagram)
Vñ duå
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
110
http://www.ebooks.vdcmedia.com
(liïn kïët giûäa 2 àöëi tûúång coá tûúng taác vúái nhau) (àöëi tûúång) ( message
gûãi ài
giûäa caác àöëi tûúång) (söë thûá tûå cuãa caác message)
Hònh 3-51 Lûúåc àöì cöång taác(Collllaboratiion Diiagram)
Ngûä nghôa
_ Laâ möåt lûúåc àöì tûúng taác têåp trung vaâo cêëu truác töí chûác, möëi quan
hïå
taác àöång qua laåi giûäa caác àöëi tûúång.
- Lûúåc àöì cöång taác vaâ tuêìn tûå tûúng tûå nhau vïì mùåt ngûä nghôa, chuáng
thïí hiïån
nhûäng thöng tin tûúng tûå nhûng theo hai caách khaác nhau.
- Lûúåc àöì tuêìn tûå chuá troång àïën thûá tûå caác thöng àiïåp àûúåc chuyïín
taãi theo thúâi
gian.
- Lûúåc àöì cöång taác chuá troång àïën möëi quan hïå giûäa caác àöëi tûúång.
Chûác nùng
_ Ghi nhêån caác haânh vi àöång cuãa hïå thöëng (hûúáng message)
_ Mö hònh hoáa luöìng xûã lyá
_ Minh hoåa sûå phöëi húåp giûäa cêëu truác àöëi tûúång vaâ caác xûã lyá
_ Thïí hiïån sûå aãnh hûúãng lêîn nhau giûäa caác àöëi tûúång
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 118
3.37. Caác thaânh phêìn chñnh
3.37.1. Caác àöëi tûúång
Caác àöëi tûúång àûúåc thïí hiïån tûúng tûå nhû trong lûúåc àöì tuêìn tûå, àoá
laâ möåt
hònh chûä nhêåt vúái tïn àöëi tûúång vaâ tïn lúáp àûúåc gaåch dûúái, trong möåt
söë trûúâng
húåp coá thïí khöng àïí tïn àöëi tûúång.
3.37.2. Caác liïn kïët
Liïn kïët giûäa caác àöëi tûúång àûúåc thïí hiïån bùçng möåt àûúâng nöëi hai
àöëi
tûúång coá quan hïå vúái nhau. Caác vai troâ (role) vaâ haån chïë (qualifier)
trong liïn
kïët àûúåc thïí hiïån úã àêìu cuöëi cuãa liïn kïët (tûúng tûå nhû trong quan hïå
kïët húåp
giûäa hai lúáp). Trong lûúåc àöì tuêìn tûå àùåc taã sùén möåt söë khuön mêîu
sùén cho vai troâ
cuãa caác liïn kïët :