ÚÊ goâc ăöơ mö hònh hoâa, caâc thađnh töị UML coâ thïí phín chia lađm ba loaơi lađ caâc thađnh töị mö hònh hoâa tônh, caâc thađnh töị mö hònh hoâa tûúng taâc vađ caâc thađnh töị quan hïơ
Trang 1Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 22
2.1 Giúâi thiïơu
UML bao göìm UML metamodel vađ UML model UML metamodel giûô chûâc nùng ắnh nghôa caâc thađnh töị vađ cuâ phaâp UML UML model mö taê kyâ hiïơu caâc thađnh töị vađ caâc lûúơc ăöì dûơa trïn UML metamodel
UML metamodel bao göìm caâc thađnh töị vađ möơt söị quy tùưc vïì cuâ phaâp Ngoađi viïơc thađnh töị UML mang möơt yâ nghôa xaâc ắnh, cuâ phaâp UML cođn mö taê caâch liïn kïịt nhûông thađnh töị nađo vúâi nhau ăïí taơo ra yâ nghôa gò ÚÊ goâc ăöơ mö hònh hoâa, caâc thađnh töị UML coâ thïí phín chia lađm ba loaơi lađ caâc thađnh töị mö hònh hoâa tônh, caâc thađnh töị mö hònh hoâa tûúng taâc vađ caâc thađnh töị quan hïơ coâ chûâc nùng liïn kïịt giûôa hai thađnh töị trïn vúâi nhau UML metamodel giûô vai trođ hûúâng díîn ngûúđi sûê duơng UML vïì cuâ phaâp trong mö hònh hoâa Ngoađi ra, UML metamodel cođn ặúơc sûê duơng búêi caâc nhađ phaât triïín CASE tool ăïí mö hònh hoâa dûô liïơu cho möơt CASE tool höî trúơ UML Mö hònh dûô liïơu nađy sûê duơng laơi ắnh nghôa thađnh töị UML ăïí thiïịt kïị caâc lúâp cú baên vađ böí sung thïm caâc lúâp múâi tuđy theo chûâc nùng CASE tool cung cíịp cho ngûúđi sûê duơng UML model lađ biïíu diïîn kyâ hiïơu cuêa caâc thađnh töị UML ăöìng thúđi cung cíịp cho ngûúđi sûê duơng caâc lûúơc ăöì UML cuơ thïí ăïí mö hònh hoâa cuông nhû lađm ngön ngûô giao tiïịp giûôa caâc thađnh viïn cuêa nhoâm trong quaâ trònh phaât triïín phíìn mïìm Noâi caâch khaâc, caâc lûúơc ăöì trong UML model lađ thïí hiïơn cuêa caâc cuâ phaâp tûúng ûâng trong UML metamodel UML metamodel ặúơc chia thađnh nhiïìu goâi thađnh phíìn (package) dûơa trïn yâ nghôa cuêa cuâ phaâp ặúơc mö taê Möîi goâi ắnh nghôa caâc thađnh töị khaâc nhau vađ mö taê möơt nhoâm cuâ phaâp dûơa trïn caâc thađnh töị nađy Trong möîi goâi laơi coâ thïí bao göìm caâc goâi con Viïơc phín chia nađy giuâp cho ắnh nghôa cuêa UML metamodel roô rađng hún, chó quan tím ăïịn caâc thađnh töị trong goâi vađ loaơi boê caâc thađnh töị khöng cíìn thiïịt vûúơt ra khoêi phaơm vi ngûô nghôa cíìn mö taê cuêa goâi Goâi ặúơc biïíu diïîn nhû sau
Hònh 2-1 Kyâ hiïơu package
Trang 2Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 23
2.2 Töíng quan vïì caâc loaơi quan hïơ giûôa caâc thađnh töị
Trong quaâ trònh ắnh nghôa thađnh töị cíìn phaêi mö taê caâc möịi liïn hïơ giûôa thađnh töị nađy vúâi caâc thađnh töị khaâc nïn UML sûê duơng möơt tíơp húơp caâc quan hïơ Möîi quan hïơ coâ möơt yâ nghôa xaâc ắnh Caâc quan hïơ nađy bao göìm quan hïơ töíng quaât hoâa (generalization), quan hïơ kïịt húơp (association), quan hïơ phuơ thuöơc (dependency)
Möîi thađnh töị ăïìu coâ ngûô nghôa riïng Ăïí biïíu diïîn thađnh töị vađ quan hïơ giûôa caâc thađnh töị, UML sûê duơng caâc kyâ hiïơu riïng Möơt thađnh töị coâ kyâ hiïơu nhû sau
Tïn thađnh töị
Caâc thuöơc tñnh
Hònh 2-2 Kyâ hiïơu thađnh töịâ
Phíìn sau trònh bađy sú lûúơc caâc loaơi quan hïơ Chi tiïịt vïì caâc loaơi quan hïơ giûôa caâc thađnh töị ặúơc trònh bađy trong chûúng 3 phíìn 3.5.2.4.3
Trang 3Chûúng 2 NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 24
2.3 Quan hïå töíng quaát hoáa (generalization)
Generalization laâ quan hïå giûäa möåt thaânh töë töíng quaát hún vaâ möåt thaânh töë àùåc biïåt hún Thaânh töë àùåc biïåt hún chûáa àêìy àuã caác àùåc àiïím cuãa thaânh töë töíng quaát hún vaâ ngoaâi ra coân coá nhûäng thöng tin riïng Quan hïå töíng quaát hoáa coá kyá hiïåu nhû sau:
Trang 4Chûúng 2 NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 25
2.5 Quan hïå phuå thuöåc (dependency)
Dpendency thïí hiïån sûå phuå thuöåc chûác nùng cuãa möåt hay nhiïìu thaânh töë nhêån vaâo möåt hay nhiïìu thaânh töë cho Dependency keám chi tiïët vïì mûác àöå ngûä nghôa hún quan hïå kïët húåp vaâ thûúâng sûã duång àïí mö taã sûå phuå thuöåc lêîn nhau giûäa caác goái
Tïn goái nhêån
Tïn goái cho
Dependency Dependency mö taã phuå thuöåc giûäa goái nhêån vaâo goái cho
Hònh 2-6 Vñ duå cuãa quan hïå phuå thuöåc (Dependency)
Quan hïå toaân thïí – böå phêån: thaânh töë naây chûáa thaânh töë kia theo
nghôa vêåt lyá
quan hïå toaân thïí-böå phêån (aggregation) tïn tham chiïëu (name)
Hònh 2-5 Vñ duå vïì quan hïå toaân thïí-böåä phêån (aggregatiion)
Trang 5Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 26
2.6 Töíng quan vïì caâc thađnh töị vađ cíịu truâc UML metamodel
2.6.1 Phín loaơi thađnh töị trong UML metamodel
ÚÊ goâc ăöơ ắnh nghôa, caâc thađnh töị trong UML coâ thïí ặúơc chia lađm hai loaơi lađ thađnh töị trûđu tûúơng vađ thađnh töị cuơ thïí Caâc thađnh töị trûđu tûúơng coâ tñnh töíng quaât cao giûô chûâc nùng tham gia vađo ắnh nghôa caâc thađnh töị khaâc Caâc thađnh töị cuơ thïí thûúđng coâ quan hïơ töíng quaât hoâa qua nhiïìu tíìng vúâi caâc thađnh töị trûđu tûúơng, ngoađi ra cođn coâ caâc quan hïơ kïịt húơp (association) vúâi caâc thađnh töị khaâc Chó caâc thađnh töị cuơ thïí múâi coâ kyâ hiïơu trong UML model vađ ặúơc sûê duơng trong mö hònh hoâa
2.6.2 Cíịu truâc UML metamodel
UML metamodel bao göìm ba goâi (package) chñnh nhû sau
Hònh 2-7 Caâc package chñnh cuêa UML
Goâi nïìn taêng (Foundation) lađ goâi bao göìm phíìn lúân caâc thađnh töị trûđu tûúơng vađ möơt söị thađnh töị cuơ thïí mang tñnh chíịt cöịt loôi Caâc thađnh töị trong goâi nađy ặúơc sûê duơng búêi hai goâi thađnh töị hađnh vi (BehavioralElements) vađ quaên trõ
mö hònh (ModelManagement)
BehavioralElements lađ goâi ắnh nghôa caâc thađnh töị sûê duơng cho viïơc mö taê quaâ trònh víơn ăöơng cuêa möơt thađnh töị hay tûúng taâc giûôa caâc thađnh töị trong thïị giúâi thûơc
Model Management lađ goâi ắnh nghôa caâc thađnh töị cho viïơc quaên lyâ mö hònh cuêa ngûúđi sûê duơng
Trang 6Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 27
2.7 Package Foundation (goâi nïìn taêng)
Foundation ắnh nghôa nhûông thađnh töị UML cú baên Foundation bao göìm
ba goâi con lađ goâi cöịt loôi (Core), goâi caâc kiïíu dûô liïơu (Data Types) vađ goâi cú chïị múê röơng (Extension Mechanism)
Hònh 2-8 Goâi nïìn taêng cuêa UML metamodell
Core ắnh nghôa nhûông thađnh töị cöịt loôi bao göìm caê caâc thađnh töị quan hïơ vađ ăa söị lađ úê mûâc trûđu tûúơng
Extension Mechanism ắnh nghôa cú chïị múê röơng cho caâc thađnh töị UML ăïí böí sung caâc thađnh töị múâi
Data Types ắnh nghôa caâc kiïíu dûô liïơu ặúơc sûê duơng trong UML metamodel Caâc thuöơc tñnh cuêa caâc thađnh töị trong UML meatamodel coâ kiïíu dûô liïơu thuöơc vïì Data Types
2.7.1 Package Core (goâi cöịt loôi)
Core bao göìm caâc thađnh töị cöịt loôi vađ ặúơc mö taê búêi nùm mö hònh lađ sûúđn (Backbone), quan hïơ (Relationships), phuơ thuöơc (Dependencies), Classifiers vađ böí sung (Auxiliary Elements)
Core giúâi thiïơu cuâ phaâp cho mö hònh hoâa tônh, khöng quan tím ăïịn quaâ trònh víơn ăöơng vađ tûúng taâc giûôa caâc ăöịi tûúơng trong thïị giúâi thûơc
Trang 7Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 28
2.8 Mö hònh Backbone (sûúđn)
Backbone chuê ýịu ắnh nghôa thađnh töị Classifier Classifier lađ thađnh töị trûđu tûúơng ăoâng vai trođ töíng quaât hoâa trûơc tiïịp cuêa phíìn lúân caâc thađnh töị cuơ thïí khaâc Ngoađi ra, caâc thađnh töị cuơ thïí cú baên cuêa UML ặúơc ắnh nghôa trong Core bao göìm thuöơc tñnh (attribute), phûúng thûâc (operation) vađ caâch thûơc hiïơn phûúng thûâc (method), tham söị (parameter) vađ rađng buöơc (constraint)
Ăïí phuơc vuơ cho quaâ trònh ắnh nghôa Classifier, UML ặa ra caâc thađnh töị trûđu tûúơng coâ vai trođ lađ töíng quaât hoâa (trûơc tiïịp hay giaân tiïịp) cuêa Classifier Caâc thađnh töị nađy coâ quan hïơ vúâi nhau vađ coâ quan hïơ vúâi Classifier ặúơc mö taê trong
_ Namespace (khöng gian caâc thađnh töị tham chiïịu theo tïn): Namespace lađ tíơp húơp caâc thađnh töị ModelElement vúâi ăiïìu kiïơn ắnh danh cuêa möơt ModelElement trong möơt Namespace lađ duy nhíịt
_ ElementOwnership: ElementOwnership ắnh nghôa tíìm vûơc (visibility) cuêa möơt thađnh töị chûâa trong khöng gian caâc thađnh töị (Namspace) ElementOwnership quy ắnh tíìm vûơc cuêa möơt thađnh töị ặúơc giúâi haơn trong Namespace (chó coâ thïí ặúơc tham chiïịu búêi caâc thađnh töị trong Namespace) hay vûúơt khoêi Namespace (coâ thïí ặúơc tham chiïịu búêi caâc thađnh töị ngoađi Namespace)
Trang 8Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 29
_ GeneralizableElement (thađnh töị coâ thïí töíng quaât hoâa hay ăùơc biïơt hoâa): GeneralizableElement lađ caâc thađnh töị coâ thïí tham gia vađo quan hïơ töíng quaât hoâa hay ăùơc biïơt hoâa Do ăoâ möơt GeneralizableElement coâ thïí lađ töíng quaât hoâa hay ăùơc biïơt hoâa cuêa möơt GeneralizableElement khaâc
_ Feature (ăùơc tñnh) : mö taê caâc ăùơc tñnh cuêa möơt Classifier chuê ýịu lađ tíìm vûơc (visibility) cuêa ăùơc tñnh Tíìm vûơc nađy xaâc ắnh möơt ăùơc tñnh cuêa Classifier coâ thïí ặúơc tham chiïịu búêi caâc Classifier khaâc hay chó ặúơc sûê duơng búêi chñnh Classifier chûâa ăùơc tñnh ăoâ
_ StructuralFeature (ăùơc tñnh cíịu truâc) : ặúơc thûđa kïị tûđ Fearture, StructuralFeature mö taê ăùơc tñnh vïì mùơt cíịu truâc cuêa möơt Classifier, mö taê cíịu
truâc nađy coâ thïí thay ăöíi hay cöị ắnh qua thuöơc tñnh changeability cuêa StructuralFeature StructualFeature coâ möơt ăùơc biïơt hoâa lađ thuöơc tñnh (Attribute)
_ BehavioralFeature (ăùơc tñnh hađnh vi) Ăûúơc kïị thûđa tûđ Feature vađ biïíu diïîn caâc ăùơc tñnh vïì mùơt hađnh vi cuêa möơt Classifier ăöìng thúđi mö taê ăùơc tñnh hađnh vi nađy coâ aênh hûúêng lïn traơng thaâi cuêa Classifier hay khöng qua thuöơc tñnh isQuery BehavioralFeature göìm hai ăùơc biïơt hoâa lađ phûúng thûâc (Operation) vađ Method
Trang 9Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 30
Classifier coâ khaê nùng chûâa caâc thađnh töị khaâc Caâc thađnh töị nađy coâ ắnh danh duy nhíịt trong Classifier vađ coâ tíìm vûơc cho caâc thađnh töị bïn ngoađi tham chiïịu ăïịn qua thuöơc tñnh visibility trong Lađ ăùơc biïơc hoâa cuêa thađnh töị trûđu tûúơng ModelElement, Classifier chõu aênh hûúêng búêi caâc rađng buöơc gùưn vúâi Classifier Lađ ăùơc biïơt hoâa cuêa GeneralizableElement, Classifier coâ thïí tham gia vađo quan hïơ töíng quaât hoâa GeneralizableElement lađ thađnh töị coâ thïí tham gia vađo quan hïơ töíng quaât hoâa ặúơc mö taê roô rađng hún trong mö hònh Relationships Classifier bao göìm caâc ăùơc ăiïím cíịu truâc vađ hađnh vi, cuơ thïí lađ thuöơc tñnh (Attribute), phûúng thûâc (Operation) vađ Method Ngoađi ra, Mö hònh Backbone cođn ắnh nghôa caâc thađnh töị cuơ thïí ăoâng vai trođ quan troơng bíơc nhíịt lađ thuöơc tñnh (Attribute), phûúng thûâc (Operation), mö taê phûúng thûâc (Method), tham söị (Parameter) vađ rađng buöơc (Constraint)
Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 31
_ Attribute (thuöơc tñnh) : Attribute mö taê caâc giaâ trõ mađ möơt Classifier coâ thïí sûê duơng ăïí thïí hiïơn traơng thaâi Attribute coâ caâc thuöơc tñnh chñnh lađ tïn (name), giaâ trõ khúêi ăíìu (initial value)
_ Operation (phûúng thûâc) : Operation lađ phûúng thûâc coâ thïí ặúơc ýu cíìu tûđ möơt Classifier chûâa Operation ăïí taâc ăöơng lïn Classifier nađy Operation coâ quan hïơ kïịt húơp (association) vúâi tham söị (parameter) nghôa lađ Operation sûê duơng möơt tíơp tham söị ăïí khúêi ăíìu cho viïơc thi hađnh Möơt Operation coâ thïí ặúơc kïị thûđa tûđ caâc Operation khaâc
Trang 10_ Method (mö taê phûúng thûâc) : Method coâ quan hïơ kïịt húơp vúâi phûúng thûâc (Operation) mö taê cuơ thïí caâch thûâc thûơc hiïơn möơt phûúng thûâc bao göìm caâc quy trònh vađ caâc thuíơt toaân Method coâ taâc ăöơng ăïịn kïịt quaê cuêa phûúng thûâc
_ Parameter (tham söị) : Parameter lađ tham söị coâ thïí thay ăöíi, gúêi vađ nhíơn Möơt Parameter coâ thïí bao göìm tïn, kiïíu dûô liïơu vađ quan hïơ vúâi caâc thađnh töị khaâc giao tiïịp vúâi noâ Parameter ặúơc sûê duơng trong mö taê phûúng thûâc (Operation), míîu (Templates)
_ Constraint (rađng buöơc) : Constraint lađ caâc ăiïìu kiïơn vïì mùơt ngûô nghôa hay caâc giúâi haơn cho möơt thađnh töị, coâ thïí diïîn taê úê daơng vùn baên hay möơt biïíu thûâc logic cuêa möơt ngön ngûô mö taê rađng buöơc Ngoađi viïơc ắnh nghôa thađnh töị rađng buöơc Constraint, UML cođn ắnh nghôa möơt ngön ngûô cho mö taê rađng buöơc lađ ngön ngûô rađng buöơc ăöịi tûúơng (Object Constraint Language) Giûôa caâc Classifier coâ quan hïơ töíng quaât hoâa Do Classifier lađ thađnh töị trûđu tûúơng nïn tíịt caê caâc thađnh töị thûđa kïị Classifier ăïìu coâ tñnh chíịt nađy
Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 32
2.12 Mö hònh Relationships (caâc quan hïơ)
Mö hònh Relationships ắnh nghôa caâc quan hïơ giûôa caâc thađnh töị UML bao göìm hai loaơi quan hïơ cú baên lađ quan hïơ töíng quaât hoâa (generalization), quan hïơ kïịt húơp (association)
Quan hïơ töíng quaât hoâa (generalization) lađ sûơ liïn hïơ giûôa hai thađnh töị ăùơc biïơt hún vađ töíng quaât hún Ăõnh nghôa quan hïơ kïịt húơp (Association) vađ Classifier tham gia vađo möịi kïịt húơp (Ass ociationEnd)
Hònh 2-10 Möđ hònh Rellatiionshiips
2.12.1 Quan hïơ töíng quaât hoâa (generalization)
Möơt quan hïơ töíng quaât hoâa ặúơc ắnh nghôa lađ sûơ liïn hïơ giûôa hai thađnh töị Thađnh töị ăùơc biïơt hún goơi lađ thađnh töị con (child) vađ thađnh töị töíng quaât hún lađ thađnh töị cha (parent) Thađnh töị con tham gia vađo quan hïơ töíng quaât hoâa Thađnh töị cha tham gia vađo quan hïơ töíng quaât hoâa
Hònh 2-11 Ăõnh nghôa quan hïơ töíng quaât hoâa trong möđ hònh Rellatiionshiips
Trang 11Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 33
2.13 Quan hïơ kïịt húơp (Association)
Quan hïơ kïịt húơp mö taê nhiïìu Classifier tham gia vađo nhiïìu möịi kïịt húơp (AssociationEnd) Association thûúđng gùơp lađ quan hïơ kïịt húơp coâ hai möịi kïịt húơp (AssociationEnd) Möîi möịi kïịt húơp gùưn vúâi möơt Classifier Quan hïơ kïịt húơp mö taê sûơ liïn hïơ vïì ngûô nghôa giûôa caâc Classifier Möơt quan hïơ kïịt húơp coâ töịi thiïíu hai möịi kïịt húơp (AssociationEnd) Möîi möịi kïịt húơp coâ liïn hïơ vúâi möơt thađnh töị Class ifier
Hònh 2-12 Ăõnh nghôa quan hïơ kïịât húơp trong möđ hònh Rellatiionshiips
Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 34
2.14 Lúâp kïịt húơp (AssociationClass)
Thûđa kïị tûđ lúâp vađ quan hïơ kïịt húơp, lúâp kïịt húơp vûđa coâ tñnh chíịt cuêa möơt lúâp vûđa coâ tñnh chíịt cuêa möơt quan hïơ kïịt húơp Lúâp hïịt húơp nöịi möơt tíơp caâc classifier vúâi nhau vađ coâ caâc thuöơc tñnh riïng ăùơc trûng cho quan hïơ giûôa caâc classifier nađy Cöng viïơc -tiïìn lûúng Nhín sûơ 1 * Cöng ty 0 * Cöng viïơc lađ möơt associationclass Thuöơc tñnh tiïìn lûúng ăùơc trûng cho möịi quan hïơ giûôa nhín sûơ vađ cöng ty
Hònh 2-13 Vñ duơ lúâp kïịât húơp
Trang 12Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 35
2.15 Mö hònh Classifiers (caâc ăùơc biïơt hoâa cuêa classifiers)
Mö hònh Classifiers mö taê caâc ăùơc biïơt hoâa cuêa Classifier bao göìm caâc thađnh töị lúâp (Class), giao diïơn (Interface), kiïìu dûô liïơu (DataType), nuât (Node) vađ thađnh phíìn (Component) Component bao göìm nhiïìu thađnh ModelElement
Do thađnh töị trûđu tûúơng bíơc cao do Component cuông chûâa caâc ăùơc ho a cuêa ModelElement bao göìm thađnh töị ăaâng quan tím lađ vađ Node bao nhiïìu Component lađ caâc nuât xûê Component lađ thađnh ăoâng goâi xûê lyâ vađ cíịp caâc dõch Hònh 2-14 Caâc lúâp ăùơc biïơt cuêa Cllassiifiiers
Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 36
2.16 Class (lúâp)
Class lađ tíơp húơp caâc ăöịi tûúơng coâ cuđng caâc thuöơc tñnh, hađnh ăöơng vađ ngûô nghôa Möơt Class coâ thïí lađ trûđu tûúơng (abstract)nghôa lađ khöng coâ thïí hiïơn (ăöịi tûúơng)nađo ặúơc taơo ra trûơc tiïịp tûđ noâ Class lađ thađnh töị cuơ thïí coâ biïíu diïîn kyâ hiïơu trïn UML model Lađ ăùơc biïơt hoâa cuêa Classifier, Class bao göìm caâc thuöơc tñnh (Attribute), phûúng thûâc (Operation) vađ Method Giûôa caâc Class coâ quan hïơ töíng quaât hoâa, quan hïơ kïịt húơp
Kïị toaân viïn
Trang 13Thû kyâ
Phođng ban
Nhín viïn
-Tïn nhín viïn
Líịy thöng tin nhín viïn()
Cöng viïơc thûơc hiïơn trûơc thuöơc
Nhín viïn bao göìm hai ăùơc biïơt hoâa lađ kiïím toaân viïn vađ thû kyâ Möîi nhín viïn thûơc hiïơn caâc cöng viïơc vađ thuöơc möơt phođng ban töíng quaât hoâa (generalization) quan hïơ kïịt húơp (association) thuöơc tñnh phûúng thûâc
Hònh 2-15 Vñ duơ vïì lúâp (Cllass) vađ quan hïơô giûôa caâc lúâp
Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 37
2.17 Interface (giao diïơn)
Iterface lađ tíơp caâc phûúng thûâc (operation) cuêa möơt Classifier öîi Interface cung cíịp möơt dõch vuơ cuêa Classifier bao göìm möơt nhoâm caâc operation coâ quan hïơ vúâi Interface ăoâ Möîi Classifier coâ thïí cung cíịp nhiïìu dõch vuơ khaâc nhau qua caâc Interface khaâc nhau
2.17.1 DataType (kiïíu dûô liïơu)
DataType mö taê kiïíu dûô liïơu cuêa ngûúđi sûê duơng UML khöng ắnh nghôa caâc kiïíu dûô liïơu cuơ thïí Viïơc ắnh nghôa caâc kiïíu dûô liïơu cuêa ngûúđi sûê duơng tuđy thuöơc vađo möi trûúđng phaât triïín phíìn mïìm nïn thûúđng caâc CASE tool ăaêm nhíơn chûâc nùng ắnh nghôa caâc kiïíu dûô liïơu nađy
2.17.2 Node (nuât)
Node lađ thađnh töị ăaơi diïơn cho möơt tađi nguýn víơt lyâ coâ böơ nhúâ vađ khaê nùng xûê lyâ tñnh toaân Caâc node thûúđng ăaơi diïơn cho caâc maây tñnh vađ mö taê viïơc phín böị caâc maây tñnh trïn maơng
Trang 14Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 38
2.38 Component (thađnh phíìn)
Component lađ möơt phíìn riïng biïơt úê mûâc víơt lyâ cuêa hïơ thöịng
Component ăoâng goâi caâc phûúng thûâc xûê lyâ vađ cung cíịp tíơp caâc dõch vuơ xûê lyâ nađy qua möơt tíơp giao diïơn (interface)khaâc nhau Möîi giao diïơn bao göìm nhiïìu phûúng thûâc khaâc nhau ăïí phuơc vuơ cho möơt muơc ăñch cuơ thïí Caâc phûúng thûâc coâ thïí lađ caâc ăoaơn maô thi hađnh ặúơc, caâc script hay lïơnh Möơt component thûúđng cung cíịp nhiïìu loaơi dõch vuơ khaâc nhau liïn quan ăïịn möơt ăöịi tûúơng cuơ thïí
Giao diïơn (interface) component MSBind <<COM>
Hònh 2-16 Vñ duơ vïì thađnh phíìn (component) vađ giao diïơn (iinterface)
2.38.1 Mö hònh Dependencies (caâc quan hïơ phuơ thuöơc)
Dependency mö taê sûơ phuơ thuöơc chûâc nùng giûôa hai thađnh phíìn cho vađ thađnh phíìn nhíơn Thađnh phíìn cho ăoâng vai trođ cung cíịp dõch vuơ cho thađnh phíìn nhíơn Dependency ắnh nghôa phuơ thuöơc giûôa hai thađnh töị ModelElement nïn híìu nhû tíịt caê caâc thađnh töị cuơ thïí thûđa kïị ModelElement ăïìu coâ thïí coâ quan hïơ phuơ thuöơc
Quan hïơ phuơ thuöơc coâ caâc ăùơc biïơt hoâa lađ gùưn (Binding), trûđu tûúơng hoâa (Abstraction), sûê duơng (Usage) vađ cho pheâp (Permisson) Quan hïơ phuơ thuöơc lađ quan hïơ giûôa thađnh töị cho vađ thađnh töị nhíơn, cuơ thïí lađ giûôa hai ModelEleme Caâc ăùơc biïơt hoâa cuêa quan hïơ phuơ thuöơc
Hònh 2-17 Möđ hònh Dependenciies (caâc quan hïơô phuơ thuöơc)
Trang 15Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 39
2.39 Binding (gùưn)
Binding ắnh nghôa quan hïơ giûôa möơt míîu (Template) lađ thađnh phíìn cho cuêa Dependency vúâi möơt thađnh phíìn ặúơc taơo tûđ Template ăoâ lađ thađnh phíìn nhíơn cuêa Dependency Binding bao göìm caâc ăöịi söị phuđ húơp vúâi caâc tham söị cuêa Template
2.39.1 Abstraction (trûđu tûúơng hoâa)
Abstraction mö taê möịi liïn hïơ giûôa caâc thađnh töị úê caâc mûâc trûđu tûúơng hoâa khaâc nhau Vñ duơ nhû chuýín möơt khaâi niïơm úê mûâc phín tñch sang mûâc thiïịt kïị bùìng quan hïơ Abstraction
Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 40
2.40 Usage (sûê duơng)
Usage lađ quan hïơ giûôa möơt thađnh töị ModelElement coâ sûê duơng phûúng thûâc cuêa möơt thađnh töị ModelElement khaâc
2.40.1 Permisson (cho pheâp)
Permisson cung cíịp quýìn haơn cho möơt thađnh töị ngoađi khöng gian caâc thađnh töị (Namespace) tham chiïịu caâc thađnh töị khaâc trong Namespace Thađnh töị nhíơn lađ möơt ModelElement thađnh töị cho bùưt buöơc lađ möơt Namespace
2.41.2 Mö hònh AuxiliaryElements (caâc thađnh töị böí sung)
Trang 16Möơt ModelElement coâ thïí quan hïơ vúâi caâc ModelElement khaâc qua viïơc sûê duơng caâc ModelElement khaâc lađm tham söị Khi ăoâ ModelElement nađy ặúơc
go õ lađ möơt Template Möơt tham söị míîu (TemplateParameter) liïn hïơ vúâi möơt ModelElement theo yâ nghôa lađ Template Parameter nađy tham chiïịu ăïịn giaâ trõ coâ kiïíu lađ ModelElement Thađnh töị biïíu diïîn chûâa thöng tin cho biïíu diïîn trûơc qua
n cuêa möơt thađnh töị ModelElement
Hònh 2-18 Möđ hònh AuxiilliiaryEllements (caâc thađnh phíìn böí sung)
Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 41
2.41 TemplateParameter (tham söị cho míîu)
Tham söị cho míîu lađ tham söị cho caâc thađnh töị Template Vñ duơ nhû trong möơt möi trûúđng ngön ngûô líơp trònh höî trúơ Template, ta coâ thïí xíy dûơng lúâp múâi bùìng caâch cung cíịp caâc lúâp tham söị cho Template TemplateParameter ắnh nghôa quan hïơ giûôa möơt thađnh töị ModelElement vúâi caâc tham söị (caâc tham söị nađy lađ caâc thađnh töị ModelElement ) ModelElement lađ möơt Template khi sûê duơng ñt nhíịt möơt TemplateParameter
Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 42
2.42 PresentationElement (thađnh töị biïíu diïîn trûơc quan)
PresentationElement mö taê thöng tin cho viïơc biïíu diïîn caâc ModelElement UML khöng ắnh nghôa cuơ thïí caâc thöng tin nađy mađ ăïí cho caâc CASE tool tûơ do ắnh nghôa
Trang 172.42.1 Package Extension Mechanisms (goâi cú chïị múê röơng)
Khaâi quaât
Extension Mechanisms ắnh nghôa caâch thûâc múê röơng ngön ngûô UML bùìng caâch ặa ra cú chïị böí sung caâc thađnh töị vúâi ngûô nghôa múâi Package nađy ắnh nghôa Stereotypes, Constraint (rađng buöơc) vađ Tagged Value (theê giaâ trõ) lađ
ba cú chïị múê röơng cuêa UML UML cung cíịp cú chïị múê röơng ăïí thïm caâc thađnh töị múâi cho caâc lônh vûơc ăùơc biïơt mađ UML chuíín khöng ắnh nghôa Caâc lônh vûơc cíìn caâc khaâi niïơm múâi coâ thïí tûơ ắnh nghôa caâc khaâi niïơm nađy qua cú chïị múê röơng UML Viïơc múê röơng nađy khöng ăún giaên lađ gùưn tïn Stereotypes vađo thađnh töị vađ quy ắnh ngûô nghôa múâi do ăöi khi cođn coâ caâc rađng buöơc ngûô nghôa trong thïị giúâi thûơc Do ăoâ caâc stereotype thûúđng chûâa caâc rađng buöơc vađ caâc giaâ trõ theê Möîi StereoType quy ắnh loaơi thađnh töị ModelElement mađ stereotype nađy coâ thïí taâc ăöơng Thađnh töị ặúơc taâc ăöơng nađy lađ caâc thađnh töị trong UML metamodel vñ duơ nhû Class, Association, Component Khi gùưn stereotype vađo caâc thađnh töị nađy thò ặúơc thađnh töị múâi thûđa kïị thađnh töị cuô vađ coâ tïn cuêa stereotype Vñ duơ
nhû Component coâ caâc stereotype lađ “document”,”executable”,”table” Caâc stereotype nađy baên chíịt cuông lađ component nhûng “document” lađ möơt thađnh
phíìn (component) chûâa caâc sûu liïơu, “executable” lađ thađnh phíìn chûâa caâc dõch vuơ xûê lyâ cođn “table” chûâa caâc baêng trong möơt cú súê dûô liïơu
Stereotype bao göìm rađng buöơc (Constraint), caâc theê giaâ trõ (Tagged Value) taâc ăöơng lïn ModelElement vađ cho kïịt quaê tûúng tûơ nhû ăíơc biïơt hoâa Loaơi thađnh
töị mađ Stereotype coâ thïí aâp duơng ặúơc xaâc ắnh qua thuöơc tñnh baseClass, vñ duơ nhû Class, Association noâi chung lađ tïn caâc thađnh töị trong UML
Hònh 2-19 Mö hònh cú chïịâ múê röơng
Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 43
2.43 Constraint (rađng buöơc)
Lađ caâc rađng buöơc ngûô nghôa ặúơc gùưn vúâi möơt thađnh töị cíìn múê röơng ăïí aâp ăùơt caâc ăiïìu kiïơn lïn thađnh töị nađy vađ coâ taâc duơng thay ăöíi hay giúâi haơn ngûô nghôa Thađnh töị múê röơng phaêi thoêa maôn caâc rađng buöơc nađy ăïí ăaêm baêo sûơ chñnh
Trang 18xaâc vïì ngûô nghôa Constraint cuông coâ thïí ặúơc gùưn vúâi stereotypes ăïí taâc ăöơng lïn caâc thađnh töị coâ quan hïơ vúâi stereotypes nađy
Lađ cú chïị phín loaơi möơt thađnh töị theo quan hïơ kïịt húơp cuêa thađnh töị nađy vúâi caâc stereotype Möîi stereotype gùưn möơt thađnh töị seô cho möơt thađnh töị múâi thûđa kïị thađnh töị cuô ngoađi ra coâ thïm caâc thöng riïng Stereotype chñnh lađ sûơ khaâc nhau vïì ngûô nghôa cuêa hai thađnh töịù cuđng cíịu truâc Vñ duơ nhû trong quy trònh phaât triïín phíìn mïìm Rational Unified Process, caâc stereotype cho thađnh töị Class ặúơc ắnh nghôa thïm trong ăoâ coâ stereotype “boundary” Stereotype nađy lađ möơt Class ăoâng vai trođ giao tiïịp vúâi caâc tûúng taâc bïn ngoađi hïơ thöịng Muơc ăñch cuêa múê röơng nađy lađ phín loaơi caâc Class theo chûâc nùng phuơc vuơ cho quaâ trònh phín tñch
Thiïịt kïị giao diïơn nguúđi sûê duơng: Giao diïơn ngûúđi sûê duơng phín tñch Class vúâi stereotype lađ “boundary” Class chuíín cuêa UML
Hòònh 2-20 Vñ duơ vïì stereotype
Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 44
2.44 Tagged Value (theê giaâ trõ)
Lađ caâc thuöơc tñnh ăñnh keđm cho möơt thađnh töị múê röơng Tagged Value coâ thïí chûâa nhûông thöng tin bíịt kyđ cíìn thiïịt böí sung cho möơt thađnh töị múâi
2.44.1 Caâc kiïíu dûô liïơu trong UML metamodel (Data Types)
Khaâi quaât
DataTypes ắnh nghôa caâc kiïíu dûô kiïơu duđng riïng trong UML metamodel nghôa lađ thuöơc tñnh cuêa caâc thađnh töị trong UML metamodel coâ caâc kiïíu dûô liïơu trong Data Types Data Types cíìn thiïịt cho sûơ tham khaêo síu hún vïì caâc thuöơc tñnh vađ yâ nghôa möîi thuöơc tñnh cuêa möơt thađnh töị trong UML metamodel Data Types khöng phaêi lađ kiïíu dûô liïơu cuêa ngûúđi sûê duơng Kiïíu dûô liïơu cuêa ngûúđi sûê duơng UML ặúơc ắnh nghôa búêi DataType lađ ăùơc biïơt hoâa cuêa Classifiers trong Core Data Types khöng ắnh nghôa cuâ phaâp nađo cho ngûúđi sûê duơng