8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
1/234
Phát trin ph$n m&m b'ng UML trang | 1
Xut b$n n&m 2002
Chuy(n sang ebook b+ i
Sinh viên l- p DHTH4LT – Tr/0 ng 2H Công Nghi3p
10/2009
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
2/234
Phát trin ph$n m&m b'ng UML trang | 2
M5c l5c CH78 NG 1 M9 2;U ................................................................................ .......................................................... 7
1.1 L)CH S, H-. NG 12I T-5 NG ....................................................... ........................................................... ........ 8 1.2 M6T S2 KHÁI NI7M C/ B9 N ................................................................. ........................................................ 10 1.3 NGUYÊN T;C QU9 N LÝ 16 PH TI? N TRÌNH PHÁT TRI@ N PHB N M>M ...................................................................... ................ 15
1.5.1 - Các ph! ng pháp mô hình hóa h" th& ng .......................................................................................... 15 1.5.2 - Các pha phát tri) n ph+n m- m ................................................... ........................................................ 17
CH78 NG 2 KHÁI QUÁT V= UML ........................................................................................ ......................... 24
2.1 GI.I THI7U UML ...................................................... ........................................................... ......................... 24 2.2 MÔ HÌNH KHÁI NI7M CCA UML .................................................... ........................................................... ...... 26
2.2.1 - Ph+n t . mô hình trong UML........................ ........................................................... .......................... 26 2.2.2 - Các quan h" trong UML ........................................................... ........................................................ 28 2.2.3 - Ki) u d 0 li"u ...................................................................................................................................... 29 2.2.4 - Bi) u 23 UML .................................................................................................................................... 29
2.3 KI? N TRÚC H7 TH2 NG .................................................................................................................................. 38 2.3.1 - Khung nhìn UC ...................................................... ........................................................... ................ 38 2.3.2 - Khung nhìn thi4 t k 4 .......................................................... ........................................................... ...... 39 2.3.3 - Khung nhìn cài 25t .......................................................... ........................................................... ...... 39 2.3.4 - Khung nhìn tri) n khai .......................................................................... ............................................. 39 2.3.5 - Khung nhìn ti4 n trình ....................................................... ........................................................... ...... 40 2.3.6 - C +n bao nhiêu khung nhìn .......................................................................................................... ...... 40
2.4 RATIONAL ROSE LÀ GÌ? .................................................................................... ............................................ 40 2.5 KH9 NE NG S, DF NG UML ............................................................ ........................................................... ...... 41 2.6 THG C HÀNH ............................................................................................................. .................................... 41
CH78 NG 3 MÔ HÌNH HÓA TR 7? NG H@ P SA DBNG ............................................................................ 44
3.1 PHÂN TÍCH TR -H NG H5P S, DF NG (USE CASE – UC) .......................................................... ......................... 44 3.1.1 - UC là gì? ........................................... ........................................................... .................................... 44 3.1.2 - Xây d 7 ng UC 2) làm gì? .................................................................................................................. 44 3.1.3 - Tìm ki4 m UC nh th4 nào ? ...................................................... ........................................................ 45 3.1.4 - Lu3ng s7 ki"n trong UC ................................................................................................................... 48
3.2 BI@U 1J TR -H NG H5P S, DF NG ........................................................... ........................................................ 50 3.3 THG C HÀNH ............................................................................................................. .................................... 54
3.3.1 - S . d 8ng Rational Rose. .................................................... ........................................................... ...... 54 3.3.2 - Thí d 8: h" th& ng bán hàng ........................................................ ........................................................ 60
CH78 NG 4 MÔ HÌNH HÓA T78 NG TÁC 2DI T7@ NG .......................................................................... 63
4.1 12I T-5 NG VÀ TÌM KI?M 12I T-5 NG................................................... ........................................................ 63 4.2 BI@U 1J T-/ NG TÁC ......................................................... ........................................................... ................ 63
4.2.1 - Bi) u 23 trình t 7 ...................................................... ........................................................... ................ 64 4.2.2 - Bi) u 23 c:ng tác .............................................................. ........................................................... ...... 70
4.3 K K THUNT XÂY DG NG BI@U 1J T-/ NG TÁC ........................................................................................... ...... 72 4.4 THG C HÀNH ............................................................................................................. .................................... 75 4.4.1 - S . d 8ng Rational Rose ..................................................... ........................................................... ...... 75 4.4.2 - Thí d 8: h" th& ng bán hàng (ti4 p theo) ........................................................................................ ...... 83
CH78 NG 5 BIGU 2I LJ P VÀ GÓI .......................... ........................................................... .......................... 92
5.1 L.P VÀ TI>M KI?M L.P......................................................................................................................... 92 5.2 BI@U 1J L.P ................................................................................... ......................................................... 94
5.2.1 - Các lo;i l a l
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
3/234
Phát trin ph$n m&m b'ng UML trang | 3
5.6 QUAN H7 .................................................... ........................................................... .................................. 101 5.6.1 - Quan h" k 4 t hB p ..................................................... ........................................................... .............. 101 5.6.2 - Quan h" ph8 thu:c ........................................................... ........................................................... .... 104 5.6.3 - Ph8 thu:c t 8 hB p .................................................... ........................................................... .............. 105 5.6.4 - Quan h" khái quát hóa ..................................................... ........................................................... .... 106 5.6.5 - Gán 25c tính cho quan h" ........................................................................................................... .... 107
5.7 C/ CH? DUY TRÌ 12I T-5 NG ......................................................... .................................................... 112
5.8 THG C HÀNH ........................................................ ............................................................ ....................... 115 5.8.1 - S . d 8ng Rational Rose ..................................................... ........................................................... .... 115 5.8.2 - Thí d 8: H " th& ng bán hàng (ti4 p theo) ................................................................... ........................ 125
CH78 NG 6 BIGU 2I CHUYGN TR KNG THÁI VÀ BIGU 2I HOKT 2LNG ............... ........................ 137
6.1 BI@U 1J CHUY@ N TR = NG THÁI .................................................. ...................................................... 137 6.1.1 - Tr ;ng thái ........................................................................ ........................................................... .... 139 6.1.2 - Quá 2: ...................................................................................... ...................................................... 141 6.1.3 - Tr ;ng thái C n ................................................................................................ .................................. 142 6.1.4 - La bi) u 23 ............................................................................................ .............. 159 7.2.2 - Ti4 n trình ............................................................... ........................................................... .............. 160
7.3 THG C HÀNH ........................................................ ............................................................ ....................... 160 7.3.1 - S . d 8ng Rational Rose ..................................................... ........................................................... .... 160 7.3.2 - Phát sinh mã trình bJ ng Rose ................................................... ...................................................... 164 7.3.3 - Rational Rose và Visual C++ ................................................... ...................................................... 170 7.3.4 - Thí d 8: H " th& ng bán hàng (ti4 p theo) ................................................................... ........................ 171
CH78 NG 8 VÍ DB ÁP DBNG .......................................................... ........................................................... .... 184
8.1 K H9O SÁT TI? N TRÌNH TÁC NGHI7P ...................................................... ...................................................... 184
8.2 PHÂN TÍCH LO NH VG C ........................................................... ........................................................... .... 190 8.3 PHÂN TÍCH H7 TH2 NG. .......................................................... ........................................................... ... 194 8.3.1 - Xây d 7 ng bi) u 23 tr E ng hB p s. d 8ng (Use Case-UC) ....................................................... ........... 194
8.4 BI@U 1J T-/ NG TÁC ............................................................ ........................................................... .... 204 8.4.1 - Ti4 n trình 25t tr
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
4/234
Phát trin ph$n m&m b'ng UML trang | 4
9.1.4 - Quan h" k 4 thK a ..................................................... ........................................................... .............. 222 9.2 PHÁT SINH MÃ TRÌNH JAVA ......................................................... ...................................................... 222
9.2.1 - Các l
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
5/234
Phát trin ph$n m&m b'ng UML trang | 5
L? I NÓI 2;U
HP thQng tin hTc ngày càng phUc tW p. Xu thX áp dYng phV[ ng pháp hV\ ng ]Qi tV^ ng (phV[ ng pháp m\ i) thay cho phV[ ng pháp c_u trúc (phV[ ng pháp truy&n thQng) ngày càng ph` biXn khixây dang các hP thQng ph$n m&m l\ n và phUc tW p. H[ n nba, tc khi Ngôn ngb mô hình hóa thQngnh_t (Unified Modeling Language – UML) ]V^ c t` chUc OMG (Object Management Group)công nhdn là chuen công nghiP p thì nó ]ã tr f thành công cY ph` dYng và hbu hiPu cho phV[ ng
pháp m\ i này. MYc tiêu cha tài liPu này nh'm gi\ i thiPu các khái ni&m c[ bin v& tiX p cdn hV\ ng]Qi tV^ ng và mô hình hóa hP thQng ph$n m&m theo phV[ ng pháp hV\ ng ]Qi tV^ ng. Các khái niPmm\ i ]V^ c mô ti, hV\ ng djn thac hành thông qua ngôn ngb chuen UML và ph$n m&m công cY mô hình hóa n`i tiXng Rational Rose cha Raitonal Software Corporation.
PhV[ ng pháp phân tích thiXt k X hV\ ng ]Qi tV^ ng ]V^ c sl dYng r mng rãi tWi các nV\ c phát trinvà bnt ]$u ]V^ c sl dYng tWi mmt sQ ][ n vo tin hTc tWi ViPt Nam. Tuy nhiên tài liPu b'ng tiXng ViPtv& l q nh vac này còn r _t hiXm hoi, không ]áp Ung nhu c$u hiPn tWi. H[ n nba, nhdn thUc ]V^ c t$mquan tr Tng cha phV[ ng pháp m\ i này, mmt sQ tr Vs ng ]Wi hTc ]ã hình thành môn hTc liên quan]Xn v_n ]& nói trên cho sinh viên, còn mmt sQ tr Vs ng khác ]ang có k X hoWch ]Va chh ]& này vàochV[ ng trình ]ào tWo chính khóa.
Chh ]im cha tài liPu ]V^ c th hiPn dV\ i góc nhìn cha ngVs i phát trin hP thQng ph$n m&m,không th hiPn dV\ i góc ]m quan sát cha nhà phV[ ng pháp ludn. Laa chTn này xu_t phát tc thactX là tc phV[ ng pháp ludn hV\ ng ]Qi tV^ ng djn ]Xn viPc Ung dYng nó vào xây dang ph$n m&m cY th còn mmt khoing cách xa vs i và ]$y khó khtn, ]uc biPt v\ i trình ]m tin hTc hiPn này nói chungcòn chVa cao tWi ViPt Nam. V\ i quan ]im này, tài liPu ]V^ c c_u trúc nhV sau:
ChV[ ng mf ]$u trình bày khái quát v& mô hình và mô hình hóa; các bV\ c xây dVng hP thQng ph$n m&m và t$m quan tr Tng cha phV[ ng pháp hV\ ng ]Qi tV^ ng. ChV[ ng tiX p theo gis i thiPungôn ngb chuen công nghiP p UML, mmt công cY hbu hiPu mô hình hóa hP thQng ph$n m&m.Trong các ph$n tiX p theo là trình bày k v thudt mô hình hóa, tc phân tích yêu c$u ]Xn thiXt k X hP thQng, kiXn trúc hP thQng và cài ]ut b'ng ngôn ngb ld p trình. ChV[ ng cuQi cùng là bài hTc thac
nghiPm các k v thudt ]ã trình bày trong các chV[ ng tr V\ c vào bài toán cY th. 1uc biPt, trong mxichV[ ng tài liPu ]&u có ph$n thac hành trên ph$n m&m Rational Rose ] ]mc gii có th áp dYngngày công cY m\ i, k v thudt m\ i vào giii quyXt v_n ]& cha riêng hT. Ph$n phY lYc trình bày mmtsQ mã trình trong mmt vài ngôn ngb thông dYng tV[ ng Ung v\ i các nhóm ph$n tl trong biu ]y UML…
HiPn nay ph$n l\ n các bWn sinh viên ]Wi hTc ntm cuQi houc các k v sV tin hTc m\ i ra tr Vs ng]&u gu p khó khtn khi nhdn nhiPm vY xây dang hP thQng ph$n m&m m\ i hay nâng c_ p ph$n m&mcó szn. Các bWn thVs ng không biXt bnt ]$u tc ]âu và làm nhV thX nào ] có ]V^ c ph$n m&m và
ph$n m&m tQt, nói cách khác là còn thiXu phV[ ng pháp. Do vdy, quyn sách này có th là tài liPutham khio tQt cho các bWn sinh viên và các k v sV tin hTc.
Quyn sách này ]V^ c hình thành tc nmi dung bài giing cha tác gii v& chh ]& Phát tri) n ph+nm- m h
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
6/234
Phát trin ph$n m&m b'ng UML trang | 6
1oa ch} liên lWc: ViPn Công nghP Thông tin, Trung tâm Khoa hTc Ta nhiên và Công nghP QuQc gia. Email: [email protected]
Hà nmi, tháng 02 ntm 2002
TÁC GI9
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
7/234
Phát trin ph$n m&m b'ng UML trang | 7
CH-/ NG 1
M9 2;U
Phát trin ph$n m&m ngày càng tr f nên phUc tW p. Thay ]`i giao diPn tc các xâu ký ta sang
giao diPn ]y hTa xu thX sa kiPn; kiXn trúc hP thQng ]a t$ng khách/chh; c[ sf db liPu (CSDL) phântán; Internet … làm ttng ]m phUc tW p cha hP thQng ph$n m&m. Thách thUc trong hai mV[ i ntm t\ icha xây dang hP thQng ph$n m&m không phii là tQc ]m thac hiPn chV[ ng trình, kinh phí hay sUcmWnh cha nó mà v_n ]& s~ là ]m phUc tW p (Sun Microsystem). K • thù cha chúng ta là ]m phUc tW p,ta phii loWi b| chúng ( Jan Bean). Vdy, loWi b| ]m phUc tW p b'ng cách nào? Các phV[ ng pháp tiX pcdn hV\ ng c_u trúc, tiPm cdn hV\ ng logic, tiX p cdn hV\ ng hV\ ng ]Qi tV^ ng và tiX p cdn hV\ ng táctl ] có th giii quyXt v_n ]& này nhVng f mUc ]m khác nhau.
T`ng quát thì viPc xây dang ph$n m&m phii quan tâm ]Xn t` chUc, các quan hP và c_u trúc ] hình thành ]V^ c các hành vi phUc tW p cha hP thQng. MTi viPc khio sát hP thQng phii ]V^ c thachiPn v\ i mUc ]m tr cu tV^ ng khác nhau, tc các chi tiXt ]Xn t` chUc t`ng th. Do vdy, xây dang
ph$n m&m là thac hiPn dãy tV[ ng tác chia nhM và hB p nhN t . Chia nh| ] hiu rõ v_n ]& và h^ pnh_t ] xây dang hP thQng. TiXn trình chia nh| (tách) ]ã có truy&n thQng và tuân thh các tiêu chíchO c nLng . Các chUc ntng cha hP thQng ]V^ c nhdn diPn, sau ]ó chúng ]V^ c tách thành các chUcntng con. TiXn trình này ]V^ c thac hiPn lu p ]i lu p lWi cho ]Xn khi có ]V^ c các thành ph$n ][ ngiin ]Xn mUc chúng ]V^ c biu di{n tr ac tiX p b'ng các hàm hay thh tYc cha ngôn ngb ld p trình(hình 1.1). Cách tiX p cdn này ]V^ c gTi là tiX p cdn hV\ ng chUc ntng (hay còn gTi là thh tYc, truy&nthQng). NgVs i phát trin ph$n m&m s~ td p trung vào các nhiPm vY ]i&u khin và tách thudt toánl\ n thành các thudt toán nh|. KhQi chính ] hình thành ph$n m&m f ]ây là các hàm hay thh tYc.
Hình 1.1 Ti4 p cIn h
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
8/234
Phát trin ph$n m&m b'ng UML trang | 8
Hình 1.2 Ti4 p cIn h
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
9/234
Phát trin ph$n m&m b'ng UML trang | 9
Hình 1.3 Các ngôn ng 0 l I p trình
Khi các ngôn ngb hV\ ng ]Qi tV^ ng ]V^ c sl dYng r mng rãi thì nhu c$u có phV[ ng pháp pháttrin ph$n m&m hV\ ng ]Qi tV^ ng tr f nên c_ p bách. Vào ]$u nhbng ntm 90 cha thX k % XX ]ã xu_thiPn các phV[ ng pháp hV\ ng ]Qi tV^ ng sau ]ây: PhV[ ng pháp Booch, OMT (Object ModelingTechnique), OOSE (Object Oriented Software Engineering )/Objectory, Fusion và Coad/Yourdon.Mxi phV[ ng pháp có ký pháp, tiXn trình và công cY hx tr ̂ riêng. Chúng ]&u có Vu ]im và nhV^ c]im riêng. NgVs i sl dYng r _t khó khtn ] chTn cho mình mmt phV[ ng pháp phù h^ p. Do nhdn
biXt ]V[ c các v_n ]& này, vào ntm 1994 các tác gii cha các phV[ ng pháp này ]ã h^ p tác nh'mtWo ra phV[ ng pháp m\ i. Bnt ]$u là sa thQng nh_t phV[ ng pháp Booch v\ i OMT-2 cha Rumbagh ] hình thành Unified Method 0.8 tWi Rational Rose Corporation. Tháng 6 ntm 1995, Ivar
Jacobson (tác gii cha OOSE/Objectory) gia nhd p v\ i hT. Tc ths i ]im này, nhóm phát trin phV[ ng pháp hV\ ng ]Qi tV^ ng nói trên cho r 'ng nhiPm vY cha hT là tWo ra ngôn ngb mô hình hóathQng nh_t cho cmng ]yng hV\ ng ]Qi tV^ ng. Do vdy, hT ]ã ]`i tên công viPc cha mình thànhUnified Modeling Language – UML (Ngôn ngb mô hình hóa thông nh_t). Booch, Rumbaugh và
Jacobson ]ã ]Va ra nhi&u phiên bin UML, trong ]ó phiên bin UML 0.9 xu_t hiPn ntm 1995,UML xu_t hiPn vào ntm 1997. Ph$n l\ n UML ]V^ c xây dang trên n&n ting cha các phV[ ng pháp
Booch, OMT và OOSE, nhVng UML còn bao gym ci các khái niPm có nguyn gQc tc các phV[ ng
pháp khác nhV David Harel , Gamma – Helm – Johnson – Vlissides và Fusion. UML còn là k Xtqui cha sa ]óng góp tc các hãng l\ n nhV Digital Equipment Corporation (DEC), Hewlett –
1960
1990
1980
AlgolFortran
LISP
PL/1
Cobol
Pascal
Simula
Ada
Smalltalk-72
Smalltalk-74
Smalltalk-76
Smalltalk-78
Smalltalk-80
Objective C
ObjectPascal
ObjectCobolAda 9
C++
Java
CLOS
Prolog
C
Eiffel
Loops
HV\ ng ]Qi tV^ ng Không hV\ ng ]Qi tV^ ng
1970
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
10/234
Phát trin ph$n m&m b'ng UML trang | 10
Packard (HP), I-Logix, Intellicorp, IBM, ICON Computing, MCI Systemhouse, Microsoft,Oracle, Rational Software Corporation, Texas Instrument, Taskon, ObjectTime và Unisys. Phiên
bin UML 1.1 ]ã ]V^ c ]P trình lên OMG (Object Management tháng 11-1997. Phiên bin UML1.3 xu_t hiPn vào ntm 1999. Phiên bin UML 1.4 xu_t hiPn vào tháng 2-2000.
1.2 MLT SD KHÁI NIQM C8 BRN
Ph$n này trình bày mmt sQ khái niPm c[ bin áp dYng trong phân tích và thiXt k X hV\ ng ]QitV^ ng.
Ph/, ng pháp (method ). PhV[ ng pháp (hay phV[ ng thUc) là cách thUc c_u trúc các suy ngh q và hành ]mng cha con ngVs i. Nó cho biXt chúng ta phii làm cái gì, làm nhV thX nào, làm khi nàovà tWi sao phii làm nhV vdy ] hình thành hP thông ph$n m&m.
2Si th/, ng (object ). Theo ngh q a thông thVs ng thì ]Qi tV^ ng là ngVs i, vdt hay hiPn tV^ ng màcon ngVs i nh'm vào trong suy ngh q , trong hành ]mng [PHE96]; là b_t k cái gì nhìn th$y và ss mó ]V^ c. Trong phV[ ng pháp hV\ ng ]Qi tV^ ng thì ]Qi tV^ ng là tr cu tV^ ng cái gì ]ó trong l q nhvac v_n ]& hay trong cài ]ut cha nó; phin inh khi ntng hP thQng lVu gib thông tin v& nó và tV[ ngtác v\ i nó; gói các giá tr o thumc tính và các doch vY (phV[ ng thUc, phV[ ng pháp) [OCAD91].
L- p (class). Theo ngh q a thông thVs ng thì l\ p là nhóm cha nhi&u ngVs i hay vdt có tính tV[ ngta nh_t ]onh hay ]uc ]im chung (tc ]in Webster’s). Trong phV[ ng pháp hV\ ng ]Qi tV^ ng thìl\ p là mô ti mmt hay nhi&u ]Qi tV^ ng, mô ti td p thQng nh_t các thumc tính và phV[ ng thUc. Nócòn có th mô ti cách tWo ]Qi tV^ ng m\ i trong l\ p nhV thX nào [COAD91].
TrU u t/V ng (abstract ). Tr cu tV^ ng là nguyên lý b| qua nhbng khía cWnh cha chh th ( subject ) không liên quan ]Xn mYc ]ích hiPn tWi ] td p trung ]$y ]h h[ n vào các khía cWnh cònlWi. NhV vdy có th nói r 'ng tr K u t B ng là 2! n giAn hóa th4 gi
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
11/234
Phát trin ph$n m&m b'ng UML trang | 11
Hình 1.4 Mô hình th4 giE i th7 c
Ph/, ng pháp luWn (methodology). PhV[ ng pháp ludn mô ti cách thUc suy ngh q v& ph$nm&m và phát trin ph$n m&m. Nó bao gym ngôn ngb mô hình hóa metamodel (mô hình cha mô
hình) và tiXn trình. PhV[ ng pháp ludn khác v\ i phV[ ng pháp. PhV[ ng pháp ludn là nghiên cUu phV[ ng pháp. Metamodel mô ti hình thUc các ph$n tl mô hình, cú pháp và ngb ngh q a cha các ký pháp trong mô hình.
L X nh v[ c vn \] (domain problem). MYc tiêu cha tiX p cdn hV\ ng ]Qi tV^ ng là mô hình hóacác ]uc tính t q nh và ]mng cha môi tr Vs ng, n[ i xác ]onh yêu c$u ph$n m&m. Môi tr Vs ng này ]V^ cgTi là l q nh vac v_n ]&. V_n ]& là câu h|i ]ut ra ] giii quyXt houc xem xét. L q nh vac là khônggian (vùng) cha các hoWt ]mng houc inh hVf ng. Nó là vùng tác nghiP p hay kinh nghiPm cha conngVs i trong ]ó ph$n m&m ]V^ c sl dYng. Vdy, l q nh vac v_n ]& là vùng mà ta ]ang cQ gnng xemxét. Thí dY cha l q nh vac v_n ]& có th là tài chính, giáo dYc,…
Phân tích. Phân tích là tách, chia nh| t`ng th thành các ph$n ] tìm ra ]uc tính, chUc ntng,quan hP… cha chúng (tc ]in Webster’s). Khái niPm phân tích trong tiX p cdn hV\ ng ]Qi tV^ ng làthac hiPn nghiên cUu l q nh vac v_n ]&, djn t\ i ]uc ti hành vi quan sát tc ngoài và các thông báonh_t quán, hoàn ch}nh, khi thi cha nhbng cái c$n [COAD91]. Phân tích hV\ ng ]Qi tV^ ng td ptrung vào tìm kiXm, mô ti các ]Qi tV^ ng (khái niPm) trong l q nh vac v_n ]&. Thí dY hP thQng thV viPn có khái niPm Sách, ThV viPn …
Thi^t k ̂ . Là td p tài liPu k v thudt toàn bm, gym có bin tính toán, bin v~… ] có th theo ]ómà xây dang công trình, sin xu_t thiXt bo, làm sin phem… [PHE96]. Khái niPm phân tích trongtiX p cdn hV\ ng ]Qi tV^ ng là thac hiPn ]uc ti các hành vi bên ngoài, b` sung chi tiXt nXu c$n thiXt] cài ]ut hP thQng trên máy tính, bao gym tV[ ng tác ngVs i - máy, quin lý nhiPm vY, quin lý db liPu [COAD91]. ThiXt k X hV\ ng ]Qi tV^ ng td p trung vào xác ]onh ]Qi tV^ ng ph$n m&m logic s~
]V^ c cài ]ut b'ng ngôn ngb hV\ ng ]Qi tV^ ng.Xây d[ ng (lWp trình) h/- ng \Si t/V ng: là thiXt k Xt các modun s~ ]V^ c cài ]ut. Thí dY l\ p
Book s~ ]V^ c cài ]ut b'ng C++, Java … nhV thX nào.
Mô hình hóa (modeling ). Khái niPm mô hình hóa thVs ng ]V^ c sl dYng ]yng ngh q a v\ i phântích, ]ó là viPc thac hiPn tách hP thQng thành các ph$n tl ][ n giin ] d{ hiu. Trong khoa hTcmáy tính, mô hình hóa bnt ]$u tc mô ti v_n ]&, sau ]ó là mô ti giii pháp v_n ]&. Các hoWt ]mngnày còn ]V^ c gTi là phân tích và thi4 t k 4 . Khi thu thd p yêu c$u cho hP thông, ta phii tìm ra nhuc$u tác nghiP p cha ngVs i dùng và ánh xW chúng thành yêu c$u ph$n m&m sao cho ]mi ng+ pháttrin ph$n m&m hiu và sl dYng ]V^ c chúng. TiX p theo là khi ntng phát sinh mã trình tc các yêuc$u này, ]yng ths i ]im bio r 'ng các yêu c$u phii phù h^ p v\ i mã trình vca phát sinh và d{ dàng
chuyn ]`i mã trình ngV^ c lWi thành yêu c$u. TiXn trình này ]V^ c gTi là mô hình hóa.
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
12/234
Phát trin ph$n m&m b'ng UML trang | 12
Mô hình hóa tr[ c quan. Mô hình hóa tr ac quan là tiXn trình l_y thông tin tc mô hình và hintho ]y hTa b'ng td p các ph$n tc ]y hTa chuen. Tiêu chuen là cQt lõi ] thac hiPn mmt trong các l^ ithX cha mm hình tr ac quan, ]ó là v_n ]& giao tiX p. Giao tiX p giba ngVs i dùng, ngVs i phát trin,
phân tích viên, kim tra viên, ngVs i quin lý và nhbng ngVs i khác tham gia da án là mYc tiêuquan tr Tng nh_t cha mô hình hóa tr ac quan. TV[ ng tác này có th ]V^ c thac hiPn b'ng vtn bin.
Nhs mô hình tr ac quan mà ta có th ch} ra các t +ng mà hP thQng làm viPc, bao gym tV[ ng tác
giba ngVs i dùng v\ i hP thQng, tV[ ng tác giba các ]Qi tV^ ng trong hP thQng hay giba các hP thôngv\ i nhau. Sau khi tWo mô hình, ta có th ch} ra tcng ph$n quan tâm. Thí dY, ngVs i dùng có th quan sát tV[ ng tác giba hT v\ i hP thông tc mô hình, phân tích viên quan sát tV[ ng tác các ]QitV^ ng tc mô hình, ngVs i phát trin s~ quan sát ]V^ c ]Qi tV^ ng mà hT s~ phát trin… Các nhà tinhTc ]ã r _t cQ gnng ] hình thành ký pháp mô hình hóa tr ac quan. Mmt sQ ký pháp quen thumc làcha Booch, OMT và UML. Ph$n m&m công cY Rational Rose 2000 tr ̂ giúp các ký pháp này.Tóm lWi, lý do c[ bin ] mô hình hóa là: xây dang mô hình ] hiu sâu snc h[ n v& hP thQng ]ang]V^ c xây dang. Chúng ta xây dVng mô hình cho các hP thQng phUc tW p vi ta không th hiu nónhV t`ng th. Nhs mô hình hóa ta s~ ]Wt ]V^ c các mYc tiêu sau:
Mô hình giúp ta hin tho hP thQng nhV chính nó hay nhV cách mà ta muQn nó hin tho.
Mô hình cho phép ta ]uc ti c_u trúc hay hành vi hP thQng.Mô hình cho ta m_u ] hV\ ng ]jn trong viPc xây dang hP thQng.
Mô hình giúp ta làm tài liPu cho các quyXt ]onh khi phân tích thiXt k X hP thQng.
1.3 NGUYÊN T_C QURN LÝ 2L PH` C TKP
NhV ]ã trình bày trên thì nhiPm vY quan tr Tng nh_t cha ngVs i xdy dang hP thQng ph$n m&mngày nay là quin lý ]V^ c ]m phUc tW p. Theo Coad và Yourdon [COAD91] thì các nguyên tncquin lý ]m phUc tW p cha hP thQng trong phân tích và thiXt k X hV\ ng ]Qi tV^ ng bao gym các v_n ]& mô ti dV\ i ]ây.
TrU u t/V ng hóa. Sl dYng nguyên tnc tr cu tV^ ng hóa có ngh q a là thca nhdn thX gi\ i thac là phUc tW p; thay vì cQ gnng hiu biXt toàn b: b'ng laa chTn mmt ph$n cha v_n ]&. Tr cu tV^ ng baogym hai loWi chính: tr cu tV^ ng thh tYc ( procedural ) và tr cu tV^ ng db liPu (data). Tr cu tV^ ng thh tYc thVs ng ]V^ c ]uc tr Vng bf i tr cu tV^ ng chO c nLng/chO c nLng con. Chia nh| tiXn trình xl lýthành các bV\ c là phV[ ng pháp c[ bin ] quin lý ]m phUc tW p. Tuy nhiên viPc chia nh| ] t` chUc thiXt k X là khá tùy tiPn và không `n ]onh. Tr cu tV^ ng thh tYc không phii là hình thUc tr cutV^ ng cha phV[ ng pháp hV\ ng ]Qi tV^ ng. Tr cu tV^ ng db liPu là c[ chX mWnh, daa trên c[ sf t` chUc suy ngh q và ]uc ti v& các nhiPm vY cha hP thQng. Tr cu tV^ ng db liPu là nguyên tnc xác ]onhkiu db liPu cho các thao tác áp dYng cho ]Qi tV^ ng, v\ i ràng bumc là các giá tr o lVu tr b trong ]QitV^ ng ch} ]V^ c sla ]`i hay quan sát thông qua các thao tác ]ó. NgVs i thiXt k X áp dYng tr cu tV^ ng
db liPu ]{ xác ]onh thumc tính và phV[ ng thUc xl lý thumc tính xâm nhd p thumc tính thông qua phV[ ng thUc.
Bao bac (encapsulation). Còn gTi là d_u thông tin. Nguyên tnc này daa trên n&n ting là mxithành ph$n cha chV[ ng trình ]V^ c bao bTc hay d_u quyXt ]onh thiXt k X ][ n l•. Giao diPn ts i mximo]un ]V^ c hình thành sao cho ít nhìn th_y các công viPc bên trong. Bao bTc làm ttng tính sl dYng lWi khi phát trin hP thQng m\ i. Bao bTc các nmi dung liên quan v\ i nhau làm giim lVulV^ ng giba các ph$n cha hP thông khi hoWt ]ông.
K ̂ thU a (inheritance). C[ chX biu di{n tính tV[ ng ta cha các l\ p, ][ n giin hóa ]onh ngh q anhbng l\ p tV[ ng ta tc các l\ p khác ]ã ]onh ngh q a tr V\ c. Nó miêu ti t`ng quát hóa và ]uc biPthóa, tWo ra các thumc tính và phV[ ng thUc chung cho các l\ p phân c_ p. Nguyên tnc này hình thành
n&n ting cha k v thudt bin di{n nhbng cái chung cha các l\ p.
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
13/234
Phát trin ph$n m&m b'ng UML trang | 13
K ̂ t hV p (association). Là h^ p nh_t hay liên k Xt các ý tVf ng (tc ]in Webster’s). Sl dYng k Xth^ p ] gnn mmt vài ph$n tl xiy ra vào ths i ]im cY th hay dV\ i ]i&u kiPn tV[ ng ta nhau. Thí dY,gnn xe cm vào chh xe…
Giao ti^p bbng thông \i3p. Thông ]iP p là giao tiX p (viXt nói) ]V^ c trao ]`i giba ngVs i v\ ingVs i (tc ]in Webster’s). Giao tiX p b'ng thông ]iP p liên quan ]Xn tính bao bTc trong ]ó các chitiXt cha hành ]mng s~ thac hiPn ]V^ c bao bTc trong n[ i nhdn thông ]iP p.
2a hình ( polymorphism). 1a hình là các thông ]iP p ]yng âm ]V^ c gUi ]Xn các ]Qi tV^ ng chal\ p khác nhau ] khf i sa nhbng hành vo khác nhau [OEST00].
Rnh h/+ ng cca ph/, ng pháp td che c. Bách khoa toàn thV Britannica cho r 'ng ] hiu thX gi\ i thac, con ngVs i sl dYng ba phV[ ng pháp t` chUc suy ngh q nhV sau: (1) Phân biPt ]Qi tV^ ngcY th v\ i các thumc tính cha nó; thí dY, phân biPt cây v\ i kích thV\ c cha nó houc quan hP khônggian v\ i các ]Qi tV^ ng khác. (2) Phân biPt giba toàn bm ]Qi tV^ ng v\ i thành ph$n cha nó; thí dY,
phân biPt cây v\ i cành cây.(3) Phân biPt giba các l\ p ]Qi tV^ ng v\ i nhau; thí dY, phân biPt l\ pcây v\ i l\ p ]_t ]á. Ci ba phV[ ng pháp t` chUc này ]V^ c áp dYng và chúng cho cái nhìn rõ ràngh[ n trong l q nh vac v_n ]& và trách nhiPm cha hP thQng khi tiX p cdn hV\ ng ]Qi tV^ ng.
Quy mô (scale). Nguyên tnc áp dYng qui tnc t`ng th-thành ph$n ] quan sát cái gì ]ó r _t l\ n]V^ c gTi là qui mô.
Phân l- p hành vi. Sau khi ]ã tìm ra inh hVf ng t` chUc suy ngh q , ta phii hiu rõ các hành vicha ]Qi tV^ ng. Hành vi là nhbng phin Ung, cách cV xl biu hiPn ra ngoài. Phân l\ p hành vi baogym ba loWi sau: (a) trên c[ sf tWo ra k Xt qui tUc thì; (b) sa tV[ ng ta cha loch sl tiXn hóa (thay ]`itheo ths i gian) và (c) sa tV[ ng ta cha các chUc ntng.
Mfu ( pattern). Ntm 1977 Christopher Alexander [MULL97] ]ã ]& xu_t khái niPm mju khithiXt k X hP thQng theo quan ]im hV\ ng ]Qi tV^ ng. Mju là t` h^ p ]Qi tV^ ng và l\ p. L^ i thX chathiXt k X theo mju cho phép xl lý các quan niPm v& kiXn trúc f mUc cao h[ n ]Qi tV^ ng vì chúng làcY th trong l q nh vac Ung dYng. Có th xem mQi tV[ ng Ung giba mju và các ]Qi tV^ ng nhV mQi
tV[ ng Ung giba chV[ ng trình con và các dòng lPnh chV[ ng trình. Mju là ][ n vo sl dYng lWi trongthiXt k X hV\ ng ]Qi tV^ ng.
1.4 NGUYÊN T_C MÔ HÌNH HÓA
Khi ntng cha con ngVs i là có gi\ i hWn khi khio sát các v_n ]& phUc tW p nhV t`ng th. Thôngqua mô hình hóa ta s~ gi\ i hWn v_n ]& nghên cUu b'ng cách ch} td p trung vào mmt khía cWnh chav_n ]& vào mmt ths i ]im. 1ó là quan ]im chia 2) tr P và Edsger Dijkstra ]ã phát biu tc vài ntmtr V\ c ]ây: T N n công vào vN n 2- khó bJ ng cách chia nhM nó thành dãy các vN n 2- nhM h! n mà tacó th) giAi quy4 t 2B c. Mô hình hóa s~ làm ttng tri thUc cha con ngVs i. ViPc chTn mô hình ]úngcho khi ntng mô hình làm viPc f mUc tr cu tV^ ng cao. Mô hình hóa ]ã có loch sl lâu ]s i trongmTi l q nh vac k v nghP. NgVs i ta ]ã rút ra bQn nguyên tnc c[ bin sau [BRJ99]:
1. Vi"c chRn mô hình nào 2) t ;o l I p có Anh hS ng sâu sT c 24 n cách giAi quy4 t vN n 2- vàcách hình thành các giAi pháp.
Các mô hình ]úng s~ làm sáng t| v_n ]& phát trin phUc tW p nh_t, cho cái nhìn th_u ]áov_n ]& c$n giii quyXt. Mut khác, mô hình tyi s~ làm ta lWc lQi, làm cho ta ch} td p trung vàocác nhiPm vY không thích h^ p. ViPc chTn mô hình cho hP thQng ph$n m&m tác ]mng mWnh]Xn cách quan sát thX gi\ i. NXu xây dang hP thQng theo cách nhìn cha ngVs i phát trinCSDL thì hT s~ td p trung vào mô hình quan hP thac th, ]ey hành vi vào trigger (khf i sa hành ]mng) và thh tYc lVu tr b. DV\ i con mnt cha ngVs i phân tích c_u trúc, mô hình td p
trung vào thudt toán và luyng db liPu tc tiXn trình này sang tiXn trình khác. DV\ i con mntcha ngVs i phát trin hV\ ng ]Qi tV^ ng, hP thQng có kiXn trúc td p trung vào vô sQ l\ p và các
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
14/234
Phát trin ph$n m&m b'ng UML trang | 14
meu thl tV[ ng tác giba các ]Qi tV^ ng l\ p. Mmt cách tiX p cdn trên có th phù h^ p cho mxil\ p Ung dYng hay thói quen phát trin hP thQng. Tuy nhiên kinh nghiPm cho th_y r 'ng tiX pcdn hV\ ng ]Qi tV^ ng là Vu viPt nh_t cho mTi kiXn trúc. Mxi cách nhìn thX gi\ i s~ djn ]Xnsa khác nhau v& giá ci và l^ i nhudn cha hP thQng ]V^ c xây dang.
2. M U i mô hình bi) u diV n h" th& ng v
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
15/234
Phát trin ph$n m&m b'ng UML trang | 15
1.5 KHÁI QUÁT V= TIMN TRÌNH PHÁT TRIGN PH;N M=M
HP thQng là t` h^ p ph$n cUng, ph$n m&m cung c_ p giii pháp cho v_n ]& c$n giii quyXt. Ngàynay, trong khi hP thQng quá phUc tW p mà tri thUc lWi quá chuyên ngành cho nên mmt ngVs i khôngth biXt mTi khía cWnh tác nghiP p. Mmt ngVs i không th hiu ]yng ths i mTi v_n ]& cha hP thQng:tc thiXt k X giii pháp, viXt mã trình, trin khai trên n&n ph$n cUng ]Xn ]im bio chnc chnn mTi
thành ph$n ph$n cUng ]&u làm viPc tQt v\ i nhau. TiXn trình phát trin ph$n m&m phUc tW p phii]V^ c nhi&u ngVs i thac hiPn. Tr V\ c hXt là khách hàng, ]ó là ngVs i ]Va ra v_n ]& c$n giii quyXt.Phân tích viên làm tài liPu v_n ]& cha khách hàng và chuyn nó t\ i ngVs i phát trin, ]ó là nhbngld p trình viên xây dang ph$n m&m ] giii quyXt, kim tra và trin khai nó trên các ph$n cUng.Phát trin ph$n m&m có th ]V^ c thac hiPn b'ng nhi&u con ]Vs ng khác nhau. Các da án có th tuân thh mmt trong các loWi tiXn trình lu p và ttng d$n. Mxi loWi có Vu và nhV^ c ]im riêng.
1.5.1 - Các ph/, ng pháp mô hình hóa h3 thSng
1.5.1.1 - Mô hình thác n! c
Tc ]ã lâu, hP thQng ph$n m&m thVs ng ]V^ c mô hình hóa theo phV[ ng pháp thác n
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
16/234
Phát trin ph$n m&m b'ng UML trang | 16
hình 1.6 Mô hình ch0 “V”
Nhbng ngVs i tham gia vào xây dang hP thQng ph$n m&m nhV khách hàng, phân tích viên, ld ptrình viên… theo phV[ ng pháp thác n
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
17/234
Phát trin ph$n m&m b'ng UML trang | 17
l$n. C$n nh\ r 'ng không có khi ntng thu thd p ]$y ]h mTi yêu c$u vào công ]oWn ]$u tiên cha da án. Các v_n ]& có th niy sinh, vdy ta phii ld p k X hoWch lu p trong da án. Theo quan niPm này thìda án ]V^ c coi là dãy các thác nV\ c nh|. Mxi thác nV\ c ]V^ c thiXt k X sao cho ]h l\ n ] hoànthành thiPn tcng bm phdn quan tr Tng cha da án và ]h nh| ] tQi thiu nhu c$u ]i tr f lWi.
Hình 1.7 [MULL97] cho th_y mxi chu k lu p là mmt vòng ]s i thác nV\ c nh|. Vòng lu p sau]V^ c hình thành trên c[ sf tiXn hóa cha vòng lu p tr V\ c ]ó. NhV vdy, các pha truy&n thQng ]V^ clu p ]i lu p lWi và ttng d$n. Trong phV[ ng pháp này, phân tích viên, ngVs i thiXt k X, ngVs i ld ptrình… h^ p tác làm viPc ] hiu biXt sâu snc hP thQng, chi s• các ý tVf ng m\ i djn ts i xây dang]V^ c hP thông mWnh, phUc tW p h[ n.
Hình 1.7 Mô hình l 5 p và t Lng d +n
Có nhi&u biXt th cha chu k lu p. Các chu k lu p này ]V^ c hình thành trên c[ sf phWm vi chada án, ]m phUc tW p cha v_n ]& và các laa chTn kiXn trúc. Thí dY, chu k lu p hình chb b cha Birrel
N.D và Ould M.A. (1985) td p trung vào pha bio trì hP thQng, ]V^ c áp dYng cho các da án trung bình; chu k lu p hình chb O cha Boehm B.M (1988) bao gym lu p công viPc phân tích và thiXt k X.Mô hình này cho khi ntng các nhóm thac hiPn song song da án.
1.5.2 - Các pha phát tri(n phhn m]m
Không có tiXn trình phát trin ph$n m&m nào là phù h^ p cho mTi da án, mTi l q nh vac UngdYng [MULL97]. Ph$n này mô ti tiXn trình phát trin ph$n m&m t`ng quát, mxi da án phii thíchnghi chúng v\ i các ràng bumc riêng. Phát trin ph$n m&m ]V^ c quan sát tc hai góc ]m b` tr ̂ nhau. 1ó là, góc ]m hx tr ̂ bao gym các khía cWnh tài chính, chiXn lV^ c, tho tr Vs ng và con ngVs ivà góc ]m k v thudt bao gym k v nghP, kim tra ch_t lV^ ng và phV[ ng pháp mô hình hóa.
1.5.2.1 - Khía c+nh k , thu/t trong ti 0 n trình phát tri 3 n ph)n m5m
Góc nhìn k v thudt td p trung vào trin khai và t` chUc các hoWt ]mng k v thudt ] djn ts i sinsinh các thX hP ph$n m&m khác nhau. NhV trình bày trên, chu k phát trin ]V^ c xem nhV trình ta các lu p, thông qua nó mà ph$n m&m tiXn trin d$n. K Xt qui cha mxi vòng lu p là chV[ ng trình cóth chWy ]V^ c (khi thac). Nmi dung cha lu p phii có ích cho tiXn trình phát trin và cho ngVs i sl dYng. Mmt sQ k Xt qui cha lu p ch} ]V^ c sl dYng nmi bm tiXn trình phát trin, mmt sQ khác ]V^ c sl dYng ] th hiPn tr Wng thái tiXn trin. Tc lu p này ]Xn lu p khác, chV[ ng trình s~ ]V^ c b` sung cácchUc ntng m\ i và ch_t lV^ ng cha nó ]V[ c nâng cao cho ]Xn mmt vòng lu p nào ]ó s~ sin sinh rathX hP thU nh_t cha ph$n m&m.
Phân tích
ThiXt k X
Mã hóa
Tích h^ p
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
18/234
Phát trin ph$n m&m b'ng UML trang | 18
Hình 1.8 Ti4 n trình phát ph+n m- m
Các hoWt ]mng truy&n thQng không ]V^ c thac hiPn trình ta nhV trong chu k phát trin thácn
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
19/234
Phát trin ph$n m&m b'ng UML trang | 19
R>i ro v- phát tri) n: 1mi ng+ phát trin có ]h kinh nghiPm? HT có làm chh hoàn toàn côngnghP ]ang sl dYng?
Tuy nhiên, luôn nh\ r 'ng cái r hi ro l\ n nh_t là không biXt ]V^ c r hi ro xiy ra f ]âu. NhiPm vY quin lý r hi ro là phii ld p k X hoWch làm giim r hi ro, sau ]ó là thac hiPn k X hoWch này.
1.5.2.3 - Khía c+nh h: tr = ti 0 n trình phát tri 3 n ph)n m5mTc góc nhìn hx tr ̂ , phát trin ph$n m&m ]V^ c thac hiPn trong bQ pha: Khio sát khi thi hay
khf i ]âu (inception), chi tiXt (elaboration), xây dang (construction) và chuyn giao (transition).Chu k phát trin ph$n m&m tc góc ]m này ]V^ c mô ti trên hình 1.8. Hình này còn cho th_y quanhP giba hai góc nhìn khác nhau: góc nhìn hx tr ̂ và góc nhìn k v thudt. DV\ i ]ây là mô ti các pha
phát trin ph$n m&m tcu góc nhìn hx tr ̂ .
Pha kh+ i \hu (hay kh$o sát kh$ thi). Pha này bao gym khio sát tho tr Vs ng, ]uc ti sin phemcuQi cùng, xác ]onh phWm vi da án. Khf i ]$u là bnt ]$u da án, tc khi ai ]ó cho r 'ng nXu có hP thQng ph$n m&m m\ i ] giúp ]. công viPc cha hT thì tQt h[ n. TiX p theo là ai ]ó nghiên cUu ýtVf ng. NgVs i quin lý (khách hàng) h|i bao lâu thì có ph$n m&m? Kinh phí là ph$n m&m là baonhiêu? Tính khi thi cha da án thX nào? TiXn trình tìm ra các câu tr i ls i cho các câu h|i này thumc
pha khf i ]$u. Khio sát tho tr Vs ng không phii là công viPc cha các k v sV ph$n m&m mà là côngviPc cha chuyên gia khio sát tho tr Vs ng và phân tích cWnh tranh. HT cQ gnng ]ánh giá viPc xâydang hP thQng ph$n m&m m\ i hay nâng c_ p ph$n m&m có szn có kinh tX không, giúp các công tyxác ]onh các Vu, nhV^ c ]im. Công viPc ]$u tiên f ]ây là hình dung bUc tranh t`ng quát cha sin
phem ] d{ dàng nhdn ra và tách các thành ph$n cho pha chi tiXt. Theo E. Morel thì bUc tranh này]V^ c mô ti nhV sau:
BO c tranh sAn phC m = Cái gì + Cho ai + Giá bao nhiêu
trong ]ó, Cái gì muQn ]& cd p ]Xn các ]uc tr Vng tông th v& sin phem; Cho ai xác ]onh kháchhàng sl dYng sin phem và Giá bao nhiêu da báo giá cha mxi sin phem mà ngVs i sl dYng có th ch_ p nhdn.
Thông thVs ng phii xây dang bAn mG u khái ni"m cho pha khio sát khi thi ] ]ánh giá tính r hiro cha các chUc ntng ph$n m&m, sUc mWnh và ]m phUc tW p cha hP thQng, công nghP m\ i s~ ápdYng. Tc ]ó mà các quyXt ]onh v& quan niPm sin phem ]V^ c hình thành. LoWi bin mju nàykhông c$n tuân thh các quy ludt phát trin ph$n m&m thông thVs ng nhV ]m tin cdy cao hay tQc ]m xl lý phii nhanh. 1ó ch} là maket hP thQng, mã trình cha nó s~ không ]óng vai trò gì trong sin
phem cuQi cùng. Tc ]ây, tính r hi ro cha da án ]V^ c nhdn biXt và pha khio sát thì s~ tiX p tYc cQ gnng ]ánh giá kinh phí cho da án và l^ i nhudn s~ ]em lWi. Da báo kinh phí luôn là công viPc khókhtn. SQ liPu cha da báo ban ]$u s~ không bao gis ]úng, ch} có ]V^ c sQ liPu ]úng khi k Xt thúc
phát trin hP thQng. Do vdy, viPc da báo này thVs ng ]V^ c hiPu ch}nh d$n d$n trong nhi&u bV\ c
khác.
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
20/234
Phát trin ph$n m&m b'ng UML trang | 20
Hình 1.9 ?: tin cI y c>a d 7 báo kinh phí d 7 án
V\ i các da án nh|, khio sát khi thi thVs ng ch} gi\ i hWn bf i danh sách yêu c$u ph$n m&m.V\ i các da án trung bình (thac hiPn khoing mmt ntm) thì pha khio sát khi thi s~ thac hiPn trongkhoing mmt tháng, bao gym ci viPc xây dang maket. V\ i các da án l\ n, viPc xây dang maket cóth là mmt da án con và nó c+ng có các bV\ c thac hiPn nhV mô ti trên.
Pha chi ti^t. Pha chi tiXt bnt ]$u b'ng phân tích yêu c$u và mô hình hóa l q nh vac. Nó cónhiPm vY laa chTn kiXn trúc, làm giim mUc ]m r hi ro cha da án, cuQi cùng là xác ]onh ]V^ c k X hoWch ]$y ]h cho các nhiPm vY phát trin hP thQng ph$n m&m. Tham gia vào pha này bao gymkiXn trúc sV hP thQng, chuyên gia l q nh vac, ngVs i sl dYng, ]Wi diPn cha nhóm kim tra ch_t lV^ ngvà thl nghiPm, ngVs i viXt tài liPu, chuyên gia v& các công cY phát trin ph$n m&m.
Phân tích yêu c$u ]V^ c thac hiPn trên c[ sf khio sát các tr Vs ng h^ p sl dYng. Các tr Vs ng h^ psl dYng ]V^ c mô ti theo khái niPm khách hàng, có th khác xa v\ i hình thUc mô ti cha k v nghP
ph$n m&m. Các phân tích viên có nhiPm vY chuyn ]`i chúng sang hình thUc g$n máy tính h[ n,thí dY, chuyn ]`i tr Vs ng h^ p sl dYng sang cmng tác cha các ]Qi tV^ ng trong l q nh vac Ung dYng.1ó là các ]Qi tV^ ng trong thX gi\ i thac, công tác v\ i nhau ] hình thành các chUc ntng trongtr Vs ng h^ p sl dYng. NgVs i sl dYng vjn có th hiu rõ trên hình thUc biu di{n này. Hình 1.10 làthí dY v& cài ]ut tr Vs ng h^ p sl dYng Bán hàng b'ng ba ]Qi tV^ ng h^ p tác là khách hàng, ngVs i
bán hàng và xe ô tô.
Hình 1.10 Cài 25t tr E ng hB p s. d 8ng
Bán hàng:Cmng tác
Xe ô tô
Bán hàng:Tr Vs ng h^ p sl dYng
Nhân viên bán hàng
Khách hàng
NgVs i sl dYng K v sV ph$n m&m
1m tin cdycha da báo
1m chính xác cha da báo
Kh|a sátkhi thi
Chi tiXt
Kinh phí thac tX
Xây dang Chuyn giao
Ths i gian
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
21/234
Phát trin ph$n m&m b'ng UML trang | 21
Pha chi tiXt cho lWi các sin phem sau ]ây:
Mô ti hành vi hP thQng dV\ i hình thUc tr E ng hB p s. d 8ng (use case), ngb cinh hP thQng, cáctác nhân (ngVs i sl dYng hP thQng), các k och bin Ung dYng và mô hình các l\ p Ung dYng.V\ i da án trung bình thì có th bao gym hàng chYc tr Vs ng h^ p sl dYng, khoing 100 k och
bin chính, vài tr tm k och bin phY và khoing tc 50 ]Xn 100 l\ p l q nh vac.
KiXn trúc, tài liPu mô ti kiXn trúc, mô ti r hi ro.K X hoWch ]$y ]h cho phát trin trong da án.
K X hoWch chi tiXt cho các vòng lu p, tiêu chí ]ánh giá, danh sách yêu c$u cho mxi vòng lu p vàk Xt qui ciu kim tra ch_t lV^ ng.
Có th bao gym các bin thio cha tài liPu hV\ ng djn sl dYng.
Ths i gian thac hiPn pha chi tiXt r _t khác nhau trong tcng da án, nó phY thumc vào loWi UngdYng và c[ sf hW t$ng laa chTn cho nó. Thí dY, nXu da án thac hiPn trong mmt ntm thì pha này s~ kéo dài tc hai ]Xn bQn tháng. Không nên ]ánh giá quá nhi&u ths i gian ] có ]V^ c phân tích hoànhio. Nên chuyn d$n sang giai ]oWn tiX p theo khi ]ã khio sát khoing 80% k och bin chính. Không
nên ]i quá chi tiXt khi khio sát k och bin ] tránh viPc m_t ]i tính tr cu tV^ ng trong giii pháp.Pha xây d[ ng. Pha xây dang ]& cd p ]Xn tiXn trình phát trin và kim tra ph$n m&m. Pha xây
dang tV[ ng Ung v\ i trin khai các vòng lu p. Mxi vòng lu p f ]ây cho lWi mmt mju khi thac `n]onh, ]$y ]h. 1ó là nhbng phiên bin ]$u tiên cha ph$n m&m. ViPc cài ]ut lu p bao gym các hoWt]mng nhV sau: Nhdn ra các k och bin hoàn ch}nh hay sl dYng lWi trong vòng lu p trên c[ sf khio sátcác r hi ro và k Xt qui cha vòng lu p tr V\ c ]ó; giao nhiPm vY cY th cho ]mi ng+ phát trin ] hoànthiPn vòng lu p; xác ]onh tiêu chí ]ánh giá, vo trí kim tra và hWn ]onh; td p h^ p lWi tài liPu ngVs i sl dYng và tài liPu trin khai.
Pha xây dang k Xt thúc khi hoàn thiPn ph$n m&m và ]V^ c kim nghiPm. Phii ]im bio r 'ng ph$n m&m ]yng bm v\ i mô hình. V\ i da án nh|, pha xây dang kéo dài tc hai ]Xn ba tháng. Trong
các nV\ c phát trin, da án hV\ ng ]Qi tV^ ng trung bình ]V^ c thac hiPn trong khoing mmt ntm v\ intm hay sáu nhân viên thì pha xây dang chiXm tc sáu ]Xn chín tháng. V\ i da án l\ n thì mxi tiuhP ]V^ c xem nhV da án con và chúng c+ng có các vòng lu p riêng.
Pha chuy(n giao. Pha chuyn giao bnt ]$u khi sin phem ph$n m&m hoàn thiPn ]V^ c chuyn]Xn cmng ]yng ngVs i sl dYng. MUc ]m phUc tW p cha pha này phY thumc vào các Ung dYng cY th.Pha chuyn giao bao gym sin xu_t hàng loWi, vdn chuyn, cài ]ut, hu_n luyPn, hx tr ̂ k v thudt và
bio trì. Tham gia vào pha này bao gym mmt vài ngVs i tc ]mi ng+ phát trin và thl nghiPmchV[ ng trình, kiXn trúc sV hP thQng làm viPc bán ths i gian và ngVs i có trách nhiPm cd p nhdt tàiliPu. Nhân viên hx tr ̂ k v thudt, nhân viên bán hàng, quing cáo s~ thac hiPn viPc kim tra.
Trong pha chuyn giao, công viPc phát trin ph$n m&m h$u nhV ]ã hoàn thành. MTi sin phem
]&u ]Wt ts i mUc chín muyi ] cung c_ p r mng rãi ]Xn ngVs i quin lý da án và ngVs i sl dYng. NgVs i sl dYng s~ ]V^ c cung c_ p: phiên bin beta và phiên bin cuQi cùng cha chV[ ng trình khi thac; tài liPu hV\ ng djn sl dYng, tài liPu trin khai và cài ]ut. NgVs i quin lý da án ]V^ c cungc_ p: có mô hình hP thQng cuQi cùng; tiêu chí ]ánh giá cho mxi vòng lu p; mô ti viPc phân phQi sin
phem; k Xt qui cha kim tra ch_t lV^ ng và các kinh nghiPm rút rra tc thac hiPn da án.
1.5.2.4 - Phân b> ho+t ?@ng trong các pha phát tri 3 n ph)n m5m
Mxi hoWt ]mng phát trin ph$n m&m là khác nhau trong các pha phát trin. Không có sa tV[ ngUng mmt – mmt giba các pha dV\ i góc nhìn hx tr ̂ v\ i các pha c` ]in cha chu k thác n
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
22/234
Phát trin ph$n m&m b'ng UML trang | 22
phân b` giba các chu k , ]im bnt ]$u và k Xt thúc cha chúng không tV[ ng Ung v\ i các gi\ i hWncác pha tc góc nhìn hx tr ̂ (hình 1.11).
Hình 1.11 S ! 23 các pha phát tri) n ph+n m- m
S[ ]y trên hình 1.11 cho ta th_y:
K X hoWch thac hiPn trong các pha phát trin.
Công viPc phân tích ]V^ c thac hiPn chh yXu trong pha chi tiXt, mmt ph$n cha nó ]V^ c thac hiPntrong pha khio sát khi thi và pha xây dang.
Ph$n l\ n kiXn trúc ]V^ c xác ]onh trong pha chi tiXt.
ViPc viXt mã trình (bao gym ci thl nghiPm các modun) bnt ]$u tc pha chi tiXt và ]V^ c thachiPn trong toàn bm pha cài ]ut.
ViPc bio trì ]V^ c xác ]onh ngay tc phiên bin ]$u tiên cha phân m&m, thông thVs ng nó bnt ]$utrong pha chi tiXt.
Thl nghiPm và kim tra ch_t lV^ ng tr i dài suQt toàn bm các pha và áp dYng cho mTi bin mjuchV[ ng trình.
Quin lý sa thay ]`i (phiên bin và c_u hình) lVu tr b loch sl toàn bm da án.
Dãy sQ bên phii hình 1.11 th hiPn phân b` công sUc thac hiPn các hoWt ]mng cha mmt da án phát trin ph$n m&m hV\ ng ]Qi tV^ ng do ntm nhân viên thac hiPn trong khoing mmt ntm. CáchoWt ]mng ]ó bao gym:
LI p k 4 ho;ch: bao gym các hoWt ]mng thí ]im da án, k X hoWch phát trin quin lý các tàinguyên da án.
Phân tích: Bao gym phát trin mô hình ]Qi tV^ ng và mô hình ngVs i sl dYng, ]uc ti t`ng th v&
da án, mô ti các tiêu chí ]ánh giá.
Ld p k X hoWch
Phân tích
KiXn trúc
Ld p trình
Bio trì
Thl nghiPm
Quin lý sa thay ]`i
Khf i ]$u Chi tiXt Chuyn giaoXây dang
15%
15%
15%
30%
5%
15%
10%Lu p
ban ]$uLu p#1
Lu p#2
Lu p#n
Lu p#n + 1
Lu p#n + 2
Lu p#m
5% 20% 65% 10%
10% 30% 50% 10%
Công sUc
Ths i gian
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
23/234
Phát trin ph$n m&m b'ng UML trang | 23
Ki4 n trúc: bao gym viXt mã trình c[ sf , thiXt k X t`ng quan v& Ung dYng và xây dang c[ chX chung
Cài 25t: Nhóm toàn bm thiXt k X chi tiXt, viXt mã trình và kim tra các mo]un chV[ ng trình.
Th. nghi"m và 2 ánh giá: Bao gym các hoWt ]mng chUng minh r 'ng ph$n m&m phù h^ p v\ i mYctiêu ban ]$u và các ti&u chí ]ánh giá.
QuAn lý thay 2[ i: LVu tr b tr Wng thái k Xt qui cha các giai ]oWn phát trin.Các dãy sQ phía dV\ i hình 1.11 ch} ra phân bQ công sUc và ths i gian cho các pha phát trin
ph$n m&m cha mmt da án c. trung bình.
Chính bin thân Ngôn ng 0 mô hình hóa tr 7 c quan UML không ]onh ngh q a tiXn trình phát trin ph$n m&m, nhVng UML và ph$n m&m công cY Rational Rose (còn gTi tnt là Rose) ]V^ c sl dYngcó hiPu qui trong mmt sQ công ]oWn cha tiXn trình phát trin ph$n m&m. Khi bnt ]$u da án, trong
pha khio sát khi thi, Rose ]V^ c sl dYng ] phát sinh mô hình tr Vs ng h^ p sl dYng. Trong pha chitiXt, Rose ]V^ c sl dYng ]{ xây dang biu ]y trình ta và biu ]y cmng tác, ch} ra các ]Qi tV^ ngtV[ ng tác v\ i nhau nhV thX nào. Biu ]y l\ p ]V^ c xây dang trong Rose ] th_y sa phY thumc vàonhau cha các ]Qi tV^ ng. Trong giai ]oWn ]$u cha pha xây dang, biu ]` thành ph$n ]V^ c hìnhthành nhs Rose ] ch} ra sa phY thumc cha các thành ph$n trong hP thQng và cho ta khi ntng phátsinh mã trình c[ bin. Trong suQt pha xây dang, Rose cho ta khi ntng chuyn ]`i ngV^ c mã trìnhthành mô hình ] tích h^ p mTi sa thay ]`i trong quá trình phát trin. Trong pha chuyn giao,
Rose ]V^ c sl dYng ] cd p nhdt các mô hình ]V^ c tWo ld p ra cho da án.
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
24/234
Phát trin ph$n m&m b'ng UML trang | 24
CH-/ NG 2
KHÁI QUÁT V= UML
UML là ngôn ngb mô hình hóa, tr V\ c hXt nó là mô ti ký pháp thQng nh_t, ngb ngh q a và các
]onh ngh q a v& metamodel (mô ti ]onh ngh q a chính ngôn ngb mô hình hóa), nó không mô ti v& phV[ ng pháp phát trin. UML ]V^ c sl dYng ] hin tho, ]uc ti, xây dang và làm tài liPu các vdt phem (artifacts) cha phân tích quá trình xây dang hP thQng ph$n m&m theo hV\ ng ]Qi tV^ ng.UML ]V^ c sl dYng cho mTi tiXn trình phát trin ph$n m&m, xuyên suQt vòng ]s i phát trin và]mc ld p v\ i các công nghP cài ]ut hP thQng.
2.1 GIJ I THIQU UML
UML là ngôn ngb chuen ] viXt k X hoWch chi tiXt ph$n m&m. Nó phù h^ p cho viPc mô hìnhhóa các hP thQng nhV hP thông tin doanh nghiP p, các Ung dYng phân tán trên n&n Web, hP thôngnhúng ths i gian thac… Các khung nhìn cha ngôn ngb ]V^ c quan sát tc góc ]m phát trin và trinkhai hP thQng, nó không khó hiu và d{ sl dYng. UML là ngôn ngb mô hình ]V^ c ci con ngVs ivà máy sl dYng. Nh\ lWi r 'ng phV[ ng pháp là cách c_u trúc rõ ràng suy ngh q và hành ]mng cha ai]ó. PhV[ ng pháp cho ngVs i sl dYng biXt làm cái gì, làm nhV thX nào, khi nào làm viPc ]ó và tWisao lWi làm nhV vdy. PhV[ ng pháp chUa mô hình và các mô hình này ]V[ c sl dYng ] mô ti cáigì ]ó. Sa khác nhau chh yXu cha phV[ ng pháp và ngôn ngb mô hình hóa là ngôn ngb mô hìnhhóa thiXu tiXn trình cho biXt làm cái gì, làm nhV thX nào, khi nào làm viPc ]ó và tWi sao lWi làmnhu vdy. NhV mTi ngôn ngb mô hình hóa khác, UML có ký pháp (các biu tV^ ng sl dYng trongmô hình) và td p các ludt sl dYng nó. Các ludt bao gym cú pháp, ngb ngh q a và pragmatic (ludthình thành câu có ngh q a).
C$n chú ý r 'ng ngay ci khi nnm chnc ngôn ngb UML, không có gì ]im bio s~ có mô hình
tQt. TV[ ng ta nhà vtn viXt tiu thuyXt b'ng ngôn ngb ta nhiên, ngôn ngb ch} là công cY, còn tiuthuyXt có hay hay không là phYc thumc hoàn toàn vào nhà vtn.
1 sl dYng UML có hiPu qui, ]òi h|i phii hiu ]V^ c ba v_n ]& chính sau [BRJ99]
Các ph$n tl c[ bin cha mô hình UML
Các qui ]onh liên k Xt các ph$n tl mô hình
Mmt sQ c[ chX chung áp dYng cho ngôn ngb này.
UML là ngôn ngb và nó ch} là mmt ph$n cha tiXn trình phát trin ph$n m&m, ]mc ld p v\ i tiXntrình. Tuy nhiên UML r _t phù h^ p v\ i các tiXn trình hV\ ng tr E ng hB p s. d 8ng (Use case – UC ),l_y kiXn trúc làm trung tâm, tV[ ng tác ttng d$n.
2.1.1.1 - UML là ngôn ng A
Ngôn ngb phii có tc vang và qui tnc t` h^ p các tc trong tc vang ] giao tiX p. Ngôn ngUc môhình là ngôn ngb có tc vang và qui tnc td p trung vào biu di{n v& mut vdt lý và khái niPm cha hP thQng. UML là ngôn ngb chuen công nghiP p ] ld p k X hoWch chi tiXt ph$n m&m. NhV ]ã trình bàytrong chV[ ng tr V\ c, không có mô hình nào là th|a mãn cho toàn bm hP thQng. Thông thVs ng ta
phii xây dang nhi&u mô hình cho mmt hP thQng, do vdy ngôn ngb phii cho phép biu di{n nhi&ukhung nhìn (views) khác nhau cha mmt kiXn trúc hP thQng trong suQt quá trình phát trin ph$nm&m. Tc vang và qui tnc ngôn ngb UML cho ta cách thUc xây dang mô hình và ]Tc mô hình,
nhVng không cho biXt mô hình nào c$n phii ]V^ c ld p và khi nào ld p chúng. NhiPm vY ]ó ]V^ cxác ]onh nhs qui trình phát trin ph$n m&m. Qui trình phát trin ph$n m&m s~ giúp chúng ta ]Va
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
25/234
Phát trin ph$n m&m b'ng UML trang | 25
ra quyXt ]onh hình thành vdt phem nào, hoWt ]mng nào và nhân viên nào s~ tWo ra, sl dYng vàquin lý chúng. 1yng ths i chúng ]V^ c sl dYng nhV thX nào vào viPc quin lý toàn bm da án.
2.1.1.2 - UML là ngôn ng A ?3 hi 3 n th B
V\ i nhi&u ld p trình viên, không có khoing cách tc ý tVf ng ]Xn cài ]ut mã trình. HT suy ngh q
v_n ]& và viXt ngay mã trình cho nó. Thac tX là có th tr ac tiX p viXt mã trình cho mmt sQ viPc, tr actiX p mô ti thudt toán và biu thUc b'ng vtn bin. Tuy nhiên, viPc giao tiX p giba mô hình kháiniPm v\ i nhbng cái khác trong vòng ]s i phát trin ph$n m&m s~ khó khtn khi mTi ngVs i khôngsl dYng chung mmt ngôn ngb cho da án. NXu da án hay t` chUc nào ]ó ]Va ra ngôn ngb riêng chahT thì ngVs i m\ i tham gia da án s~ gu p r _t nhi&u khó khtn. H[ n nba, mmt sQ v_n ]& cha hP thQng
ph$n m&m s~ ]V^ c hiu rõ ràng h[ n thông qua mô hình thay cho ngôn ngb ld p trình vtn bin. ThídY, có th suy ludn ra ý ngh q a phân c_ p l\ p nhVng không th hiu th_u ]áo nXu bnt ]$u tr ac tiX p
b'ng mã trình cha l\ p trong phân c_ p. TV[ ng ta, ta không th hiu rõ hP thQng trên n&n Web nXukhông có mô hình. UML giúp xây dang mô hình ] d{ dàng giao tiX p. Mmt sQ công viPc phù h^ pv\ i mô hình hóa btng vtn bin, mmt sQ công viPc khác lWi phù h^ p h[ n v\ i mô hình hóa b'ng ]y hTa. UML là ngôn ngb ]y hTa. V\ i nhi&u hP thQng, mô hình trong ngôn ngb ]y hTa d{ hiu h[ nso v\ i ngôn ngb ld p trình. Sau mxi biu tV^ ng ]y hTa cha ngôn ngb UML là ngb ngh q a. Vdy, khixây dang mô hình trong UML thì ngVs i phát trin khác hay các công cY hx tr ̂ mô hình hóa cóth hiu mô hình mmt cách r x ràng.
2.1.1.3 - UML làn ngôn ng A ?$c t 6
1uc ti là mô ti rõ ràng nhbng ]im m_u chQt cha v_n ]&. UML cho phép mô ti mô hìnhchính xác, không nhd p nh'ng và hoàn thiPn. UML hV\ ng t\ i ]uc ti thiXt k X, phân tích và quyXtdonh cái ]ut trong quá trình phát trin và trin khai hP thQng ph$n m&m.
2.1.1.4 - UML là ngôn ng A ?D xây d E ng
UML là không phii là ngôn ngb ld p trình tr ac quan, nhVng mô hình cha nó có th k Xt nQi tr actiX p t\ i các ngôn ngb ld p trình khác nhau. Có ngh q a r 'ng có th ánh xW mô hình trong UML t\ icác ngôn ngb ld p trình khác nhau nhV Java, C++ hay các bing CSDL quan hP, CSDL hV\ ng ]QitV^ ng. Ánh xW này cho khi ntng biXn ]`i thudn tc mô hình UML sang ngôn ngb ld p trình. 1yngths i, cho khi ntng biXn ]`i ngV^ c lWi tc cài ]ut v& mô hình UML; có ngh q a r 'ng nó cho khi ntnglàm viPc v\ i vtn bin hay ]y hTa mmt cách nh_t quán.
2.1.1.5 - UML là ngôn ng A tài liêu
UML hV\ ng t\ i làm tài liPu kiXn trúc hP thQng và các chi tiXt cha nó. UML cho khi ntng biudi{n yêu c$u, thl nghiPm, mô hình hóa các hoWt ]mng ld p k X hoWch và quin lý sin phem.
UML cho biXt gi\ i hWn cha hP thQng và các chUc ntng chính cha nó thông qua UC và tác nhân.
Trong UML, các UC ]V^ c mô ti b'ng biu ]y logic
Biu di{n c_u trúc t q nh cha hP thQng nhs biu ]y l\ p
Mô hình hóa các hành vi ]Qi tV^ ng b'ng biu ]y chuyn tr Wng thái
Phin inh kiXn trúc cài ]ut vdt lý b'ng biu ]y thành ph$n và biu ]y trin khai
Mf r mng các chUc ntng b'ng stereotypes
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
26/234
Phát trin ph$n m&m b'ng UML trang | 26
2.2 MÔ HÌNH KHÁI NIQM CiA UML
1 hiu ]V^ c UML ta phii hình dung ]V^ c mô hình khái niPm cha ngôn ngb. Nó ]òi h|i nnm]V^ c ba v_n ]& chính, bao gym các ph$n tl c[ bin ] xây dang mô hình, quy tnc liên k Xt các
ph$n tl mô hình và mmt sQ c[ chX chung sl dYng cho ngôn ngb. Khi nnm vbng ]V^ c các v_n ]& này thì ta có th ]Tc ]V^ c mô hình UML và tWo ra mmt vài mô hình c[ bin.
2.2.1 - Phhn tj mô hình trong UML
Các khQi hình thành mô hình UML gym ba loWi nhV sau: ph$n tc, quan hP và biu ]y. Ph$n tl là tr cu tV^ ng ctn bin trong mô hình, các quan hP gnn các ph$n tl này lWi v\ i nhau; còn biu ]ònhóm td p h^ p các ph$n tl. Trong UML có bQn loWi ph$n tl mô hình, ]ó là c_u trúc, hành vi,nhóm và chú thích. Các ph$n tl này là các khQi ] xây dang hV\ ng ]Qi tV^ ng c[ bin cha UML.
2.2.1.1 - Ph)n t F cG u trúc
Ph$n tc c_u trúc là các danh tc trong mô hình UML. Chúng là bm phdn t q nh cha mô hình ]
biu di{n các thành ph$n khái niPm hay vdt lý. Có biy loWi phen tl c_u trúc nhV mô ti sau ]ây:L- p. L\ p mô ti td p các ]Qi tV^ ng cùng chung thumc tinh, thao tác, quan hP và ngb ngh q a. Mmt
l\ p cài ]ut mmt hay nhi&u ghép nQi. Hình 2.1 biu di{n ]y hTa l\ p b'ng hình chb nhdt, thôngthVs ng chú có tên, thumc tính và thao tác.
Giao di3n. Giao diPn là td p h^ p các thao tác làm doch vY cha l\ p hay thành ph$n. Giao diPnmô ti hành vi th_y ]V^ c tc ngoài cha thành ph$n. Giao diPn biu di{n toàn bm hay mmt ph$nhành vi cha l\ p. Giao diPn ]onh ngh q a td p ]uc ti thao tác chU không ]onh ngh q a cài ]ut cha chúng.Ký pháp ]y hTa cha nó ]V^ c mô ti trên hình 2.2. Giao diPn thVs ng không ]Ung mmt mình mà]V^ c gnn vào l\ p hay thành ph$n thac hiPn giao diPn.
Hình 2.1 L
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
27/234
Phát trin ph$n m&m b'ng UML trang | 27
Hình 2.3 C :ng tác Hình 2.4 Use case
Tr/0 ng hV p sj d5ng (Use case). Mô ti chình ta các hành ]mng mà hP thQng s~ thac hiPn ] ]Wt ]V^ c mmt k Xt qui cho tác nhân nào ]ó. Tác nhân là nhbng gì bên ngoài tV[ ng tác v\ i hP thQng. Td p h^ p các UC cha hP thQng s~ hình thành các tr Vs ng h^ p mà hP thQng ]V^ c sl dYng. Sl dYng UC ] c_u trúc các ph$n tl có tính hành vi trong mô hình. Nó ]V^ c hiPn thac hóa bf i ph$ntl cmng tác nhV vca mô ti trên. Hình 2.4 là ký pháp ]y hTa cha UC.
L- p tích c[ c (active class). L\ p tích cac là l\ p có ]Qi tV^ ng làm chh mmt hay nhi&u l\ p tiXntrình hay luyng. L\ p tích cac ]V^ c xem nhV l\ p thông thVs ng nhVng ]Qi tV^ ng cha nó biu di{ncác thành ph$n có hành vi ]ang tV[ ng tranh v\ i các thành ph$n khác. Ký pháp ]y hTa cha nótV[ ng ta l\ p thông thVs ng nhVng biên chb nhdt ]V^ c tô ]dm. Thông thVs ng chúng c+ng có tên,thumc tính và thao tác.
Thành phhn. Thành ph$n biu di{n vdt lý mã nguyn, các tP p nho phân trong quá trình pháttrin hP thQng. Ký pháp ]y hTa cha nó ]V[ c biu di{n trên hình 2.5
Nút (node). Nút là th hiPn thành ph$n vdt lý, tyn tWi khi chV[ ng trình chWy và biu di{n cáctài nguyên tính toán. Có th ]ut td p các thành ph$n trên nút chuyn tc nút này sang nút khác. Nútcó th là máy tính, thiXt bo ph$n cUng. Ký pháp ]y hTa cha chúng ]V^ c mô ti trên hình 2.6.
Hình 2.5 C :ng tác Hình 2.6 Use case
2.2.1.2 - Ph)n t F hành vi
Ph$n tl hành vi là bm phdn ]mng cha mô hình UML. Chúng là các ]mng tc cha mô hình, biudi{n hành vi theo ths i gian và không gian. Có hai loWi chính là tV[ ng tác và tr Wng thái.
T/, ng tác. TV[ ng tác là hành vi bao gym td p các thông ]iP p trao ]`i giba các ]Qi tV^ ng
trong ngb cinh cY th ] thac hiPn mYc ]ích cY th. Hành vi cha nhóm ]Qi tV^ ng hay cha mxithao tác có th ]V^ c ch} ra b'ng tV[ ng tác. Biu di{ ]y hTa cha thông ]iP p ]V^ c th hiPn nhV trênhình 2.7, bao gym m+i tên và tên thao tác cha nó.
Hình 2.7 Thông 2 i" p Hình 2.8 Tr Wng thái
Máy trlng thái. Máy tr Wng thái là hành vi ch} ra tr dt ta các tr Wng thái mà ]Qi tV^ ng hay tV[ ngtác s~ ]i qua ] ]áp Ung sa kiPn. Hành vi cha l\ p hay cmng tác cha l\ p có th ]V^ c xác ]onh b'ng
Myfile.cpp
Ma $y chu #
Hin tho Chs
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
28/234
Phát trin ph$n m&m b'ng UML trang | 28
máy tr Wng thái. Máy tr Wng thái kích hoWt nhi&u ph$n tl, bao gym tr Wng thái, chuyn tiX p (tc tr Wngthái này sang tr Wng thái khác), sa kiPn và các hoWt ]mng (]áp Ung sa kiPn). Ký pháp ]y hTa chatr Wng thái ]V^ c th hiPn trên hình 2.8, nó chUa tên và tr Wng thái con nXu có.
2.2.1.3 - Ph)n t F nhóm
Ph$n tl nhóm là bm phdn t` chUc cha mô hình UML. Ch} có mmt ph$n tl thumc nhóm này cótên là gói ( package). Gói là c[ chX ]a ntng ] t` chUc các ph$n tl vào nhóm. Các ph$n tl c_utrúc, hành vi và ngay ci ph$n tl nhóm có th cho vào gói. Không giQng thành ph$n (component ),
ph$n tl nhóm hoàn toàn là khái niPm, có ngh q a r 'ng chúng ch} tyn tWi vào ths i ]im phát trin hP thQng chU không tyn tWi vào ths i gian chWy chV[ ng trình. Ký pháp ]y hTa cha nhóm ]V^ c biudi{n trên hình 2.9. gói giúp ta quan sát hP thQng f mUc t`ng quan h[ n.
Chú thích (annotaitonal )
Ph$n tl chú thích là bm phdn chú giii cha mô hình UML. 1ó là ls i giii thích áp dYng ] mô ti các ph$n tl khác trong mô hình. Ph$n tl chú thích ]V^ c gTi là ghi chú (note). Ký pháp ]y hTa
cha chúng th hiPn trên hình 2.9
Hình 2.9 Nhóm và l E i ghi chú
2.2.2 - Các quan h3 trong UML
Có bQn loWi quan hP trong UML, bao gym quan hP phY thumc, k Xt h^ p, khai quát và hiPn thachóa. Chúng là c[ sf ]{ xây dang mTi quan hP trong UML.
Ph5 thukc (dependency). PhYc thumc là quan hP ngb ngh q a hai ph$n tl trong ]ó thay ]`i ph$n tl ]mc ld p s~ tác ]mng ]Xn ngb ngh q a cha ph$n tl phYc thumc. Ký pháp ]y hTa cha nó ]V^ cth hiPn trên hình 2.10.
Hình 2.10 C :ng tác Hình 2.11 Use case
K ̂ t hV p (association). K Xt h^ p là quan hP c_u trúc ] mô ti td p liên k Xt (mmt liên k Xt là k XtnQi giba các ]Qi tV^ ng). Khi ]Qi tV^ ng cha l\ p này gli/nhdn thông ]iP p ]Xn/tc ]Qi tV^ ng cha l\ pkia thì ta gTi chúng là có quan hP k Xt h^ p. Ký pháp ]y hTa cha k Xt h^ p ]V^ c mô ti trên hình 2.11chúng có th chUa tên nhiPm vY và tính nhi&u (multiplicity). TY h^ p (aggregation) là dWng ]uc
biPt cha k Xt h^ p, nó biu di{n quan hP c_u trúc giba toàn th và bm phdn. Ký pháp ]y hTa cha nótrên hình 2.12. mmt dWng duc biPt cha td p h^ p là quan hP h^ p thành (composition), trong ]ó nXu
nhV ]Qi tV^ ng toàn th bo hhy b| thì các ]Qi tV^ ng bm phdn cha nó c+ng bo hhy b| theo. Biu di{n]y hTa cha td p h^ p nhV trên hình 2.13.
Các ludtthV[ ng mWi
1ây làchú thích
0..1.
Ông chh Nhân viên
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
29/234
Phát trin ph$n m&m b'ng UML trang | 29
Hình 2.12 T 8 hB p Hình 2.13 Use case
Khái quát hóa ( generalization). Khái quát hóa là quan hP ]uc biPt hóa/ khái quát hóa màtrong ]ó ]Qi tV^ ng cY th s~ k X thca các thumc tính và phV[ ng pháp cha ]Qi tV^ ng t`ng quát. Ký
pháp ]y hTa cha khái quát hóa ]V^ c mô ti trên hình 2.14.
Hình 2.14 Khái quát hóa Hình 2.4 HiPn thac
Hi3n th[ c hóa (realization). HiPn thac hóa là quan hP ngb ngh q a giba giao diPn và l\ p (haythành ph$n) hiPn thac l\ p; giba UC và h^ p tác hiPn thac UC. Biu di{n ]y hTa cha nó dV^ c mô ti trên hình 2.15.
2.2.3 - Ki(u dm li3uKiu db liPu không phii là ph$n tl mô hình trong UML. Kiu db liPu c[ sf là kiu db liPu
không có c_u trúc. UML có các kiu db liPu sau:
Boolean: là kiu ]Xm v\ i hai giá tr o True và False
Bi) u thO c (Expression): là xâu ký ta có cú pháp
Tính nhi- u (Multiplicity): là td p không r xng cha các sQ nguyên dV[ ng và ký ta * (] biu tho tính nhi&u vô hWn).
Tên (Name): là xâu ký ta cho khi ntng ]uc ti phen tl.
S & nguyên (Integer): là kiu c[ bin và là ph$n tl cha td p vô hWn các sô nguyên âm và dV[ ng. Xâu (String): là tr dt ta ciu các ký ta, ]V^ c sl dYng là tên.
ThE i gian (Time): xâu ký ta biu dirn giá tr o tuyPt ]Qi hay khoing tV[ ng tV[ ng ]Qi.
Không lý giAi (Uninterpreted): là ‘cái gì ]ó’ mà ý ngh q a cha nó phY thumc và l q nh vac.
2.2.4 - Bi(u \n UML
Biu ]y là biu di{n ]y hTa td p h^ p các ph$n tl mô hình. V~ biu ]y ] biu di{n hP thQng]ang xây dang dV\ i các góc ]m quan sát khác nhau. Có th hiu biu ]y là ánh xW cha hP thQng.Mmt ph$n tl có th xu_t hiPn trong mmt hay nhi&u biu ]y. V& lý thuyXt thì biu ]y có th baogym t` h^ p vô sQ ph$n tc ]y hTa và quan hP vca mô ti trên. UML cho khi ntng xây dang mmtvài kiu biu ]y tr ac quan ] biu di{n các khía cWnh khác nhau cha hP thQng, bao gym biu ]y tr Vs ng h^ p sl dYng (use case diagram), biu ]y trình ta ( sequence diagram), biu ]y cmng tác(collaboration diagram), biu ]y l\ p (class diagram), biu ]y biXn ]`i tr Wng thái ( state transitiondiagram), biu ]y thành ph$n (component diagram) và biu ]y trin khai (deployment diagram).Các loWi biu ]y nay s~ ]V^ c gi\ i thiPu tóm tnt dV\ i ]ây thông qua ví dY v& xây dang ph$n m&mcho hP thQng máy rút ti&n ta ]mng ( Automated Teller Machine – ATM ). Gii sl r 'ng ta có các máyrút ti&n ta ]mng ATM ]ut tWi các ]Vs ng phQ khác nhau trong thành phQ. Chúng ]V^ c nQi v\ i máytính trung tâm tWi tr Y sf ngân hàng thông qua hP thQng mWng máy tính. Máy tính trung tâm lVutr b và quin tr o CSDL khách hàng, xl lý mmt sQ công viPc chuyên ngành và yêu c$u ATM tr i ti&n.
Máy rút ti&n ta ]mng bao gym máy ]Tc th• tc, màn hình và bàn phím ] tV[ ng tác v\ i ngVs i sl dYng.
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
30/234
Phát trin ph$n m&m b'ng UML trang | 30
2.2.4.1 - Bi 3 u ?H tr I ng h= p sF d Kng (Use case – UC)
Biu ]y này ch} ra tV[ ng tác giba các UC và tác nhân. UC biu di{n các chUc ntng hP thQng.Tác nhân là con ngVs i hay hP thQng khác cung c_ p hay thu nhdn thông tin tc hP thQng ]ang ]V^ cxây dang. Biu ]y UC td p trung vào quan sát tr Wng thái t q nh cha các UC trong hP thQng. Vì UC
biu di{n yêu c$u hP thQng tc góc ]m ngVs i dùng, cho nên UC là chUc ntng mà hP thQng phii có.
Biu ]y loWi này chi ra tác nhân nào khf i ]mng UC và khi nào tác nhân nhdn thông tin tc hP thQng.
Biu ]y trên hình 2.16 ch} ra tV[ ng tác giba các UC và tác nhân cha hP thQng rút ti&n ta ]mngATM. Khách hàng (là tác nhân) có khi ntng khf i ]mng mmt sQ UC nhV Rút ti- n, G. i ti- n,Chuy) n ti- n, Xem s& d tài khoAn, Thay 2[ i s& cLn c
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
31/234
Phát trin ph$n m&m b'ng UML trang | 31
Hình 2.17 Bi) u 23 trình t 7 c>a h" thông ATM
2.2.4.2 - Bi 3 u ?H trình t E (sequence)
Biu ]y trình ta ch} ra luyng chUc ntng xuyên qua các UC, nó là biu ]y mô ti tV[ ng tác gibacác ]Qi tV^ ng và td p trung vào mô ti tr dt ta các thông ]iP p theo ths i gian. Thí dY tr Vs ng h^ p sl dYng Rút ti- n có th có nhi&u trình ta nhV khách hàng yêu c$u rút ti&n khi ]ã hXt ti&n trong tàikhoin, khi khách hàng nhd p nh$m PIN hay tr Vs ng h^ p hoWt ]mng bình thVs ng. Hình 2.17 là thídY k och bin bình thVs ng (nhd p dúng PIN, sQ ti&n trong tài khoin ]h sQ lV^ ng yêu c$u rút). Tácnhân tác ]mng UC này ]V^ c hin tho trên ]}nh biu ]y, thí dY tác nhân khách hàng trên hình 2.16.
Các ]Qi tV^ ng mà hP thQng c$n ] thac hiPn UC Rút ti- n c+ng ]V^ c ]ut trên ]}nh biu ]y.Mxi m+i tên trong biu ]y th hiPn thông ]iP p truy&n giba tác nhân và ]Qi tV^ ng hay ]Qi tV^ ngv\ i ]Qi tV^ ng ] thac hiPn chUc ntng cY th. Chú ý r 'ng biu ]y trình ta hin tho ph$n tl mô hình]Qi tV^ ng chU không phii l\ p. Thí dY, biu ]y này hin tho tên khách hàng cY th (ông Vtn) thay
cho hin tho l\ p Khách hàng .
Vaên : Khaùchhaøng
Vaên : Khaùchhaøng
Maùy ñoïc theûMaùy ñoïc theû Maøn hìnhATM
Maøn hìnhATM
Taøi khoaûnoâng Vaên
Taøi khoaûnoâng Vaên
Maùy traû tieànmaët
Maùy traû tieànmaët
1: Chaáp nhaän theû
2: Ñoïc soá theû
3: Khôûi ñoäng maøn hình
4: Môû taøi khoaûn
5: Yeâu caàu vaøo PIN
6: Nhaäp PIN (1234)
7: Kieåm tra PIN
8: Yeâu caàu giao dòch
9: Choïn giao dòch ruùt tieàn
10: Yeâu caàu nhaäp soá tieàn
11: Nhaäp soá tieàn (100000ñ)
12: Ruùt tieàn (100000ñ)
13: Kieåm tra taø i khoaûn (100000ñ)
14: Giaûm taø i khoaûn (100000ñ)
15: Traû tieàn (100000ñ)
16: Traû bieân nhaän
17: Ñaåy theû ra
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
32/234
Phát trin ph$n m&m b'ng UML trang | 32
UC rút ti&n bnt ]$u khi khách hàng b| th• tín dYng vào máy ]Tc th•. Máy ]Tc th• là ]QitV^ ng ]V^ c ch} ra trong hình chb nhdt trên ]}nh biu ]y. Sau ]ó máy ]Tc th• s~ ]Tc sQ th• tíndYng, mf ]Qi tV^ ng tài khoin cha ông Vtn và khf i ]mng màn hình cha hP thQng ATM. Màn hìnhhin tho d_u nhnc ] nhd p sQ hiPu khách hàng (PIN). Thí dY, khách hàng nhd p sQ PIN 1234. Mànhình kim tra PIN v\ i ]Qi tV^ ng tài khoin và th_y phù h^ p. Màn hình hin tho các chUc ntng ] ông Vtn laa chTn. Ông ta chTn chUc ntng Rút ti- n. Màn hình hin tho d_u nhnc ] ông Vtn nhd p
sQ ti&n s~ rút. Ông ta nhd p sQ ti&n rút 100000]. Màn hình thac hiPn rút ti&n tc tài khoin có ]h 100000]? Giim sQ dV trong tài khoin ]i 100000]. Yêu c$u máy tr i ti&n chi tr i 100000] ti&n mutvà in ra biên nhân. CuQi cùng yêu c$u máy ]Tc th• tr i lWi th• tín dYng cho ông Vtn.
Biu ]y trình ta trên ]ây mô ti toàn bm luyng sl lý cho UC rút ti&n thông qua thí dY tr Vs ngh^ p ông Vtn rút 100000]. Khách hàng có th th_y ]V^ c tiXn trình tác nghiP p cY th cha hT thôngqua biu ]y. Phân tích viên th_y ]V^ c luyng tiXn trình, ngVs i phát trin th_y ]V^ c các ]Qi tV^ ngc$n xây dang và các thao tác cho các ]Qi tV^ ng này, k v sV kim tra ch_t lV^ ng có th th_y chi tiXtcha tiXn trình ]{ xây dang qui trình thl nghiPm, kim tra. Biu ]y trình ta có ích cho mTi ngVs itham gia da án.
2.2.4.3 - Bi 3 u ?H c@ng tác (Collabaration)
Biu ]y cmng tác ch} ra các thông tin nhV biu ]y trình ta theo cách khác, nó td p trung vào t` chUc c_u trúc cha các ]Qi tV^ ng gli và nhdn thông ]iP p. Hình 2.18 là thí dY biu ]y cmng tác cha
biu ]y trình ta tV[ ng Ung mô ti trên hình 2.17. Biu ]y cmng tác và biu ]y trình ta thumc loWi biu ]y tV[ ng tác và chúng có th biXn ]`i qua lWi. Trong biu ]y cmng tác, ]Qi tV^ ng ]ut trongchb nhdt, tác nhân là ngVs i hình cây nhV trong biu ]y trình ta. Trong khi biu ]y trình ta biudi{n tV[ ng tác ]Qi tV^ ng và tác nhân theo ths i gian thì biu ]y cmng tác lWi không quan tâm ]Xnths i gian. Thí dY trên hình 2.18 cho th_y máy ]Tc th• ra lPnh mf tài khoin ông Vtn, ]Qi tV^ ng tàikhoin cha ông Vtn ra lPnh máy ]Tc tr i lWi th• tín dYng. Các ]Qi tV^ ng giao tiX p tr ac tiX p v\ inhau ]V^ c th hiPn b'ng ]Vs ng nQi.
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
33/234
Phát trin ph$n m&m b'ng UML trang | 33
Hình 2.18 S ! 23 c:ng tác ông V Ln rút 1000002
Tuy r 'ng biu ]y cmng tác cùng ch} ra các thông tin nhV biu ]y trình ta, nhVng biu ]y cmng
tác ]V^ c sl dYng vì lý do khác. K v sV kim tra ch_t lV^ ng và kiXn trúc sV hP thQng th_y ]V^ cviPc phân b` tiXn trình giba các ]Qi tV^ ng thông qua biu ]y loWi này. Thí dY, nXu biu ]y cmngtác có hình dWng nhV ngôi sao, v\ i nhi&u ]Qi tV^ ng giao tiX p v\ i ]Qi tV^ ng trung tâm thì kiXn trúcsV có th k Xt ludn r 'ng hP thQng quá phYc thumc vào mmt ]Qi tV^ ng và hT s~ ]i thiXt k X lWi phân
b` tiXn trình ] nâng cao hiPu su_t hP thQng.
2.2.4.4 - Bi 3 u ?H l ! p (class)
Biu ]y l\ p ch} ra tV[ ng tác giba các l\ p trong hP thQng. Các l\ p ]V^ c xem nhV k X hoWch chitiXt cha các ]Qi tV^ ng. Tài khoin ông Vtn là ]Qi tV^ ng; Tài khoAn là l\ p. L\ p Tài khoAn chUa
PIN khách hàng và hành vi Ki) m tra PIN . Mxi l\ p trong biu ]y l\ p ]V^ c tWo ra cho mxi loWi ]QitV^ ng trong biu ]y trình ta và cmng tác. Thí dY biu ]y l\ p cho UC Rút ti- n ]V^ c mô ti trên hình2.19
Vaên : Khaùchhaøng
Maùy traûtieàn
Maùy ñoïctheû
Maøn hinhATM
1: Chaáp nhaän theû
2: Ñoïc soá theû
Taøi khoaûn
oâng Vaên
3: Khôûi doäng maøn hinh
4: Môû taøi khoaûn
5: Yeâu caâu nhaäp PIN
6: Nhaäp PIN
7: Kieåm tra PIN8: Yeâu caâu giao dòch
9: Choïn giao dòch (Ruùt tieàn)
10: Yeâu caâu nhaäp soá tieàn
11: Nhaäp toång tieàn (100000ñ)
12: Ruùt tieàn (100000ñ)
13: Kieåm tra taøi khoaûn
14: Giaûm taøi khoaûn
15: Traû tieàn (100000ñ)
16: Traû bieân nhaän
17: Traû theû tín duïng
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
34/234
Phát trin ph$n m&m b'ng UML trang | 34
Hình 2.19 Bi) u 23 l a UC Rút ti- n
Biu ]y l\ p trên hình 2.19 ch} ra quan hP giba các l\ p hình thành nên UC Rút ti- n. Biu ]y này bao gym bQn l\ p, ]ó là Máy 2Rc th\ , Tài khoAn, Màn hình ATM , và Máy tr A ti- n. Mxi l\ ptrong biu ]y ]V^ c biu di{n b'ng hình chb nhdt chia làm ba ph$n: tên l\ p (thí dY tên l\ p TàikhoAn), thumc tính (thí dY l\ p Tài khoAn chUa ba thumc tính: S & tài khoAn, S & cLn c
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
35/234
Phát trin ph$n m&m b'ng UML trang | 35
Hình 2.20 Bi) u 23 bi4 n 2[ i tr ;ng thái c>a l
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
36/234
Phát trin ph$n m&m b'ng UML trang | 36
Hình 2.21 mô ti biu ]y thành ph$n cha hP thông ATM. Biu ]y trên hình 2.21 là các thành ph$n phía máy tr Wm trong hP thQng ATM. NXu quyXt ]onh cài ]ut hP thQng b'ng ngôn ngb C++thì trong mxi l\ p s~ có tiP p .cpp và tiP p .h riêng biPt, vdy mxi l\ p ]V^ c ánh xW ]Xn hai thành ph$nriêng trong biu ]y. Thí dY, l\ p Màn hình ATM ánh xW ]Xn hai thành ph$n ] th hiPn tiP p .h(header) và tiP p .cpp (thân l a ATM client
Thí dY máy rút ti&n ta ]mng ATM có hai luyng xl lý cho nên chúng có hai trình khi thac.Mmt trình là Máy tr ;m ATM , bao gym các thành ph$n Máy tr A ti- n, Máy 2Rc th\ và Màn hình
ATM . Trình thU hai là Máy ch> ATM , nó ch} có thành ph$n Tài khoAn. Biu ]y thành ph$n cha Máy ch> ATM trên hình 2.22.
ATM.exe
Maùy ñoïc theû Maùy traû tieàn
Maøn hình ATMMaùy ñoïc theû
Maøn hình ATM
Maùy traû tieàn
*.h
*.cpp
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
37/234
Phát trin ph$n m&m b'ng UML trang | 37
Hình 2.22 Bi) u 23 thành ph+n c>a máy ch> ATM
Có th có nhi&u biu ]y thành ph$n cho mmt hP thQng, sQ lV^ ng này phY thumc vào các hP thQng con cha chúng. Mxi hP thQng con là gói thành ph$n. T`ng quát, gói là td p h^ p các ]QitV^ ng. Thí dY này có hai gói, ]ó là gói Máy tr ;m ATM và gói Máy ch> ATM .
B_t k ai có trách nhiPm doch chV[ ng trình ]&u quan tâm ]Xn biu ]y loWi này. Biu ]y cho tath_y trình ta doch cha các mo]un trong hP thQng. 1yng ths i nó c+ng cho biXt rõ thành ph$n nào]V^ c tWo ra khi chWy chV[ ng trình. Biu ]y thành ph$n ch} ra ánh xW cha l\ p và các thành ph$ncài ]ut.
2.2.4.7 - Bi 3 u ?H tri 3 n khai (deployment)
Biu ]y trin khai ch} ra bQ trí vdt lý cha mWng và các thành ph$n hP thQng s~ ]ut f ]âu.Trong thí dY hP thQng ATM thì ATM bao gym nhi&u hP thQng con chWy tách biPt trên các thiXt bo vdt lý khác nhau hay còn gTi là nút. Biu ]y trin khai cha hP ATM ]V^ c th hiPn trên hình 2.23.Biu ]y trên hình này cho th_y Máy tr ;m ATM s~ chWy trên nhi&u ]oa ]im khác nhau. Chúnggiao tiX p v\ i Máy ch> ATM qua mWng riêng. Máy ch> ATM s~ giao tiX p v\ i các Máy ch> CSDL thông qua mWng LAN. NhV vdy, hP thQng ATM này có kiXn trúc ba t$ng: mmt t$ng là CSDL, mmtt$ng là máy chh, t$ng còn lWi là máy tr Wm.
Hình 2.23 Bi) u 23 tri) n khai c>a h" th& ng ATM
Thông qua biu ]y trin khai mà ngVs i quin lý da án, ngVs i sl dYng, kiXn trúc sV và ]mi ng+ trin khai hiu phân b` vdt lý cha hP thQng và các hP thQng con s~ ]V^ c ]ut f ]âu.
Taøi khoaûn Taøi khoaûn
CSDL
Ngaân haøng
Maùy chuû
ATM vuøng
Soá 1
Traøng TieànSoá 2
Ñoäi Caán
Maùy in
8/20/2019 Phan Tich Thiet Ke Huong Doi Tuong - Dang Van Duc
38/234
Phát trin ph$n m&m b'ng UML trang | 38
2.3 KIMN TRÚC HQ THDNG
KiXn trúc là tr cu tV^ ng hóa các khía cWnh quan tr Tng nh_t cha hP thQng. Nó cung c_ p khungtrong ]ó thiXt k X s~ ]V^ c xây dang. Nó mô ti t$m c. , sUc mWnh cha hP thQng, thu thd p các UCquan tr Tng nh_t và các yêu c$u Ung dYng. Nó th hiPn ph$n m&m s~ ]V^ c t` chUc nhV thX nào vàcung c_ p các giao thUc trao ]`i db liPu và giao tiX p giba các mo]un. ViPc hin tho, ]uc ti, xây
dang và làm tài liPu hP thQng ph$n m&m ]òi h|i hP thQng phii ]V^ c xem xét tc nhi&u khía cWnhkhác nhau. NgVs i sl dYng khác nhau (ngVs i sl dYng cuQi cùng, nhà ph
Recommended