Luận văn: Nghiên cứu ngôn ngữ UML và ứng dụng
7,460
671
171
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
131
http://www.ebooks.vdcmedia.com
tñch, thiïët kïë vaâ kiïím chûáng. Dûåa trïn use case, ngûúâi phaát triïín taåo
möåt loaåt caác
mö hònh phên tñch (analysis model), thiïët kïët (design model) caâi àùåt
(implementation model) vaâ xem xeát caác mö hònh àoá coá bao göìm caác thaânh
phêìn
àaáp ûáng àêìy àuã cho viïåc thûåc hiïån chûác nùng hïå thöëng hay khöng. Quy
trònh
phaát triïín theo àoá seä thûåc hiïån daäy caác cöng viïåc dûåa trïn use case.
Thiïët kïë Caâi àùåt Kiïím chûáng
Phên tñch Xaác àõnh yïu cêìu
Caác use case liïn kïët caác workflow naây vúái nhau.
Hònh 4-5 RUP hûúáng chûác nùng hïåä thöëáng
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 145
4.8. RUP têåp trung vaâo kiïën truác phêìn mïìm
Kiïën truác laâ caái nhòn töíng thïí vïì thiïët kïë cuãa hïå thöëng, loaåi boã
chi tiïët vaâ
têåp trung vaâo nhûäng tñnh chêët quan troång. RUP cung cêëp phûúng hûúáng àïí
tûâng
bûúác xaác àõnh kiïën truác cuãa hïå thöëng, àaáp ûáng caác yïu cêìu cho viïåc
thay àöíi vaâ
taái sûã duång cuãa phêìn mïìm. RUP xaác àõnh möåt möëi liïn hïå giûäa kiïën
truác vúái use
case. Kiïën truác phaãi àûúåc xêy dûång sao cho àaáp ûáng têët caã chûác nùng
trong hiïån
taåi vaâ tûúng lai. Viïåc xaác àõnh kiïën truác àoâi hoãi phaãi xaác àõnh nhûäng
chûác nùng
naâo laâ quan troång bêåc nhêët vaâ chuã yïëu cuãa hïå thöëng. Kiïën truác phêìn
mïìm àûúåc
xaác àõnh vaâ caãi tiïën tûâng bûúác qua caác phase. Kiïën truác phêìn mïìm Caác
giai àoaån
(phase) Inception Elaboration Construction Transition Khúãi àêìu Triïín khai Xêy
dûång Chuyïín giao
Hònh 4-6 RUP têåäp trung vaâo kiïëán truác phêìn mïìm
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
132
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 146
4.9. RUP laâ quy trònh lùåp vaâ tùng trûúãng tûâng bûúác
Phaát triïín möåt phêìn mïìm phûác taåp àoâi hoãi khöng chó thúâi gian maâ coân
kyä
thuêåt phên chia hïå thöëng thaânh nhûäng phêìn nhoã. Quy trònh göìm nhiïìu
iteration
(bûúác lùåp) àïí xêy dûång phêìn mïìm. Möîi têåp chûác nùng cuãa hïå thöëng seä
àûúåc phaát
triïín trong möåt iteration vaâ kïët quaã laâ sûå hoaân chónh vïì töíng thïí
ngaây caâng gia
tùng. Caác iteration phaãi àûúåc thûåc hiïån theo kïë hoaåch vaâ coá kiïím
soaát. Möåt
iteration laâ möåt trònh tûå caác hoaåt àöång àûúåc lïn kïë hoaåch theo möåt
tiïu chuêín
xaác àõnh vaâ cho kïët quaã laâ möåt phiïn baãn release cuãa phêìn mïìm. Trong
möîi
bûúác, ngûúâi phaát triïín choån möåt nhoám caác chûác nùng vaâ tiïën haânh phên
tñch
(analysis), thiïët kïë (design), caâi àùåt (implementation) vaâ kiïím chûáng
(test) caác
chûác nùng naây. Nïëu iteration àaáp ûáng àûúåc muåc àñch àïì ra thò chuyïín
sang möåt
iteration múái vúái möåt nhoám caác chûác nùng kïë tiïëp.
Thiïët kïë
Caâi àùåt
Kiïím chûáng
Phên tñch
Xaác àõnh
yïu cêìu
Inception Elaboration Construction T r a n s i t i o n
Bûúác lùåp múã àêìu
Lùåp1
Lùåp2
Lùåp n
Lùåp n+1
Lùåp n+2
Lùåp m
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
133
http://www.ebooks.vdcmedia.com
Lùåp m+1
Möåt bûúác lùåp trong phase
Elaboration.
Release Release Release Release ReleaseRelease Release
Hònh 4-7 RUP laâ quy trònh lùæp vaâ tùng trûúãng tûâng bûúác
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 147
4.10. ÛÁng duång UML trong RUP
UML cung cêëp möåt ngön ngûä cho mö hònh hoáa, trûåc quan hoáa vaâ laâm sûu
liïåu phêìn mïìm. Nhûng nïëu khöng coá möåt quy trònh phaát triïín phêìn mïìm
àùåc thuâ
ûáng duång UML thò seä khöng têån duång khaã nùng maånh meä cuäng nhû nhûäng
khaái
niïåm mö hònh hoáa àa daång cuãa UML. RUP laâ quy trònh phaát triïín phêìn mïìm
àûúåc xêy dûång trïn nïìn taãng UML vaâ nhûäng yïu cêìu thûåc tïë trong cöng
nghïå
phêìn mïìm. RUP hûúáng dêîn caách sûã duång UML hiïåu quaã nhêët hiïån nay. UML
àûúåc sûã duång trong caác luöìng cöng viïåc (workflow) àõnh nghôa búãi RUP.
Möîi
luöìng cöng viïåc sûã duång nhûäng mö hònh khaác nhau liïn quan àïën caác khaái
niïåm
vaâ lûúåc àöì UML khaác nhau.
Hònh 4-8 Caác luöìng cöâng viïåc vaâ caác möâ hònh RUP
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
134
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 148
4.11. Mö hònh hoáa nghiïåp vuå (business modeling)
Mö hònh hoáa nghiïåp vuå nhùçm muåc àñch nùæm bùæt quy trònh hoaåt àöång cuãa
töí chûác núi cêìn xêy dûång hïå thöëng phêìn mïìm bao göìm quy trònh nghiïåp
vuå vaâ
caách thûác thûåc hiïån, àöëi tûúång thûåc hiïån nghiïåp vuå vaâ àöëi tûúång
thao taác cuãa
nghiïåp vuå, caác taác nhên bïn ngoaâi coá giao tiïëp vaâ aãnh hûúãng àïën hoaåt
àöång cuãa
töí chûác. Mö hònh hoáa nghiïåp vuå laâ tuây choån cho tûâng dûå aán. Business
modeling
àõnh nghôa hai mö hònh Business Use Case (mö hònh nghiïåp vuå) vaâ Business
Object (mö hònh àöëi tûúång nghiïåp vuå).
4.11.1. Mö hònh nghiïåp vuå (Business Use Case)
Mö hònh nghiïåp vuå chuã yïëu bao göìm lûúåc àöì Use Case cuãa UML vúái möåt
söë múã röång cho Unified Process cuå thïí laâ àõnh nghôa thïm business actor,
business worker vaâ business use case tûâ cú chïë múã röång cuãa UML.
_ Business actor : caác taác nhên bïn ngoaâi coá liïn quan hay taác àöång àïën
hoaåt
àöång cuãa töí chûác vñ duå nhû khaách haâng vaâ coá kyá hiïåu sau
Tïn business actor
Hònh 4-9 Kyá hiïåäu busines actor
_ Business worker : nhên viïn thûåc hiïån nghiïåp vuå, thûúâng àoáng möåt vai
troâ cuå
thïí trong töí chûác vñ duå nhû kïë toaán viïn, thuã kho, quaãn àöëc vaâ coá kyá
hiïåu sau
Tïn business worker
Hònh 4-10 Kyá hiïåäu busines actor
_ Business use case : nghiïåp vuå àûúåc thûåc hiïån búãi möåt business worker vñ
duå
nhû múã taâi khoaãn cho khaách haâng hay nhêån caác àún àùåt haâng vaâ coá kyá
hiïåu sau:
Tïn nghiïåp vuå
Hònh 4-11 Kyá hiïåu busines use case
Business use case model têåp trung vaâo mö hònh hoáa caác quy trònh nghiïåp vuå,
ngûúâi thûåc hiïån vaâ möëi liïn hïå giûäa caác taác nhên bïn ngoaâi vúái töí
chûác.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
135
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 149
4.12. ÛÁng duång UML trong RUP
Múã taâi khoaãn
Nhên viïn giao tiïëp
khaách haâng
Khaách haâng múã taâi khoaãn cho (Nhên viïn giao tiïëp khaách haâng thûåc hiïån
nghiïåp
vuå múã taâi khoaãn cho khaách haâng)
Hònh 4-12 Vñ duå möåät lûúåc àöì Use Case trong möâ hònh Busines Use Case
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 150
4.13. Mö hònh àöëi tûúång nghiïåp vuå (Business Object)
Mö hònh Business Object sûã duång chuã yïëu lûúåc àöì lúáp (Class diagram)
múã röång cho RUP dûåa trïn cú chïë múã röång cuãa UML bao göìm organization
unit (àún võ töí chûác), business entity (thûåc thïí nghiïåp vuå).
- Organization unit : caác àún võ cêëu truác cuãa töí chûác thûúâng tûúng ûáng
vúái caác
phoâng, ban hay böå phêån trong töí chûác vaâ coá kyá hiïåu Tïn organization
unit
Hònh 4-13 Kyá hiïåäu organization unit
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
136
http://www.ebooks.vdcmedia.com
- Business entity : àöëi tûúång thao taác cuãa nghiïåp vuå thûúâng laâ dûä
liïåu, caác loaåi höì
sú. Caác nghiïåp vuå thûúâng lêëy dûä liïåu, thay àöíi, lûu trûä caác business
entity vñ duå
nhû höì sú khaách haâng hay caác loaåi mùåt haâng. Business entity coá kyá hiïåu
sau
Tïn busines entity
Hònh 4-14 Kyá hiïåäu busines entiity
Mö hònh àöëi tûúång nghiïåp vuå mö taã nhûäng business worker naâo sûã duång
nhûäng
taâi nguyïn, taâi liïåu gò cuãa töí chûác vaâ sûã duång nhû thïë naâo àïí thûåc
hiïån nghiïåp vuå
cuå thïí.
Nhên viïn giao tiïëp khaách haâng
Taâi khoaãn taåo múái
(Nhên viïn thïm taâi khoaãn khaách haâng vaâo höì sú caác taâi khoaãn). (Nghiïåp
vuå múã
möåt taâi khoaãn)
Hònh 4-15 Vñ duå vïì lûúåc àöì lúáp (Cllass diiagram) trong möâ hònh Busines
Objject
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 151
4.13. Xaác àõnh yïu cêìu (requirements)
Muåc àñch cuãa giai àoaån xaác àõnh yïu cêìu laâ coá àûúåc möåt sûå thöëng nhêët
giûäa khaách haâng vúái caác nhaâ phaát triïín vïì nhûäng gò maâ hïå thöëng seä
thûåc hiïån.
Möåt sûu liïåu trûåc quan seä àûúåc xêy dûång qua mö hònh hoáa caác chûác nùng
maâ hïå
thöëng höî trúå cho tûâng loaåi ngûúâi sûã duång. Giai àoaån naây sûã duång mö
hònh chûác
nùng (Use Case model) bao göìm chuã yïëu lûúåc àöì Use Case cuãa
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
137
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 152
UML. Actor laâ ngûúâi sûã duång hïå thöëng. Use case laâ chûác nùng hïå thöëng
àûúåc thûåc hiïån khi coá taác àöång tûâ actor.
Hònh 4-16 Möâ hònh Use Case vaâ caác lûúåc àöì UML
Caác chûác nùng hïå thöëng coá thïí àûúåc lûåa choån tûâ caác nghiïåp vuå
(business use
case) trong mö hònh business use case àïí xaác àõnh nhûäng nghiïåp vuå naâo seä
àûúåc
höî trúå vaâ cho ngûúâi sûã duång naâo.
Múã taâi khoaãn
Nhên viïn giao tiïëp khaách haâng
(Xaác àõnh chûác nùng hïå thöëng cho möîi loaåi ngûúâi sûã duång qua caác
nghiïåp vuå)
(Use Case) (Actor)
Hònh 4-17 Vñ duå vïì lûúåc àöì Use Case trong möâ hònh Use Case
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 153
4.14. Phên tñch (analysis)
Trong möîi iteration, àïí phaát triïín tûâng nhoám caác use case, caác nhaâ
phaát
triïín tiïën haânh mö taã roä raâng hún caác yïu cêìu chûác nùng naây bùçng ngön
ngûä cuãa
nhûäng ngûúâi phaát triïín phêìn mïìm. Workflow phên tñch bùæt àêìu mö hònh hoáa
hoaåt àöång bïn trong cuäng nhû xêy dûång cú baãn kiïën truác cuãa hïå thöëng
nhûng chó
dûâng laåi úã mûác quan niïåm, chûa xem xeát àïën caác khña caånh chi tiïët
cuäng nhû caác
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
138
http://www.ebooks.vdcmedia.com
yïu cêìu phi chûác nùng. Trong workflow naây, RUP àõnh nghôa mö hònh Analysis
sûã duång lûúåc àöì lúáp (Class diagram) vúái möåt söë múã röång vaâ caác lûúåc
àöì mö hònh
hoáa tûúng taác nhû Sequence hay Collaboration cuãa UML.
Hònh 4-18 Möâ hònh phêân tñch vaâ caác lûúåc àöì UML
RUP múã röång lûúåc àöì Class cho workflow analysis bùçng caách àõnh nghôa thïm
boundary, control vaâ entity tûâ cú chïë múã röång cuãa UML.
_ Boundary : lúáp trong hïå thöëng àaãm nhêån vai troâ giao tiïëp giûäa hïå
thöëng vúái
caác taác nhên bïn ngoaâi vñ duå nhû giao diïån ngûúâi sûã duång. Boundary coá
kyá hiïåu
sau:
Tïn boundary
Hònh 4-19 Kyá hiïåäu boundary
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 154
- Control : lúáp mang chûác nùng xûã lyá, àiïìu khiïín caác hoaåt àöång xûã lyá,
tñnh toaán.
Control coá kyá hiïåu sau tïn entity
_ Entity : lúáp àaåi diïån cho thûåc thïí nghôa laâ caác àöëi tûúång dûä liïåu
coá thïí lûu trûä,
tham chiïëu hay sûãa àöíi. Entity coá kyá hiïåu sau tïn entity
Mö hònh Analysis coá chûác nùng laâm roä caác use case, mö taã caác quan hïå
giûäa ba thaânh phêìn boundary, control, entity trong hïå thöëng àïí thûåc hiïån
use
case.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
139
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 155
Nhên viïn giao tiïëp khaách haâng
Giao diïån m úã taâi khoaãn
Xûã lyá m úã taâi khoaãn
Taâi khoaãn
(Chûác nùng múã taâi khoaãn cuãa hïå thöëng) (Nhên viïn sûã duång giao diïån múã
taâi
khoaãn àïí thao taác trïn àöëi tûúång taâi khoaãn thöng qua xûã lyá múã taâi
khoaãn)
(boundary) control entity
Hònh 4-22 Vñ duå vïì lûúåc àöì Class trong möâ hònh Analysis
Lûúåc àöì tûúng taác sûã duång chuã yïëu trong mö hònh Analysis laâ
Collaboration cuãa
UML. Lûúåc àöì naây mö taã cú chïë vêån haânh cuãa hïå thöëng, caác hoaåt àöång
cuãa caác
thaânh phêìn trong hïå thöëng theo möåt trònh tûå xaác àõnh cuäng nhû quaá trònh
tûúng
taác giûäa caác thaânh phêìn thöng qua caác thöng àiïåp (message) àïí thûåc
hiïån möåt
chûác nùng cuå thïí.
: Nhên viïn giao tiïëp khaách haâng
: Giao diïån múã taâi khoaãn
: Xûã lyá múã taâi khoaãn
: Taâi khoaãn
1: yïu cêìu chûác nùng múã taâi khoaãn
2: hiïín thi giao diïån nhêåp dûä liïåu
3: nhêåp dûä liïåu taâi khoaãn
4: yïu cêìu múã taâi khoaãn
5: múã taâi khoaãn
6: taåo múái taâi khoaãn
7: àoáng chûác nùng múã taâi khoaãn
Lûúåc àöì Collaboration mö taã cú chïë tûúng taác giûäa caác thaânh phêìn
boundary,
control vaâ entity àïí thûåc hiïån chûác nùng múã taâi khoaãn. thöng àiïåp
(message)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
140
http://www.ebooks.vdcmedia.com
thûá tûå thi haânh thöng àiïåp vaâo chñnh àöëi tûúång gûãi.
Hònh 4-23 Vñ duå vïì möåät lûúåc àöì Collaboration trong möâ hònh Analysis
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 156
4.15. Thiïët kïë (design)
Design laâ workflow sûã duång caác kïët quaã úã mûác phên tñch (analysis) cho
möåt nhoám use case àïí tiïëp tuåc phaát triïín hïå thöëng vïì kiïën truác, chi
tiï ët caác chûác
nùng cuäng nhû lûu yá àïën caác yïu cêìu phi chûác nùng, caác raâng buöåc coá
thïí coá.
Caác vêën àïì quan têm trong workflow naây coá thïí kïí àïën laâ
_ Möi trûúâng phaát triïín phêìn mïìm, ngön ngûä lêåp trònh, hïå àiïìu haânh,
caác yïu
cêìu xûã lyá àöìng thúâi hay phên taán vaâ möi trûúâng cú súã dûä liïåu.
_ Àõnh daång kiïën truác hïå thöëng trïn cú súã baão toaân kiïën truác úã mûác
phên tñch
nhûng coá thïí tiïëp tuåc phên raä caác hïå thöëng con thaânh caác àún võ nhoã
hún àïí coá
thïí quaãn lyá vaâ caâi àùåt möåt caách hiïåu quaã.
_ Thiïët kïë caác giao diïån (interface) chuã yïëu àïí coá thïí giao tiïëp vúái
caác hïå thöëng
con vaâ phaát triïín tûúng àöëi àöåc lêåp caác hïå thöëng con naây. Workflow
Design àõnh
nghôa mö hònh Design bao göìm caác lûúåc àöì Class, lûúåc àöì Deployment vaâ
caác
lûúåc àöì tûúng taác nhû Colaboration vaâ Sequence tûâ UML. Design sûã duång
chuã
yïëu lûúåc àöì Sequence àïí mö hònh hoáa tûúng taác. Ngoaâi ra coân sûã duång
caác lûúåc
àöì mö taã traång thaái vaâ hoaåt àöång laâ State Chart vaâ Activity Graph.
Hònh 4-24 Möâ hònh thiïëát kïëá vaâ caác lûúåc àöì UML