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

7,351
671
171
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
141
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
Lûúåc àöì Class àûúåc xêy dûång cho möåt möi trûúâng cuå thïí. Caác kiïíu dûä liïåu
hay caác lúáp àïìu mang tñnh chêët àùåc trûng cuãa möi trûúâng caâi àùåt vaâ ngön ngûä lêåp
trònh.
Nhên viïn giao tiïëp khaách haâng
CTaikhoanUI
CtaikhoanCtrl 1
CTaikhoanRs +m_lSotien : long
+m_TaikhoanCtrl111
Lûúåc àöì lúáp cho use case múã taâi khoaãn vúái caác böí sung so vúái mûác phên tñch.
tham chiïëu multiplicity
+m_TaikhoanRs
thuöåc tñnh coá kiïíu dûä liïåu cuãa ngön ngûä lêåp trònh cuå thïí. navigation
Hònh 4-25 Vñ duå vïì lûúåc àöì lúáp trong möâ hònh Design
Lûúåc àöì Sequence mö taã tûúng taác giûäa caác lúáp àïí thûåc hiïån chûác ùng trong àoá
quan têm àïën trònh tûå thúâi gian laâ àiïím khaác biïåt chuã yïëu so vái lûúåc àöì
Collaboration.
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
: CTaikhoanUI : CTaikhoanCtrl : CTaikhoanRs
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 141 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 Lûúåc àöì Class àûúåc xêy dûång cho möåt möi trûúâng cuå thïí. Caác kiïíu dûä liïåu hay caác lúáp àïìu mang tñnh chêët àùåc trûng cuãa möi trûúâng caâi àùåt vaâ ngön ngûä lêåp trònh. Nhên viïn giao tiïëp khaách haâng CTaikhoanUI CtaikhoanCtrl 1 CTaikhoanRs +m_lSotien : long +m_TaikhoanCtrl111 Lûúåc àöì lúáp cho use case múã taâi khoaãn vúái caác böí sung so vúái mûác phên tñch. tham chiïëu multiplicity +m_TaikhoanRs thuöåc tñnh coá kiïíu dûä liïåu cuãa ngön ngûä lêåp trònh cuå thïí. navigation Hònh 4-25 Vñ duå vïì lûúåc àöì lúáp trong möâ hònh Design Lûúåc àöì Sequence mö taã tûúng taác giûäa caác lúáp àïí thûåc hiïån chûác ùng trong àoá quan têm àïën trònh tûå thúâi gian laâ àiïím khaác biïåt chuã yïëu so vái lûúåc àöì Collaboration. 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 : CTaikhoanUI : CTaikhoanCtrl : CTaikhoanRs
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
142
http://www.ebooks.vdcmedia.com
1: OnClick()
2: DisplayUI()
3: GetData()
4: UpdateData()
5: NewAccount()
6: InsertAccount()
7: Close()
thúâi gian töìn taåi thöng àiïåp (focus of control) haâm tûúng ûáng vúái lúáp
CTaikhoanCtrl. Lûúåc àöì Sequence mö taã tûúng taác úã mûác thiïët kïë.
Hònh 4-26 Vñ duå vïì lûúåc àöì Sequence trong möâ hònh Design
4.16. Caâi àùåt (implementation)
Implementation sûã duång caác kïët quaã tûâ analysis vaâ design àïí tiïën haânh maä
hoáa vaâ caâi àùåt caác thaânh phêìn (component) dûúái daång maä nguöìn, caác script, caác
file nhõ phên hay caác file thi haânh. Muåc àñch cuãa workflow naây laâ
_ Töí chûác caâi àùåt caác lúáp vaâo caác thaânh phêìn (component) vaâ phên böë caác thaânh
phêìn vaâo caác node trïn mö hònh Deployment.
_ Kiïím chûáng caác thaânh phêìn.
_ Tñch húåp caác phêìn caâi àùåt cuãa nhûäng ngûúâi hay nhûäng nhoám phaát triïín vaâo hïå
thöëng.
Mö hònh Implementation bao göìm lûúåc àöì Component cuãa UML. Möîi
component coá thïí bao göìm nhiïìu lúáp vaâ cung cêëp dõch vuå cuãa noá qua caác giao
diïån (interface). Component laâ caác thaânh phêìn àöåc lêåp vaâ caác component cuãa hïå
thöëng coá thïí àûúåc caâi àùåt trïn caác möi trûúâng khaác nhau.
Implementation Design
Interface taâi khoaãn
+Motaikhoan() <<Interface>> Taâi khoaãn
+Motaikhoan() Àûa lúáp taâi khoaãn vaâo component taâi khoaãn àïí thïm dõch vuå múã
taâi khoaãn cho component. realize (cung cêëp)
Component taâi khoaãn
Interface taâi khoaãn
Hònh 4-27 Vñ duå töí chûác möåät lúáp vaâo möåät component sûã duång (dependency)
Chûúng trònh chñnh
Component taâi khoaãn
Interface taâi khoaãn
Component taâi khoaãn àoáng goái caác dõch vuå liïn quan àïën taâi khoaãn vaâ cung cêëp
caác dõch vuå àoá qua interface taâi khoaãn.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 142 http://www.ebooks.vdcmedia.com 1: OnClick() 2: DisplayUI() 3: GetData() 4: UpdateData() 5: NewAccount() 6: InsertAccount() 7: Close() thúâi gian töìn taåi thöng àiïåp (focus of control) haâm tûúng ûáng vúái lúáp CTaikhoanCtrl. Lûúåc àöì Sequence mö taã tûúng taác úã mûác thiïët kïë. Hònh 4-26 Vñ duå vïì lûúåc àöì Sequence trong möâ hònh Design 4.16. Caâi àùåt (implementation) Implementation sûã duång caác kïët quaã tûâ analysis vaâ design àïí tiïën haânh maä hoáa vaâ caâi àùåt caác thaânh phêìn (component) dûúái daång maä nguöìn, caác script, caác file nhõ phên hay caác file thi haânh. Muåc àñch cuãa workflow naây laâ _ Töí chûác caâi àùåt caác lúáp vaâo caác thaânh phêìn (component) vaâ phên böë caác thaânh phêìn vaâo caác node trïn mö hònh Deployment. _ Kiïím chûáng caác thaânh phêìn. _ Tñch húåp caác phêìn caâi àùåt cuãa nhûäng ngûúâi hay nhûäng nhoám phaát triïín vaâo hïå thöëng. Mö hònh Implementation bao göìm lûúåc àöì Component cuãa UML. Möîi component coá thïí bao göìm nhiïìu lúáp vaâ cung cêëp dõch vuå cuãa noá qua caác giao diïån (interface). Component laâ caác thaânh phêìn àöåc lêåp vaâ caác component cuãa hïå thöëng coá thïí àûúåc caâi àùåt trïn caác möi trûúâng khaác nhau. Implementation Design Interface taâi khoaãn +Motaikhoan() <<Interface>> Taâi khoaãn +Motaikhoan() Àûa lúáp taâi khoaãn vaâo component taâi khoaãn àïí thïm dõch vuå múã taâi khoaãn cho component. realize (cung cêëp) Component taâi khoaãn Interface taâi khoaãn Hònh 4-27 Vñ duå töí chûác möåät lúáp vaâo möåät component sûã duång (dependency) Chûúng trònh chñnh Component taâi khoaãn Interface taâi khoaãn Component taâi khoaãn àoáng goái caác dõch vuå liïn quan àïën taâi khoaãn vaâ cung cêëp caác dõch vuå àoá qua interface taâi khoaãn.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
143
http://www.ebooks.vdcmedia.com
Interface taâi khoaãn bao göìm dõch vuå múã taâi khoaãn vaâ caác dõch vuå khaác vïì taâi
khoaãn.
MFC 6.0
Hònh 4-28 Vñ duå vïì lûúåc àöì Component trong möâ hònh Component
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 159
4.16. Kiïím chûáng (test)
RUP laâ möåt quy trònh lùåp. Möîi bûúác nhû vêåy àïìu traãi qua kiïím chûáng nïn
cho pheáp ngûúâi phaát triïín phêìn mïìm coá thïí phaát hiïån löîi rêët súám. Test coá thïí
bao göìm
_ Kiïím tra quaá trònh tûúng taác giûäa caác àöëi tûúång.
_ Kiïím tra tñnh àuáng àùæn cuãa viïåc tñch húåp caác component trong phêìn mïìm.
_ Kiïím tra caác chûác nùng coá àûúåc caâi àùåt chñnh xaác hay khöng. Mö hònh Test
liïn quan àïën têët caã caác mö hònh trong iteration vaâ tham chiïëu àïën caác lûúåc àöì
thñch húåp.
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 160
4.17. Phaát triïín möåt ûáng duång quaãn lyá giaáo vuå theo RUP
4.17.1. Giúái thiïåu ûáng duång
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 143 http://www.ebooks.vdcmedia.com Interface taâi khoaãn bao göìm dõch vuå múã taâi khoaãn vaâ caác dõch vuå khaác vïì taâi khoaãn. MFC 6.0 Hònh 4-28 Vñ duå vïì lûúåc àöì Component trong möâ hònh Component Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 159 4.16. Kiïím chûáng (test) RUP laâ möåt quy trònh lùåp. Möîi bûúác nhû vêåy àïìu traãi qua kiïím chûáng nïn cho pheáp ngûúâi phaát triïín phêìn mïìm coá thïí phaát hiïån löîi rêët súám. Test coá thïí bao göìm _ Kiïím tra quaá trònh tûúng taác giûäa caác àöëi tûúång. _ Kiïím tra tñnh àuáng àùæn cuãa viïåc tñch húåp caác component trong phêìn mïìm. _ Kiïím tra caác chûác nùng coá àûúåc caâi àùåt chñnh xaác hay khöng. Mö hònh Test liïn quan àïën têët caã caác mö hònh trong iteration vaâ tham chiïëu àïën caác lûúåc àöì thñch húåp. Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 160 4.17. Phaát triïín möåt ûáng duång quaãn lyá giaáo vuå theo RUP 4.17.1. Giúái thiïåu ûáng duång
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
144
http://www.ebooks.vdcmedia.com
Àêy laâ ûáng duång maâ hiïån traång àaä àûúåc nùæm bùæt búãi nhiïìu ngûúâi vaâ laâ lônh
vûåc khaá quen thuöåc trong mö hònh hoáa vaâ phaát triïín phêìn mïìm. Giaáo vuå àaåi hoåc
laâ baâi toaán tûúng àöëi àùåc thuâ trong cöng nghïå phêìn mïìm vaâ coá ûáng duång thûåc tïë.
Viïåc phên tñch vaâ thiïët kïë khöng quaá phûác taåp nhûng liïn quan àïën möåt têåp khaái
niïåm mö hònh hoáa tûúng àöëi àêìy àuã cuãa UML vaâ àiïìu naây giuáp ngûúâi phaát triïín
nùæm bùæt khaã nùng cuäng nhû caách ûáng duång UML trong quy trònh phaát triïín phêìn
mïìm RUP.
Muåc àñch cuãa ûáng duång laâ minh hoåa chi tiïët caác luöìng cöng viïåc trong
RUP sûã duång UML trong bûúác lùåp (iteration) thûá nhêët.
4.17.2. Sú lûúåc yïu cêìu vaâ àùåc àiïím
ÛÁng duång quaãn lyá giaáo vuå bao göìm quaãn lyá giaãng viïn vaâ quaãn lyá sinh
viïn. Viïåc quaãn lyá giaãng viïn chó àún giaãn laâ lûu trûä thöng tin giaãng viïn nhùçm
da daång hoáa quy trònh nghiïåp vuå phuåc vuå cho quaá trònh minh hoåa. Viïåc quaãn lyá
sinh viïn tuên theo möåt söë yïu cêìu sau
_ Quaãn lyá thöng tin sinh viïn : bao göìm viïåc lûu trûä, tra cûáu, tòm kiïëm dûä liïåu
möåt sinh viïn nhû hoå tïn, ngaây sinh.
_ Quaãn lyá viïåc àùng kyá hoåc phêìn cuãa sinh viïn : lûu trûä vaâ tra cûáu cuäng nhû thay
àöíi nhûäng hoåc phêìn maâ sinh viïn àùng kyá trong hoåc kyâ.
_ Quaãn lyá quaá trònh hoåc têåp vaâ kïët quaã cuãa sinh viïn : lûu trûä kïët quaã thi caác hoåc
phêìn cuãa hoåc kyâ, tra cûáu àiïím söë vaâ in baãng àiïím.
ÛÁng duång àûúåc mö hònh hoáa sûã duång Rational Rose 2000, caâi àùåt trïn
VC++ 6.0, hïå quaãn trõ cú súã dûä liïåu laâ SQL Server 7.0. ÛÁng duång cuäng sûã duång
caác khaái niïåm phaát triïín phêìn mïìm theo component, kiïën truác phêìn mïìm ba lúáp
(three-tiered application) vaâ kiïën truác client-server nhùçm muåc àñch minh hoåa
trïn möåt têåp khaái niïåm àa daång UML vaâ RUP.
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 161
4.18. Phaát triïín ûáng duång theo caác workflow cuãa RUP
4.18.1. Mö hònh hoáa nghiïåp vuå (business modeling)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 144 http://www.ebooks.vdcmedia.com Àêy laâ ûáng duång maâ hiïån traång àaä àûúåc nùæm bùæt búãi nhiïìu ngûúâi vaâ laâ lônh vûåc khaá quen thuöåc trong mö hònh hoáa vaâ phaát triïín phêìn mïìm. Giaáo vuå àaåi hoåc laâ baâi toaán tûúng àöëi àùåc thuâ trong cöng nghïå phêìn mïìm vaâ coá ûáng duång thûåc tïë. Viïåc phên tñch vaâ thiïët kïë khöng quaá phûác taåp nhûng liïn quan àïën möåt têåp khaái niïåm mö hònh hoáa tûúng àöëi àêìy àuã cuãa UML vaâ àiïìu naây giuáp ngûúâi phaát triïín nùæm bùæt khaã nùng cuäng nhû caách ûáng duång UML trong quy trònh phaát triïín phêìn mïìm RUP. Muåc àñch cuãa ûáng duång laâ minh hoåa chi tiïët caác luöìng cöng viïåc trong RUP sûã duång UML trong bûúác lùåp (iteration) thûá nhêët. 4.17.2. Sú lûúåc yïu cêìu vaâ àùåc àiïím ÛÁng duång quaãn lyá giaáo vuå bao göìm quaãn lyá giaãng viïn vaâ quaãn lyá sinh viïn. Viïåc quaãn lyá giaãng viïn chó àún giaãn laâ lûu trûä thöng tin giaãng viïn nhùçm da daång hoáa quy trònh nghiïåp vuå phuåc vuå cho quaá trònh minh hoåa. Viïåc quaãn lyá sinh viïn tuên theo möåt söë yïu cêìu sau _ Quaãn lyá thöng tin sinh viïn : bao göìm viïåc lûu trûä, tra cûáu, tòm kiïëm dûä liïåu möåt sinh viïn nhû hoå tïn, ngaây sinh. _ Quaãn lyá viïåc àùng kyá hoåc phêìn cuãa sinh viïn : lûu trûä vaâ tra cûáu cuäng nhû thay àöíi nhûäng hoåc phêìn maâ sinh viïn àùng kyá trong hoåc kyâ. _ Quaãn lyá quaá trònh hoåc têåp vaâ kïët quaã cuãa sinh viïn : lûu trûä kïët quaã thi caác hoåc phêìn cuãa hoåc kyâ, tra cûáu àiïím söë vaâ in baãng àiïím. ÛÁng duång àûúåc mö hònh hoáa sûã duång Rational Rose 2000, caâi àùåt trïn VC++ 6.0, hïå quaãn trõ cú súã dûä liïåu laâ SQL Server 7.0. ÛÁng duång cuäng sûã duång caác khaái niïåm phaát triïín phêìn mïìm theo component, kiïën truác phêìn mïìm ba lúáp (three-tiered application) vaâ kiïën truác client-server nhùçm muåc àñch minh hoåa trïn möåt têåp khaái niïåm àa daång UML vaâ RUP. Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 161 4.18. Phaát triïín ûáng duång theo caác workflow cuãa RUP 4.18.1. Mö hònh hoáa nghiïåp vuå (business modeling)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
145
http://www.ebooks.vdcmedia.com
Xaác àõnh caác business actor vaâ nghiïåp vuå (business use case) cho möîi
business actor. Lêåp sûu liïåu mö taã quy trònh thûåc hiïån nghiïåp vuå.
Phong dao tao (from Business Actors)
Töí chûác thi cûã, múã hoåc phêìn
Ghi nhêån kïët quaã
Dûåa trïn khaã nùng cuãa trûúâng vaâ yïu cêìu cuãa sinh viïn, phoâng àaâo taåo tiïën haânh
múã caác hoåc phêìn vaâo àêìu möîi hoåc kyâ.
sûu liïåu möåt nghiïåp vuå (business use case). Phoâng àaâo taåo àaãm nhêån caác cöng
viïåc múã hoåc phêìn, töí chûác thi vaâ ghi nhêån kïët quaã.
Hònh 4-29 Möåät lûúåc àöì Use Case cuãa ûáng duång trong möâ hònh Busines
Use Case
Tòm caác business entity àûúåc sûã duång trong möîi nghiïåp vuå àïí mö taã roä hún vïì
nghiïåp vuå naây qua liïn hïå giûäa caác busisness entity.
Hoåc phêìn (from Business Object Model)
Phoâng àaâo taåo (from Business Actors)
Múã hoåc phêìn
Nghiïåp vuå múã hoåc phêìn cuãa phoâng àaâo taåo àoâi hoãi thao taác trïn möåt danh saách
caác hoåc phêìn. businness entity businness worker
Hònh 4-30 Möåät lûúåc àöì Clas cuãa ûáng duång 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 162
4.19. Xaác àõnh yïu cêìu (requirements)
4.19.1. Phên loaåi ngûúâi sûã duång (actor) vaâ tòm caác chûác nùng cuãa hïå thöëng (use
case) cho möîi loaåi ngûúâi sûã duång naây.
Xaác àõnh nhûäng ngûúâi sûã duång hïå thöëng tûâ viïåc choån lûåa caác business
actor vaâ business worker trong quaá trònh mö hònh hoáa nghiïåp vuå. Möîi use case
nïn àûúåc thiïët kïë khöng quaá röång vaâ cuäng khöng quaá nhoã àïí thuêån lúåi trong quaá
trònh phên tñch. Caác use case àoáng vai troâ quan troång trong khúãi àêìu phaát triïín
ûáng duång vaâ mö hònh Use Case khöng àún giaãn laâ möåt danh saách caác use case.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 145 http://www.ebooks.vdcmedia.com Xaác àõnh caác business actor vaâ nghiïåp vuå (business use case) cho möîi business actor. Lêåp sûu liïåu mö taã quy trònh thûåc hiïån nghiïåp vuå. Phong dao tao (from Business Actors) Töí chûác thi cûã, múã hoåc phêìn Ghi nhêån kïët quaã Dûåa trïn khaã nùng cuãa trûúâng vaâ yïu cêìu cuãa sinh viïn, phoâng àaâo taåo tiïën haânh múã caác hoåc phêìn vaâo àêìu möîi hoåc kyâ. sûu liïåu möåt nghiïåp vuå (business use case). Phoâng àaâo taåo àaãm nhêån caác cöng viïåc múã hoåc phêìn, töí chûác thi vaâ ghi nhêån kïët quaã. Hònh 4-29 Möåät lûúåc àöì Use Case cuãa ûáng duång trong möâ hònh Busines Use Case Tòm caác business entity àûúåc sûã duång trong möîi nghiïåp vuå àïí mö taã roä hún vïì nghiïåp vuå naây qua liïn hïå giûäa caác busisness entity. Hoåc phêìn (from Business Object Model) Phoâng àaâo taåo (from Business Actors) Múã hoåc phêìn Nghiïåp vuå múã hoåc phêìn cuãa phoâng àaâo taåo àoâi hoãi thao taác trïn möåt danh saách caác hoåc phêìn. businness entity businness worker Hònh 4-30 Möåät lûúåc àöì Clas cuãa ûáng duång 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 162 4.19. Xaác àõnh yïu cêìu (requirements) 4.19.1. Phên loaåi ngûúâi sûã duång (actor) vaâ tòm caác chûác nùng cuãa hïå thöëng (use case) cho möîi loaåi ngûúâi sûã duång naây. Xaác àõnh nhûäng ngûúâi sûã duång hïå thöëng tûâ viïåc choån lûåa caác business actor vaâ business worker trong quaá trònh mö hònh hoáa nghiïåp vuå. Möîi use case nïn àûúåc thiïët kïë khöng quaá röång vaâ cuäng khöng quaá nhoã àïí thuêån lúåi trong quaá trònh phên tñch. Caác use case àoáng vai troâ quan troång trong khúãi àêìu phaát triïín ûáng duång vaâ mö hònh Use Case khöng àún giaãn laâ möåt danh saách caác use case.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
146
http://www.ebooks.vdcmedia.com
Muåc àñch cuãa mö hònh naây laâ taåo caác use case sao cho thuêån lúåi trong sûãa
àöíi, kiïím tra vaâ quaãn lyá vò vêåy möåt söë use case khöng àûáng riïng leã maâ tham gia
vaâo caác quan hïå vúái use case khaác. Caác quan hïå giûäa caác use case bao göìm
nhiïìu loaåi nhû Association (vúái caác stereotype nhû “include”,
”extend”...) hay töíng quaát hoáa (Generalization).
Quaãn lyá hoåc phêìn (from Hoc phan)
Xïëp thúâi khoaá biïíu (from Giang day)
Phoâng àaâo taåo (from Actors)
Àùng nhêåp hïå thöëng (from He thong)
Phên cöng giaãng viïn(from Giang day)
Múã hoåc phêìn (from Hoc phan)
Tra cûáu hoåc phêìn (from Hoc phan)
Thiïët kïë use case vaâ quan hïå giûäa caác use case. use case töíng quaát hoáa
(generalization) Use case quaãn lyá hoåc phêìn thûâa kïë têët caã caác thuöåc tñnh vaâ haânh
vi cuãa use case múã hoåc phêìn.
Hònh 4-31 Möåät Lûúåc àöì Use Case cuãa ûáng duång 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 163
4.20. Phên loaåi caác use case theo àöå ûu tiïn
Xaác àõnh thûá tûå phên tñch, thiïët kïë, caâi àùåt, thûã nghiïåm cuãa möîi use case.
Caác use case coá àöå ûu tiïn cao seä àûúåc phaát triïín trûúác. Àöå ûu tiïn coá thïí àûúåc
àaánh giaá dûåa trïn tñnh chêët quan troång, chuã yïëu cuãa chûác nùng trong hïå thöëng
hay trònh tûå thûåc hiïån chûác nùng trong quy trònh nghiïåp vuå.
4.20.1. Lêåp sûu liïåu mö taã chi tiïët cho tûâng chûác nùng
Mö taã chi tiïët tûâng sûå kiïån cho möîi chûác nùng bao göìm caách thûác chûác
nùng àûúåc kñch hoaåt, kïët thuác vaâ quaá trònh tûúng taác vúái ngûúâi sûã duång. Àöìng
thúâi coá thïí sûã duång caác lûúåc àöì State Chart hay Activity àïí mö hònh hoáa chu kyâ
söëng vaâ hoaåt àöång cuãa chûác nùng.
Mö taã chi tiïët chûác nùng
1. Quaãn lyá hoåc phêìn (from Hoc phan)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 146 http://www.ebooks.vdcmedia.com Muåc àñch cuãa mö hònh naây laâ taåo caác use case sao cho thuêån lúåi trong sûãa àöíi, kiïím tra vaâ quaãn lyá vò vêåy möåt söë use case khöng àûáng riïng leã maâ tham gia vaâo caác quan hïå vúái use case khaác. Caác quan hïå giûäa caác use case bao göìm nhiïìu loaåi nhû Association (vúái caác stereotype nhû “include”, ”extend”...) hay töíng quaát hoáa (Generalization). Quaãn lyá hoåc phêìn (from Hoc phan) Xïëp thúâi khoaá biïíu (from Giang day) Phoâng àaâo taåo (from Actors) Àùng nhêåp hïå thöëng (from He thong) Phên cöng giaãng viïn(from Giang day) Múã hoåc phêìn (from Hoc phan) Tra cûáu hoåc phêìn (from Hoc phan) Thiïët kïë use case vaâ quan hïå giûäa caác use case. use case töíng quaát hoáa (generalization) Use case quaãn lyá hoåc phêìn thûâa kïë têët caã caác thuöåc tñnh vaâ haânh vi cuãa use case múã hoåc phêìn. Hònh 4-31 Möåät Lûúåc àöì Use Case cuãa ûáng duång 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 163 4.20. Phên loaåi caác use case theo àöå ûu tiïn Xaác àõnh thûá tûå phên tñch, thiïët kïë, caâi àùåt, thûã nghiïåm cuãa möîi use case. Caác use case coá àöå ûu tiïn cao seä àûúåc phaát triïín trûúác. Àöå ûu tiïn coá thïí àûúåc àaánh giaá dûåa trïn tñnh chêët quan troång, chuã yïëu cuãa chûác nùng trong hïå thöëng hay trònh tûå thûåc hiïån chûác nùng trong quy trònh nghiïåp vuå. 4.20.1. Lêåp sûu liïåu mö taã chi tiïët cho tûâng chûác nùng Mö taã chi tiïët tûâng sûå kiïån cho möîi chûác nùng bao göìm caách thûác chûác nùng àûúåc kñch hoaåt, kïët thuác vaâ quaá trònh tûúng taác vúái ngûúâi sûã duång. Àöìng thúâi coá thïí sûã duång caác lûúåc àöì State Chart hay Activity àïí mö hònh hoáa chu kyâ söëng vaâ hoaåt àöång cuãa chûác nùng. Mö taã chi tiïët chûác nùng 1. Quaãn lyá hoåc phêìn (from Hoc phan)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
147
http://www.ebooks.vdcmedia.com
Phoâng àaâo taåo (from Actors)
Àùng nhêåp hïå thöëng (from He thong)
Múã hoåc phêìn (from Hoc phan)
Tra cûáu hoåc phêìn (from Hoc phan)
Chûác nùng múã hoåc phêìn cho möåt khoaá trong möåt hoåc kyâ
Phoâng àaâo taåo kñch hoaåt chûác nùng cho viïåc duyïåt möåt danh saách caác hoåc phêìn
cuãa hoåc kyâ cho möåt khoaá
2. Tuyâ theo khaã nùng cuãa nhaâ trûúâng vaâ yïu cêìu cuãa sinh viïn, phoâng àaâo taåo
quyïët àõnh múã möåt hoåc phêìn hay khöng
3. Khi quyïët àõnh múã hoåc phêìn möåt transaction seä àûúåc thûåc hiïån vaâ chuyïín
phêìn àoá sang danh saách caác hoåc phêìn múã.
4. Chûác nùng múã hoåc phêìn kïët thuác
Hònh 4-32 Söë liïåäu möâ taã chi tiïëát chûác nùng múã hoåc phêìn
entry/ Lêëy dûä liïåu
entry/ Khúãi taåo danh saách hoåc phêìn
Àùng duyïåt hoåc phêìn
do/ Duyïåt hoåc phêìn
Choån hoåc phêìn
do/ Àaánh dêëu hoåc phêìn àûúåc choån
Duyïåt hoåc phêìn kñch hoaåt chûác nùng
Quyïët àõnh múã danh saách hoåc phêìn
Tiïëp tuåc duyïåt
Chûác nùng múã hoåc phêìn kïët thuác
khúãi àêìu kïët thuác traång thaái (state) Lûúåc àöì State Chart mö taã chuyïín àöíi giûäa
caác traång thaái xûã lyá trong quaá trònh thi haânh chûác nùng múã hoåc phêìn. chuyïín
traång thaái (transition) sûå kiïån taác àöång (event) caác haânh àöång àûúåc thûåc hiïån khi
nùæm giûä traång thaái
Múã caác hoåc phêìn
do/ Chuyïín caác hoåc phêìn àûúåc choån sang danh saách hoåc phêìn múã
do/ Danh saách caác hoåc phêìn àaä múã trïn danh saách hoåc phêìn
Möåt hoåc phêìn àûúåc choån
Hònh 4-33 Lûúåc àöì State Chart möâ taã traång thaái hoaåt àöåäng cuãa chûác nùng múã hoåc
phêìn
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 147 http://www.ebooks.vdcmedia.com Phoâng àaâo taåo (from Actors) Àùng nhêåp hïå thöëng (from He thong) Múã hoåc phêìn (from Hoc phan) Tra cûáu hoåc phêìn (from Hoc phan) Chûác nùng múã hoåc phêìn cho möåt khoaá trong möåt hoåc kyâ Phoâng àaâo taåo kñch hoaåt chûác nùng cho viïåc duyïåt möåt danh saách caác hoåc phêìn cuãa hoåc kyâ cho möåt khoaá 2. Tuyâ theo khaã nùng cuãa nhaâ trûúâng vaâ yïu cêìu cuãa sinh viïn, phoâng àaâo taåo quyïët àõnh múã möåt hoåc phêìn hay khöng 3. Khi quyïët àõnh múã hoåc phêìn möåt transaction seä àûúåc thûåc hiïån vaâ chuyïín phêìn àoá sang danh saách caác hoåc phêìn múã. 4. Chûác nùng múã hoåc phêìn kïët thuác Hònh 4-32 Söë liïåäu möâ taã chi tiïëát chûác nùng múã hoåc phêìn entry/ Lêëy dûä liïåu entry/ Khúãi taåo danh saách hoåc phêìn Àùng duyïåt hoåc phêìn do/ Duyïåt hoåc phêìn Choån hoåc phêìn do/ Àaánh dêëu hoåc phêìn àûúåc choån Duyïåt hoåc phêìn kñch hoaåt chûác nùng Quyïët àõnh múã danh saách hoåc phêìn Tiïëp tuåc duyïåt Chûác nùng múã hoåc phêìn kïët thuác khúãi àêìu kïët thuác traång thaái (state) Lûúåc àöì State Chart mö taã chuyïín àöíi giûäa caác traång thaái xûã lyá trong quaá trònh thi haânh chûác nùng múã hoåc phêìn. chuyïín traång thaái (transition) sûå kiïån taác àöång (event) caác haânh àöång àûúåc thûåc hiïån khi nùæm giûä traång thaái Múã caác hoåc phêìn do/ Chuyïín caác hoåc phêìn àûúåc choån sang danh saách hoåc phêìn múã do/ Danh saách caác hoåc phêìn àaä múã trïn danh saách hoåc phêìn Möåt hoåc phêìn àûúåc choån Hònh 4-33 Lûúåc àöì State Chart möâ taã traång thaái hoaåt àöåäng cuãa chûác nùng múã hoåc phêìn
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
148
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 164
4.21. Cêëu truác caác use case bùçng caách xaác àõnh caác quan hïå giûäa
Caác use case: Tòm caác use case mang chûác nùng töíng quaát vaâ kïë thûâa cho
caác use case khaác (quan hïå töíng quaát hoaá). Tòm caác use case mang chûác nùng
múã röång cho caác use case khaác (quan hïå “extend”). Xaác àõnh caác quan hïå khaác
(nhû “include”) giûäa caác use case.
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 165
4.22. Phên tñch (analysis)
4.22.1. Phên tñch kiïën truác hïå thöëng
Xaác àõnh caác goái (package) cho hïå thöëng thöng qua viïåc phên loaåi thaânh
nhoám caác chûác nùng cho möåt quy trònh nghiïåp vuå tûúng àöëi röång hay nhoám caác
chûác nùng cho möåt actor cuå thïí.
Xaác àõnh quan hïå phuå thuöåc (dependency) giûäa caác goái
Sinh viïn
Hïå thöëng
Phoâng àaâo taåo
Quaãn lyá sinh viïn
Quaãn lyá hoåc phêìn
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 148 http://www.ebooks.vdcmedia.com Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 164 4.21. Cêëu truác caác use case bùçng caách xaác àõnh caác quan hïå giûäa Caác use case: Tòm caác use case mang chûác nùng töíng quaát vaâ kïë thûâa cho caác use case khaác (quan hïå töíng quaát hoaá). Tòm caác use case mang chûác nùng múã röång cho caác use case khaác (quan hïå “extend”). Xaác àõnh caác quan hïå khaác (nhû “include”) giûäa caác use case. Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 165 4.22. Phên tñch (analysis) 4.22.1. Phên tñch kiïën truác hïå thöëng Xaác àõnh caác goái (package) cho hïå thöëng thöng qua viïåc phên loaåi thaânh nhoám caác chûác nùng cho möåt quy trònh nghiïåp vuå tûúng àöëi röång hay nhoám caác chûác nùng cho möåt actor cuå thïí. Xaác àõnh quan hïå phuå thuöåc (dependency) giûäa caác goái Sinh viïn Hïå thöëng Phoâng àaâo taåo Quaãn lyá sinh viïn Quaãn lyá hoåc phêìn
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
149
http://www.ebooks.vdcmedia.com
Phên chia phên hïå phoâng àaâo taåo thaânh caác package hûúáng chûác nùng.
Phên tñch kiïën truác hïå thöëng qua viïåc phên chia thaânh caác package.
Hònh 4-34 Phên chia hïå thöëáng thaânh caác package
Trong möîi goái, xaác àõnh caác entity dïî daâng nhêån thêëy cho möîi use case.
Caác entity naây coá thïí àûúåc choån lûåa tûâ mö hònh Busines Object vaâ thûúâng mang
àùåc àiïím àùåc trûng cho phaåm vi cuãa ûáng duång.
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 166
4.23. Phên tñch möåt use case
Xaác àõnh caác analysis class (bao göìm boundary, control vaâ entity) cêìn
thiïët cho viïåc thi haânh use case vaâ thiïët lêåp mö hònh analysis.
Hoåc phêìn
Khoaá
Phoâng àaâo taåo (from Actors)
Duyïåt hoåc phêìn
Múã hoåc phêìn UI
Hoåc phêìn múã
Múã hc phêìn Control
Hoåc kyâ
Lûúåc àöì Class trong mö hònh analysis mö taã möëi liïn hïå giûäa caác lúáp analysis àïí
thi haânh use case múã hoåc phêìn. Boundary control entity association
Hònh 4-35 Sûã duång caác analysis cllas àïí phêân tñch use case múã hoåc phêìn
Mö taã tûúng taác giûäa caác àöëi tûúång qua mö hònh Collaboration àïí thûåc
hiïån möåt söë caãi tiïën trïn analysis model nïëu coá.
: Múã hoåc phêìn Control
: Múã hoåc phêìn UI
: Hoåc phêìn
: Hoåc phêìn múã
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 149 http://www.ebooks.vdcmedia.com Phên chia phên hïå phoâng àaâo taåo thaânh caác package hûúáng chûác nùng. Phên tñch kiïën truác hïå thöëng qua viïåc phên chia thaânh caác package. Hònh 4-34 Phên chia hïå thöëáng thaânh caác package Trong möîi goái, xaác àõnh caác entity dïî daâng nhêån thêëy cho möîi use case. Caác entity naây coá thïí àûúåc choån lûåa tûâ mö hònh Busines Object vaâ thûúâng mang àùåc àiïím àùåc trûng cho phaåm vi cuãa ûáng duång. Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 166 4.23. Phên tñch möåt use case Xaác àõnh caác analysis class (bao göìm boundary, control vaâ entity) cêìn thiïët cho viïåc thi haânh use case vaâ thiïët lêåp mö hònh analysis. Hoåc phêìn Khoaá Phoâng àaâo taåo (from Actors) 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â Lûúåc àöì Class trong mö hònh analysis mö taã möëi liïn hïå giûäa caác lúáp analysis àïí thi haânh use case múã hoåc phêìn. Boundary control entity association Hònh 4-35 Sûã duång caác analysis cllas àïí phêân tñch use case múã hoåc phêìn Mö taã tûúng taác giûäa caác àöëi tûúång qua mö hònh Collaboration àïí thûåc hiïån möåt söë caãi tiïën trïn analysis model nïëu coá. : Múã hoåc phêìn Control : Múã hoåc phêìn UI : Hoåc phêìn : Hoåc phêìn múã
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
150
http://www.ebooks.vdcmedia.com
: Sinh viïn
: Hoåc kyâ
: Khoaá
: Duyïåt hoåc phêìn
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õ hoåc phêìn trong hoåc kyâ cuãa khoaá
6: Lêëy dûä liïåu khoaá
7: Lêëy dûä liïåu hoåc phêìn
8: Duyïåt hoåc phêìn
9: Choån hoåc phêìn
10: Múã hoåc phêìn
11: Múã hoåc phêìn
12: Taåo hoåc phêìn múã
Lûúåc àöì Collaboration mö taã tûúng taác giûäa caác àöëi tûúång àïí thi haânh use case
múã hoåc phêìn. àöëi tûúång (object)
Hònh 4-36 Lûúåc àöì Collaboration möâ taã caách thûác thi haânh use case múã hoåc
phêìn
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 167
4.24. Phên tñch möåt analysis class
Xaác àõnh caác analysis class coá vai troâ tûúng àöìng vaâ tham gia vaâo nhiïìu
use case àïí lêåp danh saách caác liïn hïå vúái caác analysis class khaác.
Xaác àõnh caác thuöåc tñnh cho möîi analysis class bùçng caách sûã duång caác liïn
hïå trïn àïí tòm caác thuöåc tñnh àêìy àuã cho möîi analysis class. Àiïìu naây coá nghôa laâ
têåp thuöåc tñnh tòm àûúåc phaãi coá khaã nùng àaáp ûáng cho têët caã caác use case chûáa
analysis class naây nhûng möîi use case chûáa noá chó sûã duång têåp con thuöåc tñnh.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 150 http://www.ebooks.vdcmedia.com : Sinh viïn : Hoåc kyâ : Khoaá : Duyïåt hoåc phêìn 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õ hoåc phêìn trong hoåc kyâ cuãa khoaá 6: Lêëy dûä liïåu khoaá 7: Lêëy dûä liïåu hoåc phêìn 8: Duyïåt hoåc phêìn 9: Choån hoåc phêìn 10: Múã hoåc phêìn 11: Múã hoåc phêìn 12: Taåo hoåc phêìn múã Lûúåc àöì Collaboration mö taã tûúng taác giûäa caác àöëi tûúång àïí thi haânh use case múã hoåc phêìn. àöëi tûúång (object) Hònh 4-36 Lûúåc àöì Collaboration möâ taã caách thûác thi haânh use case múã hoåc phêìn Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 167 4.24. Phên tñch möåt analysis class Xaác àõnh caác analysis class coá vai troâ tûúng àöìng vaâ tham gia vaâo nhiïìu use case àïí lêåp danh saách caác liïn hïå vúái caác analysis class khaác. Xaác àõnh caác thuöåc tñnh cho möîi analysis class bùçng caách sûã duång caác liïn hïå trïn àïí tòm caác thuöåc tñnh àêìy àuã cho möîi analysis class. Àiïìu naây coá nghôa laâ têåp thuöåc tñnh tòm àûúåc phaãi coá khaã nùng àaáp ûáng cho têët caã caác use case chûáa analysis class naây nhûng möîi use case chûáa noá chó sûã duång têåp con thuöåc tñnh.