Tải bản đầy đủ (.pdf) (46 trang)

Ứng dụng UML trong quy trình phát triển phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (176.55 KB, 46 trang )

SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
126





Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 139

4.1. Giúái thiïåu
Ngây nay, chêët lûúång phêìn mïìm ph thåc vâo rêët nhiïìu ëu tưë khấc
nhau, trong àố quy trònh cưng nghïå àống mưåt vai trô quan trổng vâo loẩi bêåc
nhêët. Trûúác tònh hònh àố cấc cưng ty phêìn mïìm lúán trïn thïë giúái àậ nhanh chống
àûa ra nhiïìu quy trònh cưng nghïå khấc nhau, trûúác tiïn lâ phc v cho nhu cêìu
phất triïín phêìn mïìm trong cưng ty mònh, sau àố lâ cưng bưë rưång rậi àïí thu thêåp
kiïën tûâ nhûäng àưëi tấc nhùçm tòm kiïëm lúâi giẫi cho bâi toấn tưëi ûu hốa quy trònh
cưng nghïå ca mònh. Hiïån nay cố rêët nhiïìu quy trònh phất triïín phêìn mïìm khấc
nhau àûúåc sûã dng trong cấc cưng ty phấ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 cố nhûäng ûu/khuët àiïím riïng ca mònh nhûng nưíi bêåt nhêët
vâ ngây câng àûúåc sûã dng rưång rậi nhêët lâ Unified Process ca hậng Rational.
RUP (Rational Unified Process) ngây câng àûúåc sûã dng vâ àûúåc hưỵ trúå rưång rậi
tûâ nhûäng àưëi tấc sûã dng, mùåc d RUP múái àûúåc phất triïín trong nhûäng nùm gêìn
àêy, nhûng sûå xët hiïån ca RUP àấnh dêëu mưåt xu hûúáng phất triïín múái trong
giai àoẩn bng nưí ca ngânh cưng nghïå phêìn mïìm.
4.2. Giúái thiïåu Rational Unified Process (RUP)
4.2.1. Khấi quất vïì RUP
RUP – Rational Unified Process - lâ quy trònh cưng nghïå phêìn mïìm àûúåc
phất triïín búãi hậng Rational, RUP hưỵ trúå cấc hoẩt àưång phất triïín phêìn mïìm


theo nhốm, phên chia cưng viïåc theo thûá tûå cho tûâng thânh viïn ca nhốm trong
tûâng giai àoẩn khấc nhau ca quy trònh phất triïín phêìn mïìm. RUP sûã dng ngưn
ngûä UML àïí mư hònh hốa vâ cung cêëp nhûäng hûúáng dêỵn àïí sûã dng UML mưåt
cấch hiïåu quẫ nhêët.
Hònh 4-1 Tốm tùỉt lõch sûã phất triïín ca RUP

SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
127




Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 140

4.3. Giúái thiïåu Rational Unified Process (RUP)
Mc àđch chđnh ca RUP lâ gip sẫn xët nhûäng phêìn mïìm cố chêët lûúång
cao thỗa mận u cêìu ca ngûúâi dng cëi, trong khn khưí thúâi gian vâ ngên
sấch.
RUP àûúåc phất triïín vâ duy trò búãi hậng Rational, àẫm bẫo qui trònh ln
àûúåc cẫi tiïën hoân chónh hún trïn cú súã nhûäng kinh nghiïåm phẫn hưìi tûâ àưëi tấc
sûã dng, sûå tiïën hốa vâ nhûäng cấch vêån dng tưët nhêët trong thûåc tïë. RUP nêng
cao nùng sët lâm viïåc ca nhốm. Cấc thânh viïn trong nhốm cố hûúáng dêỵn,
khn mêỵu, cưng c hưỵ trúå vâ àïìu sûã dng mưåt ngưn ngûä chung, mưåt qui trònh
chung do àố cố sûå thưëng nhêët trong cấch nhòn vâ phûúng hûúáng phất triïín mưåt
phêìn mïìm. Sûã dng UML àïí hưỵ trúå têët cẫ cấc giai àoẩn (phase) trong quy trònh
phất triïín phêìn mïìm, hoẩt àưång chđnh ca RUP lâ tẩo, cẫi tiïën vâ quẫn l cấc
loẩi mư hònh. Ngoâi ra, RUP côn hûúáng dêỵn lâm mưåt lûúång lúán cấc sûu liïåu cho
phêìn mïìm, RUP nhêën mẩnh viïåc phất triïín nhûäng mư hònh giâu ngûä nghơa biïíu

