Tải bản đầy đủ (.pdf) (37 trang)

Ngữ nghĩa và cú pháp các thành tố trong UML

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (154.47 KB, 37 trang )

SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

41

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 22
2.1. Giúái thiïåu
UML bao gưìm UML metamodel vâ UML model. UML metamodel giûä
chûác nùng àõnh nghơa cấc thânh tưë vâ c phấp UML. UML model mư tẫ k hiïåu
cấc thânh tưë vâ cấc lûúåc àưì dûåa trïn UML metamodel.
UML metamodel bao gưìm cấc thânh tưë vâ mưåt sưë quy tùỉc vïì c phấp.
Ngoâi viïåc thânh tưë UML mang mưåt nghơa xấc àõnh, c phấp UML côn mư tẫ
cấch liïn kïët nhûäng thânh tưë nâo vúái nhau àïí tẩo ra nghơa gị. ÚÃ gốc àưå mư
hịnh hốa, cấc thânh tưë UML cố thïí phên chia lâm ba loẩi lâ cấc thânh tưë mư hịnh
hốa tơnh, cấc thânh tưë mư hịnh hốa tûúng tấc vâ cấc thânh tưë quan hïå cố chûác
nùng liïn kïët giûäa hai thânh tưë trïn vúái nhau. UML metamodel giûä vai trô hûúáng
dêỵn ngûúâ i sûã dng UML vïì c phấp trong mư hịnh hốa. Ngoâi ra, UML
metamodel côn àûúåc sûã dng búãi cấc nhâ phất triïín CASE tool àïí mư hịnh hốa
dûä liïåu cho mưåt CASE tool hưỵ trúå UML. Mư hịnh dûä liïåu nây sûã dng lẩi àõnh
nghơa thânh tưë UML àïí thiïët kïë cấc lúáp cú bẫn vâ bưí sung thïm cấc lúáp múái tuây
theo chûác nùng CASE tool cung cêëp cho ngûúâi sûã dng. UML model lâ biïíu
diïỵn k hiïåu ca cấc thânh tưë UML àưìng thúâi cung cêëp cho ngûúâi sûã dng cấc
lûúåc àưì UML c thïí àïí mư hịnh hốa cng nhû lâm ngưn ngûä giao tiïëp giûäa cấc
thânh viïn ca nhốm trong quấ trịnh phất triïín phêìn mïìm. Nối cấch khấc, cấc
lûúåc àưì trong UML model lâ thïí hiïån cuãa caác cuá phaáp tûúng ûáng trong UML
metamodel. UML metamodel àûúåc chia thânh nhiïìu gối thânh phêìn (package)
dûåa trïn nghơa ca c phấp àûúåc mư tẫ. Mưỵi gối àõnh nghơa cấc thânh tưë khấc
nhau vâ mư tẫ mưåt nhốm c phấp dûåa trïn cấc thânh tưë nây. Trong mưỵi gối lẩi cố
thïí bao gưìm cấc gối con. Viïåc phên chia nây gip cho àõnh nghơa ca UML
metamodel rộ râng hún, chó quan têm àïën cấc thânh tưë trong gối vâ loẩi bỗ cấc


thânh tưë khưng cêìn thiïët vûúåt ra khỗi phẩm vi ngûä nghơa cêìn mư tẫ ca gối. Gối
àûúåc biïíu diïỵn nhû sau
Hịnh 2-1 K hiïå u package



SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

42

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 23

2.2 Tưíng quan vïì cấc loẩi quan hïå giûäa cấc thânh tưë
Trong quấ trịnh àõnh nghơa thânh tưë cêìn phẫi mư tẫ cấc mưëi liïn hïå giûäa
thânh tưë nây vúái cấc thânh tưë khấc nïn UML sûã dng mưåt têåp húåp cấc quan hïå.
Mưỵi quan hïå cố mưåt nghơa xấc àõnh. Cấc quan hïå nây bao gưìm quan hïå tưíng
quất hốa (generalization), quan hïå kïët húåp (association), quan hïå ph thåc
(dependency).
Mưỵi thânh tưë àïìu cố ngûä nghơa riïng. Àïí biïíu diïỵn thânh tưë vâ quan hïå
giûäa cấc thânh tưë, UML sûã dng cấc k hiïåu riïng. Mưåt thânh tưë cố k hiïåu nhû
sau
Tïn thânh tưë
Cấc thåc tđnh
Hịnh 2-2 K hiïåu thânh tưëá
Phêìn sau trịnh bây sú lûúåc cấc loẩi quan hïå. Chi tiïët vïì cấc loẩi quan hïå
giûäa cấc thânh tưë àûúåc trịnh bây trong chûúng 3 phêìn 3.5.2.4.3.





SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

43

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 24

2.3. Quan hïå tưíng quất hốa (generalization)
Generalization lâ quan hïå giûäa mưåt thânh tưë tưíng quất hún vâ mưåt thânh tưë
àùåc biïåt hún. Thânh tưë àùåc biïåt hún chûáa àêìy à cấc àùåc àiïím ca thânh tưë tưíng
quất hún vâ ngoâi ra côn cố nhûäng thưng tin riïng. Quan hïå tưíng quất hốa cố k
hiïåu nhû sau:
Thânh tưë B
Thânh tưë A
Hịnh 2-3 Vđ d vïì quan hïå tưíng quất hốa
2.3.1. Quan hïå kïët húåp (association)
Quan hïå kïët húåp thïí hiïån liïn hïå vïì mùåt ngûä nghơa giûäa hai thânh tưë. Nghơa lâ
thânh tưë nây cố sûã dng hay nhêån biïët cấc thưng tin ca thânh tưë kia.
Association cố thïí bao gưìm hai loẩi con lâ quan hïå ngûä nghơa thưng thûúâng
(association)vâ quan hïå toân thïí - bưå phêån (aggregation). Quan hïå ngûä nghơa
thưng thûúâng Hổc phêìn múã Sinh viïn
0..*
àùng k
0..*
multiplicity association (quan hïå kïët húåp) Möåt sinh viïn àùng kyá nhiïìu hổc phêìn
múã. Mưåt hổc phêìn múã cố thïí àûúåc àùng k búãi nhiïìu sinh viïn.
Hịnh 2-4 Vđ d vïì quan hïå kïët húåp (associiatiion)

á




SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

