Hệ thống kỹ hiệu (UML notation) - Pdf 64

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

Subsystem lâ nhốm cấc thânh tưë mư tẫ hânh àưång ca mưåt hïå thưëng.
Subsystem do àố bao gưìm cấc phûúng thûác (Operation) vâ cung cêëp cấc giao
diïån (Interface). Cấc thânh phêìn trong Subsystem cố thïí chia lâm hai loẩi lâ cấc
thânh phêìn mư tẫ hânh àưång vâ cấc thânh phêìn thûåc thi hânh àưång.

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

2.71. Tốm tùỉt
Chûúng hai trònh bây nhûäng thânh tưë cú bẫn vâ cêëu trc UML, cng vúái
viïåc phên tđch cấc gối thânh tưë ca ngưn ngûä nhû: package nïìn tẫng, package
hânh vi, package quẫn trõ mư hònh. Mưåt sưë khấi niïåm vâ c phấp ngûä phấp khấ
trûâu tûúång, trong chûúng túái sệ trònh bây nhûäng k hiïåu trûåc quan ca cấc thânh
tưë trïn trong viïåc mư hònh hoấ cấc hïå thưëng thưng qua cấc loẩi lûúåc àưì.

Chûúng 3
HÏÅ THƯËNG K HIÏÅU (UML Notation) 72

3.1. Giúái thiïåu
Khi mư hònh hốa mưåt hïå thưëng, chng ta cêìn xêy dûång cấc loẩi mư hònh
khấc nhau, trong UML cấc thưng tin trong mư hònh thûúâng àûúåc biïíu diïỵn bùçng

3.2.1. Àưì thõ vâ nưåi dung (Graphs and their Contents)
Hêìu hïët cấc lûúåc àưì trong UML àïìu úã dẩng àưì thõ, cấc thưng tin àûúåc tưí
chûác dûúái dẩng hònh hổc topư, khưng bõ ẫnh hûúãng búãi sûå thay àưíi vïì hònh dấng
vâ kđch thûúác. Cấc k hiïåu trong UML thûúâng úã dẩng hai chiïìu, mưåt sưë lâ hònh
chiïëu ca cấc k hiïåu ba chiïìu (cấc khưëi lêåp phûúng), nhûng thûúâng àûúåc biïíu
diïỵn dûúái dẩng cấc biïíu tûúång trïn bïì mùåt hai chiïìu. Cố bưën loẩi k hiïåu àưì hổa
cú bẫn trong hïå thưëng k hiïåu ca UML :
_ Cấc biïíu tûúång (Icons)– lâ mưåt hònh khưng thïí thay àưíi vïì hònh dẩng cng nhû
kđch thûúác, Icon khưng thïí múã rưång àïí chûáa nưåi dung bïn trong.
_ Cấc k hiïåu hai chiïìu (2-d sumbols)– cố kđch cúä khấc nhau, cố thïí múã rưång àïí
chûáa cấc thûá khấc nhû danh sấch cấc chỵi hóåc ngay cẫ cấc k hiïåu khấc bïn
trong, chng cng cố thïí àûúåc chia lâm nhiïìu phêìn. Loẩi k hiïåu nây khi kếo
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
80

hóåc xốa sệ lâm ẫnh hûúãng àïën nưåi dung bïn trong cng nhû cấc àûúâng dêỵn liïn
kïët vúái nố.
_ Cấc àûúâng dêỵn (Paths)- lâ mưåt têåp tìn tûå cấc àoẩn thùèng, mưåt àûúâng dêỵn phẫi
ln àûúåc gùỉn vúái cấc k hiïåu àưì hổa khấc úã hai àêìu. Àûúâng dêỵn cố thïí cố cấc
terminator, àố lâ cấc biïíu tûúång úã cëi àûúâng dêỵn lâm rộ nghơa cho cấc àûúâng
dêỵn nây.
_ Cấc chỵi (Strings)- cố thïí tưìn tẩi nhû lâ mưåt thânh tưë àưåc lêåp trong cấc lûúåc
àưì hóåc lâ mưåt phêìn ca cấc thânh tưë khấc trong lûúåc àưì, hóåc lâ mưåt nhận gùỉn
vâo cấc k hiïåu hay cấc àûúâng dêỵn.

Chûúng 3
HÏÅ THƯËNG K HIÏÅU (UML Notation) 74
Chûúng 3
HÏÅ THƯËNG K HIÏÅU (UML Notation) 75

