GiaotrinhUML_Doan Van Ban

download GiaotrinhUML_Doan Van Ban

of 181

Transcript of GiaotrinhUML_Doan Van Ban

Phn tch, thit k hng i tng bng UML

on Vn Ban

MC LCMC LC ................................................................................................................. 1

LI NI U 5 CHNG I: PHNG PHP HNG I TNG V QU TRNH PHT TRIN H THNG PHN MM ......................................................... 7

1.1. Gii thiu............................................................................................. 7 1.2. Gii thiu v h thng phn mm ....................................................... 81.2.1 Cc c trng ca h thng .............................................................................. 9 1.2.2 Phn loi h thng phn mm ........................................................................ 11

1.3. S pht trin h thng ....................................................................... 131.3.1 Chu trnh pht trin h thng.......................................................................... 13 1.3.2 M hnh ho h thng..................................................................................... 18

1.4 Cc cch tip cn trong pht trin phn mm .................................... 21 1.4.1 Cch tip cn hng chc nng ........................................................... 21 1.4.2 Cch tip cn hng i tng ........................................................... 23 1.5. Qu trnh pht trin phn mm hp nht.......................................... 25 1.6. Kt lun ............................................................................................. 33 Cu hi v bi tp..................................................................................... 33CHNG II: UML V QU TRNH PHT TRIN PHN MM ............................. 35

2.1 Tng qut v UML ............................................................................. 352.1.1 Mc ch ca UML ........................................................................................35 2.1.2 Qu trnh pht trin phn mm thng nht vi UML..................................... 36 2.1.3 Gii thiu tng qut v UML .........................................................................37 2.1.4 Cc phn t ca UML ....................................................................................39

2.2 Cc khi nim c bn ca phng php hng i tng ............... 432.2.1 Cc i tng ................................................................................................. 43 2.2.2 Lp i tng................................................................................................. 44 2.2.3 Cc gi tr v cc thuc tnh ca i tng .................................................... 45 2.2.4 Cc thao tc v phng thc .......................................................................... 46

2.3 Cc mi quan h gia cc lp ............................................................ 462.3.1 S lin kt v kt hp gia cc i tng...................................................... 46

-1-

Phn tch, thit k hng i tng bng UML

on Vn Ban

2.3.2 Bi s.............................................................................................................. 48 2.3.3 Cc vai tr trong quan h ............................................................................... 49 2.3.4 Quan h kt nhp............................................................................................ 49 2.3.5 Quan h tng qut ho................................................................................... 51 2.3.6 K tha bi ..................................................................................................... 52 2.3.7 Quan h ph thuc.......................................................................................... 54 2.3.7 Quan h hin thc ho....................................................................................54

2.4 Cc gi................................................................................................ 55 2.5 Cc qui tc rng buc v suy din...................................................... 56 2.7 Rational Rose v qu trnh pht trin phn mm thng nht............. 58 Bi tp v cu hi ..................................................................................... 59CHNG III: BIU CA S DNG PHN TCH CC NHU CU CA H THNG................................................................................................. 60

3.1 nh ngha bi ton ............................................................................ 60 3.2 Phn tch v c t cc yu cu h thng ........................................... 633.2.1 Ca s dng..................................................................................................... 63 3.2.2 Tc nhn ........................................................................................................64 3.2.3 Xc nh cc ca s dng v cc tc nhn ...................................................... 65 3.2.3 c t cc ca s dng .................................................................................... 67

3.3 Biu ca s dng ............................................................................ 70 3.4 To lp biu ca s dng trong Rational Rose .............................. 74 Bi tp v cu hi ..................................................................................... 74CHNG IV: PHN TCH H THNG M HNH KHI NIM V BIU LP ....................................................................................................... 76

4.1 M hnh khi nim m hnh i tng............................................ 76 4.2 Xc nh cc lp i tng ................................................................ 77 4.3 Mi quan h gia cc lp i tng .................................................. 854.3.1 t tn cho cc quan h kt hp..................................................................... 86 4.3.2 Cc phng php xc nh cc mi quan h kt hp..................................... 86

4.4 Biu lp ......................................................................................... 884.4.1 Cc loi lp trong biu .............................................................................. 88 4.4.2 Mu rp khun (stereotype) ca cc lp ........................................................ 90 4.4.3 Biu lp trong H HBH............................................................................. 90

-2-

Phn tch, thit k hng i tng bng UML

on Vn Ban

4.5 Thuc tnh ca lp.............................................................................. 914.5.1 Tm kim cc thuc tnh................................................................................. 94 4.5.2 Cc thuc tnh ca cc lp trong HBH........................................................... 97

4.6 Cc phng thc ca lp ................................................................... 98 4.7 Ghi nhn trong t in thut ng ....................................................... 99 4.8 Thc hnh trong Rational Rose........................................................ 100 Cu hi v bi tp................................................................................... 101CHNG V: M HNH NG THI: CC BIU TNG TC V HNH NG TRONG H THNG .............................................................103

5.1 M hnh ho hnh vi h thng.......................................................... 1035.1.1 Cc s kin v hnh ng ca h thng ....................................................... 104 5.1.2 S trao i thng ip gia cc i tng .................................................. 106

5.2 Biu trnh t................................................................................. 1065.2.1 Cc thnh phn ca biu trnh t............................................................. 107 5.2.2 Xy dng biu trnh t ........................................................................... 108 5.2.3 Cc biu trnh t m hnh hnh ng ca h HBH ................................ 109 5.2.4 Ghi nhn cc hot ng ca cc lp i tng ........................................... 111 5.2.5 Cc hp ng v hot ng ca h thng ................................................... 112

5.3 Biu trng thi ............................................................................. 1145.3.1 Trng thi v s bin i trng thi..............................................................115 5.3.2 Xc nh cc trng thi v cc s kin ......................................................... 116 5.3.3 Xy dng biu trng thi .........................................................................117

5.4 Biu hot ng............................................................................. 119 5.5 S dng Rational Rose to lp biu trnh t ......................... 121 5.6 S dng Rational Rose to lp biu trng thi ...................... 122 Bi tp v cu hi ................................................................................... 123CHNG VI: THIT K CC BIU CNG TC V BIU THNH PHN CA H THNG ...............................................................................124

6.1 Cc biu cng tc ........................................................................ 125 6.2 Thit k cc biu cng tc v cc lp i tng ......................... 1296.2.1 Ca s dng thc t........................................................................................ 130 6.2.2 Mu gn trch nhim.................................................................................... 131 6.2.3 Mu gn trch nhim.................................................................................... 132

-3-

Phn tch, thit k hng i tng bng UML

on Vn Ban

6.3 Thit k h thng HBH .................................................................... 138 6.4 Thit k chi tit cc biu lp ....................................................... 144 6.5 Thit k biu cng tc v hon thin thit k biu lp........... 1526.5.1 Xy dng biu cng tc........................................................................... 152

6.5.2 Hon thin thit k biu lp .......................................................... 152 Bi tp v cu hi ................................................................................... 153CHNG VIII: KIN TRC H THNG V PHT SINH M TRNH ......... 154

7.1 Kin trc ca H thng..................................................................... 154 7.2 Biu thnh phn........................................................................... 157 7.3 Biu trin khai ............................................................................. 160 7.4 nh x cc thit k sang m chng trnh ....................................... 1617.4.1 To lp cc nh ngha lp t nhng thit k biu lp............................ 161 7.4.2 nh ngha hm t biu cng tc............................................................. 163

7.5 Danh sch mt s lp c nh ngha trong C++ .......................... 165 7.6 Thc hnh trn Rose........................................................................ 1687.6.1 Xy dng biu thnh phn ..................................................................... 168 7.6.2 Xy dng biu trin khai ........................................................................ 168 7.6.3 Pht sinh m trnh bng Rose...................................................................... 168

Bi tp v cu hi ................................................................................... 174TI LIU THAM KHO.............................................................................................. 176 Danh sch thut ng v cc t vit tt ........................................................................... 179

-4-

Phn tch, thit k hng i tng bng UML

on Vn Ban

LI NI UNhim v ca cng ngh thng tin ni chung, cng ngh phn mm ni ring l nghin cu cc m hnh, phng php v cng c to ra nhng h thng phn mm cht lng cao nhm p ng c nhng nhu cu thng xuyn thay i, ngy mt phc tp ca thc t. Nhiu h thng phn mm c xy dng theo cc cch tip cn truyn thng t ra lc hu, khng p ng c cc yu cu ca ngi s dng. Cch tip cn hng i tng gip chng ta c c nhng cng c, phng php mi, ph hp gii quyt nhng vn nu trn. Cch tip cn ny rt ph hp vi cch quan st v quan nim ca chng ta v th gii xung quanh v to ra nhng cng c mi, hu hiu pht trin cc h thng c tnh m, d thay i theo yu cu ca ngi s dng, p ng c cc tiu chun phn mm theo yu cu ca nn cng ngh thng tin hin i, gii quyt c nhng vn phc tp ca thc t t ra trong th k 21. Gio trnh ny trnh by cch s dng ngn ng m hnh ho thng nht UML (Unified Modeling Language) phn tch v thit k h thng theo cch tip cn hng i tng. Cch tip cn hng i tng t trng tm vo vic xy dng l thuyt cho cc h thng tng qut nh l m hnh c bn. H thng c xem nh l tp cc thc th tc ng qua li v trao i vi nhau bng cc thng ip thc hin nhng nhim v t ra. Cc khi nim mi ca m hnh h thng hng i tng v cc bc thc hin phn tch, thit k hng i tng c m t, hng dn thc hin thng qua ngn ng chun UML cng phn mm cng c h tr m hnh ho Rational Rose. Gio trnh c bin son theo nhu cu ging dy, hc tp v nghin cu mn hc Phn tch, thit k h thng ca ngnh Cng ngh thng tin; ni dung c bin son theo yu cu ca chng trnh o to CNTT v da vo kinh nghim ging dy mn hc ny qua nhiu nm ca tc gi trong cc kho o to cao hc, i hc ti cc i hc Quc gia H Ni, i hc Khoa hc Hu, i hc Nng, i hc Thi Nguyn, v.v. Gio trnh c trnh by trong by chng. Chng m u gii thiu nhng khi nim c s trong m hnh ho, qui trnh pht trin h thng v hai cch tip cn chnh pht trin cc h thng phn mm hin nay l hng th tc (hng chc nng) v hng i tng. Chng II gii thiu ngn ng m hnh ho thng nht UML v vai tr ca n trong qu trnh pht trin phn mm thng nht. Vn phn tch cc yu cu ca h thng v cch xy dng biu ca s dng c nu chng III. Chng IV trnh by nhng khi nim c bn v cc lp i tng v cc mi quan h ca chng trong khng gian bi ton. Biu lp cho php biu din tt c nhng khi nim mt cch trc quan v thng qua m hnh khi nim l biu lp, chng ta hiu r hn v h thng cn pht trin. Nhng biu tng tc, m hnh ng thi th hin cc hnh vi v ng x ca h thng c gii thiu chng V. Da vo nhng kt qu phn tch cc chng trc, hai chng tip theo nu cch thc hin thit k cc biu cng tc cho tng nhim v, tng ca s dng ca h thng v t c c nhng thit k lp, biu lp chi tit m t chnh xc

-5-

Phn tch, thit k hng i tng bng UML

on Vn Ban

cc nhim v c giao. Vn quan trng l la chn kin trc cho h thng v kh nng nh x nhng kt qu thit k sang m chng trnh trong mt ngn ng lp trnh hng i tng nh C++, Java, Visual Basic, Oracle, v.v. c cp chng VII. Bi ton xy dng H thng qun l bn hng c chn lm v d minh ho xuyn sut c gio trnh phn tch, thit k h thng phn mm theo cch tip cn hng i tng. Ngoi ra, phn ph lc gii thiu mt s ti liu phn tch, thit k cc bn tham kho thm. Tc gi xin chn thnh cm n cc bn ng nghip trong Vin CNTT, cc bn trong Khoa CNTT, i hc Khoa hc Hu, cc bn trong Khoa CNTT, i hc Quc gia H Ni, i hc Thi Nguyn v nhng ng gp qu bu, h tr thit thc v ng vin chn thnh hon thnh cun gio trnh ny. Mc d rt c gng, nhng gio trnh ny chc khng trnh khi nhng sai st. Chng ti rt mong nhn c cc kin gp ca cc thy c, nhng nhn xt ca bn c hiu chnh thnh cun sch hon thin. H Ni 2004 Tc gi

-6-

Phn tch, thit k hng i tng bng UML

on Vn Ban

CHNG IPHNG PHP HNG I TNG V QU TRNH PHT TRIN H THNG PHN MMChng I trnh by cc vn c s v: Cc khi nim v c trng c bn ca h thng phn mm, Qu trnh pht trin phn mm h thng, Cc phng php phn tch v thit k h thng.