44

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 25
2.5. Quan hïå ph thåc (dependency)
Dpendency thïí hiïån sûå ph thåc chûác nùng ca mưåt hay nhiïìu thânh tưë
nhêån vâo mưåt hay nhiïìu thânh tưë cho. Dependency kếm chi tiïët vïì mûác àưå ngûä
nghơa hún quan hïå kïët húåp vâ thûúâng sûã dng àïí mư tẫ sûå ph thåc lêỵn nhau
giûäa cấc gối.
Tïn gối nhêån
Tïn gối cho
Dependency Dependency mư tẫ ph thåc giûäa gối nhêån vâo gối cho.
Hịnh 2-6 Vđ d ca quan hïå ph thåc (Dependency)
Quan hïå toân thïí – bưå phêån: thânh tưë nây chûáa thânh tưë kia theo
nghôa vêåt lyá.
Slider
Header
Panel
Window 2 1
+ScrollBar 1 1 +WindowTittle 1 1
+WindowClient
quan hïå toân thïí -bưå phêån (aggregation) tïn tham chiïëu (name)

Hịnh 2-5 Vđ d vïì quan hïå toân thïí-bưåä phêån (aggregatiion)




SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

45

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 26

2.6. Tưíng quan vïì cấc thânh tưë vâ cêëu trc UML metamodel
2.6.1. Phên loẩi thânh tưë trong UML metamodel
ÚÃ gốc àưå àõnh nghơa, cấc thânh tưë trong UML cố thïí àûúåc chia lâm hai
loẩi lâ thânh tưë trûâu tûúång vâ thânh tưë c thïí. Cấc thânh tưë trûâu tûúång cố tđnh
tưíng quất cao giûä chûác nùng tham gia vâo àõnh nghơa cấc thânh tưë khấc. Cấc
thânh tưë c thïí thûúâng cố quan hïå tưíng quất hốa qua nhiïìu têìng vúái cấc thânh tưë
trûâu tûúång, ngoâi ra côn cố cấc quan hïå kïët húåp (association) vúái cấc thânh tưë
khấc. Chó cấc thânh tưë c thïí múái cố k hiïåu trong UML model vâ àûúåc sûã dng
trong mư hịnh hốa.
2.6.2. Cêëu trc UML metamodel
UML metamodel bao gưìm ba gối (package) chđnh nhû sau
Hịnh 2-7 Cấc package chđnh ca UML
Gối nïìn tẫng (Foundation) lâ gối bao gưìm phêìn lúán cấc thânh tưë trûâu
tûúång vâ mưåt sưë thânh tưë c thïí mang tđnh chêët cưët lội. Cấc thânh tưë trong gối
nây àûúåc sûã dng búãi hai gối thânh tưë hânh vi (BehavioralElements) vâ quẫn trõ
mư hịnh (ModelManagement).
BehavioralElements lâ gối àõnh nghơa cấc thânh tưë sûã dng cho viïåc mư tẫ

quấ trịnh vêån àưång ca mưåt thânh tưë hay tûúng tấc giûäa cấc thânh tưë trong thïë
giúái thûåc.
Model Management lâ gối àõnh nghơa cấc thânh tưë cho viïåc quẫn l mư
hịnh ca ngûúâi sûã dng.




SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

46

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 27

2.7. Package Foundation (gối nïìn tẫng)
Foundation àõnh nghơa nhûäng thânh tưë UML cú bẫn. Foundation bao gưìm
ba gối con lâ gối cưët lội (Core), gối cấc kiïíu dûä liïåu (Data Types) vâ gối cú chïë
múã rưång (Extension Mechanism).
Hịnh 2-8 Gối nïìn tẫng ca UML metamodell
Core àõnh nghơa nhûäng thânh tưë cưët lội bao gưìm cẫ cấc thânh tưë quan hïå
vâ àa sưë lâ úã mûác trûâu tûúång.
Extension Mechanism àõnh nghơa cú chïë múã rưång cho cấc thânh tưë UML
àïí bưí sung cấc thânh tưë múái.
Data Types àõnh nghơa cấc kiïíu dûä liïåu àûúåc sûã dng trong UML
metamodel. Cấc thåc tđnh ca cấc thânh tưë trong UML meatamodel cố kiïíu dûä
liïåu thåc vïì Data Types.
2.7.1. Package Core (gối cưët lội)
Core bao gưìm cấc thânh tưë cưët lội vâ àûúåc mư tẫ búãi nùm mư hịnh lâ sûúân

(Backbone), quan hïå (Relationships), ph thåc (Dependencies), Classifiers vâ
bưí sung (Auxiliary Elements).
Core giúái thiïåu c phấp cho mư hịnh hốa tơnh, khưng quan têm àïën quấ
trịnh vêån àưång vâ tûúng tấc giûäa cấc àưëi tûúång trong thïë giúái thûåc.




SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

47

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 28
2.8. Mư hịnh Backbone (sûúân)
Backbone ch ëu àõnh nghơa thânh tưë Classifier. Classifier lâ thânh tưë
trûâu tûúång àống vai trô tưíng quất hốa trûåc tiïëp ca phêìn lúán cấc thânh tưë c thïí
khấc. Ngoâi ra, cấc thânh tưë c thïí cú bẫn ca UML àûúåc àõnh nghơa trong Core
bao gưìm thåc tđnh (attribute), phûúng thûác (operation) vâ cấch thûåc hiïån
phûúng thûác (method), tham sưë (parameter) vâ râng båc (constraint).
Àïí phc v cho quấ trịnh àõnh nghơa Classifier, UML àûa ra cấc thânh tưë
trûâu tûúång cố vai trô lâ tưíng quất hốa (trûåc tiïëp hay giấn tiïëp) ca Classifier. Cấc
thânh tưë nây cố quan hïå vúái nhau vâ cố quan hïå vúái Classifier àûúåc mư tẫ trong
mư hịnh Backbone bao gưìm:
_ Element (thânh tưë) : Element lâ mưåt thânh tưë trûâu tûúång úã mûác cao nhêët, tưíng
quất nhêët trong cấc thânh tưë UML.
_ ModelElement (thânh tưë mư hịnh) : ModelElement lâ thânh tưë àûúåc àõnh danh
trong mư hịnh vâ lâ tưíng quất hốa cêëp cao nhêët thûá hai cho cấc thânh tưë khấc sau
Element. ModelElement lâ thânh tưë àûúåc xấc àõnh qua tïn (name).

