(Keywords) Chuöîi lađ möơt daôy caâc kyâ tûơ duđng ăïí hiïín thõ möơt thöng tin nađo ăoâ trong mö hònh. Font vađ kñch cúô cuêa chuöîi coâ thïí phuơ thuöơc vađo thuöơc tñnh cuêa mö hònh, möơt chuöîi coâ thïí úê daơng dođng ăún hay möơt phín ăoaơn.
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 75
Tïn lađ möơt chuöîi duđng ăïí ắnh nghôa cho möơt thađnh töị mö hònh duy nhíịt. Möơt pathname (tïn ặúđng díîn), göìm möơt tíơp caâc tïn ặúơc nöịi vúâi nhau búêi möơt kyâ hiïơu ăùơc biïơt (vñ duơ nhû díịu “::”), ặúơc duđng ăïí tòm möơt thađnh töị mö hònh bùưt ăíìu tûđ göịc cuêa hïơ thöịng. Tïn ặúơc thïí hiïơn nhû lađ möơt chuöîi vùn baên, thöng thûúđng nùìm trïn möơt dođng vađ thûúđng khöng chûâa caâc kyâ tûơ ăùơc biïơt.Thöng thûúđng ăöơ dađi cuêa tïn vađ tíơp caâc kyâ tûơ duđng ăïí ăùơt tïn ặúơc ắnh nghôa búêi cöng cuơ vađ ngön ngûô hiïín thõ.
Vñ duơ : Tïn - Nguýîn Vùn A, abstract, interger Pathname - ngín hađngA::ChinhaânhB::PhođngC Nhaôn (label) cuông lađ möơt chuöîi kyâ tûơ ặúơc gùưn vađo kyâ hiïơu ăöì hoơa.
Tûđ then chöịt (hay tûđ khoâa - keyword) thûúđng duđng ăïí phín biïơt giûôa nhûông nhoâm, nhûông chuê ăïì chung. Kyâ hiïơu cuêa möơt keyword thûúđng lađ möơt chuöíi ặúơc ăùơt trong hai díịu“‹‹ ›› “.Vñ du ơ : ‹‹ extend ››, ‹‹ include›› ...
3.4. Biïíu thûâc (Expression)
Biïíu thûâc ặúơc sûê duơng trong möơt söị cíịu truâc cuêa UML, ăùơc biïơt lađ trong ngön ngûô mö taê rađng buöơc duđng ăïí ắnh nghôa UML. Hađm ặúơc thïí hiïơn nhû lađ möơt chuöîi kyâ tûơ vađ cuâ phaâp cuêa chuöîi ặúơc ắnh nghôa tuđy thuöơc vađo cöng cuơ höî trúơ vađ cöng cuơ phín tñch cho ngön ngûô.
Vñ duơ : Cöngty.Giaâmăöịc.Lûúng > Cöngty.Nhínviïn.Lûúng
3.4.1. Ghi Chuâ (Note)
Lađ möơt kyâ hiïơu ăöì hoaơ coâ chûâa thöng tin dûúâi daơng vùn baên hoùơc chûâa caê hònh aênh. Note coâ thïí thïí hiïơn nhiïìu loaơi thöng tin khaâc nhau nhû: rađng buöơc,
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 76
3.5. Sûơ tûúng quan giûôa caâc loaơi thađnh töị vađ thïí hiïơn cuêa noâ
Nhiïìu khaâi niïơm mö hònh hoâa trong UML coâ hai thïí hiïơn tûúng tûơ nhau ăi thađnh möơt cùơp thađnh töị vađ thïí hiïơn, vñ duơ nhû : Lúâp vađ ăöịi tûúơng, quan hïơ kïịt húơp vađ liïn kïịt, tham söị vađ giaâ trõ...
Hònh 3-2 Lúâp Poiint vađ hai ăöịâi tûúơng Poiint
Role (vai trođ) trong möơt cöơng taâc (collaboration) cuông lađ möơt cùơp giûôa thađnh töị vađ thïí hiïơn. Möơt role trong möơt collaboration ặúơc thïí hiïơn bùìng möơt tïn, díịu hai chíịm vađ kiïíu, möơt thïí hiïơn ặúơc biïíu diïîn bùìng tïn, díịu “/”, danh saâch vai trođ, díịu hai chíịm vađ danh saâch kiïíu. Vñ duơ : Caâc vai trođ Caâc ăöịi tûúơng möơt collaboration
Hònh 3-3 Caâc vai trođ vađ caâc ăöịi tûúơng ăiïím
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 77
3.6. Caâc thađnh phíìn quaên trõ mö hònh (model management)
thađnh phíìn cú baên ăïí ăiïìu khiïín cíịu hònh, ăïí lûu trûô, ăïí ăiïìu khiïín caâc truy cíơp. Möîi thađnh töị coâ thïí ặúơc súê hûôu trûơc tiïịp búêi möơt package ăún, vò víơy cíy kïị thûđa cuêa package lađ möơt cíơy kïị thûđa nghiïm ngùơt. Möơt package coâ thïí tham chiïịu ăïịn möơt package khaâc bùìng caâch duđng caâc khuön míîu cuêa quan hïơ phuơ thuöơc nhû ‹‹import››, ‹‹access›› hoùơc caâc quan hïơ khaâc nhû tinh chïị hay töíng quaât hoâa.
Kyâ hiïơu
Möơt package ặúơc biïíu diïîn bùìng möơt hònh chûô nhíơt lúân vúâi möơt hònh chûô nhíơt nhoê gùưn úê goâc trïn traâi, giöịng nhû biïíu tûúơng cuêa möơt thû muơc.
_ Nïịu nöơi dung cuêa package khöng thïí hiïơn trong hònh chûô nhíơt lúân thò tïn cuêa package ặúơc ăùơt bïn trong hònh chûô nhíơt lúân. (Caâch thïí hiïơn A).
_ Nïịu bïn trong hònh chûô nhíơt lúân coâ chûâa nöơi dung thò tïn cuêa package ặúơc ăùơt bïn trong hònh chûô nhíơt nhoê. (Caâch thïí hiïơn B).
Caâch thïí hiïơn A Caâch thïí hiïơn B
Name Tïn package
Hònh 3-4 Caâch thïí hiïơn tïn cuêa Packages
Packages Editor chûâa caâc Package phuơ thuöơc caâc quan hïơ Hònh 3-5 Package vađ caâc quan hïơ
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 78
3.7. Caâc thađnh phíìn quaên trõ mö hònh (model management)
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 79
3.8. Subsystem
3.8.1. Ngûô nghôa
Möơt subsystem (hïơ thöịng con) miïu taê möơt ăún võ hađnh vi cuêa möơt víịn ăïì trong hïơ thöịng hay noâi caâc khaâc lađ trong möơt mö hònh. Ăùơc taê cuêa subsystem bao göìm caâc thao taâch hay caâc hađm cuêa subsystem, caâc thađnh töị ăùơc taê liïn quan ăïịn subsystem nhû use case, state machines...
3.8.2. Kyâ hiïơu
Kyâ hiïơu cuêa möơt subsystem tûúng tûơ nhû cuêa package, göìm möơt hònh chûô nhíơt lúân vađ möơt hònh chûô nhíơt nhoê gùưn vađo goâc trïn traâi cuêa hònh chûô nhíơt lúân, ăöìng thúđi coâ thïm möơt kyâ hiïơu hònh caâi nôa gùưn vađo goâc trïn phaêi cuêa hònh chûô nhíơt chûâa tïn subsystem.
Hònh 3-7 Möơt thïí hiïơn ăún giaên cuêa subsystem
Möơt subsytem cuông coâ hai caâch thïí hiïơn tïn giöịng nhû package. Bïn caơnh ăoâ ta cuông coâ thïí duđng kyâ hiïơu cuêa package ăïí thay thïị cho subsystem bùìng caâch thïm vađo tûđ khoâa ‹‹ subsystem›› vađo phña trïn tïn cuêa
subsystem. Hònh chûô nhíơt lúân cuêa subsystem co thïí ặúơc chia lađm ba phíìn : _ Operation (thao taâc)
_ Specification Element (thađnh töị ăùơc taê/mö taê)
_ Realization element (thađnh töị thûơc thi/ duđng ăïí ắnh roô caâc ăùơc taê tûúng ûâng) Tuyđ trûúđng húơp sûê duơng mađ nhûông phíìn nađy coâ thïí hiïín thõ hay khöng, coâ thïí hiïín thõ caê ba phíìn hay tûđng phíìn riïng, giûôa caâc phíìn coâ thïí coâ caâc aânh xaơ vúâi nhau hoùơc vúâi caâc thađnh töị bïn ngoađi thöng quan caâc quan hïơ.
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 80
3.9 Caâc thađnh phíìn quaên trõ mö hònh (model management)
Hònh 3-9 Subsystem vađ aânh xaơ (mappiing) giûôa caâc thađnh phíìn
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 81
3.10. Model
3.10.1. Ngûô nghôa
Möơt model (mö hònh) lađ sûơ trûđu tûúơng hoâa cuêa möơt víịn ăïì trong hïơ thöịng, noâ miïu taê hïơ thöịng dûúâi möơt goâc ăöơ quan saât ăùơc biïơt vúâi möơt mûâc ăöơ trûđu tûúơng nađo ăoâ, model coâ thïí chûâa tíịt caê caâc thađnh töị mö hònh cíìn thiïịt cho viïơc miïu taê víịn ăïì cuêa hïơ thöịng. Caâc thađnh töị trong mö hònh ặúơc töí chûâc dûúâi daơng cíy kïị thûđa cuêa caâc package hoùơc subsystem.
3.10.2. Kyâ hiïơu
Möơt model sûê duơng kyâ hiïơu cuêa package vúâi möơt hònh tam giaâc nhoê ặúơc gùưn vađo trïn phaêi cuêa hònh chûô nhíơt lúân. Trong trûúđng húơp, model coâ chûâa nöơi dung thò hònh tam giaâc ặúơc veô trong hònh chûô nhíơt nhoê cuđng vúâi tïn cuêa model. Möơt model cuông coâ thïí sûê duơng kyâ hiïơu nhû lađ package vúâi möơt tûđ khoâa ‹‹ model ›› ặúơc ăùơt phña trïn tïn cuêa model.
Hòònh 3-11 Töí chûâc kïịâ thûđa trong Modell
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 82
3.11. Caâc cú chïị múê röơng töíng quaât
3.11.1. Rađng buöơc (Constraint) vađ chuâ thñch (Comment)
Ngûô nghôa
Constraint (rađng buöơc) lađ möơt quan hïơ rađng buöơc vïì ngûô nghôa ặúơc ăñnh
keđm vađo caâc thađnh töị mö hònh nhùìm thay ăöíi vađ giúâi haơn vïì ngûô nghôa cuêa caâc thađnh töị nađy, ăaêm baêo hïơ thöịng ặúơc mö hònh hoâa möơt caâch ăuâng ăùưn. Möơt söị constraint ặúơc ắnh nghôa ngay trong baên thín UML, möơt söị do ngûúđi sûê duơng tûơ ắnh nghôa líịy. Nhûông rađng buöơc do ngûúđi duđng ắnh nghôa thûúđng ặúơc ăùơc taê bùìng caâc tûđ trong möơt ngön ngûô ặúơc qui ắnh (cuâ phaâp vađ sûơ thïí hiïơn phuơ
thuöơc vađo cöng cuơ höî trúơ). Comment (chuâ thñch) lađ möơt chuöîi vùn baên ặúơc gùưn trûơc tiïịp vađo caâc thađnh töị mö hònh coâ taâc duơng ghi chuâ, giaêi thñch, böí sung ngûô
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 83
3.12. Kyâ hiïơu
Constraint ặúơc biïíu diïîn búêi möơt chuöîi vùn baên ặúơc ăùơt trong cùơp díịu {}. Ngön ngûô duđng ăïí viïịt constraint thûúđng ặúơc ắnh nghôa búêi cöng cuơ höî trúơ (vñ duơ nhû OCL – Object Constraint Language hoùơc coâ thïí duđng ngön ngûô tûơ nhiïn ăïí ăùơc taê rađng buöơc). Ăöịi vúâi caâc thađnh töị mađ kyâ hiïơu lađ möơt chuöîi vùn baên (vñ duơ nhû möơt thuöơc tñnh nađo ăoâ...) chuöîi kyâ tûơ rađng buöơc ặúơc ghi ngay sau chuöîi vùn baên vađ ặúơc taâch búêi möơt díịu ngùn caâch.
Ăöịi vúâi möơt danh saâch caâc thađnh töị úê daơng vùn baên (vñ duơ nhû danh saâch caâc thuöơc tñnh cuêa möơt lúâp) thò rađng buöơc seô ặúơc aâp ăùơt trïn tíịt caê caâc thađnh töị sau chuöîi rađng buöơc cho túâi khi coâ möơt chuöîi rađng buöơc múâi hoùơc kïịt thuâc danh saâch.
Rađng buöơc 1 aâp duơng cho caâc thuöơc tñnh 1,2 túâi n-1 Rađng buöơc 2 aâp duơng cho caâc thuöơc tñnh tûđ n túâi cuöịi . Hònh 3-12 Rađng buöơc trïn danh saâch thađnh töịâ
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 84
Ăöịi vúâi caâc thađnh töị coâ kyâ hiïơu ăöì hoơa ăún, chuöîi rađng buöơc coâ thïí ăùơt gíìn kyâ hiïơu, töịt nhíịt lađ ăùơt gíìn tïn cuêa thađnh töị nïịu coâ. Ăöịi vúâi caâc möơt cùơp hai kyâ hiïơu ăöì hoơa, rađng buöơc ặúơc thïí hiïơn bùìng möơt muôi tïn ặât neât tûđ nhaôn cuêa thađnh töị nađy túâi nhaôn cuêa thađnh töị kia. Chair-of (lađm chuê tõch) phaêi lađ tíơp con
rađng buöơc.
Caâc chuâ thñch lađ möơt chuöîi kyâ tûơ ăùơt trong möơt biïíu tûúng note. Caâc chuâ thñch cho caâc hađm hoùơc caâc rađng buöơc khöng ặúơc ăùơc taê trong UML nhûng ặúơc ăùơc taê trong cöng cuơ höî trúơ.
Hònh 3-14 Rađng buöơc trïn nhiïìu thađnh töịâ Hònh 3-15 Chuâ thñch cho package MFC6..0
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 85
3.13. Thuöơc tñnh cuêa caâc thađnh töị (Element Properties)
Ngûô nghôa
Möơt söị thuöơc tñnh cuêa caâc thađnh töị khöng coâ kyâ hiïơu trûơc quan. Ăïí thïm vađo ăoâ ngûúđi duđng coâ thïí ắnh nghôa caâc thuöơc tñnh múâi bùìng caâch sûê duơng cú chïị tagged value (taơm dõch lađ giaâ trõ ăñnh keđm hay giaâ trõ theê). Möîi tagged value biïíu diïîn möơt loaơi thuöơc tñnh ăùơc biïơt trong ûâng duơng tûúng ûâng vúâi möơt hay nhiïìu loaơi phíìn tûê mö hònh.
Kyâ hiïơu
Möơt tagged value ặúơc thïí hiïơn bïn trong möơt cùơp díịu {}, vúâi möơt theê (tag) vađ möơt giaâ trõ (value), coâ daơng : { name = value } name lađ tïn cuêa theê (tag), value lađ giaâ trõ cuêa theê, caê hai ặúơc biïíu diïîn bùìng chuöîi kyâ tûơ. Nïịu kiïíu cuêa theê lađ Boolean (ăuâng/sai) thò giaâ trõ mùơc ắnh cuêa theê lađ True (ăuâng), nhûông kiïíu khaâc thò cíìn phaêi coâ giaâ trõ roô rađng, thöng thûúđng thò khöng coâ ắnh nghôa hònh thûâc cho giaâ trõ theê, muơc ăñch chuê ýịu chó ăïí cung cíịp thöng tin quaên lyâ mö hònh
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 86
3.14. Caâc míîu (Stereotypes)
Ngûô nghôa
Stereotype duđng ăïí ăùơc biïơt hoâa vïì mùơt ngûô nghôa cuêa caâc phíìn tûê ăaô ặúơc ắnh nghôa trong UML, lađ möơt lúâp caâc phíìn tûê mö hònh múâi ặúơc töíng quaât tûđ nhûông phíìn tûê ăaô ặúơc ắnh nghôa, ặúơc giúâi thiïơu taơi möơt thúđi ăiïím cíìn thiïịt nađo ăoâ trong quâa trònh mö hònh hoâa hïơ thöịng.
Kyâ hiïơu
Caâch thïí hiïơn töíng quaât cuêa Stereotype lađ sûê duơng kyâ hiïơu cuêa phíìn tûê cú súê vúâi möơt tûđ khoâa nùìm bïn trïn tïn cuêa thađnh töị, chuöîi tûđ khoâa ặúơc ăùơt bïn trong cùơp díịu ‹‹ ›› cuông lađ tïn cuêa stereoype. Möơt caâch thïí hiïơn khaâc lađ ăùơt biïíu tûúơng (icon) bïn trong hònh chûô nhíơt chûâa tïn cuêa khuön míîu, hoùơc chó coâ biïíu tûúơng vađ bïn dûúâi lađ tïn cuêa khuön míîu.
Hònh 3-17 Möơt söịâ stereotype (khuöđn míîêu)
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 87
3.15. Caâc lûúơc ăöì
3.15.1. Giúâi thiïơu
Caâc lûúơc ăöì lađ nïìn taêng cú baên ăïí mö hònh hoâa hïơ thöịng trong UML. UML cung cíịp chñn loaơi lûúơc ăöì khaâc nhau nhùìm giuâp mö hònh hoâa chi tiïịt hïơ
cöơng taâc (Collaboration diagram), traơng thaâi (Statechart diagram), hoaơt ăöơng (Activity diagram).
_ Caâc ăöì thûơc thi : thađnh phíìn (Component diagram), triïín khai (Deployment diagram).
Caâc lûúơc ăöì líìn lûúơc ặúơc trònh bađy theo cíịu truâc : _ Vñ duơ : göìm hònh veô vađ caâc chuâ thñch trïn lûúơc ăöì _ Ngûô nghôa : yâ nghôa cuêa caâc lûúơc ăöì
_ Chûâc nùng : chûâc nùng sûê duơng
_ Caâc thađnh phíìn chñnh : giúâi thiïơu caâc thađnh phíìn chñnh trong lûúơc ăöì. Hònh 3-18 Töíơng quan vïì caâc lûúơc ăöì trong UML
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 88
3.16. Lûúơc ăöì lúâp (Class Diagram)
(quan hïơ kïịt húơp hay thu naơp) (tïn lúâp) (quan hïơ töíng quaât hoâa) (quan hïơ kïịt húơp) (rađng buöơc) (thuöơc tñnh) (hađm) (giao tiïịp) (quan hïơ phuơ thuöơc) (vai trođ) (biïíu tûúơng cuêa lúâp) (ăa xaơ)
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 89
Ngûô nghôa
_ Möơt lûúơc ăöì lúâp lađ möơt lûúơc ăöì duđng ăïí mö taê caâc lúâp (class), caâc giao tiïịp (interface), sûơ cöơng taâc (collaboration) vađ caâc möịi quan hïơ giûôa caâc thađnh phíìn trong mö hònh.
_ Class Diagram lađ möơt thïí hiïơn dûúâi daơng ăöì thõ cíịu truâc tônh cuêa mö hònh.
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 90
3.17. Chûâc nùng
_ Ăùơt tïn vađ líơp mö hònh caâc khaâi niïơm trong hïơ thöịng. _ Ăùơc taê sûơ cöơng taâc, caâc möịi quan hïơ quan hïơ giûôa caâc lúâp _ Ăùơc taê sú ăöì cú súê dûô liïơu
_ Ngûúđi ta thûúđng duđng caâc lûúơc ăöì lúâp ăïí thïí hiïơn sûơ kïịt nöịi cuêa caâc thađnh
phíìn cíịu truâc trong design view vađ process view.
_ Class Diagram ặúơc sûê duơng trong mö hònh phín tñch vađ thiïịt kïị, höî trúơ cho giai ăoaơn phín tñch vađ thiïịt kïị hïơ thöịng.
3.17.1. Caâc thađnh phíìn chñnh
Lúâp (Class) Ngûô nghôa
Kyâ hiïơu
Biïíu tûúơng cuêa möơt lúâp ăún giaên chó lađ möơt hònh chûô nhíơt göìm coâ ba phíìn:
- Phíìn trïn cuđng : chûâa tïn cuêa lúâp, tïn cuêa lúâp phaêi lađ duy nhíịt khöng ặúơc truđng vúâi tïn caâc lúâp khaâc trong cuđng möơt package. Ngoađi ra trong möơt söị trûúđng húơp ngùn nađy cođn coâ thïí chûâa stereotype (khuön míîu) hoùơc tagged value (giaâ trõ theê).
- Phíìn giûôa : chûâa danh saâch caâc thuöơc tñnh(hay cođn goơi lađ caâc biïịn thađnh phíìn). - Phíìn cuöịi : chûâa danh saâch caâc hađnh vi (hay cođn goơi lađ caâc hađm thađnh phíìn) Trong möơt söị lûúơc ăöì hai phíìn dûúâi cuđng thûúđng ặúơc boê qua, ngay caê khi chuâng thûơc sûơ hiïơn diïơn, thò chuâng cuông khöng hiïîn thõ tíịt caê danh saâch caâc thuöơc tñnh cuông nhû caâc hađnh vi. Muơc tiïu úê ăíy chó thïí hiïơn nhûông thuöơc tñnh vađ nhûông hađnh vi coâ ñch trong möơt lûúơc ăöì cuơ thïí, vò víơy biïíu tûúơng cuêa lúâp coâ thïí ặúơc ruât goơn khi cíìn thiïịt.
Hònh 3-20 Biïíu tûúơng cuêa möơt lúâp
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 91
(biïíu tûúơng ăún giaên nhíịt) (thïí hiïơn cuêa lúâp úê mûâc ăöơ phín tñch hïơ thöịng) (thïí hiïơn cuêa lúâp úê mûâc ăöơ triïín khai – xíy dûơng hïơ thöịng)
Hònh 3-21 Thïí hiïơn cuêa lúâp úê caâc giai ăoaơn khaâc nhau
Caâc thuöơc tñnh vađ caâc hađnh vi trong möơt lúâp coâ thïí coâ caâc tíìm vûơc (visibility) khaâc nhau, caâc kyâ hiïơu cuêa caâc tíìm vûơc ặúơc ăùơt trûúâc caâc thuöơc tñnh hay hađnh vi, trong UML ắnh nghôa ba mûâc chuíín :
+ size: Area = (100,100) # points [2..*] : Point
Cuâ phaâp cho caâc khai baâo cuêa hađm nhû sau :
Tíìm vûơc – Tïn thuöơc tñnh (danh saâch tham söị) : Kiïíu traê vïì
Vñ duơ : + display (): Location + hide()
- attachXwindow(zwin: Xwindow*)
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 92
3.18. Interface
Ngûô nghôa
Coâ nhûông lúâp khöng coâ gò ngoađi caâc hađm aêo thuíìn tuây, trong ngön ngûô Java caâc lúâp nhû víơy khöng lađ ăöịi tûúơng, chuâng ặúơc goơi lađ interface (giao tiïịp). Muöịn sûê duơng interface, lúâp phaêi giao tiïịp vúâi noâ bùìng möơt quan hïơ phuơ thuöơc, lúâp sûê duơng chó phuơ thuöơc vađo caâc hađnh vi trong giao tiïịp, chûâ khöng phuơ thuöơc vađo caâc thûâ khaâc trong interface.
Kyâ hiïơu
Kyâ hiïơu ăún giaên cuêa möơt interface lađ möơt hònh trođn nhoê coâ tïn ngay phña dûúâi. Muöịn chó ra caâc hađnh vi trong interface, coâ thïí biïíu diïîn interface bùìng kyâ hiïơu lúâp vúâi möơt stereotype bïn trïn cuêa tïn interface.
Hònh 3-22 Thïí hiïơôn cuêa möơt iinterface Hònh 3-23 Möơt caâc sûê duơng iinterface
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 93
3.19. Caâc loaơi quan hïơ
3.19.1. Quan hïơ kïịt húơp (association)
Möơt quan hïơ kïịt húơp lađ quan hïơ vïì mùơt cíịu truâc giûôa hai, hoùơc giûôa möơt vađ nhiïìu thađnh töị (lúâp hoùơc ăöịi tûúơng).
- Trïn quan hïơ kïịt húơp coâ thïí coâ hai tïn cho hai hûúâng ngûúơc chiïìu nhau.
(2 quan hïơ kïịt húơp – cöng nhín lađm viïơc cho cöng ty vađ cöng ty quaên lyâ cöng nhín )
manage
Hòònh 3-24 Tïđn trong quan hïơô kïịât húớp
- Möîi möịi hïơ kïịt húơp cuông coâ baên söị (multiplicity) vađ tñnh ắnh hûúâng (navigate). Vñ duơ nhû: (0..1), (1), (0..*), (1..*), (1..6), (10..*)...
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 94
Hònh 3-25 Baên söịâ (mulltiiplliiciity) trong quan hïơ kïịât húơp
- Trong quan hïơ kïịt húơp cuông coâ sûơ ăïơ quy (trong trûúđng húơp möơt lúâp (hay ăöịi
Chûúng 3
HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 95
(vai trođ) (Person ăoâng vai trođ lađ ngûúđi lao ăöơng) (Company ăoâng vai trođ lađ ngûúđi chuê)
Hònh 3-27 Vai trođ (rolles) trong quan hïơ kïịât húơp
- Ngoađi ra cođn coâ Or-Association (quan hïơ kïịt húơp rađng buöơc or), ăíy coâ thïí coi lađ möơt rađng buöơc trïn hai hay nhiïìu quan hïơ kïịt húơp. Noâ xaâc ắnh caâc ăöịi tûúơng cuêa möơt lúâp chó coâ thïí tham gia vađo möơt trong nhûông quan hïơ kïịt húơp nađy taơi möơt thúđi ăiïím. Xeât vñ duơ trong hònh 3-28 taơi möơt thúđi ăiïím nhíịt ắnh thò lúâp Account (tađi khoaên) chó coâ quan hïơ kïịt húơp vúâi möơt trong hai lúâp Person (ngûúđi)
hoùơc Corporation (haông). (caâch thïí hiïơn cuêa quan hïơ Or-Association) (taơi möơt thúđi ăiïím thò chó coâ möơt trong hai quan hïơ coâ taâc duơng)
Hònh 3-28 Möơt cuêa Or-Associiatiion
- Trong quan hïơ kïịt húơp cuông coâ quan hïơ kïịt húơp haơn chïị (qualified