1.1. Gii thiuThch thc ln nht ca loi ngi trong th k 21 l s hn n v mc phc tp trong hu ht cc lnh vc ca cuc sng. Khoa hc tnh ton, tin hc s ng vai tr rt quan trng trong vic tng thm tr tu, khoa hc cho con ngi nhm gii quyt nhng vn rt phc tp trong mi hot ng ca mnh. Nn kinh t ca chng ta th k ny cng phi chuyn sang nn kinh t tri thc, ngha l lun i mi v thay i, khc hn vi nn kinh t da vo vt cht. hiu, khng ch c phc tp ca nhng vn t ra trong nn kinh t tri thc v t a ra c nhng gii php gii quyt chng th chng ta phi c nhng phng php khoa hc v ng n, ph hp vi cc qui lut x hi v t nhin. Bn cnh vic nghin cu cc phng php thch hp i vi tng loi h thng, chng ta cng cn tm hiu tng b phn ca chng m hnh ho v xc nh c qu trnh hnh thnh ca mi h thng. Nh Pascal khng nh Khng th hiu c b phn nu khng hiu ton th v khng th hiu ton th nu khng hiu c tng b phn. Do vy, nhim v ca cc ngnh khoa hc l i nghin cu cc qu trnh, cc qui lut t nhin, cc tnh cht v hnh vi ca h thng m hnh ho chng v xut nhng phng php gii quyt nhng vn xy ra trong cc hot ng ca con ngi sao cho hiu qu nht. Nhim v ca cng ngh thng tin ni chung, cng ngh phn mm ni ring l nghin cu cc m hnh, phng php v cng c to ra nhng h thng phn mm cht lng cao trong phm vi hn ch v ti nguyn nhm p ng c nhng nhu cu thng xuyn thay i ca khch hng, gii quyt c nhng vn phc tp t ra trong thc t. Trc nhng nm 60, cha nh hnh cc phng php r rt cho qu trnh pht trin phn mm [19, 35]. Ngi ta xy dng h thng phn mm tng i tu tin, theo s thch v nhng kinh nghim c nhn. T nhng nm 70 ti nay, nhiu m hnh, phng php pht trin phn mm ln lt ra i. Mi phng php u c nhng u, nhc im ring, c th c a chung ni ny, mt s lnh vc no nhng li khng c a chung nhng ni khc. S a dng v phong ph trong cc phng php cng c ngha l c s khng thng nht, khng chun ho. Tuy nhin, tri qua thi gian, mt s phng php t ra c sc sng do dai,

-7-

Phn tch, thit k hng i tng bng UML

on Vn Ban

ang c p dng rng ri trong thc t. Trong s ny phi k trc ht nhng phng php c tn chung l cc phng php c cu trc [7, 9, 19]. Nhng phng php ny thng nht trong cng mt cch tip cn, l hng th tc v cng mt hng t duy (c cu trc v trn xung), nhng mi phng php li ch cp n mt phng din ca qu trnh pht trin phn mm. Do vy, ngi ta thng s dng mt s phng php lin hon, b sung cho nhau trong cng mt n pht trin phn mm phc tp. Ngy nay n vn cha lc hu, vn cn pht huy tc dng tt cho nhng h thng c cu trc vi nhng d liu tng i thun nht. Nhng do s phong ph v phng php lun v s a dng v s biu din cc khi nim (cc k hiu rt khc nhau, khng thng nht) dn ti kh c th a ra c mt qui trnh thng nht cho qu trnh pht trin phn mm. Mt khc, nhiu vn phc tp mi xut hin, khng ch yu cu tnh ton ln, x l phn tn, thng xuyn thay i cc yu cu m cn i hi phi qun l vi nhiu loi d liu khc nhau, d liu a phng tin, d liu m thanh, hnh nh, v.v. T nhng nm 90, xut hin mt tro lu mi, mnh lit: l s ra i ca cc phng php hng i tng [4, 5, 18, 21, 24]. Thay v cch tip cn da vo chc nng, nhim v ca h thng nh cc phng php c cu trc nu trn, phng php hng i tng li da chnh vo cc thc th (cc i tng). Cch tip cn hng i tng t trng tm vo vic xy dng l thuyt cho cc h thng tng qut nh l m hnh khi nim c s. H thng c xem nh l tp cc i tng tc ng vi nhau trn c s truyn thng ip thc thi cc nhim v t ra trong h thng . Cch tip cn ny rt ph hp vi cch quan st v quan nim ca chng ta v th gii xung quanh v to ra nhng cng c mi, hu hiu pht trin cc h thng c tnh m, d thay i theo yu cu ca ngi s dng, p ng c cc tiu chun phn mm theo yu cu ca nn cng ngh thng tin hin i, gii quyt c nhng vn phc tp ca thc t t ra trong th k 21. Mt iu rt quan trng trong cng ngh phn mm l cc khi nim mi ca m hnh h thng hng i tng, cc bc pht trin c th c t v thc hin theo mt qui trnh thng nht [2, 21] vi mt h thng k hiu chun, l ngn ng m hnh ho hp nht UML (Unified Modeling Language) [3, 10], c s h tr ca nhng phn mm cng c nh Rational Rose [17, 22]. Nhng cng c ny h tr rt hiu qu cho cc giai on phn tch, thit k v lp trnh hng i tng.

1.2. Gii thiu v h thng phn mmTheo t in Larousse, Tin hc l tp hp cc ngnh khoa hc, k thut, kinh t x hi vn dng vo vic x l thng tin v s t ng ho. Nu vy, c th nh ngha h thng tin hc l h thng c mc ch x l thng tin v c s tham gia ca my tnh. S tham gia ca my tnh trong mt h thng tin hc c th nhiu mc khc nhau: Mc thp: my tnh ch c s dng gii quyt mt s cng vic n l, nh son tho cc cng vn, bo co, cc bng biu thng k, ho n, chng t, bng tnh lng, v.v.

-8-

Phn tch, thit k hng i tng bng UML

on Vn Ban

Mc trung bnh: my tnh cng vi con ngi cng tc, phn cng vi nhau thc hin mt qui trnh qun l phc tp, v d, cc h thng thng tin qun l hnh chnh nh nc, cc dch v cng, cc h thng iu hnh tc nghip ang c xy dng trong Chng trnh Ci cch hnh chnh, n 112 ca Chnh ph giai on 2001 2005, v.v. Mc cao: my tnh ng vai tr ch cht trong qu trnh x l thng tin, con ngi khng can thit trc tip vo qu trnh ny m ch c nhim v cung cp thng tin u vo cho h thng v nhn c kt qu ra t my tnh nh cc chng trnh iu khin cc chuyn bay ca cc con tu v tr, cc chng trnh iu khin cc qu trnh sn xut t ng, nhng vn v tr tu nhn to, v.v. H thng tin hc (phn mm) do vy, c th c xem l t hp cc phn cng, phn mm c quan h qua li vi nhau, cng hot ng hng ti mc tiu chung thng qua vic nhn cc d liu u vo (Input) v sn sinh ra nhng kt qu u ra (Output) thng l cc dng thng tin khc nhau nh mt qu trnh x l, bin i c t chc. Mt cch hnh thc hn chng ta c th nh ngha phn mm [13, 19] bao gm cc thnh phn c bn nh sau:

H thng cc cu lnh (chng trnh) khi thc hin th to ra c cc hot ng v cho cc kt qu theo yu cu, Cc cu trc d liu lm cho chng trnh thc hin c cc thao tc, x l v cho ra cc thng tin cn thit, Cc ti liu m t thao tc v cch s dng h thng.1.2.1 Cc c trng ca h thng H thng thng tin cng ging nh cc h thng khc u c nhng c trng c bn nh sau:

1. Mi h thng u c tnh nht th ho v c tnh ny c th hin thng qua: Phm vi v qui m ca h thng c xc nh nh mt th thng nht v h thng khng thay i trong nhng iu kin nht nh. Khi nhng iu kin ny khng cn c m bo th h thng s phi bin i theo. To ra nhng c tnh chung thc hin c cc nhim v hay nhm t c cc mc tiu chung m tng b phn ring l khng th thc hin c. 2. Trong s hn n, phc tp ca th gii xung quanh, mt h thng c to ra v pht trin th phi c tnh t chc, c th bc. Ngha l: Mi h thng lun l h thng con ca mt h thng ln hn trong mi trng no v chnh n li bao gm cc h thng (cc thnh phn) nh hn.

-9-

Phn tch, thit k hng i tng bng UML

on Vn Ban

Gia cc thnh phn ca mt h thng c s sp xp theo quan h th bc hay mt trnh t nht nh. 3. Mi h thng u c cu trc: Chnh cu trc ca h thng quyt nh c ch vn hnh ca h thng v mc tiu m n cn t c. Cu trc ca h thng c th hin bi: Cc phn t c sp xp theo trt t cu thnh mt h thng. Mi quan h gia cc thnh phn lin quan ch yu n loi hnh, s lng, chiu, cng , v.v. Nhng h thng c cu trc cht thng c gi l h thng c cu trc. Cu trc ca h thng l quan trng, n c th quyt nh tnh cht c bn ca h thng. V d: kim cng v than u c cu to t cc phn t cc-bon, nhng khc nhau v cu trc nn: kim cng v cng rn chc, cn tham th khng c tnh cht . S thay i cu trc c th to ra nhng c tnh mi (sc tri mi, hay cn gi l nhng t bin) ca h thng v khi vt qu mt ngng no th c th dn ti vic ph v h thng c. V d: cng ngh bin i gen: chnh l lm thay i cu trc ca cc t bo sinh hc. Nhng nguyn l di truyn v bin i gen ca cng ngh sinh hc cng ang c nghin cu v ng dng trong cng ngh thng tin. 4. Mi h thng u bin i theo thi gian v khng gian: H thng no cng c mt i sng, t lc khai sinh n lc b ph b. Cc h thng phi lun thay i cho ph hp vi iu kin thc t theo thi gian v khng gian, ngha l mun tn ti v pht trin th phi bin i cho ph hp vi mi trng xung quanh theo qui lut tin ho ca t nhin (Darwin). S khc nhau ch yu l tc v kh nng nhn bit c v s thay i . Mi s thay i lun c mi lin h ngc (feedback) trong h thng v chu s tc ng ca qui lut nhn - qu. H thng c nh gi theo nhiu tiu ch khc nhau [7, 13, 19, 24] v cha c mt h thng tiu ch chun nh gi cho cc sn phm phn mm. y chng ta ch quan tm n mt s tnh cht quan trng nht hin nay ca cc sn phm phn mm. Mt sn phm ca cng ngh phn mm hin nay, ngoi nhng tnh cht chung ca cc h thng nu trn th phi c cc tnh cht sau: Tnh tin dng (usability): sn phm phi d s dng v tin li cho ngi dng, h tr thc hin cc cng vic tt hn. Mun t c mc ch ny th phn mm phi c giao din thn thin, ph hp, c y cc ti liu m t v c s h tr kp thi cho ngi s dng.

- 10 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Kh nng bo hnh v duy tr hot ng (Maintainability): H thng phi c kh nng cp nht, thay i, c kh nng m rng thc hin c nhng yu cu thay i ca khch hng. Tnh tin cy (Dependability): Tnh tin cy ca phn mm khng ch th hin kh nng thc hin ng nhim c thit k v c cc kh nng m bo an ton, an ninh d liu. H thng phi thc hin bnh thng ngay c khi c s kin bt thng xy ra. Tnh hiu qu (Efficiency): Phn mm khng gy ra s lng ph cc ti nguyn nh b nh, b x l,cc thit b ngoi vi, thi gian s dng, v.v.1.2.2 Phn loi h thng phn mm

Nu xt ti ni dung ca thng tin c x l v tnh cht ca mi trng ca h thng, ngi ta c th phn h thng phn mm theo cc loi khc nhau [24, 35] nh sau: 1. H thng thng tin qun l (Management Information System - MIS): h thng cung cp cc thng tin cn thit cho cng tc qun l v iu hnh ca mt doanh nghip, c quan, hay ni rng ra l cho mt t chc. Ht nhn ca h thng thng tin qun l l mt c s d liu (CSDL) cha cc thng tin phn nh tnh trng hin thi v cc kt qu hot ng sn xut, kinh doanh ca t chc . H thng thu thp cc thng tin t mi trng hot ng ca doanh nghip, kt hp vi cc thng tin c trong CSDL kt xut cc thng tin m cc nh qun l cn, ng thi thng xuyn cp nht d liu gi cho cc thng tin trong CSDL lun phn nh ng thc trng hin thi ca t chc . H thng thng tin qun l thng c phn loi theo hai mc: Mc thp, hay cn gi mc tc nghip, h thng ch c nhim v in ra cc bng biu, chng t giao dch theo nhng biu mu ca cch x l th cng (bng tay) vn lm. thng l cc h thng x l d liu nh cc h thng n hng, qun l nhn s, qun l thit b, vt t, k ton ti v, v.v. Mc cao, hay cn gi mc iu hnh, h thng phi a ra c cc thng tin c tnh cht chin lc v k hoch gip cho ngi lnh o a ra c cc quyt nh ng n trong cng tc iu hnh s hot ng ca n v, v d, cc h thng dch v cng, cc h thng thng tin tng hp, cc trang thng tin iu hnh tc nghip ca Tnh / Thnh ang c xy dng trong n 112 ca Chnh ph [36, 37, 38]. Nhng h thng nh th c th pht trin c thnh h h tr quyt nh (Decision Support System DSS). c im ca h h tr quyt nh l bn cnh CSDL cn c c s cc m hnh, cc phng php m khi la chn vn dng ln cc d liu s cho cc li gii, cho cc kt qu theo yu cu a dng ca ngi dng t ra cc tnh hung khi chn la cc quyt nh ca mnh.

- 11 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

2. Cc h thng k thut (Technical Systems), nhng h thng t ng ho sn xut hay cn gi l cc h thng iu khin cc qu trnh. l nhng h thng nhm x l v iu khin t ng cc qu trnh vn hnh cc thit b k thut trong sn xut, vin thng, qun s, cc qu trnh cng nghip, v.v. Nhng h thng ny thng phi lm vic theo phng thc x l thi gian thc. V mt kin trc vt l, bn cnh phn mm, h thng ny bao gm nhiu loi thit b tin hc a dng: t cc CPU ph dng, n cc my tnh chuyn dng, cc tmt lp trnh c, nh cc b iu khin logic lp trnh c (Programmable Logic Controller PLC), cc ng truyn, cc b cm bin, cc b chuyn i tn hiu A/N hay N/A. 3. Cc h thng nhng thi gian thc (Embedded Real_time System). H thng thc hin trn nhng thit b cng n gin v c nhng vo cc thit b khc nh: mobile phone, h thng hng dn li xe t, h thng iu khin cc dng c dn dng, v.v. Cc h thng ny thng c thc hin lp trnh mc thp, v cng thng thc hin x l theo thi gian thc. Trong cc h ny, thng thiu vng cc thit b ngoi vi thng dng nh mn hnh, a cng, v.v. 4. Phn mm h thng (System Software). Nhng h thng ny thit lp nn h tng k thut ca cc h thng my tnh, phc v cho cc phn mm ng dng chy trn . c th l h iu hnh, h qun tr CSDL, chng trnh dch, giao din phn mm ng dng API (Application Programming Interface), v.v. Chng khai thc cc dch v tng thp ca cc phn cng a cc giao din, cc dch v tng cao mc khi qut, d s dng cho cc chng trnh ng dng. 5. Cc h thng t ng ho vn phng (Automated Office Ssystems). T ng ho vn phng l cch tip cn nhm a my tnh vo hot ng vn phng, cho php thu tm mi cng vic tnh ton, giao lu, qun l thng tin, tt c vo trong cc ca s trn mn hnh my tnh, c ngay trn bn lm vic ca mi nhn vin vn phng. Mt h thng t ng ho vn phng phi cung cp c t nht mt s trong cc chc nng chnh nh sau: Th tn in t (E-mail): nhn/gi cc thng ip vn bn (Text messages) ti cc c nhn hay nhm ngi. Lch biu, k hoch cng tc, thng bo, v.v. X l vn bn: son tho, sa cha, mi trang, v.v. cc ti liu, biu , vn t v ho. Hi tho in t: hi tho nghe nhn t xa, trao i d liu, cc cuc to m hn hp d liu v ting ni, hnh nh, ni ghp cc mn hnh vi nhau.