diïỵn cho hïå thưëng dûúái gốc àưå ca ngûúâi phất triïín. Ngây nay, RUP àûúåc hưỵ trúå
búãi cấc cưng c, gip tûå àưång hốa phêìn lúán quy trònh phất triïín phêìn mïìm. Cấc
cưng c hưỵ trúå RUP cố thïí kïí àïën lâ quẫn l àïì ấn, phên cưng nhên sûå, tẩo lêåp
vâ quẫn l mư hònh, kiïím chûáng...
Khưng mưåt quy trònh nâo cố thïí ph húåp cho têët cẫ cấc tưí chûác phất triïín
phêìn mïìm. RUP àûúåc phất triïín trïn cú súã cêëu trc àún giẫn vâ rộ râng, cố thïí
cêëu hònh lẩi cho ph húåp vúái nhu cêìu ca tưí chûác sûã dng. RUP ph húåp cho
nhûäng nhốm phất triïín nhỗ cng nhû nhûäng tưí chûác lúán. RUP lâ têåp húåp nhûäng
cưng viïåc vâ kinh nghiïåm àậ àûúåc vêån dng hiïåu quẫ nhêët trong thûåc tïë. Viïåc
phất triïín theo RUP cho phếp nhûäng nhốm phất triïín cố àûúåc mưåt sưë thån lúåi
so vúái nhûäng nhốm khấc.


SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
128




Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 141

4.4 Giúái thiïåu Rational Unified Process (RUP)
4.4.1. Kiïën trc ca RUP
Cấc giai àoẩn (phase) ca quy trònh
RUP lâ quy trònh bao gưìm nhiïìu bûúác lùåp àïí xêy dûång hïå thưëng gổi lâ cấc
chu k (cycle). Mưỵi chu k cho kïët quẫ lâ mưåt phiïn bẫn release ca phêìn mïìm
bao gưìm mậ ngìn trong cấc thânh phêìn (componennt) cố thïí biïn dõch vâ thûåc
thi. Mưåt chu k àûúåc chia lâm bưën phase lâ khúãi àêìu (inception), triïín khai

(elaboration), xêy dûång (contruction), chuín giao (transition).
_ Inception : xấc àõnh phẩm vi dûå ấn, cấc tâi ngun cêìn thiïët vâ phấc thẫo chûác
nùng cho ngûúâi sûã dng (business case).
_ Elaboration : phên tđch vêën àïì, lêåp kïë hoẩch dûå ấn, àấnh giấ ri ro vâ
xấc àõnh kiïën trc hïå thưëng.




Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 142

4.5 Giúái thiïåu Rational Unified Process (RUP)
_ Construction : phất triïín cấc thânh phêìn (component), tđch húåp vâo sẫn phêím
vâ kiïím chûáng cấc chûác nùng
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
129

_ Transition : chuín giao sẫn phêím àïën khấch hâng, hën luån khấch hâng
cấch sûã dng, bẫo trò àưìng thúâi àiïìu chónh mưåt sưë chûác nùng cêìn thiïët.
Cấc giai àoẩn (phase)
Inception Elaboration Construction Transition
Khúãi àêìu Triïín khai Xêy dûång Chuín giao
Trûåc quan hốa
Kiïën trc cú bẫn
Cấc tđnh nùng khúãi àêìu
Sẫn phêím
release
Hònh 4-2 Cấc phase ca RUP

Ngoâi ra, trong mưåt cycle (chu k) côn bao gưìm nhiïìu bûúác lùåp con
(iteration). Mưỵi iteration cng cho kïët quẫ lâ mưåt phiïn bẫn release vâ àûúåc hoân
thânh qua quấ trònh thûåc hiïån mưåt dậy cấc cưng viïåc c thïí gổi lâ lìng cưng
viïåc (workflow). Cấc cưng viïåc àûúåc phên chia vâo cấc workflow àïí xêy dûång
phiïn bẫn release cho mưåt iteration. Cấc lìng cưng viïåc cú bẫn lâ business
modeling (mư hònh hốa nghiïåp v), requirements (xấc àõnh u cêìu), analysis
(phên tđch), design (thiïët kïë), câi àùåt (implementation) vâ deployment. Ngoâi ra
côn cố cấc lìng cưng viïåc hưỵ trúå quẫn l dûå ấn (project management), quẫn l
cêëu hònh vâ thay àưíi (configuration and change management) vâ quẫn l mưi
trûúâng (enviroment).




Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 143