Tïn lâ mưåt chỵi dng àïí àõnh nghơa cho mưåt thânh tưë mư hònh duy nhêët.
Mưåt pathname (tïn àûúâng dêỵn), gưìm mưåt têåp cấc tïn àûúåc nưëi vúái nhau búãi mưåt
k hiïåu àùåc biïåt (vđ d nhû dêëu “::”), àûúåc dng àïí tòm mưåt thânh tưë mư hònh bùỉt
àêìu tûâ gưëc ca hïå thưëng. Tïn àûúåc thïí hiïån nhû lâ mưåt chỵi vùn bẫn, thưng
thûúâng nùçm trïn mưåt dông vâ thûúâng khưng chûáa cấc k tûå àùåc biïåt.Thưng
thûúâng àưå dâi ca tïn vâ têåp cấc k tûå dng àïí àùåt tïn àûúåc àõnh nghơa búãi cưng
c vâ ngưn ngûä hiïín thõ.
Vđ d : Tïn - Nguỵn Vùn A, abstract, interger Pathname - ngên
hângA::ChinhấnhB::PhôngC Nhận (label) cng lâ mưåt chỵi k tûå àûúåc gùỉn vâo
k hiïåu àưì hổa.
Tûâ then chưët (hay tûâ khốa - keyword) thûúâng dng àïí phên biïåt giûäa nhûäng
nhốm, nhûäng ch àïì chung. K hiïåu ca mưåt keyword thûúâng lâ mưåt chíi àûúåc
àùåt trong hai dêëu“‹‹ ›› “.Vđ du å : ‹‹ extend ››, ‹‹ include›› ...
3.4. Biïíu thûác (Expression)
Biïíu thûác àûúåc sûã dng trong mưåt sưë cêëu trc ca UML, àùåc biïåt lâ trong
ngưn ngûä mư tẫ râng båc dng àïí àõnh nghơa UML. Hâm àûúåc thïí hiïån nhû lâ
mưåt chỵi k tûå vâ c phấp ca chỵi àûúåc àõnh nghơa ty thåc vâo cưng c hưỵ
trúå vâ cưng c phên tđch cho ngưn ngûä.
Vđ d : Cưngty.Giấmàưëc.Lûúng > Cưngty.Nhênviïn.Lûúng
3.4.1. Ghi Ch (Note)
Lâ mưåt k hiïåu àưì hoẩ cố chûáa thưng tin dûúái dẩng vùn bẫn hóåc chûáa cẫ
hònh ẫnh. Note cố thïí thïí hiïån nhiïìu loẩi thưng tin khấc nhau nhû: râng båc,
ch thđch, thên ca cấc hâm, cấc giấ trõ àđnh kêm...
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
82

Mưåt gối(package) lâ mưåt nhốm cấc thânh tưë mư hònh, bẫn thên package
cng cố thïí chûáa cấc package con. Têët cẫ cấc thânh tưë mư hònh àïìu cố thïí tưí
chûác dûúái dẩng package.
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
83

Lûu rùçng package cố thïí súã hûäu cấc thânh tưë, cấc mẫng mư hònh, nhûäng
thânh phêìn cú bẫn àïí àiïìu khiïín cêëu hònh, àïí lûu trûä, àïí àiïìu khiïín cấc truy cêåp.
Mưỵi thânh tưë cố thïí àûúåc súã hûäu trûåc tiïëp búãi mưåt package àún, vò vêåy cêy kïë
thûâa ca package lâ mưåt cêåy kïë thûâa nghiïm ngùåt. Mưåt package cố thïí tham
chiïëu àïën mưåt package khấc bùçng cấch dng cấc khn mêỵu ca quan hïå ph
thåc nhû ‹‹import››, ‹‹access›› hóåc cấc quan hïå khấc nhû tinh chïë hay tưíng
quất hốa.
K 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 nhỗ gùỉn úã gốc trïn trấi, giưëng nhû biïíu tûúång ca mưåt thû mc.
_ Nïëu nưåi dung ca package khưng thïí hiïån trong hònh chûä nhêåt lúán thò tïn ca
package àûúåc àùåt bïn trong hònh chûä nhêåt lúán. (Cấch thïí hiïån A).
_ Nïëu bïn trong hònh chûä nhêåt lúán cố chûáa nưåi dung thò tïn ca package àûúåc
àùåt bïn trong hònh chûä nhêåt nhỗ. (Cấch thïí hiïån B).
Cấch thïí hiïån A Cấch thïí hiïån B
Name Tïn package
Hònh 3-4 Cấch thïí hiïån tïn ca Packages
Packages Editor chûáa cấc Package ph thåc cấc quan hïå
Hònh 3-5 Package vâ cấc quan hïå