- 12 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Cc h thng tch hp in thoi vi x l, tnh ton ca my tnh: ngi s dng c th truy cp ti cc h CSDL thng qua h thng in thoi (k c in thoi khng dy) c c nhng dch v cn thit.Thng thng, mi loi phn mm thng c nhng phng php, m hnh, cng c v qui trnh ring. Do vy, khi xy dng mt h thng phn mm chng ta cn phi xc nh xem n thuc loi no quyt nh la chn gii php cho thch hp v hiu qu nht.

1.3. S pht trin h thng Mi h thng (phn mm) u phi tri qua s khi u, trin khai, xy dng, kim nh, khai thc, bo tr v kt thc. Gi qu trnh l vng i hay ch nhn mng n s trin khai v xy dng, th gi l s pht trin ca h thng (System Develoment). xem xt x pht trin h thng, c hai kha cnh phi cp: S ni tip cc giai on trong qu trnh pht trin h thng, cn gi l chu trnh pht trin h thng, Cc phng tin nhn thc v c t h thng, cn gi l cc m hnh.1.3.1 Chu trnh pht trin h thng

C nhiu loi chu trnh pht trin phn mm khc nhau. Ivan Sommerville [19 ] ni ti nm loi chu trnh pht trin chnh. (i) M hnh thc nc (Waterfall). y l chu trnh pht trin u tin, c Royce xut nm 1970 m t s pht trin h thng tin hc. Qu trnh phn mm c chia thnh dy cc giai on (cc pha) lin tip t phn tch yu cu, phn tch cc thnh phn, thit k, lp trnh n th nghim v trin khai h thng. Giai on sau ch c bt u khi giai on trc hon thnh (khng c chm ln nhau). V vy chu trnh pht trin ny cn c gi l chu trnh tuyn tnh (Hnh 1.1). M hnh ny c thit lp theo cch tip cn hng chc nng v ph hp cho nhng d n ln, phc tp. Nhc im chnh ca chu trnh pht trin thc nc l ch khng c s quay lui. S quay lui l mt nhu cu rt t nhin trong qu trnh pht trin phn mm, v nhiu khi thc hin giai sau ngi ta mi pht hin ra nhng thiu st ca giai on trc v do vy cn phi quay li giai on chnh sa, b sung cho y . Ngoi ra, trong qu trnh pht trin phn mm theo chu trnh thc nc, khng c s tham gia trc tip ca ngi dng trong mi giai on, m ch tip xc vi h thng sau khi n c hon thnh.

- 13 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Xc nh bi ton v c t cc yu cu Phn tch Thit k M ho, lp trnh Kim nh Khai thc v bo tr

Hnh 1.1: Chu trnh thc nc

Chnh v vy m c nhiu phng php ci tin chu trnh thc nc, cho php s quay lui. Chng hn chu trnh pht trin hnh ch V [35], c AFCIQ (Association Franaise pour le Contrle Industriel de la Qualit) ngh bao gm c cc bc quay lui, v ngoi ra cn t tng ng cc pha kim th, tch hp trong giai on phn tch v thit k. Khi mt sai st c pht hin th giai on c xem li v chu trnh bt u li t . (ii) Chu trnh tng trng. Chu trnh tng trng, do D. R. Graham xut nm 1989, da trn cc bc tng trng dn, cho php hon thnh h thng tng phn mt. Mi bc tng trng thc hin mt tin trnh tuyn tnh gm cc bc phn tch, thit k, lp trnh, kim nh v chuyn giao tng phn (Hnh 1.2). Qu trnh ny lp li nhiu ln cho n khi c c phng n hon chnh cho c h thng.Tng trng 1 Phn tch Tng trng 2 Phn tch ... Hnh 1.2: Chu trnh pht trin phn mm tng trng Thit k Lp trnh Kim nh Chuyn giao phn 2 Thit k Lp trnh Kim nh Chuyn giao phn 1

R rng cch lm ny ch thch hp vi cc h thng c th chia ct v chuyn giao theo tng phn. (iii) Chu trnh xon c. Chu trnh xon c hay chu trnh lp c Bohm xut nm 1988, vi cc c im sau:

- 14 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Tin trnh lp li mt dy cc giai on nht nh, Qua mi vng lp, to ra mt nguyn mu v c hon thin dn, Nhn mnh s khc phc cc nguy c, nhng ri ro c th xut hin trong qu trnh pht trin phn mm, trong c nguy c bt ngun t cc sai st trong c t yu cu. Trong tin hc, phn mm nguyn mu (Prototype) l mt h thng: C kh nng lm vic c trn cc d liu thc, ngha l n vt qua giai on d n trn giy, v nh vy c th c nh gi bi ngi thit k hoc ngi s dng (khch hng). C th c pht trin thm tin ti h thng hon chnh, hoc c th lm c s pht trin h thng theo n t hng. c to lp nhanh v t tn km. Dng kim chng cc gi nh v nhu cu cn p ng, cc lc thit k v logic ca cc chng trnh. Nh vy, vic to ra cc nguyn mu nhanh chng l c ch trn nhiu phng din: Chnh xc ho cc yu cu ca h thng. Thng th cc nhu cu ca ngi dng khng c pht biu rnh mch, kh m c t c mt cch hon ton ng n. Mt nguyn mu s ph din c th, tng minh ngi dng nhn v cm nhn thy n c p ng trng nhu cu ca mnh hay khng. Pht hin c cc hnh vi lch lc, cc sai st. Trong thit k, c nhng im rt nhy cm, ngi thit k khng lng ht c mi tnh hung. Xy dng nguyn mu gip ta c th pht hin c hnh vi lch lc, cc khim khuyt ca h thng. nh gi c hiu nng ca h thng. Hiu nng ca h thng lin quan cht ch ti s thch ng ca ngn ng lp trnh, cc nn (Platform) v cc phn cng nh my tnh. Nguyn mu phn nh hiu nng tng i ca chng trnh v thng qua nguyn mu ta c th pht hin c nhng nguyn nhn c bn ca s chm chp t bn trong chng trnh, t nhng khu giao tip ngi/my, v.v. K thut lm nguyn mu ngy nay c thc hin c kh hiu qu l nh cc ngn ng lp trnh phi th tc, cn c gi l ngn ng th h th t, trong c cc ngn ng hng i tng. Hu ht cc sn phm phn mm ca Vit Nam, trong cc phn mm phc v chng trnh ci cch hnh chnh ca Chnh Ph cng c xy dng theo k thut lm nguyn mu ca chu trnh xon c. Ban iu hnh n 112 t chc v qun l thc hin rt

- 15 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

cht ch theo cc giai on, lun c trao i, tho lun, nh gi nhng kt qu t c v trn c s ra nhng ti liu mu [37, 38, 39] hng dn cc nhm thc hin nhm m bo phn mm lm ra ng theo yu cu. Vi vic lm nguyn mu th qu trnh pht trin phn mm s c nhiu khc bit so vi qu trnh tuyn tnh nu trn. Theo Jekins, Milton v Naumann (i hc Indiana City), chu trnh xon c c th chia thnh bn giai on cho mi vng lp chnh nh hnh 1.3.Xc nh mc tiu, phng n v cc rng buc nh gi cc phng n

Th nghim v nh gi nguyn mu

Thit k v to lp nguyn mu

Hnh 1.3: Chu trnh xon c

Giai on 1: Vi vng lp u tin th giai on ny nhm pht hin cc yu cu c bn, r nt nht thng qua cc phng php thng thng nh: kho st, phng vn, xem xt ti liu, v.v. Khng cn phi vt cn cc yu cu m nhanh chng chuyn sang giai on sau. T vng lp th hai, th giai on ny tp trung xc nh cc mc tiu ca vng lp hin ti, cc phng n v cc rng buc t kt qu vng lp trc. Giai on 2: nh gi cc phng n c th, pht hin ngay cc nguy c tim n v tm cch gii quyt chng. Cc nguy c, ri ro c th xut pht t pha nhng cng ngh mi, nhng i tc cnh tranh, t th trng v khch hng, t pha ngn sch, ti chnh, v.v., trn c s nh gi tnh kh thi ca d n. Giai on 3: Thit k v to lp nguyn mu, tp trung vo nhng iu ct yu. Giai on 4: Th nghim nguyn mu. Trc ht gii thiu n cho mt s ngi dng chn lc, thu thp cc ph phn, cc gp ca h. Tu theo mc quan trng, mt s iu chnh c thc hin nhng vng tip sau. Cc vng lp c tip tc cho n khi xt thy nguyn mu l tt th c th chuyn sang sn xut thc s. Mt s ngi cho rng cch lm vng vo ny s lm ko di thi gian. Song, nhng nghin cu nghim tc ca Bohm v Gray cho thy thi gian c th rt xung cn khong 45% so vi cch lm c.

- 16 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Nhng, s thnh cng ca tin trnh lp c th dn ti mt vi hu qu cn d chng. Ngi dng c th tho mn vi nhng phng n u v mun dng ngay, mc d khng phi l khng c nhng vic ng lm. Vic lm t liu, vn rt cn thit cho s hot ng v bo tr h thng sau ny, cng d b b qua hoc xem nh. Tm li, khun cnh chung ca k ngh phn mm c th c m t nh sau:Tp hp cc yu cu

Phn tch c cu trc Thit k c cu trc Lp trnh c cu trc

Lm bn mu 1

Phn tch hng i tng

M hnh xon c

...

Thit k hng i tng Lp trnh hng i tng

...

Lm bn mu n

Mu hnh vng th n

Lp trnh hng i tng

Kim nh

H thng hot ng

Bo tr

Hnh 1.4: Qu trnh pht trin phn mm Cc giai on ca qu trnh pht trin phn mm c th thc hin theo nhng phng php khc nhau tu thuc vo kh nng ca nhm thc hin d n. Tuy nhin, cho thng nht v hiu qu th tt nht l nn chn mt phng php, phng php hng chc nng hay hng i tng cho c qu trnh pht trin phn mm. Xu th hin nay l nn chn phng php hng i tng vi s h tr ca nhiu cng c hin i.

- 17 -

Phn tch, thit k hng i tng bng UML 1.3.2 M hnh ho h thng

on Vn Ban

Cc bc pht trin h thng nh tm hiu nhu cu, phn tch, thit k v lp trnh h thng tuy c khc nhau v nhim v v mc tiu, song chng cng c nhng c im sau: u phi i mt vi s phc tp ca cc bi ton ng dng, u l qu trnh nhn thc v din t s phc tp thng qua cc m hnh. Ni cch khc u l qu trnh thc hin m hnh ho hiu v xy dng h thng. (i) Nguyn l ch ng s phc tp. tm hiu mt th gii v cng phc tp, mi khoa hc thc nghim u phi vn dng nguyn l Chia tr (Devide and Conquer) v nguyn l Tru tng ho. Tru tng ho (hay cn gi l tru xut) l nguyn l nhn thc, i hi phi b qua nhng sc thi (ca mt ch ) khng lin quan ti ch nh hin thi, tp trung hon ton vo nhng sc thi lin quan n ch nh (T in Oxford). Ni cch khc, trc mt bi ton (mt ch ), ta tm quyn i hay tm l i nhng chi tit c tc dng rt t hoc khng c tc dng i vi li gii bi ton, nh hnh thnh c mt s din t n gin ho v d hiu, cho php chng ta gii quyt c bi ton thc t, ng theo bn cht ca n. (ii) M hnh (Model) l mt dng tru tng ho ca h thng thc. Ni cch khc, m hnh l hnh nh thc ti ca bi ton m chng ta ang xt, c din t mt mc tru tng ho no , theo mt quan im v c th hin bi mt hnh thc (bng vn bn, bng biu, biu , th, cng thc hay phng trnh ton hc, v.v.). Ngy nay cc phng php phn tch, thit k h thng u c xu hng s dng cc m hnh c th hin dng biu (diagrams). c bit phng php hng i tng vi UML, tt c cc khi nim, cc kt qu ca cc bc trong qu trnh pht trin phn mm u c th din t mt cch tng minh, trc quan bng cc biu [2, 3, 16] theo nhng k php thng nht. (iii) Mc ch ca m hnh ho. C nm mc ch chnh. 1. M hnh gip ta hiu v thc hin c s tru tng, tng qut ho cc khi nim c s gim thiu phc tp ca h thng. Qua m hnh chng ta bit c h thng gm nhng g? v chng hot ng nh th no?. Jean Piaget tng ni: Hiu tc l m hnh ho. Do vy, qu trnh pht trin phn mm nu trn chng qua l qu trnh nhn thc v din t h thng . cng l qu trnh thit lp, s dng v bin i cc m hnh. C mt m hnh ng s gip ta lm sng t nhng vn phc tp v cho ta ci nhn thu o v vn cn gii quyt.

- 18 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

