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

7,696
671
171
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
101
http://www.ebooks.vdcmedia.com
Möåt object (àöëi tûúång) laâ möåt thïí hiïån cuå thïí cuãa möåt lúáp trong hïå thöëng,
àöëi tûúång coá thïí lêëy tïn thêåt trong thïë giúi thûåc. Möåt àöëi tûúång coá thïí àûúåc àõnh
danh vaâ àõnh trõ.
Kyá hiïåu
Kyá hiïåu cuãa àöëi tûúång trong lûúåc àöì laâ möåt hònh chûä nhêåt àûúåc dêîn xuêët
tûâ kyá hiïåu cuãa lúáp, thûúâng coá hai phêìn chñnh
- Phêìn trïn cuãa hònh chûä nhêåt chûáa tïn cuãa àöëi tûúång vaâ tïn lúáp cuãa àöëi tûúång
(caã hai àïìu àûúåc gaåch dûúái). Nïëu àöëi tûúång khöng coá tïn, chó coá lúáp phuå thuöåc,
ta goåi àêy laâ àöëi tûúång êín danh (anonymous). Cuá phaáp àùåt tïn àöëi tûúång :
Tïn àöëi tûúång : Tïn lúáp
- Phêìn bïn dûúái chûáa caác giaá trõ cuãa àöëi tûúång vúái caác giaá trõ cuå thïí. Cuá phaáp :
Tïn thuöåc tñnh : Kiïíu = Giaá trõ
(möåt thïí hiïån àún giaãn chó vúái tïn cuãa àöëi tûúång) (tïn àöëi tûúång) (tïn lúáp) (àöëi
tûúång coá caác giaá trõ thuöåc tñnh cuå thïí ) ( àöëi tûúång êín danh, chó coá tïn lúáp ) ( àöëi
tûúång vúái biïíu tûúång lúáp phuå thuöåc vaâ tïn àûúåc gaåch dûúái)
Hònh 3-40 Möåt söëá thïí hiïån cuãa àöëái tûúång (Objject)
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 105
3.25. Àöëi tûúång gheáp (Composite Object)
Ngûä nghôa
Àöëi tûúång gheáp biïíu diïîn àöëi tûúång úã mûác àöå cao hún, àöëi tûúång gheáp
àûúåc cêëu thaânh tûâ caác àöëi tûúång thaânh phêìn khaác. Àêy laâ möåt thïí hiïån cuãa lúáp
trong quan hïå cêëu thaânh (xem hònh 3-34).
Kyá hiïåu
Kyá hiïåu cuãa àöëi tûúång gheáp tûúång tûå nhû cuãa àöëi tûúång thûúâng, nhûng
phêìn hònh chûä nhêåt bïn dûúái coá chûáa caác àöëi tûúång thaânh phêìn cêëu thaânh vaâ caác
liïn kïët giûäa caác àöëi tûúång naây. (tïn àöëi tûúång vaâ tïn lúáp)(caác àöëi tûúång thaânh
phêìn)
Hònh 3-41 Thïí hiïån cuãa àöëái tûúång gheáp (Composiite Objject)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 101 http://www.ebooks.vdcmedia.com Möåt object (àöëi tûúång) laâ möåt thïí hiïån cuå thïí cuãa möåt lúáp trong hïå thöëng, àöëi tûúång coá thïí lêëy tïn thêåt trong thïë giúi thûåc. Möåt àöëi tûúång coá thïí àûúåc àõnh danh vaâ àõnh trõ. Kyá hiïåu Kyá hiïåu cuãa àöëi tûúång trong lûúåc àöì laâ möåt hònh chûä nhêåt àûúåc dêîn xuêët tûâ kyá hiïåu cuãa lúáp, thûúâng coá hai phêìn chñnh - Phêìn trïn cuãa hònh chûä nhêåt chûáa tïn cuãa àöëi tûúång vaâ tïn lúáp cuãa àöëi tûúång (caã hai àïìu àûúåc gaåch dûúái). Nïëu àöëi tûúång khöng coá tïn, chó coá lúáp phuå thuöåc, ta goåi àêy laâ àöëi tûúång êín danh (anonymous). Cuá phaáp àùåt tïn àöëi tûúång : Tïn àöëi tûúång : Tïn lúáp - Phêìn bïn dûúái chûáa caác giaá trõ cuãa àöëi tûúång vúái caác giaá trõ cuå thïí. Cuá phaáp : Tïn thuöåc tñnh : Kiïíu = Giaá trõ (möåt thïí hiïån àún giaãn chó vúái tïn cuãa àöëi tûúång) (tïn àöëi tûúång) (tïn lúáp) (àöëi tûúång coá caác giaá trõ thuöåc tñnh cuå thïí ) ( àöëi tûúång êín danh, chó coá tïn lúáp ) ( àöëi tûúång vúái biïíu tûúång lúáp phuå thuöåc vaâ tïn àûúåc gaåch dûúái) Hònh 3-40 Möåt söëá thïí hiïån cuãa àöëái tûúång (Objject) Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 105 3.25. Àöëi tûúång gheáp (Composite Object) Ngûä nghôa Àöëi tûúång gheáp biïíu diïîn àöëi tûúång úã mûác àöå cao hún, àöëi tûúång gheáp àûúåc cêëu thaânh tûâ caác àöëi tûúång thaânh phêìn khaác. Àêy laâ möåt thïí hiïån cuãa lúáp trong quan hïå cêëu thaânh (xem hònh 3-34). Kyá hiïåu Kyá hiïåu cuãa àöëi tûúång gheáp tûúång tûå nhû cuãa àöëi tûúång thûúâng, nhûng phêìn hònh chûä nhêåt bïn dûúái coá chûáa caác àöëi tûúång thaânh phêìn cêëu thaânh vaâ caác liïn kïët giûäa caác àöëi tûúång naây. (tïn àöëi tûúång vaâ tïn lúáp)(caác àöëi tûúång thaânh phêìn) Hònh 3-41 Thïí hiïån cuãa àöëái tûúång gheáp (Composiite Objject)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
102
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 106
3.26. Caác liïn kïët (Link)
Ngûä nghôa
öåt liïn kïët (link) laâ möåt tham chiïëu giûäa caác àöëi tûúång. Liïn ïët laâ möåt thïí
hiïån cuãa quan hïå kïët húåp.
Kyá kiïåu
Kyá hiïåu cuãa liïn kïët laâ möåt àûúâng dêîn nöëi hai àöëi tûúång vúái nau, cuöëi
àûúâng dêîn coá thïí coá tïn vai troâ cuãa àöëi tûúång trong liïn kïët àoá. Lûu yá, liïn kïët
khöng coá baãn söë. Liïn kïët coá raâng buöåc haån chïë (qualifier) thïí hiïån bùçnh möåt
höåp nhoã chûáa giaá trõ haån chïë ngay àêìu liïn kïët. Ngoaâi ra liïn kïët coân coá möåt söë
stereotype khi thûåc hiïån liïn kïët.
- association›› - mùåc àõnh khöng cêìn thïí hiïån trïn liïn kïët, ngoaåi trûâ trûúâng
húåp cêìn nhêën maånh.
- ‹‹parameter›› - àöëi tûúång laâ tham söë haâm
- ‹‹local›› - àöëi tûúång laâ biïën cuåc böå
- ‹‹global›› - àöëi tûúång laâ biïën toaân cuåc
- ‹‹self›› - tûå liïn kïët (caác liïn kïët giûäa caác àöëi tûúång) (thïí hiïån cuãa liïn kïët haån
chïë)
Hònh 3-42 Caác liïn kïëát (links)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 102 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 106 3.26. Caác liïn kïët (Link) Ngûä nghôa öåt liïn kïët (link) laâ möåt tham chiïëu giûäa caác àöëi tûúång. Liïn ïët laâ möåt thïí hiïån cuãa quan hïå kïët húåp. Kyá kiïåu Kyá hiïåu cuãa liïn kïët laâ möåt àûúâng dêîn nöëi hai àöëi tûúång vúái nau, cuöëi àûúâng dêîn coá thïí coá tïn vai troâ cuãa àöëi tûúång trong liïn kïët àoá. Lûu yá, liïn kïët khöng coá baãn söë. Liïn kïët coá raâng buöåc haån chïë (qualifier) thïí hiïån bùçnh möåt höåp nhoã chûáa giaá trõ haån chïë ngay àêìu liïn kïët. Ngoaâi ra liïn kïët coân coá möåt söë stereotype khi thûåc hiïån liïn kïët. - association›› - mùåc àõnh khöng cêìn thïí hiïån trïn liïn kïët, ngoaåi trûâ trûúâng húåp cêìn nhêën maånh. - ‹‹parameter›› - àöëi tûúång laâ tham söë haâm - ‹‹local›› - àöëi tûúång laâ biïën cuåc böå - ‹‹global›› - àöëi tûúång laâ biïën toaân cuåc - ‹‹self›› - tûå liïn kïët (caác liïn kïët giûäa caác àöëi tûúång) (thïí hiïån cuãa liïn kïët haån chïë) Hònh 3-42 Caác liïn kïëát (links)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
103
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 107
3.27. Lûúåc àöì Use Case (Use Case Diagram)
( caác taác nhên trong hïå thöëng) (quan hïå kïët húåp giûäa taác nhên vaâ use case) (ranh
giúái xaác àõnh hïå thöëng) (caác use case trong hïå thöëng (quan hïå “extend” (múã
röång) giûäa hai use case)
Hònh 3-43 Lûúåc àöì Use Case (Use Case Diiagram)
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 108
Ngûä nghôa
_ Laâ möåt loaåi lûúåc àöì bao göìm caác actor, caác use case,vaâ caác möëi quan hïå giûäa
chuáng.
_ Lûúåc àöì Use Case ghi nhêån chûác nùng cuãa hïå thöëng dûúái goác nhòn cuãa ngûúâi
sûã duång.
Chûác nùng
_ Àùåc taã ngûä caãnh cuãa möåt hïå thöëng vaâ caách thûác hïå thöëng tûúng taác vúái thïë giúái
bïn ngoaâi.
_ Nùæm bùæt caác yïu cêìu cuãa hïå thöëng.
_ Xaác nhêån tñnh húåp lïå cuãa kiïën truác hïå thöëng.
_ Xaác àõnh phaåm vi ûáng duång vaâ caác chûác nùng cuãa hïå thöëng
_ Àõnh hûúáng quaá trònh caâi àùåt vaâ phaát sinh caác trûúâng húåp test.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 103 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 107 3.27. Lûúåc àöì Use Case (Use Case Diagram) ( caác taác nhên trong hïå thöëng) (quan hïå kïët húåp giûäa taác nhên vaâ use case) (ranh giúái xaác àõnh hïå thöëng) (caác use case trong hïå thöëng (quan hïå “extend” (múã röång) giûäa hai use case) Hònh 3-43 Lûúåc àöì Use Case (Use Case Diiagram) Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 108 Ngûä nghôa _ Laâ möåt loaåi lûúåc àöì bao göìm caác actor, caác use case,vaâ caác möëi quan hïå giûäa chuáng. _ Lûúåc àöì Use Case ghi nhêån chûác nùng cuãa hïå thöëng dûúái goác nhòn cuãa ngûúâi sûã duång. Chûác nùng _ Àùåc taã ngûä caãnh cuãa möåt hïå thöëng vaâ caách thûác hïå thöëng tûúng taác vúái thïë giúái bïn ngoaâi. _ Nùæm bùæt caác yïu cêìu cuãa hïå thöëng. _ Xaác nhêån tñnh húåp lïå cuãa kiïën truác hïå thöëng. _ Xaác àõnh phaåm vi ûáng duång vaâ caác chûác nùng cuãa hïå thöëng _ Àõnh hûúáng quaá trònh caâi àùåt vaâ phaát sinh caác trûúâng húåp test.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
104
http://www.ebooks.vdcmedia.com
_ Àoáng vai troâ trung têm trong viïåc hoaåch àõnh tiïën trònh tiïën hoáa phêìn
mïìm.
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 109
3.29. Caác thaânh phêìn chñnh
3.29.1. Caác Use case
Ngûä nghôa
Use case (taåm dõch trûúâng húåp sûã duång) laâ möåt chuöîi caác haânh àöång hoùåc
möåt àún võ chûác nùng àûúåc cung cêëp búãi hïå thöëng nhùçm àaáp ûáng nhu cêìu cuãa
caác taác nhên bïn ngoaâi hay caác hïå thöëng khaác. Use case phaãi laâ möåt àún võ chûác
nùng toaân diïån, luön traã vïì kïët quaã cuöëi cuâng cho taác nhên coá quan hïå vúái noá vaâ
khöng thïí chia nhoã use case. Àiïím múã röång (extension point) laâ möåt tham chiïëu
túái caác haânh àöång àûúåc múã röång tûâ möåt use case khaác.
Kyá hiïåu
Kyá hiïåu cuãa möåt use case laâ möåt ellipse vúái tïn bïn trong hoùåc àùåt ngay
bïn dûúái ellipse. Àùng kyá hoåc phêìn ÀKHP (tïn use case)
Hònh 3-44 Thïí hiïån cuãa Use case
Thïí hiïån cuãa àiïím múã röång laâ möåt danh saách nùçm bïn trong use case
àûúåc bùæt àêìu vúái tiïu àïì laâ Extension Points (xem hònh veä 3-46 trong phêìn
3.5.4.4.3 Caác quan hïå).
3.29.2. Caác taác nhên (Actors)
Ngûä nghôa
Actor (taác nhên) laâ möåt thûåc thïí àoáng vai troâ tûúng taác vúái hïå thöëng, taác
nhên coá thïí laâ ngûúâi sûã duång hïå thöëng hoùåc möåt hïå thöëng khaác. Möîi taác nhên coá
möåt vai troâ nhêët àõnh àöëi vúái Use case maâ noá tûúng taác.
Kyá hiïåu
Kyá hiïåu cuãa möåt taác nhên laâ möåt hònh chûä nhêåt biïíu tûúång cuãa lúáp vúái
stereotype laâ ‹‹actor›› àûúåc àùåt ngay trïn tïn cuãa taác nh ên. Biïíu tûúång chuêín
cuãa taác nhên trong lûúåc àöì laâ möåt “ngûúâi hònh que” (stickman) vúái tïn àûúåc àùåt
ngay bïn dûúái.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 104 http://www.ebooks.vdcmedia.com _ Àoáng vai troâ trung têm trong viïåc hoaåch àõnh tiïën trònh tiïën hoáa phêìn mïìm. Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 109 3.29. Caác thaânh phêìn chñnh 3.29.1. Caác Use case Ngûä nghôa Use case (taåm dõch trûúâng húåp sûã duång) laâ möåt chuöîi caác haânh àöång hoùåc möåt àún võ chûác nùng àûúåc cung cêëp búãi hïå thöëng nhùçm àaáp ûáng nhu cêìu cuãa caác taác nhên bïn ngoaâi hay caác hïå thöëng khaác. Use case phaãi laâ möåt àún võ chûác nùng toaân diïån, luön traã vïì kïët quaã cuöëi cuâng cho taác nhên coá quan hïå vúái noá vaâ khöng thïí chia nhoã use case. Àiïím múã röång (extension point) laâ möåt tham chiïëu túái caác haânh àöång àûúåc múã röång tûâ möåt use case khaác. Kyá hiïåu Kyá hiïåu cuãa möåt use case laâ möåt ellipse vúái tïn bïn trong hoùåc àùåt ngay bïn dûúái ellipse. Àùng kyá hoåc phêìn ÀKHP (tïn use case) Hònh 3-44 Thïí hiïån cuãa Use case Thïí hiïån cuãa àiïím múã röång laâ möåt danh saách nùçm bïn trong use case àûúåc bùæt àêìu vúái tiïu àïì laâ Extension Points (xem hònh veä 3-46 trong phêìn 3.5.4.4.3 Caác quan hïå). 3.29.2. Caác taác nhên (Actors) Ngûä nghôa Actor (taác nhên) laâ möåt thûåc thïí àoáng vai troâ tûúng taác vúái hïå thöëng, taác nhên coá thïí laâ ngûúâi sûã duång hïå thöëng hoùåc möåt hïå thöëng khaác. Möîi taác nhên coá möåt vai troâ nhêët àõnh àöëi vúái Use case maâ noá tûúng taác. Kyá hiïåu Kyá hiïåu cuãa möåt taác nhên laâ möåt hònh chûä nhêåt biïíu tûúång cuãa lúáp vúái stereotype laâ ‹‹actor›› àûúåc àùåt ngay trïn tïn cuãa taác nh ên. Biïíu tûúång chuêín cuãa taác nhên trong lûúåc àöì laâ möåt “ngûúâi hònh que” (stickman) vúái tïn àûúåc àùåt ngay bïn dûúái.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
105
http://www.ebooks.vdcmedia.com
Hònh 3-45 Thïí hiïån cuãa möåt taác nhên (Actor)
Chûúng 3
Hïå thöëng kyá hiïåu (UML Notation) 110
3.30. Caác quan hïå trïn Use case
Ngûä nghôa
Coá möåt söë quan hïå chuêín àûúåc àõnh nghôa giûäa Use case vaâ Actor hoùåc
Use case :
- Quan hïå kïët húåp (association) àêy laâ quan hïå giûäa möåt actor vaâ möåt use case,
quan hïå xaãy ra khi nhûäng thûåc thïí cuãa use case vaâ actor coá giao tiïëp, liïn laåc vúái
nhau.
- Quan hïå múã röång (extend) quan hïå múã röång tûâ use case A túái use case B chó
ra rùçng use case A seä múã röång thïm möåt söë haânh vi lêëy tûâ use case A, caác haânh
vi àûúåc múã röång tûâ use case B tuây thuöåc vaâo àiïìu kiïån múã röång àûúåc àùåc taã taåi
àiïím múã röång (extension point) trïn use case B.
- Quan hïå töíng quaát hoáa (generalization) quan hïå töíng quaát hoáa tûâ use case A
túái use case B chó ra rùçng A laâ möåt phêìn àùåc biïåt hoáa cuãa B.
- Quan hïå bao haâm (include) quan hïå bao haâm giûäa use case A vaâ use case B
coá nghôa laâ A seä bao haâm nhûäng haânh vi àûúåc àùåc taã búãi B.
Kyá hiïåu
- Kyá hiïåu cuãa caác quan hïå :
- Kïët húåp àûúâng dêîn liïìn neát nöëi actor vaâ use case
- Múã röång àûúâng dêîn àûát neát coá hûúáng nöëi hai use case trïn àoá coá tûâ khoáa
‹‹extend››.
- Töíng quaát hoáa àûúâng dêîn liïìn neát coá tam giaác röîng cuöëi àûúâng dêîn.
- Bao haâm - àûúâng dêîn àûát neát coá hûúáng nöëi hai use case trïn àoá coá tûâ khoáa
‹‹include››.
(actor) (quan hïå múã röång) (àiïím múã röång) (quan hïå bao haâm)
Hònh 3-46 Nhûäng quan hïå trïn use case
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 105 http://www.ebooks.vdcmedia.com Hònh 3-45 Thïí hiïån cuãa möåt taác nhên (Actor) Chûúng 3 Hïå thöëng kyá hiïåu (UML Notation) 110 3.30. Caác quan hïå trïn Use case Ngûä nghôa Coá möåt söë quan hïå chuêín àûúåc àõnh nghôa giûäa Use case vaâ Actor hoùåc Use case : - Quan hïå kïët húåp (association) – àêy laâ quan hïå giûäa möåt actor vaâ möåt use case, quan hïå xaãy ra khi nhûäng thûåc thïí cuãa use case vaâ actor coá giao tiïëp, liïn laåc vúái nhau. - Quan hïå múã röång (extend) – quan hïå múã röång tûâ use case A túái use case B chó ra rùçng use case A seä múã röång thïm möåt söë haânh vi lêëy tûâ use case A, caác haânh vi àûúåc múã röång tûâ use case B tuây thuöåc vaâo àiïìu kiïån múã röång àûúåc àùåc taã taåi àiïím múã röång (extension point) trïn use case B. - Quan hïå töíng quaát hoáa (generalization) – quan hïå töíng quaát hoáa tûâ use case A túái use case B chó ra rùçng A laâ möåt phêìn àùåc biïåt hoáa cuãa B. - Quan hïå bao haâm (include) – quan hïå bao haâm giûäa use case A vaâ use case B coá nghôa laâ A seä bao haâm nhûäng haânh vi àûúåc àùåc taã búãi B. Kyá hiïåu - Kyá hiïåu cuãa caác quan hïå : - Kïët húåp – àûúâng dêîn liïìn neát nöëi actor vaâ use case - Múã röång – àûúâng dêîn àûát neát coá hûúáng nöëi hai use case trïn àoá coá tûâ khoáa ‹‹extend››. - Töíng quaát hoáa – àûúâng dêîn liïìn neát coá tam giaác röîng cuöëi àûúâng dêîn. - Bao haâm - àûúâng dêîn àûát neát coá hûúáng nöëi hai use case trïn àoá coá tûâ khoáa ‹‹include››. (actor) (quan hïå múã röång) (àiïím múã röång) (quan hïå bao haâm) Hònh 3-46 Nhûäng quan hïå trïn use case
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
106
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 111
3.31. Caác quan hïå trïn actor
Ngûä nghôa
Coá hai loaåi quan hïå trïn actor o Quan hïå kïët húåp tûúng tûå nhû phêìn use
case. - Quan hïå töíng quaát hoáa (generalization) quan hïå töíng quaát hoáa tûâ taác
nhên A túái taác nhên B chó ra rùçng A cuäng coá thïí giao tiïëp, liïn laåc vúái caác use
case maâ taác nhên B giao tiïëp àûúåc.
Kyá hiïåu
(quan hïå töíng quaát hoáa) (quan hïå kïët húåp)
nh 3-47 Quan hïå trïn caác actor
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 112
3.32. Lûúåc àöì tuêìn tûå (Sequence Diagram)
àöëi tûúång) (tïn) (lúáp) (thöng àiïåp truyïìn ài) (nhaän) (kñch hoaåt) (àïå qui) (àûúâng
giúái haån chu kyâ söëng cuãa àöëi tûúång) (traã vïì) (huãy) (taåo)
nh 3-48 Lûúåc àöì tuêìn tûå (Sequence Diiagram)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 106 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 111 3.31. Caác quan hïå trïn actor Ngûä nghôa Coá hai loaåi quan hïå trïn actor o Quan hïå kïët húåp – tûúng tûå nhû phêìn use case. - Quan hïå töíng quaát hoáa (generalization) – quan hïå töíng quaát hoáa tûâ taác nhên A túái taác nhên B chó ra rùçng A cuäng coá thïí giao tiïëp, liïn laåc vúái caác use case maâ taác nhên B giao tiïëp àûúåc. Kyá hiïåu (quan hïå töíng quaát hoáa) (quan hïå kïët húåp) Hònh 3-47 Quan hïå trïn caác actor Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 112 3.32. Lûúåc àöì tuêìn tûå (Sequence Diagram) àöëi tûúång) (tïn) (lúáp) (thöng àiïåp truyïìn ài) (nhaän) (kñch hoaåt) (àïå qui) (àûúâng giúái haån chu kyâ söëng cuãa àöëi tûúång) (traã vïì) (huãy) (taåo) Hònh 3-48 Lûúåc àöì tuêìn tûå (Sequence Diiagram)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
107
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 113
Ngûä nghôa
_ Laâ möåt lûúåc àöì tûúng taác têåp trung vaâo caác haânh vi àöång hûúáng thúâi gian.
_ Caách thïí hiïån tuêìn tûå àùåc biïåt hûäu duång trong caác hïå thöëng vúái caác chûác nùng
phuå thuöåc vaâo thúâi gian nhû laâ caác ûáng duång thúâi gian thûåc, hoùåc cho caác kõch
baãn phûác taåp khi maâ sûå phuå thuöåc vaâo thúâi gian àoáng vai troâ quan troång.
_ Lûúåc àöì tuêìn tûå coá hai phûúng
_ Theo phûúng thùèng àûáng biïíu diïîn truåc thúâi gian theo hûúáng tûâ trïn xuöëng
dûúái.
_ Theo phûúng ngang biïíu diïîn caác àöëi tûúång khaác nhau trong chuöîi tuêìn tûå
caác sûå kiïån duâng àïí thûåc hiïån möåt chûác nùng naâo àoá cuãa hïå thöëng.
_ Lûúåc àöì tuêìn tûå coá hai àùåc àiïím maâ lûúåc àöì cöång taác khöng coá laâ àûúâng giúái
haån chu kyâ söëng (lifeline) vaâ kñch hoaåt (focus of control).
Chûác nùng
_ Mö hònh hoáa luöìng xûã lyá
_ Minh hoåa caác kõch baãn àùåc trûng
_ Mö taã möåt caách roä raâng sûå tuêìn tûå cuãa caác sûå kiïån, thïí hiïån khi naâo möåt àöëi
tûúång àûúåc taåo vaâ huyã, mö taã caác haânh àöång àöìng thúâi.
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 114
3.33. Caác thaânh phêìn chñnh
Lûúåc àöì tuêìn tûå bao göìm böën thaânh töë chñnh :
- Caác àöëi tûúång (object) liïn quan àïën lûúåc àöì.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 107 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 113 Ngûä nghôa _ Laâ möåt lûúåc àöì tûúng taác têåp trung vaâo caác haânh vi àöång hûúáng thúâi gian. _ Caách thïí hiïån tuêìn tûå àùåc biïåt hûäu duång trong caác hïå thöëng vúái caác chûác nùng phuå thuöåc vaâo thúâi gian nhû laâ caác ûáng duång thúâi gian thûåc, hoùåc cho caác kõch baãn phûác taåp khi maâ sûå phuå thuöåc vaâo thúâi gian àoáng vai troâ quan troång. _ Lûúåc àöì tuêìn tûå coá hai phûúng _ Theo phûúng thùèng àûáng – biïíu diïîn truåc thúâi gian theo hûúáng tûâ trïn xuöëng dûúái. _ Theo phûúng ngang – biïíu diïîn caác àöëi tûúång khaác nhau trong chuöîi tuêìn tûå caác sûå kiïån duâng àïí thûåc hiïån möåt chûác nùng naâo àoá cuãa hïå thöëng. _ Lûúåc àöì tuêìn tûå coá hai àùåc àiïím maâ lûúåc àöì cöång taác khöng coá laâ àûúâng giúái haån chu kyâ söëng (lifeline) vaâ kñch hoaåt (focus of control). Chûác nùng _ Mö hònh hoáa luöìng xûã lyá _ Minh hoåa caác kõch baãn àùåc trûng _ Mö taã möåt caách roä raâng sûå tuêìn tûå cuãa caác sûå kiïån, thïí hiïån khi naâo möåt àöëi tûúång àûúåc taåo vaâ huyã, mö taã caác haânh àöång àöìng thúâi. Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 114 3.33. Caác thaânh phêìn chñnh Lûúåc àöì tuêìn tûå bao göìm böën thaânh töë chñnh : - Caác àöëi tûúång (object) liïn quan àïën lûúåc àöì.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
108
http://www.ebooks.vdcmedia.com
- Caác àûúâng giúái haån chu kyâ söëng (lifeline) thïí hiïån sûå töìn taåi cuãa àöëi tûúång trïn
truåc thúâi gian.
- Caác kñch hoaåt (activation - focus of control) àûúåc thïí hiïån bùçng hònh chûä nhêåt
nùçm trïn àûúâng söëng. Àöå daâi cuãa focus of control cho biïët thúâi gian maâ àöëi
tûúång töìn taåi àïí thûåc hiïån möåt söë haânh àöång naâo àoá.
- Caác thöng àiïåp (message) thïí hiïån sûå liïn laåc giûäa caác àöëi tûúång, àûúåc biïíu
diïîn bùçng caác caånh nöëi giûäa nhûäng hònh chûä nhêåt cuãa caác focus of control coá liïn
quan. Coá möåt söë daång thöng àiïåp : thöng àiïåp àöìng böå, thöng àiïåp khöng àöìng
böå, thöng àiïåp àïå qui...
3.33.1. Viïåc taåo vaâ huãy möåt àöëi tûúång
Trong lûúåc àöì tuêìn tûå ta coá thïí àùåc taã khi naâo möåt àöëi tûúång àûúåc taåo ra
vaâ bõ huãy ài. Xeát vñ duå sau :
Hònh 3-49 laâ möåt lûúåc àöì tuêìn tûå diïîn taã viïåc khúãi taåo vaâ huyã caác
àöëi tûúång trong lûúåc àöì tuêìn tûå. ÚÃ àêy, ta thêëy àöëi tûúång CellularRadio taåo möåt
àöëi tûúång Connection àïí àaáp ûáng laåi thöng àiïåp Connect. Viïåc taåo möåt àöëi
tûúång àûúåc kyá hiïåu bùçng möåt muäi tïn thöng àiïåp chó àïën hònh chûä nhêåt mö taã
àöëi tûúång cêìn taåo. Tûúng tûå nhû vêåy, viïåc huyã àöëi tûúång kyá hiïåu bùçng möåt muäi
tïn thöng àiïåp chó àïën dêëu X nùçm úã cuöëi àûúâng lifeline cuãa àöëi tûúång. Thúâi gian
ëng cuãa àöëi tûúång Connection àûúåc thïí hiïån rêët roä trïn hònh veä.
(taåo àöëi tûúång) (huãy àöëi tûúång) (chu kyâ söëng cuãa àöëi tûúång àûúåc taåo ra) (thöng
àiïåp bêët àöång böå)
nh 3-49 Taåo vaâ huãy àöëái tûúång trïn lûúåc àöì tuêìn tû
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 115
å
3.34. Thöng àiïåp khöng àöìng böå vaâ àïå qui
Thöng àiïåp khöng àöìng böå laâ möåt thöng àiïåp trúã vïì ngay lêåp tûác sau khi
sinh ra möåt tiïíu trònh trong àöëi tûúång nhêån thöng àiïåp. Trong lûúåc àöì tuêìn tûå, noá
àûúåc thïí hiïån bùçng möåt muäi tïn khöng àêìy àuã (chó coá 1 neát). Xem vñ duå hònh 3-
49, thöng àiïåp Connect(pno) àûúåc traã vïì àöëi tûúång Cellularradio ngay lêåp tûác
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 108 http://www.ebooks.vdcmedia.com - Caác àûúâng giúái haån chu kyâ söëng (lifeline) thïí hiïån sûå töìn taåi cuãa àöëi tûúång trïn truåc thúâi gian. - Caác kñch hoaåt (activation - focus of control) àûúåc thïí hiïån bùçng hònh chûä nhêåt nùçm trïn àûúâng söëng. Àöå daâi cuãa focus of control cho biïët thúâi gian maâ àöëi tûúång töìn taåi àïí thûåc hiïån möåt söë haânh àöång naâo àoá. - Caác thöng àiïåp (message) thïí hiïån sûå liïn laåc giûäa caác àöëi tûúång, àûúåc biïíu diïîn bùçng caác caånh nöëi giûäa nhûäng hònh chûä nhêåt cuãa caác focus of control coá liïn quan. Coá möåt söë daång thöng àiïåp : thöng àiïåp àöìng böå, thöng àiïåp khöng àöìng böå, thöng àiïåp àïå qui... 3.33.1. Viïåc taåo vaâ huãy möåt àöëi tûúång Trong lûúåc àöì tuêìn tûå ta coá thïí àùåc taã khi naâo möåt àöëi tûúång àûúåc taåo ra vaâ bõ huãy ài. Xeát vñ duå sau : Hònh 3-49 laâ möåt lûúåc àöì tuêìn tûå diïîn taã viïåc khúãi taåo vaâ huyã caác àöëi tûúång trong lûúåc àöì tuêìn tûå. ÚÃ àêy, ta thêëy àöëi tûúång CellularRadio taåo möåt àöëi tûúång Connection àïí àaáp ûáng laåi thöng àiïåp Connect. Viïåc taåo möåt àöëi tûúång àûúåc kyá hiïåu bùçng möåt muäi tïn thöng àiïåp chó àïën hònh chûä nhêåt mö taã àöëi tûúång cêìn taåo. Tûúng tûå nhû vêåy, viïåc huyã àöëi tûúång kyá hiïåu bùçng möåt muäi tïn thöng àiïåp chó àïën dêëu X nùçm úã cuöëi àûúâng lifeline cuãa àöëi tûúång. Thúâi gian söëng cuãa àöëi tûúång Connection àûúåc thïí hiïån rêët roä trïn hònh veä. (taåo àöëi tûúång) (huãy àöëi tûúång) (chu kyâ söëng cuãa àöëi tûúång àûúåc taåo ra) (thöng àiïåp bêët àöång böå) Hònh 3-49 Taåo vaâ huãy àöëái tûúång trïn lûúåc àöì tuêìn tû Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 115 å 3.34. Thöng àiïåp khöng àöìng böå vaâ àïå qui Thöng àiïåp khöng àöìng böå laâ möåt thöng àiïåp trúã vïì ngay lêåp tûác sau khi sinh ra möåt tiïíu trònh trong àöëi tûúång nhêån thöng àiïåp. Trong lûúåc àöì tuêìn tûå, noá àûúåc thïí hiïån bùçng möåt muäi tïn khöng àêìy àuã (chó coá 1 neát). Xem vñ duå hònh 3- 49, thöng àiïåp Connect(pno) àûúåc traã vïì àöëi tûúång Cellularradio ngay lêåp tûác
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
109
http://www.ebooks.vdcmedia.com
sau khi àûúåc gúãi túái àöëi tûúång Connection. Khi möåt àöëi tûúång tûå kñch hoaåt coá
nghôa laâ noá sinh ra möåt thöng àiïåp tûå gûãi cho chñnh noá, àêy phaãi laâ möåt thöng
àiïåp àöìng böå vaâ àûúåc biïíu diïîn bùçng möåt muäi tïn tûå moác vaâo thanh kñch hoaåt
(xem hònh veä 3-48).
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 116
3.35. Thúâi gian chuyïín thöng àiïåp trong lûúåc àöì tuêìn tûå
Möåt thöng àiïåp trong lûúåc àöì tuêìn tûå coá thïí àûúåc àùåc taã thúâi gian gûãi ài
hoùåc thúâi gian nhêån vïì. Chuáng coá caác tïn hònh thûác coá thïí àûúåc duâng trong biïíu
thûác raâng buöåc (xem vñ duå hònh 3-50). Möåt thöng àiïåp thöng àiïåp coá thïí töìn taåi
trong möåt khoaãng thúâi gian àaáng kïí tûâ luác àûúåc gûãi ài àïën luác àûúåc tiïëp nhêån vaâ
xûã lyá, trong lûúåc àöì tuêìn tûå caác thöng àiïåp daång naây àûúåc biïíu diïîn bùçng möåt
muäi tïn xeáo tûâ hònh chûä nhêåt kñch hoaåt naây túái hònh chûä nhêåt kñch hoaåt kia.
(raâng buöåc vïì thúâi gian nhêån vaâ gûãi thöng àiïåp) (thúâi gian chuyïín thöng àiïåp laâ
àaáng kïí)
Hònh 3-50 Raâng buöåc vïì thúâi gian chuyïín thöâng àiïåp
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 117
3.36. Lûúåc àöì cöång taác (Collaboration Diagram)
Vñ duå
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 109 http://www.ebooks.vdcmedia.com sau khi àûúåc gúãi túái àöëi tûúång Connection. Khi möåt àöëi tûúång tûå kñch hoaåt coá nghôa laâ noá sinh ra möåt thöng àiïåp tûå gûãi cho chñnh noá, àêy phaãi laâ möåt thöng àiïåp àöìng böå vaâ àûúåc biïíu diïîn bùçng möåt muäi tïn tûå moác vaâo thanh kñch hoaåt (xem hònh veä 3-48). Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 116 3.35. Thúâi gian chuyïín thöng àiïåp trong lûúåc àöì tuêìn tûå Möåt thöng àiïåp trong lûúåc àöì tuêìn tûå coá thïí àûúåc àùåc taã thúâi gian gûãi ài hoùåc thúâi gian nhêån vïì. Chuáng coá caác tïn hònh thûác coá thïí àûúåc duâng trong biïíu thûác raâng buöåc (xem vñ duå hònh 3-50). Möåt thöng àiïåp thöng àiïåp coá thïí töìn taåi trong möåt khoaãng thúâi gian àaáng kïí tûâ luác àûúåc gûãi ài àïën luác àûúåc tiïëp nhêån vaâ xûã lyá, trong lûúåc àöì tuêìn tûå caác thöng àiïåp daång naây àûúåc biïíu diïîn bùçng möåt muäi tïn xeáo tûâ hònh chûä nhêåt kñch hoaåt naây túái hònh chûä nhêåt kñch hoaåt kia. (raâng buöåc vïì thúâi gian nhêån vaâ gûãi thöng àiïåp) (thúâi gian chuyïín thöng àiïåp laâ àaáng kïí) Hònh 3-50 Raâng buöåc vïì thúâi gian chuyïín thöâng àiïåp Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 117 3.36. Lûúåc àöì cöång taác (Collaboration Diagram) Vñ duå
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
110
http://www.ebooks.vdcmedia.com
(liïn kïët giûäa 2 àöëi tûúång coá tûúng taác vúái nhau) (àöëi tûúång) ( message gûãi ài
giûäa caác àöëi tûúång) (söë thûá tûå cuãa caác message)
Hònh 3-51 Lûúåc àöì cöång taác(Collllaboratiion Diiagram)
Ngûä nghôa
_ Laâ möåt lûúåc àöì tûúng taác têåp trung vaâo cêëu truác töí chûác, möëi quan hïå
taác àöång qua laåi giûäa caác àöëi tûúång.
- Lûúåc àöì cöång taác vaâ tuêìn tûå tûúng tûå nhau vïì mùåt ngûä nghôa, chuáng thïí hiïån
nhûäng thöng tin tûúng tûå nhûng theo hai caách khaác nhau.
- Lûúåc àöì tuêìn tûå chuá troång àïën thûá tûå caác thöng àiïåp àûúåc chuyïín taãi theo thúâi
gian.
- Lûúåc àöì cöång taác chuá troång àïën möëi quan hïå giûäa caác àöëi tûúång.
Chûác nùng
_ Ghi nhêån caác haânh vi àöång cuãa hïå thöëng (hûúáng message)
_ Mö hònh hoáa luöìng xûã lyá
_ Minh hoåa sûå phöëi húåp giûäa cêëu truác àöëi tûúång vaâ caác xûã lyá
_ Thïí hiïån sûå aãnh hûúãng lêîn nhau giûäa caác àöëi tûúång
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 118
3.37. Caác thaânh phêìn chñnh
3.37.1. Caác àöëi tûúång
Caác àöëi tûúång àûúåc thïí hiïån tûúng tûå nhû trong lûúåc àöì tuêìn tûå, àoá laâ möåt
hònh chûä nhêåt vúái tïn àöëi tûúång vaâ tïn lúáp àûúåc gaåch dûúái, trong möåt söë trûúâng
húåp coá thïí khöng àïí tïn àöëi tûúång.
3.37.2. Caác liïn kïët
Liïn kïët giûäa caác àöëi tûúång àûúåc thïí hiïån bùçng möåt àûúâng nöëi hai àöëi
tûúång coá quan hïå vúái nhau. Caác vai troâ (role) vaâ haån chïë (qualifier) trong liïn
kïët àûúåc thïí hiïån úã àêìu cuöëi cuãa liïn kïët (tûúng tûå nhû trong quan hïå kïët húåp
giûäa hai lúáp). Trong lûúåc àöì tuêìn tûå àùåc taã sùén möåt söë khuön mêîu sùén cho vai troâ
cuãa caác liïn kïët :
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 110 http://www.ebooks.vdcmedia.com (liïn kïët giûäa 2 àöëi tûúång coá tûúng taác vúái nhau) (àöëi tûúång) ( message gûãi ài giûäa caác àöëi tûúång) (söë thûá tûå cuãa caác message) Hònh 3-51 Lûúåc àöì cöång taác(Collllaboratiion Diiagram) Ngûä nghôa _ Laâ möåt lûúåc àöì tûúng taác têåp trung vaâo cêëu truác töí chûác, möëi quan hïå taác àöång qua laåi giûäa caác àöëi tûúång. - Lûúåc àöì cöång taác vaâ tuêìn tûå tûúng tûå nhau vïì mùåt ngûä nghôa, chuáng thïí hiïån nhûäng thöng tin tûúng tûå nhûng theo hai caách khaác nhau. - Lûúåc àöì tuêìn tûå chuá troång àïën thûá tûå caác thöng àiïåp àûúåc chuyïín taãi theo thúâi gian. - Lûúåc àöì cöång taác chuá troång àïën möëi quan hïå giûäa caác àöëi tûúång. Chûác nùng _ Ghi nhêån caác haânh vi àöång cuãa hïå thöëng (hûúáng message) _ Mö hònh hoáa luöìng xûã lyá _ Minh hoåa sûå phöëi húåp giûäa cêëu truác àöëi tûúång vaâ caác xûã lyá _ Thïí hiïån sûå aãnh hûúãng lêîn nhau giûäa caác àöëi tûúång Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 118 3.37. Caác thaânh phêìn chñnh 3.37.1. Caác àöëi tûúång Caác àöëi tûúång àûúåc thïí hiïån tûúng tûå nhû trong lûúåc àöì tuêìn tûå, àoá laâ möåt hònh chûä nhêåt vúái tïn àöëi tûúång vaâ tïn lúáp àûúåc gaåch dûúái, trong möåt söë trûúâng húåp coá thïí khöng àïí tïn àöëi tûúång. 3.37.2. Caác liïn kïët Liïn kïët giûäa caác àöëi tûúång àûúåc thïí hiïån bùçng möåt àûúâng nöëi hai àöëi tûúång coá quan hïå vúái nhau. Caác vai troâ (role) vaâ haån chïë (qualifier) trong liïn kïët àûúåc thïí hiïån úã àêìu cuöëi cuãa liïn kïët (tûúng tûå nhû trong quan hïå kïët húåp giûäa hai lúáp). Trong lûúåc àöì tuêìn tûå àùåc taã sùén möåt söë khuön mêîu sùén cho vai troâ cuãa caác liïn kïët :