_ Namespace (khưng gian cấc thânh tưë tham chiïëu theo tïn): Namespace lâ têåp
húåp cấc thânh tưë ModelElement vúái àiïìu kiïån àõnh danh ca mưåt ModelElement
trong mưåt Namespace lâ duy nhêët.
_ ElementOwnership: ElementOwnership àõnh nghơa têìm vûåc (visibility) ca
mưåt thânh tưë chûáa trong khưng gian cấc thânh tưë (Namspace).
ElementOwnership quy àõnh têìm vûåc ca mưåt thânh tưë àûúåc giúái hẩn trong
Namespace (chó cố thïí àûúåc tham chiïëu búãi cấc thânh tưë trong Namespace) hay
vûúåt khỗi Namespace (cố thïí àûúåc tham chiïëu búãi cấc thânh tưë ngoâi
Namespace).




SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

48

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 29
_ GeneralizableElement (thânh tưë cố thïí tưíng quất hốa hay àùåc biïåt hốa):
GeneralizableElement lâ cấc thânh tưë cố thïí tham gia vâo quan hïå tưíng quất hốa
hay àùåc biïåt hốa. Do àố mưåt GeneralizableElement cố thïí lâ tưíng quất hốa hay
àùåc biïåt hốa ca mưåt GeneralizableElement khấc.
_ Feature (àùåc tđnh) : mư tẫ cấc àùåc tđnh ca mưåt Classifier ch ëu lâ têìm vûåc
(visibility) ca àùåc tđnh. Têìm vûåc nây xấc àõnh mưåt àùåc tđnh ca Classifier cố thïí
àûúåc tham chiïëu búãi cấc Classifier khấc hay chó àûúåc sûã dng búãi chđnh
Classifier chûáa àùåc tđnh àố.
_ StructuralFeature (àùåc tđnh cêëu trc) : àûúåc thûâa kïë tûâ Fearture,
StructuralFeature mư tẫ àùåc tđnh vïì mùåt cêëu trc ca mưåt Classifier, mư tẫ cêëu

trc nây cố thïí thay àưíi hay cưë àõnh qua thåc tđnh changeability ca
StructuralFeature. StructualFeature cố mưåt àùåc biïåt hốa lâ thåc tđnh (Attribute).
_ BehavioralFeature (àùåc tđnh hânh vi) Àûúåc kïë thûâa tûâ Feature vâ biïíu diïỵn cấc
àùåc tđnh vïì mùåt hânh vi ca mưåt Classifier àưìng thúâi mư tẫ àùåc tđnh hânh vi nây
cố ẫnh hûúãng lïn trẩng thấi ca Classifier hay khưng qua thåc tđnh isQuery.
BehavioralFeature gưìm hai àùåc biïåt hốa lâ phûúng thûác (Operation) vâ Method.




SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

49

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 30
Classifier cố khẫ nùng chûáa cấc thânh tưë khấc. Cấc thânh tưë nây cố àõnh
danh duy nhêët trong Classifier vâ cố têìm vûåc cho cấc thânh tưë bïn ngoâi tham
chiïëu àïën qua thåc tđnh visibility trong Lâ àùåc biïåc hốa ca thânh tưë trûâu tûúång
ModelElement, Classifier chõu ẫnh hûúãng búãi cấc râng båc gùỉn vúái Classifier.
Lâ àùåc biïåt hốa ca GeneralizableElement, Classifier cố thïí tham gia vâo quan
hïå tưíng quất hốa. GeneralizableElement lâ thânh tưë cố thïí tham gia vâo quan hïå
tưíng quất hốa àûúåc mư tẫ rộ râng hún trong mư hịnh Relationships. Classifier
bao gưìm cấc àùåc àiïím cêëu trc vâ hânh vi, c thïí lâ thåc tđnh (Attribute),
phûúng thûác (Operation) vâ Method. Ngoâi ra, Mư hịnh Backbone côn àõnh
nghơa cấc thânh tưë c thïí àống vai trô quan trổng bêåc nhêët lâ thåc tđnh
(Attribute), phûúng thûác (Operation), mư tẫ phûúng thûác (Method), tham sưë
(Parameter) vâ râng båc (Constraint).


Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 31
_ Attribute (thåc tđnh) : Attribute mư tẫ cấc giấ trõ mâ mưåt Classifier cố thïí sûã
dng àïí thïí hiïån trẩng thấi. Attribute cố cấc thåc tđnh chđnh lâ tïn (name), giấ
trõ khúãi àêìu (initial value).
_ Operation (phûúng thûác) : Operation lâ phûúng thûác cố thïí àûúåc u cêìu tûâ
mưåt Classifier chûáa Operation àïí tấc àưång lïn Classifier nây. Operation cố quan
hïå kïët húåp (association) vúái tham sưë (parameter) nghơa lâ Operation sûã dng mưåt
têåp tham sưë àïí khúãi àêìu cho viïåc thi hânh. Mưåt Operation cố thïí àûúåc kïë thûâa tûâ
caác Operation khaác.