4.6. Giúái thiïåu Rational Unified Process (RUP)
Hònh 4-3 Cấc wokflow vâ iteration
Hònh trïn mư tẫ kiïën trc ca RUP theo hai trc :
- Trc hoânh tưí chûác theo thúâi gian diïỵn tẫ mưåt chu k (cycle) bao gưìm cấc
phase vâ cấc bûúác lùåp (iteration).
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
130

- Trc tung tưí chûác theo cấc lìng cưng viïåc (workflow) bao gưìm cấc hoẩt
àưång, cấc thânh phêìn vâ ngûúâi thûåc hiïån.
4.6.1. Cêëu trc tơnh ca quy trònh
RUP mư tẫ ai (Who) àang lâm gò (What), lâm nhû thïë nâo (How) vâ khi

nâo (When). RUP àõnh nghơa bưën thânh phêìn sau _ Worker –Who – àõnh nghơa
cưng viïåc vâ trấch nhiïåm ca mưỵi cấ nhên, hóåc mưåt sưë cấ nhên lâm viïåc vúái
nhau trong nhốm. Vđ d:
- Project Manager : trûúãng dûå ấn.
- System Analyst : phên tđch viïn hïå thưëng.
- Tester : kiïím tra viïn.
- Activities – How – hoẩt àưång ca mưåt worker lâ mưåt têåp cưng viïåc cố mưåt mc
àđch rộ râng. Vđ d: Lêåp kïë hoẩch ca trûúãng dûå ấn





Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 144

4.7. Giúái thiïåu Rational Unified Process (RUP)
- Tòm cấc use case vâ cấc actor cho hïå thưëng ca phên tđch viïn hïå thưëng.
- Artifacts – What – lâ nhûäng thưng tin àûúåc phất sinh, thay àưíi hóåc sûã dng
búãi quy trònh. Vđ d: Mư hònh Use Case (Use Case model), Mư hònh thiïët kïë
(Design model). Cấc sûu liïåu (document). Cấc thânh phêìn thûåc thi.
- Workflows – When – mư tẫ cấch thûác tiïën hânh cấc hoẩt àưång theo trònh tûå vâ
vai trô ca mưỵi worker.
Hònh 4-4 Vđ d vïì mưåät lìng cưâng viïåäc vâ vai trô ca cấc worker
4.7.1. Cấc àùåc àiïím phên biïåt ca RUP so vúái cấc quy trònh phất triïín phêìn mïìm
khấc
RUP lâ quy trònh hûúáng chûác nùng hïå thưëng (use case)
Thay cho cấch mư tẫ chûác nùng truìn thưëng, RUP sûã dng mư hònh Use
Case àïí mư hònh hốa chûác nùng cho tûâng loẩi ngûúâi sûã dng. Ngoâi ra, cấc chûác

nùng (use case) côn àống vai trô dêỵn dùỉt quy trònh phất triïín àïën cấc bûúác phên
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
131

tđch, thiïët kïë vâ kiïím chûáng. Dûåa trïn use case, ngûúâi phất triïín tẩo mưåt loẩt cấc
mư hònh phên tđch (analysis model), thiïët kïët (design model) câi àùåt
(implementation model) vâ xem xết cấc mư hònh àố cố bao gưìm cấc thânh phêìn
àấp ûáng àêìy à cho viïåc thûåc hiïån chûác nùng hïå thưëng hay khưng. Quy trònh
phất triïín theo àố sệ thûåc hiïån dậy cấc cưng viïåc dûåa trïn use case.
Thiïët kïë Câi àùåt Kiïím chûáng
Phên tđch Xấc àõnh u cêìu
Cấc use case liïn kïët cấc workflow nây vúái nhau.
Hònh 4-5 RUP hûúáng chûác nùng hïåä thưëáng




Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 145

