Luận văn: Nghiên cứu ngôn ngữ UML và ứng dụng
7,575
671
171
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
61
http://www.ebooks.vdcmedia.com
Cases (mö hònh chûác nùng), State Machines (mö hònh traång thaái) vaâ Activity
Graphs (mö hònh hoaåt àöång).
Hònh 2-21 Caác thaânh töëá haânh vi
CommonBehavior àõnh nghôa caác thaânh töë haânh vi cú baãn.
Collaboration àõnh nghôa caác thaânh töë vaâ cuá phaáp cho lûúåc àöì
Collaboration vaâ Sequence úã UML model. Collaboration mö taã tûúng taác
giûäa caác thaânh töë àïí thûåc hiïån möåt taác vuå cuå thïí.
Use Cases bao göìm caác thaânh töë mö hònh hoáa chûác nùng hïå thöëng cho
tûâng loaåi ngûúâi sûã duång. Use Cases giûä vai troâ àõnh nghôa cho lûúåc àöì
Use Case
úã UML model.
StateMachine bao göìm caác khaái niïåm cho mö hònh hoáa quaá trònh thay àöíi
traång thaái cuãa möåt thaânh töë. StateMachine àõnh nghôa lûúåc àöì StateChart
trong
UML model.
Activity Graphs laâ daång àùåc biïåt cuãa StateMachine, àûúåc àõnh nghôa dûåa
trïn StateMachine, mö taã quaá trònh hoaåt àöång cuãa möåt hay nhiïìu thaânh
töë.
Activity Graphs àõnh nghôa lûúåc àöì Activity Graph trong UML model.
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 48
2.48. Package Common Behavior (goái haânh vi töíng quaát)
Common Behavior àõnh nghôa caác thaânh töë cú baãn cho mö hònh hoáa tûúng
taác. Common Behiavior àûúåc mö taã bùçng caác mö hònh Signals(tñn hiïåu),
Actions
(taác àöång), Instances and Links (thïí hiïån vaâ liïn kïët).
2.48.1. Mö hònh Signals (tñn hiïåu)
Mö hònh naây chuã yïëu àõnh nghôa thaânh töë Signal (tñn hiïåu). Tñn hiïåu àûúåc
taåo ra tûâ möåt haânh vi (BehavioralFeature) cuãa classifier naây vaâ guãi àïën
möåt
thaânh töë nhêån tñn hiïåu (Reception) cuãa möåt classifier khaác. Tñn hiïåu
àûúc taåo ra
têåp caác haânh vi cuãa möåt Do thûâa kïë tûâ (BehavioralElement laâ thaânh
haânh vi cuãa
möåt classifier) Reception cuäng laâ möåt thaânh haânh vi cuãa classifier. àõnh
nghôa
haânh vi xûã lyá tñn cuãa möåt tñn hiïåu àûúåc gûãi àïën thaânh töë xûã lyá tñn
hiïåu cuãa möåt
Hònh 2-22 Mö hònh Siignall àõnh nghôa thaânh töëá Siignall (tñn hiïåu)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
62
http://www.ebooks.vdcmedia.com
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 49
2.49. Reception (thaânh töë nhêån tñn hiïåu)
Reception laâ thaânh töë nhêån tñn hiïåu tûâ möåt classifier vaâ giûä chûác nùng
mö
taã caác taác àöång (bùçng chuöîi vùn baãn) cuãa tñn hiïåu àïën classifier
nhêån.
2.49.1. Signal (tñn hiïåu)
Signal laâ caác taác tûúng taác khöng àöìng böå giûäa caác classifier vaâ laâ
thaânh
töë àöåc lêåp vúái caác classifier. Signal àûúåc taåo ra do caác haânh vi
(BehvioralFeature) cuãa caác classifier naây vaâ gûãi àïën caác classifier
khaác. Do
BehavioralFeature laâ thaânh töë haânh vi trûâu tûúång nïn têët caã caác thaânh
töë haânh vi
thûâa kïë BehavioralFeature nhû caác phûúng thûác (operation) àïìu coá thïí taåo
vaâ gûãi
caác signal.
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 50
2.50. Exception (löîi biïåt lïå)
Thûâa kïë signal, exception laâ tñn hiïåu àûúåc gûãi ài khi coá möåt löîi trong
quaá
trònh thi haânh möåt haânh vi.
2.50.1. Mö hònh Actions (taác àöång)
Action àûúåc mö taã bùçng mö hònh Actions cuãa UML metamodel.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
63
http://www.ebooks.vdcmedia.com
Action laâ caác chó thõ thi haânh coá gêy aãnh hûúãng àïën traång thaái cuãa hïå
thöëng caác
àùåc biïåt hoáa cuãa möåt taác àöång (Action) ActionSequence laâ möåt taác àöång
thûác
bao göìm caác taác àöång con theo trònh tûå xaác àõnh. Acti on bao göìm möåt
têåp àöëi
söë.
Hònh 2-23 Mö hònh àõnh nghôa haânh àöång (Actiions)
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 51
2.51. Argument (àöëi söë)
Argument laâ àöëi söë cho möåt Action, cung cêëp giaá trõ tham söë cho möåt
Action.
2.51.1. Action (taác àöång)
Action laâ caác chó thõ thi haânh trong möåt quy trònh tñnh toaán coá aãnh
hûúãng
àïën traång thaái cuãa hïå thöëng. Action bao göìm caác àùåc biïåt hoáa sau
- AssignmentAction : gaán cho thuöåc tñnh möåt giaá trõ múái.
- CallAction : kñch hoaåt möåt haânh àöång.
- CreateAction : taåo thïí hiïån cuãa möåt Classifier.
- DestroyAction : huãy möåt àöëi tûúång
- ReturnAction : traã vïì giaá trõ cho àöëi tûúång goåi.
- SendAction : gúãi tñn hiïåu (Signal ).
- TerminateAction : haânh àöång tûå huãy cuãa möåt àöëi tûúång.
- UninterpretedAction : haânh àöång khöng xaác àõnh.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
64
http://www.ebooks.vdcmedia.com
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 52
2.52. ActionSequence (taác àöång phûác)
ActionSequence laâ möåt taác àöång chûáa möåt têåp caác Action con theo thûá tûå
xaác àõnh.
2.52.1. Mö hònh Instances and Links (thïí hiïån vaâ liïn kïët)
Instance vaâ Link àûúåc àõnh nghôa trong mö hònh Instances and Links cuãa
UML metamodel. Instance àõnh nghôa thïí hiïån cuãa möåt classifier, caác thïí
hiïån
naây liïn kïët vúái nhau qua caác Link.
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 53
Liïn kïët (Link) bao göìm nhiïìu möëi liïn kïët (LinkEnd) Möìi liïn kïët
(LinkEnd) laâ thïí hiïån cuãa möëi kïët húåp (Association), àûúåc xaác àõnh búãi
möëi kïët
húåp. Instance laâ thïí hiïån cuãa Classifier, àûúåc xaác àõnh búãi Classifier.
Caác
Instance tûúng taác vúái nhau qua caác taác nhên (Stimulus). gùæn vúái caác
Link. Liïn
kïët (Link) laâ thïí hiïån cuãa quan hïå kïët húåp (Association), àûúåc xaác
àõnh búãi quan
hïå kïët húåp. Caác Instance liïn hïå vúái nhau qua caác Link.
Hònh 2-24 Mö hònh caác thûåc thïí vaâ caác liïn kïëát cuãa UML
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
65
http://www.ebooks.vdcmedia.com
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 54
2.54. Stimulus (taác nhên)
Stimulus laâ möåt giao tiïëp cuå thïí giûäa hai instance qua möåt liïn kïët
(link)
àûúåc gûãi ài búãi sûå thi haânh möåt Action, coá thïí laâ möåt tñn hiïåu gûãi
àïën instance
hay viïåc kñch hoaåt möåt phûúng thûác. Hay noái caách khaác, caác thïí hiïån
tûúng taác
vúái nhau qua stimulus.
2.54.2. AttributeLink (theã thuöåc tñnh)
AttributeLink chûáa têåp caác giaá trõ cuãa Attribute trong möåt instance do àoá
thïí hiïån traång thaái cuãa instance.
2.54.2. LinkEnd (möëi liïn kïët)
LinkEnd laâ caác möëi liïn kïët cuãa möåt Link. Möîi LinkEnd tûúng ûáng vúái
möåt möëi kïët húåp (AssociationEnd) àïí xaác àõnh LinkEnd. LinkEnd trong UML
metamodel laâ thïí hiïån cuãa AssociationEnd trong UML metamodel. Caác instance
liïn kïët vúái nhau qua caác LinkEnd.
2.54.3. Link (liïn kïët)
Link laâ liïn kïët giûäa caác instance. Link tûúng ûáng vúái möåt Association
coá
vai troâ xaác àõnh Link. Link trong UML metamodel laâ thïí hiïån Association
trong
UML metamodel. Link chó coá vai troâ liïn kïët caác instance vúái nhau, caác
taác àöång
giûäa caác instance thûåc hiïån qua caác stimulus. Möåt Link coá thïí tûúng ûáng
vúái
nhiïìu stimulus.
2.54.4. Instance (thïí hiïån)
Instance laâ thïí hiïån cuãa möåt Classifier. Instance laâ möåt thûåc thïí coá
caác
thöng tin vïì traång thaái vaâ chõu taác àöång cuãa caác phûúng thûác
(Operation) àïí thay
àöíi traång thaái. Instance àûúåc xaác àõnh cêëu truác vaâ haânh àöång qua
Classifier coá
quan hïå kïët húåp vúái noá. Instance coá caác àùåc biïåt hoáa sau
- DataValue (giaá trõ dûä liïåu): giaá trõ cuãa möåt thuöåc tñnh laâ thïí hiïån
cuãa kiïíu dûä
liïåu cuãa thuöåc tñnh àoá.
- ComponentInstance (thïí hiïån thaânh phêìn): thïí hiïån cuãa möåt Component.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
66
http://www.ebooks.vdcmedia.com
- NodeInstance (thïí hiïån nuát) : thïí hiïån cuãa möåt Node.
- Object (àöëi tûúång) : thïí hiïån cuãa möåt Class.
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 55
2.55. Package Collaborations (goái cöång taác)
Collaborations àõnh nghôa thaânh töë Collaboration vaâ cuá phaáp cho mö hònh
hoáa tûúng taác giûäa caác thaânh töë àïí thi haânh möåt taác vuå cuå thïí. Mö
hònh cöång taác
mö taã quan hïå giûäa instance vaâ link thöng qua caác thöng àiïåp (message).
Thaânh töë Collaboration àûúåc àõnh nghôa la øquaá trònh trao àöíi caác thöng
àiïåp
(message) giûäa caác vai (role) cuãa caác thaânh töë trong Collaboration. Möåt
thaânh töë
classifier coá thïí tham gia vaâo Collaboration thöng qua nhiïìu vai cuãa thaânh
töë àoá.
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 56
Classifier tham gia vaâo Collaboration qua nhiïìu vai (ClassifierRole). Caác
ClassifierRole trong Collaboration coá liïn hïå vúái nhau qua vai troâ caác möëi
liïn
kïët (AssociationRole) tûúng ûáng vúái caác möëi kïët húåp cuãa Classifier. Caác
ClassifierRo le trong Collaboration tûúng taác vúái nhau qua cú chïë trao àöíi
thöng
àiïåp (message). Möåt message xaác àõnh classifier gûãi vaâ calssifier nhêån.
Möåt
thöng àiïåp trong Colaboration tûúng ûáng vúái möåt taác àöång taåo nïn ùthöng
àiïåp.
Hònh 2-25 Mö hònh Collllaboratiions trong UML
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
67
http://www.ebooks.vdcmedia.com
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 57
2.57. AssociationEndRole (vai cuãa möëi kïët húåp)
AssociationEndRole laâ möëi liïn kïët cuãa möåt vai Association
(AssociationRole) trong Collaboration. Möåt Association coá thïí tham gia nhiïìu
vai vaâo Collaboration nïn cuäng coá nhiïìu vai cuãa möëi liïn kïët tûúng ûáng.
2.57.1. AssociationRole (vai cuãa quan hïå kïët húåp)
Möåt Association coá thïí tham gia vaâo Collaboration qua nhiïìu
AssociationRole. AssociationRole laâ möåt vai cuãa Association trong
Collaboration.
2.57.2. ClassifierRole (vai cuãa Classifier)
Möåt Collaboration bao göìm caác ClassifierRole vaâ caác liïn kïët giûäa caác
ClassifierRole naây. Möåt Classifier coá thïí tham gia vaâo Collaboration qua
nhiïìu
ClassifierRole.
2.57.3. Collaboration (cöång taác)
Collaboration mö taã quaá trònh tûúng taác giûäa caác thaânh töë classifier (qua
caác ClassifierRole cuãa noá) àïí thûåc hiïån möåt phûúng thûác (operation).
Caác
classifier naây trao àöíi caác thöng àiïåp vúái nhau theo möåt thûá tûå xaác
àõnh. Möîi
thöng àiïåp gêy ra möåt taác àöång lïn thaânh töë classifier nhêån.
Collaboration chñnh
laâ mö taã cho cú chïë vêån haânh cuãa möåt hïå thöëng
Giao diïån sûãa àöíi thöng tin sinh viïn : Sinh viïn UI
Xûã lyá sûãa àöíi thöng tin sinh viïn : Sinh viïn Control
Dûä liïåu sinh viïn : Sinh viïn Data
Xûã lyá sûãa àöíi thöng tin sinh viïn : Sinh viïn Control
1: sûãa àöíi thöng tin sinh viïn
4: choån sinh viïn vaâ sûãa àöíi
5: cêåp nhêåt thöng tin àaä sûãa àöíi
2: hiïín thi caác sinh viïn
6: cêåp nhêåt thöng tin sinh viïn
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
68
http://www.ebooks.vdcmedia.com
3: lêëy dûä liïåu sinh viïn
7: cêåp nhêåt dûä liïåu lïn cú súã dûä liïåu
Hai vai cuãa cuâng möåt classifier ” Sinh viïn Control” tham gia vaâo
Collaboration.
AssociationRole thöng àiïåp vúái classifier gûãi vaâ nhêån.
Hònh 2-26 Vñ duå vïì mö hònh cöång taác
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 58
2.58. Message (thöng àiïåp)
Message laâ thöng àiïåp giûäa caác ClassifierRole. Message àõnh nghôa vai
troâ cuãa ClassifierRole gûãi vaâ ClassifierRole nhêån cuâng vúái möåt taác
àöång
(Action) lïn Classifier nhêån thöng àiïåp.
2.58.1. Package Use Cases (goái Use Cases)
Use Cases àõnh nghôa caác thaânh töë vaâ cuá phaáp cho mö hònh hoáa chûác nùng
cuãa hïå thöëng cung cêëp cho tûâng loaåi ngûúâi sûã duång. Caác thaânh töë
trong Use
Cases chuã yïëu àïí mö taã caác haânh vi trong hïå thöëng trong khi vêîn chûa
xaác àõnh
cêëu truác hïå thöëng.
Use Cases àõnh nghôa hai thaânh töë cú baãn laâ Actor vaâ UseCase. Actor laâ
caác taác nhên bïn ngoaâi hïå thöëng coá tûúng taác vúái hïå thöëng (coá thïí
laâ ngûúâi sûã
duång hay möåt hïå thöëng khaác). Trong khi àoá, möîi UseCase mö taã möåt chûác
nùng
cuãa hïå thöëng vaâ chûác nùng naây àûúåc kñch hoaåt khi coá taác àöång cuãa
Actor lïn
UseCase. Association nöëi Actor vúái caác UseCase cho biïët caác chûác nùng maâ
hïå
thöëng cung cêëp cho Actor UseCase laâ möåt classifier chûáa möåt daäy caác
haânh vi
àûúåc th ûåc hiïån theo thûá tûå khi coá taác àöång kñch hoaåt tûâ taác nhên
(actor). Hai loaåi
quan hïå giûäa hai UseCase.
Hònh 2-27 Mö hònh àõnh nghôa Use Case trong UML
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
69
http://www.ebooks.vdcmedia.com
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 59
2.59. Actor (taác nhên)
Actor laâ taác nhên taác àöång lïn hïå thöëng thöng qua caác Use Case cuãa hïå
thöëng. Möåt Actor coá thïí tûúng taác vúái nhiïìu Use Case khaác nhau.
ExtensionPoint laâ võ trñ trong möåt UseCase coá thïí múã röång haânh vi bùçng
caách
cheân thïm caác haânh vi cho Use Case àoá.
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 60
2.60. Extend (múã röång)
Extend àõnh nghôa quan hïå giûäa caác Use Case vúái yá nghôa möåt Use Case
naây coá thïí àûúåc múã röång thïm caác haânh vi trong Use Case khaác bùçng
caách thïm
vaâo mö taã cuãa Use Case göëc caác biïíu thûác vaâ àiïìu kiïån múã röång taåi
nhûäng võ trñ
xaác àõnh trong möåt daäy caác haânh vi cuãa Use Case.
2.60.1. Include (bao göìm)
Include àõnh nghôa quan hïå giûäa caác Use Case vúái yá nghôa UseCase naây sûã
duång caác haânh vi àûúåc àõnh nghôa trong UseCase khaác.
2.60.2. UseCase
UseCase laâ caác chûác nùng cuãa hïå thöëng dûúái goác àöå cuãa ngûúâi sûã
duång.
UseCase khöng quan têm àïën cêëu truác bïn trong cuãa hïå thöëng. Möîi UseCase
bao
göìm möåt daäy caác haânh àöång nguyïn töë coá thûá tûå (khöng bõ ngùæt búãi
caác haânh
àöång naâo khaác) maâ hïå thöëng seä thûåc hiïån khi coá tûúng taác cuãa Actor
lïn
UseCase àoá. Möîi UseCase coá thïí àûúåc mö taã roä hún thöng qua möåt
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
70
http://www.ebooks.vdcmedia.com
Collaboration chûáa caác thaânh phêìn cuãa hïå thöëng vaâ tûúng taác giûäa
chuáng àïí thûåc
hiïån Use Case.
Quaãn lyá sinh viïn
Phoâng àaâo taåo
Àùng nhêåp hïå thöëng <<include> taác nhên (actor) UseCase UseCase Quaãn lyá
sinh
viïn bao göìm möåt daäy caác haânh àöång maâ hïå thöëng seä thûåc hiïån àïí
quaãn lyá sinh
viïn.
Hònh 2-28 Vñ duå Use Case
Chûúng 2
NGÛÄ NGHÔA VAÂ CUÁ PHAÁP CAÁC THAÂNH TÖË TRONG UML
(UML Semantic) 61
2.61. Package State Machines (goái mö hònh traång thaái)
State Machines cung cêëp caác thaânh töë vaâ cuá phaáp cho mö hònh hoáa hoaåt
àöång vaâ biïën àöíi traång thaái cuãa möåt thaânh töë trong chu kyâ söëng dûúái
caác sûå kiïån
taác àöång lïn noá. Möåt möåt thaânh töë (nhû caác Classifiers, Operation,
Attribute...)
coá thïí coá möåt quaá trònh biïën àöíi traång thaái. Quaá trònh naây àûúåc àõnh
nghôa búãi
thaânh töë StateMachine.
Thaânh töë StateMachine àûúåc àõnh nghôa trong goái naây bao göìm thaânh töë
cú baãn laâ State vaâ Transition. State mö taã traång thaái möåt thaânh töë.
Transition bao
göìm nhiïìu loaåi khaác nhau mö taã sûå chuyïín traång thaái sang möåt traång
thaái múái
qua taác àöång cuãa möåt sûå kiïån (event). State Machines bao göìm hai mö hònh
laâ
Main (chuã yïëu) vaâ Events (sûå kiïån). Main mö taã traång thaái (State) vaâ
chuyïín
traång thaái (Transition). Events mö taã caác sûå kiïån taác àöång lïn möåt
thaânh töë.