Đề tài Ngữ nghĩa và cú pháp các phần tử trong UML
Giới thiệu
UML gồm có siêu mô hình UML và mô hình UML. siêu mô hình UML giữ
chức năng định nghĩa các phần tử và cú pháp UML. Mô hình UML mô tả ký hiệu
các phần tử và các biểu đồ dựa trên siêu mô hình UML.
siêu mô hình UML bao gồm các phần tử và một số quy tắc về cú pháp. Ngoài
việc phần 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 phần tử nào với nhau để tạo ra ý nghĩa nào đó. ở góc độ mô hình
hóa, các phần tử UML có thể phân chia làm ba loại là các phần tử mô hình hóa
tĩnh, các phần tử mô hình hóa tương tác và các phần tử quan hệ có chức năng liên
kết giữa hai phần tử trên với nhau. siêu mô hình UML giữ vai trò hướng dẫn
người sử dụng UML về cú pháp trong mô hình hóa. Ngoài ra, siêu mô hình UML
còn được sử dụng 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ử dụng lại định nghĩa phần tử
UML để thiết kế các lớp cơ bản và bổ sung thêm các lớp mới tùy theo chức năng
CASE tool cung cấp cho người sử dụng.
Mô hình UML là biểu diễn ký hiệu của các phần tử UML đồng thời cung cấp
cho người sử dụng các biểu đồ UML cụ thể để mô hình hóa cũng như làm ngôn
ngữ giao tiếp giữa các thành viên của nhóm trong quá trình phát triển phần mềm.
Nói cách khác, các biểu đồ trong Mô hình UML là thể hiện của các cú pháp
tương ứng trong siêu mô hình UML. siêu mô hình UML được chia thành nhiều
gói thành phần (package) dựa trên ý nghĩa của cú pháp được mô tả. Mỗi gói định
nghĩa các phần tử khác nhau và mô tả một nhóm cú pháp dựa trên các phần 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 giúp cho
định nghĩa của siêu mô hình UML rõ ràng hơn, chỉ quan tâm đến các phần tử
trong gói và loại bỏ các phần tử không cần thiết vượt ra khỏi phạm vi ngữ nghĩa
cần mô tả của gói. Gói được biểu diễn như sau
36 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2143 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Ngữ nghĩa và cú pháp các phần tử trong UML, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Ch−¬ng 2. Ng÷ nghÜa vµ có ph¸p c¸c phÇn tö trong
UML (UML Semantic)
2.1. Giíi thiÖu
UML gåm cã siªu m« h×nh UML vµ m« h×nh UML. siªu m« h×nh UML gi÷
chøc n¨ng ®Þnh nghÜa c¸c phÇn tö vµ có ph¸p UML. M« h×nh UML m« t¶ ký hiÖu
c¸c phÇn tö vµ c¸c biÓu ®å dùa trªn siªu m« h×nh UML.
siªu m« h×nh UML bao gåm c¸c phÇn tö vµ mét sè quy t¾c vÒ có ph¸p. Ngoµi
viÖc phÇn 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 phÇn tö nµo víi nhau ®Ó t¹o ra ý nghÜa nµo ®ã. ë gãc ®é m« h×nh
hãa, c¸c phÇn tö UML cã thÓ ph©n chia lµm ba lo¹i lµ c¸c phÇn tö m« h×nh hãa
tÜnh, c¸c phÇn tö m« h×nh hãa t−¬ng t¸c vµ c¸c phÇn tö quan hÖ cã chøc n¨ng liªn
kÕt gi÷a hai phÇn tö trªn víi nhau. siªu m« h×nh UML gi÷ vai trß h−íng dÉn
ng−êi sö dông UML vÒ có ph¸p trong m« h×nh hãa. Ngoµi ra, siªu m« h×nh UML
cßn ®−îc sö dông 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ö dông l¹i ®Þnh nghÜa phÇn tö
UML ®Ó thiÕt kÕ c¸c líp c¬ b¶n vµ bæ sung thªm c¸c líp míi tïy theo chøc n¨ng
CASE tool cung cÊp cho ng−êi sö dông.
M« h×nh UML lµ biÓu diÔn ký hiÖu cña c¸c phÇn tö UML ®ång thêi cung cÊp
cho ng−êi sö dông c¸c biÓu ®å UML cô thÓ ®Ó m« h×nh hãa còng nh− lµm ng«n
ng÷ giao tiÕp gi÷a c¸c thµnh viªn cña nhãm trong qu¸ tr×nh ph¸t triÓn phÇn mÒm.
Nãi c¸ch kh¸c, c¸c biÓu ®å trong M« h×nh UML lµ thÓ hiÖn cña c¸c có ph¸p
t−¬ng øng trong siªu m« h×nh UML. siªu m« h×nh UML ®−îc chia thµnh nhiÒu
gãi thµnh phÇn (package) dùa trªn ý nghÜa cña có ph¸p ®−îc m« t¶. Mçi gãi ®Þnh
nghÜa c¸c phÇn tö kh¸c nhau vµ m« t¶ mét nhãm có ph¸p dùa trªn c¸c phÇn 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 gióp cho
®Þnh nghÜa cña siªu m« h×nh UML râ rµng h¬n, chØ quan t©m ®Õn c¸c phÇn tö
trong gãi vµ lo¹i bá c¸c phÇn tö kh«ng cÇn thiÕt v−ît ra khái ph¹m vi ng÷ nghÜa
cÇn m« t¶ cña gãi. Gãi ®−îc biÓu diÔn nh− sau
Tªn gãi
H×nh 2.1. Ký hiÖu gãi
2.2. Tæng quan vÒ c¸c lo¹i quan hÖ gi÷a c¸c phÇn tö
Trong qu¸ tr×nh ®Þnh nghÜa phÇn tö cÇn ph¶i m« t¶ c¸c mèi liªn hÖ gi÷a phÇn
tö nµy víi c¸c phÇn tö kh¸c nªn UML sö dông mét tËp hîp c¸c quan hÖ. Mçi
7
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ô thuéc
(dependency).
Mçi phÇn tö ®Òu cã ng÷ nghÜa riªng. §Ó biÓu diÔn phÇn tö vµ quan hÖ gi÷a
c¸c phÇn tö, UML sö dông c¸c ký hiÖu riªng. Mét phÇn tö cã ký hiÖu nh− sau:
Tªn phÇn tö
C¸c thuéc tÝnh
H×nh 2.2. Ký hiÖu phÇn 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 phÇn tö ®−îc tr×nh bµy trong ch−¬ng sau.
2.2.1. Quan hÖ tæng qu¸t ho¸ (generalization)
Quan hÖ tæng qu¸t ho¸ lµ quan hÖ gi÷a mét phÇn tö tæng qu¸t h¬n vµ mét
phÇn tö ®Æc biÖt h¬n. PhÇn tö ®Æc biÖt h¬n chøa ®Çy ®ñ c¸c ®Æc ®iÓm cña phÇn tö
tæng qu¸t h¬n vµ ngoµi ra cßn cã nh÷ng th«ng tin riªg. Quan hÖ tæng qu¸t hãa cã
ký hiÖu nh− sau:
H×nh 2.3. Ký hiÖu quan hÖ tæng qu¸t ho¸
2.2.2. 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 phÇn tö. NghÜa lµ
phÇn tö nµy cã sö dông hay nhËn biÕt c¸c th«ng tin cña phÇn tö kia. Quan hÖ kÕt
hîp cã thÓ bao gåm hai lo¹i con lµ quan hÖ ng÷ nghÜa th«ng th−êng (association)
vµ quan hÖ kÕt tËp (aggregation). Quan hÖ ng÷ nghÜa th«ng th−êng
H×nh 2.4 Ký hiÖu quan hÖ kÕt hîp
Quan hÖ kÕt tËp: phÇn tö nµy chøa phÇn tö kia theo nghÜa vËt lý.
8
H×nh 2.5 Ký hiÖu quan hÖ kÕt tËp
2.2.3. Quan hÖ phô thuéc (dependency)
Quan hÖ phô thuéc thÓ hiÖn sù phô thuéc chøc n¨ng cña mét hay nhiÒu phÇn
tö nhËn vµo mét hay nhiÒu phÇn tö cho. Quan hÖ phô thuéc kÐm chi tiÕt vÒ møc
®é ng÷ nghÜa h¬n quan hÖ kÕt hîp vµ th−êng sö dông ®Ó m« t¶ sù phô thuéc lÉn
nhau gi÷a c¸c gãi.
H×nh 2.6 Ký hiÖu quan hÖ phô thuéc
2.3. Tæng quan vÒ c¸c phÇn tö vµ cÊu tróc siªu m« h×nh UML
2.3.1. Ph©n lo¹i phÇn tö trong siªu m« h×nh UML
ë gãc ®é ®Þnh nghÜa, c¸c phÇn tö trong UML cã thÓ ®−îc chia lµm hai lo¹i lµ
phÇn tö trõu t−îng vµ phÇn tö cô thÓ. C¸c phÇn 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 phÇn tö kh¸c. C¸c phÇn tö cô thÓ
th−êng cã quan hÖ tæng qu¸t hãa qua nhiÒu tÇng víi c¸c phÇn tö trõu t−îng,
ngoµi ra cßn cã c¸c quan hÖ kÕt hîp (association) víi c¸c phÇn tö kh¸c. ChØ c¸c
phÇn tö cô thÓ míi cã ký hiÖu trong M« h×nh UML vµ ®−îc sö dông trong m«
h×nh hãa.
2.3.2. CÊu tróc siªu m« h×nh UML
Siªu m« h×nh UML bao gåm ba gãi chÝnh nh− sau
Foundation
Model ManagementBehavioralElements
H×nh 2.7. C¸c gãi chÝnh cña UML
9
Foundation Package (Gãi nÒn t¶ng) lµ gãi bao gåm phÇn lín c¸c phÇn tö trõu
t−îng vµ mét sè phÇn tö cô thÓ mang tÝnh chÊt c¬ b¶n. C¸c phÇn tö trong gãi nµy
®−îc sö dông bëi hai gãi lµ BehavioralElements Package (gãi phÇn tö hµnh vi) vµ
ModelManagement Package (gãi qu¶n trÞ m« h×nh).
BehavioralElements Package lµ gãi ®Þnh nghÜa c¸c phÇn tö sö dông cho viÖc m«
t¶ qu¸ tr×nh vËn ®éng cña mét phÇn tö hay t−¬ng t¸c gi÷a c¸c phÇn tö trong thÕ
giíi thùc.
ModelManagement lµ gãi ®Þnh nghÜa c¸c phÇn tö cho viÖc qu¶n lý m« h×nh cña
ng−êi sö dông.
2.4. Package Foundation Package (gãi nÒn t¶ng)
Foundation Package ®Þnh nghÜa nh÷ng phÇn tö UML c¬ b¶n. Foundation
Package bao gåm ba gãi con lµ Core Package (gãi c¬ b¶n), gãi c¸c Data Types
Package (gãi kiÓu d÷ liÖu) vµ Extension Mechanism Package (gãi kü thuËt më
réng).
Data Types
Core ExtensionMechanism
H×nh 2.8 Core Package
Core Package ®Þnh nghÜa nh÷ng phÇn tö c¬ b¶n bao gåm c¶ c¸c phÇn tö quan
hÖ vµ ®a sè lµ ë møc trõu t−îng. Extension Mechanism Package ®Þnh nghÜa c¬ chÕ
më réng cho c¸c phÇn tö UML ®Ó bæ sung c¸c phÇn tö míi. Data Types Package
®Þnh nghÜa c¸c kiÓu d÷ liÖu ®−îc sö dông trong siªu m« h×nh UML. C¸c thuéc
tÝnh cña c¸c phÇn tö trong siªu m« h×nh UML cã kiÓu d÷ liÖu thuéc vÒ Data
Types.
2.4.1. Core Package (gãi c¬ b¶n)
Core package bao gåm c¸c phÇn tö c¬ b¶n vµ ®−îc m« t¶ bëi n¨m m« h×nh lµ
Backbone (x−¬ng sèng), Relationships (quan hÖ), Dependencies (phô thuéc),
Classifiers (ph©n lo¹i) vµ Auxiliary Elements (bæ sung). Core package 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.
10
2.4.1.1. M« h×nh Backbone (x−¬ng sèng)
Element
ElementOwnerShip
visibility: VisibilityKind
isSpecification:Boolean
Model Element
name :Name
Feature
ownerscope: ScopeKind
visibility: VisibilityKind
NameSpace GeneralizableElement
isRoot:Boolean
isLeaf:Boolean
isAbstract:boolean
Parameter
defaultValue: Expression
kind: ParameterDirectionKind
Constraint
body: BooleanExpression
Classifier
StuctualFeature
multiplicity: Multiplicity
changeability:ChangeableKind
tagetScope: ScopeKind
BehavioralFeature
isQuery:Boolean
Attribute
initialvalue: Expression
Operation
concurency:CallConcurencyKind
isRoot:Boolean
isLeaf:Boolean
isAbstract:boolean
specification: String
Method
body: ProcedureExpresstion
+ ownedElement
+ nameSpace
*
0..1
+ constraintElement
+ constraint
1..*
*
{ordered}
*
0..1
+ feature
+ owner
*
1
+ type
1 *
+ specification
+ type1
*
0..1
* + parameter
{ordered}
H×nh 2.9. M« h×nh BackBone
Backbone chñ yÕu ®Þnh nghÜa phÇn tö Classifier. Classifier lµ phÇn tö trõu t−îng
®ãng vai trß tæng qu¸t hãa trùc tiÕp cña phÇn lín c¸c phÇn tö cô thÓ kh¸c. Ngoµi
ra, c¸c phÇn tö c¬ b¶n cña UML ®−îc ®Þnh nghÜa trong Core bao gåm attribute
(thuéc tÝnh), operation (ho¹t ®éng) vµ method (ph−¬ng thøc), parameter (tham sè)
vµ constraint (rµng buéc).
§Ó phôc vô cho qu¸ tr×nh ®Þnh nghÜa Classifier, UML ®−a ra c¸c phÇn tö trõu
t−îng cã vai trß lµ tæng qu¸t hãa (trùc tiÕp hay gi¸n tiÕp) cña Classifier. C¸c phÇn
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 (phÇn tö) : Element lµ mét phÇn tö trõu t−îng ë møc cao nhÊt, tæng
qu¸t nhÊt trong c¸c phÇn tö UML.
ModelElement (phÇn tö m« h×nh) : ModelElement lµ phÇn 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 phÇn tö kh¸c sau
Element. ModelElement lµ phÇn tö ®−îc x¸c ®Þnh qua tªn.
Namespace (kh«ng gian c¸c phÇn tö tham chiÕu theo tªn): Namespace lµ tËp
hîp c¸c phÇn tö ModelElement víi ®iÒu kiÖn ®Þnh danh cña mét ModelElement
trong mét Namespace lµ duy nhÊt.
ElementOwnership: ElementOwnership ®Þnh nghÜa tÇm vùc (visibility) cña mét
phÇn tö chøa trong Namspace (kh«ng gian c¸c phÇn tö). ElementOwnership quy
®Þnh tÇm vùc cña mét phÇn tö ®−îc giíi h¹n trong Namespace (chØ cã thÓ ®−îc
tham chiÕu bëi c¸c phÇn tö trong Namespace) hay v−ît khái Namespace (cã thÓ
®−îc tham chiÕu bëi c¸c phÇn tö ngoµi Namespace).
11
GeneralizableElement (phÇn tö cã thÓ tæng qu¸t hãa hay ®Æc biÖt hãa):
GeneralizableElement lµ c¸c phÇn 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 cña mét GeneralizableElement kh¸c.
Feature (®Æc tÝnh) : m« t¶ c¸c ®Æc tÝnh cña mét Classifier chñ yÕu lµ tÇm vùc
(visibility) cña ®Æc tÝnh. TÇm vùc nµy x¸c ®Þnh mét ®Æc tÝnh cña Classifier cã thÓ
®−îc tham chiÕu bëi c¸c Classifier kh¸c hay chØ ®−îc sö dông bëi chÝnh Classifier
chøa ®Æc tÝnh ®ã.
StructuralFeature (®Æc ®iÓm cÊu tróc) : ®−îc thõa kÕ tõ Fearture,
StructuralFeature m« t¶ ®Æc tÝnh vÒ mÆt cÊu tróc cña mét Classifier, m« t¶ cÊu tróc
nµy cã thÓ thay ®æi hay cè ®Þnh qua thuéc tÝnh changeability cña StructuralFeature.
StructualFeature cã mét ®Æc biÖt hãa lµ Attribute (thuéc tÝnh).
BehavioralFeature (®Æc ®iÓm 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 cña 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 cña Classifier hay kh«ng qua thuéc tÝnh isQuery.
BehavioralFeature gåm hai ®Æc biÖt hãa lµ Operation (ho¹t ®éng) vµ Method (ph−¬ng
thøc). Ngoµi ra, m« h×nh Backbone cßn ®Þnh nghÜa c¸c phÇn tö cô thÓ ®ãng vai trß
quan träng bËc nhÊt lµ Attribute (thuéc tÝnh), Method (ph−¬ng thøc), Operation (m«
t¶ ph−¬ng thøc), Parameter (tham sè) vµ Constraint (rµng buéc).
Attribute (thuéc tÝnh) : Attribute m« t¶ c¸c gi¸ trÞ mµ mét Classifier cã thÓ sö
dông ®Ó thÓ hiÖn tr¹ng th¸i. Attribute cã c¸c thuéc tÝnh chÝnh lµ name (tªn), initial
value (gi¸ trÞ khëi ®Çu)
Operation (m« t¶ ph−¬ng thøc): Operation lµ ph−¬ng thøc cã thÓ ®−îc yª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 Parameter (tham sè) nghÜa lµ Operation sö dông 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.
Method (ph−¬ng thøc) : Method cã quan hÖ kÕt hîp víi Operation (m« t¶
ph−¬ng thøc) 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 thuËt to¸n. Method cã t¸c ®éng ®Õn kÕt qu¶ cña 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 phÇn tö kh¸c giao
tiÕp víi nã. Parameter ®−îc sö dông trong Operation (m« t¶ ph−¬ng thøc),
Templates (mÉu)...
Constraint (rµng bué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 phÇn tö, cã thÓ diÔn t¶ ë d¹ng v¨n b¶n hay mét biÓu thøc logic
cña mét ng«n ng÷ m« t¶ rµng buéc. Ngoµi viÖc ®Þnh nghÜa phÇn tö rµng buéc
Constraint, UML cßn ®Þnh nghÜa mét ng«n ng÷ cho m« t¶ rµng buéc lµ ng«n ng÷
rµng buéc ®èi t−îng(Object Constraint Language). Gi÷a c¸c Classifier cã quan hÖ
tæng qu¸t hãa. Do Classifier lµ phÇn tö trõu t−îng nªn tÊt c¶ c¸c phÇn tö thõa kÕ
Classifier ®Òu cã tÝnh chÊt nµy.
2.4.1.2. M« h×nh Relationships (c¸c quan hÖ)
12
AsosicationEnd
isNavigable: Boolean
ordering: OrderingKind
aggregation:AggregationKind
multiplicity: Multiplicity
changeability:ChangeableKind
visibility: VisibilityKind
Model Element
name :Name
Relationship
Flow GeneralizableElement
isRoot:Boolean
isLeaf:Boolean
isAbstract:boolean
Asosication
body: BooleanExpression
Classifier
Class
isActive: Boolean
Assosication Class
Generalization
dicrimonator: Name
Attribute
initialvalue: Expression
+ source
+ target *
*
+ target Flow
*
+ source Flow
*
+ generalization
*
+ child
1
* 1+ specialization + parent
*
0..1
+ powertypeRange
+ powertype
+ specialization
+ type
*1
* *
+ qualifier + asosicationEnd
* 0..1
{ordered}
{ordered}
+ connection
2..* 1
H×nh 2.10. M« h×nh Relationships
13
M« h×nh Relationships ®Þnh nghÜa c¸c quan hÖ gi÷a c¸c phÇn tö UML bao
gåm hai lo¹i quan hÖ c¬ b¶n lµ generalization (quan hÖ tæng qu¸t hãa), association
(quan hÖ kÕt hîp).
Generalization ®−îc ®Þnh nghÜa lµ sù liªn hÖ gi÷a hai phÇn tö. PhÇn tö ®Æc
biÖt h¬n gäi lµ phÇn tö con (child) vµ phÇn tö tæng qu¸t h¬n lµ phÇn tö cha
(parent).
Association (Quan hÖ kÕt hîp) m« t¶ nhiÒu Classifier tham gia vµo nhiÒu
AssociationEnd (mèi kÕt hîp). Association th−êng gÆp lµ quan hÖ kÕt hîp cã hai
AssociationEnd (mèi kÕt hîp). Mçi mèi kÕt hîp g¾n víi mét Classifier. Association
m« t¶ sù liªn hÖ vÒ ng÷ nghÜa gi÷a c¸c Classifier.
AssociationClass (Líp kÕt hîp), Thõa kÕ tõ Class vµ Association,
AssociationClass võa cã tÝnh chÊt cña mét Class võa cã tÝnh chÊt cña mét
Association. AssociationClass nèi mét tËp c¸c classifier víi nhau vµ cã c¸c thuéc
tÝnh riªng ®Æc tr−ng cho quan hÖ gi÷a c¸c classifier nµy.
Nh©n sù
TiÒn l−¬ng
Nh©n sù
1..*
C«ng ty
0..*
H×nh 2.11. VÝ dô líp kÕt hîp
2.4.1.3. M« h×nh Classifiers (c¸c ®Æc biÖt hãa cña classifiers)
M« h×nh Classifiers m« t¶ c¸c ®Æc biÖt hãa cña Classifier bao gåm c¸c phÇn tö
Class (líp), Interface (giao diÖn), DataType (kiÓu d÷ liÖu), Node (nót) vµ
Component (thµnh phÇn)
14
isActive: Boolean
Class DataType
Interface Node Component
visibility: VisibilityKind
Element
ModelElement
+resident
+deploymentLocation *
* *
* +resident
+ImplementationLocation
Classifier
H×nh 2.12. C¸c líp ®Æc biÖt cña Classifier
Class (líp)
Class lµ tËp hîp c¸c ®èi t−îng cã cïng c¸c thué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µ phÇn tö cô thÓ cã biÓu diÔn ký
hiÖu trªn M« h×nh UML. Lµ ®Æc biÖt hãa cña Classifier, Class bao gåm c¸c
Attribute (thuéc tÝnh), Operation (m« t¶ ph−¬ng thøc) vµ Method. Gi÷a c¸c Class
cã quan hÖ tæng qu¸t hãa, quan hÖ kÕt hîp.
Th− ký
KÕ to¸n viªnC«ng viÖc
Phßng ban
Tªn nh©n viªn
Nh©n viªn
LÊy th«ng tin nh©n viªn()
Thùc hiÖn
Trùc thuéc
Quan hÖ
kÕt hîp
Tæng qu¸t ho¸
Thuéc tÝnh
Ph−¬ng thøc
H×nh 2.13. VÝ dô vÒ líp vµ quan hÖ gi÷a c¸c líp
15
Interface (giao diÖn)
Interface lµ tËp c¸c operation (ph−¬ng thøc) cña mét Classifier. Mçi Interface
cung cÊp mét dÞch vô cña 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.
DataType (kiÓu d÷ liÖu)
DataType m« t¶ kiÓu d÷ liÖu cña ng−êi sö dông. 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 cña ng−êi sö dông tïy
thué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.
Node (nót)
Node lµ phÇn tö ®¹i diÖn cho mét tµi nguyªn 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.
Component (thµnh phÇn)
Component lµ mét phÇn riªng biÖt ë møc vËt lý cña 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 interface (giao diÖn) kh¸c nhau. Mçi giao diÖn bao gåm nhiÒu ph−¬ng thøc
kh¸c nhau ®Ó phôc vô cho mét môc ®Ý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Ó.
>
MSBind
DBindingColectionEvents Giao diÖn
Component
DBindingColection
DBinding
Mét MSBind lµ mét
component nèi mét control
cñ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µ Bindding
H×nh 2.14. VÝ dô vÒ component vµ interface
16
2.4.1.4. M« h×nh Dependencies (c¸c quan hÖ phô thuéc)
Dependency m« t¶ sù phô thué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ô thuéc gi÷a hai phÇn tö ModelElement nªn hÇu nh− tÊt
c¶ c¸c phÇn tö cô thÓ thõa kÕ ModelElement ®Òu cã thÓ cã quan hÖ phô thuéc.
Quan hÖ phô thuéc cã c¸c ®Æc biÖt hãa lµ Binding (g¾n), Abstraction (trõu
t−îng hãa), Usage (sö dông) vµ Permisson (cho phÐp).
Relation
name: Name
ModelElement Dependency
Binding
1..*
1..*
*
*
+ supplier
+ client + clientDependency
+ supplierDependency
Usage
mapping: MappingExpression
Abstraction Permission
+ argument
{ordered}
1..*
0..1
H×nh 2.15. M« h×nh Dependence
Binding (g¾n)
Binding ®Þnh nghÜa quan hÖ gi÷a mét Template (mÉu) lµ thµnh phÇn cho cña
Dependency víi mét thµnh phÇn ®−îc t¹o tõ Template ®ã lµ thµnh phÇn nhËn cña
Dependency. Binding bao gåm c¸c ®èi sè phï hîp víi c¸c tham sè cña Template.
Abstraction (trõu t−îng hãa)
Abstraction m« t¶ mèi liªn hÖ gi÷a c¸c phÇn tö ë c¸c møc trõu t−îng hãa
kh¸c nhau. VÝ dô nh− chuyÓn mét kh¸i niÖm ë møc ph©n tÝch sang møc thiÕt kÕ
b»ng quan hÖ Abstraction.
17
Usage (sö dông)
Usage lµ quan hÖ gi÷a mét phÇn tö ModelElement cã sö dông ph−¬ng thøc
cña mét phÇn tö ModelElement kh¸c.
Permisson (cho phÐp)
Permisson cung cÊp quyÒn h¹n cho mét phÇn tö ngoµi Namespace (kh«ng
gian c¸c phÇn tö) tham chiÕu c¸c phÇn tö kh¸c trong Namespace. PhÇn tö nhËn
lµ mét ModelElement phÇn tö cho b¾t buéc lµ mét Namespace.
2.4.1.5. M« h×nh AuxiliaryElements (c¸c phÇn tö bæ sung)
TemplateParameter
name:Name
ModelElement
Element
PresentationElement
+ defaultElement
1..*
0..1
+ subject
{ordered}
+ templateParameter
+presentation
+ annotatedElement
* *
Element
+argument
{ordered}
0..1
*
*
Comment
*
*
H×nh 2.16. M« h×nh AuxiliaryElements
Template Parameter (tham sè cho mÉu)
Tham sè cho mÉu lµ tham sè cho c¸c phÇn 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
c¸ch cung cÊp c¸c líp tham sè cho Template. TemplateParameter ®Þnh nghÜa quan
18
hÖ gi÷a mét phÇn tö ModelElement víi c¸c tham sè (c¸c tham sè nµy lµ c¸c phÇn
tö ModelElement). ModelElement lµ mét Template khi sö dông Ýt nhÊt mét
TemplateParameter.
Presentation Element (phÇn 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.
2.4.2. Package Extension Mechanisms (gãi kü thuËt më réng)
2.4.2.1. Kh¸i qu¸t
Extension Mechanisms ®Þnh nghÜa c¸ch thøc më réng ng«n ng÷ UML b»ng
c¸ch ®−a ra c¬ chÕ bæ sung c¸c phÇn tö víi ng÷ nghÜa míi. Package nµy ®Þnh
nghÜa Stereotypes, Constraint (rµng buéc) vµ Tagged Value (thÎ gi¸ trÞ) lµ ba c¬
chÕ më réng cña UML.
UML cung cÊp c¬ chÕ më réng ®Ó thªm c¸c phÇn tö míi cho c¸c lÜnh vùc
®Æc biÖt mµ UML chuÈ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 phÇn tö vµ quy
®Þnh ng÷ nghÜa míi do ®«i khi cßn cã c¸c rµng buéc ng÷ nghÜa trong thÕ giíi
thùc. Do ®ã c¸c stereotype th−êng chøa c¸c rµng buéc vµ c¸c gi¸ trÞ thÎ. Mçi
StereoType quy ®Þnh lo¹i phÇn tö ModelElement mµ stereotype nµy cã thÓ t¸c
®éng. PhÇn tö ®−îc t¸c ®éng nµy lµ c¸c phÇn tö trong siªu m« h×nh UML vÝ dô
nh− Class, Association, Component... Khi g¾n stereotype vµo c¸c phÇn tö nµy th×
®−îc phÇn tö míi thõa kÕ phÇn tö cò vµ cã tªn cña stereotype. VÝ dô nh−
Component cã c¸c stereotype lµ "document”,"executable”,"table”. C¸c stereotype
nµy b¶n chÊt còng 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.
19
ModelElement
(from Core)
Constraint
(from Core)
+ constraint
{ordered}
+ constrainedElement
1
0..1
+ taggedValue
GeneralizableElement
(from Core)
+ stereotype
icon:Geometry
baseClass:Name
Stereotype
1..*
*
*
+ constrainedElement
0..1
0..1
+ requiredTag *
*
+ extendedElement
{xor}
Element
*
+ stereotypeConstraint
H×nh 2.17. M« h×nh Extension Mechanisms
2.4.2.2. Constraint (rµng buéc)
Lµ c¸c rµng buéc ng÷ nghÜa ®−îc g¾n víi mét phÇn tö cÇn më réng ®Ó ¸p
®Æt c¸c ®iÒu kiÖn lªn phÇn tö nµy vµ cã t¸c dông thay ®æi hay giíi h¹n ng÷
nghÜa. PhÇn tö më réng ph¶i tháa m·n c¸c rµng buéc nµy ®Ó ®¶m b¶o sù chÝnh
x¸c vÒ ng÷ nghÜa. Constraint còng cã thÓ ®−îc g¾n víi stereotypes ®Ó t¸c ®éng
lªn c¸c phÇn tö cã quan hÖ víi stereotypes nµy.
2.4.2.3. Stereotype
Lµ c¬ chÕ ph©n lo¹i mét phÇn tö theo quan hÖ kÕt hîp cña phÇn tö nµy víi
c¸c stereotype. Mçi stereotype g¾n mét phÇn tö sÏ cho mét phÇn tö míi thõa kÕ
phÇn 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 cña hai phÇn tö cïng cÊu tróc. VÝ dô nh− trong quy tr×nh ph¸t triÓn
phÇn mÒm Rational Unified Process, c¸c stereotype cho phÇn 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. Môc ®Ých cña më réng
nµy lµ ph©n lo¹i c¸c Class theo chøc n¨ng phôc vô cho qu¸ tr×nh ph©n tÝch.
20
Class víi
stereotype lµ
"boundary"
Giao diÖn ng−êi sö dông
Giao diÖn ng−êi sö dông
Ph©n tÝch
H×nh 2.18. VÝ dô Stereotype
2.4.2.4. Tagged Value (thÎ gi¸ trÞ)
Lµ c¸c thuéc tÝnh ®Ýnh kÌm cho mét phÇn 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 phÇn tö míi.
2.4.3. C¸c kiÓu d÷ liÖu trong siªu m« h×nh UML (Data Types)
2.4.3.1. Kh¸i qu¸t
DataTypes ®Þnh nghÜa c¸c kiÓu d÷ kiÖu dïng riªng trong siªu m« h×nh UML
nghÜa lµ thuéc tÝnh cña c¸c phÇn tö trong siªu m« h×nh UML 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 thuéc
tÝnh vµ ý nghÜa mçi thuéc tÝnh cña mét phÇn tö trong siªu m« h×nh UML.
Data Types kh«ng ph¶i lµ kiÓu d÷ liÖu cña ng−êi sö dông. KiÓu d÷ liÖu cña
ng−êi sö dông UML ®−îc ®Þnh nghÜa bëi DataType lµ ®Æc biÖt hãa cña
Classifiers trong Core. Data Types kh«ng ®Þnh nghÜa có ph¸p nµo cho ng−êi sö
dông.
2.4.3.2. 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ª.
21
EnumerationLiteral : ®Þnh nghÜa mét gi¸ trÞ thuéc mét kiÓu liÖt kª.
Expression : biÓu thøc tr¶ vÒ mét kiÓu thuéc package DataType.
Integer : kiÓu nguyªn.
IterationExpression : chuçi tr¶ vÒ cÊu tróc kiÓm so¸t lÆp.
LocationReference : vÞ trÝ cho viÖc chÌn mét use case vµo mét use case kh¸c.
Mapping : biÓu thøc chuyÓ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è nguyªn 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 yª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 vµ final.
ScopeKind : kiÓu liÖt kª bao gåm c¸c gi¸ trÞ classifier vµ instance.
String : chuçi v¨n b¶n.
Structure : kiÓu d÷ liÖu cã cÊu tróc.
Time : kiÓu giê.
TimeExpression : biÓu thøc kiÓu Time.
UnlimitedInteger : kiÓu nguyªn 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.
2.5. Behavioural Elements Package (gãi phÇn tö hµnh vi)
Behavioral Elements bao gåm c¸c phÇn tö cïng 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 Cases (m«
h×nh chøc n¨ng), State Machines (m« h×nh tr¹ng th¸i) vµ Activity Graphs (m« h×nh
hµnh ®éng).
22
Activity Graphs
State MachinesUse CasesCollaboration
Common
Behavior
H×nh 2.19 Behavioural Elements Package
CommonBehavior ®Þnh nghÜa c¸c phÇn tö hµnh vi c¬ b¶n.
Collaboration ®Þnh nghÜa c¸c phÇn tö vµ có ph¸p cho biÓu ®å
Collaboration vµ Sequence ë M« h×nh UML. Collaboration m« t¶ t−¬ng t¸c gi÷a
c¸c phÇn tö ®Ó thùc hiÖn mét t¸c vô cô thÓ.
Use Cases bao gåm c¸c phÇn tö m« h×nh hãa chøc n¨ng hÖ thèng cho tõng
lo¹i ng−êi sö dông. Use Cases gi÷ vai trß ®Þnh nghÜa cho biÓu ®å Use Case ë M«
h×nh UML.
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 cña mét phÇn tö. StateMachine ®Þnh nghÜa biÓu ®å StateChart trong M«
h×nh UML.
Activity Graphs lµ d¹ng ®Æc biÖt cña StateMachine, ®−îc ®Þnh nghÜa dùa trªn
StateMachine, m« t¶ qu¸ tr×nh hµnh ®éng cña mét hay nhiÒu phÇn tö. Activity
Graphs ®Þnh nghÜa biÓu ®å Activity Graph trong M« h×nh UML.
2.5.1. Package Common Behavior (gãi hµnh vi tæng qu¸t)
Common Behavior ®Þnh nghÜa c¸c phÇn tö c¬ b¶n cho m« h×nh hãa t−¬ng t¸c.
Common Behiavior ®−îc m« t¶ b»ng c¸c m« h×nh Signals (tÝn hiÖu), Actions (hµnh
®éng), Instances and Links (thÓ hiÖn vµ liªn kÕt).
23
Classifier
(from Core)
Signal
Exception
BehavioralFeature
(from Core)
specification:String
isRoot:Boolean
isLeaf:Boolean
isAbstract:Boolean
Stereotype
+signal
0..*
+reception
*
+context+raisedSignal
1 *
H×nh 2.20. M« h×nh Signals
2.5.1.1. M« h×nh Signals (tÝn hiÖu)
M« h×nh nµy chñ yÕu ®Þnh nghÜa phÇn tö Signal (tÝn hiÖu). TÝn hiÖu ®−îc t¹o
ra tõ mét BehavioralFeature (®Æc ®iÓm hµnh vi) cña classifier nµy vµ gñi ®Õn mét
phÇn tö Reception (nhËn tÝn hiÖu)cña mét classifier kh¸c.
Reception (phÇn tö nhËn tÝn hiÖu)
Reception lµ phÇn tö nhËn tÝn hiÖu tõ mét classifier vµ gi÷ chøc n¨ng m« t¶
c¸c hµnh ®éng (b»ng chuçi v¨n b¶n) cña tÝn hiÖu ®Õn classifier nhËn.
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µ phÇn tö ®éc
lËp víi c¸c classifier. Signal ®−îc t¹o ra do c¸c BehavioralFeature (®Æc ®iÓm hµnh
vi) cña c¸c classifier nµy vµ göi ®Õn c¸c classifier kh¸c. Do BehavioralFeature lµ
phÇn tö hµnh vi trõu t−îng nªn tÊt c¶ c¸c phÇn tö hµnh vi thõa kÕ
BehavioralFeature nh− c¸c operation (m« t¶ ph−¬ng thøc) ®Òu cã thÓ t¹o vµ göi c¸c
signal.
24
Exception (lçi ngo¹i 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.5.1.2. M« h×nh Actions (hµnh ®éng)
Action ®−îc m« t¶ b»ng m« h×nh Actions cña siªu m« h×nh UML. Action lµ c¸c
chØ thÞ thi hµnh cã g©y ¶nh h−ëng ®Õn tr¹ng th¸i cña hÖ thèng
Model
(from Core)
recurrence:IterationExpression
target:ObjectSetExpression
isAsynchronous:Boolean
script:ActionExpression
Action
value:Expression
Argument
ActionSequence
CallAction SendAction UninterpretedAction
ReturnAction TerminateAction
Operation
(from Core)
Signal
DestroyAction
*
1
*
1
+instantiation
CreateAction
Class
(from Core)
0..*
1
+operation +signal
0..1 0..*
+actualArgument
{ordered}
{ordered}
+action
0..1
H×nh 2.21. M« h×nh Action
Argument (®èi sè)
Argument lµ ®èi sè cho mét Action, cung cÊp gi¸ trÞ tham sè cho mét Action.
Action (hµnh ®é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 cña hÖ thèng. Action bao gåm c¸c ®Æc biÖt hãa sau
AssignmentAction : g¸n cho thuéc tÝnh mét gi¸ trÞ míi.
25
CallAction : kÝch ho¹t mét hµnh ®éng.
CreateAction : t¹o thÓ hiÖn cña mét Classifier.
DestroyAction : hñy 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ù hñy cña mét ®èi t−îng.
UninterpretedAction : hµnh ®éng kh«ng x¸c ®Þnh.
ActionSequence (hµnh ®éng phøc)
ActionSequence lµ mét hµnh ®éng chøa mét tËp c¸c Action con theo thø tù x¸c
®Þnh.
2.5.1.3. M« h×nh Instances vµ Links (thÓ hiÖn vµ liªn kÕt)
Instance vµ Link ®−îc ®Þnh nghÜa trong m« h×nh Instances vµ Links cña siªu
m« h×nh UML. Instance ®Þnh nghÜa thÓ hiÖn cña mét classifier, c¸c thÓ hiÖn nµy
liªn kÕt víi nhau qua c¸c Link.
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.
AttributeLink (thÎ thuéc tÝnh)
AttributeLink chøa tËp c¸c gi¸ trÞ cña Attribute trong mét instance do ®ã thÓ
hiÖn tr¹ng th¸i cña instance.
LinkEnd (mèi liªn kÕt)
LinkEnd lµ c¸c mèi liªn kÕt cña mét Link. Mçi LinkEnd t−¬ng øng víi mét
AssociationEnd (mèi kÕt hîp) ®Ó x¸c ®Þnh LinkEnd. LinkEnd trong siªu m« h×nh
UML lµ thÓ hiÖn cña AssociationEnd trong siªu m« h×nh UML. C¸c instance liªn kÕt
víi nhau qua c¸c LinkEnd.
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 siªu m« h×nh UML lµ thÓ hiÖn Association trong siªu
m« h×nh UML. Link chØ cã vai trß liªn kÕt c¸c instance víi nhau, c¸c hµnh ®éng
26
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.
Instance (thÓ hiÖn)
Instance lµ thÓ hiÖn cña 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 cña c¸c Operation (m« t¶ ph−¬ng thøc) ®Ó thay
®æi tr¹ng th¸i. Instance ®−îc x¸c ®Þnh cÊu tróc 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Þ cña mét thuéc tÝnh lµ thÓ hiÖn cña kiÓu d÷
liÖu cña thuéc tÝnh ®ã.
ComponentInstance (thÓ hiÖn thµnh phÇn): thÓ hiÖn cña mét Component.
NodeInstance (thÓ hiÖn nót) : thÓ hiÖn cña mét Node.
Object (®èi t−îng) : thÓ hiÖn cña mét Class.
27
28
ModelElement
(from Core)recurrence:IterationExpression
target:ObjectSetExpression
isAsynchronous:Boolean
script:ActionExpression
Action
Attribute
(from Core)
Classifier
(from Core)
AttributeLink Link LinkEnd
Asscociatio
n
(from Core)
AsscociationEnd
(from Core)Instance
+classifie
r
DataValue ComponentInstance NodeInstance Object
LinkObject
+attribute
+slot
+value
{orderd}
+argument
+receiver +sender
+communicationLin
k
+connection
{ordered
}
+linkEn
d
+asscociatio
n
+asscociationEn
d
+connection
+instance
+resident
+dispatchAction
1 2..*
0..*
1
Simulus
*
*
1
*
1
*
0..1*
*
1
1
*
1
*
1
*
1
+resident
* 0..1
0..1
H×nh 2.22. M« h×nh Instances vµ Links
29
2.5.2. Collaborations Package (gãi céng t¸c)
Collaborations ®Þnh nghÜa phÇn tö Collaboration vµ có ph¸p cho m« h×nh
hãa t−¬ng t¸c gi÷a c¸c phÇn tö ®Ó thi hµnh mét t¸c vô cô thÓ. M« h×nh céng
t¸c m« t¶ quan hÖ gi÷a instance vµ link th«ng qua c¸c message (th«ng ®iÖp).
PhÇn tö Collaboration ®−îc ®Þnh nghÜa lµ qu¸ tr×nh trao ®æi c¸c message
(th«ng ®iÖp) gi÷a c¸c role (vai) cña c¸c phÇn tö trong Collaboration. Mét phÇn
tö classifier cã thÓ tham gia vµo Collaboration th«ng qua nhiÒu vai cña phÇn tö
®ã.
GeneralizableElement
{from Core}
NameSpace
{from Core}
NameSpace
Operatio
{from Cor
Classifie
{from Cor
*
*
0..1
0..1
+ represented
Operation
+ represented
Classifier
AsosicationRole
multiplic ity: Multiplicity
+ ownedElement InteractionModel Element
{from Core}
Message
Asosication
{from Core}
AsosicationEnd
{from Core}
AsosicationEndRole
collaborationMultiplic ity:
Multiplic ity ClassifierRole
multiplic ity: Multiplicity
Attribute
{from Core}
Feature
{from Core}
Action
{from Core}
1
+ context1
*
1
*
+ interaction
+ message
+ predecssor
*
*+ activation
+ action
*
*
0..1
1
**
1 1+ receive+ sender
+/ ownedElement1..*
*
+/type 1*
* *
+avaiable
Feature
+avaiableQualifier
*
*
1
2..* +/connection
*0..1
+ base
+connection
1
2..*
1
*
*
*
+ constrainingElement
+avaiable
contents
*
*
{xor}
H×nh 2.23. Gãi Collaborations
AssociationEndRole (vai cña mèi kÕt hîp)
AssociationEndRole lµ mèi liªn kÕt cña mét vai Association
(AssociationRole) trong Collaboration. Mét Association cã thÓ tham gia nhiÒu
vai vµo Collaboration nªn còng cã nhiÒu vai cña mèi liªn kÕt t−¬ng øng.
31
AssociationRole (vai cña quan hÖ kÕt hîp)
Mét Association cã thÓ tham gia vµo Collaboration qua nhiÒu
AssociationRole. AssociationRole lµ mét vai cña Association trong
Collaboration.
ClassifierRole (vai cña Classifier)
Mét Collaboration bao gåm c¸c ClassifierRole vµ c¸c liªn kÕt gi÷a c¸c
ClassifierRole nµy. Mét Classifier cã thÓ tham gia vµo Collaboration qua nhiÒu
ClassifierRole.
Collaboration (hîp t¸c)
Collaboration m« t¶ qu¸ tr×nh t−¬ng t¸c gi÷a c¸c phÇn tö classifier (qua c¸c
ClassifierRole cña nã) ®Ó thùc hiÖn mét operation (m« t¶ ph−¬ng thøc). C¸c
classifier nµy trao ®æi c¸c th«ng ®iÖp víi nhau theo mét thø tù x¸c ®Þnh. Mçi
th«ng ®iÖp g©y ra mét hµnh ®éng lªn phÇn tö classifier nhËn. Collaboration
chÝnh lµ m« t¶ cho c¬ chÕ vËn hµnh cña mét hÖ thèng
Giao diÖn söa ®æi th«ng tin
sinh viªn :SVUI
Xö lý söa ®æi th«ng tin sinh
viªn:SV control
Xö lý söa ®æi th«ng tin sinh
viªn:SV control
D÷ liÖu sinh viªn :
SV Data
1.Söa ®æi th«ng tin sinh viªn
:Phßng ®µo t¹o
4.Chän sinh viªn vµ söa ®æi
5.CËp nhËt th«ng tin ®· söa ®æi
5. CËp nhËt th«ng tin sinh viªn
2. HiÓn thÞ c¸c sinh viªn
3.lÊy d÷ liÖu sinh viªn
7. CËp nhËt d÷ liÖu lªn CSDL
AsociationRole
Th«ng ®iÖp víi classifier göi
vµ nhËn
Hai vai trß cña cïng m ét classifier
"SVControl" tham gia vµo Collaboration
H×nh 2.24. VÝ dô sù hîp t¸c
32
Message (th«ng ®iÖp)
Message lµ th«ng ®iÖp gi÷a c¸c ClassifierRole. Message ®Þnh nghÜa vai trß
cña ClassifierRole göi vµ ClassifierRole nhËn cïng víi mét Action (hµnh ®éng)
lªn Classifier nhËn th«ng ®iÖp.
2.5.3. Use Cases Package (gãi Use Cases)
Use Cases ®Þnh nghÜa c¸c phÇn tö vµ có ph¸p cho m« h×nh hãa chøc n¨ng
cña hÖ thèng cung cÊp cho tõng lo¹i ng−êi sö dông. C¸c phÇn tö trong Use
Cases chñ yÕu ®Ó m« t¶ c¸c hµnh vi trong hÖ thèng trong khi vÉn ch−a x¸c
®Þnh cÊu tróc hÖ thèng. Use Cases ®Þnh nghÜa hai phÇn tö c¬ b¶n lµ Actor vµ
UseCase. Actor lµ c¸c t¸c nh©n bªn ngoµi hÖ thèng cã t−¬ng t¸c víi hÖ thèng
(cã thÓ lµ ng−êi sö dông hay mét hÖ thèng kh¸c). Trong khi ®ã, mçi UseCase
m« t¶ mét chøc n¨ng cña hÖ thèng vµ chøc n¨ng nµy ®−îc kÝch ho¹t khi cã
t¸c ®éng cña Actor lªn UseCase.
Association nèi Actor víi c¸c UseCase cho biÕt c¸c chøc n¨ng mµ hÖ thèng
cung cÊp cho Actor.
Classifier
{from Core}
Instance
{from Common Behavior}
UseCaseInstance
UseCaseActor
Include Extend
condition : BooleanExpression
Relationship
{from Core}
Model Element
{from Core}
ExtensionPoint
location :LocationRefence
+extensionPoint
*1..*
+classifier
1 *
1..* +extensionPoint
{ordered}
*
+ base + base
+extension
11 1
+include**
+addition 1
* *
H×nh 2.25. gãi Use Cases
Actor (t¸c nh©n)
Actor lµ t¸c nh©n t¸c ®éng lªn hÖ thèng th«ng qua c¸c Use Case cña hÖ
thèng. Mét Actor cã thÓ t−¬ng t¸c víi nhiÒu Use Case kh¸c nhau.
33
ExtensionPoint (®iÓm më réng)
ExtensionPoint lµ vÞ trÝ trong mét UseCase cã thÓ më réng hµnh vi b»ng
c¸ch chÌn thªm c¸c hµnh vi cho Use Case ®ã.
Extend (më réng)
Extend ®Þnh nghÜa quan hÖ gi÷a c¸c Use Case víi ý nghÜa mét Use Case
nµy cã thÓ ®−îc më réng thªm c¸c hµnh vi trong Use Case kh¸c b»ng c¸ch
thªm vµo m« t¶ cña Use Case gèc c¸c biÓu thøc vµ ®iÒu kiÖn më réng t¹i
nh÷ng vÞ trÝ x¸c ®Þnh trong mét d·y c¸c hµnh vi cña Use Case.
Include (bao gåm)
Include ®Þnh nghÜa quan hÖ gi÷a c¸c Use Case víi ý nghÜa UseCase nµy sö
dông c¸c hµnh vi ®−îc ®Þnh nghÜa trong UseCase kh¸c.
UseCase
UseCase lµ c¸c chøc n¨ng cña hÖ thèng d−íi gãc ®é cña ng−êi sö dông.
UseCase kh«ng quan t©m ®Õn cÊu tróc bªn trong cña hÖ thèng. Mçi UseCase
bao gåm mét d·y c¸c hµnh ®éng nguyªn tè cã thø tù (kh«ng bÞ ng¾t bëi c¸c
hµnh ®éng nµo kh¸c)mµ hÖ thèng sÏ thùc hiÖn khi cã t−¬ng t¸c cña Actor lªn
UseCase ®ã. Mçi UseCase cã thÓ ®−îc m« t¶ râ h¬n th«ng qua mét
Collaboration chøa c¸c thµnh phÇn cña hÖ thèng vµ t−¬ng t¸c gi÷a chóng ®Ó
thùc hiÖn Use Case.
:Phßng ®µo t¹o
Qu¶n lý sinh viªn
§¨ng nhËp hÖ thèng
>
actor (t¸c nh©n)
Usecase
(tr−êng hîp sö
dông)
H×nh 2.26. VÝ dô UseCase
34
2.5.4. Package State Machines (gãi m« h×nh tr¹ng th¸i)
State Machines cung cÊp c¸c phÇn tö vµ có ph¸p cho m« h×nh hãa hµnh
®éng vµ biÕn ®æi tr¹ng th¸i cña mét phÇn tö trong chu kú sèng d−íi c¸c sù
kiÖn t¸c ®éng lªn nã. Mét mét phÇn tö (nh− c¸c Classifiers, Operation,
Attribute...) cã thÓ cã mét qu¸ tr×nh biÕn ®æi tr¹ng th¸i. Qu¸ tr×nh nµy ®−îc
®Þnh nghÜa bëi phÇn tö StateMachine.
PhÇn tö StateMachine ®−îc ®Þnh nghÜa trong gãi nµy bao gåm phÇn tö c¬
b¶n lµ State vµ Transition. State m« t¶ tr¹ng th¸i mét phÇn tö. Transition bao
gåm nhiÒu lo¹i kh¸c nhau m« t¶ sù chuyÓn tr¹ng th¸i sang mét tr¹ng th¸i
míi qua hµnh ®éng cña mét event (sù kiÖn). State Machines bao gåm hai m«
h×nh lµ Main (chñ yÕu) vµ Events (sù kiÖn). Main m« t¶ State (tr¹ng th¸i) vµ
chuyÓn tr¹ng th¸i (Transition). Events m« t¶ c¸c sù kiÖn t¸c ®éng lªn mét phÇn
tö.
2.5.4.1. M« h×nh Main
Model Element
{from Core}
E
Action
{from Common
Behavior}
State
StateVertex
StateMachine
SynchState
bound :
UnlimitedInteger
PseudoState
kind :
PseudoKind
StubState
referenceState: Name
Transition
SimpleState FinalStateCompositeState
isConcurent :
Boolean
SubmachineState
Guard
expression :
BooleanExpression
+ source
+ target
+top
0..1
*
1
+context
*+behaviour
+submachine
1
1 *
+outgoing
+incoming
+transition
0..1
*
+guard0..1
1
0..1
0..1 +effect
*
0..1
0..1
* +internal
0..1 0..1
0..1 0..1
0..1 0..1
+entry
+exit
+doActivity
+deferrableEven
0..*0..*
0..1
*
+container
+subvertex
0..*
35
H×nh 2.27. M« h×nh Main ®Þnh nghÜa c¸c tr¹ng th¸i vµ sù dÞch chuyÓn tr¹ng th¸i
StateVertex (®iÓm tr¹ng th¸i)
StateVertex lµ ®iÓm biÓu diÔn trùc quan mét tr¹ng th¸i.
State (tr¹ng th¸i)
VÏ h×nh
entry:thiÕt lËp Device
do:vÏ trªn Device
exit: huû bá Device
H×nh 2.28. VÝ dô tr¹ng th¸i
State m« t¶ tr¹ng th¸i cña phÇn tö (classifier, operation, use case...)ngoµi ra
cßn m« t¶ mét sè c¸c Action sÏ ®−îc thi hµnh khi phÇn tö b¾t ®Çu tr¹ng th¸i,
n¾m gi÷ tr¹ng th¸i vµ kÕt thóc tr¹ng th¸i cïng mét sè c¸c Event (sù kiÖn)
®−îc treo kh«ng cho t¸c ®éng lªn phÇn tö. State cã ®Æc biÖt hãa lµ FinalState.
FinalState lµ tr¹ng th¸i kÕt thóc.
PseudoState (tr¹ng th¸i gi¶)
PseudoState ®Þnh nghÜa c¸c lo¹i State më réng cho StateMachine.
PseudoState bao gåm c¸c lo¹i sau
initial : tr¹ng th¸i khëi ®Çu ®Ó phÇn tö chuyÓn sang tr¹ng th¸i mÆc ®Þnh.
deepHistory : lÊy l¹i State ®· ®−îc gi÷ tr−íc ®ã ë bÊt cø State con nµo cña
CompositeState chøa deepHistory.
shallowHistory : lÊy l¹i State ®· ®−îc gi÷ tr−íc ®ã ë cïng møc víi
shalowHistory trong CompositeState.
join : nhãm c¸c Transition tõ nhiÒu State kh¸c nhau.
fork : t¸ch Transition thµnh nhiÒu Transition ®Õn c¸c State kh¸c nhau.
junction : t¸ch mét Transition thµnh c¸c Transition cã Guard ®Ó ph©n nh¸nh
theo ®iÒu kiÖn
36
Tr¹ng th¸i
mÆc ®Þnh
T¹m dõng
Tr¹ng th¸i kÕt hîp 1
Tr¹ng th¸i kÕt hîp 2
B1
H
C1
C2
H×nh 2.29. VÝ dô vÒ tr¹ng th¸i gi¶ vµ tr¹ng th¸i kÕp hîp
Transition (chuyÓn tr¹ng th¸i)
Transition ®Þnh nghÜa quan hÖ chuyÓn ®æi tr¹ng th¸i gi÷a mét StateVertex
nguån vµ mét StateVertex ®Ých. Mét Transition cã thÓ g¾n víi c¸c Guard (c¶nh
giíi). Guard lµ biÓu thøc logic g¾n víi mçi Transition. Khi mét sù kiÖn t¸c
®éng lªn phÇn tö g¾n víi StateMachine, Transition sÏ ®−îc kÝch ho¹t ®Ó phÇn tö
nµy chuÈn bÞ chuyÓn tr¹ng th¸i. §èi víi c¸c Transition cã Guard th× biÓu thøc
cña Guard sÏ ®−îc l−îng gi¸. Sù chuyÓn tr¹ng th¸i chØ x¶y ra khi biÓu thøc
nµy cã gi¸ trÞ lµ true, ng−îc l¹i sÏ bÞ hñy bá.
CompositeState (tr¹ng th¸i phøc)
Composite State ®¹i diÖn cho tr¹ng th¸i phøc bao gåm nhiÒu ®iÓm tr¹ng
th¸i (StateVertex). Do mçi ®iÓm tr¹ng th¸i biÓu diÔn mét tr¹ng th¸i ®¬n nªn
CompositeState còng bao gåm nhiÒu tr¹ng th¸i ®¬n. CompositeState còng cã
thÓ bao gåm c¸c CompositeState kh¸c.
StateMachine
StateMachine lµ phÇn tö m« t¶ tr¹ng th¸i vµ sù biÕn ®æi tr¹ng th¸i qua c¸c
sù kiÖn cho phÇn tö g¾n víi StateMachine. StateMachine bao gåm hai phÇn tö
c¬ b¶n lµ State (tr¹ng th¸i) vµ Transition (chuyÓn tr¹ng th¸i).
2.5.5. M« h×nh Events (sù kiÖn)
Event lµ c¸c sù kiÖn t¸c ®éng lªn mét ModelElement bao gåm c¸c ®Æc biÖt
hãa sau
37
Call Event : mét Operation ®−îc kÝch ho¹t.
ChangeEvent : mét biÓu thøc logic chuyÓn sang gi¸ trÞ true.
SignalEvent : mét Signal ®−îc göi ®i.
TimeEvent : kÕt thóc mét giíi h¹n thêi gian.
Model Element
{from Core}
Parameter
{from Core}
Operation
{from Core}
Signal
{from Core}
Event
SignalEvent CallEvent TimeEvent
when : TimeExpression
ChangeEvent
changeExpression :
BooleanExpression
{ordered}
+ parameter
0..1
1
*
* *
1
+ occurrence + occurrence
+ signnal + operation
H×nh 2.30. M« h×nh Event
2.5.6. Activity Graphs Package (gãi biÓu ®å hµnh ®éng)
Activity Graphs lµ ®Æc biÖt ho¸ tõ StateMachine. Activity Graphs m« t¶ c¸c
phÇn tö vµ có ph¸p cho m« h×nh hãa hµnh ®éng vµ sù chuyÓn ®æi hµnh ®éng
gi÷a c¸c phÇn tö víi nhau ®Ó thùc hiÖn mét t¸c vô. Activity Graphs tËp trung
vµo tr×nh tù vµ ®iÒu kiÖn x¶y ra cña c¸c hµnh ®éng, sù ph©n chia hµnh ®éng
cho mçi phÇn tö liªn quan.
38
Model Element
{from Core}
Classifier
{from Core}
StateMachine
{from State Machine}
Parameter
{from Core}
PartitionActivityGraph
State
{from State
Machine}
CompositeState
isConcurrent: Boolean
SimpleState
{from State
Machine}
SubmachineState
{from State Machine}
ActionState
isDynamic : Boolean
dynamicArgument: :
ArgListExpression
dynamicMultiplicity : Multiplicity
ObjectFlowState
isSynch: Boolean
ClassifierState
SubactivityState
isDynamic : Boolean
dynamicArgument: :
ArgListExpression
dynamicMultiplicity : Multiplicity
CallState
+type
+behavior
+context
0..1
*
0..1
1+top
+inState
1..*
+partition
1 0..*
1
*
1
*
+type
+state
+parameter
*
* 0..*
+top
H×nh 2.31. M« h×nh Activity Graphs
2.5.6.1. ActionState (tr¹ng th¸i hµnh ®éng)
ActionState kÕ thõa SimpleState tõ StateMachine ®¹i diÖn cho viÖc thi hµnh
mét hµnh ®éng.
2.5.6.2. ActivityGraph (®å thÞ hµnh ®éng)
ActivityGraph m« t¶ c¸c xö lý cña c¸c phÇn tö liªn quan, phÇn tö nµo ®¶m
nhËn c¸c xö lý nµo vµ sù chuyÓn giao xö lý gi÷a c¸c phÇn tö víi nhau.
ActivityGraph ®−îc g¾n víi mét classifier (bao gåm UseCase) vµ cã thÓ ®−îc
sö dông ®Ó m« h×nh hãa quy tr×nh nghiÖp vô trong mét tæ chøc.
39
Yªu cÇu
mua hµng
Thanh to¸n
NhËn
®Æt hµng
Giao hµng
Cung cÊp
hµng
NhËn hµng
Kh¸ch hµng Bé phËn b¸n hµng Kho hµng
H×nh 5.32. VÝ dô vÒ biÓu ®å ho¹t ®éng
2.5.6.3. ObjectFlowState (tr¹ng th¸i ®èi t−îng lu©n chuyÓn)
ObjectFlowState m« t¶ sù trao ®æi d÷ liÖu vÒ c¸c ®èi t−îng gi÷a c¸c tr¹ng
th¸i hµnh ®éng trong ActivityGraph. ObjectFlowState chøa th«ng tin vÒ mét
classifier ®ang ë mét tr¹ng th¸i x¸c ®Þnh vµ ®ãng vai trß trao ®æi th«ng tin
gi÷a c¸c ActionState.
2.5.6.4. Partition (vïng)
Parttion ph©n chia c¸c State trong ActivityGraph thµnh c¸c nhãm vµ th−êng
t−¬ng øng víi c¸c ®¬n vÞ cÊu tróc trong mét tæ chøc. Partition cã thÓ ®−îc sö
dông ®Ó ph©n lo¹i tr¹ng th¸i hay c¸c tµi nguyªn hÖ thèng cã liªn quan ®Õn
mét nhãm c¸c tr¹ng th¸i
2.6. Model Management Package (gãi qu¶n trÞ m« h×nh)
Model Management bao gåm c¸c phÇn tö cã chøc n¨ng tËp hîp c¸c phÇn tö
kh¸c thµnh nhãm. C¸c phÇn tö ®−îc ®Þnh nghÜa trong Model Management cã ý
nghÜa logic trong hÖ thèng ®−îc m« h×nh hãa. Chøc n¨ng cña chóng lµ ph©n
40
chia hÖ thèng thµnh c¸c phÇn con gióp cho viÖc qu¶n lý m« h×nh còng nh−
m« h×nh hãa thuËn lîi h¬n.
Model Element
{from Core}
Classifier
{from Core}
NameSpace
{from Core}
+ ownedElement
ElementOwnerShip
{from Core}
Element Import
visibility : visibilityKind
alias : Name
GeneralizableElement
{from Core}
Package
Model
+ nameSpace
+importedElement
0..1
* *
*
Subsystem
isInstantiable: Boolean
H×nh 5.33. Gãi Model Management
2.6.1. ElementImport
ElementImport ®Þnh nghÜa chØ danh vµ tÇm vùc cña mét ModelElement khi
®−îc ®−a vµo mét Package. Mét ModelElement trong package sÏ cã chØ danh
cã thÓ kh¸c víi ®Þnh danh cña ModelElement ®ã.
2.6.2. Model (m« h×nh)
M« h×nh lµ trõu t−îng hãa cña mét hÖ thèng cho mét môc ®Ých cô thÓ.
Môc ®Ých nµy gióp x¸c ®Þnh nh÷ng thµnh phÇn nµo cña hÖ thèng sÏ ®−îc
ph¶n ¸nh ë m« h×nh, kh«ng ph¶i tÊt c¶ c¸c thµnh phÇn hÖ thèng ®Òu tån t¹i
trong mét m« h×nh. Do ®ã m« h×nh sÏ thÓ hiÖn hÖ thèng trªn gãc ®é phï hîp
víi môc ®Ých nµy.
2.6.3. Package (gãi)
Package lµ tËp hîp logic c¸c phÇn tö do ®ã Package kh«ng ®ãng vai trß g×
trong qu¸ tr×nh m· hãa phÇn mÒm. Tuy nhiªn Package gióp qu¶n lý m« h×nh
víi chøc n¨ng chøa c¸c phÇn tö vµ c¸c Package con. C¸c thµnh phÇn trong
mét Package cã tÇm vùc ®−îc x¸c ®Þnh qua thuéc tÝnh visibility cho c¸c thµnh
phÇn ngoµi Package tham chiÕu ®Õn.
41
Quan hÖ "access" (lµ mét stereotype cña quan hÖ Permission)gi÷a hai
Package mang ý nghÜa c¸c phÇn tö cã visibility lµ "public" trong Package cho cã
thÓ tham chiÕu bëi c¸c phÇn tö trong Package nhËn.
Quan hÖ "import" (lµ mét stereotype cña quan hÖ Permission)gi÷a hai
Package mang ý nghÜa c¸c phÇn tö cã visibility lµ "public" trong Package cho
®−îc thªm vµo trong Package nhËn víi c¸c chØ danh kh¸c (®Ó tr¸nh trïng tªn
víi chØ danh cña c¸c phÇn tö cã s½n) vµ cã thÓ ®−îc tham chiÕu bëi c¸c phÇn
tö cã s½n qua chØ danh nµy.
2.6.4. Subsystem (hÖ thèng con)
Subsystem lµ nhãm c¸c phÇn tö m« t¶ hµnh ®éng cña mét hÖ thèng.
Subsystem do ®ã bao gåm c¸c Operation (m« t¶ ph−¬ng thøc) vµ cung cÊp c¸c
Interface (giao diÖn). 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.
42
Các file đính kèm theo tài liệu này:
- pages_from_ngon_ngu_mo_hinh_hoa_uml_2_8483.pdf