mư hịnh phín tđch (analysis model), thiïịt kïịt (design model) cađi ăùơt (implementation model) vađ xem xêt câc mư hịnh ăô cô bao gưìm câc thađnh phíìn ăâp ûâng ăíìy ăuê 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 ăô seơ thûơc hiïơn daơy câc cưng viïơc dûơa trïn use case.
Thiïịt kïị Cađi ăùơt Kiïím chûâng Phín tđch Xâc ắnh ýu cíìu
Câc use case liïn kïịt câc workflow nađy vúâi nhau. Hịnh 4-5 RUP hûúâng chûâc nùng hïơơ thưịâng
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂT TRIÏÍN PHÍÌN MÏÌM 145
4.8. RUP tíơp trung vađo kiïịn truâc phíìn mïìm
Kiïịn truâc lađ câi nhịn tưíng thïí vïì thiïịt kïị cuêa hïơ thưịng, loaơi boê chi tiïịt vađ tíơp trung vađo nhûơng tđnh chíịt quan troơng. RUP cung cíịp phûúng hûúâng ăïí tûđng bûúâc xâc ắnh kiïịn truâc cuêa hïơ thưịng, ăâp ûâng câc ýu cíìu cho viïơc thay ăưíi vađ tâi sûê duơng cuêa phíìn mïìm. RUP xâc ắnh mươt mưịi liïn hïơ giûơa kiïịn truâc vúâi use case. Kiïịn truâc phăi ặúơc xíy dûơng sao cho ăâp ûâng tíịt că chûâc nùng trong hiïơn taơi vađ tûúng lai. Viïơc xâc ắnh kiïịn truâc ăođi hoêi phăi xâc ắnh nhûơng chûâc nùng nađo lađ quan troơng bíơc nhíịt vađ chuê ýịu cuêa hïơ thưịng. Kiïịn truâc phíìn mïìm ặúơc
xâc ắnh vađ căi tiïịn tûđng bûúâc qua câc phase. Kiïịn truâc phíìn mïìm Câc giai ăoaơn (phase) Inception Elaboration Construction Transition Khúêi ăíìu Triïín khai Xíy
dûơng Chuýín giao
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂT TRIÏÍN PHÍÌN MÏÌM 146
4.9. RUP lađ quy trịnh lùơp vađ tùng trûúêng tûđng bûúâc
Phât triïín mươt phíìn mïìm phûâc taơp ăođi hoêi khưng chĩ thúđi gian mađ cođn kyơ thuíơt phín chia hïơ thưịng thađnh nhûơng phíìn nhoê. Quy trịnh gưìm nhiïìu iteration (bûúâc lùơp) ăïí xíy dûơng phíìn mïìm. Mưỵi tíơp chûâc nùng cuêa hïơ thưịng seơ ặúơc phât triïín trong mươt iteration vađ kïịt quă lađ sûơ hoađn chĩnh vïì tưíng thïí ngađy cađng gia tùng. Câc iteration phăi ặúơc thûơc hiïơn theo kïị hoaơch vađ cô kiïím soât. Mươt iteration lađ mươt trịnh tûơ câc hoaơt ăương ặúơc lïn kïị hoaơch theo mươt tiïu chuíín xâc ắnh vađ cho kïịt quă lađ mươt phiïn băn release cuêa phíìn mïìm. Trong mưỵi bûúâc, ngûúđi phât triïín choơn mươt nhôm câc chûâc nùng vađ tiïịn hađnh phín tđch (analysis), thiïịt kïị (design), cađi ăùơt (implementation) vađ kiïím chûâng (test) câc chûâc nùng nađy. Nïịu iteration ăâp ûâng ặúơc muơc ăđ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ïị Cađ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
Mươt bûúâc lùơp trong phase Elaboration.
Release Release Release Release ReleaseRelease Release Hịnh 4-7 RUP lađ quy trịnh lùưp vađ tùng trûúêng tûđng bûúâc
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂT TRIÏÍN PHÍÌN MÏÌM 147
4.10. ÛÂng duơng UML trong RUP
UML cung cíịp mươt ngưn ngûơ cho mư hịnh hôa, trûơc quan hôa vađ lađ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 thuđ ûâng duơng UML thị seơ khưng tíơn duơng khă nùng maơnh meơ cuơng nhû nhûơng khâi niïơm mư hịnh hôa ăa daơng cuêa UML. RUP lađ quy trịnh phât triïín phíìn mïìm ặúơc xíy dûơng trïn nïìn tăng UML vađ nhûơng ýu cíìu thûơc tïị trong cưng nghïơ phíìn mïìm. RUP hûúâng díỵn câch sûê duơng UML hiïơu quă nhíịt hiïơn nay. UML ặúơc sûê duơng trong câc luưìng cưng viïơc (workflow) ắnh nghơa búêi RUP. Mưỵi luưìng cưng viïơc sûê duơng nhûơng mư hịnh khâc nhau liïn quan ăïịn câc khâi niïơm vađ lûúơc ăưì UML khâc nhau.
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂT TRIÏÍN PHÍÌN MÏÌM 148
4.11. Mư hịnh hôa nghiïơp vuơ (business modeling)
Mư hịnh hôa nghiïơp vuơ nhùìm muơc ăđch nùưm bùưt quy trịnh hoaơt ăương cuêa tưí chûâc núi cíìn xíy dûơng hïơ thưịng phíìn mïìm bao gưìm quy trịnh nghiïơp vuơ vađ câch thûâc thûơc hiïơn, ăưịi tûúơng thûơc hiïơn nghiïơp vuơ vađ ăưịi tûúơng thao tâc cuêa nghiïơp vuơ, câc tâc nhín bïn ngoađi cô giao tiïịp vađ ănh hûúêng ăïịn hoaơt ăương cuêa tưí chûâc. Mư hịnh hôa nghiïơp vuơ lađ tuđy choơn cho tûđng dûơ ân. Business modeling ắnh nghơa hai mư hịnh Business Use Case (mư hịnh nghiïơp vuơ) vađ Business Object (mư hịnh ăưịi tûúơng nghiïơp vuơ).
4.11.1. Mư hịnh nghiïơp vuơ (Business Use Case)
Mư hịnh nghiïơp vuơ chuê ýịu bao gưìm lûúơc ăưì Use Case cuêa UML vúâi mươt sưị múê rương cho Unified Process cuơ thïí lađ ắnh nghơa thïm business actor, business worker vađ business use case tûđ cú chïị múê rương cuêa UML.
_ Business actor : câc tâc nhín bïn ngoađi cô liïn quan hay tâc ăương ăïịn hoaơt ăương cuêa tưí chûâc vđ duơ nhû khâch hađng vađ cô kyâ hiïơu sau
Tïn business actor
Hịnh 4-9 Kyâ hiïơơu busines actor
_ Business worker : nhín viïn thûơc hiïơn nghiïơp vuơ, thûúđng ăông mươt vai trođ cuơ thïí trong tưí chûâc vđ duơ nhû kïị toân viïn, thuê kho, quăn ăưịc vađ cô kyâ hiïơu sau Tïn business worker
Hịnh 4-10 Kyâ hiïơơu busines actor
_ Business use case : nghiïơp vuơ ặúơc thûơc hiïơn búêi mươt business worker vđ duơ nhû múê tađi khoăn cho khâch hađng hay nhíơn câc ăún ăùơt hađng vađ cô kyâ hiïơu sau:
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂT TRIÏÍN PHÍÌN MÏÌM 149
4.12. ÛÂng duơng UML trong RUP
Múê tađi khoăn Nhín viïn giao tiïịp khâch hađng
Khâch hađng múê tađi khoăn cho (Nhín viïn giao tiïịp khâch hađng thûơc hiïơn nghiïơp vuơ múê tađi khoăn cho khâch hađng)
Hịnh 4-12 Vđ duơ mươơt lûúơc ăưì Use Case trong mưđ hịnh Busines Use Case
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂT TRIÏÍN PHÍÌN MÏÌM 150
4.13. Mư hịnh ăưịi tûúơng nghiïơp vuơ (Business Object)
Mư hịnh Business Object sûê duơng chuê ýịu lûúơc ăưì lúâp (Class diagram) múê rương cho RUP dûơa trïn cú chïị múê rương cuêa UML bao gưìm organization unit (ăún võ tưí chûâc), business entity (thûơc thïí nghiïơp vuơ).
- Organization unit : câc ăún võ cíịu truâc cuêa tưí chûâc thûúđng tûúng ûâng vúâi câc phođng, ban hay bươ phíơn trong tưí chûâc vađ cô kyâ hiïơu Tïn organization unit
Tïn busines entity
Hịnh 4-14 Kyâ hiïơơu busines entiity
Mư hịnh ăưịi tûúơng nghiïơp vuơ mư tă nhûơng business worker nađo sûê duơng nhûơng tađi nguýn, tađi liïơu gị cuêa tưí chûâc vađ sûê duơng nhû thïị nađo ăïí thûơc hiïơn nghiïơp vuơ cuơ thïí.
Nhín viïn giao tiïịp khâch hađng
Tađi khoăn taơo múâi
(Nhín viïn thïm tađi khoăn khâch hađng vađo hưì sú câc tađi khoăn). (Nghiïơp vuơ múê mươt tađi khoăn)
Hịnh 4-15 Vđ duơ vïì lûúơc ăưì lúâp (Cllass diiagram) trong mưđ hịnh Busines Objject
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂT TRIÏÍN PHÍÌN MÏÌM 151
4.13. Xâc ắnh ýu cíìu (requirements)
Muơc ăđch cuêa giai ăoaơn xâc ắnh ýu cíìu lađ cô ặúơc mươt sûơ thưịng nhíịt giûơa khâch hađng vúâi câc nhađ phât triïín vïì nhûơng gị mađ hïơ thưịng seơ thûơc hiïơn. Mươt sûu liïơu trûơc quan seơ ặúơc xíy dûơng qua mư hịnh hôa câc chûâc nùng mađ hïơ thưịng hưỵ trúơ cho tûđng loaơi ngûúđi sûê duơng. Giai ăoaơn nađy sûê duơng mư hịnh chûâc nùng (Use Case model) bao gưìm chuê ýịu lûúơc ăưì Use Case cuêa
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂT TRIÏÍN PHÍÌN MÏÌM 152
UML. Actor lađ ngûúđi sûê duơng hïơ thưịng. Use case lađ chûâc nùng hïơ thưịng ặúơc thûơc hiïơn khi cô tâc ăương tûđ actor.
Hịnh 4-16 Mưđ hịnh Use Case vađ câc lûúơc ăưì UML
Câc chûâc nùng hïơ thưịng cô thïí ặúơc lûơa choơn tûđ câc nghiïơp vuơ (business use case) trong mư hịnh business use case ăïí xâc ắnh nhûơng nghiïơp vuơ nađo seơ ặúơc hưỵ trúơ vađ cho ngûúđi sûê duơng nađo.
Múê tađi khoăn
Nhín viïn giao tiïịp khâch hađng
(Xâc ắnh chûâc nùng hïơ thưịng cho mưỵi loaơi ngûúđi sûê duơng qua câc nghiïơp vuơ) (Use Case) (Actor)
Hịnh 4-17 Vđ duơ vïì lûúơc ăưì Use Case trong mưđ hịnh Use Case
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH 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 nhađ phât triïín tiïịn hađnh mư tă roơ rađng hún câc ýu cíìu chûâc nùng nađy bùìng ngưn ngûơ cuêa 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 hoaơt ăương bïn trong cuơng nhû xíy dûơng cú băn kiïịn truâc cuêa hïơ thưịng nhûng chĩ
Hịnh 4-18 Mưđ hịnh phíđn tđch vađ 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 vađ entity tûđ cú chïị múê rương cuêa UML.
_ Boundary : lúâp trong hïơ thưịng ăăm nhíơn vai trođ giao tiïịp giûơa hïơ thưịng vúâi câc tâc nhín bïn ngoađi vđ duơ nhû giao diïơn ngûúđi sûê duơng. Boundary cô kyâ hiïơu sau:
Tïn boundary
Hịnh 4-19 Kyâ hiïơơu boundary
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂT TRIÏÍN PHÍÌN MÏÌM 154
- Control : lúâp mang chûâc nùng xûê lyâ, ăiïìu khiïín câc hoaơt ăương xûê lyâ, tđnh toân. Control cô kyâ hiïơu sau tïn entity
_ Entity : lúâp ăaơi diïơn cho thûơc thïí nghơa lađ câc ăưịi tûúơng dûơ liïơu cô thïí lûu trûơ, tham chiïịu hay sûêa ăưíi. Entity cô kyâ hiïơu sau tïn entity
Mư hịnh Analysis cô chûâc nùng lađm roơ câc use case, mư tă câc quan hïơ giûơa ba thađnh phíìn boundary, control, entity trong hïơ thưịng ăïí thûơc hiïơn use case.
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂT TRIÏÍN PHÍÌN MÏÌM 155
Nhín viïn giao tiïịp khâch hađng Giao diïơn m úê tađi khoăn
Xûê lyâ m úê tađi khoăn Tađi khoăn
(Chûâc nùng múê tađi khoăn cuêa hïơ thưịng) (Nhín viïn sûê duơng giao diïơn múê tađi khoăn ăïí thao tâc trïn ăưịi tûúơng tađi khoăn thưng qua xûê lyâ múê tađi khoăn) (boundary) control entity
Hịnh 4-22 Vđ duơ vïì lûúơc ăưì Class trong mưđ hịnh Analysis
Lûúơc ăưì tûúng tâc sûê duơng chuê ýịu trong mư hịnh Analysis lađ Collaboration cuêa UML. Lûúơc ăưì nađy mư tă cú chïị víơn hađnh cuêa hïơ thưịng, câc hoaơt ăương cuêa câc thađnh phíìn trong hïơ thưịng theo mươt trịnh tûơ xâc ắnh cuơng nhû quâ trịnh tûúng tâc giûơa câc thađnh phíìn thưng qua câc thưng ăiïơp (message) ăïí thûơc hiïơn mươt chûâc nùng cuơ thïí.
: Nhín viïn giao tiïịp khâch hađng : Giao diïơn múê tađi khoăn
: Xûê lyâ múê tađi khoăn : Tađi khoăn
1: ýu cíìu chûâc nùng múê tađi khoăn 2: hiïín thi giao diïơn nhíơp dûơ liïơu 3: nhíơp dûơ liïơu tađi khoăn
4: ýu cíìu múê tađi khoăn 5: múê tađi khoăn
6: taơo múâi tađi khoăn
7: ăông chûâc nùng múê tađi khoăn
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂT TRIÏÍN PHÍÌN MÏÌM 156
4.15. Thiïịt kïị (design)
Design lađ workflow sûê duơng câc kïịt quă úê mûâc phín tđch (analysis) cho mươt nhôm use case ăïí tiïịp tuơc phât triïín hïơ thưịng vïì kiïịn truâc, chi tiï ịt câc chûâc nùng cuơng nhû lûu yâ ăïịn câc ýu cíìu phi chûâc nùng, câc rađng buươc cô thïí cô. Câc víịn ăïì quan tím trong workflow nađy cô thïí kïí ăïịn lađ
_ Mưi trûúđng phât triïín phíìn mïìm, ngưn ngûơ líơp trịnh, hïơ ăiïìu hađnh, câc ýu cíìu xûê lyâ ăưìng thúđi hay phín tân vađ mưi trûúđng cú súê dûơ liïơu.
_ Ăõnh daơng kiïịn truâc hïơ thưịng trïn cú súê băo toađn kiïịn truâc úê mûâc phín tđch nhûng cô thïí tiïịp tuơc phín raơ câc hïơ thưịng con thađnh câc ăún võ nhoê hún ăïí cô thïí quăn lyâ vađ cađi ăùơt mươt câch hiïơu quă.
_ Thiïịt kïị câc giao diïơn (interface) chuê ýịu ăïí cô thïí giao tiïịp vúâi câc hïơ thưịng con vađ phât triïín tûúng ăưịi ăươc líơp câc hïơ thưịng con nađy. Workflow Design ắnh nghơa mư hịnh Design bao gưìm câc lûúơc ăưì Class, lûúơc ăưì Deployment vađ câc lûúơc ăưì tûúng tâc nhû Colaboration vađ Sequence tûđ UML. Design sûê duơng chuê ýịu lûúơc ăưì Sequence ăïí mư hịnh hôa tûúng tâc. Ngoađi ra cođn sûê duơng câc lûúơc ăưì mư tă traơng thâi vađ hoaơt ăương lađ State Chart vađ Activity Graph.
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂ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ïí. Câc kiïíu dûơ liïơu hay câ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 khâch hađng CTaikhoanUI
CtaikhoanCtrl 1
CTaikhoanRs +m_lSotien : long +m_TaikhoanCtrl111
Lûúơc ăưì lúâp cho use case múê tađi khoăn vúâi câc bưí sung so vúâi mûâc phín tđch. tham chiïịu multiplicity
+m_TaikhoanRs
thuươc tđnh cô 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ư tă tûúng tâc giûơa câc lúâp ăïí thûơc hiïơn chûâc ùng trong ăô quan tím ăïịn trịnh tûơ thúđi gian lađ ăiïím khâc biïơt chuê ýịu so vâi lûúơc ăưì Collaboration.
Chûúng 4
ÛÂNG DUƠNG UML TRONG QUY TRỊNH PHÂT TRIÏÍN PHÍÌN MÏÌM 155
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ư tă tûúng tâ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 câc kïịt quă tûđ analysis vađ design ăïí tiïịn hađnh maơ hôa vađ cađi ăùơt câc thađnh phíìn (component) dûúâi daơng maơ nguưìn, câc script, câc file nhõ phín hay câc file thi hađnh. Muơc ăđch cuêa workflow nađy lađ
_ Tưí chûâc cađi ăùơt câc lúâp vađo câc thađnh phíìn (component) vađ phín bưị câc thađnh phíìn vađo câc node trïn mư hịnh Deployment.
_ Kiïím chûâng câc thađnh phíìn.
_ Tđch húơp câc phíìn cađi ăùơt cuêa nhûơng ngûúđi hay nhûơng nhôm phât triïín vađo hïơ thưịng.
Mư hịnh Implementation bao gưìm lûúơc ăưì Component cuêa UML. Mưỵi component cô thïí bao gưìm nhiïìu lúâp vađ cung cíịp dõch vuơ cuêa nô qua câc giao diïơn (interface). Component lađ câc thađnh phíìn ăươc líơp vađ câc component cuêa hïơ thưịng cô thïí ặúơc cađi ăùơt trïn câc mưi trûúđng khâc nhau.
Implementation Design
Interface tađi khoăn
+Motaikhoan() <<Interface>> Tađi khoăn
+Motaikhoan() Ăûa lúâp tađi khoăn vađo component tađi khoăn ăïí thïm dõch vuơ múê tađi khoăn cho component. realize (cung cíịp)
Component tađi khoăn Interface tađi khoăn
Hịnh 4-27 Vđ duơ tưí chûâc mươơt lúâp vađo mươơt component sûê duơng (dependency)
khoă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 PHÂT TRIÏÍN PHÍÌN MÏÌM 159