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

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

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 (183.52 KB, 48 trang )

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


cấc k hiïåu àưì hổa cng vúái cấc kïët nưëi thïí hiïån mưëi quan hïå giûäa cấc k hiïåu
nây. Têåp cấc k hiïåu àưì hổa vâ cấc liïn kïët giûäa chng dng àïí mư tẫ cho mưåt
chûác nùng, thânh phêìn hóåc mưåt thïí hiïån ca hïå thưëng àûúåc tưí chûác thânh mưåt
lûúåc àưì (diagram), cấc lûúåc àưì sệ gip trûåc quan hốa cấc mư hònh ca hïå thưëng
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
79

cêìn àûúåc xêy dûång, mưỵi mư hònh sệ àûúåc biïíu diïỵn bùçng nhiïìu loẩi lûúåc àưì vâ
mưỵi loẩi lûúåc àưì cố thïí àûúåc sûã dng trong nhiïìu loẩi mư hònh khấc nhau.
Trong chûúng nây sệ trònh bây hïå thưëng cấc k hiïåu ca UML, cấc k
hiïåu nây àûúåc phên loẩi theo cấc lûúåc àưì. Mưỵi lûúåc àưì sệ cố hïå thưëng cấc k
hiïåu riïng vâ cng cố mưåt sưë k hiïåu chung sûã dng trong nhiïìu loẩi lûúåc àưì
khấc nhau. Trong UML àõnh nghơa chđn loẩi lûúåc àưì:
_ Lûúåc àưì Use Case (Use case diagram)
_ Lûúåc àưì lúáp (Class Diagram)
_ Lûúåc àưì àưëi tûúång (Object Diagram)
_ Lûúåc àưì tìn tûå (Sepuence Diagram)
_ Lûúåc àưì cưång tấc (Collaboration Diagram)
_ Lûúåc àưì trẩng thấi (State Diagram)
_ Lûúåc àưì hoẩt àưång (Activity Diagram)
_ Lûúåc àưì thânh phêìn (Component Diagram)
_ Lûúåc àưì triïín khai (Deployment Diagram)




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

3.2. Cấc thânh phêìn cú bẫn ca lûúåc àưì

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


3.3. Cấc àûúâng dêỵn (Drawing Paths)
Àûúâng dêỵn lâ mưåt têåp cấc àoẩn thùèng cố cấc àiïím cëi khúáp vúái nhau,
àêy lâ mưåt àún võ hònh hổc topư àún. Cấc àoẩn thùèng cố thïí lâ cấc àûúâng trûåc
giao, àûúâng xiïn hóåc àûúâng cong. Trong mưåt sưë quan hïå (vđ d nhû kïët húåp
hóåc tưíng quất hốa), vâi àûúâng dêỵn cng loẩi cố thïí liïn kïët àïën cng mưåt k
hiïåu àún. Trong mưåt sưë trûúâng húåp cấc àûúâng dêỵn cố thïí kïët húåp lẩi hóåc phên
nhấnh thânh nhiïìu àûúâng nhû tưí chûác ca mưåt cêy.
3.3.1. Cấc liïn kïët êín vâ vai trô ca cưng c
Mưåt k hiïåu viïët trïn giêëy thò khưng thïí chûáa cấc thưng tin êín, k hiïåu
trïn mân hònh cố thïí chûáa cấc liïn kïët àïën cấc thưng tin êín khưng thïí hiïín thõ
trong view tơnh, mën thïí hiïån cấc thưng tin êín nây phẫi nhúâ àïën cấc cưng c hưỵ
trúå. Cấc k hiïåu trònh bây dûúái àêy àûúåc àõnh nghơa nhû lâ nhûäng k hiïåu tơnh.
3.3.2. Thưng tin nïìn (Background Information)
Cấc thïí hiïån ca k hiïåu lúáp trong cấc lûúåc àưì khấc nhau cố thïí khấc
nhau, vđ d nhû k hiïåu lúáp chó cố phêìn tïn lúáp hóåc cố chûáa thïm phêìn thåc
tđnh hóåc hâm tu theo u cêìu ca tûâng lûúåc àưì. Khưng phẫi têët cẫ cấc thưng
tin àïì úã dẩng k hiïåu àưì hoẩ, mưåt sưë thïí hiïån tưët nhêët dûúái dẩng vùn bẫn, UML
khưng giẫ thiïët têët cẫ cấc thưng tin trong mư hònh sệ àûúåc thïí hiïån trong lûúåc àưì,
mưåt sưë cố thïí chó àûúåc biïíu diïỵn dûúái dẩng bẫng.
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
81