50
_ Method (mư tẫ phûúng thûác) : Method cố quan hïå kïët húåp vúái phûúng thûác
(Operation) mư tẫ c thïí cấch thûác thûåc hiïån mưåt phûúng thûác bao gưìm cấc quy
trịnh vâ cấc thåt toấn. Method cố tấc àưång àïën kïët quẫ ca phûúng thûác.
_ Parameter (tham sưë) : Parameter lâ tham sưë cố thïí thay àưíi, gúãi vâ nhêån. Mưåt
Parameter cố thïí bao gưìm tïn, kiïíu dûä liïåu vâ quan hïå vúái cấc thânh tưë khấc
giao tiïëp vúái nố. Parameter àûúåc sûã dng trong mư tẫ phûúng thûác (Operation),
mêỵu (Templates)...
_ Constraint (râng båc) : Constraint lâ cấc àiïìu kiïån vïì mùåt ngûä nghơa hay cấc
giúái hẩn cho mưåt thânh tưë, cố thïí diïỵn tẫ úã dẩng vùn bẫn hay mưåt biïíu thûác logic
ca mưåt ngưn ngûä mư tẫ râng båc. Ngoâi viïåc àõnh nghơa thânh tưë râng båc
Constraint, UML côn àõnh nghơa mưåt ngưn ngûä cho mư tẫ râng båc lâ ngưn ngûä
râng båc àưëi tûúång (Object Constraint Language). Giûäa cấc Classifier cố quan
hïå tưíng quất hốa. Do Classifier lâ thânh tưë trûâu tûúång nïn têët cẫ cấc thânh tưë
thûâa kïë Classifier àïìu cố tđnh chêët nây.
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V


Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 32
2.12. Mư hịnh Relationships (cấc quan hïå)
Mư hịnh Relationships àõnh nghơa cấc quan hïå giûäa cấc thânh tưë UML bao
gưìm hai loẩi quan hïå cú bẫn lâ quan hïå tưíng quất hốa (generalization), quan hïå
kïët húåp (association).
Quan hïå tưíng quất hốa (generalization) lâ sûå liïn hïå giûäa hai thânh tưë àùåc biïåt
hún vâ tưíng quất hún. Àõnh nghơa quan hïå kïët húåp (Association) vâ Classifier
tham gia vâo mưëi kïët húåp (Ass ociationEnd).
Hịnh 2-10 Mưâ hịnh Rellatiionshiips
2.12.1. Quan hïå tưíng quất hốa (generalization)
Mưåt quan hïå tưíng quất hốa àûúåc àõnh nghơa lâ sûå liïn hïå giûäa hai thânh tưë.
Thânh tưë àùåc biïåt hún gổi lâ thânh tưë con (child) vâ thânh tưë tưíng quất hún lâ
thânh tưë cha (parent). Thânh tưë con tham gia vâo quan hïå tưíng quất hốa. Thânh
tưë cha tham gia vâo quan hïå tưíng quất hốa.
Hịnh 2-11 Àõnh nghơa quan hïå tưíng quất hốa trong mưâ hịnh Rellatiionshiips



SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

51

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 33
2.13. Quan hïå kïët húåp (Association)
Quan hïå kïët húåp mö tẫ nhiïìu Classifier tham gia vâo nhiïìu mưëi kïët húåp

(AssociationEnd). Association thûúâng gùåp lâ quan hïå kïët húåp cố 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ư
tẫ sûå liïn hïå vïì ngûä nghơa giûäa cấc Classifier. Mưåt quan hïå kïët húåp cố tưëi thiïíu
hai mưëi kïët húåp (AssociationEnd). Mưỵi mưëi kïët húåp cố liïn hïå vúái mưåt thâ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 VÂ C PHẤP CẤC THÂ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 cố tđnh chêët ca mưåt
lúáp vûâa cố tđnh chêët ca mưåt quan hïå kïët húåp. Lúáp hïët húåp nưëi mưåt têåp cấc
classifier vúái nhau vâ cố cấc thåc tđnh riïng àùåc trûng cho quan hïå giûäa cấc
classifier nây. Cưng viïåc -tiïìn lûúng Nhên sûå 1..* Cưng ty 0..* Cưng viïåc lâ mưåt
associationclass. Thåc tđnh tiïìn lûúng àùåc trûng cho mưëi quan hïå giûäa nhên sûå
vâ cưng ty.
Hịnh 2-13 Vđ d lúáp kïët húåp
á




SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

52

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML

(UML Semantic) 35
2.15. Mư hịnh Classifiers (cấc àùåc biïåt hốa ca classifiers)
Mư hịnh Classifiers mư tẫ cấc àùåc biïåt hốa ca Classifier bao gưìm cấc
thânh tưë lúáp (Class), giao diïån (Interface), kiïìu dûä liïåu (DataType), nt (Node)
vâ thânh phêìn (Component) Component bao gưìm nhiïìu thânh ModelElement.
Do thâ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 thânh tưë àấng quan têm lâ vâ Node bao nhiïìu
Component. lâ cấc nt xûã Component lâ thânh àống gối xûã l vâ cêëp cấc dõch
Hịnh 2-14 Cấc lúáp àùåc biïåt ca Cllassiifiiers

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 36
2.16. Class (lúáp)
Class lâ têåp húåp cấc àưëi tûúång cố cng cấc thåc tđnh, hânh àưång vâ ngûä
nghơa. Mưåt Class cố thïí lâ trûâu tûúång (abstract)nghơa lâ khưng cố thïí hiïån (àưëi
tûúång)nâo àûúåc tẩo ra trûåc tiïëp tûâ nố. Class lâ thânh tưë c thïí cố biïíu diïỵn k
hiïåu trïn UML model. Lâ àùåc biïåt hốa ca Classifier, Class bao gưìm cấc thåc
tđnh (Attribute), phûúng thûác (Operation) vâ Method. Giûäa cấc Class cố quan hïå
tưíng quất hốa, quan hïå kïët húåp.
Kïë toấn viïn



SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

53

Thû k
Phô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 thåc
Nhên viïn bao gưìm hai àùåc biïåt hốa lâ kiïím toấn viïn vâ thû k. Mưỵi nhên viïn
thûåc hiïån cấc cưng viïåc vâ thåc mưåt phông ban. tưíng quất hốa (generalization)
quan hïå kïët húåp (association) thåc tđnh phûúng thûác
Hịnh 2-15 Vđ d vïì lúáp (Cllass) vâ quan hïåä giûäa cấ c lúáp

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 37
2.17. Interface (giao diïån)
Iterface lâ têåp cấc phûúng thûác (operation) ca mưåt Classifier. ưỵi Interface
cung cêëp mưåt dõch v ca Classifier bao gưìm mưåt nhốm cấc operation cố quan
hïå vúái Interface àố. Mưỵi Classifier cố thïí cung cêëp nhiïìu dõch v khấc nhau qua
cấc Interface khấc nhau.
2.17.1. DataType (kiïíu dûä liïåu)
DataType mư tẫ kiïíu dûä liïåu ca ngûúâi sûã dng. UML khưng àõnh nghơa
cấc kiïíu dûä liïåu c thïí. Viïåc àõnh nghơa cấc kiïíu dûä liïåu ca ngûúâi sûã dng ty
thåc vâo mưi trûúâng phất triïín phêìn mïìm nïn thûúâng cấc CASE tool àẫm nhêån
chûác nùng àõnh nghơa cấc kiïíu dûä liïåu nây.
2.17.2. Node (nt)
Node lâ thânh tưë àẩi diïån cho mưåt tâi ngun vêåt l cố bưå nhúá vâ khẫ
nùng xûã l tđnh toấn. Cấc node thûúâng àẩi diïån cho cấc mấy tđnh vâ mư tẫ viïåc
phên bưë cấc mấy tđnh trïn mẩng.





SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

54

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 38
2.38. Component (thânh phêìn)
Component lâ mưåt phêìn riïng biïåt úã mûác vêåt l ca hïå thưëng.
Component àống gối cấc phûúng thûác xûã l vâ cung cêëp têåp cấc dõch v
xûã l nây qua mưåt têåp giao diïån (interface)khấc nhau. Mưỵi giao diïån bao gưìm
nhiïìu phûúng thûác khấc nhau àïí phc v cho mưåt mc àđch c thïí. Cấc phûúng
thûác cố thïí lâ cấc àoẩn mậ thi hânh àûúåc, cấc script hay lïånh. Mưåt component
thûúâng cung cêëp nhiïìu loẩi dõch v khấc nhau liïn quan àïën mưåt àưëi tûúång c
thïí.
DBinding
DBindingCollection
DBindingCollectionEvents
MSBind lâ möåt component nöëi möåt control cuãa Window vúái möåt recordset.
MSBind cung cêëp nhiïìu dõch v, trong àố dõch v gùỉn control vâo recordset lâ
DBinding.
Giao diïån (interface) component MSBind <<COM>
Hịnh 2-16 Vđ d vïì thânh phêìn (component) vâ giao diïån (iinterface)
2.38.1. Mư hịnh Dependencies (cấc quan hïå ph thåc)
Dependency mư tẫ sûå ph thåc chûác nùng giûäa hai thânh phêìn cho vâ
thânh phêìn nhêån. Thânh phêìn cho àống vai trô cung cêëp dõch v cho thânh phêìn
nhêån. Dependency àõnh nghơa ph thåc giûäa hai thânh tưë ModelElement nïn
hêìu nhû têët cẫ cấc thânh tưë c thïí thûâa kïë ModelElement àïìu cố thïí cố quan hïå
ph thåc.
Quan hïå ph thåc cố cấc àùåc biïåt hốa lâ gùỉn (Binding), trûâu tûúång hốa

(Abstraction), sûã dng (Usage) vâ cho phếp (Permisson). Quan hïå ph thåc lâ
quan hïå giûäa thânh tưë cho vâ thânh tưë nhêån, c thïí lâ giûäa hai ModelEleme Cấc
àùåc biïåt hốa ca quan hïå ph thåc
Hịnh 2-17 Mưâ hịnh Dependenciies (cấc quan hïåä phuå thuöåc)




SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

55

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂ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) lâ thânh phêìn cho
ca Dependency vúái mưåt thânh phêìn àûúåc tẩo tûâ Template àố lâ thânh phêìn
nhêån ca Dependency. Binding bao gưìm cấc àưëi sưë ph húåp vúái cấc tham sưë ca
Template.
2.39.1. Abstraction (trûâu tûúång hốa)
Abstraction mư tẫ mưëi liïn hïå giûäa cấc thânh tưë úã cấc mûác trûâu tûúång hốa khấc
nhau. Vđ d nhû chuín mưåt khấ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 VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 40
2.40. Usage (sûã duång)
Usage laâ quan hïå giûäa mưåt thânh tưë ModelElement cố sûã dng phûúng

thûác ca mưåt thânh tưë ModelElement khấc.
2.40.1. Permisson (cho phếp)
Permisson cung cêëp quìn hẩn cho mưåt thânh tưë ngoâi khưng gian cấc
thânh tưë (Namespace) tham chiïëu cấc thânh tưë khấc trong Namespace. Thânh tưë
nhêån lâ mưåt ModelElement thânh tưë cho bùỉt båc lâ mưåt Namespace.
2.41.2. Mư hịnh AuxiliaryElements (cấc thânh tưë bưí sung)



56
Mưåt ModelElement cố thïí quan hïå vúái cấc ModelElement khấc qua viïåc
sûã dng cấc ModelElement khấc lâm tham sưë. Khi àố ModelElement nây àûúåc
go õ lâ mưåt Template. Mưåt tham sưë mêỵu (TemplateParameter) liïn hïå vúái mưåt
ModelElement theo nghơa lâ Template Parameter nây tham chiïëu àïën giấ trõ cố
kiïíu lâ ModelElement. Thânh tưë biïíu diïỵn chûáa thưng tin cho biïíu diïỵn trûåc qua
n ca mưåt thânh tưë ModelElement.
Hịnh 2-18 Mưâ hịnh AuxiilliiaryEllements (cấc thânh phêìn bưí sung)
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 41
2.41. TemplateParameter (tham sưë cho mêỵu)
Tham sưë cho mêỵu lâ tham sưë cho cấc thânh tưë Template. Vđ d nhû trong
mưåt mưi trûúâng ngưn ngûä lêåp trịnh hưỵ trúå Template, ta cố 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 thânh tưë ModelElement vúái cấc tham sưë (cấc tham sưë
nây lâ cấc thânh tưë ModelElement ). ModelElement lâ mưåt Template khi sûã
dng đt nhêët mưåt TemplateParameter.


Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 42
2.42. PresentationElement (thânh tưë biïíu diïỵn trûåc quan)
PresentationElement mư tẫ thưng tin cho viïåc biïíu diïỵn cấc
ModelElement. UML khưng àõnh nghơa c thïí cấc thưng tin nây mâ àïí cho cấc
CASE tool tûå do àõnh nghôa.



SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

57