4.8. RUP têåp trung vâo kiïën trc phêìn mïìm
Kiïën trc lâ cấi nhòn tưíng thïí vïì thiïët kïë ca hïå thưëng, loẩi bỗ chi tiïët vâ
têåp trung vâo nhûäng tđnh chêët quan trổng. RUP cung cêëp phûúng hûúáng àïí tûâng
bûúác xấc àõnh kiïën trc ca hïå thưëng, àấp ûáng cấc u cêìu cho viïåc thay àưíi vâ
tấi sûã dng ca phêìn mïìm. RUP xấc àõnh mưåt mưëi liïn hïå giûäa kiïën trc vúái use
case. Kiïën trc phẫi àûúåc xêy dûång sao cho àấp ûáng têët cẫ chûác nùng trong hiïån
tẩi vâ tûúng lai. Viïåc xấc àõnh kiïën trc àôi hỗi phẫi xấc àõnh nhûäng chûác nùng
nâo lâ quan trổng bêåc nhêët vâ ch ëu ca hïå thưëng. Kiïën trc phêìn mïìm àûúåc
xấc àõnh vâ cẫi tiïën tûâng bûúác qua cấc phase. Kiïën trc phêìn mïìm Cấc giai àoẩn

(phase) Inception Elaboration Construction Transition Khúãi àêìu Triïín khai Xêy
dûång Chuín giao
Hònh 4-6 RUP têåäp trung vâo kiïëán trc phêìn mïìm


SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
132




Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 146

4.9. RUP lâ quy trònh lùåp vâ tùng trûúãng tûâng bûúác
Phất triïín mưåt phêìn mïìm phûác tẩp àôi hỗi khưng chó thúâi gian mâ côn k
thåt phên chia hïå thưëng thânh nhûäng phêìn nhỗ. 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 ca hïå thưëng sệ àûúåc phất
triïín trong mưåt iteration vâ kïët quẫ lâ sûå hoân chónh vïì tưíng thïí ngây câng gia
tùng. Cấc iteration phẫi àûúåc thûåc hiïån theo kïë hoẩch vâ cố kiïím soất. Mưåt
iteration lâ mưåt trònh tûå cấc hoẩt àưång àûúåc lïn kïë hoẩch theo mưåt tiïu chín
xấc àõnh vâ cho kïët quẫ lâ mưåt phiïn bẫn release ca phêìn mïìm. Trong mưỵi
bûúác, ngûúâi phất triïín chổn mưåt nhốm cấc chûác nùng vâ tiïën hânh phên tđch
(analysis), thiïët kïë (design), câi àùåt (implementation) vâ kiïím chûáng (test) cấc
chûác nùng nây. Nïëu iteration àấp ûáng àûúåc mc àđch àïì ra thò chuín sang mưåt
iteration múái vúái mưåt nhốm cấc chûác nùng kïë tiïëp.
Thiïët kïë
Câi àùåt
Kiïím chûáng

Phên tđch
Xấc àõnh
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 Nguỵn Trung Nam - Lêm Quang V
133

Lùåp m+1
Mưåt bûúác lùåp trong phase
Elaboration.
Release Release Release Release ReleaseRelease Release
Hònh 4-7 RUP lâ quy trònh lùỉp vâ tùng trûúãng tûâng bûúác




Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 147

4.10. ÛÁng dng UML trong RUP
UML cung cêëp mưåt ngưn ngûä cho mư hònh hốa, trûåc quan hốa vâ lâm sûu
liïåu phêìn mïìm. Nhûng nïëu khưng cố mưåt quy trònh phất triïín phêìn mïìm àùåc th

ûáng dng UML thò sệ khưng têån dng khẫ nùng mẩnh mệ cng nhû nhûäng khấi
niïåm mư hònh hốa àa dẩng ca UML. RUP lâ quy trònh phất triïín phêìn mïìm
àûúåc xêy dûång trïn nïìn tẫng UML vâ nhûäng u cêìu thûåc tïë trong cưng nghïå
phêìn mïìm. RUP hûúáng dêỵn cấch sûã dng UML hiïåu quẫ nhêët hiïån nay. UML
àûúåc sûã dng trong cấc lìng cưng viïåc (workflow) àõnh nghơa búãi RUP. Mưỵi
lìng cưng viïåc sûã dng nhûäng mư hònh khấc nhau liïn quan àïën cấc khấi niïåm
vâ lûúåc àưì UML khấc nhau.
Hònh 4-8 Cấc lìng cưâng viïåc vâ cấc mưâ hònh RUP











SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
134





Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 148


4.11. Mư hònh hốa nghiïåp v (business modeling)
Mư hònh hốa nghiïåp v nhùçm mc àđch nùỉm bùỉt quy trònh hoẩt àưång ca
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 v vâ
cấch thûác thûåc hiïån, àưëi tûúång thûåc hiïån nghiïåp v vâ àưëi tûúång thao tấc ca
nghiïåp v, cấc tấc nhên bïn ngoâi cố giao tiïëp vâ ẫnh hûúãng àïën hoẩt àưång ca
tưí chûác. Mư hònh hốa nghiïåp v lâ ty chổn cho tûâng dûå ấn. Business modeling
àõnh nghơa hai mư hònh Business Use Case (mư hònh nghiïåp v) vâ Business
Object (mư hònh àưëi tûúång nghiïåp v).
4.11.1. Mư hònh nghiïåp v (Business Use Case)
Mư hònh nghiïåp v ch ëu bao gưìm lûúåc àưì Use Case ca UML vúái mưåt
sưë múã rưång cho Unified Process c thïí lâ àõnh nghơa thïm business actor,
business worker vâ business use case tûâ cú chïë múã rưång ca UML.
_ Business actor : cấc tấc nhên bïn ngoâi cố liïn quan hay tấc àưång àïën hoẩt
àưång ca tưí chûác vđ d nhû khấch hâng vâ cố k hiïåu sau
Tïn business actor
Hònh 4-9 K hiïåäu busines actor
_ Business worker : nhên viïn thûåc hiïån nghiïåp v, thûúâng àống mưåt vai trô c
thïí trong tưí chûác vđ d nhû kïë toấn viïn, th kho, quẫn àưëc vâ cố k hiïåu sau
Tïn business worker
Hònh 4-10 K hiïåäu busines actor
_ Business use case : nghiïåp v àûúåc thûåc hiïån búãi mưåt business worker vđ d
nhû múã tâi khoẫn cho khấch hâng hay nhêån cấc àún àùåt hâng vâ cố k hiïåu sau:
Tïn nghiïåp v
Hònh 4-11 K hiïåu busines use case
Business use case model têåp trung vâo mư hònh hốa cấc quy trònh nghiïåp v,
ngûúâi thûåc hiïån vâ mưëi liïn hïå giûäa cấc tấc nhên bïn ngoâi vúái tưí chûác.

SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
135





Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 149

4.12. ÛÁng dng UML trong RUP
Múã tâi khoẫn
Nhên viïn giao tiïëp
khấch hâng
Khấch hâng múã tâi khoẫn cho (Nhên viïn giao tiïëp khấch hâng thûåc hiïån nghiïåp
v múã tâi khoẫn cho khấch hâng)
Hònh 4-12 Vđ d mưåät lûúåc àưì Use Case trong mưâ hònh Busines Use Case



Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 150

4.13. Mư hònh àưëi tûúång nghiïåp v (Business Object)
Mư hònh Business Object sûã dng ch ëu lûúåc àưì lúáp (Class diagram)
múã rưång cho RUP dûåa trïn cú chïë múã rưång ca UML bao gưìm organization
unit (àún võ tưí chûác), business entity (thûåc thïí nghiïåp v).
- Organization unit : cấc àún võ cêëu trc ca tưí chûác thûúâng tûúng ûáng vúái cấc
phông, ban hay bưå phêån trong tưí chûác vâ cố k hiïåu Tïn organization unit
Hònh 4-13 K hiïåäu organization unit
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
136


- Business entity : àưëi tûúång thao tấc ca nghiïåp v thûúâng lâ dûä liïåu, cấc loẩi hưì
sú. Cấc nghiïåp v thûúâng lêëy dûä liïåu, thay àưíi, lûu trûä cấc business entity vđ d
nhû hưì sú khấch hâng hay cấc loẩi mùåt hâng. Business entity cố k hiïåu sau
Tïn busines entity
Hònh 4-14 K hiïåäu busines entiity
Mư hònh àưëi tûúång nghiïåp v mư tẫ nhûäng business worker nâo sûã dng nhûäng
tâi ngun, tâi liïåu gò ca tưí chûác vâ sûã dng nhû thïë nâo àïí thûåc hiïån nghiïåp v
c thïí.
Nhên viïn giao tiïëp khấch hâng
Tâi khoẫn tẩo múái
(Nhên viïn thïm tâi khoẫn khấch hâng vâo hưì sú cấc tâi khoẫn). (Nghiïåp v múã
mưåt tâi khoẫn)
Hònh 4-15 Vđ d vïì lûúåc àưì lúáp (Cllass diiagram) trong mưâ hònh Busines Objject




Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 151