3.3.3. Chỵi (String), tïn (Name),nhận (Label) vâ tûâ khốa
(Keywords) Chỵi lâ mưåt dậy cấc k tûå dng àïí hiïín thõ mưåt thưng tin
nâo àố trong mư hònh. Font vâ kđch cúä ca chỵi cố thïí ph thåc vâo thåc tđnh
ca mư hònh, mưåt chỵi cố thïí úã dẩng dông àún hay mưåt phên àoẩn.






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


Hònh 3-1 Note dng àïí ghi ch cho mư hònh




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

3.5. Sûå tûúng quan giûäa cấc loẩi thânh tưë vâ thïí hiïån ca nố
Nhiïìu khấi niïåm mư hònh hốa trong UML cố hai thïí hiïån tûúng tûå nhau ài
thânh mưåt cùåp thânh tưë vâ thïí hiïån, vđ d nhû : Lúáp vâ àưëi tûúång, quan hïå kïët
húåp vâ liïn kïët, tham sưë vâ giấ trõ...
Hònh 3-2 Lúáp Poiint vâ hai àưëái tûúång Poiint
Role (vai trô) trong mưåt cưång tấc (collaboration) cng lâ mưåt cùåp giûäa
thânh tưë vâ thïí hiïån. Mưåt role trong mưåt collaboration àûúåc thïí hiïån bùçng mưåt
tïn, dêëu hai chêëm vâ kiïíu, mưåt thïí hiïån àûúåc biïíu diïỵn bùçng tïn, dêëu “/”, danh
sấch vai trô, dêëu hai chêëm vâ danh sấch kiïíu. Vđ d : Cấc vai trô Cấc àưëi tûúång
mưåt collaboration
Hònh 3-3 Cấc vai trô vâ cấc àưëi tûúång àiïím




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

3.6. Cấc thânh phêìn quẫn trõ mư hònh (model management)
3.6.1. Gối (Package)
Ngûä nghơa

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

HÏÅ THƯËNG K HIÏÅU (UML Notation) 78

3.7. Cấc thânh phêìn quẫn trõ mư hònh (model management)
Hònh 3-6 Nưåi dung ca package Ediitor thïí hiïån dûúái dẩng Cêy
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
84




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

3.8. Subsystem
3.8.1. Ngûä nghơa
Mưåt subsystem (hïå thưëng con) miïu tẫ mưåt àún võ hânh vi ca mưåt vêën àïì
trong hïå thưëng hay nối cấc khấc lâ trong mưåt mư hònh. Àùåc tẫ ca subsystem bao
gưìm cấc thao tấch hay cấc hâm ca subsystem, cấc thânh tưë àùåc tẫ liïn quan àïën
subsystem nhû use case, state machines...
3.8.2. K hiïåu
K hiïåu ca mưåt subsystem tûúng tûå nhû ca package, gưìm mưåt hònh chûä
nhêåt lúán vâ mưåt hònh chûä nhêåt nhỗ gùỉn vâo gốc trïn trấi ca hònh chûä nhêåt lúán,
àưìng thúâi cố thïm mưåt k hiïåu hònh cấi nơa gùỉn vâo gốc trïn phẫi ca hònh chûä
nhêåt chûáa tïn subsystem.
Hònh 3-7 Mưåt thïí hiïån àún giẫn ca subsystem
Mưåt subsytem cng cố hai cấch thïí hiïån tïn giưëng nhû package. Bïn cẩnh
àố ta cng cố thïí dng k hiïåu ca package àïí thay thïë cho subsystem bùçng
cấch thïm vâo tûâ khốa ‹‹ subsystem›› vâo phđa trïn tïn ca
subsystem. Hònh chûä nhêåt lúán ca subsystem co thïí àûúåc chia lâm ba phêìn :
_ Operation (thao tấc)

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

