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

7,824
671
171
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
151
http://www.ebooks.vdcmedia.com
Xaác àõnh caác quan hïå quan hïå ngûä nghôa (Association) vaâ töíng quaát hoáa
(Generalization) giûäa caác analysis class thöng qua caác quan hïå Association trïn
lûúåc àöì lúáp hay caác liïn kïët trïn lûúåc àöì Collaboration do caác quan hïå vaâ liïn
kïët naây phaãn aánh sûå tham chiïëu lêîn nhau giûäa caác lúáp. Söë caác quan hïå cêìn phaãi
àûúåc töëi thiïíu hoáa.
Hoåc phêìn
- Tïn hoåc phêìn
- Söë tñn chó LT
- Söë tñn chó TH
- Khoaá
-n khoa
- Duyïåt hoåc phêìn
- Múã hoåc phêìn UI
- Hoåc phêìn múã
- Múã hoåc phêìn Control
- Hoåc kyâ
- Hoåc kyâ
- Nùm hoåc
Tinh chïë caác quan hïå vaâ xaác àõnh thuöåc tñnh hiïín nhiïn cuãa caác analysis class.
thuöåc tñnh (attribute)
Hònh 4-37 Caác thuöåäc tñnh cuãa analysis cllas
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 168
4.25. Thiïët kïë (design)
4.25.1. Thiïët kïë kiïën truác ûáng duång
Xaác àõnh cêëu hònh maång vaâ caác node àûúåc triïín khai vò coá aãnh hûúãng trûåc
tiïëp àïën kiïën truác ûáng duång vaâ viïåc töí chûác caác chûác nùng cho möîi node trïn
maång. Àöìng thúâi, mö taã viïåc töí chûác naây bùçng lûúåc àöì Deployment.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 151 http://www.ebooks.vdcmedia.com Xaác àõnh caác quan hïå quan hïå ngûä nghôa (Association) vaâ töíng quaát hoáa (Generalization) giûäa caác analysis class thöng qua caác quan hïå Association trïn lûúåc àöì lúáp hay caác liïn kïët trïn lûúåc àöì Collaboration do caác quan hïå vaâ liïn kïët naây phaãn aánh sûå tham chiïëu lêîn nhau giûäa caác lúáp. Söë caác quan hïå cêìn phaãi àûúåc töëi thiïíu hoáa. Hoåc phêìn - Tïn hoåc phêìn - Söë tñn chó LT - Söë tñn chó TH - Khoaá -Tïn khoa - Duyïåt hoåc phêìn - Múã hoåc phêìn UI - Hoåc phêìn múã - Múã hoåc phêìn Control - Hoåc kyâ - Hoåc kyâ - Nùm hoåc Tinh chïë caác quan hïå vaâ xaác àõnh thuöåc tñnh hiïín nhiïn cuãa caác analysis class. thuöåc tñnh (attribute) Hònh 4-37 Caác thuöåäc tñnh cuãa analysis cllas Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 168 4.25. Thiïët kïë (design) 4.25.1. Thiïët kïë kiïën truác ûáng duång Xaác àõnh cêëu hònh maång vaâ caác node àûúåc triïín khai vò coá aãnh hûúãng trûåc tiïëp àïën kiïën truác ûáng duång vaâ viïåc töí chûác caác chûác nùng cho möîi node trïn maång. Àöìng thúâi, mö taã viïåc töí chûác naây bùçng lûúåc àöì Deployment.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
152
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 169
Client Phoâng àaâo taåo intranet <<network>>University Server Client Sinh
vien
Lûúåc àöì Deployment client-server cho ûáng duång. node xûã lyá thiïët bõ (device)
Hònh 4-38 Lûúåc àöì Deplloyment cuãa ûáng duång
Xaác àõnh caác hïå thöëng con (subsystem) vaâ interface laâ caách phên chia hïå thöëng
thaânh caác thaânh phêìn nhoã àïí coá thïí quaãn lyá vaâ bao göìm caác bûúác sau
_ Xaác àõnh caác hïå thöëng con àaãm nhêån chûác nùng cung cêëp dõch vuå cho caác hïå
thöëng khaác.
_ Xaác àõnh caác phêìn mïìm cú súã vaâ caác phêìn mïìm hïå thöëng cêìn thiïët cho viïåc
phaát triïín ûáng duång. Coá thïí kïí àïën hïå àiïìu haânh, hïå quaãn trõ cú súã dûä liïåu, caác
phêìn mïìm dõch vuå truyïìn thöng, caác cöng nghïå phên taán, caác phêìn mïìm phaát
triïín giao diïån cuäng nhû cöng nghïå quaãn lyá giao taác.
Sinh viïn
Phoâng àaâo taåo
COM / ActiveX MFC 6.0
Hïå thöëng cho phoâng àaâo taåo sûã duång MFC 6.0 àïí phaát triïín giao diïån vaâ caác
component cho caác thao taác trïn cú súã dûä liïåu. Package phuå thuöåc (dependency)
Hònh 4-39 Xaác àõnh caác thaânh phêìn höîã trúå
_ Xaác àõnh caác quan hïå phuå thuöåc giûäa caác hïå thöëng con.
Phoâng àaâo taåo
Client UI Control Objects Data Services
Hïå thöëng cho phoâng àaâo taåo àûúåc phên chia thaânh ba hïå thöëng con laâ giao diïån,
xûã lyá vaâ dõch vuå dûä liïåu.
Hònh 4-40 Phuå thuöåc giûäa caác hïåä thöëáng con
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 152 http://www.ebooks.vdcmedia.com Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 169 Client Phoâng àaâo taåo intranet <<network>>University Server Client Sinh vien Lûúåc àöì Deployment client-server cho ûáng duång. node xûã lyá thiïët bõ (device) Hònh 4-38 Lûúåc àöì Deplloyment cuãa ûáng duång Xaác àõnh caác hïå thöëng con (subsystem) vaâ interface laâ caách phên chia hïå thöëng thaânh caác thaânh phêìn nhoã àïí coá thïí quaãn lyá vaâ bao göìm caác bûúác sau _ Xaác àõnh caác hïå thöëng con àaãm nhêån chûác nùng cung cêëp dõch vuå cho caác hïå thöëng khaác. _ Xaác àõnh caác phêìn mïìm cú súã vaâ caác phêìn mïìm hïå thöëng cêìn thiïët cho viïåc phaát triïín ûáng duång. Coá thïí kïí àïën hïå àiïìu haânh, hïå quaãn trõ cú súã dûä liïåu, caác phêìn mïìm dõch vuå truyïìn thöng, caác cöng nghïå phên taán, caác phêìn mïìm phaát triïín giao diïån cuäng nhû cöng nghïå quaãn lyá giao taác. Sinh viïn Phoâng àaâo taåo COM / ActiveX MFC 6.0 Hïå thöëng cho phoâng àaâo taåo sûã duång MFC 6.0 àïí phaát triïín giao diïån vaâ caác component cho caác thao taác trïn cú súã dûä liïåu. Package phuå thuöåc (dependency) Hònh 4-39 Xaác àõnh caác thaânh phêìn höîã trúå _ Xaác àõnh caác quan hïå phuå thuöåc giûäa caác hïå thöëng con. Phoâng àaâo taåo Client UI Control Objects Data Services Hïå thöëng cho phoâng àaâo taåo àûúåc phên chia thaânh ba hïå thöëng con laâ giao diïån, xûã lyá vaâ dõch vuå dûä liïåu. Hònh 4-40 Phuå thuöåc giûäa caác hïåä thöëáng con
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
153
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 170
4.27. Phaát triïín möåt ûáng duång quaãn lyá giaáo vuå theo RUP
_ Lûu trûä dûä liïåu : coá thïí sûã duång möåt hïå quaãn trõ cú súã dûä liïåu hay töí chûác theo
têåp tin. Hïå quaãn trõ cú súã dûä liïåu phöí biïën vaâ àêìy àuã tñnh nùng hiïån nay laâ hïå
quaãn trõ cú súã dûä liïåu quan hïå. Tuy nhiïn, cêìn phaãi lûu yá àïën viïåc nêng cêëp hïå
thöëng lïn hïå quaãn trõ cú súã dûä liïåu hûúáng àöëi tûúång khi hïå thöëng cuä löîi thúâi.
_ Phên taán dûä liïåu vaâ xûã lyá : xaác àõnh caác node àïí phên taán vaâ nhoám caác lúáp vaâo
caác node.
_ Baão mêåt
_ Xûã lyá löîi vaâ khöi phuåc hïå thöëng
_ Kiïím soaát caác giao taác : sûã duång möåt phêìn mïìm dõch vuå giao taác (Microsoft
Transaction Server).
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 171
4.28. Thiïët kïë möåt use case
Xaác àõnh caác lúáp tham gia vaâo use case, cêìn thiïët cho quaá trònh thi haânh
use case vaâ khöng dû thûâa bùçng caách sûã duång caác lúáp úã mûác analysis cho use
case àöìng thúâi xem xeát caác yïu cêìu àùåc biïåt àïí böí sung thïm lúáp hay thïm àùåc
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 153 http://www.ebooks.vdcmedia.com Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 170 4.27. Phaát triïín möåt ûáng duång quaãn lyá giaáo vuå theo RUP _ Lûu trûä dûä liïåu : coá thïí sûã duång möåt hïå quaãn trõ cú súã dûä liïåu hay töí chûác theo têåp tin. Hïå quaãn trõ cú súã dûä liïåu phöí biïën vaâ àêìy àuã tñnh nùng hiïån nay laâ hïå quaãn trõ cú súã dûä liïåu quan hïå. Tuy nhiïn, cêìn phaãi lûu yá àïën viïåc nêng cêëp hïå thöëng lïn hïå quaãn trõ cú súã dûä liïåu hûúáng àöëi tûúång khi hïå thöëng cuä löîi thúâi. _ Phên taán dûä liïåu vaâ xûã lyá : xaác àõnh caác node àïí phên taán vaâ nhoám caác lúáp vaâo caác node. _ Baão mêåt _ Xûã lyá löîi vaâ khöi phuåc hïå thöëng _ Kiïím soaát caác giao taác : sûã duång möåt phêìn mïìm dõch vuå giao taác (Microsoft Transaction Server). Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 171 4.28. Thiïët kïë möåt use case Xaác àõnh caác lúáp tham gia vaâo use case, cêìn thiïët cho quaá trònh thi haânh use case vaâ khöng dû thûâa bùçng caách sûã duång caác lúáp úã mûác analysis cho use case àöìng thúâi xem xeát caác yïu cêìu àùåc biïåt àïí böí sung thïm lúáp hay thïm àùåc
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
154
http://www.ebooks.vdcmedia.com
tñnh. Mö taã tûúng taác giûäa caác àöëi tûúång bùçng lûúåc àöì Sequence vaâ
Collaboration.
Xaác àõnh caác hïå thöëng con vaâ interface tham gia trong quaá trònh thi haânh
use case. Mö taã tûúng taác trong Use case qua lûúåc àöì Sequence vúái sûå tham gia
cuãa caác hïå thöëng con naây.
Xaác àõnh caác yïu cêìu cho quaá trònh caâi àùåt thûúâng laâ caác yïu cêìu phi chûác
nùng.Hoåc phêìn Fields (from DS)
Hoåc phêìn
-Tïn hoåc phêìn
- Söë tñn chó LT
- Söë tñn chó TH (from Quaãn lyá hoåc phêìn) <<realize>>
Xaác àõnh caác lúáp thiïët kïë tûâ caác lúáp phên tñch cho möåt use case. chuyïín àöíi giûäa
hai mûác trûâu tûúång
Hònh 4-41 Chuyïín möåät anallysis clas sang mûác thiïëát kïëá
: Hoåc phêìn MoRs
: Hoåc phêìn
UI : Phoâng àaâo taåo : Hoåc phêìn
KhaRs
: Hoåc kyâ Rs
: Hoåc phêìn Ctrl
1: Yïu cêìu múã hoåc phêìn
2: Hiïín thõ hoåc kyâ
3: Lêëy dûä liïåu hoåc kyâ
4: Choån hoåc kyâ
5: Hiïín thõ caác hoåc phêìn cuãa khoaá
6: Lêëy dûä liïåu hoåc phêìn cuãa khoaá
7: Choån hoåc phêìn múã
8: Múã hoåc phêìn
9: Múã hoåc phêìn
10: Cêåp nhêåt dûä liïåu cho hoåc phêìn múã
11: Kïët thuác chûác nùng
lúáp thiïët kïë (design class) Lûúåc àöì Sequence mö taã trònh tûå quaá trònh thi haânh
use case múã hoåc phêìn. thúâi gian töìn taåi thöng àiïåp (focus of control) thöng àiïåp
(message)
Hònh 4-42 Lûúåc àöì Sequence úã mûác thiïëát kïëá möâ taã cho use case múã hoåc phêìn
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 154 http://www.ebooks.vdcmedia.com tñnh. Mö taã tûúng taác giûäa caác àöëi tûúång bùçng lûúåc àöì Sequence vaâ Collaboration. Xaác àõnh caác hïå thöëng con vaâ interface tham gia trong quaá trònh thi haânh use case. Mö taã tûúng taác trong Use case qua lûúåc àöì Sequence vúái sûå tham gia cuãa caác hïå thöëng con naây. Xaác àõnh caác yïu cêìu cho quaá trònh caâi àùåt thûúâng laâ caác yïu cêìu phi chûác nùng.Hoåc phêìn Fields (from DS) Hoåc phêìn -Tïn hoåc phêìn - Söë tñn chó LT - Söë tñn chó TH (from Quaãn lyá hoåc phêìn) <<realize>> Xaác àõnh caác lúáp thiïët kïë tûâ caác lúáp phên tñch cho möåt use case. chuyïín àöíi giûäa hai mûác trûâu tûúång Hònh 4-41 Chuyïín möåät anallysis clas sang mûác thiïëát kïëá : Hoåc phêìn MoRs : Hoåc phêìn UI : Phoâng àaâo taåo : Hoåc phêìn KhoáaRs : Hoåc kyâ Rs : Hoåc phêìn Ctrl 1: Yïu cêìu múã hoåc phêìn 2: Hiïín thõ hoåc kyâ 3: Lêëy dûä liïåu hoåc kyâ 4: Choån hoåc kyâ 5: Hiïín thõ caác hoåc phêìn cuãa khoaá 6: Lêëy dûä liïåu hoåc phêìn cuãa khoaá 7: Choån hoåc phêìn múã 8: Múã hoåc phêìn 9: Múã hoåc phêìn 10: Cêåp nhêåt dûä liïåu cho hoåc phêìn múã 11: Kïët thuác chûác nùng lúáp thiïët kïë (design class) Lûúåc àöì Sequence mö taã trònh tûå quaá trònh thi haânh use case múã hoåc phêìn. thúâi gian töìn taåi thöng àiïåp (focus of control) thöng àiïåp (message) Hònh 4-42 Lûúåc àöì Sequence úã mûác thiïëát kïëá möâ taã cho use case múã hoåc phêìn
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
155
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 172
4.28. Thiïët kïë möåt lúáp
Xêy dûång lúáp vaâ caác interface dûåa trïn caác lúáp úã mûác analysis. Trong àoá
bao göìm caác vêën àïì liïn quan àïën möi trûúâng caâi àùåt.
_ Caác lúáp boundary : phuå thuöåc möi trûúâng phaát triïín giao diïån nhû Visual
Basic hay Visual C++.
_ Caác lúáp entity : thûúâng sûã duång cöng nghïå cú súã dûä liïåu vaâ traãi qua bûúác aánh
xaå tûâ caác lúáp thiïët kïë sang caác baãng trïn möåt mö hònh cú súã dûä liïåu quan hïå.
Bûúác naây khaá tinh vi coá thïí tûå àöång hoáa möåt phêìn nhúâ caác CASE tool vaâ sûã
duång caác nguyïn tùæc thiïët kïë cú súã dûä liïåu cuâng vúái caác mö hònh dûä liïåu.
_ Caác lúáp control : coá chûác nùng kïët húåp boundary vaâ entity. Khi thiïët kïë cêìn vaâ
phaãi quan têm àïën caác yïu cêìu phên taán trïn maång, töëc àöå hay caác xûã lyá giao taác.
Xaác àõnh caác thuöåc tñnh, phûúng thûác, caác quan hïå Association, töíng quaát hoáa
(generalization) giûäa caác lúáp vaâ sûã duång cuá phaáp cuãa möåt ngön ngûä lêåp trònh cuå
thïí àïí mö taã. Àöìng thúâi thïm caác tinh chïë cho caác quan hïå nhû multiplicity,
navigation vaâ xaác àõnh thuêåt toaán cuäng nhû quy trònh cho möîi phûúng thûác (coá
thïí mö taã bùçng ngön ngûä tûå nhiïn).
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 155 http://www.ebooks.vdcmedia.com Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 172 4.28. Thiïët kïë möåt lúáp Xêy dûång lúáp vaâ caác interface dûåa trïn caác lúáp úã mûác analysis. Trong àoá bao göìm caác vêën àïì liïn quan àïën möi trûúâng caâi àùåt. _ Caác lúáp boundary : phuå thuöåc möi trûúâng phaát triïín giao diïån nhû Visual Basic hay Visual C++. _ Caác lúáp entity : thûúâng sûã duång cöng nghïå cú súã dûä liïåu vaâ traãi qua bûúác aánh xaå tûâ caác lúáp thiïët kïë sang caác baãng trïn möåt mö hònh cú súã dûä liïåu quan hïå. Bûúác naây khaá tinh vi coá thïí tûå àöång hoáa möåt phêìn nhúâ caác CASE tool vaâ sûã duång caác nguyïn tùæc thiïët kïë cú súã dûä liïåu cuâng vúái caác mö hònh dûä liïåu. _ Caác lúáp control : coá chûác nùng kïët húåp boundary vaâ entity. Khi thiïët kïë cêìn vaâ phaãi quan têm àïën caác yïu cêìu phên taán trïn maång, töëc àöå hay caác xûã lyá giao taác. Xaác àõnh caác thuöåc tñnh, phûúng thûác, caác quan hïå Association, töíng quaát hoáa (generalization) giûäa caác lúáp vaâ sûã duång cuá phaáp cuãa möåt ngön ngûä lêåp trònh cuå thïí àïí mö taã. Àöìng thúâi thïm caác tinh chïë cho caác quan hïå nhû multiplicity, navigation vaâ xaác àõnh thuêåt toaán cuäng nhû quy trònh cho möîi phûúng thûác (coá thïí mö taã bùçng ngön ngûä tûå nhiïn).
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
156
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 173
4.28. Phaát triïín möåt ûáng duång quaãn lyá giaáo vuå theo RUP
Hoåc phêìn Fields
-m_str Tïn hoåc phêìn : CString
-m_iSoTCLT : int
-m_iSoTCTH : int
-m_iGiai àoaån : int
-m_lTïn hoåc phêìn Status : ULONG
-m_lSoTCLTStatus : ULONG
-m_lSoTCTHStatus : ULONG
-m_lGiaidoanStatus : ULONG
- Hoåc phêìn
- Tïn hoåc phêìn
- Söë tñn chó LT
- Söë tñn chó TH <<realize>>
Caác thuöåc tñnh lêëy úã mûác analysis Caác thuöåc tñnh böí sung khi xem xeát möi
trûúâng caâi àùåt laâ VC + 6.0 Analysis Design
Hònh 4-43 Thiïëát kïëá möåät lúáp trong use case múã hoåc phêìn
- Hoåc phêìn UI (from User Interfaces)
- Hoåc kyâ Rs (from DS)
- Rs (from DS)
- Hoåc phêìn khoáa Rs (from DS)
- Hoåc phêìn Ctrl (from Controls)
-1+m_HocphanCtrl+m_HocKyRs+m_HocPhanMoRs+m_HocPhanKhoaRs1111
tïn tham chiïëu (rolename) navigation multiplicity
Hònh 4-44 Böí sung ngûä nghôa cho lûúåc àöì Cllas
cuãa use case múã hoåc phêìn
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 156 http://www.ebooks.vdcmedia.com Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 173 4.28. Phaát triïín möåt ûáng duång quaãn lyá giaáo vuå theo RUP Hoåc phêìn Fields -m_str Tïn hoåc phêìn : CString -m_iSoTCLT : int -m_iSoTCTH : int -m_iGiai àoaån : int -m_lTïn hoåc phêìn Status : ULONG -m_lSoTCLTStatus : ULONG -m_lSoTCTHStatus : ULONG -m_lGiaidoanStatus : ULONG - Hoåc phêìn - Tïn hoåc phêìn - Söë tñn chó LT - Söë tñn chó TH <<realize>> Caác thuöåc tñnh lêëy úã mûác analysis Caác thuöåc tñnh böí sung khi xem xeát möi trûúâng caâi àùåt laâ VC + 6.0 Analysis Design Hònh 4-43 Thiïëát kïëá möåät lúáp trong use case múã hoåc phêìn - Hoåc phêìn UI (from User Interfaces) - Hoåc kyâ Rs (from DS) - Rs (from DS) - Hoåc phêìn khoáa Rs (from DS) - Hoåc phêìn Ctrl (from Controls) -1+m_HocphanCtrl+m_HocKyRs+m_HocPhanMoRs+m_HocPhanKhoaRs1111 tïn tham chiïëu (rolename) navigation multiplicity Hònh 4-44 Böí sung ngûä nghôa cho lûúåc àöì Cllas cuãa use case múã hoåc phêìn
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
157
http://www.ebooks.vdcmedia.com
Mö taã caác traång thaái qua lûúåc àöì State Chart vúái möåt söë tinh chïë so vúái bûúác
analysis. Kiïím soaát caác yïu cêìu àùåc biïåt vaâ thïm chûác nùng cho lúáp theo yïu
cêìu naây.
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 174
4.29. Thiïët kïë möåt hïå thöëng con
Kiïím soaát caác caác quan hïå phuå thuöåc giûäa caác hïå thöëng con vaâ cöë gùæng töëi
thiïíu hoáa caác quan hïå phuå thuöåc naây. Thiïët kïë interface cuãa hïå thöëng con úã mûác
chi tiïët caác phûúng thûác (operation) cuãa interface. Thiïët kïë caác thaânh phêìn trong
hïå thöëng con àïí cung cêëp caác interface naây.
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 175
4.30. Caâi àùåt (implementation)
4.30.1. Kiïën truác caâi àùåt (architectural implementation)
Phaác thaão mö hònh Component bùçng caách xaác àõnh caác component mang
tñnh chêët chuã yïëu, cêëu taåo nïn kiïën truác hïå thöëng nhû caác component thi haânh vaâ
loaåi boã caác component ñt quan troång khoãi mö hònh nhû caác component chûáa taâi
liïåu hay àoáng goái caác file maä nguöìn vaâ gùæn caác component chñnh naây vaâo caác
node.MFC6.0TSManagement
<<EXE>>ADO<<ActiveX>>Controls<<ActiveX>>
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 157 http://www.ebooks.vdcmedia.com Mö taã caác traång thaái qua lûúåc àöì State Chart vúái möåt söë tinh chïë so vúái bûúác analysis. Kiïím soaát caác yïu cêìu àùåc biïåt vaâ thïm chûác nùng cho lúáp theo yïu cêìu naây. Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 174 4.29. Thiïët kïë möåt hïå thöëng con Kiïím soaát caác caác quan hïå phuå thuöåc giûäa caác hïå thöëng con vaâ cöë gùæng töëi thiïíu hoáa caác quan hïå phuå thuöåc naây. Thiïët kïë interface cuãa hïå thöëng con úã mûác chi tiïët caác phûúng thûác (operation) cuãa interface. Thiïët kïë caác thaânh phêìn trong hïå thöëng con àïí cung cêëp caác interface naây. Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 175 4.30. Caâi àùåt (implementation) 4.30.1. Kiïën truác caâi àùåt (architectural implementation) Phaác thaão mö hònh Component bùçng caách xaác àõnh caác component mang tñnh chêët chuã yïëu, cêëu taåo nïn kiïën truác hïå thöëng nhû caác component thi haânh vaâ loaåi boã caác component ñt quan troång khoãi mö hònh nhû caác component chûáa taâi liïåu hay àoáng goái caác file maä nguöìn vaâ gùæn caác component chñnh naây vaâo caác node.MFC6.0TSManagement <<EXE>>ADO<<ActiveX>>Controls<<ActiveX>>
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
158
http://www.ebooks.vdcmedia.com
Chûúng trònh chñnh vaâ caác component.
nh 4-45 Lûúåc àöì Component cuãa ûáng duång
4.30.2. Caâi àùåt vaâ tñch húåp hïå thöëng
Lêåp kïë hoaåch cho viïåc caâi àùåt vaâ tñch húåp tûâng bûúác caác thaânh phêìn cuãa hïå
thöëng khúãi àêìu tûâ caác use case trong iteration. Àiïìu naây khiïën viïåc kiïím chûáng
möåt use case hoaân chónh dïî daâng hún.Quaá trònh caâi àùåt caác thaânh phêìn cêìn phaãi
dûåa vaâo caác phuå thuöåc giûäa caác thaânh phêìn. Caác thaânh phêìn naâo àoáng vai troâ
cung cêëp dõch vuå cêìn phaãi àûúåc caâi àùåt vaâ tñch húåp trûúác àöìng thúâi àûúåc kiïím
chûáng chûác nùng. Möîi lêìn tñch húåp möåt thaânh phêìn nïn dûåa vaâo kïët quaã lêìn tñch
húåp trûúác.
Viïåc xêy dûång möåt use case àöi khi àoâi hoãi phaãi xêy dûång möåt loaåt caác
component múái. Vò vêåy thûúâng phaãi coá sûå thoãa hiïåp. Chó xêy dûång nhiïìu
component múái khi use case àoáng vai troâ quan troång, nïëu khöng thò taåm thúâi
hoaän laåi àïën lêìn caâi àùåt vaâ tñch húåp kïë tiïëp. Khi àaä coá kïë hoaåch coá thïí tiïën haânh
choån phiïn baãn caâi àùåt thñch húåp cuãa möåt hïå thöëng con vaâ caác component àïí tiïën
haânh biïn dõch, liïn kïët vaâ thi haânh.
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 176
4.31. Caâi àùåt caác hïå thöëng con (subsystem)
Caâi àùåt tûâng hïå thöëng con theo vai troâ cuãa noá trong toaân böå hïå thöëng nghôa
laâ caác dõch vuå maâ hïå thöëng con sûã duång àaä àûúåc caâi àùåt vaâ tñch húåp trûúác àoá.
Möîi lúáp vaâ giao diïån trong trong möåt package àûúåc sûã duång phaãi àûúåc caâi àùåt
trong component tûúng ûáng.
4.31.1. Caâi àùåt caác lúáp
Caâi àùåt möåt söë caác lúáp cêìn thiïët àïí tñch húåp. Maä nguöìn àûúåc chûáa trong
caác têåp tin caâi àùåt cuãa möåt lúáp vaâ àûúåc lûu trong möåt component tham chiïëu caác
file naây. Chi tiïët cuãa lúáp vaâ caác quan hïå giûäa caác lúáp àaä àûúåc mö taã trong quaá
trònh thiïët kïë theo möåt ngön ngûä lêåp trònh cuå thïí. Coá thïí phaát sinh thùèng m
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 158 http://www.ebooks.vdcmedia.com Chûúng trònh chñnh vaâ caác component. Hònh 4-45 Lûúåc àöì Component cuãa ûáng duång 4.30.2. Caâi àùåt vaâ tñch húåp hïå thöëng Lêåp kïë hoaåch cho viïåc caâi àùåt vaâ tñch húåp tûâng bûúác caác thaânh phêìn cuãa hïå thöëng khúãi àêìu tûâ caác use case trong iteration. Àiïìu naây khiïën viïåc kiïím chûáng möåt use case hoaân chónh dïî daâng hún.Quaá trònh caâi àùåt caác thaânh phêìn cêìn phaãi dûåa vaâo caác phuå thuöåc giûäa caác thaânh phêìn. Caác thaânh phêìn naâo àoáng vai troâ cung cêëp dõch vuå cêìn phaãi àûúåc caâi àùåt vaâ tñch húåp trûúác àöìng thúâi àûúåc kiïím chûáng chûác nùng. Möîi lêìn tñch húåp möåt thaânh phêìn nïn dûåa vaâo kïët quaã lêìn tñch húåp trûúác. Viïåc xêy dûång möåt use case àöi khi àoâi hoãi phaãi xêy dûång möåt loaåt caác component múái. Vò vêåy thûúâng phaãi coá sûå thoãa hiïåp. Chó xêy dûång nhiïìu component múái khi use case àoáng vai troâ quan troång, nïëu khöng thò taåm thúâi hoaän laåi àïën lêìn caâi àùåt vaâ tñch húåp kïë tiïëp. Khi àaä coá kïë hoaåch coá thïí tiïën haânh choån phiïn baãn caâi àùåt thñch húåp cuãa möåt hïå thöëng con vaâ caác component àïí tiïën haânh biïn dõch, liïn kïët vaâ thi haânh. Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 176 4.31. Caâi àùåt caác hïå thöëng con (subsystem) Caâi àùåt tûâng hïå thöëng con theo vai troâ cuãa noá trong toaân böå hïå thöëng nghôa laâ caác dõch vuå maâ hïå thöëng con sûã duång àaä àûúåc caâi àùåt vaâ tñch húåp trûúác àoá. Möîi lúáp vaâ giao diïån trong trong möåt package àûúåc sûã duång phaãi àûúåc caâi àùåt trong component tûúng ûáng. 4.31.1. Caâi àùåt caác lúáp Caâi àùåt möåt söë caác lúáp cêìn thiïët àïí tñch húåp. Maä nguöìn àûúåc chûáa trong caác têåp tin caâi àùåt cuãa möåt lúáp vaâ àûúåc lûu trong möåt component tham chiïëu caác file naây. Chi tiïët cuãa lúáp vaâ caác quan hïå giûäa caác lúáp àaä àûúåc mö taã trong quaá trònh thiïët kïë theo möåt ngön ngûä lêåp trònh cuå thïí. Coá thïí phaát sinh thùèng maä
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
159
http://www.ebooks.vdcmedia.com
nguöìn cho caác lúáp naây. Lûåa choån caác thuêåt toaán vaâ cêëu truác dûä liïåu thñch húåp
hay sûã duång caác sûu liïåu mö taã phûúng thûác trong phêìn thiïët kïë àïí caâi àùåt
phûúng thûác cuãa lúáp.
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 177
4.42. Kiïím chûáng (test)
4.42.1. Lêåp kïë hoaåch kiïím chûáng
Xaác àõnh chiïën lûúåc kiïím chûáng, nhên sûå vaâ caác taâi nguyïn liïn quan, caác
kïët quaã àaåt àûúåc trong möîi quy trònh kiïím chûáng.
4.42.2. Thiïët kïë caác quy trònh kiïím chûáng (test case)
Test case cho möåt use case mö taã caách kiïím chûáng cho möåt use case bao
göìm caã kïët quaã tûúng taác giûäa ngûúâi sûã duång vúái hïå thöëng, trònh tûå thi haânh theo
kõch baãn (script) cuãa use case. Test case cho möåt use case úã mûác design (use
case realization) mö taã caách kiïím chûáng quaá trònh tûúng taác giûäa use case vúái
caác component liïn quan àïën viïåc thi haânh use case.
Test case cho hïå thöëng mö taã quy trònh kiïím chûáng viïåc thi haânh chñnh
xaác caác chûác nùng cuãa hïå thöëng xeát vïì töíng thïí chuã yïëu laâ sûå thi haânh phöëi húåp
lêîn nhau giûäa caác use case dûúái möåt söë àiïìu kiïån cuå thïí bao göìm cêëu hònh phêìn
cûáng, ngûúâi sûã duång, kñch thûúác cú súã dûä liïåu...
4.42.3. Thûåc hiïån kiïím chûáng
Tûå àöång hoáa caác quy trònh kiïím chûáng möåt caách töëi àa bùçng caách taåo caác
component kiïím chûáng. Möîi component chûáa caác kõch baãn (script) cho quy trònh
kiïím chûáng. Kiïím chûáng kïët quaã tñch húåp. Kiïím chûáng hïå thöëng qua thûåc hiïån
test case cho hïå thöëng. Àaánh giaá kïët quaã kiïím chûáng caác àöå ào vïì mûác àöå hoaân
chónh vaâ tin cêåy.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 159 http://www.ebooks.vdcmedia.com nguöìn cho caác lúáp naây. Lûåa choån caác thuêåt toaán vaâ cêëu truác dûä liïåu thñch húåp hay sûã duång caác sûu liïåu mö taã phûúng thûác trong phêìn thiïët kïë àïí caâi àùåt phûúng thûác cuãa lúáp. Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 177 4.42. Kiïím chûáng (test) 4.42.1. Lêåp kïë hoaåch kiïím chûáng Xaác àõnh chiïën lûúåc kiïím chûáng, nhên sûå vaâ caác taâi nguyïn liïn quan, caác kïët quaã àaåt àûúåc trong möîi quy trònh kiïím chûáng. 4.42.2. Thiïët kïë caác quy trònh kiïím chûáng (test case) Test case cho möåt use case mö taã caách kiïím chûáng cho möåt use case bao göìm caã kïët quaã tûúng taác giûäa ngûúâi sûã duång vúái hïå thöëng, trònh tûå thi haânh theo kõch baãn (script) cuãa use case. Test case cho möåt use case úã mûác design (use case realization) mö taã caách kiïím chûáng quaá trònh tûúng taác giûäa use case vúái caác component liïn quan àïën viïåc thi haânh use case. Test case cho hïå thöëng mö taã quy trònh kiïím chûáng viïåc thi haânh chñnh xaác caác chûác nùng cuãa hïå thöëng xeát vïì töíng thïí chuã yïëu laâ sûå thi haânh phöëi húåp lêîn nhau giûäa caác use case dûúái möåt söë àiïìu kiïån cuå thïí bao göìm cêëu hònh phêìn cûáng, ngûúâi sûã duång, kñch thûúác cú súã dûä liïåu... 4.42.3. Thûåc hiïån kiïím chûáng Tûå àöång hoáa caác quy trònh kiïím chûáng möåt caách töëi àa bùçng caách taåo caác component kiïím chûáng. Möîi component chûáa caác kõch baãn (script) cho quy trònh kiïím chûáng. Kiïím chûáng kïët quaã tñch húåp. Kiïím chûáng hïå thöëng qua thûåc hiïån test case cho hïå thöëng. Àaánh giaá kïët quaã kiïím chûáng caác àöå ào vïì mûác àöå hoaân chónh vaâ tin cêåy.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
160
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 178
4.43. Toám tùæt
Chûúng böën àaä trònh baây sú lûúåc vïì qui trònh phaát triïín phêìn mïìm
Rational Unified Process, qua àoá cuäng giúái thiïåu khaã nùng ûáng duång cuãa UML
trong möåt qui trònh phaát triïín phêìn mïìm cuå thïí. RUP vaâ UML àûúåc phaát triïín
àöìng haânh vúái nhau vaâ coá nguöìn göëc tûâ haäng phêìn mïìm Rational, vò vêåy viïåc
kïët húåp giûäa UML vaâ RUP mang laåi möåt cöng cuå rêët hiïåu quaã trong viïåc phaár
triïín phêìn mïìm. Àïí minh hoåa thûåc tïë cho ûáng duång naây chuáng em àaä sûã duång
phêìn mïìm Rational Rose 2000 (coá höî trúå hoaân toaân ngön ngûä UML vaâ RUP) àïí
thiïët kïë ûáng duång, viïåc tiïëp cêån vaâ sûã duång möåt cöng cuå múái trïn thûåc tïë coá
khöng ñt khoá khùn, nhûng nhûäng kïët quaã àaåt àûúåc trong ûáng duång coá thïí cho
thêëy khaã nùng ûáng duång cuãa UML trong thûåc tïë laâ rêët khaã quan.
Chûúng 5
TÖÍNG KÏËT 179
5.1. Kïët luêån
Qua tòm hiïíu vaâ nghiïn cûáu àïì taâi, luêån vùn chuáng em àaä trònh baây vïì hïå
thöëng thöëng ngûä nghôa cöët loäi, hïå thöëng caác loaåi lûúåc àöì cuâng vúái caác kyá hiïåu
mö taã cuãa caác thaânh töë àûúåc àõnh nghôa trong ngön ngûä UML, bïn caånh àoá cuäng
giúái thiïåu töíng quan vïì qui trònh phaát triïín phêìn mïìm RUP vaâ khaã nùng ûáng
duång cuãa UML trong qui trònh naây.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 160 http://www.ebooks.vdcmedia.com Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 178 4.43. Toám tùæt Chûúng böën àaä trònh baây sú lûúåc vïì qui trònh phaát triïín phêìn mïìm Rational Unified Process, qua àoá cuäng giúái thiïåu khaã nùng ûáng duång cuãa UML trong möåt qui trònh phaát triïín phêìn mïìm cuå thïí. RUP vaâ UML àûúåc phaát triïín àöìng haânh vúái nhau vaâ coá nguöìn göëc tûâ haäng phêìn mïìm Rational, vò vêåy viïåc kïët húåp giûäa UML vaâ RUP mang laåi möåt cöng cuå rêët hiïåu quaã trong viïåc phaár triïín phêìn mïìm. Àïí minh hoåa thûåc tïë cho ûáng duång naây chuáng em àaä sûã duång phêìn mïìm Rational Rose 2000 (coá höî trúå hoaân toaân ngön ngûä UML vaâ RUP) àïí thiïët kïë ûáng duång, viïåc tiïëp cêån vaâ sûã duång möåt cöng cuå múái trïn thûåc tïë coá khöng ñt khoá khùn, nhûng nhûäng kïët quaã àaåt àûúåc trong ûáng duång coá thïí cho thêëy khaã nùng ûáng duång cuãa UML trong thûåc tïë laâ rêët khaã quan. Chûúng 5 TÖÍNG KÏËT 179 5.1. Kïët luêån Qua tòm hiïíu vaâ nghiïn cûáu àïì taâi, luêån vùn chuáng em àaä trònh baây vïì hïå thöëng thöëng ngûä nghôa cöët loäi, hïå thöëng caác loaåi lûúåc àöì cuâng vúái caác kyá hiïåu mö taã cuãa caác thaânh töë àûúåc àõnh nghôa trong ngön ngûä UML, bïn caånh àoá cuäng giúái thiïåu töíng quan vïì qui trònh phaát triïín phêìn mïìm RUP vaâ khaã nùng ûáng duång cuãa UML trong qui trònh naây.