4.13. Xấc àõnh u cêìu (requirements)
Mc àđch ca giai àoẩn xấc àõnh u cêìu lâ cố àûúåc mưåt sûå thưëng nhêët
giûäa khấch hâng vúái cấc nhâ phất triïín vïì nhûäng gò mâ hïå thưëng sệ thûåc hiïån.
Mưåt sûu liïåu trûåc quan sệ àûúåc xêy dûång qua mư hònh hốa cấc chûác nùng mâ hïå
thưëng hưỵ trúå cho tûâng loẩi ngûúâi sûã dng. Giai àoẩn nây sûã dng mư hònh chûác
nùng (Use Case model) bao gưìm ch ëu lûúåc àưì Use Case ca







SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
137





Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 152

UML. Actor lâ ngûúâi sûã dng hïå thưëng. Use case lâ chûác nùng hïå thưëng
àûúåc thûåc hiïån khi cố tấc àưång tûâ actor.
Hònh 4-16 Mưâ hònh Use Case vâ cấc lûúåc àưì UML
Cấc chûác nùng hïå thưëng cố thïí àûúåc lûåa chổn tûâ cấc nghiïåp v (business use
case) trong mư hònh business use case àïí xấc àõnh nhûäng nghiïåp v nâo sệ àûúåc
hưỵ trúå vâ cho ngûúâi sûã dng nâo.
Múã tâi khoẫn
Nhên viïn giao tiïëp khấch hâng
(Xấc àõnh chûác nùng hïå thưëng cho mưỵi loẩi ngûúâi sûã dng qua cấc nghiïåp v)
(Use Case) (Actor)
Hònh 4-17 Vđ d vïì lûúåc àưì Use Case trong mưâ hònh Use Case






Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 153

4.14. Phên tđch (analysis)
Trong mưỵi iteration, àïí phất triïín tûâng nhốm cấc use case, cấc nhâ phất
triïín tiïën hânh mư tẫ rộ râng hún cấc u cêìu chûác nùng nây bùçng ngưn ngûä ca
nhûäng ngûúâi phất triïín phêìn mïìm. Workflow phên tđch bùỉt àêìu mư hònh hốa
hoẩt àưång bïn trong cng nhû xêy dûång cú bẫn kiïën trc ca hïå thưëng nhûng chó
dûâng lẩi úã mûác quan niïåm, chûa xem xết àïën cấc khđa cẩnh chi tiïët cng nhû cấc
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
138

u cêìu phi chûác nùng. Trong workflow nây, RUP àõnh nghơa mư hònh Analysis
sûã dng lûúåc àưì lúáp (Class diagram) vúái mưåt sưë múã rưång vâ cấc lûúåc àưì mư hònh
hốa tûúng tấc nhû Sequence hay Collaboration ca UML.
Hònh 4-18 Mưâ hònh phêân tđch vâ cấc lûúåc àưì UML
RUP múã rưång lûúåc àưì Class cho workflow analysis bùçng cấch àõnh nghơa thïm
boundary, control vâ entity tûâ cú chïë múã rưång ca UML.
_ Boundary : lúáp trong hïå thưëng àẫm nhêån vai trô giao tiïëp giûäa hïå thưëng vúái
cấc tấc nhên bïn ngoâi vđ d nhû giao diïån ngûúâi sûã dng. Boundary cố k hiïåu
sau:
Tïn boundary
Hònh 4-19 K hiïåäu boundary




Chûúng 4

ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 154

- Control : lúáp mang chûác nùng xûã l, àiïìu khiïín cấc hoẩt àưång xûã l, tđnh toấn.
Control cố k hiïåu sau tïn entity
_ Entity : lúáp àẩi diïån cho thûåc thïí nghơa lâ cấc àưëi tûúång dûä liïåu cố thïí lûu trûä,
tham chiïëu hay sûãa àưíi. Entity cố k hiïåu sau tïn entity
Mư hònh Analysis cố chûác nùng lâm rộ cấc use case, mư tẫ cấc quan hïå
giûäa ba thânh phêìn boundary, control, entity trong hïå thưëng àïí thûåc hiïån use
case.

SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
139






Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 155

Nhên viïn giao tiïëp khấch hâng
Giao diïån m úã tâi khoẫn
Xûã l m úã tâi khoẫn
Tâi khoẫn
(Chûác nùng múã tâi khoẫn ca hïå thưëng) (Nhên viïn sûã dng giao diïån múã tâi
khoẫn àïí thao tấc trïn àưëi tûúång tâi khoẫn thưng qua xûã l múã tâi khoẫn)
(boundary) control entity

Hònh 4-22 Vđ d vïì lûúåc àưì Class trong mưâ hònh Analysis
Lûúåc àưì tûúng tấc sûã dng ch ëu trong mư hònh Analysis lâ Collaboration ca
UML. Lûúåc àưì nây mư tẫ cú chïë vêån hânh ca hïå thưëng, cấc hoẩt àưång ca cấc
thânh phêìn trong hïå thưëng theo mưåt trònh tûå xấc àõnh cng nhû quấ trònh tûúng
tấc giûäa cấc thânh phêìn thưng qua cấc thưng àiïåp (message) àïí thûåc hiïån mưåt
chûác nùng c thïí.
: Nhên viïn giao tiïëp khấch hâng
: Giao diïån múã tâi khoẫn
: Xûã l múã tâi khoẫn
: Tâi khoẫn
1: u cêìu chûác nùng múã tâi khoẫn
2: hiïín thi giao diïån nhêåp dûä liïåu
3: nhêåp dûä liïåu tâi khoẫn
4: u cêìu múã tâi khoẫn
5: múã tâi khoẫn
6: tẩo múái tâi khoẫn
7: àống chûác nùng múã tâi khoẫn
Lûúåc àưì Collaboration mư tẫ cú chïë tûúng tấc giûäa cấc thânh phêìn boundary,
control vâ entity àïí thûåc hiïån chûác nùng múã tâi khoẫn. thưng àiïåp (message)
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
140

thûá tûå thi hânh thưng àiïåp vâo chđnh àưëi tûúång gûãi.
Hònh 4-23 Vđ d vïì mưåät lûúåc àưì Collaboration trong mưâ hònh Analysis




Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN

MÏÌM 156

4.15. Thiïët kïë (design)
Design lâ workflow sûã dng cấc kïët quẫ úã mûác phên tđch (analysis) cho
mưåt nhốm use case àïí tiïëp tc phất triïín hïå thưëng vïì kiïën trc, chi tiï ët cấc chûác
nùng cng nhû lûu àïën cấc u cêìu phi chûác nùng, cấc râng båc cố thïí cố.
Cấc vêën àïì quan têm trong workflow nây cố thïí kïí àïën lâ
_ Mưi trûúâng phất triïín phêìn mïìm, ngưn ngûä lêåp trònh, hïå àiïìu hânh, cấc u
cêìu xûã l àưìng thúâi hay phên tấn vâ mưi trûúâng cú súã dûä liïåu.
_ Àõnh dẩng kiïën trc hïå thưëng trïn cú súã bẫo toân kiïën trc úã mûác phên tđch
nhûng cố thïí tiïëp tc phên rậ cấc hïå thưëng con thânh cấc àún võ nhỗ hún àïí cố
thïí quẫn l vâ câi àùåt mưåt cấch hiïåu quẫ.
_ Thiïët kïë cấc giao diïån (interface) ch ëu àïí cố thïí giao tiïëp vúái cấc hïå thưëng
con vâ phất triïín tûúng àưëi àưåc lêåp cấc hïå thưëng con nây. Workflow Design àõnh
nghơa mư hònh Design bao gưìm cấc lûúåc àưì Class, lûúåc àưì Deployment vâ cấc
lûúåc àưì tûúng tấc nhû Colaboration vâ Sequence tûâ UML. Design sûã dng ch
ëu lûúåc àưì Sequence àïí mư hònh hốa tûúng tấc. Ngoâi ra côn sûã dng cấc lûúåc
àưì mư tẫ trẩng thấi vâ hoẩt àưång lâ State Chart vâ Activity Graph.
Hònh 4-24 Mưâ hònh thiïëát kïëá vâ cấc lûúåc àưì UML