Chûúng 3

_ Specification Element (thânh tưë àùåc tẫ/mư tẫ)
_ Realization element (thânh tưë thûåc thi/ dng àïí àõnh rộ cấc àùåc tẫ tûúng ûáng)
Tu trûúâng húåp sûã dng mâ nhûäng phêìn nây cố thïí hiïín thõ hay khưng, cố thïí
hiïín thõ cẫ ba phêìn hay tûâng phêìn riïng, giûäa cấc phêìn cố thïí cố cấc ấnh xẩ vúái
nhau hóåc vúái cấc thânh tưë bïn ngoâi thưng quan cấc quan hïå.
Hònh 3-8 Mưåt thïí hiïån àêìy à ca subsystem
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
85

Chûúng 3
HÏÅ THƯËNG K HIÏÅU (UML Notation) 80

3.9 Cấc thânh phêìn quẫn trõ mư hònh (model management)
Hònh 3-9 Subsystem vâ ấnh xẩ (mappiing) giûäa cấc thânh phêìn
Chûúng 3
HÏÅ THƯËNG K HIÏÅU (UML Notation) 81

3.10. Model
3.10.1. Ngûä nghơa
Mưåt model (mư hònh) lâ sûå trûâu tûúång hốa ca mưåt vêën àïì trong hïå thưëng,
nố miïu tẫ hïå thưëng dûúái mưåt gốc àưå quan sất àùåc biïåt vúái mưåt mûác àưå trûâu
tûúång nâo àố, model cố thïí chûáa têët cẫ cấc thânh tưë mư hònh cêìn thiïët cho viïåc
miïu tẫ vêën àïì ca hïå thưëng. Cấc thânh tưë trong mư hònh àûúåc tưí chûác dûúái dẩng
cêy kïë thûâa ca cấc package hóåc subsystem.

tẫ bùçng cấc tûâ trong mưåt ngưn ngûä àûúåc qui àõnh (c phấp vâ sûå thïí hiïån ph
thåc vâo cưng c hưỵ trúå). Comment (ch thđch) lâ mưåt chỵi vùn bẫn àûúåc gùỉn
trûåc tiïëp vâo cấc thânh tưë mư hònh cố tấc dng ghi ch, giẫi thđch, bưí sung ngûä
nghơa cho thânh tưë àố.
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
87

Chûúng 3
HÏÅ THƯËNG K HIÏÅU (UML Notation) 83

3.12. K hiïåu
Constraint àûúåc biïíu diïỵn búãi mưåt chỵi vùn bẫn àûúåc àùåt trong cùåp dêëu
{}. Ngưn ngûä dng àïí viïët constraint thûúâng àûúåc àõnh nghơa búãi cưng c hưỵ trúå
(vđ d nhû OCL – Object Constraint Language hóåc cố thïí dng ngưn ngûä tûå
nhiïn àïí àùåc tẫ râng båc). Àưëi vúái cấc thânh tưë mâ k hiïåu lâ mưåt chỵi vùn
bẫn (vđ d nhû mưåt thåc tđnh nâo àố...) chỵi k tûå râng båc àûúåc ghi ngay
sau chỵi vùn bẫn vâ àûúåc tấch búãi mưåt dêëu ngùn cấch.
Àưëi vúái mưåt danh sấch cấc thânh tưë úã dẩng vùn bẫn (vđ d nhû danh sấch
cấc thåc tđnh ca mưåt lúáp) thò râng båc sệ àûúåc ấp àùåt trïn têët cẫ cấc thânh tưë
sau chỵi râng båc cho túái khi cố mưåt chỵi râng båc múái hóåc kïët thc danh
sấch.
Râng båc 1 ấp dng cho cấc thåc tđnh 1,2 túái n-1
Râng båc 2 ấp dng cho cấc thåc tđnh tûâ n túái cëi .
Hònh 3-12 Râng båc trïn danh sấch thânh tưëá

