Chỷỳ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 mử hũnh Backbone bao gửỡm:
_ Element (thaõnh tửở) : Element laõ mửồt thaõnh tửở trỷõu tỷỳồng ỳó mỷỏc cao nhờởt, tửớng quaỏt nhờởt trong caỏc thaõnh tửở UML.
_ ModelElement (thađnh tửị mử hũnh) : ModelElement lađ thađnh tửị ặỳơc ắnh danh trong mử hũnh vaõ laõ tửớng quaỏt hoỏa cờởp cao nhờởt thỷỏ hai cho caỏc thaõnh tửở khaỏc sau Element. ModelElement lađ thađnh tửị ặỳơc xaõc ắnh qua tùn (name).
_ 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).
Chûú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ó yùở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.
Chûú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ỷđ
_ 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)
Chûú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
Chûú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õ
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 nguyù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.
Chûú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ùớ.
DBinding
DBindingCollection
DBindingCollectionEvents
MSBind laõ mửồt component nửởi mửồt control cuóa Window vỳỏi mửồt recordset.
MSBind cung cờởp nhiùỡu dừch vuồ, trong àoỏ dừch vuồ gựổn control vaõo recordset laõ DBinding.
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õ
Chûú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ỷ chuyùớ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 quyùỡ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)
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
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ỷọ
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
Chûúng 2
NGÛÄ NGHễA VAÂ CUÁ PHAÁP CAÁC THAÂNH Tệậ TRONG UML (UML Semantic) 45
2.45. Caỏc kiùớu dỷọ liùồu trong Data Types
- ActionExpression : biùớu thỷỏc cho kùởt quaó laõ sỷồ thi haõnh mửồt Action.
- AggregationKind : kiùớu liùồt kù bao gửỡm caỏc giaỏ trừ none, aggregate, composite. Caâc giaâ trõ nađy xaâc ắnh loaơi Association.
- ArgListsExpression :biùớu thỷỏc traó vùỡ mửồt danh saỏch caỏc àửởi tỷỳồng (object).
- Boolean : kiùớu liùồt kù bao gửỡm hai giaỏ trừ false vaõ true.
- BooleanExpression : biùớu thỷỏc logic traó vùỡ kiùớu Boolean.
- CallConcurrencyKind : kiùớu liùồt kù bao gửỡm caỏc giaỏ trừ sequential, guarded, concurrent.
- ChangeableKind : kiùớu liùơt kù quy ắnh giaõ trừ mửơt AttributeLink hay mửơt LinkEnd coỏ thùớ thay àửới bao gửỡm caỏc none, frozen vaõ addOnly.
- Enumeration : ắnh nghụa kiùớu liùơt kù.
- EnumerationLiteral : ắnh nghụa mửơt giaõ trừ thuửơc mửơt kiùớu liùơt kù.
- Expression : biùớu thỷỏc traó vùỡ mửồt kiùớu thuửồc package DataType.
Chûúng 2
NGÛÄ NGHễA VAÂ CUÁ PHAÁP CAÁC THAÂNH Tệậ TRONG UML (UML Semantic) 46
- Integer : kiùớu nguyùn.
- IterationExpression : chuửợi traó vùỡ cờởu truỏc kiùớm soaỏt lựồp.