SVTH: Lờm Nguyùợn Trung Nam - Lờm Quang Vuọ
141




Chỷỳng 4
NG DUNG UML TRONG QUY TRềNH PHAT 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 DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 155

: Nhờn viùn giao tiùởp khaỏch haõng
: CTaikhoanUI : CTaikhoanCtrl : CTaikhoanRs
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
142

1: OnClick()
2: DisplayUI()

3: GetData()
4: UpdateData()
5: NewAccount()
6: InsertAccount()
7: Close()
thúâi gian tưìn tẩi thưng àiïåp (focus of control) hâm tûúng ûáng vúái lúáp
CTaikhoanCtrl. Lûúåc àưì Sequence mư tẫ tûúng tấc úã mûác thiïët kïë.
Hònh 4-26 Vđ d vïì lûúåc àưì Sequence trong mưâ hònh Design
4.16. Câi àùåt (implementation)
Implementation sûã dng cấc kïët quẫ tûâ analysis vâ design àïí tiïën hânh mậ
hốa vâ câi àùåt cấc thânh phêìn (component) dûúái dẩng mậ ngìn, cấc script, cấc
file nhõ phên hay cấc file thi hânh. Mc àđch ca workflow nây lâ
_ Tưí chûác câi àùåt cấc lúáp vâo cấc thânh phêìn (component) vâ phên bưë cấc thânh
phêìn vâo cấc node trïn mư hònh Deployment.
_ Kiïím chûáng cấc thânh phêìn.
_ Tđch húåp cấc phêìn câi àùåt ca nhûäng ngûúâi hay nhûäng nhốm phất triïín vâo hïå
thưëng.
Mư hònh Implementation bao gưìm lûúåc àưì Component ca UML. Mưỵi
component cố thïí bao gưìm nhiïìu lúáp vâ cung cêëp dõch v ca nố qua cấc giao
diïån (interface). Component lâ cấc thânh phêìn àưåc lêåp vâ cấc component ca hïå
thưëng cố thïí àûúåc câi àùåt trïn cấc mưi trûúâng khấc nhau.
Implementation Design
Interface tâi khoẫn
+Motaikhoan() <<Interface>> Tâi khoẫn
+Motaikhoan() Àûa lúáp tâi khoẫn vâo component tâi khoẫn àïí thïm dõch v múã
tâi khoẫn cho component. realize (cung cêëp)
Component tâi khoẫn
Interface tâi khoẫn
Hònh 4-27 Vđ d tưí chûác mưåät lúáp vâo mưåät component sûã dng (dependency)
Chûúng trònh chđnh

Component tâi khoẫn
Interface tâi khoẫn
Component tâi khoẫn àống gối cấc dõch v liïn quan àïën tâi khoẫn vâ cung cêëp
cấc dõch v àố qua interface tâi khoẫn.
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
143

Interface tâi khoẫn bao gưìm dõch v múã tâi khoẫn vâ cấc dõch v khấc vïì tâi
khoẫn.
MFC 6.0
Hònh 4-28 Vđ d vïì lûúåc àưì Component trong mưâ hònh Component




Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 159
4.16. Kiïím chûáng (test)
RUP lâ mưåt quy trònh lùåp. Mưỵi bûúác nhû vêåy àïìu trẫi qua kiïím chûáng nïn
cho phếp ngûúâi phất triïín phêìn mïìm cố thïí phất hiïån lưỵi rêët súám. Test cố thïí
bao gưìm
_ Kiïím tra quấ trònh tûúng tấc giûäa cấc àưëi tûúång.
_ Kiïím tra tđnh àng àùỉn ca viïåc tđch húåp cấc component trong phêìn mïìm.
_ Kiïím tra cấc chûác nùng cố àûúåc câi àùåt chđnh xấc hay khưng. Mư hònh Test
liïn quan àïën têët cẫ cấc mư hònh trong iteration vâ tham chiïëu àïën cấc lûúåc àưì
thđch húåp.






Chûúng 4
ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 160

4.17. Phất triïín mưåt ûáng dng quẫn l giấo v theo RUP
4.17.1. Giúái thiïåu ûáng dng

×