Luận văn: Nghiên cứu ngôn ngữ UML và ứng dụng

7,350
671
171
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
111
http://www.ebooks.vdcmedia.com
- ‹‹local›› - chó ra rùçng thûåc thïí tûúng ûáng laâ möåt biïën cuåc böå trong möåt haânh vi
hay möåt haâm.
- ‹‹global›› - chó ra rùçng thûåc thïí tûúng ûáng laâ möåt biïën toaân
cuåc trong möåt haânh vi hay möåt haâm.
- ‹‹parameter›› - chó ra rùçng thûåc thïí tûúng ûáng laâ möåt tham söë trong möåt haânh
vi hay möåt haâm.
- ‹‹self›› - chó ra rùçng àöëi tûúång coá thïí gûãi thöng àiïåp cho chñnh noá...
(caác thöng àiïåp) (caác vai troâ trong liïn kïët) (tûå liïn kïët vúái khuön mêîu self)
Hònh 3-52 Vñ duå vïì caác khuön mêîãu trong vai troâ liïn kïëát
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 119
3.38. Thöng àiïåp vaâ caác kñch thñch
Ngûä nghôa
Trong lûúåc àöì cöng taác möåt sûå kñch thñch (stimulus) laâ möåt liïn laåc giûäa
hai àöëi tûúång nhùçm muåc àñch truyïìn àaåt thöng tin cho nhau. Möåt stimulus seä gêy
ra möåt haâm, hoùåc àaánh thûác möåt sûå kiïån hoùåc taåo ra hoùåc huãy möåt àöëi tûúång.
Möåt thöng àiïåp chñnh laâ möåt àùåc taã cuãa möåt stimulus, noá àõnh roä vai troâ cuãa àöëi
tûúång nhêån vaâ àöëi tûúång gúãi.
Kyá hiïåu
Thöng àiïåp vaâ stimulus àûúåc thïí hiïån bùçng möåt muäi tïn coá nhaän àùåt ngay
trïn liïn kïët giûäa hai àöëi tûúång. Úû àêy caác liïn kïët (links)àoáng vai troâ chuyïín,
thi haânh, hay phên phöëi caác kñch thñch túái caác àöëi tûúång nhêån. Muäi tïn cuãa thöng
àiïåp chó hûúáng àïën àöëi tûúång nhêån. Möåt söë daång liïn laåc giûäa caác àöëi tûúång Kyá
hiïåu YÁ nghôa (tûúång trûng cho) Caác thuã tuåc goåi hoùåc caác luöìng àiïìu khiïín con.
Luöìng àiïìu khiïín nïìn. Möîi muäi tïn biïíu diïîn viïåc xuác tiïën cho thöng àiïåp kïë
tiïëp trong chuöîi caác thöng àiïåp Möåt kñch thñch khöng àöìng böå. Thöng àiïåp traã vïì
cuãa möåt thuã tuåc goåi naâo àoá.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 111 http://www.ebooks.vdcmedia.com - ‹‹local›› - chó ra rùçng thûåc thïí tûúng ûáng laâ möåt biïën cuåc böå trong möåt haânh vi hay möåt haâm. - ‹‹global›› - chó ra rùçng thûåc thïí tûúng ûáng laâ möåt biïën toaân cuåc trong möåt haânh vi hay möåt haâm. - ‹‹parameter›› - chó ra rùçng thûåc thïí tûúng ûáng laâ möåt tham söë trong möåt haânh vi hay möåt haâm. - ‹‹self›› - chó ra rùçng àöëi tûúång coá thïí gûãi thöng àiïåp cho chñnh noá... (caác thöng àiïåp) (caác vai troâ trong liïn kïët) (tûå liïn kïët vúái khuön mêîu self) Hònh 3-52 Vñ duå vïì caác khuön mêîãu trong vai troâ liïn kïëát Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 119 3.38. Thöng àiïåp vaâ caác kñch thñch Ngûä nghôa Trong lûúåc àöì cöng taác möåt sûå kñch thñch (stimulus) laâ möåt liïn laåc giûäa hai àöëi tûúång nhùçm muåc àñch truyïìn àaåt thöng tin cho nhau. Möåt stimulus seä gêy ra möåt haâm, hoùåc àaánh thûác möåt sûå kiïån hoùåc taåo ra hoùåc huãy möåt àöëi tûúång. Möåt thöng àiïåp chñnh laâ möåt àùåc taã cuãa möåt stimulus, noá àõnh roä vai troâ cuãa àöëi tûúång nhêån vaâ àöëi tûúång gúãi. Kyá hiïåu Thöng àiïåp vaâ stimulus àûúåc thïí hiïån bùçng möåt muäi tïn coá nhaän àùåt ngay trïn liïn kïët giûäa hai àöëi tûúång. Úû àêy caác liïn kïët (links)àoáng vai troâ chuyïín, thi haânh, hay phên phöëi caác kñch thñch túái caác àöëi tûúång nhêån. Muäi tïn cuãa thöng àiïåp chó hûúáng àïën àöëi tûúång nhêån. Möåt söë daång liïn laåc giûäa caác àöëi tûúång Kyá hiïåu YÁ nghôa (tûúång trûng cho) Caác thuã tuåc goåi hoùåc caác luöìng àiïìu khiïín con. Luöìng àiïìu khiïín nïìn. Möîi muäi tïn biïíu diïîn viïåc xuác tiïën cho thöng àiïåp kïë tiïëp trong chuöîi caác thöng àiïåp Möåt kñch thñch khöng àöìng böå. Thöng àiïåp traã vïì cuãa möåt thuã tuåc goåi naâo àoá.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
112
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 120
3.39. Cuá phaáp àùåt tïn nhaän
Àêy laâ möåt phêìn rêët quan troång trong viïåc àùåc taã caác thöng àiïåp, cuá phaáp
chuêín cuãa caác thöng àiïåp bao göìm Predecessor guard-condition sequence-
expression return-value := message-name argument-list
- Predecessor laâ möåt danh saách caác chó söë thûá tûå àûúåc phên caách nhau bùçng
dêëu phêíy (,)vaâ kïët thuác bùçng dêëu (/). Cuá phaáp cuãa predecessor nhû sau
Chó söë thûá tûå luöìng ‘,’ … ‘/’
YÁ nghôa : caác thöng àiïåp coá chó söë thûá tûå trong danh saách trïn phaãi àûúåc xûã lyá
xong thò thöng àiïåp hiïån taåi múái àûúåc gúãi ài.
- Guard condition àûúåc viïët bùçng maä giaã hoùåc bùçng ngön ngûä lêåp trònh tuây
thuöåc cöng cuå höî trúå thiïët kïë. Cuá phaáp ‘[‘ Mïånh àïì àiïìu kiïån ‘]’
- Sequence number biïíu diïîn chó söë cuãa caác thöng àiïåp, caác thöng àiïåp löìng,
caác thöng àiïåp àöìng thúâi... Cuá phaáp
[ söë / tïn ] [ recurrence] ‘: ’
YÁ nghôa : Söë chó thûá tûå cuãa thöng àiïåp. Tïn chó caác thöng
àiïåp àöìng thúâi. Vñ duå :
1 - chó thöng àiïåp àêìu tiïn 2.1, 2.2 ... chó caác thöng àiïåp löìng sau khi xûã lyá
thöng àiïåp 2 3.1a, 3.1b laâ hai thöng àiïåp àöìng thúâi. Recurrence biïíu diïîn caác
hoaåt àöång lùåp hoùåc àiïìu kiïån.
Coá hai daång cuá phaáp :
‘*’ ‘[‘ Àiïìu kiïån lùåp ‘]’ biïíu diïîn möåt àiïìu kiïån
lùåp. Vñ duå : * [ i=1..n].
‘[‘àiïìu kiïån reä nhaánh ‘]’ xaác àõnh möåt àiïìu kiïån
reä nhaánh. Vñ duå : [ x > y ].
- Return value giaá trõ traã vïì cuãa thöng àiïåp
- Message name - tïn thöng àiïåp
- Argument list danh saách caác àöëi söë
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 112 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 120 3.39. Cuá phaáp àùåt tïn nhaän Àêy laâ möåt phêìn rêët quan troång trong viïåc àùåc taã caác thöng àiïåp, cuá phaáp chuêín cuãa caác thöng àiïåp bao göìm Predecessor guard-condition sequence- expression return-value := message-name argument-list - Predecessor – laâ möåt danh saách caác chó söë thûá tûå àûúåc phên caách nhau bùçng dêëu phêíy (,)vaâ kïët thuác bùçng dêëu (/). Cuá phaáp cuãa predecessor nhû sau Chó söë thûá tûå luöìng ‘,’ … ‘/’ YÁ nghôa : caác thöng àiïåp coá chó söë thûá tûå trong danh saách trïn phaãi àûúåc xûã lyá xong thò thöng àiïåp hiïån taåi múái àûúåc gúãi ài. - Guard condition – àûúåc viïët bùçng maä giaã hoùåc bùçng ngön ngûä lêåp trònh tuây thuöåc cöng cuå höî trúå thiïët kïë. Cuá phaáp ‘[‘ Mïånh àïì àiïìu kiïån ‘]’ - Sequence number – biïíu diïîn chó söë cuãa caác thöng àiïåp, caác thöng àiïåp löìng, caác thöng àiïåp àöìng thúâi... Cuá phaáp [ söë / tïn ] [ recurrence] ‘: ’ YÁ nghôa : Söë chó thûá tûå cuãa thöng àiïåp. Tïn chó caác thöng àiïåp àöìng thúâi. Vñ duå : 1 - chó thöng àiïåp àêìu tiïn 2.1, 2.2 ... chó caác thöng àiïåp löìng sau khi xûã lyá thöng àiïåp 2 3.1a, 3.1b laâ hai thöng àiïåp àöìng thúâi. Recurrence – biïíu diïîn caác hoaåt àöång lùåp hoùåc àiïìu kiïån. Coá hai daång cuá phaáp : ‘*’ ‘[‘ Àiïìu kiïån lùåp ‘]’ – biïíu diïîn möåt àiïìu kiïån lùåp. Vñ duå : * [ i=1..n]. ‘[‘àiïìu kiïån reä nhaánh ‘]’ – xaác àõnh möåt àiïìu kiïån reä nhaánh. Vñ duå : [ x > y ]. - Return value – giaá trõ traã vïì cuãa thöng àiïåp - Message name - tïn thöng àiïåp - Argument list – danh saách caác àöëi söë
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
113
http://www.ebooks.vdcmedia.com
- Möåt söë vñ duå vïì caách àùåt tïn nhaän 2: display (x,y) - thöng àiïåp àún giaãn
1.3.1 : p:= find(name) - thöng àiïåp löìng [x<0] 4 : invert (x, color) - coá àiïìu kiïån
A3,A4/ C3.1 * : update() -message àöìng thúâi
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 121
3.40. Lûúåc àöì traång thaái (Statechart Diagram)
(traång thaái kïët thuác) (traång thaái bùæt àêìu) (sûå chuyïín àöíi traång thaái nöåi taåi) (sûå
kiïån) (haânh àöång) (sûå chuyïín àöíi traång thaái) (traång thaái con) (traång thaái)
nh 3-53 Lûúåc àöì traång thaái(Statechart Diiagram)
Ngûä nghôa
_ Laâ möåt lûúåc àöì thïí hiïån maáy traång thaái
_ Laâ möåt lûúåc àöì thïí hiïån haânh vi cuãa caác thûåc thïí coá thïí mang nhûäng
haânh vi àöång bùçng caách àùåc taã sûå höìi àaáp cuãa chuáng trûúác nhûäng sûå
kiïån tûâ caác thûåc thïí khaác gûãi túái.
Chûác nùng
_ Mö hònh hoáa chu trònh söëng cuãa àöëi tûúång
_ Mö hònh hoáa caác àöëi tûúång phaãn höìi (user interfaces, devices...)
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 122
3.41. Caác thaânh phêìn chñnh
3.41.1. Traång thaái (state)
Ngûä nghôa
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 113 http://www.ebooks.vdcmedia.com - Möåt söë vñ duå vïì caách àùåt tïn nhaän 2: display (x,y) - thöng àiïåp àún giaãn 1.3.1 : p:= find(name) - thöng àiïåp löìng [x<0] 4 : invert (x, color) - coá àiïìu kiïån A3,A4/ C3.1 * : update() -message àöìng thúâi Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 121 3.40. Lûúåc àöì traång thaái (Statechart Diagram) (traång thaái kïët thuác) (traång thaái bùæt àêìu) (sûå chuyïín àöíi traång thaái nöåi taåi) (sûå kiïån) (haânh àöång) (sûå chuyïín àöíi traång thaái) (traång thaái con) (traång thaái) Hònh 3-53 Lûúåc àöì traång thaái(Statechart Diiagram) Ngûä nghôa _ Laâ möåt lûúåc àöì thïí hiïån maáy traång thaái _ Laâ möåt lûúåc àöì thïí hiïån haânh vi cuãa caác thûåc thïí coá thïí mang nhûäng haânh vi àöång bùçng caách àùåc taã sûå höìi àaáp cuãa chuáng trûúác nhûäng sûå kiïån tûâ caác thûåc thïí khaác gûãi túái. Chûác nùng _ Mö hònh hoáa chu trònh söëng cuãa àöëi tûúång _ Mö hònh hoáa caác àöëi tûúång phaãn höìi (user interfaces, devices...) Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 122 3.41. Caác thaânh phêìn chñnh 3.41.1. Traång thaái (state) Ngûä nghôa
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
114
http://www.ebooks.vdcmedia.com
Möåt traång thaái (state) laâ möåt hoaân caãnh hay möåt tònh huöëng trong quáa
trònh söëng cuãa àöëi tûúång thoãa maän möåt vaâi àiïìu kiïån naâo àoá, traång thaái coá thïí úã
tònh traång chuã àöång tiïën haânh möåt söë hoaåt àöång hoùåc thuå àöång chúâ àúåi möåt vaâi
sûå kiïån khaác xaãy ra. Trong lûúåc àöì traång thaái luön coá möåt traång thaái ban àêìu
(initial state) vaâ möåt hoùåc nhiïìu traång thaái kïët thuác (final state).
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 123
Kyá hiïåu
Traång thaái ban àêìu (hay traång thaái khúãi àöång) àûúåc kyá hiïåu bùçng möåt hònh
troân nhoã àûúåc tö àen bïn trong, traång thaái kïët thuác àûúåc kyá hiïåu bùçng möåt hònh
troân nhoã àûúåc tö àen àûúåc bao búãi möåt àûúâng troân lúán hún úã phña ngoaâi (xem
hònh veä3-53). Traång thaái thöng thûúâng àûúåc biïíu diïîn bùçng möåt hònh chûä nhêåt
vúái caác goác troân. Hònh chûä nhêåt biïíu diïîn möåt traång thaái coá thïí àûúåc chia thaânh
nhiïìu phêìn
- Phêìn chûáa tïn chûáa tïn cuãa traång thaái.
- Phêìn chûáa caác sûå chuyïín àöíi nöåi taåi (Internal transitions) phêìn naây chûáa danh
saách caác haânh àöång nöåi taåi (internal actions) bïn trong möåt traång thaái. Cuá phaáp :
action-label ‘/’ action-expression Coá möåt söë nhaän haânh àöång (actiona-label)
chuêín àûúåc àõnh nghôa trong UML:
- entry - xaác àõnh möåt haânh àöång àêìu vaâo cuãa möåt traång thaái. Vñ duå trûúác traång
thaái àaánh password (Typing Password hònh 3-54) ta phaãi coá möåt haânh àöång laâ
àõnh daång caác kyá tûå àaánh vaâo dûúái daång êín (vñ duå nhû duâng kyá tûå * àïí thay thïë).
- exit - xaác àõnh möåt haânh àöång khi thoaát ra khoãi traång thaái. Vñ duå sau khi thoaát
khoãi traång thaái àaánh password ta phaãi àùåt laåi chuêín thöng thûúâng cho viïåc nhêån
möåt kyá tûå tûâ baân phñm (khöng hiïín thõ dûúái daång êín nûäa).
- do xaác àõnh möåt haânh àöång nöåi taåi xaãy ra trong traång thaái.
- include xaác àõnh möåt traång thaái con hoùåc möåt maáy traång
thaái con coá liïn quan.
- Trong nhûäng trûúâng húåp khaác, ngûúâi duâng coá thïí àõnh nghôa caác nhaän sûå kiïån
theo cuá phaáp sau:
Tïn sûå kiïån ‘(‘ danh saách àöëi söë àûúåc caách nhau bùçng dêëu phêíy ’)’ ‘[‘ àiïìu kiïån
baão vïå ‘]’ ‘/’ biïíu thûác haânh àöång
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 114 http://www.ebooks.vdcmedia.com Möåt traång thaái (state) laâ möåt hoaân caãnh hay möåt tònh huöëng trong quáa trònh söëng cuãa àöëi tûúång thoãa maän möåt vaâi àiïìu kiïån naâo àoá, traång thaái coá thïí úã tònh traång chuã àöång tiïën haânh möåt söë hoaåt àöång hoùåc thuå àöång chúâ àúåi möåt vaâi sûå kiïån khaác xaãy ra. Trong lûúåc àöì traång thaái luön coá möåt traång thaái ban àêìu (initial state) vaâ möåt hoùåc nhiïìu traång thaái kïët thuác (final state). Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 123 Kyá hiïåu Traång thaái ban àêìu (hay traång thaái khúãi àöång) àûúåc kyá hiïåu bùçng möåt hònh troân nhoã àûúåc tö àen bïn trong, traång thaái kïët thuác àûúåc kyá hiïåu bùçng möåt hònh troân nhoã àûúåc tö àen àûúåc bao búãi möåt àûúâng troân lúán hún úã phña ngoaâi (xem hònh veä3-53). Traång thaái thöng thûúâng àûúåc biïíu diïîn bùçng möåt hònh chûä nhêåt vúái caác goác troân. Hònh chûä nhêåt biïíu diïîn möåt traång thaái coá thïí àûúåc chia thaânh nhiïìu phêìn - Phêìn chûáa tïn – chûáa tïn cuãa traång thaái. - Phêìn chûáa caác sûå chuyïín àöíi nöåi taåi (Internal transitions) – phêìn naây chûáa danh saách caác haânh àöång nöåi taåi (internal actions) bïn trong möåt traång thaái. Cuá phaáp : action-label ‘/’ action-expression Coá möåt söë nhaän haânh àöång (actiona-label) chuêín àûúåc àõnh nghôa trong UML: - entry - xaác àõnh möåt haânh àöång àêìu vaâo cuãa möåt traång thaái. Vñ duå trûúác traång thaái àaánh password (Typing Password – hònh 3-54) ta phaãi coá möåt haânh àöång laâ àõnh daång caác kyá tûå àaánh vaâo dûúái daång êín (vñ duå nhû duâng kyá tûå * àïí thay thïë). - exit - xaác àõnh möåt haânh àöång khi thoaát ra khoãi traång thaái. Vñ duå sau khi thoaát khoãi traång thaái àaánh password ta phaãi àùåt laåi chuêín thöng thûúâng cho viïåc nhêån möåt kyá tûå tûâ baân phñm (khöng hiïín thõ dûúái daång êín nûäa). - do – xaác àõnh möåt haânh àöång nöåi taåi xaãy ra trong traång thaái. - include – xaác àõnh möåt traång thaái con hoùåc möåt maáy traång thaái con coá liïn quan. - Trong nhûäng trûúâng húåp khaác, ngûúâi duâng coá thïí àõnh nghôa caác nhaän sûå kiïån theo cuá phaáp sau: Tïn sûå kiïån ‘(‘ danh saách àöëi söë àûúåc caách nhau bùçng dêëu phêíy ’)’ ‘[‘ àiïìu kiïån baão vïå ‘]’ ‘/’ biïíu thûác haânh àöång
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
115
http://www.ebooks.vdcmedia.com
Hònh 3-54 Traång thaái àaánh password
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 124
3.42. Traång thaái gheáp (Composite state)
Ngûä nghôa
Möåt traång thaái gheáp bao göìm hai hay nhiïìu traång thaái con coá thïí àûúåc
chia thaânh caác nhoám tuêìn tûå hoùåc àöìng thúâi (coân goåi laâ miïìn region) vúái nhau.
Möåt traång thaái con cuäng coá thïí laâ möåt traång thaái gheáp chûáa caác traång thaái con
khaác. Möîi miïìn (region) con coá thïí coá traång thaái bùæt àêìu giaã vaâ traång thaái kïët
thuác.
Kyá hiïåu
Hònh 3-55 Traång thaái con tuêìn tûå (miïìn) (traång thaái bùæt àêìu giaã)
nh 3-56 Traång thaái con àöìng thúâi
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 125
3.42. Sûå kiïån (event)
Àoá laâ möåt sûå viïåc àaáng chuá yá, möåt sûå kiïån coá thïí gêy ra möåt sûå chuyïín
àöíi traång thaái. Coá thïí coá möåt söë loaåi sau:
- Möåt àiïìu kiïån àûúåc chó àõnh trúã thaânh àuáng (miïu taã bùçng biïíu thûác coá giaá trõ
àuáng/sai). Sûå kiïån xaãy ra khi giaá trõ biïíu thûác chuyïín tûâ sai sang àuáng. Coân àûúåc
goåi laâ sûå kiïån chuyïín àöíi (change event). Vñ duå (xem hònh 3-57): Connected,
busy
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 115 http://www.ebooks.vdcmedia.com Hònh 3-54 Traång thaái – àaánh password Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 124 3.42. Traång thaái gheáp (Composite state) Ngûä nghôa Möåt traång thaái gheáp bao göìm hai hay nhiïìu traång thaái con coá thïí àûúåc chia thaânh caác nhoám tuêìn tûå hoùåc àöìng thúâi (coân goåi laâ miïìn – region) vúái nhau. Möåt traång thaái con cuäng coá thïí laâ möåt traång thaái gheáp chûáa caác traång thaái con khaác. Möîi miïìn (region) con coá thïí coá traång thaái bùæt àêìu giaã vaâ traång thaái kïët thuác. Kyá hiïåu Hònh 3-55 Traång thaái con tuêìn tûå (miïìn) (traång thaái bùæt àêìu giaã) Hònh 3-56 Traång thaái con àöìng thúâi Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 125 3.42. Sûå kiïån (event) Àoá laâ möåt sûå viïåc àaáng chuá yá, möåt sûå kiïån coá thïí gêy ra möåt sûå chuyïín àöíi traång thaái. Coá thïí coá möåt söë loaåi sau: - Möåt àiïìu kiïån àûúåc chó àõnh trúã thaânh àuáng (miïu taã bùçng biïíu thûác coá giaá trõ àuáng/sai). Sûå kiïån xaãy ra khi giaá trõ biïíu thûác chuyïín tûâ sai sang àuáng. Coân àûúåc goåi laâ sûå kiïån chuyïín àöíi (change event). Vñ duå (xem hònh 3-57): Connected, busy
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
116
http://www.ebooks.vdcmedia.com
- Nhêån möåt tñnh hiïåu (signal) bïn ngoaâi tûâ möåt àöëi tûúång khaác. Coân àûúåc goåi laâ
möåt sûå kiïån tñn hiïåu (signal event)
- Nhêån möåt lúâi goåi haânh vi tûâ möåt àöëi tûúång khaác. Coân àûúåc goåi laâ sûå kiïån goåi
(call event).
- Khoaãng thúâi gian tröi qua sau möåt sûå kiïån àûúåc chó àõnh (thûúâng laâ thúâi àiïím
vaâo cuãa traång thaái hiïån taåi). Vñ duå: after (5 seconds)
Möåt tñn hiïåu hoùåc möåt sûå kiïån goåi coá cuá phaáp nhû sau:
Tïn sûå kiïån ‘(‘ danh saách caác tham söë ‘)’ Vñ duå : xem hònh 3-57.
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 126
3.43. Caác chuyïín àöíi traång thaái àún giaãn (simple transitions)
Àêy laâ quan hïå giûäa hai traång thaái, àûúåc biïíu diïîn bùçng möåt cung hoùåc
möåt àûúâng dêîn coá hûúáng tûâ traång thaái àêìu àïën traång thaái cuöëi. Nhaän cuãa möåt
simple transition coá daång nhû sau:
Event-signature ‘[guard-condition ‘]’ ‘/’ action-expression Trong àoá event-
signature coá cuá phaáp: Tïn sûå kiïån ‘(‘ danh saách tham söë ‘)’ Guard-condition
(àiïìu kiïån baão vïå) laâ möåt biïíu thûác àuáng/sai. Action-expression (biïíu thûác haânh
àöång) àûúåc thûåc thi khi coá möåt sûå chuyïín àöíi xaãy ra.
Vñ duå: Right-mouse-down(location) [location in window] / object:=pick-
object(location); Giaãi thñch: khi phñm chuöåt phaãi àûúåc bêëm taåi võ trñ location,
nïëu võ trñ location nùçm trong cûãa söí maân hònh thò àöëi tûúång seä àûúåc gaán bùçng àöëi
tûúång àûúåc lêëy taåi võ trñ location (thöng qua haâm pickobject). (caác sûå kiïån) (sûå
chuyïín àöíi traång thaái)
Hònh 3-57 Möåt vñ duå vïì lûúåc àöì traång thaái..
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 116 http://www.ebooks.vdcmedia.com - Nhêån möåt tñnh hiïåu (signal) bïn ngoaâi tûâ möåt àöëi tûúång khaác. Coân àûúåc goåi laâ möåt sûå kiïån tñn hiïåu (signal event) - Nhêån möåt lúâi goåi haânh vi tûâ möåt àöëi tûúång khaác. Coân àûúåc goåi laâ sûå kiïån goåi (call event). - Khoaãng thúâi gian tröi qua sau möåt sûå kiïån àûúåc chó àõnh (thûúâng laâ thúâi àiïím vaâo cuãa traång thaái hiïån taåi). Vñ duå: after (5 seconds) Möåt tñn hiïåu hoùåc möåt sûå kiïån goåi coá cuá phaáp nhû sau: Tïn sûå kiïån ‘(‘ danh saách caác tham söë ‘)’ Vñ duå : xem hònh 3-57. Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 126 3.43. Caác chuyïín àöíi traång thaái àún giaãn (simple transitions) Àêy laâ quan hïå giûäa hai traång thaái, àûúåc biïíu diïîn bùçng möåt cung hoùåc möåt àûúâng dêîn coá hûúáng tûâ traång thaái àêìu àïën traång thaái cuöëi. Nhaän cuãa möåt simple transition coá daång nhû sau: Event-signature ‘[guard-condition ‘]’ ‘/’ action-expression Trong àoá event- signature coá cuá phaáp: Tïn sûå kiïån ‘(‘ danh saách tham söë ‘)’ Guard-condition (àiïìu kiïån baão vïå) laâ möåt biïíu thûác àuáng/sai. Action-expression (biïíu thûác haânh àöång) àûúåc thûåc thi khi coá möåt sûå chuyïín àöíi xaãy ra. Vñ duå: Right-mouse-down(location) [location in window] / object:=pick- object(location); Giaãi thñch: khi phñm chuöåt phaãi àûúåc bêëm taåi võ trñ location, nïëu võ trñ location nùçm trong cûãa söí maân hònh thò àöëi tûúång seä àûúåc gaán bùçng àöëi tûúång àûúåc lêëy taåi võ trñ location (thöng qua haâm pickobject). (caác sûå kiïån) (sûå chuyïín àöíi traång thaái) Hònh 3-57 Möåt vñ duå vïì lûúåc àöì traång thaái..
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
117
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 127
3.44. Caác chuyïín àöíi traång thaái phûác taåp (complex transitions)
Möåt complex transition coá thïí coá nhiïìu traång thaái àêìu vaâ nhiïìu traång thaái
cuöëi. Noá biïíu diïîn sûå àöìng böå hoùåc phên chia caác tiïën trònh àöìng thúâi cho caác
traång thaái con xaãy ra àöìng thúâi.
(complex transition)
nh 3-58 Compllex Transiitiion
Giaãi thñch: quáa trònh caâi àùåt àûúåc chia thaânh nhiïìu tiïën trònh con xûã lyá àöìng thúâi
vúái nhau sau àoá têët caã caác tiïën trònh naây seä bõ huãy.
3.43.1. History Indicator
Möåt history indicator duâng àïí ghi nhúá caác traång thaái, noá àûúåc xaác àõnh
bùçng möåt hònh chûä nhêåt chûáa caác traång thaái vaâ möåt hònh troân coá chûä H (history)
bïn trong. Khi möåt sûå kiïån xaãy ra (vñ duå nhû hoaåt àöång bõ ngùæt giûäa chûâng) seä coá
möåt tñn hiïåu resume àûúåc gúãi àïën History indicator, noá seä khöi phuåc laåi caác
traång thaái úã lêìn sau cuâng trong hònh chûä nhêåt.
(tñn hiïåu ngùæt) (tñn hiïåu khöi phuåc) (history indicator) (vuâng chõu aãnh hûúâng cuãa
history indicator)
Hònh 3-59 History Indiicator
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 117 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 127 3.44. Caác chuyïín àöíi traång thaái phûác taåp (complex transitions) Möåt complex transition coá thïí coá nhiïìu traång thaái àêìu vaâ nhiïìu traång thaái cuöëi. Noá biïíu diïîn sûå àöìng böå hoùåc phên chia caác tiïën trònh àöìng thúâi cho caác traång thaái con xaãy ra àöìng thúâi. (complex transition) Hònh 3-58 Compllex Transiitiion Giaãi thñch: quáa trònh caâi àùåt àûúåc chia thaânh nhiïìu tiïën trònh con xûã lyá àöìng thúâi vúái nhau sau àoá têët caã caác tiïën trònh naây seä bõ huãy. 3.43.1. History Indicator Möåt history indicator duâng àïí ghi nhúá caác traång thaái, noá àûúåc xaác àõnh bùçng möåt hònh chûä nhêåt chûáa caác traång thaái vaâ möåt hònh troân coá chûä H (history) bïn trong. Khi möåt sûå kiïån xaãy ra (vñ duå nhû hoaåt àöång bõ ngùæt giûäa chûâng) seä coá möåt tñn hiïåu resume àûúåc gúãi àïën History indicator, noá seä khöi phuåc laåi caác traång thaái úã lêìn sau cuâng trong hònh chûä nhêåt. (tñn hiïåu ngùæt) (tñn hiïåu khöi phuåc) (history indicator) (vuâng chõu aãnh hûúâng cuãa history indicator) Hònh 3-59 History Indiicator
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
118
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 128
3.45. Caác traång thaái àöìng böå (synch states)
Kyá hiïåu cuãa caác traång thaái àöìng böå laâ möåt hònh troân coá chûáa dêëu (*) bïn
trong. Xeát vñ duå (àöìng böå)
Hònh 3-60 Traång thaái àöìng böå
Giaãi thñch: trong vñ duå trïn ta coá thïí thêëy traång thaái build frame (xêy khung nhaâ)
phaãi àöìng böå vúái viïåc gùæn caác thiïët bõ àiïån nïìn taãng. Kïë àoá, sau khi ài dêy (theo
caác khung) cho caác thiïët bõ àiïån trong nhaâ seä àûúåc tiïën haânh àöìng böå vúái viïåc
lúåp maái vaâ sau àoá múái túái viïåc àöí tûúâng vaâ gùæn caác thiïët bõ àiïån bïn ngoaâi.
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 129
3.46. Lûúåc àöì hoaåt àöång (Activity Diagram)
(traång thaái bùæt àêìu) (traång thaái hoaåt àöång) (xeát àiïìu kiïån àïí tiïëp tuåc thûåc hiïån)
(phên thaânh caác nhaánh hoaåt àöång àöìng thúâi) (kïët húåp caác nhaánh hoaåt àöång àöìng
thúâi laåi) (traång thaái kïët thuác)
Hònh 3-61 Lûúåc àöì hoaåt àöång (Actiiviitiies Diiagram)
Ngûä nghôa
_ Laâ möåt lûúåc àöì thïí hiïån caác luöìng cuãa caác haânh àöång
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 118 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 128 3.45. Caác traång thaái àöìng böå (synch states) Kyá hiïåu cuãa caác traång thaái àöìng böå laâ möåt hònh troân coá chûáa dêëu (*) bïn trong. Xeát vñ duå (àöìng böå) Hònh 3-60 Traång thaái àöìng böå Giaãi thñch: trong vñ duå trïn ta coá thïí thêëy traång thaái build frame (xêy khung nhaâ) phaãi àöìng böå vúái viïåc gùæn caác thiïët bõ àiïån nïìn taãng. Kïë àoá, sau khi ài dêy (theo caác khung) cho caác thiïët bõ àiïån trong nhaâ seä àûúåc tiïën haânh àöìng böå vúái viïåc lúåp maái vaâ sau àoá múái túái viïåc àöí tûúâng vaâ gùæn caác thiïët bõ àiïån bïn ngoaâi. Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 129 3.46. Lûúåc àöì hoaåt àöång (Activity Diagram) (traång thaái bùæt àêìu) (traång thaái hoaåt àöång) (xeát àiïìu kiïån àïí tiïëp tuåc thûåc hiïån) (phên thaânh caác nhaánh hoaåt àöång àöìng thúâi) (kïët húåp caác nhaánh hoaåt àöång àöìng thúâi laåi) (traång thaái kïët thuác) Hònh 3-61 Lûúåc àöì hoaåt àöång (Actiiviitiies Diiagram) Ngûä nghôa _ Laâ möåt lûúåc àöì thïí hiïån caác luöìng cuãa caác haânh àöång
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
119
http://www.ebooks.vdcmedia.com
_ Laâ möåt biïën thïí cuãa maáy traång thaái trong àoá caác traång thaái thïí hiïån sûå hoaåt
àöång cuãa caác haânh àöång vaâ sûå chuyïín àöíi àûúåc khúãi àöång khi caác haânh àöång
hoaân thaânh
_ã duång lûúåc àöì hoaåt àöång trong trûúâng húåp têët caã hoùåc hêìu hïët caác sûå kiïån
thïí hiïån sûå hoaân têët cuãa caác haânh àöång àûúåc saãn sinh bïn trong tiïën trònh.
Chûác nùng
_ Mö hònh hoáa caác hoaåt àöång thïë giúái thûåc
_ Mö hònh hoáa caác thao taác
_ Nùæm bùæt caác cöng viïåc seä àûúåc thûåc hiïån khi möåt haânh vi àûúåc thûåc hi trong
hïå thöëng.
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 130
3.47. Caác thaânh phêìn chñnh
3.46.1. Caác traång thaái haânh àöång (action state)
Laâ möåt daång àún giaãn cuãa traång thaái, noá seä trûåc tiïëp biïën àöíi sang traång
thaái khaác sau khi thûåc hiïån möåt haânh àöång naâo àoá. Möåt action state khöng thïí coá
caác chuyïín àöíi nöåi taåi trong traång thaái. Kyá hiïåu cuãa möåt action state laâ möåt hònh
tûúng tûå hònh chûä nhêåt nhûng hai caånh bïn àûúåc thay bùçng hai cung troân, bïn
trong chûáa biïíu thûác haânh àöång
Hònh 3-62 Caác actiion state..
3.46.2. Caác quyïët àõnh (decisions)
Lûúåc àöì hoaåt àöång sûã duång caác quyïët àõnh khi cêìn coá nhûäng chuyïín àöíi
húåp lyá túái caác traång thaái haânh àöång khaác vúái nhûäng àiïìu kiïån do ngûúâi duâng àùåc
taã, hûúáng chuyïín àöíi phuå thuöåc vaâo giaá trõ àuáng/sai cuãa biïíu thûác quyïët àõnh.
(decision)
nh 3-63 Decisions
Giaãi thñch: trong vñ duå trïn khi tñnh toaán töíng chi phñ cho möåt viïåc naâo àoá,
nïëu söë tiïìn nhoã hún 50 USD thò coá thïí chuyïín ngay sang traång thaái haânh àöång
charge customer’s account, nïëu lúán hún 50 USD phaãi chuyïín sang traång thaái
haânh àöång laâ xin thêím quyïìn (getauthorization) röìi múái chuyïín sang traång thaái
haânh àöång chargecustomer’s account.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 119 http://www.ebooks.vdcmedia.com _ Laâ möåt biïën thïí cuãa maáy traång thaái trong àoá caác traång thaái thïí hiïån sûå hoaåt àöång cuãa caác haânh àöång vaâ sûå chuyïín àöíi àûúåc khúãi àöång khi caác haânh àöång hoaân thaânh _ Sûã duång lûúåc àöì hoaåt àöång trong trûúâng húåp têët caã hoùåc hêìu hïët caác sûå kiïån thïí hiïån sûå hoaân têët cuãa caác haânh àöång àûúåc saãn sinh bïn trong tiïën trònh. Chûác nùng _ Mö hònh hoáa caác hoaåt àöång thïë giúái thûåc _ Mö hònh hoáa caác thao taác _ Nùæm bùæt caác cöng viïåc seä àûúåc thûåc hiïån khi möåt haânh vi àûúåc thûåc hi trong hïå thöëng. Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 130 3.47. Caác thaânh phêìn chñnh 3.46.1. Caác traång thaái haânh àöång (action state) Laâ möåt daång àún giaãn cuãa traång thaái, noá seä trûåc tiïëp biïën àöíi sang traång thaái khaác sau khi thûåc hiïån möåt haânh àöång naâo àoá. Möåt action state khöng thïí coá caác chuyïín àöíi nöåi taåi trong traång thaái. Kyá hiïåu cuãa möåt action state laâ möåt hònh tûúng tûå hònh chûä nhêåt nhûng hai caånh bïn àûúåc thay bùçng hai cung troân, bïn trong chûáa biïíu thûác haânh àöång Hònh 3-62 Caác actiion state.. 3.46.2. Caác quyïët àõnh (decisions) Lûúåc àöì hoaåt àöång sûã duång caác quyïët àõnh khi cêìn coá nhûäng chuyïín àöíi húåp lyá túái caác traång thaái haânh àöång khaác vúái nhûäng àiïìu kiïån do ngûúâi duâng àùåc taã, hûúáng chuyïín àöíi phuå thuöåc vaâo giaá trõ àuáng/sai cuãa biïíu thûác quyïët àõnh. (decision) Hònh 3-63 Decisions Giaãi thñch: trong vñ duå trïn khi tñnh toaán töíng chi phñ cho möåt viïåc naâo àoá, nïëu söë tiïìn nhoã hún 50 USD thò coá thïí chuyïín ngay sang traång thaái haânh àöång charge customer’s account, nïëu lúán hún 50 USD phaãi chuyïín sang traång thaái haânh àöång laâ xin thêím quyïìn (getauthorization) röìi múái chuyïín sang traång thaái haânh àöång chargecustomer’s account.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
120
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 131
3.48. Swimlanes vaâ àöëi tûúång trong lûúåc àöì hoaåt àöång.
Nhûäng haânh àöång hoùåc nhûäng hoaåt àöång con coá thïí töí chûác vaâo caác
swimlane (caác àûúâng phên luöìng cöng viïåc). Swimlane coá taác duång nhoám caác
haânh àöång laåi theo möåt muåc àñch cuå thïí (vñ duå nhû caác haânh àöång cuâng xaãy ra taåi
möåt núi, caác haânh àöång cuãa cuâng möåt taác nhên...).
Biïíu diïîn cuãa swimlane laâ möåt hònh chûä nhêåt coá tïn ngay phña trïn bïn
trong hònh chûä nhêåt. Xem vñ duå hònh 3-64, ta thêëy caác actionstate àûúåc chia vaâo
trong ba swimlane laâ Customer, sales, vaâ stockroom. Ta thêëy caác action state
nhû Reuest Service (yïu cêìu phuåc vuå), Pay (traã tiïìn), collect order (choån) àïìu laâ
nhûäng haânh àöång cuãa khaách haâng (customer) nïn chuáng àûúåc töí chûác vaâo cuâng
möåt swimlane. Trong lûúåc àöì hoaåt àöång cuäng coá thïí xuêët hiïån caác àöëi tûúång, noá
àoáng vai troâ laâ àêìu vaâo hoùåc àêìu ra cho caác action state, hoùåc chó duâng àïí minh
hoåa àöëi tûúång bõ aãnh hûúãng búãi möåt hoaåt àöång naâo àoá trong lûúåc àöì. Nïëu àöëi
tûúång laâ àêìu ra hoùåc bõ aãnh hûúãng búãi möåt haânh àöång thò seä coá möåt muäi tïn àûát
neát ài tûâ haânh àöång àïën àöëi tûúång, ngûúåc laåi nïëu laâ àêìu ra thò muäi tïn coá hûúáng
tûâ àöëi tûúång túái haânh àöång. ( tïn cuãa caác swimlane) (àöëi tûúång trong lûúåc àöì
hoaåt àöång) (ba swimlanes trong lûúåc àöì laâ Customer, sales, storckroom)
Hònh 3-64 Caác Swimlane vaâ caác àöëái tûúång
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 120 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 131 3.48. Swimlanes vaâ àöëi tûúång trong lûúåc àöì hoaåt àöång. Nhûäng haânh àöång hoùåc nhûäng hoaåt àöång con coá thïí töí chûác vaâo caác swimlane (caác àûúâng phên luöìng cöng viïåc). Swimlane coá taác duång nhoám caác haânh àöång laåi theo möåt muåc àñch cuå thïí (vñ duå nhû caác haânh àöång cuâng xaãy ra taåi möåt núi, caác haânh àöång cuãa cuâng möåt taác nhên...). Biïíu diïîn cuãa swimlane laâ möåt hònh chûä nhêåt coá tïn ngay phña trïn bïn trong hònh chûä nhêåt. Xem vñ duå hònh 3-64, ta thêëy caác actionstate àûúåc chia vaâo trong ba swimlane laâ Customer, sales, vaâ stockroom. Ta thêëy caác action state nhû Reuest Service (yïu cêìu phuåc vuå), Pay (traã tiïìn), collect order (choån) àïìu laâ nhûäng haânh àöång cuãa khaách haâng (customer) nïn chuáng àûúåc töí chûác vaâo cuâng möåt swimlane. Trong lûúåc àöì hoaåt àöång cuäng coá thïí xuêët hiïån caác àöëi tûúång, noá àoáng vai troâ laâ àêìu vaâo hoùåc àêìu ra cho caác action state, hoùåc chó duâng àïí minh hoåa àöëi tûúång bõ aãnh hûúãng búãi möåt hoaåt àöång naâo àoá trong lûúåc àöì. Nïëu àöëi tûúång laâ àêìu ra hoùåc bõ aãnh hûúãng búãi möåt haânh àöång thò seä coá möåt muäi tïn àûát neát ài tûâ haânh àöång àïën àöëi tûúång, ngûúåc laåi nïëu laâ àêìu ra thò muäi tïn coá hûúáng tûâ àöëi tûúång túái haânh àöång. ( tïn cuãa caác swimlane) (àöëi tûúång trong lûúåc àöì hoaåt àöång) (ba swimlanes trong lûúåc àöì laâ Customer, sales, storckroom) Hònh 3-64 Caác Swimlane vaâ caác àöëái tûúång