3.10.2. K hiïåu
Mưåt model sûã dng k hiïåu ca package vúái mưåt hònh tam giấc nhỗ àûúåc
gùỉn vâo trïn phẫi ca hònh chûä nhêåt lúán. Trong trûúâng húåp, model cố chûáa nưåi
dung thò hònh tam giấc àûúåc vệ trong hònh chûä nhêåt nhỗ cng vúái tïn ca model.
Mưåt model cng cố thïí sûã dng k hiïåu nhû lâ package vúái mưåt tûâ khốa ‹‹ model
›› àûúåc àùåt phđa trïn tïn ca model.
Vđ d : mưåt mư hònh hïå thưëng (systemModel) sệ chûáa cấc mư hònh phên
tđch (analysis models) vâ thiïët kïë (design models)
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
86

Hònh 3-10 Mưåt thïí hiïån ca Modell
Vđ d vïì viïåc tưí chûác cêy kïë thûâa trong model. Kïë thûâa dûåa trïn Model Kïë thûâa
dûåa trïn Subsystem
Hòònh 3-11 Tưí chûác kïëá thûâa trong Modell




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

3.11. Cấc cú chïë múã rưång tưíng quất
3.11.1. Râng båc (Constraint) vâ ch thđch (Comment)
Ngûä nghơa
Constraint (râng båc) lâ mưåt quan hïå râng båc vïì ngûä nghơa àûúåc àđnh
kêm vâo cấc thânh tưë mư hònh nhùçm thay àưíi vâ giúái hẩn vïì ngûä nghơa ca cấc
thânh tưë nây, àẫm bẫo hïå thưëng àûúåc mư hònh hốa mưåt cấch àng àùỉn. Mưåt sưë
constraint àûúåc àõnh nghơa ngay trong bẫn thên UML, mưåt sưë do ngûúâi sûã dng
tûå àõnh nghơa lêëy. Nhûäng râng båc do ngûúâi dng àõnh nghơa thûúâng àûúåc àùåc

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ưëá




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

Àưëi vúái cấc thânh tưë cố k hiïåu àưì hổa àún, chỵi râng båc cố thïí àùåt
gêìn k hiïåu, tưët nhêët lâ àùåt gêìn tïn ca thânh tưë nïëu cố. Àưëi vúái cấc mưåt cùåp hai
k hiïåu àưì hổa, râng båc àûúåc thïí hiïån bùçng mưåt mi tïn àûát nết tûâ nhận ca
thânh tưë nây túái nhận ca thânh tưë kia. Chair-of (lâm ch tõch) phẫi lâ têåp con
ca Member-of(thânh viïn) râng båc
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
88

Hònh 3-13 Râng båc trïn mưåt cùåp thânh tưëá
Àưëi vúái râng båc trïn ba k hiïåu àưì thõ trúã lïn, râng båc àûúåc àùåt trong
note (àïí trong cùåp dêëu {})vâ cố cấc àûúâng àûát nết liïn kïët àïën cấc thânh tưë bõ
râng båc.
Cấc ch thđch lâ mưåt chỵi k tûå àùåt trong mưåt biïíu tûúng note. Cấc ch
thđch cho cấc hâm hóåc cấc râng båc khưng àûúåc àùåc tẫ trong UML nhûng
àûúåc àùåc tẫ trong cưng c hưỵ trúå.
Hònh 3-14 Râng båc trïn nhiïìu thânh tưëá
Hònh 3-15 Ch thđch cho package MFC6..0



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

3.13. Thåc tđnh ca cấc thânh tưë (Element Properties)

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ûã àậ