2.42.1. Package Extension Mechanisms (gối cú chïë múã rưång)
Khấi quấ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 cấc thânh tưë vúái ngûä nghơa múái. Package nây
àõnh nghơa Stereotypes, Constraint (râng båc) vâ Tagged Value (thễ giấ trõ) lâ
ba cú chïë múã rưång ca UML. UML cung cêëp cú chïë múã rưång àïí thïm cấc thânh
tưë múái cho cấc lơnh vûåc àùåc biïåt mâ UML chín khưng àõnh nghơa. Cấc lơnh vûåc
cêìn cấc khấi niïåm múái cố thïí tûå àõnh nghơa cấc khấi niïåm nây qua cú chïë múã
rưång UML. Viïåc múã rưång nây khưng àún giẫn lâ gùỉn tïn Stereotypes vâo thânh
tưë vâ quy àõnh ngûä nghơa múái do àưi khi côn cố cấc râng båc ngûä nghơa trong
thïë giúái thûåc. Do àố cấc stereotype thûúâng chûáa cấc râng båc vâ cấc giấ trõ thễ.
Mưỵi StereoType quy àõnh loẩi thânh tưë ModelElement mâ stereotype nây cố thïí
tấc àưång. Thânh tưë àûúåc tấc àưång nây lâ cấc thânh tưë trong UML metamodel vđ
d nhû Class, Association, Component... Khi gùỉn stereotype vâo cấc thânh tưë
nây thị àûúåc thânh tưë múái thûâa kïë thânh tưë c vâ cố tïn ca stereotype. Vđ d
nhû Component cố cấc stereotype lâ “document”,”executable”,”table”. Cấc

stereotype nây bẫn chêët cng lâ component nhûng “document” lâ mưåt thânh
phêìn (component) chûáa cấc sûu liïåu, “executable” lâ thânh phêìn chûáa cấc dõch
v xûã l côn “table” chûáa cấc bẫng trong mưåt cú súã dûä liïåu.
Stereotype bao gưìm râng båc (Constraint), cấc thễ giấ trõ (Tagged Value)
tấc àưång lïn ModelElement vâ cho kïët quẫ tûúng tûå nhû àêåc biïåt hốa. Loẩi thânh
tưë mâ Stereotype cố thïí ấp dng àûúåc xấc àõnh qua thåc tđnh baseClass, vđ d
nhû Class, Association... nối chung lâ tïn cấc thânh tưë trong UML
Hịnh 2-19 Mư hịnh cú chïëá múã rưång

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 43
2.43. Constraint (râng båc)
Lâ cấc râng båc ngûä nghơa àûúåc gùỉn vúái mưåt thânh tưë cêìn múã rưång àïí ấp
àùåt cấc àiïìu kiïån lïn thânh tưë nây vâ cố tấc dng thay àưíi hay giúái hẩn ngûä
nghơa. Thânh tưë múã rưång phẫi thỗa mận cấc râng båc nây àïí àẫm bẫo sûå chđnh



58
xấc vïì ngûä nghơa. Constraint cng cố thïí àûúåc gùỉn vúái stereotypes àïí tấc àưång
lïn cấc thânh tưë cố quan hïå vúái stereotypes nây.
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

Lâ cú chïë phên loẩi mưåt thânh tưë theo quan hïå kïët húåp ca thânh tưë nây
vúái cấc stereotype. Mưỵi stereotype gùỉn mưåt thânh tưë sệ cho mưåt thânh tưë múái
thûâa kïë thânh tưë c ngoâi ra cố thïm cấc thưng riïng. Stereotype chđnh lâ sûå
khấc nhau vïì ngûä nghơa ca hai thânh tưëù cng cêëu trc. Vđ d nhû trong quy
trịnh phất triïín phêìn mïìm Rational Unified Process, cấc stereotype cho thânh tưë
Class àûúåc àõnh nghơa thïm trong àố cố stereotype “boundary”. Stereotype nây

lâ mưåt Class àống vai trô giao tiïëp vúái cấc tûúng tấc bïn ngoâi hïå thưëng. Mc
àđch ca múã rưång nây lâ phên loẩi cấc Class theo chûác nùng phc v cho quấ
trịnh phên tđch.
Thiïët kïë giao diïån nguúâi sûã duång: Giao diïån ngûúâi sûã dng phên tđch Class vúái
stereotype lâ “boundary”. Class chín ca UML.
Hịịnh 2-20 Vđ d vïì stereotype

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 44

2.44. Tagged Value (thễ giấ trõ)
Lâ cấc thåc tđnh àđnh kêm cho mưåt thânh tưë múã rưång. Tagged Value cố
thïí chûáa nhûäng thưng tin bêët k cêìn thiïët bưí sung cho mưåt thânh tưë múái.
2.44.1. Cấc kiïíu dûä liïåu trong UML metamodel (Data Types)
Khấi quất
DataTypes àõnh nghơa cấc kiïíu dûä kiïåu dng riïng trong UML metamodel
nghơa lâ thåc tđnh ca cấc thânh tưë trong UML metamodel cố cấc kiïíu dûä liïåu
trong Data Types. Data Types cêìn thiïët cho sûå tham khẫo sêu hún vïì cấc thåc
tđnh vâ nghơa mưỵi thåc tđnh ca mưåt thânh tưë trong UML metamodel. Data
Types khưng phẫi lâ kiïíu dûä liïåu cuãa ngûúâi sûã duång. Kiïíu dûä liïåu ca ngûúâi sûã
dng UML àûúåc àõnh nghơa búãi DataType lâ àùåc biïåt hốa ca Classifiers trong
Core. Data Types khưng àõnh nghơa c phấp nâo cho ngûúâi sûã dng.



SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

59


Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 45
2.45. Cấc kiïíu dûä liïåu trong Data Types
- ActionExpression : biïíu thûác cho kïët quẫ lâ sûå thi hânh mưåt Action.
- AggregationKind : kiïíu liïåt kï bao gưìm cấc giấ trõ none, aggregate,
composite. Cấc giấ trõ nây xấc àõnh loẩi Association.
- ArgListsExpression :biïíu thûác trẫ vïì mưåt danh sấch cấc àưëi tûúång (object).
- Boolean : kiïíu liïåt kï bao gưìm hai giấ trõ false vâ true.
- BooleanExpression : biïíu thûác logic trẫ vïì kiïíu Boolean.
- CallConcurrencyKind : kiïíu liïåt kï bao gưìm cấc giấ trõ sequential, guarded,
concurrent.
- ChangeableKind : kiïíu liïåt kï quy àõnh giấ trõ mưåt AttributeLink hay mưåt
LinkEnd cố thïí thay àưíi bao gưìm cấc none, frozen vâ addOnly.
- Enumeration : àõnh nghơa kiïíu liïåt kï.
- EnumerationLiteral : àõnh nghơa mưåt giấ trõ thåc mưåt kiïíu liïåt kï.
- Expression : biïíu thûác trẫ vïì mưåt kiïíu thåc package DataType.

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 46
- Integer : kiïíu ngun.
- IterationExpression : chỵi trẫ vïì cêëu trc kiïím soất lùåp.
- LocationReference : võ trđ cho viïåc chên mưåt use case vâo mưåt use case khaác.



SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

60


- Mapping : biïíu thûác chuín àưíi cấc ModelElement.
- MappingExpression : biïíu thûác trẫ vïì kiïíu Mapping.
- MessageDirectionKind : kiïíu liïåt kï bao gưìm cấc giấ trõ activation vâ return.
- Muliplicity : têåp cấc sưë ngun khưng êm.
- MultiplicityRange : miïìn giấ trõ söë nguyïn khöng êm.
- Name : àõnh danh cho mưåt ModelElement.
- ObjectSetExpression : biïíu thûác trẫ vïì danh sấch cấc àưëi tûúång.
- OperationDirectionKind : kiïíu liïåt kï quy àõnh mưåt Operation lâ àûúåc u cêìu
hay àûúåc cung cêëp búãi mưåt Classifier bao gưìm cấc giấ trõ provide vâ require.
- ParameterDirectionKind : kiïíu liïåt kï bao gưìm cấc giấ trõ in, inout, out vâ
return.
- Primitive : àõnh nghơa kiïíu dûä liïåu àún.
- ProcedureExpression : biïíu thûác trẫ vïì mưåt Procedure.
- ProgrammingLanguageType : kiïíu dûä liïåu trong mưåt ngưn ngûä lêåp trịnh.
- PseudostateKind : kiïíu liïåt kï bao gưìm cấc giấ trõ initial, deepHistory,
shallowHistory, join, fork, branch, junction vaâ final.
- ScopeKind : kiïíu liïåt kï bao gưìm cấc giấ trõ classifier vâ instance.
- String : chỵi vùn bẫn.
- Structure : kiïíu dûä liïåu cố cêëu trc.
- Time : kiïíu giúâ.
- TimeExpression : biïíu thûác kiïíu Time.
- UnlimitedInteger : kiïíu ngun khưng giúái hẩn.
- Uninterpreted : kiïíu khưng xấc àõnh.
- VisibilityKind : kiïíu liïåt kï bao gưìm cấc giấ trõ public, protected vâ private.

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 47
2.47. Package Behavioural Elements (gối thânh tưë hânh vi)

Behavioral Elements bao gưìm cấc thânh tưë cng vúái cấc c phấp cho mư
hịnh hốa hânh vi vâ tûúng tấc. BehavioralElements bao gưìm nùm gối lâ
Common Behavior (hânh vi tưíng quất), Collaborations (mư hịnh cưång tấc), Use



61
Cases (mư hịnh chûác nùng), State Machines (mư hịnh trẩng thấi) vâ Activity
Graphs (mư hịnh hoẩt àưång).
Hịnh 2-21 Cấc thânh tưëá hânh vi
CommonBehavior àõnh nghơa cấc thânh tưë hânh vi cú bẫn.
Collaboration àõnh nghơa cấc thân h tưë vâ c phấp cho lûúåc àưì
Collaboration vâ Sequence úã UML model. Collaboration mư tẫ tûúng tấc
giûäa cấc thânh tưë àïí thûåc hiïån mưåt tấc v c thïí.
Use Cases bao gưìm cấc thânh tưë mư hịnh hốa chûác nùng hïå thưëng cho
tûâng loẩi ngûúâi sûã dng. Use Cases giûä vai trô àõnh nghơa cho lûúåc àưì Use Case
úã UML model.
StateMachine bao gưìm cấc khấi niïåm cho mư hịnh hốa quấ trịnh thay àưíi
trẩng thấi ca mưåt thânh tưë. StateMachine àõnh nghơa lûúåc àưì StateChart trong
UML model.
Activity Graphs lâ dẩng àùåc biïåt ca StateMachine, àûúåc àõnh nghơa dûåa
trïn StateMachine, mư tẫ quấ trịnh hoẩt àưång ca mưåt hay nhiïìu thânh tưë.
Activity Graphs àõnh nghơa lûúåc àưì Activity Graph trong UML model.
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 48
2.48. Package Common Behavior (gối hânh vi tưíng quất)
Common Behavior àõnh nghơa cấc thânh tưë cú bẫn cho mư hịnh hốa tûúng

tấc. Common Behiavior ỷỳồc mử taó bựỗng caỏc mử hũnh Signals(tủn hiùồu), Actions
(taỏc àưång), Instances and Links (thïí hiïån vâ liïn kïët).
2.48.1. Mư hịnh Signals (tđn hiïåu)
Mư hịnh nây ch ëu àõnh nghơa thânh tưë Signal (tđn hiïåu). Tđn hiïåu àûúåc
tẩo ra tûâ mưåt hânh vi (BehavioralFeature) ca classifier nây vâ gi àïën mưåt
thânh tưë nhêån tđn hiïåu (Reception) ca mưåt classifier khấc. Tđn hiïåu àûúc tẩo ra
têåp cấc hânh vi ca mưåt Do thûâa kïë tûâ (BehavioralElement lâ thânh hânh vi ca
mưåt classifier) Reception cng lâ mưåt thânh hânh vi ca classifier. àõnh nghơa
hânh vi xûã l tđn ca mưåt tđn hiïåu àûúå c gûãi àïën thânh tưë xûã l tđn hiïåu ca mưåt
Hịnh 2-22 Mư hịnh Siignall àõnh nghơa thânh tưëá Siignall (tñn hiïå u)



SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

62

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤ C THÂNH TƯË TRONG UML
(UML Semantic) 49
2.49. Reception (thânh tưë nhêån tđn hiïåu)
Reception lâ thânh tưë nhêån tđn hiïåu tûâ mưåt classifier vâ giûä chûác nựng mử
taó caỏc taỏc ửồng (bựỗng chuửợi vựn baón) cuóa tđn hiïåu àïën classifier nhêån.
2.49.1. Signal (tđn hiïåu)
Signal lâ cấc tấc tûúng tấc khưng àưìng bưå giûäa cấc classifier vâ lâ thânh
tưë àưåc lêåp vúái cấc classifier. Signal àûúåc tẩo ra do cấc hânh vi
(BehvioralFeature) ca cấc classifier nây vâ gûãi àïën cấc classifier khấc. Do
BehavioralFeature lâ thânh tưë hânh vi trûâu tûúång nïn têët cẫ cấc thânh tưë hânh vi
thûâa kïë BehavioralFeature nhû cấc phûúng thûác (operation) àïìu cố thïí tẩo vâ gûãi
cấc signal.


Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 50

