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