2. M hnh gip chng ta quan st c h thng nh n vn c trong thc t hoc n phi c nh ta mong mun. Mun hiu v pht trin c h thng phn mm theo yu cu thc t th ta phi quan st n theo nhiu gc nhn khc nhau: theo chc nng s dng, theo cc thnh phn logic, theo phng din trin khai, v.v. 3. M hnh cho php ta c t c cu trc v hnh vi ca h thng hon chnh: + m bo h thng t c mc ch xc nh trc. Mi m hnh u n gin ho th gii thc, nhng phi m bo s n gin khng loi b i nhng nhng yu t quan trng. + Kim tra c cc qui nh v c php, ng ngha v tnh cht ch v y ca m hnh, khng nh c tnh ng n ca thit k, ph hp vi yu cu ca khch hng. Ngha l, m hnh ho l qu trnh hon thin v tin ho lin tc. 4. M hnh ho l nhm to ra khun mu (template) v hng dn cch xy dng h thng; cho php th nghim, m phng v thc hin theo m hnh. 5. M hnh l c s trao i, ghi li nhng quyt nh thc hin trong nhm tham gia d n pht trin phn mm. Mi quan st, mi s hiu bit (kt qu phn tch, thit k, lp trnh) u phi c ghi li chi tit phc v cho c qu trnh pht trin v bo tr h thng. V tnh hiu c ca m hnh m n tr thnh mt th ngn ng chung trao i gia nhng ngi cng tham gia trong mt d n cng nh gia nhng ngi pht trin phn mm vi khch hng. Nhn chung, khng c m hnh no l y . Mi h thng thc t c th c tip cn thng qua mt hay mt s m hnh khc nhau. Qu trnh m hnh ho h thng phn mm thng thc hin theo hai cp: + M hnh logic: m t cc thnh phn v mi quan h ca chng thc hin cc nhu cu h thng, + M hnh vt l: xc nh kin trc cc thnh phn v tng th ca h thng. Tm li, m hnh ho mt h thng phi thc hin theo c bn hng:

