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

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 ty
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 ca cấc c phấ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

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 k 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.

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

àïí 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

àùå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

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ûâ
cấc Operation khấc.
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
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.
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ïå 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 vâ 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

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

(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ïåä ph thåc)


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status