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

7,342
671
171
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
121
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 132
3.49. Caác biïíu tûúång àiïìu khiïín
Caác biïíu tûúång àiïìu khiïín cung cêëp nhûäng kyá hiïåu duâng àïí diïîn taã cho
möåt loaåi thöng tin naâo àoá cêìn àûúåc àùåc taã trong quáa trònh chuyïín àöíi giûäa caác
haânh àöång. Chuáng àûúåc àûa vaâo lûúåc àöì chó nhùçm muåc àñch nhêën maånh nhûäng
thöng tin maâ ngûúâi duâng thïm vaâo. Chuáng coá hai loaåi:
- Tñn hiïåu nhêån : biïíu diïîn bùçng möåt hònh chûä nhêåt coá möåt àêìu loäm, möåt muäi tïn
àûát neát àûúåc veä tûâ àöëi tûúång túái hònh chûä nhêåt cho biïët àêy laâ àöëi tûúång gûãi tñn
hiïåu.
- Tñn hiïåu gûãi : biïíu diïîn bùçng möåt hònh chûä nhêåt coá möåt àêìu löìi, vaâ cuäng coá thïí
coá möåt muäi tïn veä tûâ hònh chûä nhêåt túái àöëi tûúång nhêån tñn hiïåu. (tñn hiïåu gûãi vaâ
àöëi tûúång nhêån tñn hiïåu) (tñn hiïåu nhêån vaâ àöëi tûúång gûãi tñn hiïåu)
Hònh 3-65 Biïíu tûúång gûãi vaâ nhêån tñn hiïåu
Giaãi thñch: khi haânh àöång bêåt maáy pha caâ phï àûúåc thûåc hiïån (turn on
machine) noá seä gûãi tñn hiïåu laâ maáy bêåt (turn on) àïën àöëi tûúång laâ bònh pha caâ phï
(coffeepot) sau àoá seä chuyïín qua traång thaái pha caâ phï (Brew coffee), kïë àoá khi
àöëi tûúång bònh pha caâ phï (coffeepot) baáo àeân àaä tùæt thò seä chuyïín qua haânh
àöång chïë caâ phï ra ly (Pour coffee).
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 121 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 132 3.49. Caác biïíu tûúång àiïìu khiïín Caác biïíu tûúång àiïìu khiïín cung cêëp nhûäng kyá hiïåu duâng àïí diïîn taã cho möåt loaåi thöng tin naâo àoá cêìn àûúåc àùåc taã trong quáa trònh chuyïín àöíi giûäa caác haânh àöång. Chuáng àûúåc àûa vaâo lûúåc àöì chó nhùçm muåc àñch nhêën maånh nhûäng thöng tin maâ ngûúâi duâng thïm vaâo. Chuáng coá hai loaåi: - Tñn hiïåu nhêån : biïíu diïîn bùçng möåt hònh chûä nhêåt coá möåt àêìu loäm, möåt muäi tïn àûát neát àûúåc veä tûâ àöëi tûúång túái hònh chûä nhêåt cho biïët àêy laâ àöëi tûúång gûãi tñn hiïåu. - Tñn hiïåu gûãi : biïíu diïîn bùçng möåt hònh chûä nhêåt coá möåt àêìu löìi, vaâ cuäng coá thïí coá möåt muäi tïn veä tûâ hònh chûä nhêåt túái àöëi tûúång nhêån tñn hiïåu. (tñn hiïåu gûãi vaâ àöëi tûúång nhêån tñn hiïåu) (tñn hiïåu nhêån vaâ àöëi tûúång gûãi tñn hiïåu) Hònh 3-65 Biïíu tûúång gûãi vaâ nhêån tñn hiïåu Giaãi thñch: khi haânh àöång bêåt maáy pha caâ phï àûúåc thûåc hiïån (turn on machine) noá seä gûãi tñn hiïåu laâ maáy bêåt (turn on) àïën àöëi tûúång laâ bònh pha caâ phï (coffeepot) sau àoá seä chuyïín qua traång thaái pha caâ phï (Brew coffee), kïë àoá khi àöëi tûúång bònh pha caâ phï (coffeepot) baáo àeân àaä tùæt thò seä chuyïín qua haânh àöång chïë caâ phï ra ly (Pour coffee).
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
122
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 133
3.50. Lûúåc àöì thaânh phêìn (Component Diagram)
Vñ duå
(caác trang web liïn kïët vúái caác thaânh phêìn khaác trong hïå thöëng) (thaânh phêìn
thûåc thi) (caác thû viïån) (caác component (thaânh phêìn) trong hïå thöëng)
nh 3-66 Lûúåc àöì thaânh phêìn (Component Diagram)
Ngûä nghôa
_ Laâ lûúåc àöì thïí hiïån sûå phuå thuöåc giûäa caác thaânh phêìn phêìn mïìm vúái nhau.
_ Laâ lûúåc àöì ghi nhêån cêëu truác vêåt lyá cuãa phiïn baãn caâi àùåt.
Chûác nùng
_ Töí chûác source code
_ Xêy dûång möåt phiïn baãn thûåc thi àûúåc
_ Àùåc taã cêëu truác cú súã dûä liïåu vêåt lyá
_ Àûúåc xêy dûång nhû möåt phêìn àùåc taã cêëu truác hïå thöëng
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 134
3.51. Caác thaânh phêìn chñnh
Thaânh töë chñnh trong lûúåc àöì thaânh phêìn laâ caác thaânh phêìn (component),
chuáng biïíu diïîn caác thaânh phêìn trong viïåc triïín khai hïå thöëng bao göìm chûúng
trònh (maä nguöìn cuãa phêìn mïìm, maä nhõ phên, chûúng trònh thûåc thi, caác trang
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 122 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 133 3.50. Lûúåc àöì thaânh phêìn (Component Diagram) Vñ duå (caác trang web liïn kïët vúái caác thaânh phêìn khaác trong hïå thöëng) (thaânh phêìn thûåc thi) (caác thû viïån) (caác component (thaânh phêìn) trong hïå thöëng) Hònh 3-66 Lûúåc àöì thaânh phêìn (Component Diagram) Ngûä nghôa _ Laâ lûúåc àöì thïí hiïån sûå phuå thuöåc giûäa caác thaânh phêìn phêìn mïìm vúái nhau. _ Laâ lûúåc àöì ghi nhêån cêëu truác vêåt lyá cuãa phiïn baãn caâi àùåt. Chûác nùng _ Töí chûác source code _ Xêy dûång möåt phiïn baãn thûåc thi àûúåc _ Àùåc taã cêëu truác cú súã dûä liïåu vêåt lyá _ Àûúåc xêy dûång nhû möåt phêìn àùåc taã cêëu truác hïå thöëng Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 134 3.51. Caác thaânh phêìn chñnh Thaânh töë chñnh trong lûúåc àöì thaânh phêìn laâ caác thaânh phêìn (component), chuáng biïíu diïîn caác thaânh phêìn trong viïåc triïín khai hïå thöëng bao göìm chûúng trònh (maä nguöìn cuãa phêìn mïìm, maä nhõ phên, chûúng trònh thûåc thi, caác trang
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
123
http://www.ebooks.vdcmedia.com
web...), vaâ caác sûu liïåu cho hïå thöëng... Kyá hiïåu cuãa component trong lûúåc àöì laâ
möåt hònh chûä nhêåt coá hai hònh chûä nhêåt nhoã gùæn úã caånh bïn cuãa hònh, bïn trong
chûáa tïn cuãa component vúái cuá phaáp: Component - type
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 135
Möåt thûåc thïí component coá tïn vaâ kiïíu àûúåc gaåch dûúái vaâ caách nhau búãi
dêëu hai chêëm. Component cuäng coá thïí chûáa caác àöëi tûúång (taåi thúâi àiïím thûåc
thi) bïn trong baãn thên noá.
Hònh 3-67 Möåät component chûáa caác object bïân trong..
Ngoaâi ra trong lûúåc àöì thaânh phêìn coân coá caác quan hïå phuå thuöåc giûäa caác thaânh
phêìn, quan hïå phuåc thuöåc chó ra sûå phuå thuöåc lêîn nhau giûäa caác thaânh phêìn khi
triïín khai hïå thöëng. Möåt thaânh phêìn coá thïí àõnh nghôa caác giao tiïëp cho caác
thaânh phêìn khaác sûã duång, tïn giao tiïëp àùåt ngay bïn caånh biïíu tûúång cuãa giao
tiïëp (xem phêìn 3.5.2.4.2)
(component) (interface)
Hònh 3-68 Component vaâ caác giao tiïëáp (interface)
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 136
3.52. Lûúåc àöì triïín khai (Deployment Diagram)
Vñ duå
(kïët nöëi giûäa caác node khi triïín khai hïå thöëng) (caác node triïín khai trong hïå
thöëng)
Hònh 3-69 Lûúåc àöì triïín khai (Deplloyment Diiagram)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 123 http://www.ebooks.vdcmedia.com web...), vaâ caác sûu liïåu cho hïå thöëng... Kyá hiïåu cuãa component trong lûúåc àöì laâ möåt hònh chûä nhêåt coá hai hònh chûä nhêåt nhoã gùæn úã caånh bïn cuãa hònh, bïn trong chûáa tïn cuãa component vúái cuá phaáp: Component - type Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 135 Möåt thûåc thïí component coá tïn vaâ kiïíu àûúåc gaåch dûúái vaâ caách nhau búãi dêëu hai chêëm. Component cuäng coá thïí chûáa caác àöëi tûúång (taåi thúâi àiïím thûåc thi) bïn trong baãn thên noá. Hònh 3-67 Möåät component chûáa caác object bïân trong.. Ngoaâi ra trong lûúåc àöì thaânh phêìn coân coá caác quan hïå phuå thuöåc giûäa caác thaânh phêìn, quan hïå phuåc thuöåc chó ra sûå phuå thuöåc lêîn nhau giûäa caác thaânh phêìn khi triïín khai hïå thöëng. Möåt thaânh phêìn coá thïí àõnh nghôa caác giao tiïëp cho caác thaânh phêìn khaác sûã duång, tïn giao tiïëp àùåt ngay bïn caånh biïíu tûúång cuãa giao tiïëp (xem phêìn 3.5.2.4.2) (component) (interface) Hònh 3-68 Component vaâ caác giao tiïëáp (interface) Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 136 3.52. Lûúåc àöì triïín khai (Deployment Diagram) Vñ duå (kïët nöëi giûäa caác node khi triïín khai hïå thöëng) (caác node triïín khai trong hïå thöëng) Hònh 3-69 Lûúåc àöì triïín khai (Deplloyment Diiagram)
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
124
http://www.ebooks.vdcmedia.com
Ngûä nghôa
_ Laâ möåt àöì thõ caác node àûúåc liïn kïët búãi caác kïët nöëi
_ Laâ lûúåc àöì thïí hiïån cêëu hònh cuãa caác thaânh phêìn àang xûã lyá taåi thúâi
àiïím hïå thöëng àang chaåy, caác thaânh phêìn phêìn mïìm, caác tiïën trònh
vaâ caác àöëi tûúång àang söëng trong chuáng
Chûác nùng
_ Àùåc taã sûå phên böë caác thaânh phêìn trong hïå thöëng_
_ Böí sung cho lûúåc àöì thaânh phêìn bùçng caách chó ra cêëu hònh cuãa caác thaânh phêìn
xûã lyá khi hïå thöëng àang chaåy vaâ caác thaânh phêìn phêìn mïìm.
_ Thïí hiïån sûå chuyïín àöíi cuãa caác thaânh phêìn tûâ node ngaây sang node khaác hoùåc
caác àöëi tûúång tûâ thaânh phêìn naây sang thaânh phêìn khaác.
Caác thaânh phêìn chñnh
Thaânh phêìn chñnh trong lûúåc àöì triïín khai laâ caác node (nuát), àêy laâ caác
thaânh töë vêåt lyá, töìn taåi taåi thúâi àiïím hïå thöëng àang thûåc thi, chuáng biïíu diïîn caác
taâi nguyïn maáy tñnh. Caác component söëng (live) trïn caác node vaâ caác node biïíu
diïîn viïåc triïín khai vêåt lyá cuãa caác thaânh phêìn. Kyá hiïåu cuãa caác node trong lûúåc
àöì coá thïí laâ caác biïíu tûúång trong thïë giúái thûåc hoùåc laâ möåt hònh khöëi vúái tïn
node bïn trong.
Hònh 3-70 Möåät söëá thïí hiïåän cuãa Node
Möåt node coá thïí chûáa caác component bïn trong vaâ nhûäng component naây
coá thïí liïn hïå vúái nhau bùçng caác quan hïå phuå thuöåc, trong khi àoá nïëu hai node
coá quan hïå vúái nhau, chuáng seä àûúåc liïn kïët bùçng möåt connection (kïët nöëi), vaâ
caác àöëi tûúång hay caác thaânh phêìn bïn trong node seä liïn laåc, quan hïå vúái nhau
thöng qua kïët nöëi naây.
Hònh 3-71 Node chûáa caác component coá quan hïåä vúái nhau
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 124 http://www.ebooks.vdcmedia.com Ngûä nghôa _ Laâ möåt àöì thõ caác node àûúåc liïn kïët búãi caác kïët nöëi _ Laâ lûúåc àöì thïí hiïån cêëu hònh cuãa caác thaânh phêìn àang xûã lyá taåi thúâi àiïím hïå thöëng àang chaåy, caác thaânh phêìn phêìn mïìm, caác tiïën trònh vaâ caác àöëi tûúång àang söëng trong chuáng Chûác nùng _ Àùåc taã sûå phên böë caác thaânh phêìn trong hïå thöëng_ _ Böí sung cho lûúåc àöì thaânh phêìn bùçng caách chó ra cêëu hònh cuãa caác thaânh phêìn xûã lyá khi hïå thöëng àang chaåy vaâ caác thaânh phêìn phêìn mïìm. _ Thïí hiïån sûå chuyïín àöíi cuãa caác thaânh phêìn tûâ node ngaây sang node khaác hoùåc caác àöëi tûúång tûâ thaânh phêìn naây sang thaânh phêìn khaác. Caác thaânh phêìn chñnh Thaânh phêìn chñnh trong lûúåc àöì triïín khai laâ caác node (nuát), àêy laâ caác thaânh töë vêåt lyá, töìn taåi taåi thúâi àiïím hïå thöëng àang thûåc thi, chuáng biïíu diïîn caác taâi nguyïn maáy tñnh. Caác component söëng (live) trïn caác node vaâ caác node biïíu diïîn viïåc triïín khai vêåt lyá cuãa caác thaânh phêìn. Kyá hiïåu cuãa caác node trong lûúåc àöì coá thïí laâ caác biïíu tûúång trong thïë giúái thûåc hoùåc laâ möåt hònh khöëi vúái tïn node bïn trong. Hònh 3-70 Möåät söëá thïí hiïåän cuãa Node Möåt node coá thïí chûáa caác component bïn trong vaâ nhûäng component naây coá thïí liïn hïå vúái nhau bùçng caác quan hïå phuå thuöåc, trong khi àoá nïëu hai node coá quan hïå vúái nhau, chuáng seä àûúåc liïn kïët bùçng möåt connection (kïët nöëi), vaâ caác àöëi tûúång hay caác thaânh phêìn bïn trong node seä liïn laåc, quan hïå vúái nhau thöng qua kïët nöëi naây. Hònh 3-71 Node chûáa caác component coá quan hïåä vúái nhau
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
125
http://www.ebooks.vdcmedia.com
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 137
3.53. Toám tùæt
Chûúng 3
HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 138
3.54. Toám tùæt
Chûúng ba trònh baây vïì caác loaåi lûúåc àöì cuâng vúái hïå thöëng caác kyá hiïåu
àûúåc àõnh nghôa trong UML, bïn caånh àoá laâ möåt söë cuá phaáp vaâ khuön mêîu duâng
àïí àõnh nghôa kyá hiïåu cho caác khaái niïåm múái maâ ngûúâi duâng muöën àõnh nghôa.
Nhû ta thêëy, caác lûúåc àöì trong UML coá nhûäng àùåc àiïím riïng biïåt, möîi lûúåc àöì
thïí hiïån möåt khña caånh riïng cuãa hïå thöëng cêìn xêy dûång. Thöng qua chñn lûúåc àöì
ta coá thïí thêëy UML coá thïí mö hònh hoáa nhiïìu hïå thöëng tûâ àún giaãn àïën phûác taåp.
Trong chûúng kïë tiïëp seä trònh baây vïì ûáng duång cuãa UML trong qui trònh phaát
triïín phêìn mïìm RUP, àùåc biïåt laâ caách sûã duång caác lûúåc àöì àïí àùåc taã caác mö hònh
trong caác giai àoaån khaác nhau cuãa qui trònh.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 125 http://www.ebooks.vdcmedia.com Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 137 3.53. Toám tùæt Chûúng 3 HÏÅ THÖËNG KYÁ HIÏÅU (UML Notation) 138 3.54. Toám tùæt Chûúng ba trònh baây vïì caác loaåi lûúåc àöì cuâng vúái hïå thöëng caác kyá hiïåu àûúåc àõnh nghôa trong UML, bïn caånh àoá laâ möåt söë cuá phaáp vaâ khuön mêîu duâng àïí àõnh nghôa kyá hiïåu cho caác khaái niïåm múái maâ ngûúâi duâng muöën àõnh nghôa. Nhû ta thêëy, caác lûúåc àöì trong UML coá nhûäng àùåc àiïím riïng biïåt, möîi lûúåc àöì thïí hiïån möåt khña caånh riïng cuãa hïå thöëng cêìn xêy dûång. Thöng qua chñn lûúåc àöì ta coá thïí thêëy UML coá thïí mö hònh hoáa nhiïìu hïå thöëng tûâ àún giaãn àïën phûác taåp. Trong chûúng kïë tiïëp seä trònh baây vïì ûáng duång cuãa UML trong qui trònh phaát triïín phêìn mïìm RUP, àùåc biïåt laâ caách sûã duång caác lûúåc àöì àïí àùåc taã caác mö hònh trong caác giai àoaån khaác nhau cuãa qui trònh.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
126
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 139
4.1. Giúái thiïåu
Ngaây nay, chêët lûúång phêìn mïìm phuå thuöåc vaâo rêët nhiïìu yïëu töë khaác
nhau, trong àoá quy trònh cöng nghïå àoáng möåt vai troâ quan troång vaâo loaåi bêåc
nhêët. Trûúác tònh hònh àoá caác cöng ty phêìn mïìm lúán trïn thïë giúái àaä nhanh choáng
àûa ra nhiïìu quy trònh cöng nghïå khaác nhau, trûúác tiïn laâ phuåc vuå cho nhu cêìu
phaát triïín phêìn mïìm trong cöng ty mònh, sau àoá laâ cöng böë röång raäi àïí thu thêåp
yá kiïën tûâ nhûäng àöëi taác nhùçm tòm kiïëm lúâi giaãi cho baâi toaán töëi ûu hoáa quy trònh
cöng nghïå cuãa mònh. Hiïån nay coá rêët nhiïìu quy trònh phaát triïín phêìn mïìm khaác
nhau àûúåc sûã duång trong caác cöng ty phaát triïín phêìn mïìm nhû : Water fall
Process, OPEN Process, Object-Oriented Software Process,Unified Process...
möîi quy trònh àïìu coá nhûäng ûu/khuyïët àiïím riïng cuãa mònh nhûng nöíi bêåt nhêët
vaâ ngaây caâng àûúåc sûã duång röång raäi nhêët laâ Unified Process cuãa haäng Rational.
RUP (Rational Unified Process) ngaây caâng àûúåc sûã duång vaâ àûúåc höî trúå röång raäi
tûâ nhûäng àöëi taác sûã duång, mùåc duâ RUP múái àûúåc phaát triïín trong nhûäng nùm gêìn
àêy, nhûng sûå xuêët hiïån cuãa RUP àaánh dêëu möåt xu hûúáng phaát triïín múái trong
giai àoaån buâng nöí cuãa ngaânh cöng nghïå phêìn mïìm.
4.2. Giúái thiïåu Rational Unified Process (RUP)
4.2.1. Khaái quaát vïì RUP
RUP Rational Unified Process - laâ quy trònh cöng nghïå phêìn mïìm àûúåc
phaát triïín búãi haäng Rational, RUP höî trúå caác hoaåt àöång phaát triïín phêìn mïìm
theo nhoám, phên chia cöng viïåc theo thûá tûå cho tûâng thaânh viïn cuãa nhoám trong
tûâng giai àoaån khaác nhau cuãa quy trònh phaát triïín phêìn mïìm. RUP sûã duång ngön
ngûä UML àïí mö hònh hoáa vaâ cung cêëp nhûäng hûúáng dêîn àïí sûã duång UML möåt
caách hiïåu quaã nhêët.
Hònh 4-1 Toám tùæt lõch sûã phaát triïín cuãa RUP
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 126 http://www.ebooks.vdcmedia.com Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 139 4.1. Giúái thiïåu Ngaây nay, chêët lûúång phêìn mïìm phuå thuöåc vaâo rêët nhiïìu yïëu töë khaác nhau, trong àoá quy trònh cöng nghïå àoáng möåt vai troâ quan troång vaâo loaåi bêåc nhêët. Trûúác tònh hònh àoá caác cöng ty phêìn mïìm lúán trïn thïë giúái àaä nhanh choáng àûa ra nhiïìu quy trònh cöng nghïå khaác nhau, trûúác tiïn laâ phuåc vuå cho nhu cêìu phaát triïín phêìn mïìm trong cöng ty mònh, sau àoá laâ cöng böë röång raäi àïí thu thêåp yá kiïën tûâ nhûäng àöëi taác nhùçm tòm kiïëm lúâi giaãi cho baâi toaán töëi ûu hoáa quy trònh cöng nghïå cuãa mònh. Hiïån nay coá rêët nhiïìu quy trònh phaát triïín phêìn mïìm khaác nhau àûúåc sûã duång trong caác cöng ty phaát triïín phêìn mïìm nhû : Water fall Process, OPEN Process, Object-Oriented Software Process,Unified Process... möîi quy trònh àïìu coá nhûäng ûu/khuyïët àiïím riïng cuãa mònh nhûng nöíi bêåt nhêët vaâ ngaây caâng àûúåc sûã duång röång raäi nhêët laâ Unified Process cuãa haäng Rational. RUP (Rational Unified Process) ngaây caâng àûúåc sûã duång vaâ àûúåc höî trúå röång raäi tûâ nhûäng àöëi taác sûã duång, mùåc duâ RUP múái àûúåc phaát triïín trong nhûäng nùm gêìn àêy, nhûng sûå xuêët hiïån cuãa RUP àaánh dêëu möåt xu hûúáng phaát triïín múái trong giai àoaån buâng nöí cuãa ngaânh cöng nghïå phêìn mïìm. 4.2. Giúái thiïåu Rational Unified Process (RUP) 4.2.1. Khaái quaát vïì RUP RUP – Rational Unified Process - laâ quy trònh cöng nghïå phêìn mïìm àûúåc phaát triïín búãi haäng Rational, RUP höî trúå caác hoaåt àöång phaát triïín phêìn mïìm theo nhoám, phên chia cöng viïåc theo thûá tûå cho tûâng thaânh viïn cuãa nhoám trong tûâng giai àoaån khaác nhau cuãa quy trònh phaát triïín phêìn mïìm. RUP sûã duång ngön ngûä UML àïí mö hònh hoáa vaâ cung cêëp nhûäng hûúáng dêîn àïí sûã duång UML möåt caách hiïåu quaã nhêët. Hònh 4-1 Toám tùæt lõch sûã phaát triïín cuãa RUP
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
127
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 140
4.3. Giúái thiïåu Rational Unified Process (RUP)
Muåc àñch chñnh cuãa RUP laâ giuáp saãn xuêët nhûäng phêìn mïìm coá chêët lûúång
cao thoãa maän yïu cêìu cuãa ngûúâi duâng cuöëi, trong khuön khöí thúâi gian vaâ ngên
saách.
RUP àûúåc phaát triïín vaâ duy trò búãi haäng Rational, àaãm baão qui trònh luön
àûúåc caãi tiïën hoaân chónh hún trïn cú súã nhûäng kinh nghiïåm phaãn höìi tûâ àöëi taác
sûã duång, sûå tiïën hoáa vaâ nhûäng caách vêån duång töët nhêët trong thûåc tïë. RUP nêng
cao nùng suêët laâm viïåc cuãa nhoám. Caác thaânh viïn trong nhoám coá hûúáng dêîn,
khuön mêîu, cöng cuå höî trúå vaâ àïìu sûã duång möåt ngön ngûä chung, möåt qui trònh
chung do àoá coá sûå thöëng nhêët trong caách nhòn vaâ phûúng hûúáng phaát triïín möåt
phêìn mïìm. Sûã duång UML àïí höî trúå têët caã caác giai àoaån (phase) trong quy trònh
phaát triïín phêìn mïìm, hoaåt àöång chñnh cuãa RUP laâ taåo, caãi tiïën vaâ quaãn lyá caác
loaåi mö hònh. Ngoaâi ra, RUP coân hûúáng dêîn laâm möåt lûúång lúán caác sûu liïåu cho
phêìn mïìm, RUP nhêën maånh viïåc phaát triïín nhûäng mö hònh giaâu ngûä nghôa biïíu
diïîn cho hïå thöëng dûúái goác àöå cuãa ngûúâi phaát triïín. Ngaây nay, RUP àûúåc höî trúå
búãi caác cöng cuå, giuáp tûå àöång hoáa phêìn lúán quy trònh phaát triïín phêìn mïìm. Caác
cöng cuå höî trúå RUP coá thïí kïí àïën laâ quaãn lyá àïì aán, phên cöng nhên sûå, taåo lêåp
vaâ quaãn lyá mö hònh, kiïím chûáng...
Khöng möåt quy trònh naâo coá thïí phuâ húåp cho têët caã caác töí chûác phaát triïín
phêìn mïìm. RUP àûúåc phaát triïín trïn cú súã cêëu truác àún giaãn vaâ roä raâng, coá thïí
cêëu hònh laåi cho phuâ húåp vúái nhu cêìu cuãa töí chûác sûã duång. RUP phuâ húåp cho
nhûäng nhoám phaát triïín nhoã cuäng nhû nhûäng töí chûác lúán. RUP laâ têåp húåp nhûäng
cöng viïåc vaâ kinh nghiïåm àaä àûúåc vêån duång hiïåu quaã nhêët trong thûåc tïë. Viïåc
phaát triïín theo RUP cho pheáp nhûäng nhoám phaát triïín coá àûúåc möåt söë thuêån lúåi
so vúái nhûäng nhoám khaác.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 127 http://www.ebooks.vdcmedia.com Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 140 4.3. Giúái thiïåu Rational Unified Process (RUP) Muåc àñch chñnh cuãa RUP laâ giuáp saãn xuêët nhûäng phêìn mïìm coá chêët lûúång cao thoãa maän yïu cêìu cuãa ngûúâi duâng cuöëi, trong khuön khöí thúâi gian vaâ ngên saách. RUP àûúåc phaát triïín vaâ duy trò búãi haäng Rational, àaãm baão qui trònh luön àûúåc caãi tiïën hoaân chónh hún trïn cú súã nhûäng kinh nghiïåm phaãn höìi tûâ àöëi taác sûã duång, sûå tiïën hoáa vaâ nhûäng caách vêån duång töët nhêët trong thûåc tïë. RUP nêng cao nùng suêët laâm viïåc cuãa nhoám. Caác thaânh viïn trong nhoám coá hûúáng dêîn, khuön mêîu, cöng cuå höî trúå vaâ àïìu sûã duång möåt ngön ngûä chung, möåt qui trònh chung do àoá coá sûå thöëng nhêët trong caách nhòn vaâ phûúng hûúáng phaát triïín möåt phêìn mïìm. Sûã duång UML àïí höî trúå têët caã caác giai àoaån (phase) trong quy trònh phaát triïín phêìn mïìm, hoaåt àöång chñnh cuãa RUP laâ taåo, caãi tiïën vaâ quaãn lyá caác loaåi mö hònh. Ngoaâi ra, RUP coân hûúáng dêîn laâm möåt lûúång lúán caác sûu liïåu cho phêìn mïìm, RUP nhêën maånh viïåc phaát triïín nhûäng mö hònh giaâu ngûä nghôa biïíu diïîn cho hïå thöëng dûúái goác àöå cuãa ngûúâi phaát triïín. Ngaây nay, RUP àûúåc höî trúå búãi caác cöng cuå, giuáp tûå àöång hoáa phêìn lúán quy trònh phaát triïín phêìn mïìm. Caác cöng cuå höî trúå RUP coá thïí kïí àïën laâ quaãn lyá àïì aán, phên cöng nhên sûå, taåo lêåp vaâ quaãn lyá mö hònh, kiïím chûáng... Khöng möåt quy trònh naâo coá thïí phuâ húåp cho têët caã caác töí chûác phaát triïín phêìn mïìm. RUP àûúåc phaát triïín trïn cú súã cêëu truác àún giaãn vaâ roä raâng, coá thïí cêëu hònh laåi cho phuâ húåp vúái nhu cêìu cuãa töí chûác sûã duång. RUP phuâ húåp cho nhûäng nhoám phaát triïín nhoã cuäng nhû nhûäng töí chûác lúán. RUP laâ têåp húåp nhûäng cöng viïåc vaâ kinh nghiïåm àaä àûúåc vêån duång hiïåu quaã nhêët trong thûåc tïë. Viïåc phaát triïín theo RUP cho pheáp nhûäng nhoám phaát triïín coá àûúåc möåt söë thuêån lúåi so vúái nhûäng nhoám khaác.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
128
http://www.ebooks.vdcmedia.com
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 141
4.4 Giúái thiïåu Rational Unified Process (RUP)
4.4.1. Kiïën truác cuãa RUP
Caác giai àoaån (phase) cuãa quy trònh
RUP laâ quy trònh bao göìm nhiïìu bûúác lùåp àïí xêy dûång hïå thöëng goåi laâ caác
chu kyâ (cycle). Möîi chu kyâ cho kïët quaã laâ möåt phiïn baãn release cuãa phêìn mïìm
bao göìm maä nguöìn trong caác thaânh phêìn (componennt) coá thïí biïn dõch vaâ thûåc
thi. Möåt chu kyâ àûúåc chia laâm böën phase laâ khúãi àêìu (inception), triïín khai
(elaboration), xêy dûång (contruction), chuyïín giao (transition).
_ Inception : xaác àõnh phaåm vi dûå aán, caác taâi nguyïn cêìn thiïët vaâ phaác thaão chûác
nùng cho ngûúâi sûã duång (business case).
_ Elaboration : phên tñch vêën àïì, lêåp kïë hoaåch dûå aán, àaánh giaá ruãi ro vaâ
xaác àõnh kiïën truác hïå thöëng.
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 142
4.5 Giúái thiïåu Rational Unified Process (RUP)
_ Construction : phaát triïín caác thaânh phêìn (component), tñch húåp vaâo saãn phêím
vaâ kiïím chûáng caác chûác nùng
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 128 http://www.ebooks.vdcmedia.com Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 141 4.4 Giúái thiïåu Rational Unified Process (RUP) 4.4.1. Kiïën truác cuãa RUP Caác giai àoaån (phase) cuãa quy trònh RUP laâ quy trònh bao göìm nhiïìu bûúác lùåp àïí xêy dûång hïå thöëng goåi laâ caác chu kyâ (cycle). Möîi chu kyâ cho kïët quaã laâ möåt phiïn baãn release cuãa phêìn mïìm bao göìm maä nguöìn trong caác thaânh phêìn (componennt) coá thïí biïn dõch vaâ thûåc thi. Möåt chu kyâ àûúåc chia laâm böën phase laâ khúãi àêìu (inception), triïín khai (elaboration), xêy dûång (contruction), chuyïín giao (transition). _ Inception : xaác àõnh phaåm vi dûå aán, caác taâi nguyïn cêìn thiïët vaâ phaác thaão chûác nùng cho ngûúâi sûã duång (business case). _ Elaboration : phên tñch vêën àïì, lêåp kïë hoaåch dûå aán, àaánh giaá ruãi ro vaâ xaác àõnh kiïën truác hïå thöëng. Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 142 4.5 Giúái thiïåu Rational Unified Process (RUP) _ Construction : phaát triïín caác thaânh phêìn (component), tñch húåp vaâo saãn phêím vaâ kiïím chûáng caác chûác nùng
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
129
http://www.ebooks.vdcmedia.com
_ Transition : chuyïín giao saãn phêím àïën khaách haâng, huêën luyïån khaách haâng
caách sûã duång, baão trò àöìng thúâi àiïìu chónh möåt söë chûác nùng cêìn thiïët.
Caác giai àoaån (phase)
Inception Elaboration Construction Transition
Khúãi àêìu Triïín khai Xêy dûång Chuyïín giao
Trûåc quan hoáa
Kiïën truác cú baãn
Caác tñnh nùng khúãi àêìu
Saãn phêím
release
Hònh 4-2 Caác phase cuãa RUP
Ngoaâi ra, trong möåt cycle (chu kyâ) coân bao göìm nhiïìu bûúác lùåp con
(iteration). Möîi iteration cuäng cho kïët quaã laâ möåt phiïn baãn release vaâ àûúåc hoaân
thaânh qua quaá trònh thûåc hiïån möåt daäy caác cöng viïåc cuå thïí goåi laâ luöìng cöng
viïåc (workflow). Caác cöng viïåc àûúåc phên chia vaâo caác workflow àïí xêy dûång
phiïn baãn release cho möåt iteration. Caác luöìng cöng viïåc cú baãn laâ business
modeling (mö hònh hoáa nghiïåp vuå), requirements (xaác àõnh yïu cêìu), analysis
(phên tñch), design (thiïët kïë), caâi àùåt (implementation) vaâ deployment. Ngoaâi ra
coân coá caác luöìng cöng viïåc höî trúå quaãn lyá dûå aán (project management), quaãn lyá
cêëu hònh vaâ thay àöíi (configuration and change management) vaâ quaãn lyá möi
trûúâng (enviroment).
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 143
4.6. Giúái thiïåu Rational Unified Process (RUP)
Hònh 4-3 Caác wokflow vaâ iteration
Hònh trïn mö taã kiïën truác cuãa RUP theo hai truåc :
- Truåc hoaânh töí chûác theo thúâi gian diïîn taã möåt chu kyâ (cycle) bao göìm caác
phase vaâ caác bûúác lùåp (iteration).
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 129 http://www.ebooks.vdcmedia.com _ Transition : chuyïín giao saãn phêím àïën khaách haâng, huêën luyïån khaách haâng caách sûã duång, baão trò àöìng thúâi àiïìu chónh möåt söë chûác nùng cêìn thiïët. Caác giai àoaån (phase) Inception Elaboration Construction Transition Khúãi àêìu Triïín khai Xêy dûång Chuyïín giao Trûåc quan hoáa Kiïën truác cú baãn Caác tñnh nùng khúãi àêìu Saãn phêím release Hònh 4-2 Caác phase cuãa RUP Ngoaâi ra, trong möåt cycle (chu kyâ) coân bao göìm nhiïìu bûúác lùåp con (iteration). Möîi iteration cuäng cho kïët quaã laâ möåt phiïn baãn release vaâ àûúåc hoaân thaânh qua quaá trònh thûåc hiïån möåt daäy caác cöng viïåc cuå thïí goåi laâ luöìng cöng viïåc (workflow). Caác cöng viïåc àûúåc phên chia vaâo caác workflow àïí xêy dûång phiïn baãn release cho möåt iteration. Caác luöìng cöng viïåc cú baãn laâ business modeling (mö hònh hoáa nghiïåp vuå), requirements (xaác àõnh yïu cêìu), analysis (phên tñch), design (thiïët kïë), caâi àùåt (implementation) vaâ deployment. Ngoaâi ra coân coá caác luöìng cöng viïåc höî trúå quaãn lyá dûå aán (project management), quaãn lyá cêëu hònh vaâ thay àöíi (configuration and change management) vaâ quaãn lyá möi trûúâng (enviroment). Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 143 4.6. Giúái thiïåu Rational Unified Process (RUP) Hònh 4-3 Caác wokflow vaâ iteration Hònh trïn mö taã kiïën truác cuãa RUP theo hai truåc : - Truåc hoaânh töí chûác theo thúâi gian diïîn taã möåt chu kyâ (cycle) bao göìm caác phase vaâ caác bûúác lùåp (iteration).
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
130
http://www.ebooks.vdcmedia.com
- Truåc tung töí chûác theo caác luöìng cöng viïåc (workflow) bao göìm caác hoaåt
àöång, caác thaânh phêìn vaâ ngûúâi thûåc hiïån.
4.6.1. Cêëu truác tônh cuãa quy trònh
RUP mö taã ai (Who) àang laâm gò (What), laâm nhû thïë naâo (How) vaâ khi
naâo (When). RUP àõnh nghôa böën thaânh phêìn sau _ Worker Who àõnh nghôa
cöng viïåc vaâ traách nhiïåm cuãa möîi caá nhên, hoùåc möåt söë caá nhên laâm viïåc vúái
nhau trong nhoám. Vñ duå:
- Project Manager : trûúãng dûå aán.
- System Analyst : phên tñch viïn hïå thöëng.
- Tester : kiïím tra viïn.
- Activities How hoaåt àöång cuãa möåt worker laâ möåt têåp cöng viïåc coá möåt muåc
àñch roä raâng. Vñ duå: Lêåp kïë hoaåch cuãa trûúãng dûå aán
Chûúng 4
ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN
MÏÌM 144
4.7. Giúái thiïåu Rational Unified Process (RUP)
- Tòm caác use case vaâ caác actor cho hïå thöëng cuãa phên tñch viïn hïå thöëng.
- Artifacts What laâ nhûäng thöng tin àûúåc phaát sinh, thay àöíi hoùåc sûã duång
ãi quy trònh. Vñ duå: Mö hònh Use Case (Use Case model), Mö hònh thiïët kïë
(Design model). Caác sûu liïåu (document). Caác thaânh phêìn thûåc thi.
- Workflows When mö taã caách thûác tiïën haânh caác hoaåt àöång theo trònh tûå vaâ
vai troâ cuãa möîi worker.
Hònh 4-4 Vñ duå vïì möåät luöìng cöâng viïåäc vaâ vai troâ cuãa caác worker
4.7.1. Caác àùåc àiïím phên biïåt cuãa RUP so vúái caác quy trònh phaát triïín phêìn mïìm
khaác
RUP laâ quy trònh hûúáng chûác nùng hïå thöëng (use case)
Thay cho caách mö taã chûác nùng truyïìn thöëng, RUP sûã duång mö hònh Use
Case àïí mö hònh hoáa chûác nùng cho tûâng loaåi ngûúâi sûã duång. Ngoaâi ra, caác chûác
nùng (use case) coân àoáng vai troâ dêîn dùæt quy trònh phaát triïín àïën caác bûúác phên
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 130 http://www.ebooks.vdcmedia.com - Truåc tung töí chûác theo caác luöìng cöng viïåc (workflow) bao göìm caác hoaåt àöång, caác thaânh phêìn vaâ ngûúâi thûåc hiïån. 4.6.1. Cêëu truác tônh cuãa quy trònh RUP mö taã ai (Who) àang laâm gò (What), laâm nhû thïë naâo (How) vaâ khi naâo (When). RUP àõnh nghôa böën thaânh phêìn sau _ Worker –Who – àõnh nghôa cöng viïåc vaâ traách nhiïåm cuãa möîi caá nhên, hoùåc möåt söë caá nhên laâm viïåc vúái nhau trong nhoám. Vñ duå: - Project Manager : trûúãng dûå aán. - System Analyst : phên tñch viïn hïå thöëng. - Tester : kiïím tra viïn. - Activities – How – hoaåt àöång cuãa möåt worker laâ möåt têåp cöng viïåc coá möåt muåc àñch roä raâng. Vñ duå: Lêåp kïë hoaåch cuãa trûúãng dûå aán Chûúng 4 ÛÁNG DUÅNG UML TRONG QUY TRÒNH PHAÁT TRIÏÍN PHÊÌN MÏÌM 144 4.7. Giúái thiïåu Rational Unified Process (RUP) - Tòm caác use case vaâ caác actor cho hïå thöëng cuãa phên tñch viïn hïå thöëng. - Artifacts – What – laâ nhûäng thöng tin àûúåc phaát sinh, thay àöíi hoùåc sûã duång búãi quy trònh. Vñ duå: Mö hònh Use Case (Use Case model), Mö hònh thiïët kïë (Design model). Caác sûu liïåu (document). Caác thaânh phêìn thûåc thi. - Workflows – When – mö taã caách thûác tiïën haânh caác hoaåt àöång theo trònh tûå vaâ vai troâ cuãa möîi worker. Hònh 4-4 Vñ duå vïì möåät luöìng cöâng viïåäc vaâ vai troâ cuãa caác worker 4.7.1. Caác àùåc àiïím phên biïåt cuãa RUP so vúái caác quy trònh phaát triïín phêìn mïìm khaác RUP laâ quy trònh hûúáng chûác nùng hïå thöëng (use case) Thay cho caách mö taã chûác nùng truyïìn thöëng, RUP sûã duång mö hònh Use Case àïí mö hònh hoáa chûác nùng cho tûâng loaåi ngûúâi sûã duång. Ngoaâi ra, caác chûác nùng (use case) coân àoáng vai troâ dêîn dùæt quy trònh phaát triïín àïën caác bûúác phên