Ngûä nghơa
Mưåt sưë thåc tđnh ca cấc thânh tưë khưng cố k hiïåu trûåc quan. Àïí thïm
vâo àố ngûúâi dng cố thïí àõnh nghơa cấc thåc tđnh múái bùçng cấch sûã dng cú
chïë tagged value (tẩm dõch lâ giấ trõ àđnh kêm hay giấ trõ thễ). Mưỵi tagged value
biïíu diïỵn mưåt loẩi thåc tđnh àùåc biïåt trong ûáng dng tûúng ûáng vúái mưåt hay
nhiïìu loẩi phêìn tûã mư hònh.
K hiïåu
Mưåt tagged value àûúåc thïí hiïån bïn trong mưåt cùåp dêëu {}, vúái mưåt thễ
(tag) vâ mưåt giấ trõ (value), cố dẩng : { name = value } name lâ tïn ca thễ (tag),
value lâ giấ trõ ca thễ, cẫ hai àûúåc biïíu diïỵn bùçng chỵi k tûå. Nïëu kiïíu ca thễ
lâ Boolean (àng/sai) thò giấ trõ mùåc àõnh ca thễ lâ True (àng), nhûäng kiïíu
khấc thò cêìn phẫi cố giấ trõ rộ râng, thưng thûúâng thò khưng cố àõnh nghơa hònh
thûác cho giấ trõ thễ, mc àđch ch ëu chó àïí cung cêëp thưng tin quẫn l mư hònh
vđ d nhû version, tấc giẫ ca mư hònh, khưng liïn quan àïën sẫn phêím cëi.Vđ
d : {abstract} { Tấc giẫ = “ Nguỵn Vùn A”, Thúâi hẩn cëi = 31-7-2000, Gian
àoẩn = Phên tđch } (giấ trõ thễ )(râng båc)
Hònh 3-16 Vđ d vïì tagged vallue

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

Chûúng 3
HÏÅ THƯËNG K HIÏÅU (UML Notation) 86

3.14. Cấc mêỵu (Stereotypes)
Ngûä nghơa
Stereotype dng àïí àùåc biïåt hốa vïì mùåt ngûä nghơa ca cấc phêìn tûã àậ

diagram).
Cấc lûúåc àưì lêìn lûúåc àûúåc trònh bây theo cêëu trc :
_ Vđ d : gưìm hònh vệ vâ cấc ch thđch trïn lûúåc àưì
_ Ngûä nghơa : nghơa ca cấc lûúåc àưì
_ Chûác nùng : chûác nùng sûã dng
_ Cấc thânh phêìn chđnh : giúái thiïåu cấc thânh phêìn chđnh trong lûúåc àưì.
Hònh 3-18 Tưíång quan vïì cấc lûúåc àưì trong UML

Chûúng 3
HÏÅ THƯËNG K HIÏÅU (UML Notation) 88

3.16. Lûúåc àưì lúáp (Class Diagram)
(quan hïå kïët húåp hay thu nẩp) (tïn lúáp) (quan hïå tưíng quất hốa) (quan hïå kïët
húåp) (râng båc) (thåc tđnh) (hâm) (giao tiïëp) (quan hïå ph thåc) (vai trô)
(biïíu tûúång ca lúáp) (àa xẩ)
Hònh 3-19 Lûúåc àưì lúáp (Cllass Diiagram)

SVTH: Lờm Nguyùợn Trung Nam - Lờm Quang Vuọ
91

Chỷỳng 3

cng cố cêëu trc dûä liïåu, hânh vi vâ cấc quan hïå vúái cấc lúáp khấc.
K hiïåu
Biïíu tûúång ca mưåt lúáp àún giẫn chó lâ mưåt hònh chûä nhêåt gưìm cố ba
phêìn:
- Phêìn trïn cng : chûáa tïn ca lúáp, tïn ca lúáp phẫi lâ duy nhêët khưng àûúåc
trng vúái tïn cấc lúáp khấc trong cng mưåt package. Ngoâi ra trong mưåt sưë
trûúâng húåp ngùn nây côn cố thïí chûáa stereotype (khn mêỵu) hóåc tagged value
(giấ trõ thễ).
- Phêìn giûäa : chûáa danh sấch cấc thåc tđnh(hay côn gổi lâ cấc biïën thânh phêìn).
- Phêìn cëi : chûáa danh sấch cấc hânh vi (hay côn gổi lâ cấc hâm thânh phêìn)
Trong mưåt sưë lûúåc àưì hai phêìn dûúái cng thûúâng àûúåc bỗ qua, ngay cẫ khi
chng thûåc sûå hiïån diïån, thò chng cng khưng hiïỵn thõ têët cẫ danh sấch cấc
thåc tđnh cng nhû cấc hânh vi. Mc tiïu úã àêy chó thïí hiïån nhûäng thåc tđnh
vâ nhûäng hânh vi cố đch trong mưåt lûúåc àưì c thïí, vò vêåy biïíu tûúång ca lúáp cố
thïí àûúåc rt gổn khi cêìn thiïët.
Hònh 3-20 Biïíu tûúång ca mưåt lúáp
Chûúng 3
HÏÅ THƯËNG K HIÏÅU (UML Notation) 91

