Luận văn: Nghiên cứu ngôn ngữ UML và ứng dụng

7,169
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).
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
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ä 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ä 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ä 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ä 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ä 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ä 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ä 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ä 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ä 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öë.
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öë.