Luận văn: Nghiên cứu ngôn ngữ UML và ứng dụng
7,697
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á
-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ä
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
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ä
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ä
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ä
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.