(biïíu tûúång àún giẫn nhêët) (thïí hiïån ca lúáp úã mûác àưå phên tđch hïå thưëng) (thïí
hiïån ca lúáp úã mûác àưå triïín khai – xêy dûång hïå thưëng)
Hònh 3-21 Thïí hiïån ca lúáp úã cấc giai àoẩn khấc nhau
Cấc thåc tđnh vâ cấc hânh vi trong mưåt lúáp cố thïí cố cấc têìm vûåc (visibility)
khấc nhau, cấc k hiïåu ca cấc têìm vûåc àûúåc àùåt trûúác cấc thåc tđnh hay hânh
vi, trong UML àõnh nghơa ba mûác chín :
_ Public – k hiïåu bùçng dêëu (+)
_ Private – k hiïåu bùçng dêëu (-)

dûúái. Mën chó ra cấc hânh vi trong interface, cố thïí biïíu diïỵn interface bùçng k
hiïåu lúáp vúái mưåt stereotype bïn trïn ca tïn interface.
Hònh 3-22 Thïí hiïåän ca mưåt iinterface
Hònh 3-23 Mưåt cấc sûã dng iinterface
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
94 Chûúng 3
HÏÅ THƯËNG K HIÏÅU (UML Notation) 93

3.19. Cấc loẩi quan hïå
3.19.1. Quan hïå kïët húåp (association)
Mưåt quan hïå kïët húåp lâ quan hïå vïì mùåt cêëu trc giûäa hai, hóåc giûäa mưåt
vâ nhiïìu thânh tưë (lúáp hóåc àưëi tûúång).
- Trïn quan hïå kïët húåp cố thïí cố hai tïn cho hai hûúáng ngûúåc chiïìu nhau.
(2 quan hïå kïët húåp – cưng nhên lâm viïåc cho cưng ty vâ cưng ty quẫn l 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 cng cố bẫn sưë (multiplicity) vâ tđnh àõnh hûúáng

mưåt thúâi àiïím. Xết vđ d trong hònh 3-28 tẩi mưåt thúâi àiïím nhêët àõnh thò lúáp
Account (tâi khoẫn) chó cố quan hïå kïët húåp vúái mưåt trong hai lúáp Person (ngûúâi)
hóåc Corporation (hậng). (cấch thïí hiïån ca quan hïå Or-Association) (tẩi mưåt
thúâi àiïím thò chó cố mưåt trong hai quan hïå cố tấc dng)
Hònh 3-28 Mưåt ca Or-Associiatiion
- Trong quan hïå kïët húåp cng cố quan hïå kïët húåp hẩn chïë (qualified
association). Xết vđ d hònh 3-29 lúáp Person (ngûúâi) chó quan hïå vúái lúáp Bank
(ngên hâng) thưng qua thåc tđnh hẩn chïë lâ account (tâi khoẫn).
Chûúng 3
HÏÅ THƯËNG K HIÏÅU (UML Notation) 96

(thåc tđnh hẩn chïë )
Hònh 3-29 Mưåt vđ d ca Qualliifiier Associiatiion
- Trong quan hïå kïët húåp ta cng cố mưåt loẩi thïí hiïån khấc àố lâ quan hïå thu nẩp
(Aggregation). Quan hïå nây chó ra rùçng lúáp kïët húåp àûúåc xem lâ “toân thïí“, vâ
lúáp kia àûúåc xem nhû lâ mưåt bưå phêån ca “toân thïí“ àố. Xết vđ d hònh 3-30 lúáp
Window àûúåc xem lâ lúáp “toân thïí” búãi vò nố cố thïí chûáa nhiïìu hònh (lúáp
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
96

shape). (lúáp ”toân thïí “) ( lúáp “bưå phêån”) (cấch thïí hiïån ca quan hïå thu nẩp)
Hònh 3-30 Quan hïå thu nẩp (aggregatiion)
- Ngoâi ra côn cố quan hïå cêëu thânh (composition). Àêy lâ mưåt dẩng mẩnh hún
ca quan hïå thu nẩp (aggregation), trong trûúâng húåp nây khi lúáp toân thïí bõ hy
thò lúáp bưå phêån (hay lúáp cêëu thânh) cng bõ hy theo. Xết vđ d trong hònh bïn
dûúái 3-31 ta cố thïí thêëy lúáp Window àûúåc cêëu thânh tûâ hai thanh cån
(scrollbar), mưåt header àống vai trô lâ tiïu àïì vâ mưåt panel àống vai trô lâ body


Nhờ tải bản gốc
Music ♫

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