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

7,340
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
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ä 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ä 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ä 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ä 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ä 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ä 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ä 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
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ä 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åì 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ä 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
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