àûúåc àõnh nghơa trong UML, lâ mưåt lúáp cấc phêìn tûã mư hònh múái àûúåc tưíng quất
tûâ nhûäng phêìn tûã àậ àûúåc àõnh nghơa, àûúåc giúái thiïåu tẩi mưåt thúâi àiïím cêìn thiïët
nâo àố trong qa trònh mư hònh hốa hïå thưëng.
K hiïåu
Cấch thïí hiïån tưíng quất ca Stereotype lâ sûã dng k hiïåu ca phêìn tûã cú
súã vúái mưåt tûâ khốa nùçm bïn trïn tïn ca thânh tưë, chỵi tûâ khốa àûúåc àùåt bïn
trong cùåp dêëu ‹‹ ›› cng lâ tïn ca stereoype. Mưåt cấch thïí hiïån khấc lâ àùåt
biïíu tûúång (icon) bïn trong hònh chûä nhêåt chûáa tïn ca khn mêỵu, hóåc chó cố
biïíu tûúång vâ bïn dûúái lâ tïn ca khn mêỵu.
Hònh 3-17 Mưåt sưëá stereotype (khân mêỵãu)



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

3.15. Cấc lûúåc àưì
3.15.1. Giúái thiïåu
Cấc lûúåc àưì lâ nïìn tẫng cú bẫn àïí mư hònh hốa hïå thưëng trong UML.
UML cung cêëp chđn loẩi lûúåc àưì khấc nhau nhùçm gip mư hònh hốa chi tiïët hïå
thưëng, chng àûúåc chia thânh ba loẩi chđnh
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
90

