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

7,234
671
171
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
91
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 89
Ngûä nghôa
_ Möåt lûúåc àöì lúáp laâ möåt lûúåc àöì duâng àïí mö taã caác lúáp (class), caác giao tiïëp
(interface), sûå cöång taác (collaboration) vaâ caác möëi quan hïå giûäa caác thaânh phêìn
trong mö hònh.
_ Class Diagram laâ möåt thïí hiïån dûúái daång àöì thõ cêëu truác tônh cuãa mö hònh.
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 90
3.17. Chûác nùng
_ Àùåt tïn vaâ lêåp mö hònh caác khaái niïåm trong hïå thöëng.
_ Àùåc taã sûå cöång taác, caác möëi quan hïå quan hïå giûäa caác lúáp
_ Àùåc taã sú àöì cú súã dûä liïåu
_ Ngûúâi ta thûúâng duâng caác lûúåc àöì lúáp àïí thïí hiïån sûå kïët nöëi cuãa caác thaânh
phêìn cêëu truác trong design view vaâ process view.
_ Class Diagram àûúåc sûã duång trong mö hònh phên tñch vaâ thiïët kïë, höî trúå cho
giai àoaån phên tñch vaâ thiïët kïë hïå thöëng.
3.17.1. Caác thaânh phêìn chñnh
Lúáp (Class)
Ngûä nghôa
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 91 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 89 Ngûä nghôa _ Möåt lûúåc àöì lúáp laâ möåt lûúåc àöì duâng àïí mö taã caác lúáp (class), caác giao tiïëp (interface), sûå cöång taác (collaboration) vaâ caác möëi quan hïå giûäa caác thaânh phêìn trong mö hònh. _ Class Diagram laâ möåt thïí hiïån dûúái daång àöì thõ cêëu truác tônh cuãa mö hònh. Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 90 3.17. Chûác nùng _ Àùåt tïn vaâ lêåp mö hònh caác khaái niïåm trong hïå thöëng. _ Àùåc taã sûå cöång taác, caác möëi quan hïå quan hïå giûäa caác lúáp _ Àùåc taã sú àöì cú súã dûä liïåu _ Ngûúâi ta thûúâng duâng caác lûúåc àöì lúáp àïí thïí hiïån sûå kïët nöëi cuãa caác thaânh phêìn cêëu truác trong design view vaâ process view. _ Class Diagram àûúåc sûã duång trong mö hònh phên tñch vaâ thiïët kïë, höî trúå cho giai àoaån phên tñch vaâ thiïët kïë hïå thöëng. 3.17.1. Caác thaânh phêìn chñnh Lúáp (Class) Ngûä nghôa
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
92
http://www.ebooks.vdcmedia.com
Möåt lúáp (class) laâ möåt àaåi diïån cho möåt têåp caác caác àöëi tûúång coá nhûäng
àùåc tñnh tûúng tû nhau. Àêy laâ thaânh phêìn cú baãn nhêët cuãa möåt lûúåc àöì lúáp. Lúáp
cuäng coá cêëu truác dûä liïåu, haânh vi vaâ caác quan hïå vúái caác lúáp khaác.
Kyá hiïåu
Biïíu tûúång cuãa möåt lúáp àún giaãn chó laâ möåt hònh chûä nhêåt göìm coá ba
phêìn:
- Phêìn trïn cuâng : chûáa tïn cuãa lúáp, tïn cuãa lúáp phaãi laâ duy nhêët khöng àûúåc
truâng vúái tïn caác lúáp khaác trong cuâng möåt package. Ngoaâi ra trong möåt söë
trûúâng húåp ngùn naây coân coá thïí chûáa stereotype (khuön mêîu) hoùåc tagged value
(giaá trõ theã).
- Phêìn giûäa : chûáa danh saách caác thuöåc tñnh(hay coân goåi laâ caác biïën thaânh phêìn).
- Phêìn cuöëi : chûáa danh saách caác haânh vi (hay coân goåi laâ caác haâm thaânh phêìn)
Trong möåt söë lûúåc àöì hai phêìn dûúái cuâng thûúâng àûúåc boã qua, ngay caã khi
chuáng thûåc sûå hiïån diïån, thò chuáng cuäng khöng hiïîn thõ têët caã danh saách caác
thuöåc tñnh cuäng nhû caác haânh vi. Muåc tiïu úã àêy chó thïí hiïån nhûäng thuöåc tñnh
vaâ nhûäng haânh vi coá ñch trong möåt lûúåc àöì cuå thïí, vò vêåy biïíu tûúång cuãa lúáp coá
thïí àûúåc ruát goån khi cêìn thiïët.
Hònh 3-20 Biïíu tûúång cuãa möåt lúáp
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 91
(biïíu tûúång àún giaãn nhêët) (thïí hiïån cuãa lúáp úã mûác àöå phên tñch hïå thöëng) (thïí
hiïån cuãa lúáp úã mûác àöå triïín khai xêy dûång hïå thöëng)
Hònh 3-21 Thïí hiïån cuãa lúáp úã caác giai àoaån khaác nhau
Caác thuöåc tñnh vaâ caác haânh vi trong möåt lúáp coá thïí coá caác têìm vûåc (visibility)
khaác nhau, caác kyá hiïåu cuãa caác têìm vûåc àûúåc àùåt trûúác caác thuöåc tñnh hay haânh
vi, trong UML àõnh nghôa ba mûác chuêín :
_ Public kyá hiïåu bùçng dêëu (+)
_ Private kyá hiïåu bùçng dêëu (-)
_ Protected kyá hiïåu bùçng dêëu (#)
Cuá phaáp cho caác khai baáo cuãa thuöåc tñnh nhû sau :
Têìm vûåc Tïn thuöåc tñnh Baãn söë : Kiïíu = Giaá trõ khúãi taåo
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 92 http://www.ebooks.vdcmedia.com Möåt lúáp (class) laâ möåt àaåi diïån cho möåt têåp caác caác àöëi tûúång coá nhûäng àùåc tñnh tûúng tû nhau. Àêy laâ thaânh phêìn cú baãn nhêët cuãa möåt lûúåc àöì lúáp. Lúáp cuäng coá cêëu truác dûä liïåu, haânh vi vaâ caác quan hïå vúái caác lúáp khaác. Kyá hiïåu Biïíu tûúång cuãa möåt lúáp àún giaãn chó laâ möåt hònh chûä nhêåt göìm coá ba phêìn: - Phêìn trïn cuâng : chûáa tïn cuãa lúáp, tïn cuãa lúáp phaãi laâ duy nhêët khöng àûúåc truâng vúái tïn caác lúáp khaác trong cuâng möåt package. Ngoaâi ra trong möåt söë trûúâng húåp ngùn naây coân coá thïí chûáa stereotype (khuön mêîu) hoùåc tagged value (giaá trõ theã). - Phêìn giûäa : chûáa danh saách caác thuöåc tñnh(hay coân goåi laâ caác biïën thaânh phêìn). - Phêìn cuöëi : chûáa danh saách caác haânh vi (hay coân goåi laâ caác haâm thaânh phêìn) Trong möåt söë lûúåc àöì hai phêìn dûúái cuâng thûúâng àûúåc boã qua, ngay caã khi chuáng thûåc sûå hiïån diïån, thò chuáng cuäng khöng hiïîn thõ têët caã danh saách caác thuöåc tñnh cuäng nhû caác haânh vi. Muåc tiïu úã àêy chó thïí hiïån nhûäng thuöåc tñnh vaâ nhûäng haânh vi coá ñch trong möåt lûúåc àöì cuå thïí, vò vêåy biïíu tûúång cuãa lúáp coá thïí àûúåc ruát goån khi cêìn thiïët. Hònh 3-20 Biïíu tûúång cuãa möåt lúáp Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 91 (biïíu tûúång àún giaãn nhêët) (thïí hiïån cuãa lúáp úã mûác àöå phên tñch hïå thöëng) (thïí hiïån cuãa lúáp úã mûác àöå triïín khai – xêy dûång hïå thöëng) Hònh 3-21 Thïí hiïån cuãa lúáp úã caác giai àoaån khaác nhau Caác thuöåc tñnh vaâ caác haânh vi trong möåt lúáp coá thïí coá caác têìm vûåc (visibility) khaác nhau, caác kyá hiïåu cuãa caác têìm vûåc àûúåc àùåt trûúác caác thuöåc tñnh hay haânh vi, trong UML àõnh nghôa ba mûác chuêín : _ Public – kyá hiïåu bùçng dêëu (+) _ Private – kyá hiïåu bùçng dêëu (-) _ Protected – kyá hiïåu bùçng dêëu (#) Cuá phaáp cho caác khai baáo cuãa thuöåc tñnh nhû sau : Têìm vûåc – Tïn thuöåc tñnh – Baãn söë : Kiïíu = Giaá trõ khúãi taåo
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
93
http://www.ebooks.vdcmedia.com
Vñ duå : - color : Color = Red
+ size: Area = (100,100)
# points [2..*] : Point
Cuá phaáp cho caác khai baáo cuãa haâm nhû sau :
Têìm vûåc Tïn thuöåc tñnh (danh saách tham söë) : Kiïíu traã vïì
Vñ duå : + display (): Location
+ hide()
- attachXwindow(zwin: Xwindow*)
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 92
3.18. Interface
Ngûä nghôa
Coá nhûäng lúáp khöng coá gò ngoaâi caác haâm aão thuêìn tuáy, trong ngön ngûä
Java caác lúáp nhû vêåy khöng laâ àöëi tûúång, chuáng àûúåc goåi laâ interface (giao tiïëp).
Muöën sûã duång interface, lúáp phaãi giao tiïëp vúái noá bùçng möåt quan hïå phuå thuöåc,
lúáp sûã duång chó phuå thuöåc vaâo caác haânh vi trong giao tiïëp, chûá khöng phuå thuöåc
vaâo caác thûá khaác trong interface.
Kyá hiïåu
Kyá hiïåu àún giaãn cuãa möåt interface laâ möåt hònh troân nhoã coá tïn ngay phña
dûúái. Muöën chó ra caác haânh vi trong interface, coá thïí biïíu diïîn interface bùçng kyá
hiïåu lúáp vúái möåt stereotype bïn trïn cuãa tïn interface.
nh 3-22 Thïí hiïåän cuãa möåt iinterface
Hònh 3-23 Möåt caác sûã duång iinterface
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 93 http://www.ebooks.vdcmedia.com Vñ duå : - color : Color = Red + size: Area = (100,100) # points [2..*] : Point Cuá phaáp cho caác khai baáo cuãa haâm nhû sau : Têìm vûåc – Tïn thuöåc tñnh (danh saách tham söë) : Kiïíu traã vïì Vñ duå : + display (): Location + hide() - attachXwindow(zwin: Xwindow*) Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 92 3.18. Interface Ngûä nghôa Coá nhûäng lúáp khöng coá gò ngoaâi caác haâm aão thuêìn tuáy, trong ngön ngûä Java caác lúáp nhû vêåy khöng laâ àöëi tûúång, chuáng àûúåc goåi laâ interface (giao tiïëp). Muöën sûã duång interface, lúáp phaãi giao tiïëp vúái noá bùçng möåt quan hïå phuå thuöåc, lúáp sûã duång chó phuå thuöåc vaâo caác haânh vi trong giao tiïëp, chûá khöng phuå thuöåc vaâo caác thûá khaác trong interface. Kyá hiïåu Kyá hiïåu àún giaãn cuãa möåt interface laâ möåt hònh troân nhoã coá tïn ngay phña dûúái. Muöën chó ra caác haânh vi trong interface, coá thïí biïíu diïîn interface bùçng kyá hiïåu lúáp vúái möåt stereotype bïn trïn cuãa tïn interface. Hònh 3-22 Thïí hiïåän cuãa möåt iinterface Hònh 3-23 Möåt caác sûã duång iinterface
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
94
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 93
3.19. Caác loaåi quan hïå
3.19.1. Quan hïå kïët húåp (association)
Möåt quan hïå kïët húåp laâ quan hïå vïì mùåt cêëu truác giûäa hai, hoùåc giûäa möåt
vaâ nhiïìu thaânh töë (lúáp hoùåc àöëi tûúång).
- Trïn quan hïå kïët húåp coá thïí coá hai tïn cho hai hûúáng ngûúåc chiïìu nhau.
(2 quan hïå kïët húåp cöng nhên laâm viïåc cho cöng ty vaâ cöng ty quaãn lyá cöng
nhên )
manage
Hòònh 3-24 Tïân trong quan hïåä kïëát húåïp
- Möîi möëi hïå kïët húåp cuäng coá baãn söë (multiplicity) vaâ tñnh àõnh hûúáng
(navigate). Vñ duå nhû: (0..1), (1), (0..*), (1..*), (1..6), (10..*)...
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 94
Hònh 3-25 Baãn söëá (mulltiiplliiciity) trong quan hïå kïëát húåp
- Trong quan hïå kïët húåp cuäng coá sûå àïå quy (trong trûúâng húåp möåt lúáp (hay àöëi
tûúång) kïët húåp vúái chñnh noá. ( àïå quy )
Hònh 3-26 Quan hïåä kïëát húåïp àïåä quy
- Trong quan hïå kïët húåp coá thïí coá caác vai troâ (hoùåc thïí hiïån role) khaác nhau.
Tïn cuãa vai troâ (hoùåc thïí hiïån) àûúåc àùåt trïn quan hïå vaâ ngay saát caånh lúáp coá thïí
hiïån àoá. (xem hònh veä 3-27 bïn dûúái).
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 94 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 93 3.19. Caác loaåi quan hïå 3.19.1. Quan hïå kïët húåp (association) Möåt quan hïå kïët húåp laâ quan hïå vïì mùåt cêëu truác giûäa hai, hoùåc giûäa möåt vaâ nhiïìu thaânh töë (lúáp hoùåc àöëi tûúång). - Trïn quan hïå kïët húåp coá thïí coá hai tïn cho hai hûúáng ngûúåc chiïìu nhau. (2 quan hïå kïët húåp – cöng nhên laâm viïåc cho cöng ty vaâ cöng ty quaãn lyá cöng nhên ) manage Hòònh 3-24 Tïân trong quan hïåä kïëát húåïp - Möîi möëi hïå kïët húåp cuäng coá baãn söë (multiplicity) vaâ tñnh àõnh hûúáng (navigate). Vñ duå nhû: (0..1), (1), (0..*), (1..*), (1..6), (10..*)... Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 94 Hònh 3-25 Baãn söëá (mulltiiplliiciity) trong quan hïå kïëát húåp - Trong quan hïå kïët húåp cuäng coá sûå àïå quy (trong trûúâng húåp möåt lúáp (hay àöëi tûúång) kïët húåp vúái chñnh noá. ( àïå quy ) Hònh 3-26 Quan hïåä kïëát húåïp àïåä quy - Trong quan hïå kïët húåp coá thïí coá caác vai troâ (hoùåc thïí hiïån – role) khaác nhau. Tïn cuãa vai troâ (hoùåc thïí hiïån) àûúåc àùåt trïn quan hïå vaâ ngay saát caånh lúáp coá thïí hiïån àoá. (xem hònh veä 3-27 bïn dûúái).
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
95
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 95
(vai troâ) (Person àoáng vai troâ laâ ngûúâi lao àöång) (Company àoáng vai troâ laâ ngûúâi
chuã)
Hònh 3-27 Vai troâ (rolles) trong quan hïå kïëát húåp
- Ngoaâi ra coân coá Or-Association (quan hïå kïët húåp raâng buöåc or), àêy coá thïí coi
laâ möåt raâng buöåc trïn hai hay nhiïìu quan hïå kïët húåp. Noá xaác àõnh caác àöëi tûúång
cuãa möåt lúáp chó coá thïí tham gia vaâo möåt trong nhûäng quan hïå kïët húåp naây taåi
möåt thúâi àiïím. Xeát vñ duå trong hònh 3-28 taåi möåt thúâi àiïím nhêët àõnh thò lúáp
Account (taâi khoaãn) chó coá quan hïå kïët húåp vúái möåt trong hai lúáp Person (ngûúâi)
hoùåc Corporation (haäng). (caách thïí hiïån cuãa quan hïå Or-Association) (taåi möåt
thúâi àiïím thò chó coá möåt trong hai quan hïå coá taác duång)
Hònh 3-28 Möåt cuãa Or-Associiatiion
- Trong quan hïå kïët húåp cuäng coá quan hïå kïët húåp haån chïë (qualified
association). Xeát vñ duå hònh 3-29 lúáp Person (ngûúâi) chó quan hïå vúái lúáp Bank
(ngên haâng) thöng qua thuöåc tñnh haån chïë laâ account (taâi khoaãn).
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 96
(thuöåc tñnh haån chïë )
Hònh 3-29 Möåt vñ duå cuãa Qualliifiier Associiatiion
- Trong quan hïå kïët húåp ta cuäng coá möåt loaåi thïí hiïån khaác àoá laâ quan hïå thu naåp
(Aggregation). Quan hïå naây chó ra rùçng lúáp kïët húåp àûúåc xem laâ “toaân thïí“, vaâ
lúáp kia àûúåc xem nhû laâ möåt böå phêån cuãa “toaân thïí“ àoá. Xeát vñ duå hònh 3-30 lúáp
Window àûúåc xem laâ lúáp “toaân thïí” búãi vò noá coá thïí chûáa nhiïìu hònh (lúáp
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 95 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 95 (vai troâ) (Person àoáng vai troâ laâ ngûúâi lao àöång) (Company àoáng vai troâ laâ ngûúâi chuã) Hònh 3-27 Vai troâ (rolles) trong quan hïå kïëát húåp - Ngoaâi ra coân coá Or-Association (quan hïå kïët húåp raâng buöåc or), àêy coá thïí coi laâ möåt raâng buöåc trïn hai hay nhiïìu quan hïå kïët húåp. Noá xaác àõnh caác àöëi tûúång cuãa möåt lúáp chó coá thïí tham gia vaâo möåt trong nhûäng quan hïå kïët húåp naây taåi möåt thúâi àiïím. Xeát vñ duå trong hònh 3-28 taåi möåt thúâi àiïím nhêët àõnh thò lúáp Account (taâi khoaãn) chó coá quan hïå kïët húåp vúái möåt trong hai lúáp Person (ngûúâi) hoùåc Corporation (haäng). (caách thïí hiïån cuãa quan hïå Or-Association) (taåi möåt thúâi àiïím thò chó coá möåt trong hai quan hïå coá taác duång) Hònh 3-28 Möåt cuãa Or-Associiatiion - Trong quan hïå kïët húåp cuäng coá quan hïå kïët húåp haån chïë (qualified association). Xeát vñ duå hònh 3-29 lúáp Person (ngûúâi) chó quan hïå vúái lúáp Bank (ngên haâng) thöng qua thuöåc tñnh haån chïë laâ account (taâi khoaãn). Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 96 (thuöåc tñnh haån chïë ) Hònh 3-29 Möåt vñ duå cuãa Qualliifiier Associiatiion - Trong quan hïå kïët húåp ta cuäng coá möåt loaåi thïí hiïån khaác àoá laâ quan hïå thu naåp (Aggregation). Quan hïå naây chó ra rùçng lúáp kïët húåp àûúåc xem laâ “toaân thïí“, vaâ lúáp kia àûúåc xem nhû laâ möåt böå phêån cuãa “toaân thïí“ àoá. Xeát vñ duå hònh 3-30 lúáp Window àûúåc xem laâ lúáp “toaân thïí” búãi vò noá coá thïí chûáa nhiïìu hònh (lúáp
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
96
http://www.ebooks.vdcmedia.com
shape). (lúáp ”toaân thïí “) ( lúáp “böå phêån”) (caách thïí hiïån cuãa quan hïå thu naåp)
Hònh 3-30 Quan hïå thu naåp (aggregatiion)
- Ngoaâi ra coân coá quan hïå cêëu thaânh (composition). Àêy laâ möåt daång maånh hún
cuãa quan hïå thu naåp (aggregation), trong trûúâng húåp naây khi lúáp toaân thïí bõ huãy
thò lúáp böå phêån (hay lúáp cêëu thaânh) cuäng bõ huãy theo. Xeát vñ duå trong hònh bïn
dûúái 3-31 ta coá thïí thêëy lúáp Window àûúåc cêëu thaânh tûâ hai thanh cuöån
(scrollbar), möåt header àoáng vai troâ laâ tiïu àïì vaâ möåt panel àoáng vai troâ laâ body
cuãa Window.
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 97
(lúáp window àûúåc cêëu thaânh tûâ ba lúáp Slider , Header vaâ Panel) (caách thïí hiïån
cuãa quan hïå cêëu thaânh)
nh 3-31 Quan hïå cêëáu thaânh (Composiitiion)
- Ngoaâi ra coân coá quan hïå n-ary association (quan hïå kïët húåp bêåc n) giûäa nhiïìu
lúáp vúái nhau.Sau àêy laâ möåt vñ duå vïì quan hïå giûäa ba lúáp Year (nùm), Team
(àöåi) vaâ Player (cêìu thuã). Quan hïå naây chó ra söë baân àïí loåt lûúái, söë baân àúä àûúåc,
söë trêån thùæng, söë trêån thua, söë trêån hoâa cuãa thuã mön cuãa möåt àöåi boáng trong möåt
muâa boáng. (caách thïí hiïån cuãa quan hïå kïët húåp bêåc 3)
Hònh 3-32 Quan hïå kïëát húåp bêåc 3
- Lûu yá trong quan hïå kïët húåp bêåc n têët caã caác nhaánh quan hïå àïìu laâ quan hïå kïët
húåp thöng thûúâng, khöng phaãi laâ thu naåp hay cêëu thaânh.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 96 http://www.ebooks.vdcmedia.com shape). (lúáp ”toaân thïí “) ( lúáp “böå phêån”) (caách thïí hiïån cuãa quan hïå thu naåp) Hònh 3-30 Quan hïå thu naåp (aggregatiion) - Ngoaâi ra coân coá quan hïå cêëu thaânh (composition). Àêy laâ möåt daång maånh hún cuãa quan hïå thu naåp (aggregation), trong trûúâng húåp naây khi lúáp toaân thïí bõ huãy thò lúáp böå phêån (hay lúáp cêëu thaânh) cuäng bõ huãy theo. Xeát vñ duå trong hònh bïn dûúái 3-31 ta coá thïí thêëy lúáp Window àûúåc cêëu thaânh tûâ hai thanh cuöån (scrollbar), möåt header àoáng vai troâ laâ tiïu àïì vaâ möåt panel àoáng vai troâ laâ body cuãa Window. Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 97 (lúáp window àûúåc cêëu thaânh tûâ ba lúáp Slider , Header vaâ Panel) (caách thïí hiïån cuãa quan hïå cêëu thaânh) Hònh 3-31 Quan hïå cêëáu thaânh (Composiitiion) - Ngoaâi ra coân coá quan hïå n-ary association (quan hïå kïët húåp bêåc n) giûäa nhiïìu lúáp vúái nhau.Sau àêy laâ möåt vñ duå vïì quan hïå giûäa ba lúáp Year (nùm), Team (àöåi) vaâ Player (cêìu thuã). Quan hïå naây chó ra söë baân àïí loåt lûúái, söë baân àúä àûúåc, söë trêån thùæng, söë trêån thua, söë trêån hoâa cuãa thuã mön cuãa möåt àöåi boáng trong möåt muâa boáng. (caách thïí hiïån cuãa quan hïå kïët húåp bêåc 3) Hònh 3-32 Quan hïå kïëát húåp bêåc 3 - Lûu yá trong quan hïå kïët húåp bêåc n têët caã caác nhaánh quan hïå àïìu laâ quan hïå kïët húåp thöng thûúâng, khöng phaãi laâ thu naåp hay cêëu thaânh.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
97
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 98
3.20. Quan hïå töíng quaát hoáa
Quan hïå töíng quaát hoáa coân àûúåc goåi laâ quan hïå kïë thûâa. Quan hïå töíng
quaát hoáa laâ möåt quan hïå giûäa möåt thaânh töë töíng quaát (thûúâng àûúåc xem laâ thaânh
töë cha superclass) vaâ möåt hay nhiïìu thaânh töë chuyïn biïåt (àûúåc xem laâ thaânh
töë con - subclass). Quan hïå naây thûúâng àûúåc sûã duång cho caác thaânh töë mö hònh
nhû lúáp (class), goái (package), use case... Trong quan hïå naây thaânh töë con àûúåc
kïë thûâa caác àùåc àiïím cuãa thaânh töë cha (vñ duå lúáp con kïë thûâa caác thuöåc tñnh vaâ
haâm cuãa lúáp cha). Sau àêy laâ vñ duå vïì quan hïå töíng quaát hoáa :
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 99
(lúáp cha) (caác lúáp cha Shape àûúåc töíng quaát hoáa tûâ caác lúáp con Polygon, Ellipse,
Spline... ) (caách thïí hiïån kiïíu riïng leã) (caách thïí hiïån kiïíu cêy chia seä) (caách thïí
hiïån cuãa quan hïå kïë thûâa)
Hònh 3-33 Möåt söëá caách thïí hiïån cuãa quan hïå töíng quaát hoáa (Generalliizatiion)
Trong quan hïå töíng quaát hoáa coá möåt söë kiïíu raâng buöåc trïn quan hïå :
- Phuã lêëp (Overlapping) quan hïå naây cho pheáp möåt lúáp con úã cêëp sêu hún coá
thïí kïë thûâa tûâ nhiïìu lúáp con (cuâng möåt luác) úã cêëp cao hún cuãa möåt quan hïå kïë
thûâa trïn möåt lúáp cha chung naâo àoá.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 97 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 98 3.20. Quan hïå töíng quaát hoáa Quan hïå töíng quaát hoáa coân àûúåc goåi laâ quan hïå kïë thûâa. Quan hïå töíng quaát hoáa laâ möåt quan hïå giûäa möåt thaânh töë töíng quaát (thûúâng àûúåc xem laâ thaânh töë cha – superclass) vaâ möåt hay nhiïìu thaânh töë chuyïn biïåt (àûúåc xem laâ thaânh töë con - subclass). Quan hïå naây thûúâng àûúåc sûã duång cho caác thaânh töë mö hònh nhû lúáp (class), goái (package), use case... Trong quan hïå naây thaânh töë con àûúåc kïë thûâa caác àùåc àiïím cuãa thaânh töë cha (vñ duå lúáp con kïë thûâa caác thuöåc tñnh vaâ haâm cuãa lúáp cha). Sau àêy laâ vñ duå vïì quan hïå töíng quaát hoáa : Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 99 (lúáp cha) (caác lúáp cha Shape àûúåc töíng quaát hoáa tûâ caác lúáp con Polygon, Ellipse, Spline... ) (caách thïí hiïån kiïíu riïng leã) (caách thïí hiïån kiïíu cêy chia seä) (caách thïí hiïån cuãa quan hïå kïë thûâa) Hònh 3-33 Möåt söëá caách thïí hiïån cuãa quan hïå töíng quaát hoáa (Generalliizatiion) Trong quan hïå töíng quaát hoáa coá möåt söë kiïíu raâng buöåc trïn quan hïå : - Phuã lêëp (Overlapping) – quan hïå naây cho pheáp möåt lúáp con úã cêëp sêu hún coá thïí kïë thûâa tûâ nhiïìu lúáp con (cuâng möåt luác) úã cêëp cao hún cuãa möåt quan hïå kïë thûâa trïn möåt lúáp cha chung naâo àoá.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
98
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 100
(lúáp con coá kïë thûâa phuã lêëp) (lúáp con àûúåc kïë thûâa phuã lêëp) (lúáp cha) (caách thïí
hiïån cuãa quan hïå kïë thûâa phuã lêëp)
Hònh 3-34 Quan hïå kïëá thûâa phuã lêëáp (Overllappiing)
- Taách rúâi (Disjoint) quan hïå naây traái ngûúåc vúái quan hïå kïë thûâa phuã lêëp lúáp
con úã cêëp sêu hún khöng àûúåc kïë thûâa cuâng möåt luác nhiïìu lúáp con úã cêëp cao
hún.
- Hoaân toaân (Complete) coá nghôa laâ quan hïå naây àaä àêìy àuã caác lúáp con, khöng
thïí thïm múái möåt lúáp con naâo nûäa. Vñ d: lúáp cha laâ lúáp Gaâ (con gaâ)vaâ hai lúáp
con laâ Gaâ tröëng vaâ Gaâ maái, hiïín nhiïn ta khöng thïí thïm möåt lúáp vaâo trong quan
hïå kïë thûâa giûäa ba lúáp naây. Caách thïí hiïån cuäng tûúng tûå nhû phêìn phuã lêëp, ta chó
thay raâng buöåc Overlapping bùçng Complete.
- Khöng hoaân toaân (Incomplete) ngûúåc laåi vúái quan hïå hoaân toaân, àêy laâ quan
hïå mùåc àõnh trong quan hïå kïë thûâa, coá nghôa laâ coá thïí thïm vaâo caác lúáp con
trong quan hïå naây.
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 101
(thïí hiïån cuãa quan hïå kïë thûâa khöng hoaân toaân, taách rúâi)
Hònh 3-35 Quan hïå kïëá thûâa khöng hoaân toaân
3.21. Quan hïå phuå thuöåc (Dependency)
Quan hïå phuå thuöåc laâ möåt quan hïå ngûä nghôa giûäa hai thaânh töë mö hònh,
trong hai thaânh töë naây coá möåt thaânh töë àöåc lêåp vaâ möåt thaânh töë phuåc thuöåc vaâo
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 98 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 100 (lúáp con coá kïë thûâa phuã lêëp) (lúáp con àûúåc kïë thûâa phuã lêëp) (lúáp cha) (caách thïí hiïån cuãa quan hïå kïë thûâa phuã lêëp) Hònh 3-34 Quan hïå kïëá thûâa phuã lêëáp (Overllappiing) - Taách rúâi (Disjoint) – quan hïå naây traái ngûúåc vúái quan hïå kïë thûâa phuã lêëp – lúáp con úã cêëp sêu hún khöng àûúåc kïë thûâa cuâng möåt luác nhiïìu lúáp con úã cêëp cao hún. - Hoaân toaân (Complete) –coá nghôa laâ quan hïå naây àaä àêìy àuã caác lúáp con, khöng thïí thïm múái möåt lúáp con naâo nûäa. Vñ duå: lúáp cha laâ lúáp Gaâ (con gaâ)vaâ hai lúáp con laâ Gaâ tröëng vaâ Gaâ maái, hiïín nhiïn ta khöng thïí thïm möåt lúáp vaâo trong quan hïå kïë thûâa giûäa ba lúáp naây. Caách thïí hiïån cuäng tûúng tûå nhû phêìn phuã lêëp, ta chó thay raâng buöåc Overlapping bùçng Complete. - Khöng hoaân toaân (Incomplete) – ngûúåc laåi vúái quan hïå hoaân toaân, àêy laâ quan hïå mùåc àõnh trong quan hïå kïë thûâa, coá nghôa laâ coá thïí thïm vaâo caác lúáp con trong quan hïå naây. Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 101 (thïí hiïån cuãa quan hïå kïë thûâa khöng hoaân toaân, taách rúâi) Hònh 3-35 Quan hïå kïëá thûâa khöng hoaân toaân 3.21. Quan hïå phuå thuöåc (Dependency) Quan hïå phuå thuöåc laâ möåt quan hïå ngûä nghôa giûäa hai thaânh töë mö hònh, trong hai thaânh töë naây coá möåt thaânh töë àöåc lêåp vaâ möåt thaânh töë phuåc thuöåc vaâo
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
99
http://www.ebooks.vdcmedia.com
thaânh töë àöåc lêåp naây. Thûúâng àêy laâ quan hïå giûäa hai lúáp hai use case hoùåc hai
package...Vñ duå nhû möåt lúáp sûã duång tham söë laâ möåt àöëi tûúång cuãa möåt lúáp
khaác.
(lúáp Shape phuå thuöåc vaâo lúáp DrawingContext vò haâm Draw trong lúáp Shape sûã
duång tham söë laâ àöëi tûúång cuãa lúáp DrawingContext) (caách thïí hiïån cuãa quan hïå
phuå thuöåc )
Hònh 3-36 Möåt vñ duå cuãa quan hïå phuåc thuöåc
Thöng thûúâng quan hïå phuå thuöåc àûúåc biïíu diïîn bùçng möåt àûúâng àûát neát
coá möåt muäi tïn úã àêìu vaâ thûúâng coá caác keyword ài keâm bïn trïn muäi tïn àïí chó
kiïíu phuå thuöåc. (caác kiïíu quan hïå phuå thuöåc)
Hònh 3-37 Caác keyword trïn quan hïå phuå thuöåc
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 101
3.22. Caác thaânh töë àûúåc tñnh toaán (hay àûúåc dêîn xuêët derived Element)
Àêy laâ caác thaânh töë àûúåc tñnh tûâ caác thaânh töë khaác trong mö hònh hay
trong lûúåc àöì, chuáng àûúåc thïm vaâo trong baãn phên tñch giuáp laâm roä thïm caác
lûúåc àöì, chuáng vêîn àûúåc thïm vaâo ngay caã khi viïåc naây khöng cung cêëp thïm
thöng tin vïì ngûä nghôa cho lûúåc àöì. Kyá hiïåu cuãa caác thaânh töë naây laâ möåt dêëu söí
(/)ngay trûúác tïn cuãa thaânh töë. (thuöåc tñnh age àûúåc tñnh tûâ hai thuöåc tñnh
currentDate vaâ birthday) (quan hïå kïët húåp dêîn xuêët)
Hònh 3-38 Thaânh töëá tñnh toaán dêîn xuêëát (Deriived Ellement)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 99 http://www.ebooks.vdcmedia.com thaânh töë àöåc lêåp naây. Thûúâng àêy laâ quan hïå giûäa hai lúáp hai use case hoùåc hai package...Vñ duå nhû möåt lúáp sûã duång tham söë laâ möåt àöëi tûúång cuãa möåt lúáp khaác. (lúáp Shape phuå thuöåc vaâo lúáp DrawingContext vò haâm Draw trong lúáp Shape sûã duång tham söë laâ àöëi tûúång cuãa lúáp DrawingContext) (caách thïí hiïån cuãa quan hïå phuå thuöåc ) Hònh 3-36 Möåt vñ duå cuãa quan hïå phuåc thuöåc Thöng thûúâng quan hïå phuå thuöåc àûúåc biïíu diïîn bùçng möåt àûúâng àûát neát coá möåt muäi tïn úã àêìu vaâ thûúâng coá caác keyword ài keâm bïn trïn muäi tïn àïí chó kiïíu phuå thuöåc. (caác kiïíu quan hïå phuå thuöåc) Hònh 3-37 Caác keyword trïn quan hïå phuå thuöåc Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 101 3.22. Caác thaânh töë àûúåc tñnh toaán (hay àûúåc dêîn xuêët – derived Element) Àêy laâ caác thaânh töë àûúåc tñnh tûâ caác thaânh töë khaác trong mö hònh hay trong lûúåc àöì, chuáng àûúåc thïm vaâo trong baãn phên tñch giuáp laâm roä thïm caác lûúåc àöì, chuáng vêîn àûúåc thïm vaâo ngay caã khi viïåc naây khöng cung cêëp thïm thöng tin vïì ngûä nghôa cho lûúåc àöì. Kyá hiïåu cuãa caác thaânh töë naây laâ möåt dêëu söí (/)ngay trûúác tïn cuãa thaânh töë. (thuöåc tñnh age àûúåc tñnh tûâ hai thuöåc tñnh currentDate vaâ birthday) (quan hïå kïët húåp dêîn xuêët) Hònh 3-38 Thaânh töëá tñnh toaán – dêîn xuêëát (Deriived Ellement)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
100
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 103
3.23. Lûúåc àöì àöëi tûúång (Object Diagram)
Vñ duå: (caác àöëi tûúång trong lûúåc àöì (giaá trõ thuöåc tñnh) (liïn kïët giûäa caác àöëi
tûúång) (àöëi tûúång êín danh)
Hònh 3-39 Lûúåc àöì àöëái tûúång(Objject Diiagram)
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 104
Ngûä nghôa
_ Laâ möåt àöì thõ cuãa caác thïí hiïån, bao göìm caác àöëi tûúång vaâ caác giaá trõ cuå thïí.
_ Laâ möåt thïí hiïån cuãa lûúåc àöì lúáp, àûa ra möåt caái nhòn khaá chi tiïët vïì caác àöëi
tûúång trong hïå thöëng taåi möåt thúâi àiïím nhêët àõnh.
Chûác nùng
_ Minh hoåa cêëu truác cuãa dûä liïåu
_ Minh hoåa caác àöëi tûúång taåi nhûäng thúâi àiïím cuå thïí.
_ Àùåc taã caác snapshot (thïí hiïån cuãa hïå thöëng)
3.24. Caác thaânh phêìn chñnh
3.24.1. Caác àöëi tûúång (Objects)
Ngûä nghôa
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 100 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 103 3.23. Lûúåc àöì àöëi tûúång (Object Diagram) Vñ duå: (caác àöëi tûúång trong lûúåc àöì (giaá trõ thuöåc tñnh) (liïn kïët giûäa caác àöëi tûúång) (àöëi tûúång êín danh) Hònh 3-39 Lûúåc àöì àöëái tûúång(Objject Diiagram) Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 104 Ngûä nghôa _ Laâ möåt àöì thõ cuãa caác thïí hiïån, bao göìm caác àöëi tûúång vaâ caác giaá trõ cuå thïí. _ Laâ möåt thïí hiïån cuãa lûúåc àöì lúáp, àûa ra möåt caái nhòn khaá chi tiïët vïì caác àöëi tûúång trong hïå thöëng taåi möåt thúâi àiïím nhêët àõnh. Chûác nùng _ Minh hoåa cêëu truác cuãa dûä liïåu _ Minh hoåa caác àöëi tûúång taåi nhûäng thúâi àiïím cuå thïí. _ Àùåc taã caác snapshot (thïí hiïån cuãa hïå thöëng) 3.24. Caác thaânh phêìn chñnh 3.24.1. Caác àöëi tûúång (Objects) Ngûä nghôa