- 19 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Kin trc (cc thnh phn) vt l Cc chc nng, nhim v hoc qu trnh x l cc nhim v ca h thng. Cu trc tnh (d liu, thng tin c lu tr, x l v cc yu t to nn h thng.

Cch ng x (hnh vi), Cc phn ng tc thi Hnh 1.5: Cc hng m hnh ho

C bn yu t quan trng nh hng ti hiu qu ca d n pht trin phn mm: 1. Con ngi. Yu t quan trng nht hin nhin l s lng v trnh chuyn nghip ca nhng ngi tham gia pht trin phn mm, nhng ngi c kh nng nm bt, lm ch c nhng cng ngh mi, c kh nng hiu c bi ton ca lnh vc ng dng. 2. Bi ton (lnh vc ng dng). Hiu qu ca d n ph thuc nhiu vo phc tp ca bi ton vi nhng yu cu thng xuyn thay i, nhng i hi phc tp vi cc rng buc v d liu, thi gian v ti nguyn ca h thng. 3. Cng ngh: cc k thut, cng c h tr pht trin phn mm, 4. Cc ti nguyn: bao gm c cc phn cng nh my tnh, thit b ph tr, phn mm ng dng v ti chnh, ngn sch u t cho d n pht trin phn mm. Vn rt quan trng hin nay trong cng ngh phn mm l cn phi c nhng cng c h tr thc hin m hnh ho trc quan theo mt chun d hiu gip cho vic trao i gia nhng ngi pht trin phn mm hiu qu v d dng hn. Cc nh tin hc rt c gng hnh thnh cc cng c thc hin m hnh ho trc quan. T nhng khi nim, k php quen thuc ca Booch, Ericsson, OOSE/Objectory (Jacobson), OMT (Rumbaugh) [16] ngi ta xy dng c mt ngn ng m hnh hp nht UML [2, 3] c nhiu ngi chp nhn v s dng nh mt ngn ng chun trong phn tch v thit k h thng phn mm theo cch tip cn hng i tng. Hu ht cc hng sn xut phn mm ln nh: Microsoft, IBM, HP, Oracle, v.v u s dng UML nh l chun cng nghip phn mm.

- 20 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

1.4 Cc cch tip cn trong pht trin phn mm thc hin mt d n pht trin phn mm th vn quan trng u tin chc s l phi chn cho mt cch thc hin cho thch hp da trn nhng yu t nu trn. C hai cch tip cn c bn pht trin phn mm: cch tip hng chc nng (Functional-Oriented) v cch tip cn hng i tng (ObjectOriented Approach). 1.4.1 Cch tip cn hng chc nng Phn ln cc chng trnh c vit bng ngn ng lp trnh nh C, hay Pascal t trc n nay u c thc hin theo cch tip cn hng chc nng (Functional Oriented) hay cn c gi l cch tip cn hng th tc (Procedure-Oriented). Cch tip cn ny c nhng c trng sau [9, 24]: (i) Da vo chc nng, nhim v l chnh. Khi kho st, phn tch mt h thng chng ta thng tp trung vo cc nhim v m n cn thc hin. Chng ta tp trung trc ht vo vic nghin cu cc yu cu ca bi ton xc nh cc chc nng chnh ca h thng. V d khi cn xy dng h thng qun l th vin th trc ht chng ta thng i nghin cu, kho st trao i v phng vn xem nhng ngi th th, bn c cn phi thc hin nhng cng vic g phc v c bn c v qun l tt c cc ti liu. Qua nghin cu h thng qun l th vin, chng ta xc nh c cc nhim v chnh ca h thng nh: qun l bn c, cho mn sch, nhn tr sch, thng bo nhc tr sch, v.v. Nh vy, khi nghin cu hiu r c bi ton v xc nh c cc yu cu ca h thng th cc chc nng, nhim v ca h thng gn nh l khng thay i sut trong qu trnh pht trin tip theo ngoi tr khi cn phi kho st li bi ton. Da chnh vo chc nng (thut ton) th d liu s l ph v bin i theo cc chc nng. Do , h thng phn mm c xem nh l tp cc chc nng, nhim v cn t chc thc thi. (ii) Phn r chc nng v lm mn dn theo cch t trn xung (Top/Down). Kh nng ca con ngi l c gii hn khi kho st, nghin cu hiu v thc thi nhng g m h thng thc t i hi. thng tr (qun l c) phc tp ca nhng vn phc tp trong thc t thng chng ta phi s dng nguyn l chia tr, ngha l phn tch nh cc chc nng chnh thnh cc chc nng n gin hn theo cch t trn xung. Qui trnh ny c lp li cho n khi thu c nhng n th chc nng tng i n gin, hiu c v thc hin ci t chng m khng lm tng thm phc tp lin kt chng trong h thng. phc tp lin kt cc thnh phn chc nng ca h thng thng l t l nghch vi phc tp ca cc n th. V th mt vn t ra l c cch no bit khi no qu trnh phn tch cc n th chc nng hay cn gi l qu trnh lm mn dn ny kt thc. Thng thng th qu trnh thc hin phn r cc chc nng ca h thng ph thuc nhiu vo phc hp

- 21 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

ca bi ton ng dng v vo trnh ca nhng ngi tham gia pht trin phn mm. Mt h thng c phn tch da trn cc chc nng hoc qu trnh s c chia thnh cc h thng con v to ra cu trc phn cp cc chc nng. Chng ta c th khng nh l cc chc nng ca hu ht cc h thng thng tin qun l u c th t chc thnh s chc nng theo cu trc phn cp c th bc. (iii) Cc n th chc nng trao i vi nhau bng cch truyn tham s hay s dng d liu chung. Mt h thng phn mm bao gi cng phi c xem nh l mt th thng nht, do cc n th chc nng phi c quan h trao i thng tin, d liu vi nhau. Trong mt chng trnh gm nhiu chng trnh con (thc hin nhiu chc nng khc nhau) mun trao i d liu c vi nhau th nht thit phi s dng d liu liu chung hoc lin kt vi nhau bng cch truyn tham bin. Mi n th chc nng khng nhng ch thao tc, x l trn nhng d liu cc b (Local Data) m cn phi s dng cc bin chung, thng l cc bin ton cc (Global Data). Vi vic s dng nhng bin ton cc th nhng bt li trong qu trnh thit k v lp trnh l kh trnh khi. i vi nhng d n ln, phc tp cn nhiu nhm tham gia, mi nhm ch m nhn mt s chc nng nht nh v nh th khi mt nhm c yu cu thay i v d liu chung s ko theo tt c cc nhm khc c lin quan cng phi thay i theo. Kt qu l khi c yu cu thay i ca mt n th chc nng s nh hng ti cc chc nng khc v do s nh hng ti hiu xut lao ng ca cng vic. M nhu cu thay i cc chc nng khi phn tch l tt yu v thng rt hay thay i. (iv) Tnh m (Open) v thch nghi ca h thng c xy dng theo cch tip cn ny l thp v: H thng c xy dng da vo chc nng l chnh m trong thc t th chc nng, nhim v ca h thng li hay thay i. m bo cho h thng thc hin c cng vic theo yu cu, nht l nhng yu cu v mt chc nng li b thay i l cng vic phc tp v rt tn km. V d: gim c th vin yu cu thay i cch qun l bn c hoc hn na, yu cu b sung chc nng theo di nhng ti liu mi m bn c thng xuyn yu cu t mua, v.v. Khi vn bo tr h thng phn mm khng phi l vn d thc hin. Nhiu khi c nhng yu cu thay i c bn m vic sa i khng hiu qu v v th i hi phi phn tch, thit k xy dng li mi h thng. Cc b phn ca h thng phi s dng bin ton cc trao i vi nhau, do vy, kh nng thay i, m rng ca chng v ca c h thng l b hn ch. Nh trn phn tch, nhng thay i lin quan n cc d liu

- 22 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

chung s nh hng ti tt c cc b phn lin quan. Do , mt thit k tt phi d hiu v sa i ch c hiu ng cc b. (v) Kh nng ti s dng (Reuse) b hn ch v hu nh khng h c ch k tha (Inheritance). c thch nghi tt th mt thnh phn phi l t cha. Mun l t cha hon ton th mt thnh phn khng nn dng nhiu cc thnh phn ngoi lai. Tuy nhin, iu ny li mu thun vi kinh nghim ni rng cc thnh phn hin c nn l dng li c. Vy l cn c mt s cn bng gia tnh u vit ca s dng li cc thnh phn ( y ch yu l cu trc v cc hm) v s mt mt tnh thch ng c ca chng. Cc thnh ca h thng phi kt dnh (Cohension) nhng phi tng i lng d thch nghi. Mt trong c ch chnh h tr d c c tnh thch nghi l k tha th cch tip cn hng chc nng li khng h tr. l c ch biu din tnh tng t ca cc thc th, n gin ho nh ngha nhng khi nim tng t t nhng s vt c nh ngha trc trn c s b sung hay thay i mt s cc c trng hay tnh cht ca chng. C ch ny gip chng ta thc hin c nguyn l tng qut ho v chi tit ho cc thnh phn ca h thng phn mm. 1.4.2 Cch tip cn hng i tng khc phc c nhng vn tn ti nu trn th chng ta cn phi nghin cu phng php, m hnh v cng c mi, thch hp pht trin phn mm. M hnh hng i tng [4, 5, 10, 12, 13, 14, 18, 24, 32, 33] c th gip chng ta vt c khng hong trong cng ngh phn mm v hy vng s a ra c nhng sn phm phn mm thng mi cht lng cao: tin cy, d m rng, d thch nghi, cng trng v ph hp vi yu cu ca khch hng. Cch tip cn hng i tng c nhng c trng sau. (i) t trng tm vo d liu (thc th). Khi kho st, phn tch mt h thng chng ta khng tp trung vo cc nhim v nh trc y m tm hiu xem n gm nhng thc th no. Thc th hay cn gi l i tng, l nhng g nh ngi, vt, s kin, khi nim, v.v. m chng ta ang quan tm, hay cn phi xem xt v x l. V d, khi xy dng H thng qun l th vin th trc ht chng ta tm hiu xem n gm nhng lp i tng hoc nhng khi nim no. l cc lp Sch, Tp_Ch, Bn_c, v.v. (ii) Xem h thng nh l tp cc thc th, cc i tng. hiu r v h thng chng ta phn tch h thng thnh cc n th n gin hn. Qu trnh ny c lp li cho n khi thu c nhng n th tng i n gin, d hiu v thc hin ci t chng m khng lm tng thm phc tp khi lin kt chng trong h thng. Cc i tng trong h thng lin quan vi nhau theo cc quan h: kt hp (Association), kt nhp (Aggregation), k tha (Inheritance) v s ph thuc (Dependency) [25, 32]. Phng php hng i tng cho php

- 23 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

c t ht c tt c cc mi quan h ca cc i tng ng vi bn cht t nhin nh trong th gii thc. (iii) Cc lp i tng trao i vi nhau bng cc thng ip (Message). Theo ngha thng thng th lp (Class) l nhm mt s ngi, vt c nhng c tnh tng t nhau hoc c nhng hnh vi ng x ging nhau. Trong m hnh i tng, khi nim lp l cu trc m t hp nht cc thuc tnh (Attributes), hay d liu thnh phn (Data Member) th hin cc c tnh ca mi i tng v cc phng thc (Methods), hay hm thnh phn (Member Function) thao tc trn cc d liu ring v l giao din trao i vi cc i tng khc xc nh hnh vi ca chng trong h thng. Khi c yu cu d liu thc hin mt nhim v no , mt i tng s gi mt thng ip (gi mt phng thc) cho i tng khc. i tng nhn c thng ip yu cu s phi thc hin mt s cng vic trn cc d liu m n sn c hoc li tip tc yu cu nhng i tng khc h tr c nhng thng tin v tr li cho i tng yu cu. Vi phng thc x l nh th th mt chng trnh hng i tng thc s c th khng cn s dng bin ton cc na [33]. (iv) Tnh m v thch nghi ca h thng cao hn v: H thng c xy dng da vo cc lp i tng nn khi c yu cu thay i th ch thay i nhng lp i tng c lin quan hoc b sung thm mt s lp i tng mi (c th k tha t nhng lp c trc) thc thi nhng nhim v mi m h thng cn thc hin. V d: Gim c th vin yu cu b sung chc nng theo di nhng ti liu mi m bn c thng xuyn yu cu t mua, ta c th b sung thm lp mi theo di yu cu: lp Yu_Cu. Trong cc chng trnh hng i tng c th khng cn s dng bin ton cc nn mi sa i ch c hiu ng cc b. (v) H tr s dng li v c ch k tha. Cc lp i tng c t chc theo nguyn l bao gi (Encapsulation) v che giu thng tin (Information Hidding) tng thm hiu qu ca k tha v tin cy ca h thng. Cc ngn ng lp trnh hng i tng nh: C++, Java [33], C#, Delphi, v.v. u h tr quan h k tha.u im chnh ca phng php hng i tng:

i tng l c s kt hp cc n th c th s dng li thnh h thng ln hn, to ra nhng sn phm c cht lng cao. y cng l c s thc hin theo cng ngh thnh phn. Qui c truyn thng ip gia cc i tng m bo cho vic m t cc giao din gia cc i tng thnh phn bn trong h thng v nhng h thng bn ngoi tr nn d dng hn. iu gip cho vic phn chia

- 24 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

nhng d n ln, phc tp phn tch, thit k theo cch chia nh bi ton thnh cc lp i tng hon ton tng ng vi quan im hng ti li gii ph hp vi th gii thc mt cc t nhin. Nguyn l bao gi, che giu thng tin h tr cho vic xy dng nhng h thng thng tin an ton v tin cy. Nguyn l k tha da chnh vo d liu rt ph hp vi ng ngha ca m hnh trong ci t, khng nhng c th gim thiu c thi gian thc hin m cn lm cho h thng c tnh m, tin cy hn. Phng php hng i tng, nht l nguyn l k tha cho php d dng xc nh nhng b phn c bn, xy dng cc lp nh l cc n v c s ca h thng v s dng ngay khi chng m khng cn phi hon thin, khng i hi phi thc hin y tt c cc chc nng (n th m) v sau c th m rng n v khng lm nh hng ti cc n th khc, khng i hi phi thit k li. nh hng i tng cung cp nhng cng c, mi trng mi, hiu qu pht trin phn mm theo hng cng nghip v h tr tn dng c nhng kh nng k tha, s dng li phm vi din rng xy dng c nhng h thng phc tp, nhy cm nh: h thng ng, h thng thi gian thc, h thng a phng tin, v,v. Xo b c h ngn cch gia cc pha phn tch, thit k, ci t v kim nh trong qu trnh xy dng phn mm. Nhiu kt qu (sn phm) ca cc giai on trc c th s dng ngay nhng giai on sau.Hn na, hiu r v nhng vn cn m hnh ho th ngoi nhng khi nim c s ca phng php lun th cn phi hiu r cc tnh cht, nhng c trng ca nhng h thng, phng php . Vi mc ch , chng ta c th tm hiu thm mt s kt qu nghin cu v nhng kh nng c t v vic x l thng tin ca cc h thng [23, 31, 36], tp trung vo cc h thng hng i tng, nghin cu cc hnh vi, cc tnh cht m bo tnh nht qun thng tin ca m hnh h thng [25, 26, 27, 28] v nhng vn chuyn i tng ng gia cc m hnh d liu [30, 32, 34].

1.5. Qu trnh pht trin phn mm hp nht Phn mm l mt sn phm c pht trin hay c k ngh ho v c ch to tng t nh cc sn phm cng nghip (phn cng) khc. Pht trin phn mm v ch to phn cng cng c nhng im tng ng: u l sn phm v cht lng ca chng ph thuc nhiu vo thit k, hn na li ph thuc c bn vo con ngi. Tuy nhin, phn mm v phn cng li c nhiu im c trng rt khc nhau.

- 25 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Qui trnh v phng php t chc thc hin sn xut ra chng rt khc nhau, phn cng thng c sn xut theo dy chuyn, hnh lot cn phn mm thng c xy dng theo n t hng, n chic. Cc giai on ch to ra phn cng c th xc nh v c kh nng iu chnh c cht lng ca sn phm cn i vi phn mm th khng d g thay i c, Mi quan h gia ngi s dng v cng vic cn thc hin vi tng loi sn phm l hon ton khc nhau, Cch tip cn xy dng, ch to cc sn phm cng khc nhau. Kh nng nhn bn ca chng l hon ton tri ngc nhau. Vic bo v bn quyn sn phm phn mm l cc k kh khn v kh nng sao chp thnh nhiu bn ging nhau l c th thc hin c (tng i d). Phn mm khc hn vi phn cng l khng b h hng theo thi gian, khng b tc ng ca mi trng (thi tit, nhit , iu kin, v.v). Do vy, i vi phn cng vic bo hnh l m bo n hot ng c nh mi cn i vi phn mm th li khc hn. Bo hnh, bo tr phn mm l bo m cho h thng hot ng ng vi thit k v p ng yu cu s dng ca khch hng. Chnh v th m cng bo hnh phn mm l rt tn km v i hi phi tp trung nhiu hn vo khu phn tch, thit k h thng.

Mi h thng phn mm cng nh cc h thng khc khng th tn ti c lp m n lun vn ng v tn ti trong mt mi trng, tng tc vi th gii xung quanh. Mt h thng c th xem nh l h thng con ca mt h thng khc v bn thn n li c th cha mt s cc h thng con khc nh hn. Cng ngh phn cng pht trin nhanh c v cht lng v tc x l vi gi thnh ngy mt h trong khi gi phn mm li rt cao. pht trin c nhng h thng phn mm p ng c nhng yu cu trn th i hi phi p dng l thuyt, k ngh, phng php v cng c mi to ra mt qui trnh pht trin phn mm hp nht. Cng ngh phn mm (CNPM) l cp n cc l thuyt, phng php lun v cc cng c cn thit pht trin phn mm. Mc ch ca CNPM l lm ra nhng phn mm cht lng cao, tin cy vi mt hn ch v ngun lc, theo ng mt lch trnh t trc, ph hp vi ngn sch d kin v p ng cc yu cu ngi dng. Hn na, CNPM khng ch l phi lm ra h thng phn mm m phi lm c cc h s, ti liu nh cc ti liu thit k, ti liu hng dn s dng, v.v. lm c s bo tr v m rng, pht trin h thng sau ny. Tm li, xy dng c nhng h thng phn mm p ng nhng yu cu trn, chng ta cn phi:

- 26 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

C mt qui trnh pht trin phn mm thng nht gm cc bc thc hin r rng, m sau mi bc u phi c cc sn phm c th; C cc phng php v k ngh ph hp vi tng giai on thc hin pht trin phn mm; C cng c lm ra sn phm phn mm theo yu cu.

Qu trnh pht trin mt sn phm (Software Development Process) l qu trnh nh ngha ai lm ci g, lm khi no v nh th no. Qu trnh xy dng mt sn phm phn mm hoc nng cp mt sn phm c c gi l qu trnh pht trin phn. H thng phn mm c kin to l sn phm ca mt lot cc hot ng sng to v c qu trnh pht trin. Qu trnh pht trin nhng phn mm phc tp phi c nhiu ngi tham gia thc hin. Trc ht l khch hng v nhng nh u t, l nhng ngi a ra vn cn gii quyt trn my tnh. Nhng ngi pht trin h thng gm cc nh phn tch, thit k v lp trnh lm nhim v phn tch cc yu cu ca khch hng, thit k cc thnh phn ca h thng v thc thi ci t chng. Sau phn mm c kim th v trin khai ng dng thc thi nhng vn m ngi s dng yu cu. Qu trnh pht trin phn mm c xc nh thng qua tp cc hot ng cn thc hin chuyn i cc yu cu ca khch hng (ngi s dng) thnh h thng phn mm. C su bc chnh cn thc hin trong qu trnh pht trin phn mm: 1. Xc nh v c t cc yu cu 2. 3. 4. 5. 6. Phn tch h thng Thit k h thng Lp trnh, m ho chng trnh Kim nh h thng Vn hnh v bo tr h thng.

C th thc hin cc bc trn theo nhiu phng php khc nhau. Theo , s cc bc xut ca cc phng php cng c th khc nhau. Cc d n c th thc hin theo nhng m hnh khc nhau nh m hnh "thc nc", m hnh "to nguyn mu", m hnh "xon c", v.v. tu thuc vo tng lnh vc ng dng v kh nng thc hin ca cc nhm tham gia thc hin d n.(i) Xc nh cc yu cu v phn tch h thng

T cc yu cu ca khch hng, chng ta xc nh c cc mc tiu ca phn mm cn pht trin. Thng l cc yu cu chc nng v nhng g m h thng phi thc hin, nhng cha cn ch ra cc chc nng thc hin nh

- 27 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

th no. Vic xc nh ng v y cc yu cu ca bi ton l nhim v rt quan trng, n lm c s cho tt c cc bc tip theo trong d n pht trin phn mm. Mun vy, th phi thc hin c t chi tit cc yu cu ca h thng. UML cung cp biu ca s dng c t cc yu cu ca h thng. Ti liu c t cc yu cu c s dng : Lm c s trao i vi ngi s dng, tho lun gia cc nhm thnh vin trong d n pht trin phn mm v nhng g m h thng s phi thc hin (v c nhng g n khng cn thc hin). Lm cn c c bn kim tra, th nghim trong cc bc tip theo ca qu trnh pht trin phn mm. Mun t c cc mc tiu trn th qu trnh phi thc hin: Xc nh v hiu r min, phm vi ca bi ton: Nhng ngi pht trin s xy dng h thng theo s hiu bit ca h nh th no v nhng yu cu ca khch hng v nhng khi nim c s ca bi ton ng dng. Nm bt cc yu cu: Ngi phn tch phi nm bt c tt c cc nhu cu ca khch hng bng cch phi trao i vi mi ngi c lin quan n d n, tham kho cc ti liu lin quan. Thng qua vic tho lun, trao i vi khch hng, cc chuyn gia ca lnh vc ng dng v nhng ngi , ang s dng nhng h thng c sn, ta c th pht hin v nm bt c cc yu cu ca h. Phng php tru tng ho gip ta d dng nm bt c cc yu cu ca h thng. Phn loi: Vn quan trng nht trong giai on ny l phi hiu r cc yu cu c xc nh. Mun vy, ta phi tm cch phn loi chng theo tm quan trng, hay chc nng chnh ca nhng ngi s dng v ca khch hng. Thm nh: Kim tra xem cc yu cu c thng nht vi nhau v y khng, ng thi tm cch gii quyt cc mi mu thun gia cc yu cu nu c. Nghin cu tnh kh thi: Tnh kh thi ca mt d n tin hc phi c thc hin da trn cc yu t bao gm cc kha cnh ti chnh, chin lc, th trng, con ngi, i tc, k thut, cng ngh v phng php m hnh ho, v.v. Ni chung, khng c mt qui tc hng dn c th bit khi no cng vic phn tch cc yu cu s kt thc v qu trnh pht trin c th chuyn sang bc tip theo. Nhng c th da vo cc cu tr li cho nhng cu hi sau chuyn sang bc tip theo. Khch hng, ngi s dng (NSD) v nhng ngi pht trin hiu hon ton h thng cha? nu c y cc yu cu v chc nng (dch v), u vo / ra v nhng d liu cn thit cha?

- 28 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Bc tranh chung trong pha phn tch cc yu cu ca h thng c th m t nh trong hnh 1.6.Ngi pht trin h thng Hiu r cc yu cu Nghin cu tnh kh thi Thm nh Ngi s dng (NSD) Ti liu c t yu cu v bc tip theo Nm bt cc yu cu M t cc yu cu

Khch hng, Cc chuyn gia h thng

Phn loi

Hnh 1.6: Mi quan h gia cc cng vic trong pha phn tch cc yu cu

Vn xc nh ng v y cc yu cu ca h thng l rt quan trng, n nh hng rt ln ti cht lng ca sn phn sau ny. Theo Finkelstein (1989) khi kho st, nh gi v cc pha thc hin trong qu trnh pht trin phn mm th trn 55% [19] cc li ca phn mm l do cc yu cu ca h thng cha c pht hin y v chi ph cho vic sa cc li ( bo tr h thng) chim ti trn 80% chi ph ca c d n.(ii) Phn tch h thng hng i tng

Phn tch hng i tng (OOA): l mt giai on ca qu trnh pht trin phn mm, trong m hnh khi nim c m t chnh xc, sc tch thng qua cc i tng thc v cc khi nim ca bi ton ng dng. Phn tch hng i tng va l ngnh khoa hc va l ngh thut nn xy dng c nhng h thng tt, trng kin, c tnh m v d bo tr th ta phi bit vn dng cc nguyn l, phng php khoa hc kt hp c c heuristic v cc mu th nghim nhanh chng tch lu v hon thin k nng phn tch, thit k ca mnh. Thng qua vic p dng cc nguyn l v kinh nghim thc hin theo mu hng dn [10] chng ta nhanh chng hc c cch to ra cc thit k h thng phn mm tt hn. Phn tch hng i tng tp trung vo vic tm kim cc i tng, khi nim trong lnh vc bi ton v xc nh mi quan h ca chng trong h thng.

- 29 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Nhim v ca ngi phn tch l nghin cu k cc yu cu ca h thng v phn tch cc thnh phn ca h thng cng cc mi quan h ca chng. Trong khu phn tch h thng ch yu tr li cu hi: H thng gm nhng thnh phn, b phn no? H thng cn thc hin nhng ci g? Kt qu chnh ca pha phn tch h thng hng i tng l biu lp, biu trng thi, biu trnh t, biu cng tc v biu thnh phn.(iii) Thit k h thng hng i tng

Da vo cc c t yu cu v cc kt qu phn tch (cc biu nu trn) thit k h thng. Thit k hng i tng (OOD) l mt giai on trong qu trnh pht trin phn mm, trong h thng c t chc thnh tp cc i tng tng tc vi nhau v m t c cch h thng thc thi nhim v ca bi ton ng dng. Trong khu thit k h thng hng i tng ch yu tr li cu hi lm nh th no? v Trong h thng c nhng lp i tng no, trch nhim ca chng l g? Cc i tng tng tc vi nhau nh th no? Cc nhim v m mi lp i tng phi thc hin l g? D liu nghip v v cc giao din c xy dng nh th no? Kin trc v cu hnh ca h thng? Nhim v chnh ca thit k h thng l: Xy dng cc thit k chi tit m t cc thnh phn ca h thng mc cao hn khu phn tch, thit k giao din phc v cho vic ci t. Ngha l, cc lp i tng c nh ngha chi tit gm y cc thuc tnh, cc thao tc phc v cho vic ci t bng ngn ng lp trnh hng i tng c la chn cc bc sau. ng thi a ra c kin trc (l trng tm) ca h thng m bo cho h thng c th thay i, c tnh m, d bo tr, thn thin vi NSD, v.v. Ngha l t chc cc lp thnh cc gi hoc cc h thng con theo mt kin trc ph hp vi nhu cu pht trin ca cng ngh (mng, phn tn, v.v.) ng thi ph hp vi xu th pht trin ca lnh vc ng dng. Thit k CSDL, c th chn m hnh quan h hay m hnh i tng. Bi v tn ti nhiu m hnh d liu khc nhau, nn khi xy dng h thng phn mm ln chng ta phi thit k cc phng n tch hp d

- 30 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

liu t nhiu ngun khc nhau, ngha l nhng kh nng chuyn i, kt hp cc m hnh d liu vi nhau. Nhng kt qu trn c th hin trong cc biu : biu lp (chi tit), biu hnh ng, biu thnh phn v biu trin khai. Tt c cc kt qu thit k phi c ghi li thnh cc h s, ti liu cho h thng. Trong cc ti liu thit k phi m t c th nhng thnh phn no, lm nhng g v lm nh th no.M hnh khi nim, c t cc yu cu Kin trc chi tit, c th v ph thuc vo vi t: khung ca h thng

Thit k logic: Phn chia cc thnh phn,Nhim v cc thnh phn

Kin trc tng qut v tru tng ho

Thit k chi tit: Lm mn dn cc thnh phn, Cch thc hin ca mi thnh phn

Hnh 1.7: Thit k logic v thit k chi tit

(iv) Lp trnh hng i tng Trong giai on ny, mi thnh phn c thit k s c lp trnh bng ngn ng lp trnh hng i tng c la chn thnh nhng m un chng trnh (chng trnh con). Mi m un ny s c kim nh hoc th nghim theo cc ti liu c t ca giai on thit k. Cng vic ny c m t nh sau:Tp cc m un chng trnh

c t thit k

Lp trnh (Xy dng cc lp)

Hnh 1.8: Lp trnh tp trung xy dng lp Hin nay c mt s cng c h tr cho qu trnh phn tch, thit k v c th sinh m t ng cho nhng thnh phn chnh ca m hnh nh: Rose [8, 22], hay Visual Studio .NET ca Microsoft, v.v. (v) Kim nh phn mm

Cc m un chng trnh cn phi c kim nh v sau c tch hp vi nhau thnh h thng tng th. Chng phi c kim tra xem c p ng c cc yu cu ca khch hng hay khng. Kim th phn mm l mt qu trnh lin tc, xuyn sut mi giai on trong qu trnh pht trin nhm m bo rng phn mm tho mn cc yu cu thit k, thm nh xem nhng yu cu

- 31 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

c p ng cc nhu cu ca ngi dng hay khng. Kim th chng trnh ng ngha vi vic tm ra nhng li cha c pht hin, ch khng th chng minh c l chng trnh ng n. C hai k thut kim nh phn mm chnh [1]: k thut Hp en (Black Box) v k thut Hp trng (White Box). K thut kim th Hp en cn c gi l k thut hng d liu vo/ra. N c s dng kim tra cc c t chc nng ca thit k v khng quan tm n cu trc bn trong ca h thng. Nu cc u ra (kt qu) khng ng nh mong mun th kim th thnh cng trong vic pht hin c li phn mm. Cn k thut Hp trng li i hi hiu bit v cu trc logic bn trong, cc cu trc iu khin v cc lung d liu ca chng trnh. Hai k thut ny khng thay th c nhau m b sung cho nhau. Kim th hp trng c th lm sng t cc li tm thy trong kim th hp en bi v chng xem xt phn mm thng qua vic nghin cu cu trc ca chng trnh . Vn kim nh phn mm ang l thch thc ln cho cc cng ty phn mm ca Vit Nam. (vi) Vn hnh, khai thc v bo tr h thng Giai on tip theo bt u bng vic ci t h thng phn mm trong mi trng s dng ca khch hng sau khi sn phm c kim nh v giao cho h. H thng s hot ng, cung cp cc thng tin, x l cc yu cu v thc hin nhng g c thit k. Tuy nhin, vn bo tr phn mm hon ton khc vi bo tr ca phn cng. Nh phn tch trn, bo tr phn mm l m bo cho h thng hot ng p ng c cc yu cu ca NSD, ca khch hng. M cc yu cu ny trong thc t li hay thay i, do vy cng tc bo tr li bao gm c nhng s thay i h thng sao cho n ph hp vi yu cu hin ti ca h, thm ch c nhng thay i cha pht hin c trong cc pha phn tch, thit k. Ngha l, h thng phn mm phi c nng cp, hon thin lin tc v chi ph cho cng tc bo tr l kh tn km. Thng thng, c hai loi nng cp: Nng cao hiu qu ca h thng: bao gm nhng thay i m khch hng cho l s ci thin hiu qu cng vic ca h thng, nh b sung thm cc chc nng hay gim thi gian x l, tr li ca h thng, v.v. m bo s thch nghi i vi s thay i mi trng ca h thng hay s sa i cho ph hp vi nhng thay i ca chnh sch, qui ch mi ban hnh ca Chnh ph. Mt cch tng qut, qu trnh pht trin phn mm vi UML c thc hin thng nht da trn cc bc xy dng cc biu m t cc yu cu, khi nim, s tng tc v kin trc ca h thng.

- 32 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

1.6. Kt lunNgy nay phng php hng i tng ang c tp trung nghin cu v trin khai ng dng rng ri to ra nhng phn mm c tnh m, d thay i theo yu cu ca khch hng, p ng c cc tiu chun phn mm cht lng cao theo yu cu ca nn cng ngh thng tin hin i. Mt iu rt quan trng trong cng ngh phn mm l cc khi nim mi ca m hnh h thng hng i tng, cc bc pht trin c th c t v thc hin theo mt qui trnh hp nht vi mt h thng k hiu chun l ngn ng m hnh ho hp nht UML. Mc d phng php hng i tng c nhng u vit nh phn tch, song cn c nhng vn tn ti v mt m hnh hnh thc hng i tng. Phng php ny cha c mt m hnh l thuyt ph hp ( n gin ci t) cho cc i tng, trong c th thc hin c cc php ton trn i tng ging nh i vi m hnh quan h. Tng t, vn v qun tr CSDL i tng cng cn l mt thch thc ln i vi ngnh CNTT. Vic t chc, x l v qun l i tng sao cho m bo tnh nht qun d liu trong h thng, c bit vic truy vn i tng nh th no cho hiu qu nht lun l nhng vn m, cn phi c tp trung nghin cu.

Cu hi v bi tp1.1 H thng phn mm l g?, nu cc c trng c bn ca sn phm phn mm? 1.2 Vai tr v mc ch ca m hnh ho trong qu trnh pht trin phn mm? 1.3 Ti sao li cn phi c mt qui trnh pht trin phn mm thng nht? 1.4 Phn tch cc c trng c bn ca cch tip cn hng chc nng v hng i tng trong qu trnh pht trin phn mm. 1.5 Nu nhng m hnh c bn c ng dng pht trin h thng hin nay? 1.6 Chn t danh sch di y nhng thut ng thch hp in vo cc ch [()] trong on vn m t v h thng phn mm. H thng phn mm hay gi tt l h thng, l t hp cc [(1)], [(2)] c quan h qua li vi nhau, [(3)] thng qua vic nhn cc d liu u vo (Input) v sn sinh ra nhng kt qu u ra (Output) thng l cc dng thng tin khc nhau nh mt [(4)], bin i [(5)]. Chn cu tr li: a. cng hot ng hng ti mc tiu chung b. qu trnh x l c. phn mm d. c t chc e. phn cng

- 33 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

1.7 Hy chn nhng thut ng thch hp nht in vo cc ch [()] trong on vn di y m t v qu trnh phn tch hng chc nng. hiu c nhng h thng ln, phc tp, chng ta thng phi s dng nguyn l [(1)], ngha l [(2)] chnh thnh cc chc nng n gin hn theo cch tip cn [(3)]. Qui trnh ny c lp li cho n khi thu c nhng n th chc nng tng i n gin, d hiu v thc hin ci t chng m khng lm tng thm phc tp lin kt chng trong [(4)]. Chn cu tr li: a. t trn xung b. phn tch nh cc chc nng c. h thng d. chia tr (devide and conquer) 1.8 Hy chn dy cc bc thc hin trong danh sch di y cho ph hp vi qui trnh pht trin phn mm theo m hnh "thc nc". (1) Xc nh cc yu cu (2) Thit k h thng (3) Ci t v kim tra h thng (4) Vn hnh v bo tr h thng (5) Phn tch h thng Chn cu tr li: a. (2) (1)(3)(5)(4) b. (1) (2)(3)(4)(5) c. (1) (5)(2)(3)(4) d. (1) (3)(2)(5)(4)

- 34 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

CHNG II

UML V QU TRNH PHT TRIN PHN MM

Ni dung ca chng II: Gii thiu tm lc v ngn ng m hnh ho thng nht UML Cc khi nim c bn ca phng php hng i tng, Mi quan h gia cc lp i tng, Qu trnh pht trin phn mm. xy dng c mt sn phm phn mm tt, ng nhin l cn mt phng php ph hp. Phng php pht trin ph hp l s kt hp ca ba yu t: (i) Mt tp hp cc khi nim v m hnh, bao gm cc khi nim c bn s dng trong phng php cng vi cch biu din chng (thng l di dng th, biu ). (ii) Mt qu trnh pht trin, bao gm cc bc thc hin ln lt, cc hot ng cn thit. (iii) Mt cng c mnh tr gip cho vic trin khai h thng cht ch v nhanh chng. UML l ngn ng chun gip chng ta th hin c cc yu t nu trn ca phng php phn tch, thit k hng i tng.

2.1 Tng qut v UMLUML l ngn ng m hnh ho, trc ht n bao gm mt tp cc k php thng nht, th hin ng ngha cc nh ngha trc quan tt c cc thnh phn ca m hnh ([1], [2]). UML c s dng hin th, c t, t chc, xy dng v lm ti liu cc vt phm (kt qu) ca qu trnh pht trin phn mm hng i tng, c bit l phn tch, thit k di dng cc bo co, biu , bn mu hay cc trang web, v.v. UML l ngn ng m hnh ho c lp vi cc cng ngh pht trin phn mm. 2.1.1 Mc ch ca UML Mc ch chnh ca UML: 1. M hnh c cc h thng (khng ch h thng phn mm) v s dng c tt c cc khi nim hng i tng mt cch thng nht. 2. Cho php c t, h tr c t tng minh (trc quan) mi quan h gia cc khi nim c bn trong h thng, ng thi m t c mi trng thi hot ng ca h thng i tng. Ngha l cho php m t c c m hnh tnh ln m hnh ng mt cch y v trc quan. 3. Tn dng c nhng kh nng s dng li v k tha phm vi din rng xy dng c nhng h thng phc tp v nhy cm nh: cc h thng ng, h thng thi gian thc, h thng nhng thi gian thc, v.v. 4. To ra nhng ngn ng m hnh ho s dng c cho c ngi ln my tnh.

- 35 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Tm li, UML l ngn ng m hnh ho, ngn ng c t v ngn ng xy dng m hnh trong qu trnh pht trin phn mm, c bit l trong phn tch v thit k h thng hng i tng. UML l ngn ng hnh thc, thng nht v chun ho m hnh h thng mt cch trc quan. Ngha l cc thnh phn trong m hnh c th hin bi cc k hiu ho, biu v th hin y mi quan h gia cc chng mt cch thng nht v c logic cht ch. Tuy nhin cng cn lu : UML khng phi l ngn ng lp trnh, ngha l ta khng th dng UML vit chng trnh. N cng khng phi l mt cng c CASE. Mt s cng c CASE nh Rational Rose [17] s dng m hnh UML pht sinh m ngun t ng sang nhng ngn ng lp trnh c la chn nh C++, Java, Visual C++, v.v. UML cng khng phi l mt phng php hay mt qu trnh pht trin phn mm. Cc k hiu UML c s dng trong cc d n pht trin phn mm nhm p dng nhng cch tip cn khc nhau cho qu trnh pht trin phn mm nhm tch chu k pht trin h thng thnh nhng hot ng, cc tc v, cc giai on v cc bc khc nhau. 2.1.2 Qu trnh pht trin phn mm thng nht vi UML UML c pht trin c t qu trnh pht trin phn mm, nhm m hnh ho h thng. Qu trnh pht trin phn mm ny gi l qu trnh pht trin phn mm hp nht (USPD) hay qu trnh hp nht Rational (RUP [17, 21]), gi tt l qu trnh hp nht (UP). RUP l tp cc qui tc hng dn v phng din k thut v t chc pht trin phn mm, nhn mnh ch yu vo cc bc phn tch v thit k. RUP c cu trc theo hai chiu: 1. Chiu thi gian: chia qu trnh thnh cc pha thc hin v cc bc lp. 2. Chiu thnh phn: cc sn phm cng vi cc hot ng c xc nh y . 1. Cu trc d n theo chiu thi gian bao gm cc pha thc hin: (i) Khi ng (Inception): xc nh d n tng th (ii) Son tho d n t m (Elaboration): + Lp k hoch cho nhng hot ng cn thit + Xc nh nhng ti nguyn cn thc hin d n + Xc nh cc tnh cht, c trng ca d n + Xy dng kin trc cho h thng. (iii) Xc nh nhng sn phm mi pha thc hin. (iv) Chuyn giao: cung cp sn phm cho cng ng ngi s dng.

- 36 -

Phn tch, thit k hng i tng bng UML 2. Cu trc d n theo chiu thnh phn bao gm cc hot ng:

on Vn Ban

M hnh ho nghip v: thit lp cc kh nng ca h thng cn xy dng v nhu cu ca NSD. Phn tch cc yu cu: chi tit cc yu cu chc nng v phi chc nng ca h thng. Phn tch thit k h thng: m t h thng thc hin cc yu cu v h tr ci t. Ci t chng trnh: lp trnh nhng kt qu thit k nu trn h thng hot ng ng theu yu cu. Kim th, kim chng cc thnh phn v ton b h thng. Trin khai h thng: khai thc h thng v hun luyn NSD. UP bao gm con ngi, d n, sn phm, qui trnh v cng c. Con ngi l nhng ngi tham gia d n to ra sn phm phn mm theo mt qu trnh vi s h tr ca cng c c cung cp. UP l qu trnh pht trin phn mm c hng dn bi cc ca s dng. Ngha l cc yu cu ca NSD c m t trong cc ca s dng, l chui cc hnh ng c thc hin bi h thng nhm cung cp cc dch v, cc thng tin cho khch hng. Cc ca s dng bao gm chui cc cng vic c xem l nn tng to ra m hnh thit k v ci t h thng. UP cng l qui trnh tp trung vo kin trc, c lp v pht trin tng trng lin tc. Kin trc ca h thng phi c thit k nhm p ng cc yu cu ca cc ca s dng chnh, trong gii hn ca chun phn cng m h thng s chy v ca cu trc ca c h thng ln cc h thng con. Tnh lp ca qu trnh pht trin phn mm c th hin ch l mt d n c chia thnh cc d n nh v c thc hin lp li trong tng bc thc hin. Mi d n nh u thc hin phn tch, thit k, ci t v kim th, v.v. Mi phn vic c pht trin tng trng v c d n cng c thc hin theo s tng trng ny. UP khng ch to ra mt h thng phn mm hon chnh m cn to ra mt s sn phm trung gian nh cc m hnh. Cc m hnh chnh trong UP l m hnh nghip v (ca s dng), m hnh khi nim, m hnh thit k, m hnh trin khai v m hnh trc nghim. Cc m hnh ny c s ph thuc theo vt pht trin, ngha l c th ln theo tng m hnh n c m hnh trc. 2.1.3 Gii thiu tng qut v UML UML c xy dng da chnh vo: Cch tip cn ca Booch (Booch Approach), K thut m hnh i tng (OMT Object Modeling Technique) ca Rumbaugh, Cng ngh phn mm hng i tng (OOSE Object-Oriented Software Engineering) ca Jacobson,

- 37 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

ng thi thng nht c nhiu k php, khi nim ca cc phng php khc. Qu trnh hnh thnh UML bt u t ngn ng Ada (Booch) trc nm 1990 (hnh 2-1).Ada / Booch Booch 91 OOSE Jacobson Booch 93 OOSE 94 OMT 94 UML 0.9 Booch /Rumbaugh UML 0.9 Amigos

1990

OMT Rumbaugh

1995

1997UML 1.0 UML 1.1

11/ 1997 c chp nhn

Hnh 2-1 S pht trin ca UML hiu v s dng tt UML trong phn tch, thit k h thng, i hi phi nm bt c ba vn chnh: 1. Cc phn t c bn ca UML, 2. Nhng qui nh lin kt gia cc phn t, cc qui tc c php, 3. Nhng c ch chung p dng cho ngn ng m hnh ho h thng.

- 38 -

Phn tch, thit k hng i tng bng UML 2.1.4 Cc phn t ca UML UML

on Vn Ban

Cc s vt

Cc mi quan h

Cc biu

Cc quan st

Cu trc

Hnh vi

Gp nhm Ch dn

Ca s dng S tng tc Gi Lp M hnh My trng Giao din H thng con thi Lp tch cc Khung cng vic Thnh phn

Cng tc Nt

Ca s dng Ca s dng Ph thuc Logic Lp Kt hp i tng Thnh phn Kt nhp Tng qut ho Trnh t S tng tranh Cng tc Trin khai (k tha) Trng thi Hot ng Thnh phn Trin khai

Hnh 2-2 Cc thnh phn c s ca UML Cc quan st Cc quan st (gc nhn) theo cc phng din khc nhau ca h thng cn phn tch, thit k. Da vo cc quan st thit lp kin trc cho h thng cn pht trin. C nm loi quan st: quan st theo ca s dng, quan st logic, quan st thnh phn, quan st tng tranh v quan st trin khai. Mi quan st tp trung kho st v m t mt kha cnh ca h thng (hnh 2-3) v thng c th hin trong mt s biu nht nh.Quan st thnh phn Quan st ca s dng Quan st trin khai Quan st tng tranh Quan st logic

Hnh 2-3 Cc quan st ca h thng Quan st cc ca s dng (hay trng hp s dng): m t cc chc nng, nhim v ca h thng. Quan st ny th hin mi yu cu ca h thng, do vy n phi c xc nh ngay t u v n c s dng iu khin, thc y v thm nh hay kim tra cc cng vic ca tt c cc giai on ca c qu trnh pht trin phn mm. N cng l c s trao i gia cc thnh

- 39 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

vin ca d n phn mm v vi khch hng. Quan st ca s dng c th hin trong cc biu ca s v c th mt vi biu trnh t, cng tc, v.v. Quan st logic biu din cch t chc logic ca cc lp v cc quan h ca chng vi nhau. N m t cu trc tnh ca cc lp, i tng v s lin h ca chng th hin mi lin kt ng thng qua s trao i cc thng ip. Quan st c th hin trong cc biu lp, biu i tng, biu tng tc, biu bin i trng thi. Quan st logic tp trung vo cu trc ca h thng. Trong quan st ny ta nhn ra cc b phn c bn cu thnh h thng th hin mi qu trnh trao i, x l thng tin c bn trong h thng. Quan st thnh phn (quan st ci t) xc nh cc m un vt l hay tp m chng trnh v s lin h gia chng t chc thnh h thng phn mm. Trong quan st ny ta cn b sung: chin lc cp pht ti nguyn cho tng thnh phn, v thng tin qun l nh bo co tin thc hin cng vic, v.v. Quan st thnh phn c th hin trong cc biu thnh phn v cc gi. Quan st tng tranh (quan st tin trnh) biu din s phn chia cc lung thc hin cng vic, cc lp i tng cho cc tin trnh v s ng b gia cc lung trong h thng. Quan st ny tp trung vo cc nhim v tng tranh, tng tc vi nhau trong h thng a nhim. Quan st trin khai m t s phn b ti nguyn v nhim v trong h thng. N lin quan n cc tng kin trc ca phn mm, thng l kin trc ba tng: tng giao din (tng trnh din hay tng s dng), tng logic tc nghip v tng lu tr CSDL c t chc trn mt hay nhiu my tnh khc nhau. Quan st trin khai bao gm cc lung cng vic, b x l v cc thit b. Biu trin khai m t cc tin trnh v ch ra nhng tin trnh no trn my no. Cc s vt (cc phn t ca m hnh) UML c bn phn t m hnh, l cu trc, hnh vi, nhm v ch thch. Phn t cu trc: l cc danh t trong m hnh UML, biu din cho cc thnh phn khi nim hay vt l ca h thng. UML c by phn t cu trc c m t nh sau: + Lp. Lp l tp cc i tng cng chia s vi nhau v cc thuc tnh, thao tc, quan h v ng ngha. + Giao din. Giao din l tp cc thao tc lm dch v cho lp hay thnh phn. Giao din m t hnh vi quan st c t bn ngoi thnh phn. Giao din ch khai bo cc phng thc x l nhng khng nh ngha ni dung thc hin. N thng khng ng mt mnh m thng c gn vi lp hay mt thnh phn. + Phn t cng tc. Phn t cng tc m t ng cnh ca s tng tc trong h thng. N th hin mt gii php thi hnh trong h thng, bao gm cc lp, quan h v s tng tc gia chng thc hin mt ca s dng nh mong i.

- 40 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

+ Ca s dng. Ca s dng m t mt tp cc hnh ng m h thng s thc hin phc v cho cc tc nhn ngoi. Tc nhn ngoi l nhng g bn ngoi c tng tc, trao i vi h thng. + Lp tch cc. Lp tch cc c xem nh l lp c i tng lm ch mt hay nhiu tin trnh, lung hnh ng. + Thnh phn. Thnh phn biu din vt l m ngun, cc tp nh phn trong qu trnh pht trin h thng. + Nt. Nt th hin thnh phn vt l tn ti khi chng trnh chy v biu din cho cc ti nguyn c s dng trong h thng. Phn t m t hnh vi: l cc ng t ca m hnh, biu din hnh vi trong s tng tc ca cc thnh phn v s bin i trng thi ca h thng. C hai loi chnh l s tng tc v my bin i trng thi. + S tng tc. S tng tc l hnh vi bao gm mt tp cc thng ip trao i gia cc i tng trong mt ng cnh c th thc hin mt ca s dng. + My bin i trng thi. My bin i trng thi (tmt hu hn trng thi) ch ra trt t thay i trng tri khi cc i tng hay s tng tc s phi i qua p ng cc s kin xy ra. Phn t nhm: l b phn t chc ca m hnh UML. Phn t nhm c gi, m hnh v khung cng vic. + Gi (package). Gi l phn t a nng c s dng t chc cc lp, hay mt s nhm khc vo trong mt nhm. Khng ging vi thnh phn (component), phn t gi hon ton l khi nim, c ngha l chng ch tn ti trong m hnh vo thi im pht trin h thng ch khng tn ti vo thi im chy chng trnh. Gi gip ta quan st h thng mc tng qut. + M hnh. M hnh l nhng m t v cc c tnh tnh v/hoc ng ca cc ch th trong h thng. + Khung cng vic. Khung cng vic l mt tp cc lp tru tng hay c th c s dng nh l cc khun mu gii quyt mt h cc vn tng t. Ch thch: l b phn ch gii ca m hnh, gii thch v cc phn t, khi nim v cch s dng chng trong m hnh. Cc mi quan h UML cho php biu din c bn mi quan h gia cc i tng trong cc h thng. l cc quan h: ph thuc, kt hp, tng qut ho v hin thc ho. + Quan h ph thuc. y l quan h ng ngha gia hai phn t, trong su thay i ca mt t s tc ng n ng ngha ca phn t ph thuc. + Quan h kt hp. Kt hp l quan h cu trc xc nh mi lin kt gia cc lp i tng. Khi c mt i tng ca lp ny gi/nhn thng ip n/t ch i tng ca lp kia th hai lp c quan h kt hp. Mt dng

- 41 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

c bit ca quan h kt hp l quan h kt nhp, biu din mi quan h gia ton th v b phn. + Quan h tng qut ho. y l quan h m t s khi qut ho m trong mt s i tng c th (ca lp con) s c k tha cc thuc tnh, cc phng thc ca cc i tng tng qut (lp c s). + Hin thc ho. Hin thc ho l quan h ng ngha gia giao din v lp (hay thnh phn) thc hin ci t cc dch v c khai bo trong cc giao din. Cc biu Biu l th biu din ha v tp cc phn t trong m hnh v mi quan h ca chng. Biu cha ng cc ni dung ca cc quan st di cc gc khc nhau, mt thnh phn ca h thng c th xut hin trong mt hay nhiu biu . UML cung cp nhng biu trc quan biu din cc kha cnh khc nhau ca h thng, bao gm: Biu ca s dng m t s tng tc gia cc tc nhn ngoi v h thng thng qua cc ca s dng. Cc ca s dng l nhng nhim v chnh, cc dch v, nhng trng hp s dng c th m h thng cung cp cho ngi s dng v ngc li. Biu lp m t cu trc tnh, m t m hnh khi nim bao gm cc lp i tng v cc mi quan h ca chng trong h thng hng i tng. Biu trnh t th hin s tng tc ca cc i tng vi nhau, ch yu l trnh t gi v nhn thng ip thc thi cc yu cu, cc cng vic theo thi gian. Biu cng tc tng t nh biu trnh t nhng nhn mnh vo s tng tc ca cc i tng trn c s cng tc vi nhau bng cch trao i cc thng ip thc hin cc yu cu theo ng cnh cng vic. Biu trng thi th hin chu k hot ng ca cc i tng, ca cc h thng con v ca c h thng. N l mt loi tmt hu hn trng thi, m t cc trng thi, cc hnh ng m i tng c th c v cc s kin gn vi cc trng thi theo thi gian. Biu hnh ng ch ra dng hot ng ca h thng, bao gm cc trng thi hot ng, trong t mt trng thi hot ng s chuyn sang trng thi khc sau khi mt hot ng tng ng c thc hin. N ch ra trnh t cc bc, tin trnh thc hin cng nh cc im quyt nh v s r nhnh theo lung s kin. Biu thnh phn ch ra cu trc vt l ca cc thnh phn trong h thng, bao gm: cc thnh phn m ngun, m nh phn, th vin v cc thnh phn thc thi.

- 42 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Biu trin khai ch ra cch b tr vt l cc thnh phn theo kin trc c thit k ca h thng. Cc khi nim c bn ca biu v cch xy dng cc biu trn phn tch, thit k h thng s c gii thu chi tit cc chng sau.

2.2 Cc khi nim c bn ca phng php hng i tng trong UML pht trin c h thng theo m hnh, phng php la chn th vn quan trng nht l phi hiu r nhng khi nim c bn ca phng php . y chng ta cn thc hin phn tch, thit k h thng theo cch tip cn hng i tng, do vy trc ht phi nm bt c nhng khi nim c s nh: i tng, lp, v cc mi quan h gia cc lp i tng. Nhng khi nim ny cng l cc phn t c bn ca ngn ng m hnh ha thng nht UML. M hnh hng i tng c s dng pht trin phn mm da trn m hnh d liu tru tng v khi nim lp ch ra nhng c tnh chung cc cu trc d liu c s dng m hnh ho h thng. H thng cc khi nim c bn ca phng php hng i tng c m t nh trong hnh 2-4. 2.2.1 Cc i tng i tng l khi nim c s quan trng nht ca cch tip cn hng i tng. i tng l mt khi nim, mt s tru tng ho hay mt s vt c ngha trong bi ton ang kho st. chnh l cc mc m ta ang nghin cu, ang tho lun v chng. i tng l thc th ca h thng, ca CSDL v c xc nh thng qua nh danh ca chng. Thng thng cc i tng c m t bi cc danh t ring (tn gi) hoc c tham chiu ti trong cc m t ca bi ton hay trong cc tho lun vi ngi s dng. C nhng i tng l nhng thc th c trong th gii thc nh ngi, s vt c th, hoc l nhng khi nim nh mt cng thc, hay khi nim tru tng, v.v. C mt s i tng c b sung vo h thng vi l do phc v cho vic ci t v c th khng c trong thc t. i tng l nhng thc th c xc nh trong thi gian h thng hot ng. Trong giai on phn tch, ta phi m bo rng cc i tng u c xc nh bng cc nh danh. n khu thit k, ta phi la chn cch th hin nhng nh danh theo cch ghi a ch b nh, gn cc s hiu, hay dng t hp mt s gi tr ca mt s thuc tnh biu din. Theo quan im ca ngi lp trnh, i tng c xem nh l mt vng nh c phn chia trong my tnh lu tr d liu (thuc tnh) v tp cc hm thao tc trn d liu c gn vi n. Bi v cc vng nh c phn hoch l c lp vi nhau nn cc i tng c th tham gia vo nhiu chng trnh khc nhau m khng nh hng ln nhau.

- 43 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

K tha Lp Hm Bao gi Quan h i tng Thng ip a x C th

Hnh 2-4 Nhng khi nim c bn ca phng php hng i tng 2.2.2 Lp i tng i tng l th hin, l mt i biu ca mt lp. Lp l mt m t v mt nhm cc i tng c nhng tnh cht (thuc tnh) ging nhau, c chung cc hnh vi ng x (thao tc gn nh nhau), c cng mi lin quan vi cc i tng ca cc lp khc v c chung ng ngha trong h thng. Lp chnh l c ch c s dng phn loi cc i tng ca mt h thng. Lp thng xut hin di dng nhng danh t chung trong cc ti liu m t bi ton hay trong cc tho lun vi ngi s dng. Cng nh cc i tng, lp c th l nhng nhm thc th c trong th gii thc, cng c nhng lp l khi nim tru tng v c nhng lp c a vo trong thit k phc v cho ci t h thng, v.v. Lp v mi quan h ca chng c th m t trong cc biu lp biu i tng v mt s biu khc ca UML. Trong biu lp, lp c m t bng mt hnh hp ch nht, trong c tn ca lp, c th c cc thuc tnh v cc hm (phng thc) nh hnh 2-5.

a/ Tn ca lp

b/ Tn v thuc tnh c/ Tn, thuc tnh v phng thc Hnh 2-5 Cc k hiu m t lp trong UML

Chng ta nn t tn theo mt qui tc thng nht nh sau: + Tn ca lp th ch ci u ca tt c cc t u vit hoa, v d: SinhVien, HocSinh, KhachHang, v.v. + Tn ca i tng, tn ca thuc tnh th vit hoa ch ci u ca cc t tr t u tin, v d: hoTen, danhSachSV, v.v.

- 44 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

+ Tn ca hm (phng thc) vit ging nh tn ca i tng nhng c thm cp ngoc n ( v ), v d: hienThi(), nhapDiem(), v.v. Trong biu giai on phn tch, mt lp c th ch cn c tn lp, tn v thuc tnh, hoc c c tn gi, thuc tnh v cc phng thc nh hnh 2-5. 2.2.3 Cc gi tr v cc thuc tnh ca i tng Gi tr (value) l mt phn ca d liu. Cc gi tr thng l cc s hoc l cc k t. Thuc tnh ca i tng l thuc tnh ca lp c m t bi gi tr ca mi i tng trong lp . V dsv1: SinhVien hoTen = Van Ba tuoi = 20

Hnh 2-6 K hiu i tng trong UML Van Ba v 20 l hai gi tr tng ng vi hai thuc tnh hoTen, tuoi ca i tng sv1 trong lp SinhVien. Khng nn nhm ln gi tr vi i tng. Cc i tng c nh danh ch khng phi l cc gi tr. C th c ba sinh vin cng tn Van Ba, nhng trong h thng cc sinh vin ny phi c qun l theo nh danh xc nh duy nht tng i tng. Gi tr c th l cc gi tr ca cc kiu d liu nguyn thu nh cc kiu s hoc cc kiu xu k t, hoc l tp hp ca cc gi tr nguyn thu. Cc d liu thnh phn ca mt lp c th c bao gi thng qua cc thuc tnh qun l s truy nhp phc v vic che giu thng tin ca phng php hng i tng. Trong UML ta c th s dng cc k hiu c t cc thuc tnh . K hiu: + ng trc tn thuc tnh, hm xc nh tnh cng khai (public), mi i tng trong h thng u nhn thy c. Ngha l mi i tng u c th truy nhp c vo d liu cng khai. Trong Rose [17] k hiu l kho khng b kho. # ng trc tn thuc tnh, hm xc nh tnh c bo v (protected), ch nhng i tng c quan h k tha vi nhau nhn thy c. Trong Rose k hiu l kho b kho, nhng c cha bn cnh. - ng trc tn thuc tnh, hm xc nh tnh s hu ring (private), ch cc i tng trong cng lp mi nhn thy c. Trong Rose k hiu l kho b kho v khng c cha bn cnh. Trong trng hp khng s dng mt trong ba k hiu trn th l trng hp mc nh. Thuc tnh qun l truy cp mc nh ca nhng h thng khc nhau c th khc nhau, v d trong C++, cc thuc tnh mc nh trong lp c qui nh l private, cn trong Java li qui nh khc, l nhng thuc tnh rng hn private.

- 45 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Nhng thuc tnh trn thit lp quyn truy cp cho mi i tng trong cc lp, cc gi, cc h thng con ca h thng phn mm [2, 3]. 2.2.4 Cc thao tc v phng thc Thao tc l mt hm hay th tc c th p dng (gi hm) cho hoc bi cc i tng trong mt lp. Khi ni ti mt thao tc l ngm nh ni ti mt i tng ch thc hin thao tc . V d, thao tc (hm) hienThi() ca lp MonHoc khi gi hin th cc v sinh vin hc mt mn hc c th nh Lp trnh hng i tng chng hn. Mt phng thc l mt cch thc ci t ca mt thao tc trong mt lp [14]. Mt s thao tc c th l a x, c np chng, ngha l n c th p dng cho nhiu lp khc nhau vi nhng ni dung thc hin c th khc nhau, nhng cng tn gi. V d lp ThietBi c hm tinhGia(). Hm ny c th np chng, bi v c nhiu phng thc (cng thc) tnh gi bn khc nhau tu thuc vo tng loi thit b. Tt c cc phng thc ny u thc hin mt nhim v tinhGia(), nhng c ci t vi ni dung (cc on chng trnh) khc nhau. H thng hng i tng t ng chn phng thc tng ng vi ng cnh ca i tng ch thc hin. Tng t nh cc d liu thnh phn, cc phng thc cng c qun l truy cp v c k hiu nh trn. Lu : Mt s tc gi ([10], [11], [15]) khng phn bit thao tc, hm vi phng thc m c th ng nht chng vi nhau trong qu trnh phn tch, thit k v lp trnh. Trong cc phn sau chng ta gi chung l hm hoc hm thnh phn.

2.3 Cc mi quan h gia cc lpH thng hng i tng l tp cc i tng tng tc vi nhau thc hin cng vic theo yu cu. Quan h l kt ni ng ngha gia cc lp i tng, trong th hin mi lin quan v cc thuc tnh, cc thao tc ca chng vi nhau trong h thng. Cc quan h ny c th hin chnh trong biu lp. Gia cc lp c nm quan h c bn: Quan h kt hp, Quan h kt nhp, Quan h tng qut ha, k tha, Quan h ph thuc, Hin thc ho. hiu r hn v cc mi quan h trong h thng, trc tin chng ta cn phn bit cc mi quan h gia cc lp v gia cc i tng vi nhau. 2.3.1 S lin kt v kt hp gia cc i tng Mt lin kt l mt s kt ni vt l hoc logic gia cc i tng vi nhau. Phn ln cc lin kt l s kt ni gia hai i tng vi nhau. Tuy nhin cng c nhng lin kt gia ba hoc nhiu hn ba i tng. Nhng cc ngn ng lp trnh hin nay hu nh ch ci t nhng lin kt (php ton) nhiu nht l ba ngi.

- 46 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Mt s kt hp l mt m t v mt nhm cc lin kt c chung cu trc v ng ngha nh nhau. Vy, lin kt l mt th hin ca lp. Lin kt v kt hp thng xut hin dng cc ng t trong cc ti liu m t bi ton ng dng. Hnh 2-7 m t cc k hiu cho quan h lin kt v kt hp.NoiBai: SanBay maSo = HN1 tenGoi = Sn bay quc t phc v HaNoi: TinhThanh tenGoi = Thu H Ni soDan = 5000000 GiaLam: SanBay maSo = HN2 tenGoi = Sn bay ni a

phc v

Hnh 2-7 (a) Lin kt gia cc i tng Hai i tng thuc lp SanBay: Ni Bi v Gia Lm cng lin kt vi i tng H Ni ca lp TinhThanh theo quan h phc v. Quan h lin kt gia hai i tng c biu din bng on thng ni chng vi nhau v c tn gi (nhn ca quan h). Nhn ca cc quan h thng l cc ng t. Khi mun biu din cho quan h mt chiu th s dng mi tn ch r hng ca quan h.SanBay maSo tenGoi phc v TinhThanh tenGoi danSo

Hnh 2-7 (b) Quan h kt hp gia cc lp Khi m hnh khng c s nhp nhng th tn ca quan h kt hp l tu chn. S nhp nhng s xut hin khi gia hai lp c nhiu quan h kt hp, v d: gia lp NhanVien v lp CongTy c hai quan h lm vic v c c phn trong. Khi c nhiu quan h nh th th nn gn tn vo mi ng ni hoc tn ca vai tr mi u ca quan h trnh s nhp nhng.Lm vic C c phn trong

NhanVien hoTen nhiemVu

CongTy tenGoi taiKhoan

Hnh 2-7 (c) Quan h kt hp gia cc lp Lu : khng nn nhm ln lin kt vi gi tr. Gi tr l d liu nguyn thu nh l d liu s hoc xu k t. Lin kt l mi lin quan gia hai i tng. Trong giai on phn tch ta phi m hnh (xc nh) tt c cc tham chiu ti cc i tng thng qua cc lin kt

- 47 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

v nhn dng c cc nhm lin kt tng t thng qua cc quan h kt hp. n giai on thit k ta c th chn cu trc con tr, kho ngoi, hoc mt s cch khc ci t nhng quan h . V d: m hnh phn tch hnh 2-7 (b) c pht trin sang giai on thit k nh sau:SanBay maSo tenGoi TinhThanh tenGoi danSo cacSanBay

Hnh 2-8 M hnh thit k cc lp Trong , lp TinhThanh c thm thuc tnh cacSanBay c th l danh sch hoc l cu trc mng, hay con tr, v.v. Ta cng c th thit k theo cch khc, thay v b sung thuc tnh cacSanBay vo lp TinhThanh th b sung oTinhThanh vo lp SanBay. 2.3.2 Bi s Quan h kt hp thng l quan h hai chiu: mt i tng kt hp vi mt s i tng ca lp khc v ngc li. xc nh s cc i tng c th tham gia vo mi u ca mi quan h ta c th s dng khi nim bi s. Bi s xc nh s lng cc th hin (i tng) ca mt lp trong quan h kt hp vi lp khc. Cng cn phn bit bi s (hay bn s) vi lc lng. Bi s l rng buc v kch c ca mt tuyn tp, cn lc lng l m s phn t ca tuyn tp . Do , bi s l s rng buc v lc lng ca cc phn t trong mt lp tham gia vo quan h xc nh trc. Trong UML cc bi s c biu din nh sau:1

LopA LopA LopA LopA

Chnh xc 1 (nu khng nhp nhng c th khng in s 1) Nhiu (khng hoc nhiu) S lng c xc nh gia s n v k ( 0). S lng c xc nh bi s n cho n nhiu (n 0).

*

n..k n..*

phn bit chiu ca quan h kt hp ta c th s dng mi tn ch chiu kt hp. V d: Nguoi 1 ..* c 0 ..* s hu ca Hnh 2-9 Quan h kt hp hai chiu gia hai lp Oto

- 48 -

Phn tch, thit k hng i tng bng UML

on Vn Ban

Hnh 2-9 m t nh sau: mi ngi trong lp Nguoi c th khng c hoc c nhiu t (thuc lp Oto) v ngc li mt t phi l s hu ca t nht mt ngi no thuc lp Nguoi. 2.3.3 Cc vai tr trong quan h Vai tr l tn gi mt nhim v thng l mt danh t, c gn cho mt u ca quan h kt hp. Hnh 2-10 m t hai lp SanBay v lp CacChuyenBay c quan h kt hp vi nhau. Mt sn bay c th l im n ca chuyn bay ny v li c th l im xut pht ca chuyn bay khc. Ngc li mt chuyn bay bao gi cng phi bay t mt sn bay ny ti mt sn bay khc. SanBaymaSo tenGoi Ni xut pht Ni n

* *

CacChuyenBaysoHieuChuyen Bay lichBay

Hnh 2-10 Vai tr