_ Cấc lûúåc àưì tơnh : Use Case (Use Case Diagram), lúáp (Class diagram), àưëi
tûúång (Component diagram).
_ Cấc lûúåc àưì àưång (hay cấc lûúåc àưì hânh vi) : tìn tûå (Sequence Diagram),
cưång tấc (Collaboration diagram), trẩng thấi (Statechart diagram), hoẩt àưång
(Activity diagram).
_ Cấc àưì thûåc thi : thânh phêìn (Component diagram), triïín khai (Deployment

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

Hẽ THệậNG KY HIẽU (UML Notation) 89

Ngỷọ nghụa
_ Mửồt lỷỳồc ửỡ lỳỏp laõ mửồt lỷỳồc ửỡ duõng ùớ mử taó caỏc lỳỏp (class), caỏc giao tiùởp
(interface), sỷồ cửồng taỏc (collaboration) vaõ caỏc mửởi quan hùồ giỷọa caỏc thaõnh phờỡn
trong mử hũnh.
_ Class Diagram laõ mửồt thùớ hiùồn dỷỳỏi daồng ửỡ thừ cờởu truỏc tụnh cuóa mử hũnh.




Chỷỳng 3
Hẽ THệậNG KY HIẽU (UML Notation) 90

3.17. Chỷỏc nựng
_ ựồt tùn vaõ lờồp mử hũnh caỏc khaỏi niùồm trong hùồ thửởng.
_ ựồc taó sỷồ cửồng taỏc, caỏc mửởi quan hùồ quan hùồ giỷọa caỏc lỳỏp
_ ựồc taó sỳ ửỡ cỳ sỳó dỷọ liùồu
_ Ngỷỳõi ta thỷỳõng duõng caỏc lỷỳồc ửỡ lỳỏp ùớ thùớ hiùồn sỷồ kùởt nửởi cuóa caỏc thaõnh
phờỡn cờởu truỏc trong design view vaõ process view.
_ Class Diagram ỷỳồc sỷó duồng trong mử hũnh phờn tủch vaõ thiùởt kùở, hửợ trỳồ cho
giai oaồn phờn tủch vaõ thiùởt kùở hùồ thửởng.
3.17.1. Caỏc thaõnh phờỡn chủnh
Lỳỏp (Class)
Ngỷọ nghụa
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
92

Mưåt lúáp (class) lâ mưåt àẩi diïån cho mưåt têåp cấc cấc àưëi tûúång cố nhûäng
àùåc tđnh tûúng tû nhau. Àêy lâ thânh phêìn cú bẫn nhêët ca mưåt lûúåc àưì lúáp. Lúáp

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 (-)

_ Protected – k hiïåu bùçng dêëu (#)
C phấp cho cấc khai bấo ca thåc tđnh nhû sau :
Têìm vûåc – Tïn thåc tđnh – Bẫn sưë : Kiïíu = Giấ trõ khúãi tẩo
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
93

Vđ d : - color : Color = Red
+ size: Area = (100,100)
# points [2..*] : Point
C phấp cho cấc khai bấo ca hâm nhû sau :
Têìm vûåc – Tïn thåc tđnh (danh sấch tham sưë) : Kiïíu trẫ vïì
Vđ d : + display (): Location
+ hide()
- attachXwindow(zwin: Xwindow*)




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

3.18. Interface
Ngûä nghơa
Cố nhûäng lúáp khưng cố gò ngoâi cấc hâm ẫo thìn ty, trong ngưn ngûä
Java cấc lúáp nhû vêåy khưng lâ àưëi tûúång, chng àûúåc gổi lâ interface (giao tiïëp).
Mën sûã dng interface, lúáp phẫi giao tiïëp vúái nố bùçng mưåt quan hïå ph thåc,
lúáp sûã dng chó ph thåc vâo cấc hânh vi trong giao tiïëp, chûá khưng ph thåc
vâo cấc thûá khấc trong interface.
K hiïåu
K hiïåu àún giẫn ca mưåt interface lâ mưåt hònh trôn nhỗ cố tïn ngay phđa

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

(navigate). Vđ d nhû: (0..1), (1), (0..*), (1..*), (1..6), (10..*)...



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

Hònh 3-25 Bẫn sưëá (mulltiiplliiciity) trong quan hïå kïëát húåp
- Trong quan hïå kïët húåp cng cố sûå àïå quy (trong trûúâng húåp mưåt lúáp (hay àưëi
tûúång) kïët húåp vúái chđnh nố. ( àïå quy )
Hònh 3-26 Quan hïåä kïëát húåïp àïåä quy
- Trong quan hïå kïët húåp cố thïí cố cấc vai trô (hóåc thïí hiïån – role) khấc nhau.
Tïn ca vai trô (hóåc thïí hiïån) àûúåc àùåt trïn quan hïå vâ ngay sất cẩnh lúáp cố thïí
hiïån àố. (xem hònh vệ 3-27 bïn dûúái).

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




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

(vai trô) (Person àống vai trô lâ ngûúâi lao àưång) (Company àống vai trô lâ ngûúâi
ch)
Hònh 3-27 Vai trô (rolles) trong quan hïå kïëát húåp
- Ngoâi ra côn cố Or-Association (quan hïå kïët húåp râng båc or), àêy cố thïí coi
lâ mưåt râng båc trïn hai hay nhiïìu quan hïå kïët húåp. Nố xấc àõnh cấc àưëi tûúång
ca mưåt lúáp chó cố thïí tham gia vâo mưåt trong nhûäng quan hïå kïët húåp nây tẩi

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

ca Window.



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

(lúáp window àûúåc cêëu thânh tûâ ba lúáp Slider , Header vâ Panel) (cấch thïí hiïån
ca quan hïå cêëu thânh)
Hònh 3-31 Quan hïå cêëáu thânh (Composiitiion)
- Ngoâi ra côn cố quan hïå n-ary association (quan hïå kïët húåp bêåc n) giûäa nhiïìu
lúáp vúái nhau.Sau àêy lâ mưåt vđ d vïì quan hïå giûäa ba lúáp Year (nùm), Team
(àưåi) vâ Player (cêìu th). Quan hïå nây chó ra sưë bân àïí lổt lûúái, sưë bân àúä àûúåc,
sưë trêån thùỉng, sưë trêån thua, sưë trêån hôa ca th mưn ca mưåt àưåi bống trong mưåt
ma bống. (cấch thïí hiïån ca quan hïå kïët húåp bêåc 3)
Hònh 3-32 Quan hïå kïëát húåp bêåc 3
- Lûu trong quan hïå kïët húåp bêåc n têët cẫ cấc nhấnh quan hïå àïìu lâ quan hïå kïët
húåp thưng thûúâng, khưng phẫi lâ thu nẩp hay cêëu thânh.

×