2.50. Exception (lưỵi biïåt lïå)
Thûâa kïë signal, exception lâ tđn hiïåu àûúåc gûãi ài khi cố mưåt lưỵi trong quấ
trịnh thi hânh mưåt hânh vi.
2.50.1. Mử hũnh Actions (taỏc ửồng)
Action ỷỳồc mử taó bựỗng mư hịnh Actions ca UML metamodel.



63
Action lâ cấc chó thõ thi hânh cố gêy ẫnh hûúãng àïën trẩng thấi ca hïå thưëng cấc
àùåc biïåt hốa ca mưåt tấc àưång (Action) ActionSequence lâ mưåt tấc àưång thûác
bao gưìm cấc tấc àưång con theo trịnh tûå xấc àõnh. Acti on bao gưìm mưåt têåp àưëi
sưë.
Hịnh 2-23 Mư hịnh àõnh nghơa hânh àưång (Actiions)
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 51
2.51. Argument (àưëi sưë)
Argument lâ àưëi sưë cho mưåt Action, cung cêëp giấ trõ tham sưë cho mưåt
Action.
2.51.1. Action (tấc àưång)
Action lâ cấc chó thõ thi hânh trong mưåt quy trịnh tđnh toấn cố ẫnh hûúãng
àïën trẩng thấi ca hïå thưëng. Action bao gưìm cấc àùåc biïåt hốa sau

- AssignmentAction : gấn cho thåc tđnh mưåt giấ trõ múái.
- CallAction : kđch hoẩt mưåt hânh àưång.
- CreateAction : tẩo thïí hiïån ca mưåt Classifier.
- DestroyAction : hy mưåt àưëi tûúång
- ReturnAction : trẫ vïì giấ trõ cho àưëi tûúång gổi.
- SendAction : gúãi tđn hiïåu (Signal ).
- TerminateAction : hânh àưång tûå hy ca mưåt àưëi tûúång.
- UninterpretedAction : hânh àưång khưng xấc àõnh.




SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

64

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 52
2.52. ActionSequence (tấc àưång phûác)
ActionSequence lâ mưåt tấc àưång chûáa mưåt têåp cấc Action con theo thûá tûå
xấc àõnh.
2.52.1. Mư hịnh Instances and Links (thïí hiïån vâ liïn kïët)
Instance vâ Link àûúåc àõnh nghơa trong mư hịnh Instances and Links ca
UML metamodel. Instance àõnh nghơa thïí hiïån ca mưåt classifier, cấc thïí hiïån
nây liïn kïët vúái nhau qua cấc Link.

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 53

Liïn kïët (Link) bao gưìm nhiïìu mưëi liïn kïët (LinkEnd) Mưìi liïn kïët
(LinkEnd) lâ thïí hiïån ca mưëi kïët húåp (Association), àûúåc xấc àõnh búãi mưëi kïët
húåp. Instance lâ thïí hiïån ca Classifier, àûúåc xấc àõnh búãi Classifier. Cấc
Instance tûúng tấc vúái nhau qua cấc tấc nhên (Stimulus). gùỉn vúái cấc Link. Liïn
kïët (Link) lâ thïí hiïån ca quan hïå kïët húåp (Association), àûúåc xaác àõnh búãi quan
hïå kïët húåp. Cấc Instance liïn hïå vúái nhau qua cấc Link.
Hịnh 2-24 Mư hịnh cấc thûåc thïí vâ cấc liïn kïët cuãa UML
á




SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V

65

Chûúng 2
NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 54
2.54. Stimulus (tấc nhên)
Stimulus lâ mưåt giao tiïëp c thïí giûäa hai instance qua möåt liïn kïët (link)
àûúåc gûãi ài búãi sûå thi hânh mưåt Action, cố thïí lâ mưåt tđn hiïåu gûãi àïën instance
hay viïåc kđch hoẩt mưåt phûúng thûác. Hay nối cấch khấc, cấc thïí hiïån tûúng tấc
vúái nhau qua stimulus.
2.54.2. AttributeLink (thễ thåc tđnh)
AttributeLink chûáa têåp cấc giấ trõ ca Attribute trong mưåt instance do àố
thïí hiïån trẩng thấi ca instance.
2.54.2. LinkEnd (mưëi liïn kïët)
LinkEnd lâ cấc mưëi liïn kïët ca mưåt Link. Mưỵi LinkEnd tûúng ûáng vúái
mưåt mưëi kïët húåp (AssociationEnd) àïí xấc àõnh LinkEnd. LinkEnd trong UML

metamodel lâ thïí hiïån ca AssociationEnd trong UML metamodel. Caác instance
liïn kïët vúái nhau qua caác LinkEnd.
2.54.3. Link (liïn kïët)
Link lâ liïn kïët giûäa cấc instance. Link tûúng ûáng vúái mưåt Association cố
vai trô xấc àõnh Link. Link trong UML metamodel lâ thïí hiïån Association trong
UML metamodel. Link chó cố vai trô liïn kïët cấc instance vúái nhau, cấc tấc àưång
giûäa cấc instance thûåc hiïån qua cấc stimulus. Mưåt Link cố thïí tûúng ûáng vúái
nhiïìu stimulus.
2.54.4. Instance (thïí hiïån)
Instance lâ thïí hiïån ca mưåt Classifier. Instance lâ mưåt thûåc thïí cố cấc
thưng tin vïì trẩng thấi vâ chõu tấc àưång ca cấc phûúng thûác (Operation) àïí thay
àưíi trẩng thấi. Instance àûúåc xấc àõnh cêëu trc vâ hânh àưång qua Classifier cố
quan hïå kïët húåp vúái nố. Instance cố cấc àùåc biïåt hốa sau
- DataValue (giấ trõ dûä liïåu): giấ trõ ca mưåt thåc tđnh lâ thïí hiïån ca kiïíu dûä
liïåu ca thåc tđnh àố.
- ComponentInstance (thïí hiïån thânh phêìn): thïí hiïån ca mưåt Component.



×