Mươt thưng ăiïơp trong lûúơc ăưì tuíìn tûơ cô thïí ặúơc ăùơc tă thúđi gian gûêi ăi hóơc thúđi gian nhíơn vïì. Chuâng cô câc tïn hịnh thûâc cô 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 cô thïí tưìn taơi trong mươt khoăng thúđi gian ăâ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ûơ câc thưng ăiïơp daơng nađy ặúơc biïíu diïỵn bùìng mươt muơi tïn xê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đ ăâ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 tâc (Collaboration Diagram)
Ngûơ nghơa
_ Lađ mươt lûúơc ăưì tûúng tâc tíơp trung vađo cíịu truâc tưí chûâc, mưịi quan hïơ tâc ăương qua laơi giûơa câc ăưịi tûúơng.
- Lûúơc ăưì cương tâ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 câch khâc nhau.
- Lûúơc ăưì tuíìn tûơ chuâ troơng ăïịn thûâ tûơ câc thưng ăiïơp ặúơc chuýín tăi theo thúđi gian.
- Lûúơc ăưì cương tâc chuâ troơng ăïịn mưịi quan hïơ giûơa câc ăưịi tûúơng.
Chûâc nùng
_ Ghi nhíơn câc hađnh vi ăương cuêa hïơ thưịng (hûúâng message) _ Mư hịnh hôa luưìng xûê lyâ
_ Minh hoơa sûơ phưịi húơp giûơa cíịu truâc ăưịi tûúơng vađ câc xûê lyâ _ Thïí hiïơn sûơ ănh hûúêng líỵn nhau giûơa câc ăưịi tûúơng
Chûúng 3
HÏƠ THƯỊNG KYÂ HIÏƠU (UML Notation) 118
3.37. Câc thađnh phíìn chđnh
3.37.1. Câc ăưịi tûúơng
Câc ăưịi tûúơng ặúơc thïí hiïơn tûúng tûơ nhû trong lûúơc ăưì tuíìn tûơ, ăô 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 cô thïí khưng ăïí tïn ăưịi tûúơng.
3.37.2. Câ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 cô thïí gûêi thưng ăiïơp cho chđnh nô...
(câc thưng ăiïơp) (câ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ïì câ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đ câc kđch thđch
Ngûơ nghơa
Trong lûúơc ăưì cưng tâ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, hóơc ăânh thûâc mươt sûơ kiïơn hóơc taơo ra hóơc huêy mươt ăưịi tûúơng. Mươt thưng ăiïơp chđnh lađ mươt ăùơc tă cuêa mươt stimulus, nô ắ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 cô nhaơn ăùơt ngay trïn liïn kïịt giûơa hai ăưịi tûúơng. Úû ăíy câc liïn kïịt (links)ăông vai trođ chuýín, thi hađnh, hay phín phưịi câc kđch thđch túâi câ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 câc ăưịi tûúơng Kyâ hiïơu YÂ nghơa (tûúơng trûng cho) Câc thuê tuơc goơi hóơc câ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 câc thưng ăiïơp Mươt kđch thđch khưng ăưìng bươ. Thưng ăiïơp tră vïì cuêa mươt thuê tuơc goơi nađo ăô.
Chûúng 3
HÏƠ THƯỊNG KYÂ HIÏƠU (UML Notation) 120
3.39. Cuâ phâp ăùơt tïn nhaơn
Ăíy lađ mươt phíìn ríịt quan troơng trong viïơc ăùơc tă câc thưng ăiïơp, cuâ phâp
chuíín cuêa câc thưng ăiïơp bao gưìm Predecessor guard-condition sequence- expression return-value := message-name argument-list
- Predecessor – lađ mươt danh sâch câc chĩ sưị thûâ tûơ ặúơc phín câch nhau bùìng díịu phííy (,)vađ kïịt thuâc bùìng díịu (/). Cuâ phâp cuêa predecessor nhû sau
Chĩ sưị thûâ tûơ luưìng ‘,’ … ‘/’
YÂ nghơa : câc thưng ăiïơp cô chĩ sưị thûâ tûơ trong danh sâch trïn phă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ơ giă hóơc bùìng ngưn ngûơ líơp trịnh tuđy
thuươc cưng cuơ hưỵ trúơ thiïịt kïị. Cuâ phâp ‘[‘ Mïơnh ăïì ăiïìu kiïơn ‘]’
- Sequence number – biïíu diïỵn chĩ sưị cuêa câc thưng ăiïơp, câc thưng ăiïơp lưìng, câc thưng ăiïơp ăưìng thúđi... Cuâ phâp
[ sưị / tïn ] [ recurrence] ‘: ’
YÂ nghơa : Sưị chĩ thûâ tûơ cuêa thưng ăiïơp. Tïn chĩ câc thưng ăiïơp ăưìng thúđi. Vđ duơ :
1 - chĩ thưng ăiïơp ăíìu tiïn 2.1, 2.2 ... chĩ câ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 câc hoaơt ăương lùơp hóơc ăiïìu kiïơn.
Cô hai daơng cuâ phâ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) - cô ă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 thâi (Statechart Diagram)
(traơng thâi kïịt thuâc) (traơng thâi bùưt ăíìu) (sûơ chuýín ăưíi traơng thâi nươi taơi) (sûơ kiïơn) (hađnh ăương) (sûơ chuýín ăưíi traơng thâi) (traơng thâi con) (traơng thâi)
Hịnh 3-53 Lûúơc ăưì traơng thâi(Statechart Diiagram)
Ngûơ nghơa
_ Lađ mươt lûúơc ăưì thïí hiïơn mây traơng thâi
_ Lađ mươt lûúơc ăưì thïí hiïơn hađnh vi cuêa câc thûơc thïí cô thïí mang nhûơng hađnh vi ăương bùìng câch ăùơc tă sûơ hưìi ăâp cuêa chuâng trûúâc nhûơng sûơ kiïơn tûđ câc thûơc thïí khâc gûêi túâi.
Chûâc nùng
_ Mư hịnh hôa chu trịnh sưịng cuêa ăưịi tûúơng
_ Mư hịnh hôa câc ăưịi tûúơng phăn hưìi (user interfaces, devices...)
Chûúng 3
HÏƠ THƯỊNG KYÂ HIÏƠU (UML Notation) 122
3.41. Câc thađnh phíìn chđnh
3.41.1. Traơng thâi (state)
sûơ kiïơn khâc xăy ra. Trong lûúơc ăưì traơng thâi luưn cô mươt traơng thâi ban ăíìu (initial state) vađ mươt hóơc nhiïìu traơng thâi kïịt thuâc (final state).
Chûúng 3
HÏƠ THƯỊNG KYÂ HIÏƠU (UML Notation) 123
Kyâ hiïơu
Traơng thâi ban ăíìu (hay traơng thâ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 thâ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 thâi thưng thûúđng ặúơc biïíu diïỵn bùìng mươt hịnh chûơ nhíơt vúâi câc gôc trođn. Hịnh chûơ nhíơt biïíu diïỵn mươt traơng thâi cô thïí ặúơc chia thađnh nhiïìu phíìn
- Phíìn chûâa tïn – chûâa tïn cuêa traơng thâi.
- Phíìn chûâa câc sûơ chuýín ăưíi nươi taơi (Internal transitions) – phíìn nađy chûâa danh sâch câc hađnh ăương nươi taơi (internal actions) bïn trong mươt traơng thâi. Cuâ phâp :
action-label ‘/’ action-expression Cô mươt sưị nhaơn hađnh ăương (actiona-label)
chuíín ặúơc ắnh nghơa trong UML:
- entry - xâc ắnh mươt hađnh ăương ăíìu vađo cuêa mươt traơng thâi. Vđ duơ trûúâc traơng thâi ăânh password (Typing Password – hịnh 3-54) ta phăi cô mươt hađnh ăương lađ ắnh daơng câc kyâ tûơ ăânh vađo dûúâi daơng íín (vđ duơ nhû duđng kyâ tûơ * ăïí thay thïị). - exit - xâc ắnh mươt hađnh ăương khi thoât ra khoêi traơng thâi. Vđ duơ sau khi thoât khoêi traơng thâi ăânh password ta phă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 – xâc ắnh mươt hađnh ăương nươi taơi xăy ra trong traơng thâi. - include – xâc ắnh mươt traơng thâi con hóơc mươt mây traơng
Chûúng 3
HÏƠ THƯỊNG KYÂ HIÏƠU (UML Notation) 124
3.42. Traơng thâi ghêp (Composite state)
Ngûơ nghơa
Mươt traơng thâi ghêp bao gưìm hai hay nhiïìu traơng thâi con cô thïí ặúơc chia thađnh câc nhôm tuíìn tûơ hóơc ăưìng thúđi (cođn goơi lađ miïìn – region) vúâi nhau. Mươt traơng thâi con cuơng cô thïí lađ mươt traơng thâi ghêp chûâa câc traơng thâi con khâc. Mưỵi miïìn (region) con cô thïí cô traơng thâi bùưt ăíìu giă vađ traơng thâi kïịt thuâc.
Kyâ hiïơu
Hịnh 3-55 Traơng thâi con tuíìn tûơ (miïìn) (traơng thâi bùưt ăíìu giă)
Hịnh 3-56 Traơng thâi con ăưìng thúđi
Chûúng 3
HÏƠ THƯỊNG KYÂ HIÏƠU (UML Notation) 125
3.42. Sûơ kiïơn (event)
Ăô lađ mươt sûơ viïơc ăâng chuâ yâ, mươt sûơ kiïơn cô thïí gíy ra mươt sûơ chuýín ăưíi traơng thâi. Cô thïí cô mươt sưị loaơi sau:
- Mươt ăiïìu kiïơn ặúơc chĩ ắnh trúê thađnh ăuâng (miïu tă bùìng biïíu thûâc cô giâ trõ ăuâng/sai). Sûơ kiïơn xăy ra khi giâ 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).
- Khoă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 thâi hiïơn taơi). Vđ duơ: after (5 seconds)
Mươt tđn hiïơu hóơc mươt sûơ kiïơn goơi cô cuâ phâp nhû sau:
Tïn sûơ kiïơn ‘(‘ danh sâch câc tham sưị ‘)’ Vđ duơ : xem hịnh 3-57.
Chûúng 3
HÏƠ THƯỊNG KYÂ HIÏƠU (UML Notation) 126
3.43. Câc chuýín ăưíi traơng thâi ăún giăn (simple transitions)
Ăíy lađ quan hïơ giûơa hai traơng thâi, ặúơc biïíu diïỵn bùìng mươt cung hóơc mươt ặúđng díỵn cô hûúâng tûđ traơng thâi ăíìu ăïịn traơng thâi cuưịi. Nhaơn cuêa mươt simple transition cô daơng nhû sau:
Event-signature ‘[guard-condition ‘]’ ‘/’ action-expression Trong ăô event- signature cô cuâ phâp: Tïn sûơ kiïơn ‘(‘ danh sâch tham sưị ‘)’ Guard-condition
(ăiïìu kiïơn bă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 cô mươt sûơ chuýín ăưíi xăy ra.
Vđ duơ: Right-mouse-down(location) [location in window] / object:=pick- object(location); Giăi thđch: khi phđm chuươt phă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 gân bùìng ăưịi
tûúơng ặúơc líịy taơi võ trđ location (thưng qua hađm pickobject). (câc sûơ kiïơn) (sûơ chuýín ăưíi traơng thâi)
Chûúng 3
HÏƠ THƯỊNG KYÂ HIÏƠU (UML Notation) 127
3.44. Câc chuýín ăưíi traơng thâi phûâc taơp (complex transitions)
Mươt complex transition cô thïí cô nhiïìu traơng thâi ăíìu vađ nhiïìu traơng thâi cuưịi. Nô biïíu diïỵn sûơ ăưìng bươ hóơc phín chia câc tiïịn trịnh ăưìng thúđi cho câc traơng thâi con xăy ra ăưìng thúđi.
(complex transition)
Hịnh 3-58 Compllex Transiitiion
Giă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 ăô tíịt că câc tiïịn trịnh nađy seơ bõ huêy.
3.43.1. History Indicator
Mươt history indicator duđng ăïí ghi nhúâ câc traơng thâi, nô ặúơc xâc ắnh bùìng mươt hịnh chûơ nhíơt chûâa câc traơng thâi vađ mươt hịnh trođn cô chûơ H (history) bïn trong. Khi mươt sûơ kiïơn xăy ra (vđ duơ nhû hoaơt ăương bõ ngùưt giûơa chûđng) seơ cô mươt tđn hiïơu resume ặúơc gúêi ăïịn History indicator, nô seơ khưi phuơc laơi câc traơng thâ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 ănh hûúđng cuêa history indicator)
Chûúng 3
HÏƠ THƯỊNG KYÂ HIÏƠU (UML Notation) 128
3.45. Câc traơng thâi ăưìng bươ (synch states)
Kyâ hiïơu cuêa câc traơng thâi ăưìng bươ lađ mươt hịnh trođn cô chûâa díịu (*) bïn
trong. Xêt vđ duơ (ăưìng bươ)
Hịnh 3-60 Traơng thâi ăưìng bươ
Giăi thđch: trong vđ duơ trïn ta cô thïí thíịy traơng thâi build frame (xíy khung nhađ) phăi ăưìng bươ vúâi viïơc gùưn câc thiïịt bõ ăiïơn nïìn tăng. Kïị ăô, sau khi ăi díy (theo câc khung) cho câc thiïịt bõ ăiïơn trong nhađ seơ ặúơc tiïịn hađnh ăưìng bươ vúâi viïơc lúơp mâi vađ sau ăô múâi túâi viïơc ăưí tûúđng vađ gùưn câ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 thâi bùưt ăíìu) (traơng thâi hoaơt ăương) (xêt ăiïìu kiïơn ăïí tiïịp tuơc thûơc hiïơn) (phín thađnh câc nhânh hoaơt ăương ăưìng thúđi) (kïịt húơp câc nhânh hoaơt ăương ăưìng thúđi laơi) (traơng thâi kïịt thuâc)
ăương cuêa câc hađnh ăương vađ sûơ chuýín ăưíi ặúơc khúêi ăương khi câc hađnh ăương hoađn thađnh
_ Sûê duơng lûúơc ăưì hoaơt ăương trong trûúđng húơp tíịt că hóơc híìu hïịt câc sûơ kiïơn thïí hiïơn sûơ hoađn tíịt cuêa câc hađnh ăương ặúơc săn sinh bïn trong tiïịn trịnh.
Chûâc nùng
_ Mư hịnh hôa câc hoaơt ăương thïị giúâi thûơc _ Mư hịnh hôa câc thao tâc
_ Nùưm bùưt câ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. Câc thađnh phíìn chđnh
3.46.1. Câc traơng thâi hađnh ăương (action state)
Lađ mươt daơng ăún giăn cuêa traơng thâi, nô seơ trûơc tiïịp biïịn ăưíi sang traơng thâi khâc sau khi thûơc hiïơn mươt hađnh ăương nađo ăô. Mươt action state khưng thïí cô câc chuýín ăưíi nươi taơi trong traơng thâ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 Câc actiion state..
3.46.2. Câc quýịt ắnh (decisions)
Lûúơc ăưì hoaơt ăương sûê duơng câc quýịt ắnh khi cíìn cô nhûơng chuýín ăưíi húơp lyâ túâi câc traơng thâi hađnh ăương khâc vúâi nhûơng ăiïìu kiïơn do ngûúđi duđng ăùơc tă, hûúâng chuýín ăưíi phuơ thuươc vađo giâ trõ ăuâng/sai cuêa biïíu thûâc quýịt ắnh.
(decision)
Hịnh 3-63 Decisions
Giăi thđch: trong vđ duơ trïn khi tđnh toân tưíng chi phđ cho mươt viïơc nađo ăô, nïịu sưị tiïìn nhoê hún 50 USD thị cô thïí chuýín ngay sang traơng thâi hađnh ăương charge customer’s account, nïịu lúân hún 50 USD phăi chuýín sang traơng thâi hađnh ăương lađ xin thíím quýìn (getauthorization) rưìi múâi chuýín sang traơng thâ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 hóơc nhûơng hoaơt ăương con cô thïí tưí chûâc vađo câc swimlane (câc ặúđng phín luưìng cưng viïơc). Swimlane cô tâc duơng nhôm câc hađnh ăương laơi theo mươt muơc ăđch cuơ thïí (vđ duơ nhû câc hađnh ăương cuđng xăy ra taơi mươt núi, câc hađnh ăương cuêa cuđng mươt tâc nhín...).
Biïíu diïỵn cuêa swimlane lađ mươt hịnh chûơ nhíơt cô 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 câc actionstate ặúơc chia vađo trong ba swimlane lađ Customer, sales, vađ stockroom. Ta thíịy câc action state nhû Reuest Service (ýu cíìu phuơc vuơ), Pay (tră tiïìn), collect order (choơn) ăïìu lađ nhûơng hađnh ăương cuêa khâ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 cô thïí xuíịt hiïơn câc ăưịi tûúơng, nô ăông vai trođ lađ ăíìu vađo hóơc ăíìu ra cho câc action state, hóơc chĩ duđng ăïí minh hoơa ăưịi tûúơng bõ ănh hûúêng búêi mươt hoaơt ăương nađo ăô trong lûúơc ăưì. Nïịu ăưịi tûúơng lađ ăíìu ra hóơc bõ ănh hûúêng búêi mươt hađnh ăương thị seơ cô mươt muơi tïn ặât nêt ăi tûđ hađnh ăương ăïịn ăưịi tûúơng, ngûúơc laơi nïịu lađ ăíìu ra thị muơi tïn cô hûúâng
tûđ ăưịi tûúơng túâi hađnh ăương. ( tïn cuêa câ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. Câc biïíu tûúơng ăiïìu khiïín
Câc biïíu tûúơng ăiïìu khiïín cung cíịp nhûơng kyâ hiïơu duđng ăïí diïỵn tă cho mươt loaơi thưng tin nađo ăô cíìn ặúơc ăùơc tă trong quâa trịnh chuýín ăưíi giûơa câ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 cô hai loaơi:
- Tđn hiïơu nhíơn : biïíu diïỵn bùìng mươt hịnh chûơ nhíơt cô mươt ăíìu loơm, mươt muơi tïn ặât nê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 cô mươt ăíìu lưìi, vađ cuơng cô thïí
cô 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
Giăi thđch: khi hađnh ăương bíơt mây pha cađ phï ặúơc thûơc hiïơn (turn on machine) nô seơ gûêi tđn hiïơu lađ mây bíơt (turn on) ăïịn ăưịi tûúơng lađ bịnh pha cađ phï (coffeepot) sau ăô seơ chuýín qua traơng thâi pha cađ phï (Brew coffee), kïị ăô khi ăưịi tûúơng bịnh pha cađ phï (coffeepot) bâ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ơ
(câc trang web liïn kïịt vúâi câc thađnh phíìn khâc trong hïơ thưịng) (thađnh phíìn thûơc thi) (câc thû viïơn) (câ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 câ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 băn cađi ăùơt.
Chûâc nùng
_ Tưí chûâc source code
_ Xíy dûơng mươt phiïn băn thûơc thi ặúơc _ Ăùơc tă cíịu truâc cú súê dûơ liïơu víơt lyâ
_ Ăûúơc xíy dûơng nhû mươt phíìn ăùơc tă cíịu truâc hïơ thưịng
Chûúng 3
mươt hịnh chûơ nhíơt cô 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â phâp: Component - type
Chûúng 3
HÏƠ THƯỊNG KYÂ HIÏƠU (UML Notation) 135
Mươt thûơc thïí component cô tïn vađ kiïíu ặúơc gaơch dûúâi vađ câch nhau búêi díịu hai chíịm. Component cuơng cô thïí chûâa câc ăưịi tûúơng (taơi thúđi ăiïím thûơc thi) bïn trong băn thín nô.
Hịnh 3-67 Mươơt component chûâa câc object bïđn trong..
Ngoađi ra trong lûúơc ăưì thađnh phíìn cođn cô câc quan hïơ phuơ thuươc giûơa câc thađnh phíìn, quan hïơ phuơc thuươc chĩ ra sûơ phuơ thuươc líỵn nhau giûơa câc thađnh phíìn khi triïín khai hïơ thưịng. Mươt thađnh phíìn cô thïí ắnh nghơa câc giao tiïịp cho câc thađnh phíìn khâ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đ câc giao tiïịâp (interface)