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 chuýín thöng ăiïơp lađ ăaâng kïí)
Hònh 3-50 Rađng buöơc vïì thúđi gian chuýí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)
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 chuýí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
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 truýì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đ chuýí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â.
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].
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ûơ chuýín ăöíi traơng thaâi nöơi taơi) (sûơ kiïơn) (hađnh ăöơng) (sûơ chuýí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)
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ûơ chuýí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
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ûơ chuýí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 chuýín tûđ sai sang ăuâng. Cođn ặúơc
goơi lađ sûơ kiïơn chuýín ăöíi (change event). Vñ duơ (xem hònh 3-57): Connected, busy
(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 chuýí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ûơ chuýí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ûơ chuýín ăöíi traơng thaâi)
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 127
3.44. Caâc chuýí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)
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)
ăöơng cuêa caâc hađnh ăöơng vađ sûơ chuýí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 chuýí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 quýịt ắnh (decisions)
Lûúơc ăöì hoaơt ăöơng sûê duơng caâc quýịt ắnh khi cíìn coâ nhûông chuýí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 chuýín ăöíi phuơ thuöơc vađo giaâ trõ ăuâng/sai cuêa biïíu thûâc quýị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ïí chuýín ngay sang traơng thaâi hađnh ăöơng charge customer’s account, nïịu lúân hún 50 USD phaêi chuýín sang traơng thaâi hađnh ăöơng lađ xin thíím quýìn (getauthorization) röìi múâi chuýín sang traơng thaâi
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 (ý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)
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 132
3.49. Caâc biïíu tûúơng ăiïìu khiïín
Caâc biïíu tûúơng ăiïìu khiïín cung cíịp nhûông kyâ hiïơu duđng ăïí diïîn taê cho möơt loaơi thöng tin nađo ăoâ cíìn ặúơc ăùơc taê trong quâa trònh chuýín ăöíi giûôa caâc hađnh ăöơng. Chuâng ặúơc ặa vađo lûúơc ăöì chó nhùìm muơc ăñch nhíịn maơnh nhûông thöng tin mađ ngûúđi duđng thïm vađo. Chuâng coâ hai loaơi:
- Tñn hiïơu nhíơn : biïíu diïîn bùìng möơt hònh chûô nhíơt coâ möơt ăíìu loôm, möơt muôi tïn ặât neât ặúơc veô tûđ ăöịi tûúơng túâi hònh chûô nhíơt cho biïịt ăíy lađ ăöịi tûúơng gûêi tñn hiïơu.
- Tñn hiïơu gûêi : biïíu diïîn bùìng möơt hònh chûô nhíơt coâ möơt ăíìu löìi, vađ cuông coâ thïí
coâ möơt muôi tïn veô tûđ hònh chûô nhíơt túâi ăöịi tûúơng nhíơn tñn hiïơu. (tñn hiïơu gûêi vađ ăöịi tûúơng nhíơn tñn hiïơu) (tñn hiïơu nhíơn vađ ăöịi tûúơng gûêi tñn hiïơu)
Hònh 3-65 Biïíu tûúơng gûêi vađ nhíơn tñn hiïơu
Giaêi thñch: khi hađnh ăöơng bíơt maây pha cađ phï ặúơc thûơc hiïơn (turn on machine) noâ seô gûêi tñn hiïơu lađ maây bíơt (turn on) ăïịn ăöịi tûúơng lađ bònh pha cađ phï (coffeepot) sau ăoâ seô chuýín qua traơng thaâi pha cađ phï (Brew coffee), kïị ăoâ khi ăöịi tûúơng bònh pha cađ phï (coffeepot) baâo ăeđn ăaô tùưt thò seô chuýín qua hađnh ăöơng chïị cađ phï ra ly (Pour coffee).
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 133
3.50. Lûúơc ăöì thađnh phíìn (Component Diagram)
Vñ duơ
(caâc trang web liïn kïịt vúâi caâc thađnh phíìn khaâc trong hïơ thöịng) (thađnh phíìn thûơc thi) (caâc thû viïơn) (caâc component (thađnh phíìn) trong hïơ thöịng)
Hònh 3-66 Lûúơc ăöì thađnh phíìn (Component Diagram)
Ngûô nghôa
_ Lađ lûúơc ăöì thïí hiïơn sûơ phuơ thuöơc giûôa caâc thađnh phíìn phíìn mïìm vúâi nhau. _ Lađ lûúơc ăöì ghi nhíơn cíịu truâc víơt lyâ cuêa phiïn baên cađi ăùơt.
Chûâc nùng
_ Töí chûâc source code
_ Xíy dûơng möơt phiïn baên thûơc thi ặúơc _ Ăùơc taê cíịu truâc cú súê dûô liïơu víơt lyâ
_ Ăûúơc xíy dûơng nhû möơt phíìn ăùơc taê cíịu truâc hïơ thöịng
Chûúng 3
möơt hònh chûô nhíơt coâ hai hònh chûô nhíơt nhoê gùưn úê caơnh bïn cuêa hònh, bïn trong
chûâa tïn cuêa component vúâi cuâ phaâp: Component - type
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 135
Möơt thûơc thïí component coâ tïn vađ kiïíu ặúơc gaơch dûúâi vađ caâch nhau búêi díịu hai chíịm. Component cuông coâ thïí chûâa caâc ăöịi tûúơng (taơi thúđi ăiïím thûơc thi) bïn trong baên thín noâ.
Hònh 3-67 Möơôt component chûâa caâc object bïđn trong..
Ngoađi ra trong lûúơc ăöì thađnh phíìn cođn coâ caâc quan hïơ phuơ thuöơc giûôa caâc thađnh phíìn, quan hïơ phuơc thuöơc chó ra sûơ phuơ thuöơc líîn nhau giûôa caâc thađnh phíìn khi triïín khai hïơ thöịng. Möơt thađnh phíìn coâ thïí ắnh nghôa caâc giao tiïịp cho caâc thađnh phíìn khaâc sûê duơng, tïn giao tiïịp ăùơt ngay bïn caơnh biïíu tûúơng cuêa giao tiïịp (xem phíìn 3.5.2.4.2)
(component) (interface)
Hònh 3-68 Component vađ caâc giao tiïịâp (interface)