uml tieng viet

Download UML Tieng Viet

If you can't read please download the document

Upload: quoc-tc

Post on 27-Jun-2015

982 views

Category:

Documents


1 download

TRANSCRIPT

Phn tch thit k h thng hng i tng bng UML

Gio trnh

PHN TCH V THIT K H THNG HNG I TNG S DNG UMLBin son ThS. Phm Nguyn Cng TS. H Tng Vinh

@ i Hc KHTN-TP HCM ; ASIA-ITC

1

Phn tch thit k h thng hng i tng bng UML

Gii thiuH thng phn mm cng ngy cng tr nn phc tp. Cc ng dng hm nay c nhng yu cu v kin trc i hi phc tp hn rt nhiu so vi qu kh. Cc k thut, cng c, v phng php lun pht trin h thng phn mm ang thay i mt cch nhanh chng. Cc phng php pht trin phn mm chng ta s s dng trong tng lai c l s khc so vi cc phng php hin hnh ang s dng. Tuy nhin, mt iu hin nhin l pht trin hng i tng v cc khi nim c bn ca n ang c s dng rng ri. Nhiu trng hc nhn ra c iu ny v to ra nhng kho hc pht trin h thng hng i tng nh mt phn chnh yu ca h thng thng tin tin hc ho v cc chng trnh khoa hc my tnh. Gio trnh ny d kin s cung cp mt kin thc nn tng v pht trin cc h thng hng i tng cho cc i tng sinh vin nhng nm cui. Mc tiu ca gio trnh l cung cp mt m t r rng v cc khi nim nn tng pht trin h thng hng i tng. Trong , nhn mnh n tnh n gin ca tip cn gip sinh vin c kin thc v UML c th d dng nm bt pht trin mt h thng hng i tng.

Mc tiuSau khi hc xong mn hc ny sinh vin c th: - Hiu cc nguyn l nn tng ca k thut hng i tng v cc khi nim v s tru tng, tnh bao bc, tnh tha k, v tnh a hnh. - Hiu v mt s quy trnh pht trin h thng, ni dung cc giai on c bn ca mt qui trnh pht trin, v mt s phng php phn tch thit k hng i tng. - Tip cn ton b qui trnh pht trin h thng s dng cc k thut hng i tng - S dng UML nh l mt cng c m hnh ho trong qu trnh pht trin h thng - Pht trin h thng t cc m hnh use case c xem nh l mt m hnh phn tch nhm biu din y yu cu h thng. - p dng mt qui trnh lp, tp trung vo kin trc pht trin mt m hnh thit k chi tit, mnh p ng vi cc nhu cu: o Ph hp vi cc yu cu h thng c thng nht qua m hnh use case trong giai on phn tch. o Ti s dng. o D dng ci t h thng trong mt ngn ng v mi trng c th.

@ i Hc KHTN-TP HCM ; ASIA-ITC

2

Phn tch thit k h thng hng i tng bng UML

PHN 1: TNG QUAN Chng 1GII THIU V PHNG PHP V PHNG PHP LUN PHT TRIN H THNG HNG I TNG Gii thiu v phng php pht trin hng chc nngy l phng php cn truyn thng ca ngnh cng nghip phn mm trong quan im v phn mm nh l mt tp hp cc chng trnh (hoc chc nng) v d liu gi lp. Vy chng trnh l g? Theo Niklaus Wirth, ngi to ra ngn ng lp trnh Pascal th: Chng trnh = thut gii + cu trc d liu. iu ny c ngha rng c hai kha cnh khc nhau ca h thng c tip cn, hoc tp trung vo cc chc nng ca h thng hoc tp trung vo d liu. Chng ta chia hng tip cn ny thnh hai thi k: thi k vo nhng nm thp nin 70, tip cn phn tch v thit k h thng theo phng php gi l Descartes. tng chnh trong cch tip cn ny l mt qu trnh lp phn r h thng thnh cc chc nng v ng dng phng php lp trnh cu trc n th chng trnh, vic phn r kt thc khi mt chc nng c phn r c th lp trnh c. Trong thi k ny, ngi ta cha quan tm n cc thnh phn khng c tin hc ho m ch xoay quanh n cc vn trong h thng lp trnh, tp trung vo chc nng v t tp trung vo d liu (v thi k nay ang chun ho v pht trin v c s d liu, h qun tr c s d liu) Thi k vo nhng thp nin 80, tip cn phn tch thit k theo phng php gi l h thng. Quan im chnh ca phng php ny l tip cn h thng theo 2 thnh phn, thnh phn x l (thnh phn ng) v thnh phn d liu (thnh phn tnh) ca h thng. Cch tip cn ca cc phng php trong giai on ny tun theo hai tnh cht : tnh ton th : tip cn h thng qua vic m t cc h thng con v s tng tc gia chng ; tnh ng n : tm kim s phn r, kt hp cc h thng con sao cho hnh vi ca n tiu biu nht ca h thng trong mi trng tc ng ln h thng con . Cch tip cn h thng theo hai thnh phn chnh l tin cho cch tip cn hng i tng trong cc giai on sau. Tuy nhin, vic tip cn ch yu l hng xoay quanh d liu thu thp v t chc d liu nhm khai thc mt p ng nhu cu thng tin. Hng tip cn gy kh khn trong nhng h thng ln v thng xuyn thay i cng nh l trong vic thit k nhm ti s dng mt thnh phn c.

Gii thiu v phng php pht trin hng i tngVo thp nin 90, phng php tip cn phn tch thit k i tng l s tng hp ca phng php Descartes v phng php h thng. Trong khi cc m hnh c a ra trong nhng thp nin trc thng a ra d liu v x l theo hai hng c lp nhau. Khi nim i tng l s tng hp gia khi nim x l v khi nim d liu chung trong mt cch tip cn, v mt h thng l mt tp hp cc i tng lin kt ni. C ngha rng vic xy dng h thng chnh l vic xc nh cc i tng bng cch c gng nh x cc i tng ca th gii thc thnh i tng h thng, thit k v xy dng n, v h thng hnh thnh chnh l qua s kt hp ca cc i tng ny. Phng php hng i tng c xem l phng php phn tch thit k th h th ba, cc phng php tiu biu l OOD, HOOD, BON, OSA, v sau ny l OOSA, OOA, OMT, CRC, OOM, OOAD, OOSE, RUP/UML c trng c bn Tnh bao bc (encapsulation): quan nim mi quan h gia i tng nhn v i tng cung cp thng qua khi nim hp en. Ngha l i tng nhn ch truy xut i tng cung cp qua giao din c nh ngha bi i tng cung cp, i tng nhn khng c truy cp n cc c trng c xem l ni b ca i tng cung cp.3

@ i Hc KHTN-TP HCM ; ASIA-ITC

Phn tch thit k h thng hng i tng bng UML

-

Tnh phn loi (classification): gom nhm cc i tng c cng cu trc v hnh vi vo mt lp (class). Tnh kt hp (aggregation): kt hp cc i tng v cc i tng cu thnh n m t cu trc cc b ca i tng (v d: to nh phng, xe sn xe, bnh xe, ) , hoc s lin kt ph thuc ln nhau gia cc i tng. Tnh tha k (heritage): phn loi tng qut ho v chuyn bit ho cc i tng, v cho php chia s cc c trng ca mt i tng.

Phn loi

Phng php lp trnh hng i tng c chia thnh 2 hng nh sau: u im Cu trc ho c cc cu trc phc tp v s dng c cu trc qui: cc phng php i tng u s dng cc m hnh bao gm nhiu khi nim biu din nhiu ng ngha khc nhau ca h thng. V d: trong m hnh lp ca OMT c khi nim mi kt hp thnh phn cho php m t mt i tng l mt thnh phn ca i tng khc, trong khi nu dng m hnh ER truyn thng khng c khi nim ny do khng th biu din c quan h thnh phn. Xc nh c i tng ca h thng qua nh danh i tng1 Tnh tha k c a ra to tin cho vic ti s dng Hng lp trnh: t lp trnh n th chuyn sang lp trnh hng i tng vi l thuyt c bn da trn vic tru tng ha kiu d liu. Hng h qun tr CSDL: pht trin thnh CSDL hng i tng Phng php k thut: hng cng ngh phn mm nh OOD, HOOD, BON, BOOCH, MECANO, OODA, Phng php ton cc: hng v HTTT nh OOA, OOSA, OOAD, OMT, OOM,

C 2 cch tip cn ring bit:

-

M hnhM hnh (model) l mt dng thc tru tng v mt h thng, c hnh thnh hiu h thng trc khi xy dng hoc thay i h thng . Theo Efraim Turban, m hnh l mt dng trnh by n gin ho ca th gii thc. Bi v, h thng thc t th rt phc tp v rng ln v khi tip cn h thng, c nhng chi tit nhng mc phc tp khng cn thit phi c m t v gii quyt. M hnh cung cp mt phng tin (cc khi nim) quan nim ho vn v gip chng ta c th trao i cc tng trong mt hnh thc c th trc quan, khng m h. Cc c im ca mt m hnh: Din t mt mc tru tng ha (v d: mc quan nim, mc t chc, mc vt l,) Tun theo mt quan im (quan im ca ngi m hnh ho) C mt hnh thc biu din (vn bn, ha: s , biu , th,)

Hu ht cc k thut m hnh ha s dng trong phn tch thit k l cc ngn ng ha (a s l s - diagram), cc ngn ng ny bao gm mt tp hp cc k hiu. Cc k hiu ny

1

OID: Object Iden tifier @ i Hc KHTN-TP HCM ; ASIA-ITC

4

Phn tch thit k h thng hng i tng bng UML

c dng i km theo cc qui tc ca phng php lun gip cho vic trao i cc quan h thng tin phc tp c r rng hn vic m t bng vn bn. V d : M hnh

Class_3

Class_5Case_1 Actor_1 Actor_2

Class_1

0..1

0..* Class_4 0..1 0..*

Class_2

Case_2

S

th

Vn bn

Biu

M hnh tnh v m hnh ngM hnh tnh (static model): c xem nh l hnh nh v thng s h thng ti mt thi im xc nh. Cc m hnh tnh c dng trnh by cu trc hoc nhng kha cnh tnh ca h thng. M hnh ng (dynamic model): c xem nh l mt tp hp cc hnh vi, th tc kt hp vi nhau m t hnh vi ca h thng. Cc m hnh ng c dng biu din s tng tc ca cc i tng thc hin cng vic h thng.

Mc ch ca m hnh hong trc s gia tng mc phc tp ca mt h thng, vic trc quan ho v m hnh ha ngy cng tr nn chnh yu trong cch tip cn v mt h thng, c bit l cch tip cn hng i tng. Vic s dng cc k hiu trnh by hoc m hnh ha bi ton c cc mc ch sau: Lm sng t vn : chng ta c th a ra c cc li hoc cc thiu xt ca h thng t vic tip cn trc quan ha hn l cc dng trnh by khc nh vn bn, on m, Hn na, vic m hnh ho gip chng ta d dng hiu c h thng. M phng c hnh nh tng t ca h thng: hnh thc trnh by ca m hnh c th a ra c mt hnh nh gi lp nh hot ng thc s ca h thng thc t, iu ny gip cho ngi tip cn cm thy thun tin khi lm vic vi m hnh (l hnh nh thu nh ca h thng thc t) Gia tng kh nng duy tr h thng: cc k hiu trc quan c th ci tin kh nng duy tr h thng. Thay i cc v tr c xc nh trc quan v vic xc nhn trc quan trn m hnh cc thay i s gim i cc li. Do , chng ta c th to ra cc thay i nhanh hn v cc li c kim sot hoc xy ra t hn. Lm n gin ha vn : m hnh ho c th biu din h thng nhiu mc, t mc tng qut n mc chi tit, mc cng tng qut th k hiu s dng cng t (do cng n gin ho vic hiu) v h thng c biu din cng tng qut.

-

-

-

@ i Hc KHTN-TP HCM ; ASIA-ITC

5

Phn tch thit k h thng hng i tng bng UML

Phng php lun pht trin h thngPhng php lun pht trin h thng bao gm hai thnh phn : - Qui trnh (process) : bao gm cc giai on (phase) v tin trnh trong nh ngha th t cc giai on v cc lut hnh thnh nn mt qu trnh pht trin h thng t cc cng vic khi to n cc cng vic kt thc ca mt d n h thng. Cc khi nim (notation), phng php : cc m hnh (bao gm cc phng php m hnh ho ca m hnh) cho php m hnh ho cc kt qu ca qu trnh pht trin h thng.

Cc giai on c bn trong mt qui trnh : t ng ha hot ng x l, h thng phi tri qua mt qu trnh gm nhiu bc c gi l qu trnh pht trin h thng. Cng ging nh nhiu tin trnh khc, pht trin h thng t ng cng theo chu trnh c gi l vng i (Life cycle). Khi nim vng i l mt khi nim rng n bt u t s khi u xy dng cho n kt thc vic khai thc h thng. Nu chng ta ch ch trng n giai on xy dng v trin khai th gi l pht trin h thng. Vng i pht trin h thng - SDLC (Systems Development Life Cycle) l mt phng php lun chung pht trin nhiu loi hnh h thng khc nhau. Tuy nhin, cc giai on trong qu trnh ny cng thay i khc nhau khong t 3 cho n 20 ty theo qui m v loi hnh h thng chng ta ang tip cn. Phn sau y s gii thiu cc giai on c bn lm nn tng chung cho hu ht qu trnh pht trin h thng: Giai on khi to Hot ng chnh ca giai on ny l kho st tng quan h thng, vch ra cc vn tn ti trong h thng v cc c hi ca h thng, cng nh trnh by l do ti sao h thng nn hoc khng nn c u t pht trin t ng ha. Mt cng vic quan trng ti thi im ny l xc nh phm vi ca h thng xut, trng d n v nhm phn tch vin ban u cng lp mt k hoch cc hot ng ca nhm trong cc giai on tip theo ca d n pht trin h thng. K hoch ny xc nh thi gian v ngun lc cn thit. nh gi kh thi ca d n v nht l phi xc nh c chi ph cn phi u t v li t mang li t h thng. Kt qu ca giai on ny l xc nh c d n hoc c chp nhn pht trin, hoc b t chi, hoc phi nh hng li. Giai on phn tch Giai on phn tch bao gm cc bc sau: Thu thp yu cu h thng: cc phn tch vin lm vic vi ngi s dng xc nh tt c nhng g m ngi dng mong mun t h thng xut. Nguyn cu cc yu cu v cu trc ho (m hnh ho) d dng nhn bit v loi b nhng yu t d tha. Pht sinh cc phng n thit k chn la ph hp vi yu cu v so snh cc phng n ny xc nh gii php no l p ng tt nht cc yu cu trong mt mc cho php v chi ph, nhn lc, v k thut ca t chc. Kt qu ca giai on ny l bn m t v phng n c chn.

Trong phn tch hng i tng giai on ny quan tm n mc tru tng ho u tin bng cch xc nh cc lp v cc i tng ng vai tr quan trng nhm din t cc yu cu cng nh mc tiu h thng. hiu r cc yu cu h thng chng ta cn xc nh ai l ngi dng v l tc nhn h thng. Trong phng php pht trin hng i tng cng nh phng php truyn thng, cc m t kch bn hot ng c s dng tr gip cc phn tch vin hiu c yu cu. Tuy nhin, cc kch bn ny c th c m t khng y hoc khng theo mt hnh thc. Do , khi nim use case c dng trong giai on ny@ i Hc KHTN-TP HCM ; ASIA-ITC 6

Phn tch thit k h thng hng i tng bng UML

nhm biu din chc nng h thng v s tng tc ngi dng h thng. Cc kch bn hot ng lc ny s dng cc m hnh ng (dynamic diagram) nhm m t ni dung ca use case lm r s tng tc gia cc i tng, vai tr cng nh s cng tc ca cc i tng trong hot ng ca use case h thng. Trong giai on phn tch, ch c cc lp tn ti trong phm vi h thng ( th gii thc) mi c m hnh ho v nh vy th kt qu m hnh ho trong giai on ny s phn nh phm vi ca h thng. Cc lp v k thut, giao din nh ngha phn mm cng khng quan tm giai on ny. Giai on thit k Trong giai on ny kt qu ca giai on phn tch s c chi tit ho tr thnh mt gii php k thut thc hin. Cc i tng v cc lp mi c xc nh b sung vo vic ci t yu cu v to ra mt h tng c s k thut v kin trc. V d: cc lp mi ny c th l lp giao din (mn hnh nhp liu, mn hnh hi p, mn hnh duyt,). Cc lp thuc phm vi vn c t giai on phn tch s c "nhng" vo h tng c s k thut ny, to ra kh nng thay i trong c hai phng din: Phm vi vn v h tng c s. Giai on thit k s a ra kt qu l bn c t chi tit cho giai on xy dng h thng. V mc thit k th c th chia kt qu ca giai on ny thnh hai mc: Thit k lun l c t h thng mc tru tng ha da trn kt qu ca gii php c chn la t giai on phn tch. Cc khi nim v m hnh c dng trong giai on ny c lp vi phn cng, phn mm s s dng v s chn la ci t. Theo quan im l thuyt, bc ny h thng c th ci t trn bt k trn nn tng phn cng v h iu hnh no, iu ny cho thy giai on ny ch tp trung biu din kha cnh hnh vi v tnh nng ca i tng h thng. Thit k vt l Chuyn i kt qu thit k lun l sang cc c t trn phn cng, phn mm v k thut chn ci t h thng. C th l c t trn h my tnh , h qun tr c s d liu, ngn ng lp trnh chn,. Kt qu ca bc ny l cc c t h thng vt l sn sng chuyn cho cc lp trnh vin hoc nhng ngi xy dng h thng khc lp trnh xy dng h thng. Giai on xy dng Trong giai on xy dng (giai on lp trnh), cc lp ca giai on thit k s c bin thnh nhng dng m lnh (code) c th trong mt ngn ng lp trnh hng i tng (khng nn dng mt ngn ng lp trnh hng chc nng!). Ph thuc vo kh nng ca ngn ng c s dng, y c th l mt cng vic kh khn hoc d dng. Khi to ra cc m hnh phn tch v thit k trong UML, tt nht nn c gng n trnh vic ngay lp tc bin i cc m hnh ny thnh cc dng m lnh. Trong nhng giai on trc, m hnh c s dng d hiu, d giao tip v to nn cu trc ca h thng; v vy, vi vng a ra nhng kt lun v vic vit m lnh c th s thnh mt tr ngi cho vic to ra cc m hnh chnh xc v n gin. Giai on xy dng l mt giai on ring bit, ni cc m hnh c chuyn thnh cc m lnh. Giai on th nghim Mt h thng phn mm thng c th nghim qua nhiu giai on v vi nhiu nhm th nghim khc nhau. Cc nhm s dng nhiu loi biu UML khc nhau lm nn tng cho cng vic ca mnh: Th nghim n v s dng biu lp (class diagram) v c t lp, th nghim tch hp thng s dng biu thnh phn (component diagram) v biu cng tc (collaboration diagram), v giai on th nghim h thng s dng biu Use case@ i Hc KHTN-TP HCM ; ASIA-ITC 7

Phn tch thit k h thng hng i tng bng UML

(use case diagram) m bo h thng c phng thc hot ng ng nh c nh ngha t ban u trong cc biu ny. Giai on ci t v bo tr iu chnh h thng ph hp vi nhu cu s dng, cc thay i pht sinh bao gm: Chc nng s dng cha ph hp tt nht vi ngi s dng hoc kh s dng Cc iu kin v yu cu ca ngi dng h thng thay i, i hi phi chnh sa sao cho h thng vn hu dng Cc li h thng pht sinh do qu trnh kim tra cn xt li Nng cp phin bn mi ca h thng

Bo tr h thng khng nn xem nh l mt giai on tch ri m nn xem nh l mt s lp li chu trnh ca nhng giai on trc i hi phi c nghin cu nh gi v ci t. Tuy nhin, nu mt h thng khng cn hot ng nh mong mun do c s thay i qu ln v hot ng, hoc nhu cu mi t ra vt qu s gii quyt ca h thng hin ti, hoc chi ph bo tr l qu ln. Lc ny yu cu v h thng mi c xc lp thay th h thng hin ti v mt qui trnh li bt u.

V d v qui trnh pht trinChng ta c th hnh dung rng chng ta mun xy dng mt cn nh. Cng vic u tin l chng ta chc chn l chng ta d tnh xem chng ta s b s tin bao nhiu xy dng cn nh ny, da trn s tin ny chng ta tm kim v phc ho (c th ch trong tng) cn nh ny phi nh th no? Loi cn nh theo kiu g, c my phng, chiu rng v chiu di bao nhiu, ri no n nn nh, mu sc, tin nghi ?, Ri sau , chng ta s chn mt n v xy dng (trong s nhiu n v m tho yu cu nht). Tt c cc yu trn s phi trao i vi n v xy dng ny nhm thng nht v gi c cng nh cc iu khon v yu cu xy dng. Giai on ny c xem nh l giai on phn tch. Tip , n v xy dng s thc hin cng vic thit k chi tit ca cn nh, v tng n v trong cn nh (phng, tng, trn, mi, phng khch, phng n, phng ng,). Giai on ny c xem l giai on thit k. Sau cc bn thit k chi tit ca cn nh s c b phn thi cng da vo tin hnh vic xy dng. Giai on ny c xem l giai on xy dng. Cn nh sau khi hon tt s c chuyn giao s dng, tt nhin trong qu trnh s dng nu c cc h hng th n v xy dng s phi tin hnh bo tr v sa cha.Yu cu v cn nh tng v cn nh Cn nh xy xong

Phn tch & thit k

Xy dng

Chuyn giao s dng v bo tr

@ i Hc KHTN-TP HCM ; ASIA-ITC

8

Phn tch thit k h thng hng i tng bng UML

M s qui trnh pht trinQui trnh thc nc (waterfall Boehm 1970)Phn tch yu cu Thit k quan nim Thit k chi tit

Lp trnh Th nghim n v Th nghim tch hp Th nghim h thng

Phn tch

Thit k

Ci t

Th nghim

y l mt qui trnh u tin c xut v a ra c cc giai on cn bn nht v y cho mt qu trnh pht trin h thng, cc giai on bao gm : phn tch, thit k, ci t v th nghim h thng. T khi c xut qui trnh ny nhanh chng c ph cp s dng rng ri trong gii cng nghip v cho n by gi c nhiu ci tin hon thin. Nhc im : - Qui trnh l cc giai on tun t ni tip nhau, c ngha l giai on phn tch phi c hon thnh ri n giai on thit k, khng cho php s quay lui v do , khi p dng qui trnh ny s kh khn khi giai on trc c s thay i (do sai xt, do nhu cu ngi dng thay i hoc do c s tin ho h thng,).

Qui trnh tng trng (D.R. Graham 1988)Tng trng 1Phn tch Thit k Lp trnh Th nghim Chuyn giao phn 1

Tng trng 2Phn tch Thit k Lp trnh Th nghim Chuyn giao phn 2

Tng trng 3Phn tch Thit k Lp trnh Th nghim Chuyn giao phn 3

Quan im chnh ca qui trnh ny l pht trin tng phn (phn h con) ca h thng dng qui trnh thc nc. - Lp : phn chia h thng thnh nhng phn c th pht trin mt cch c lp. Mi thnh phn trong qu trnh pht trin s c p dng qui trnh thc v c xem nh mt tng trng ca h thng. Khi thnh phn cui cng hon tt th qu trnh pht trin ton b h thng kt thc. Nhc im : qui trnh ny khng th p dng cho nhng h thng c s phn chia khng r rng hoc khng th phn chia thnh nhng thnh phn tc bit.

-

Qui trnh xon c (Boehm 88)

@ i Hc KHTN-TP HCM ; ASIA-ITC

9

Phn tch thit k h thng hng i tng bng UML

Xc nh mc tiu, cc phng n, cc rng buc

Chu trnh 3 Chu trnh 2 Chu trnh 1

nh gi cc phng n

Lp k hoch cho chi trnh k tip

Pht trin v kim tra

L mt qu trnh gm nhiu vng lp da trn bn giai on : - Giai on 1 : o i vi vng lp u tin : phn tch yu cu o T vng lp th hai tr i : thit lp mc tiu cho vng lp, xc nh cc phng n t mc tiu ; cc rng buc xut pht t cc kt qu ca cc vng lp trc. - Giai on 2 : o nh gi cc phng n da trn cc sn phm t c v tin trnh thc thi phng n. o Xc nh v gii quyt cc ri ro. - Giai on 3 : o Pht trin v kim tra sn phm. - Giai on 4 : o Lp k hoch cho vng lp tip theo. Qui trnh xon c cng c th p dng qui trnh khc, v d giai on 3 c th c thc hin p dng qui trnh thc nc.

Qui trnh Booch (1996) Macro-processQuan nim Phn tch Thit k Ci t ; tin ho Bo tr

Micro-processGm hai tin trnh : - Macro process : ng vai tr nh l b khung ca micro process v bao ph ton b phm vi d n. Cng vic chnh ca macro process l lin quan n qun l k thut ca h thng trong vic ch trng n yu cu ca ngi dng v thi gian hon thnh sn phm m t quan tm n chi tit thit k h thng. Macro porcess gm :@ i Hc KHTN-TP HCM ; ASIA-ITC 10

Phn tch thit k h thng hng i tng bng UML

-

o Quan nim ho (conceptualization) : xc nh yu cu cn bn, mc tiu ca h thng o Phn tch v pht trin m hnh : s dng s m hnh ho i tng h thng ; xc nh vai tr v trch nhim ca cc i tng ; m hnh ho hnh vi ca h thng thng qua cc kch bn m t hnh vi. o Thit k : thit k kin trc ca h thng, cc mi quan h gia cc lp, cc lp s c ci t, cc v tr nh v x l. o Ci t, tin ho : tinh ch h thng thng qua nhiu vng lp. Lp trnh ci t phn mm. o Bo tr : iu chnh li pht sinh, cp nht cc yu cu mi Micro process : m t cc hot ng chi tit ca mi giai on thng qua vic phn chia thnh cc hot ng chi tit theo tng nhm pht trin hoc theo tng n v thi gian (gi, ngy, tun,).

RUP/UML (Rational Unified Process)Qui trnh bao gm bn giai on chnh v an xen nhiu dng hot ng (activity flow) nh l : m hnh ho nghip v, phn tch yu cu, phn tch v thit k, ci t, th nghim trin khai, Mi giai on c hnh thnh t nhng bc lp (iteration). - Khi to (inception) : o Thit lp phm vi d n, cc iu kin rng buc phm vi, cc kin trc xut ca h thng, o Xc nh chi ph v thi gian ca d n, o Xc nh ri ro v mi trng h thng, o Xc nh cc thay i b sung, cc tc ng ca cc thay i ny, cc ri ro nu c, - Tinh ch (elaboration) : o Tinh ch kin trc h thng, yu cu h thng v m bo k hoch s n nh ca k hoch, o nh gi ri ro, cc thnh phn s dng, o Xy dng nn kin trc nn tng h thng, - Xy dng (construction) : o Qun l ti nguyn, kim sot v thc hin ti u ho, o Hon thnh vic pht trin cc thnh phn ca sn phm, th nghim sn phm, o nh gi sn phm ci t t cc tiu chun c tho thun, - Chuyn giao (transition) : o Thc hin ci t h thng, o Th nghim sn phm trin khai, o Thu thp cc phn hi t pha ngi dng, o Bo tr h thng

@ i Hc KHTN-TP HCM ; ASIA-ITC

11

Phn tch thit k h thng hng i tng bng UML

Phng php (method)Phng php l mt qu trnh tp trung vo mt hoc mt vi giai on ca ton b qui trnh pht trin. V d : o Phng php phn tch yu cu : m t cch thc v qui trnh nhm thu thp cc yu cu ca h thng, o Phng php phn tch thit k : tp trung vo giai on phn tch v thit k o Phng php th nghim : qui trnh v cch thc cng nh cc hot ng th nghim h thng o Mt phng php bao gm mt tp cc k hiu ho v vn bn, cc lut s dng m t cc yu t h thng Mt phng php thng c p dng trong mt qui trnh ca phng php lun nhm hng dn cch thc thc hin chi tit ca giai on trong qui trnh pht trin.

Mt s phng phpPhn sau y s tng kt ni dung ca mt s phng php pht trin h thng hng i tng: OOD (Object Oriented Design - G.Booch 1991) Khng a vo giai on phn tch trong cc phin bn u tin. Cc bc phn tch h thng chun b cho giai on thit k gm : o Xc nh vn th gii thc o Pht trin mt chin lc khng hnh thc hin thc ho tng phn i vi cc vn xc nh o Hnh thc ho chin lc ny Vic hnh thc ho chin lc bao gm mt th t cc cng vic sau : o Xc nh lp v i tng mc tru tng ho o Xc nh ng ngha cho cc lp v i tng o Xc nh mi quan h gia cc lp v cc i tng o Ci t cc lp v i tng a vo khi nim gi (package) v dng nh mt thnh phn t chc ca m hnh. Ci t cc lp v i tng thng qua vic o su cc chi tit ca lp v i tng v cch thc ci t chng trong mt ngn ng lp trnh; cch thc ti s dng cc thnh phn v xy dng cc m un t cc lp v i tng. Trong giai on thit k, phng php ny nhnh mnh s phn bit gia tng lun l (trong thut ng lp v i tng) v tng vt l (trong thut ng mun v x l) v phn chia m hnh thnh cc m hnh ng v m hnh tnh. o S lp (m hnh tnh)@ i Hc KHTN-TP HCM ; ASIA-ITC 12

-

Phn tch thit k h thng hng i tng bng UML

o S i tng(m hnh tnh) o S trng thi (m hnh ng) o S thi gian (m hnh ng) o S m- un o S x l HOOD (Hierarchical Object Oriented Design) Kha cnh tnh c biu din qua s i tng; vn bn hnh thc cho php hon thin s ny thng qua vic ch dn cc rng buc ng b. Cu trc phn cp c m t thng qua cu trc phn r i tng Cc giai on c bn ca giai on thit k nh sau : o Xc nh vn : xc nh ng cnh ca i tng vi mc ch t chc v cu trc ho d liu t cc yu cu ca giai on phn tch. Din t vn Phn tch v cu trc ho d liu yu cu : thu thp v phn tch tt c thng tin lin quan n vn , bao gm mi trng m h thng c thit k. o Pht trin chin lc gii php: phc ho gii php vn thng qua vic xc nh cc i tng mc tru tng ho cao. o Hnh thc ho v m hnh ho chin lc : xc nh cc i tng v cc ton t. Pht sinh mt gii php thit k dng s cho php trc quan ho cc khi nim, bao gm nm bc : Xc nh i tng Xc nh cc ton t Nhm cc i tng v cc ton t M t ho iu chnh cc quyt nh thit k o Hnh thc ho gii php : gii php c hnh thc ho thng qua M t hnh thc giao din i tng M t hnh thc i tng v cc cu trc iu khin ton t OMT (Object modeling Technique) Cung cp ba tp khi nim din t ba cch nhn v h thng. S dng mt phng php dn dt ti ba m hnh tng ng vi ba cch nhn h thng. Cc m hnh l : - M hnh i tng m t cu trc tnh ca cc i tng bn trong h thng v cc quan h ca chng. Cc khi nim chnh l : o Lp o Thuc tnh o Ton t o Tha k o Mi kt hp (association) o Mi kt hp thnh phn (aggregation) M hnh ng h thng m t cc kha cnh ca h thng c th thay i theo thi gian. M hnh ny c s dng xc nh v ci t cc kha cnh iu khin ca mt h thng. Cc khi nim l :13

@ i Hc KHTN-TP HCM ; ASIA-ITC

Phn tch thit k h thng hng i tng bng UML

o Trng thi o Trng thi con/ cha o S kin o Hnh ng o Hot ng M hnh chc nng m t vic chuyn i gi tr d liu bn trong h thng. Cc khi nim l : o X l o Kho d liu o Dng d liu o Dng iu khin o Tc nhn (ngun, ch) Phng php c phn chia thnh bn giai on : o Phn tch : xy dng mt m hnh th gii thc da vo vic m t vn v yu cu h thng. Kt qu ca giai on ny l : Bn m t vn M hnh i tng = s lp i tng + t in d liu M hnh ng = s trng thi + s dng s kin ton cc M hnh chc nng = S dng d liu + cc rng buc o Thit k h thng : phn chia h thng thnh cc h thng con da trn vic kt hp kin thc v lnh vc vn v kin trc xut cho h thng. Kt qu ca giai on thit k l : Su liu thit k h thng : kin trc h thng c s v cc quyt nh chin lc mc cao. o Thit k i tng : xy dng mt m hnh thit k da trn m hnh phn tch c lm giu vi cc chi tit ci t, bao gm cc lp nn tng cc i tng ci t my tnh. Kt qu ca giai on ny : M hnh i tng chi tit M hnh ng chi tit M hnh chc nng chi tit o Ci t : chuyn i cc kt qu thit k vo mt ngn ng v phn cng c th. c bit nhn mnh trn cc c im c th truy vt, kh nng uyn chuyn v d m rng. OOA (Object Oriented Analysis Coad 90, 91) OOA s dng cc nguyn l cu trc ho v kt hp chng vi quan im hng i tng tp trung vo giai on phn tch. Phng php bao gm nm bc : Tm lp v i tng : xc nh cch thc tm lp v i tng. Tip cn u tin bt u vi lnh vc ng dng v xc nh cc lp, cc i tng hnh thnh nn tng cho ng dng. Xc nh cu trc : c thc hin qua hai cch : o Xc nh cu trc tng qut ho chuyn bit ho v xc nh s phn cp gia cc lp tm c

-

@ i Hc KHTN-TP HCM ; ASIA-ITC

14

Phn tch thit k h thng hng i tng bng UML

o Cu trc tng th - thnh phn (whole part) c dng m hnh ho cch thc mt i tng l mt phn ca i tng khc, v cch thc cc i tng kt hp thnh cc loi ln hn. Xc nh cc ch : phn chia cc m hnh lp, i tng thnh cc n v ln hn gi l ch . Xc nh thuc tnh : xc nh cc thng tin v cc mi lin kt cho mi th hin. iu ny bao gm lun vic xc nh cc thuc tnh cn thit c trng ho mi i tng. Cc thuc tnh c tm thy s c a vo ng mc trong cu trc phn cp. Xc nh cc dch v : nh ngha cc ton t cho lp bng cch xc nh cc trng thi v cc dch v nhm truy cp v thay i trng thi . Lp ch Lp cc lp v i tng Lp cu trc (s tha k, mi quan h,) Lp thuc tnh Lp dch v Thnh phn lnh vc vn (Problem Domain Component) : kt qu ca phn tch hng i tng a trc tip vo thnh phn ny. Thnh phn tng tc (Humain Interaction Component) : bao gm cc hot ng nh l : phn loi ngi dng, m t kch bn nhim v, thit k cu trc lnh, thit k tng tc chi tit, lp bn mu giao din tng tc ngi my, nh ngha cc lp ca thnh phn tng tc. Thnh phn qun l nhim v (Task Management Component) : bao gm vic xc nh cc nhim v (x l), cc dch v c cung cp, mc u tin, cc s kin kch hot, v cch thc cc x l trao i (vi cc x l khc v vi bn ngoi h thng). Thnh phn qun l d liu (Data Management Component) : ph thuc rt nhiu vo cng ngh lu tr sn c v d liu yu cu.

-

Kt qu ca giai on phn tch l mt m hnh gm nm lp: -

Mt m hnh thit k hng i tng bao gm cc thnh phn sau:

-

-

@ i Hc KHTN-TP HCM ; ASIA-ITC

15

Phn tch thit k h thng hng i tng bng UML

Chng 2 CC KHI NIM C BN V HNG I TNGi tng (object)i tng l thnh phn trng tm ca cch tip cn hng i tng. Mt i tng l mt i din ca bt k s vt no cn c m hnh trong h thng v ng mt vai tr xc nh trong lnh vc ng dng. - L mt biu din t th gii thc sang th hin ca tin hc (v d : mt chic xe t trong th gii thc c biu din trong tin hc dng mt khi nim i tng xe t). - L mt s tru tng ho, mt khi nim c ngha trong lnh vc ng dng. - Din t mt thc th vt l, hoc mt thc th quan nim, hoc mt thc th phn mm. - i tng c th l mt thc th hu hnh trc quan (v d : mt con ngi, mt v tr, mt s vt,) hoc mt khi nim, mt s kin (v d : phng ban, b phn, kt hn, ng k, ). Mt thc th phi tho ba nguyn l : - Phn bit (distinction): n v duy nht (nh danh) - Thng xuyn (permanence) : qu trnh sng (trng thi) - Hot ng (activity) : vai tr, hnh vi i tng = nh danh + trng thi + hnh vi V d : mt i tng xe m t Trng thi: 100cc 38.000 KM 90KM/H Hnh vi: Chy() my() Dng() Ttmy()

Trng thi

Mt No 53N-7213

nh danh

Hnh vi

Lin kt gia cc i tngMi kt hp (association) lin kt ng ngha : Gio vin A ging dy Lp hc X

Ti x B@ i Hc KHTN-TP HCM ; ASIA-ITC

li

Xe ti Y16

Phn tch thit k h thng hng i tng bng UML

-

Phn cp (hierarchy) lin kt cu trc : Mt xe m t

Bnh xe 1 i tng persistent/ transient -

Bnh xe 2

ng c

i tng transient : l i tng c qu trnh sng ti a tng ng vi qu trnh chy ng dng (i tng khng c lu tr trng thi ) i tng persistent : i tng c trng thi c lu tr trong my tnh v c th c thc thi bi mt ng dng khc ng dng to ra n (qu trnh sng ca n ko di v c th t ng dng ny qua ng dng khc do trng thi ca n c lu tr trong my tnh). Thng thng, trng thi ca i tng ny s c lu tr vo c s d liu trong qu trnh s dng, v vic lu tr ny s duy tr c tnh trng ca i tng v cung cp tnh trng ny cho nhng ln thc thi khc ca ng dng hoc cung cp trng thi ca i tng cho nhng ng dng khc.

Lp (class)Mt lp l mt m t ca mt tp hp/ mt loi cc di tng c : o Cng cu trc (nh danh, c trng) o Cng hnh vi (trng thi, vai tr) Trnh by ca lp : l mt hnh ch nht bao gm ba phn (khng bt buc)

Xeloi ngi_s_hu s_ng_k mu_xe

Tn lp

Thuc tnh (m t trng thi)

Thay_i_ti_x()-

Ton t (m t cc hnh vi)

Trong giai on ci t, nh danh ca lp c ci t t mt kho. Kho ny cho php phn bit r cc i tng ca lp mt cch duy nht. Khi nim kho c th cho php truy cp bi ngi dng mt cch tng minh hoc ngm nh. Mt kho tng minh c th c khai bo chung vi trng thi ca lp trong khi khi nim nh danh l mt khi nim c lp. v c cc ngha sau : o Xc nh tnh duy nht ca i tng o C ngha s dng i vi ngi dng V d : trong lp Xe c th khai bo s_ng_k l mt kho.

Th hin ca lp (instance)Th hin ca lp l mt i tng c th c to ra trn m hnh lp : - Cc ton t ca lp m t cc hnh vi chung ca cc th hin Tt c cc th hin ca mt lp c chung cc thuc tnh

@ i Hc KHTN-TP HCM ; ASIA-ITC

17

Phn tch thit k h thng hng i tng bng UML

Phn cp (hierarchy)L c ch h tr vic tng qut ho theo cch thc sau : - Tng qut ho cc c tnh chung (nh ngha cc supper-class) nh ngha cc c tnh chuyn bit nht ca cc trng hp c th (nh ngha cc sub-class) Super-class

Sub-class -

Sub-class

Tng qut ho (generalisation) : xy dng mt lp tng qut t cc lp khc c th t c mt mc tru tng ho c th. Chuyn bit ho (specialisation) : o S phn cp ca cc lp c php m t cc lp chuyn bit c th t cc lp tru tng o S chuyn bit ho cng c th c to ra : Lm giu thng tin : thm mi thuc tnh hoc ton t vo lp chuyn bit so vi cc lp tru tng C th thay th hoc nh ngha li cc thuc tnh, ton t trong cc lp chuyn bit t thuc tnh, ton t ca cc lp tru tng

Trong qu trnh phn tch hoc thit k h thng hng i tng, vic chuyn bit ho v tng qut ho cho php nh ngha cc mi quan h tp con v lm sng t tnh tha k. (Jacobson 1992). Nu mt lp B tha k t mt lp A, th c ngha rng tt c cc ton t v cc thuc tnh ca lp A tr thnh ton t v thuc tnh ca lp B. Quan h k tha l quan h: o C tnh bc cu Class A {Nu lp B l mt chuyn bit ho ca lp A v lp C l mt chuyn bit ho ca lp B th lp C cng l mt chuyn bit ho ca lp A}

Class B

Class C o C th a k tha

@ i Hc KHTN-TP HCM ; ASIA-ITC

18

Phn tch thit k h thng hng i tng bng UML

Gio vin

Nh nghin cu

GVin Nh NC

{Lp Gvin-Nh NC a k tha tt c thuc tnh ca lp Gio vin v lp Nh nghin cu}

o V c ci t vi mc tiu ti s dng Khi nim lp tru tng (abstract) lp c th (concrete) :

Khi xy dng mt cu trc lp phn cp, chng hnh thnh cc lp tng qut v c gi l lp tru tng. Trong , tt c cc th hin i tng ca mt lp tru tng u xut pht t mt trong nhng lp c th ca n. Mt lp tru tng khng cha ng trc tip cc i tng, cc th hin ca n ch l s xc nh tru tng hn ca cc th hin i tng trong cc lp c th. Ngc li, mt lp c th thc s cha ng cc i tng v th hin. Trong v d di y, cc lp Xe ti v Xe t l cc lp c th bi v n s c cc th hin xe t v xe ti. Xe S_xe Ti_x Loi_xe S_lng_sn_xut Thay_i_ti_x() S_lng_sn_xut() {Xe l mt lp tru tng, n khng c th hin tn ti trong thc t}

Xe t Slng_khch Thay_i_sl_khch()

Xe ti Ti_trng_ln_nht Thay_i_ti_trng_ln_nht()

{Lp c th, cc th hin ca n phn nh cc i tng tn ti thc t}

Tnh bao bc(encapsulation)Che du thng tin l nguyn l che du nhng d liu v th tc bn trong ca mt i tng v cung cp mt giao din ti mi i tng nh l mt cch tit l t nht c th c v ni dung bn trong ca i tng. Cc c th bao bc i tng tng quan bao gm : public, private, v protected@ i Hc KHTN-TP HCM ; ASIA-ITC 19

Phn tch thit k h thng hng i tng bng UML

-

public : thuc tnh v hnh vi ca i tng c th c truy cp t mi ni private : thuc tnh v hnh vi ca i tng ch c bn trong lp protected : thuc tnh v hnh vi ca i tng ch c truy cp t cc lp con

Tnh bao bc l mt mc tiu trong thit k hng i tng. Thay v cho php mt i tng truy cp trc tip n d liu ca mt i tng khc, th i tng ny s yu cu d liu thng qua vic gi thi hnh mt hnh vi c thit k cho vic cung cp d liu v mt thng ip s c gi ti i tng ch thng tin c yu cu. iu ny khng ch m bo rng cc lnh ang hot ng trong d liu ng m cn khng cho php cc i tng c th thao tc trc tip ln d liu ca i tng khc. Ho n S_h Ngy_lp S_lng Tr_gi Tr_gi_h() Hng ho m hng tn hng n v tnh n gi n_gi() i_n_gi(gi_mi){thuc tnh n gi trong lp Hng ho l private, do , tt c truy cp v n gi t bn ngoi phi thng qua n_gi(), hoc cc thay i v n gi phi thng qua i_n_gi(gi_mi)}

Mt yu t quan trng ca tnh bao bc l vic thit k khc nhau ca cc i tng c th s dng mt phng thc (protocol) chung hoc giao din chung cho ngi dng i tng. iu ny l gii rng nhiu i tng s tr li ti cng thng ip nhng mi i tng s thi hnh thng ip s dng cc ton t c bin i thch ng ti lp ca n. Bng cch ny, mt chng trnh c th gi mt thng ip tng qut v li vic ci t cho i tng nhn. iu ny lm gim s ph thuc ln nhau v gia tng s lng trao i v ti s dng ca i tng. V d : cc ng c xe t c th khc nhau v cch ci t v vn hnh c th, giao din gia ti x v xe t l thng qua mt phng thc chung : v d, p cn gas tng lc v nh cn gas gim lc ca xe. Tt c ti x u bit phng thc ny v tt c ti x u s dng phng thc ny trong tt c xe t m khng qua tm n ng c ca xe t c thc hin nh th no (tt nhin, cc ng c khc nhau th c cch vn hnh khc nhau).

Tnh a hnh (polymorphism)Trong h thng hng i tng, thut ng a hnh dng m t cc i tng c nhiu dng thc. a hnh c ngha rng cng mt ton t c th x l mt cch khc nhau trong cc lp khc nhau c chung mt (vi) lp cha (superclass). - Cng ton t c th thi hnh khc nhau trong cc lp khc nhau. Cc phng thc khc nhau cng ci t cho ton t ny trong cc lp khc nhau phi c cng k hiu (tn, tham s v gi tr tr v) Ci t ca ton t c xc nh bi lp i tng m c s dng trc tip

@ i Hc KHTN-TP HCM ; ASIA-ITC

20

Phn tch thit k h thng hng i tng bng UML

Hnhv()

Ch nhtv()

Tam gicv()

Trnv()

{V hnh ch nht}

{V hnh tam gic}

{V hnh trn}

Cu trc phn cp trn cho thy, lp Hnh l lp tng qut chung cho cc lp : Ch nht, Tam gic, Trn. V c ba lp ny u c th v, do , c th xc nh mt phng thc v() chung trong lp Hnh. Tuy nhin, cc i tng trong cc lp chuyn bit c th c thc hin trong mt cch thc c th khc so vi phng thc v() chung. Do , mi lp chuyn bit c th ci t li phng thc v() chng ln phng thc v() ca lp tng qut. Nu h thng x l mt danh sch cc i tng ca lp Hnh, th h thng s d tm v thc hin phng thc v() ph hp cho mi i tng. Nu i tng l ca lp con Ch nht th ni dung ci t ca phng thc v() trong lp Ch nht s c thc thi. Tng t cho i tng ca lp con Tam gic v Trn. a hnh y l cho php c nhiu hnh thc ci t ca cng mt hnh vi (phng thc). H thng s t ng thc hin phng thc thch hp cho mi i tng.

Cu hi v bi tp

@ i Hc KHTN-TP HCM ; ASIA-ITC

21

Phn tch thit k h thng hng i tng bng UML

Chng 3 UML (UNIFIED MODELING LANGUAGE)Lch s ca UMLS lng cc phng php lun hng i tng gia tng t di 10 n 50 trong khong nhng nm 1989 n 1994, v do ny sinh vn l lm cho ngi pht trin kh tm thy mt phng php lun duy nht tho mn y nhu cu ca h. Vo thng mi nm 1994, Rumbaugh lin kt vi cng ty Booch (Rational Sofware Corporation) kt hp phng php Booch v phng php OMT. V cho ra mt bn phc tho v phng php c tn l Unified Process vo thng mi nm 1995. Cng trong nm 1995, Jacobson n lc tch hp phng php ny vi OOSE. V nhng ti liu u tin v UML c trnh lng vo trong nm 1996. Phin bn 1.0 ca UML c cng b vo thng ging 1997, bao gm cc cng vic ca cc thnh vin ca UML consortium : DEC MCI Systemhouse HP Microsoft i-Logix Oracle Intellicorp Rational Software IBM TI ICON Computing Unisys Bn tho v UML phin bn 1.5 c to vo thng ba nm 2003. Phin bn UML 2.0 s c to vo 2004.UML 2.0 (2004) UML 1.5 (2003) UML 1.3 (99) UML 1.2 (98) Chun ho bi OMG UML 1.1 (11- 97) UML 1.0 (1- 97) UML 0.9 (96) UML 0.8 (95) Booch OMT Cc thnh vin cng nghip (HP, IBM,Oracle, Microsoft, Rational,)

-

-

-

OOSE Cc phng php khc

@ i Hc KHTN-TP HCM ; ASIA-ITC

22

Phn tch thit k h thng hng i tng bng UML

1995 Rational U M L 0.8

1996

1997

1998

1999

2000

2001 OMG

2002

2003

2004

UML consortium U U U M M M L L L 1.1 0.9 1.0

U U M M L L 1.2 1.3

U M L 1.4

U M L 1.5

U M L 2.0 ??

UML ?UML c to ra nhm chun ho ngn ng m hnh ho, UML khng phi l mt chun v tin trnh v do , UML phi c s dng kt hp vi mt tin trnh phng php lun. UML l mt ngn ng dng c t, trc quan ho, v t liu ho phn mm hng i tng. N khng m t mt tin trnh hay mt phng php m trong chng ta dng n m hnh ho. V d : Cng ty Rational Software xut mt quy trnh RUP (Rational Unified Process) c xem nh l mt phng php lun pht trin h thng v c ngn ng m hnh ho l UML. UML ph tt c cc mc m hnh ho khc nhau trong qui trnh pht trin bao gm chn loi s , trong , nm s dng biu din kha cnh tnh v bn s biu din kha cnh ng ca h thng.

-

-

Cc c trng ca mt tin trnh s dng UMLThu ban u, qui trnh tun t c xem l phng php hp l nht pht trin h thng. Tuy nhin, tri qua vi thp nin, cho thy cc d n s dng qui trnh tun t thng t thnh cng, bi nhng nguyn do sau y: S gi nh ban u c sai st Tht bi trong vic kt hp cc nhn t con ngi Cc h thng ngy cng ln v thng hay thay i Chng ta vn cn ang trong giai on thm d ca cng ngh phn mm, v khng c nhiu kinh nghim. y l l do chnh.

Mt phng php lun s dng UML phi kt hp vi mt qui trnh lp v iu ny s lm gim i cc hn ch ca qui trnh tun t. Tnh cht lp gm cc c trng c bn sau : Tnh lp (iterative) o Thay v n lc xc nh tt c cc chi tit ca m hnh trong mt thi im, chng ta ch xc nh cc chi tit p ng cho thi im thc hin, v o Lp li mt (hoc nhiu) vng lp khc b sung thm cc chi tit Gia tng (incremental)23 @ i Hc KHTN-TP HCM ; ASIA-ITC

Phn tch thit k h thng hng i tng bng UML

o H thng tin ho thng qua mt tp cc s gia tng o Mi s gia tng s b p thm vo h thng cc tnh nng khc Tp trung vo ngi dng (user concentrated) o Phn tch vin xc nh cc tnh nng ca h thng thng qua cc use case o Ngi dng xc nhn cc use case ny o Thit k vin v ngi pht trin hin thc ho cc use case o Ngi th nghim kim tra h thng v vic tho mn cc use case c t ra.

M hnh Use casec xc nh bi

M hnh phn tch

Hin hc ho bi Phn b bi

M hnh thit k M hnh trin khai

Ci t bi

Kim tra bi

M hnh ci t

M hnh th nghim Hng kin trc (well-defined structure) o H thng c phn chia thnh cc h thng con o Mc lun l v vt l phi c xc lp mt cch tch bit trong h thng Cc khung nhn v h thng : o Khung nhn lun l (logical view): m t cc yu cu chc nng ca h thng, tc nhng g h thng nn lm cho ngi dng cui. l s tru tng ca m hnh thit k v xc nh cc gi thit k chnh, cc subsystem v lp chnh. Trong UML khung nhn ny c th c trnh by dng s lp, s i tng, s m t cc gi, h thng con. o Khung nhn thc hin (implementation view): m t t chc ca cc n th (module) phn mm tnh (nh m ngun, tp tin d liu, thnh phn, tp tin thc thi, v cc thnh phn km theo khc) trong mi trng pht trin. Trong UML khung nhn ny c th dng s thnh phn trnh by. o Khung nhn x l (process view): m t cc kha cnh xy ra ng thi ca h thng thi gian thc (run-time) (tasks, threads, processes cng nh s tng tc gia chng). Khung nhn ny tp trung vo s ng hnh, song song, khi ng v ng h thng, kh nng chu ng h hng, v s phn tn cc i tng.@ i Hc KHTN-TP HCM ; ASIA-ITC 24

Phn tch thit k h thng hng i tng bng UML

o Khung nhn trin khai (deployment): cho thy cc tp tin thc thi v cc thnh phn khc nhau c trin khai trn cc h thng nh th no. N gii quyt cc vn nh trin khai, ci t, v tc . Trong UML, khung nhn ny c th s dng s trin khai m t. o Khung nhn use-case: ng mt vai tr c bit i vi kin trc. N cha mt vi kch bn hay use case ch yu. Ban u, chng c dng khm ph v thit k kin trc trong cc giai on bt u v giai on c t, nhng sau chng s c dng xc nhn cc khung nhn khc nhau. Trong UML, khung nhn ny c th s dng s use case minh ho. Ngi dng Chc nng Khung nhn lun l (logical view) Khung nhn use case (Use case view) Lp trnh vin Qun tr phn mm Khung nhn thc hin (implementation view)

Khung nhn x l (proces view)

Khung nhn trin khai (deployment view) Thit k vin h thng Hnh thi h thng Chuyn giao, ci t Truyn thng

Qun tr vin tch hp h thng Hiu nng Tnh co gin Thng lng

Cn phn bit khung nhn kin trc vi m hnh: m hnh l s trnh by hon chnh v h thng, trong khi khung nhn kin trc ch tp trung vo nhng g c ngha v mt kin trc, tc l nhng g c tc ng rng ln n cu trc ca h thng v ln tc , s hon thin, tnh tin ha ca n.

Cc s trong UMLCc s m t kha cnh tnh o S i tng (object diagram) o S lp (class diagram) o S use case (use case diagram) o S thnh phn (component diagram) o S trin khai (deployment diragram) Cc s m t kha cnh ng o Cc s tng tc (interaction diagram) S tun t (sequence diagram) S hp tc (collaboration diagram) o S hot ng (activity diagram) o S chuyn dch trng thi (state transition diagram)@ i Hc KHTN-TP HCM ; ASIA-ITC 25

Phn tch thit k h thng hng i tng bng UML

S lp v i tng: c s dng m hnh ho cu trc tnh ca h thng trong qu trnh pht trin. Mi s cha ng cc lp v cc mi quan h gia chng (quan h k tha (heritage), quan h kt hp (association), quan h tp hp (aggregation), quan h thnh phn (composition)). Chng ta cng c th m t cc hot ng ca lp (operation). S i tng l mt th hin ca s lp. N m t trng thi chi tit ca h thng ti mt thi im c th v l bc tranh ca h thng ti mt thi im, do , biu i tng dc dng minh ho mt trng hp thc t ca s lp. S i tng c cng k hiu vi biu lp. S i tng c dng minh ho mt trng hp phc tp ca bc tranh thc t v h thng trong cc th hin c th. V d : S lpTi x1 Ca * 0..1 S hu 1..*

Xe

Bng li xe

Xe ti

Xe t

Xe m t

Tc gitnTcGi: string aCh: string 1 1..*

SchtaSch: string nmXutBn: integer

S i tng UML:SchtaSch =UML nmXutBn=1998

Hong:Tc gitnTcGi =Nguyn Vn Hong aCh=123-Nguyn Vn C - Q5

C s d liu:SchtaSch =UML nmXutBn=1997

S use case : xut pht t cc m hnh use case ca phng php OOSE (Jacobson). N m t giao din vi mt h thng t quan im v cch nhn ca ngi s dng. Mt s use case m t cc tnh hung tiu biu ca vic s dng mt h thng. N biu th cc trng hp s dng (trong vic m hnh ho cc tnh nng h thng) v cc tc nhn (trong vic m hnh ho cc vai tr tham gia bi cc c nhn tng tc vi h thng), v mi quan h gia cc use case v cc tc nhn. V d : s use case mt h thng qun l mt th vin

@ i Hc KHTN-TP HCM ; ASIA-ITC

26

Phn tch thit k h thng hng i tng bng UML

Mn sch

Tr sch

Th th

Mn ti ch c gi c sch, bo

Mua sch Nh cung cp

S thnh phn : c s dng biu th cc nhn tnh trong vic ci t mt h thng. Mi s bao gm cc thnh phn (component) v cc mi quan h ph thuc gia chng trong mi trng ci t. Mt thnh phn i din cho mt yu t ci t vt l ca mi trng (m ngun, m thc thi, tp tin, c s d liu, mt th vin hm,). V d : s thnh phn ca mt h thng phn mm qun l th vinTin ch

Giao din

C s d liu

X l

S trin khai : m t cch b tr vt l cc thit b v s phn phi cc thnh phn tr ng ti cc thit b ny. Mt s trin khai bao gm cc nt (node) i din cho cc ti nguyn thit b v cc thnh phn c ci t trong thit b, cc lin kt trong s dng m t s trao i gia cc nt. S trin khai biu th mt s tng ng gia cu trc phn mm ca mt h thng v kin trc v b tr thit b ca n. V d : s trin khai ca h thng qun l th vin

@ i Hc KHTN-TP HCM ; ASIA-ITC

27

Phn tch thit k h thng hng i tng bng UML

Node 1 (phng qun tr):Server CSDL

Node 3 (c gi):APPGiao din

Node 2 (phng qun tr):APP ServerTin ch

Node 4 (th th):APPC s d liu Giao din

X l

S tun t v s hp tc : trnh by cc cch nhn ng v tng tc gia cc i tng ca h thng trong qu trnh pht trin. S hp tc m t s hp tc gia mt nhm cc i tng trong hot ng t mt mc tiu c th. S tun t thm vo chiu thi gian nhm th hin trc quan th t trao i ca cc thng ip (message). V d : s tun t m t hot ng ca x l cuc gi ca my in thoi:Ngi gi Nhc my Tn hiu :My gi Tng i :My nhn :Ngi nhn

Quay s

Kt ni

Tn hiu chung Nhc my Tn hiu

Gc my Tn hiu gc my Tin hiu gc my Tn hiu gc my

@ i Hc KHTN-TP HCM ; ASIA-ITC

28

Phn tch thit k h thng hng i tng bng UML

S chuyn i trng thi : hnh thnh t phng php OMT v Booch. Mi s c dng c lin quan n mt lp biu th cc trng thi khc nhau ca i tng ca lp v cc bin c kch hot s chuyn dch gia cc trng thi. V d : s trng thi ca sch trong th vinMun Sn sng cho mn Nhp kho lu tr Tr ang mn

Chm dt lu hnh nh mt Ht lu hnh nh mt

nh mt Mt

Lu tr Nhp kho

nh mt Thanh l

S hot ng : dng m hnh ho cc dng hot ng lin kt ti cc lp nh l trong trng hp ca mt nhm cc lp hp tc cng thc hin trong mt loi tin trnh. Mi lp s m nhim cc hot ng v cc chuyn dch nh c m t trong s chuyn dch trng thi. Tuy nhin, mt s hot ng c th lin quan n nhiu lp hn l mt lp. Mt khc n m t tin trnh tun t cc hot ng, s ng b ho cc dng iu khin song song, cc iu kin v quyt nh, im bt u v im kt thc tin trnh. V d : s hot ng n gin ca hot ng mn sch th vinKim tra cc sch mn[c gi n mn sch] [Sch mn3]

Ly sch

Cp nht thng tin mun

Cc h thng s dng UML trong vic m hnh hoVic s dng UML trong qu trnh m hnh ho c th p dng trong cc loi h thng sau : H thng nghip v (business system) : m t ti nguyn (nhn lc, ti lc, ti sn,), mc tiu, lung cng vic, cc qui tc, rng buc trong hot ng sn xut kinh doanh ca doanh nghip. V d : cc cng ty sn xut, ca hng kinh doanh, y t, gio dc, H thng thng tin (informaton system) : thu thp v lu tr, bin i d liu nhm cung cp thng tin p ng nhu cu ngi nhn trong cc t chc hot ng nghip v. H thng thng tin cng c chia thnh nhiu loi tu thuc vo quy m v phc tp : h thng thng tin tc nghip : l h thng chuyn x l vic thu thp v truy tm thng tin trong mi hot ng nghip v. H thng thng tin qun l : x l tng hp d liu thng qua cc thng k bo co nhm p ng thng tin cho cc nh qun l theo di tnh hnh hot ng. H thng thng tin chuyn gia, h h tr ra quyt nh : x l v tri thc ho cc d liu hin@ i Hc KHTN-TP HCM ; ASIA-ITC 29

Phn tch thit k h thng hng i tng bng UML

ti nhm p ng cc nhu cu nng cao v mt thng tin nh l h tr gii p t ng, h tr ra quyt nh, d bo tnh hnh tng lai, Phn mm h thng (System software) : xy dng cc cng c phn mm c s cho cc phn mm khc s dng nh l h iu hnh, h qun tr c s d liu, cng c pht trin,. H thng nhng (embeded system) : l mt loi h thng phn mm c xy dng gn trn mt loi thit b nh : in thoi di ng, thit b iu khin, Cc h thng nhng ny thng c lp trnh dng ngn ng cp thp hoc chuyn dng v c b nh lu tr cng nh mn hnh. H thng k thut (Technical system) : x l v iu khin cc thit b k thut nh h thng vin thng, h thng qun s, hay cc qu trnh x l k thut cng nghip (dy chuyn sn xut, vn hnh my mc,). y l loi thit b phi x l cc giao tip c bit , khng c phn mm chun v thng l cc h thng thi gian thc (real time).

@ i Hc KHTN-TP HCM ; ASIA-ITC

30

Phn tch thit k h thng hng i tng bng UML

PHN 2 PHN TCH H THNGMc tiuGip cho ngi hc nm vng cc ni dung v: Tin trnh phn tch hng i tng Tin trnh, ni dung v cc phng php kho st yu cu Phn tch chc nng h thng bng m hnh ho use case Hiu v h thng nghip v v m hnh ho h thng nghip v Phn loi v xc nh i tng h thng bng vic xy dng s lp

Gii thiuBc u tin tm ra mt gii php thch hp cho vn h thng l hiu vn v lnh vc ca h thng . Mc tiu chnh ca phn tch l nm bt mt hnh nh y , khng m h, v nht qun v yu cu h thng v nhng g h thng s phi lm p ng i hi v nhu cu ngi dng. iu ny c thc hin bng cch xy dng cc m hnh ca h thng vi mc tiu tp trung vo kha cnh biu din h thng v mt ni dung (ngha l cc m hnh tp trung vo lm r h thng c nhng g) hn l cch thc m h thng thc hin ni dung . Do , kt qu ca giai on phn tch l lm r cc yu t h thng t quan im v cch nhn ca ngi s dng m khng quan tm n cch thc chi tit m my tnh thc hin ni dung . Phn tch l mt tin trnh chuyn i mt nh ngha vn t mt tp m cc s kin, cc d kin mang tnh tng tng thnh mt din t cht ch cc yu cu h thng. Thc s, phn tch l mt hot ng mang tnh sng to bao gm vic hiu vn , cc rng buc lin quan n vn v cc phng php khng ch hoc gii quyt nhng rng buc. y l mt tin trnh lp cho n khi cc vn phi c r rng. Phn ny gm ba chng bao gm: xc nh yu cu h thng; m hnh ho use case; m hnh ho nghip v; v xy dng s lp.

@ i Hc KHTN-TP HCM ; ASIA-ITC

31

Phn tch thit k h thng hng i tng bng UML

Chng 4 XC NH YU CU H THNGMc tiuQua chng ny, chng ta c th hiu: Mc tiu ca vic kho st h thng Ni dung ca vic kho st v cc i tng tip cn kho st Mt s phng php kho st: phng vn, bng cu hi, phng vn nhm, phn tch ti liu, thit k kt hp ngi dng, bn mu (prototype) Yu cu v vic phn loi cc yu cu h thng

Mc ch kho st yu cuKho st h thng l nhm thu thp tt nht thng tin phn nh v h thng hin ti, t lm c s cho vic phn tch v xy dng h thng mi gii quyt tn ti bt cp ca h thng. Vy kho st yu cu bao gm nhng mc tiu sau: Tip cn vi nghip v chuyn mn, mi trng ca h thng Tm hiu vai tr, chc nng, nhim v v cch thc hot ng ca h thng Nu ra c cc im hn ch, bt cp ca h thng cn phi thay i a ra c nhng vn ca h thng cn phi c nghin cu thay i.

Ni dung kho stNi dung kho st phi tm hiu c cc ni dung ca h thng nh sau: Cc mc tiu hot ng ca n v, cc cng vic v cch thc hot ng t nhng mc tiu . Nhng thng tin cn thc hin cng vic tng loi cng vic Cc ngun d liu (nh ngha, cu trc, dung lng, kch thc,) bn trong v bn ngoi n v. C th bao gm: o Cc h s, s sch, tp tin o Biu mu, bo co, qui tc, quy nh, cng thc. o Cc qui tc, qui nh rng buc ln d liu o Cc s kin tc ng ln d liu Tm hiu khi no, nh th no, v bi ai cc d liu c to ra, di chuyn, bin i v c lu tr. ng vi mi x l thc hin tm hiu: o Phng php: cch thc thc hin o Tn sut: s ln thc hin trong mt n v thi gian o Khi lng: ln thng tin thc hin o phc tp: x l l mt l mt qu trnh phc tp lin quan n nhiu loi d liu hay ch l mt tnh ton n gin vi mt vi loi d liu. o chnh xc: chnh xc ca kt qu thc hin Th t v cc ph thuc khc gia cc hot ng truy xut d liu khc nhau32

@ i Hc KHTN-TP HCM ; ASIA-ITC

Phn tch thit k h thng hng i tng bng UML

-

Cc chnh sch, hng dn m t hot ng qun l, th trng v mi trng h thng Cc phng tin, ti nguyn c th s dng Trnh chuyn mn s dng vi tnh ca cc i tng x l thng tin h thng Mi trng h thng (kinh t, x hi, c quan ch qun) Cc nh gi, phn nn v h thng hin ti; cc xut gii quyt.

i tng kho stC nhiu ngun c th cung cp thng tin p ng ni dung kho st yu cu. Mi ngun c mt hnh thc khc nhau do phi c mt cch tip cn kho st khc nhau. Cc i tng kho st l: Ngi dng Cc cn b lnh o, cn b qun l: cc i tng ny s gip cho phn tch vin nm bt c tng quan cu trc h thng, mc tiu chung m h thng mi mong mun mang li. Cc thng tin m i tng ny mang li thng l chiu rng, mang tnh tng th, chin lc khng m t chi tit cch thc phi thc hin. Ngi s dng, nhn vin nghip v: cc i tng ny s cung cp thng tin chi tit cch thc m h ang thc hin cng vic gm cc bc c th, cc giy t biu mu lin quan. Cc thng tin m i tng mang li thng l chiu su, chi tit, cc b b qua tng chin lc mang tnh tng th. Nhn vin k thut: cc i tng ny s cung cp thng tin v tnh trng cng ngh, trang thit b, phn mm hin hnh ang s dng v kh nng, trnh v k thut ca h. Cc i tng ny thng tr gip rt ln trong vic hun luyn, trin khai v bo tr h thng mi. Ti liu v s sch, biu mu, tp tin: ngun cung cp cc thng tin v d liu, lung d liu, giao dch v x l giao dch. c bit l cc biu mu y chnh l kt qu u ra ca h thng. Ti liu v qui trnh, th tc: ngun cung cp thng tin v qui trnh x l, vai tr x l ca cc nhn vin, chi tit m t cng vic ca nhn vin, cc qui nh th tc. Cc thng bo: cc mu thng bo ca h thng i vi mi trng ngoi, gia cc b phn trong h thng (v d: thng bo hp mt khch hng, thng bao mi thu, thng bo t chi n hng, hoc cc thng bo ni b nh l thng bo b nhim, thng bo nng lng,) Cc chng trnh phn mm h thng ang s dng, cc chng trnh ny gip xc nh c cu trc d liu h thng, thi quen ca ngi s dng, chc nng m h thng mi cha p ng c, s liu th nghim h thng.

-

-

Ti liu -

-

Chng trnh my tnh -

Phng php xc nh yu cuCc phng php truyn thng xc nh yu cuPhng vn Phng vn l mt hnh thc kho st thu thp thng tin trc tip t cc i tng s s dng h thng. V mi ngi dng s c nhng hiu bit nht nh v mt phn cng vic ca mnh trong h thng hin ti v mong mun h thng mi v nhng g s phc v v tr gip@ i Hc KHTN-TP HCM ; ASIA-ITC 33

Phn tch thit k h thng hng i tng bng UML

cho cng vic ca h. V d: mt k ton vin chi tit th bit c chi tit cc loi chng t, cch sp xp v x l chng t, cn k ton vin tng hp th ch quan tm n nhng s liu no v cch thc tng hp s liu to ra cc bo co thng k, tng hp, Do , vic phng vn phi c thc hin trn nhiu ngi dng khc nhau (ba loi ngi dng) nhm thu thp nhiu nht yu cu h thng. Phng vn l mt cch thc i thoi trc tip trong , phn tch vin s ra cu hi v i tng phng vn s tr li cu hi. Qui trnh cc bc thc hin nh sau: Phn tch vinLn k hoch phng vn

n vXc nhn k hoch phng vn

Chun b ch , cu hi phng vn

Xp xp nhn s tham gia phng vn

Gi ch phng vn

t cu hi

Tr li

Ghi nhn

Kim tra v nh gi kt qu

B sung hoc xc nhn kt qu

Tm kim cc quan im khcHnh 1. S m phng qu trnh phng vn

u tin phn tch vin chun b mt k hoch phng vn tng qut, k hoch ny s lit k tt c cc lnh vc ca h thng cn kho st v thi gian d kin cho tng lnh vc. Mu k hoch nh sau: K hoch phng vn tng quan H thng:. Ngi lp: STT Ch Ngy lp:../../. Yu cu Ngy bt u Ngy kt thc

@ i Hc KHTN-TP HCM ; ASIA-ITC

34

Phn tch thit k h thng hng i tng bng UML

K hoch phng vn ny s c gi n n v c xc nhn v thi gian v b tr nhn vin no s tham gia tr li phng vn. Mt cuc phng vn s hiu qu hn khi ngi phng vn chun b cc cu hi v thit lp cho mnh mt hng dn phng vn v i tng tr li bit trc c cc cu hi chun b th chc chn thng tin tr li s xc nh hn v thi gian phng vn s c rt ngn. Sau khi kt thc phng vn, phn tch vin phi dnh thi gian tng hp li cc kt qa ghi nhn c, loi b cc thng tin trng lp, tm ra vn no vn cha r rng cn phi hi li, nu cn thit gi bn kt qu phng vn n ngi c phng vn nh xc nhn li. Sau , phn tch vin nn tham kho thm cc quan im khc v vn phng vn c mt quan im tng quan hn trong vic nh gi kt qu ghi nhn c. Bng k hoch hng dn bui phng vn H thng: Ngi phng vn:. V tr/ phng tin Vn phng, phng hp, in thoi, Mc tiu: D liu g? Lnh vc no? Chi tit bui phng vn Gii thiu Tng quan ca h thng Ch 1 Cc cu hi Ch 2 Cc cu hi ... Tm tt cc im chnh Cu hi ca ngi tr li phng vn Kt thc Quan st tng quan Pht sinh ngoi d kin Bng cu hi mu dnh cho phn tch vin chun b cu hi v ghi nhn kt qu phng vn (kt qu tr li v kt qu quan st v thi c ch biu hin bn ngoi) Ngi c phng vn: Cu hi Cu hi 1: Ngy:../../. Ghi nhn Tr li: Tng: Thi gian c lng (pht) Phn tch vin:..

@ i Hc KHTN-TP HCM ; ASIA-ITC

35

Phn tch thit k h thng hng i tng bng UML

Kt qu quan st: V d: Ngi c phng vn: Trn Th X Cu hi Cu hi 1: Ngy: 05/08/2003 Ghi nhn Tr li:

Tt c n hng ca khch hng phi Phi thanh ton trc hoc ngay khi giao. c thanh ton trc ri mi giao hng? Kt qu quan st: Thi khng chc chn Cu hi 2: Tr li Anh Ch mun h thng mi s gip cho D liu ch nhp mt ln v cc bo co Anh Ch iu g? t ng tnh ton Kt qu quan st Khng tin tng lm, hnh nh trin khai tht bi mt ln Loi cu hi phng vn: Cu hi m: l cu hi gip cho vic tr li c t do trong phm vi h thng. Kt qu tr li khng tun theo mt vi tnh hung c nh. Mc ch ca cu hi m l khuyn khch ngi tr li a ra c tt c kin c th trong khun kh cu hi. Do , cu hi m dng thm d, gi m vn v ngi tr li phi c mt kin thc tng i. V d: Anh (Ch) ang x l thng tin g? hoc Anh (Ch) c kh khn g khi qun l d liu ca mnh? Cu hi ng: l cu hi m s tr li l vic chn la mt hoc nhiu trong nhng tnh hung xc nh trc. Do , cu hi ng c dng xc nh mt tnh hung c th. V d: iu no di y l tt nht i vi HTTT Anh (Ch) ang s dng? D dng truy cp n tt c d liu cn Thi gian tr li tt nht ca h thng Kh nng chy ng thi vi cc ng dng khc Cu hi ng thng c thit k theo mt trong nhng dng sau: ng sai Nhiu chn la (c th mt tr li hoc tr li tt c chn la) T l tr li: t xu n tt, t rt ng n hon ton khng ng . Mi im trn t l nn c mt ngha r rng v nht qun v thng c mt im trung lp gia Xp hng cc chn la theo th t mc quan trng

Xp xp cu hi: th t cu hi phi hp l, ph hp vi mc tiu kho st v kh nng ca ngi tr li. Cc th t c th l: Thu hp dn: ban u l nhng cu hi rng, khi qut v cng v sau th thu hp n mt mc tiu. M rng dn: ban u cp n mt im no ri m rng dn phm vi cp36

@ i Hc KHTN-TP HCM ; ASIA-ITC

Phn tch thit k h thng hng i tng bng UML

Cu hi m u im Khuyt im Thi gian d ko di Ni dung tr li c th vt phm vi cu hi Khng rng buc kt qu tr li C th pht sinh tng mi -

Cu hi ng Thi gian tr li ngn Ni dung tr li tp trung, chi tit

Mt nhiu thi gian chun b cu hi Khng m rng c kt qu tr li

Kho st dng bng cu hi (questionaire) Phng vn l mt phng php hiu qu trao i v thu thp c nhng thng tin quan trng t pha ngi dng. Tuy nhin, thc hin phng vn cng rt tn km v thi gian v ngun lc. Phng phng kho st dng bng cu hi t tn km hn, thi gian tr li li nhanh hn, kt qu xc nh hn v thu thp c thng tin t nhiu i tng hn trong cng mt thi gian ngn. Tuy nhin, phng php ny li th ng v t mang li chiu su hn phng php phng vn. thc hin, cc cng vic phn tch vin cn phi lm r: Tp hp cu hi thnh tng nhm Phn loi cc i tng s dng thnh nhm v gi nhm cu hi no n nhm ngi no. Tng qut , vic gm nhm s c thc hin bi mt hoc s kt hp ca bn phng php sau: o i tng tch cc: i tng c v tr thun li, sn lng c kho st, hoc nhng i tng c nhiu ng lc tr li nht. o Nhm ngu nhin: chn ngu nhin mt nhm ngi dng trong danh sch gi cu hi. o Theo ch nh: chn nhng ngi tho cc tiu chun xc nh no . V d: nhng ngi lm vic vi h thng 2 nm tr ln, nhng ngi thng xuyn s dng h thng, o Chn theo loi: ngi dng, qun l, Thng thng, ngi ta kt hp cc phng php li. Trong bt k trng hp no khi nhn c tr li chng ta nn kim tra li cc trng hp khng tr li tm ra nguyn nhn v xem xt cc kt qu tr li l hp l v c chp nhn khng. So snh gia phng vn v bng cu hi c lit k di y c im Phng vn Bng cu hi S phong ph thng Cao (qua nhiu knh: tr li, Trung bnh ti thp (ch tr tin c ch,) li) Thi gian Chi ph C th ko di C th cao Thp, va phi Va phi

C hi nm bt v Tt: vic pht hin v chn lc Hn ch: sau khi thu thp pht hin cc cu hi c th c t ra d liu c s bi hoc ngi phng vn@ i Hc KHTN-TP HCM ; ASIA-ITC 37

Phn tch thit k h thng hng i tng bng UML

hoc ngi c phng vn Tnh bo mt Vai tr tham gia Mi ngi bit ln nhau Khng bit ngi tr li Ngi c phng vn ng Tr li th ng, khng mt vai tr quan trng v c chc chn quyt nh kt qu th quyt nh kt qu

Phng vn nhm Cc yu cu c thu thp c th s dng phng php phng vn hoc iu tra dng bng cu hi. Tuy nhin, cc kt qu phng vn cc i tng khc nhau c th dn n s khng nht qun thng tin v h thng hin hnh v yu cu v h thng mi. Do , chng ta li phi thc hin vic kim tra, chn lc v quyt nh chnh xc u l thng tin ng v c chp nhn cui cng. Thng thng chng ta tip tc thc hin cc trao i v gp g cc nhn vt quan trng c th quyt nh nh v gii hn c kt qu thng tin. Cc cuc phng vn mi ny thng tn thi gian v c khi li tr li li cc cu hi m chng ta c tr li trc bi nhng ngi khc. Do , phng php phng vn tng c nhn ring l vn cn nhng hn ch nht nh.Phn tch vin Cu hi v nghip v Ngi phng vn Tr li v k thut

Cu hi v k thut

Phng vn nhm Tr li v nghip v

Tr li v k thut Cu hi tng quan,

Phng vn nhm l mt phng php tt c th gip gii quyt c nhng yu cu tri ngc nhau. Cc c im ca phng vn nhm bao gm: Nhiu phn tch vin ph trch nhiu lnh vc khc nhau Nhiu i tng phng vn khc nhau mi i tng ph trch mt lnh vc, c th phn cp t qun l n nhn vin trc tip lin quan. T chc mt bui phng vn chung gm cc phn tch vin v cc i tng phng vn. Mi phn tch vin c th t cu hi v cc i tng u c th tr li. Phn tch vin c th ghi nhn li ch nhng kin lin quan n lnh vc ca mnh. Gim thiu thi gian phng vn: tt c cc yu cu s c thng sut ti mt thi im thay v phi phng vn tng i mt ti nhng thi im khc nhau v thi gian s ko di ra38

Li im: -

@ i Hc KHTN-TP HCM ; ASIA-ITC

Phn tch thit k h thng hng i tng bng UML

-

Cho php cc i tng phng vn nghe c kin ch o ca lnh o trn nhng kin bt ng lin quan n mt vn t ra. y l c hi lm cho cc i tng thng sut c kin ch o lin quan n h thng mi.

Nhc im: Nhc im chnh l rt kh t chc mt bui phng vn nhm v kh tm c mt thi gian v v tr thch hp cho tt c mi ngi. Ngy nay vi cng ngh truyn thng pht trin cho php t chc mt bui hp vi cc thnh vin khong cch xa nhau (v d: dng Video conference). Quan st trc tip Quan st trc tip ti ni lm vic, hin trng nhm thu thp chnh xc cch thc v qui trnh lm vic thc t ca h thng. u im: m bo tnh trung thc ca thng tin. Bi v cc phng php phng vn b ph thuc vo cch thc m ngi dng tr li, kin thc v ch quan ca h, Thu thp tt v thng tin m t tng quan v h thng. Thi gian c th ko di. Lm cho ngi dng kh chu khi thc hin cng vic, v c cm gic nh b theo di. Do , h thng thay i cch thc lm vic khng ng vi hin trng.

Hn ch

Thng thng, ngi ta kt hp cc phng php phng vn vi phng php quan st tin hnh kho st. Phn tch ti liu v th tc Phng php quan st h thng hot ng l phng php trc tip th phng php nghin cu ti liu v t tc l phng php quan st gin tip, bi v n khng nghin cu trc tip hin trng h thng m thng qua cc vn bn, giy t, ti liu, tp tin my tnh, m t h thng. Phng php ny gip xc nh chi tit v h thng hin hnh. C rt nhiu ti liu lin m t hot ng h thng, cc yu cu ca h thng trong tng lai: ti liu m t nhim v, cc k hoch kinh doanh, cu trc t chc, cc tra cu v chnh sch, bn m t cng vic, cc th tn bn trong v bn ngoi, cc bo co nghin cu, Chng ta c th thu thp c nhiu loi thng tin t cc hot ng chung ca n v n cc d liu c bn, d liu cu trc. Thng thng phng php ny kt hp vi phng php phng vn mc thp.

@ i Hc KHTN-TP HCM ; ASIA-ITC

39

Phn tch thit k h thng hng i tng bng UML

Ti liu hon chnh

Ti liu

Ti liu giao dch: chng t, th t, thng bo, Ti liu lu: s sch, tp tin, bo co, Ti liu tng hp: bo co, thng k, k hoch Ti liu t chc, chnh sch: cu trc t chc, m t cng vic, qui trnh, th tc, Ti liu b sung: bng hi, phiu thu thp, Ti liu nghin cu: bo co nghin cu, Ti liu chun b: cuc hp, my tnh,

Ti liu lm tip

Phn tch ti liu s mang li cc thng tin sau: Cc vn tn ti trong h thng (thiu thng tin, cc bc x l d tha) Cc c hi h thng p ng nhu cu mi (v d: vic phn tch ti liu cho thy t d liu lu tr m lu nay khng c th phn tch thng tin tng loi khch hng , iu ny to mt c hi cho b phn bn hng l c th nh gi v phn tch hot ng bn hng) Phng hng t chc c th tc ng n cc yu cu ca HTTT (v d: mt phng hng mi ca n v l lin kt khch hng v nh cung cp gn gi hn na vi n v m trc y cha tnh n hoc cha thc hin. Phng hng ny lm ny sinh cc nhu cu mi v HTTT cn c p ng nh l: h thng mi cn m ra cc knh lin lc thng tin cho khch hng, x l cc nh gi dch v khch hng,) L do tn ti ca h thng hin hnh, nhng chi tit khng c qun l bi h thng hin hnh v by gi th cn thit v kh thi trong h thng mi. Tm ra tn v v tr ca nhng c nhn c lin quan n h thng. Gip cho vic giao tip lin lc ng mc tiu hn. Gi tr ca n v, c nhn c th tr gip xc nh cc u tin i vi nhng kh nng khc nhau n t nhiu ngi dng khc nhau. Cc trng hp x l thng tin c bit khng thng xuyn khng th c xc nh bi nhng phng php khc. D liu cu trc, qui tc x l d liu, cc nguyn l hot ng c thc hin bi HTTT.

-

-

Mt loi ti liu hu dng khc l cc th tc m t cng vic ca tng c nhn hoc nhm. Cc th tc ny m t cch thc mt cng vic hot ng, gm d liu v thng tin c s dng v c to ra trong qu trnh thc hin cng vic. Tuy nhin, vic phn tch ti liu th tc cng c mt s nhc im sau: Cc th tc cng l ngun thng tin khng ng, trng lp Thiu ti liu Ti liu ht hn: dn n vic phn tch ti liu cho mt kt qu khng ng vi kt qu khi phng vn.

@ i Hc KHTN-TP HCM ; ASIA-ITC

40

Phn tch thit k h thng hng i tng bng UML

Cc phng php mi xc nh yu cuThit k kt hp ngi dng (JAD - Join Application Design) Mc tiu ca JAD l mt tin trnh xc nh yu cu trong ngi dng, nh qun l v cc nh phn tch lm vic vi nhau trong mt vi ngy din ra trong cc bui hp tp trung (trong mt phng) xc nh hoc kim tra li cc yu cu h thng v cc thit k chi tit. Do , JAD c hnh thc nh l phng php phng vn nhm. Tuy nhin, JAD i theo mt cu trc vai tr v chng trnh c bit hon ton khc vi phng php phng vn nhm l phn tch vin iu khin th t cu hi c tr li bi ngi dng. Mc ch chnh ca JAD trong giai on phn tch l thu thp yu cu h thng mt cch ng thi t nhiu i tng khc nhau, kt qu l mt tin trnh tp trung, c cu trc nhng c hiu qu cao. im ging nhau vi phng vn nhm l JAD cng cho php cc phn tch vin quan st v xc nh c u ng v u c bt ng trong cc ngi dng. Cc cuc gp g din ra trong vng nhiu ngy to ra c hi gii quyt bt ng hoc t nht cng hiu c ti sao c bt ng. Thnh phn ca JAD bao gm: Mt a im: mt a im (phng hp) c y cc trang thit b h tr cho cuc hp, mc ch l lm cho mi ngi c tp trung cao trong vic phn tch h thng. Ngi tham d bao gm: o Ngi ch tr: iu hnh cuc hp, thit lp chng trnh, gi thi trung lp, tp trung vo vic hng cuc hp vo ng chng trnh, gii quyt bt ng. o Ngi dng: i din ngi s dng h thng o Phn tch vin h thng: cc phn tch vin t cu hi v h thng o Ngi ghi chp: ghi chp tt c cc tng tin qu trnh din ra JAD o Nhn vin HTTT: ngoi cc phn tch vin, bao gm thm cc lp trnh vin, phn tch vin CSDL. Chng trnh: chng trnh th hin ni dung ca JAD bao gm cc bc v cuc hp phi din ra ng chng trnh ny Cng c: cc cng c tr gip phn tch thit k (thit k bn mu, v s ,), nh gi v tr gip cho cc phn tch nng cao hiu qu v gim thiu thi gian ca JAD.

S dng bn mu (prototype) xc nh yu cu S dng bn mu nh mt k thut xc nh yu cu, phn tch vin lm vic vi ngi dng xc nh cc yu cu c bn v ban u ca h thng. Sau , phn tch vin da trn yu cu ny xy dng mt bn mu ban u. Bn mu khi hon thnh s gi n ngi dng ngi dng s dng th v kim tra. c bit, vic trc quan ha cc m t yu cu bng li c chuyn i thnh h thng vt l s nhc nh ngi dng thay i nhng yu cu tn ti khng ph hp v pht sinh nhng yu cu mi (v d: trong bui phng vn ban u, ngi dng mun xy dng mt form nhp ha n vi tt c thng tin v khch hng, ho n, dch v, hng ho, qu trnh thanh ton, theo cch ngh ca ngi dng l tin li. Tuy nhin sau khi s dng bn mu, ngi dng s cm thy phc tp, ln ln v s thay i yu cu vi nhiu form khc nhau v s di chuyn hp l gia cc form). Kt qu th nghim ca ngi dng s phn hi ti phn tch vin v phn tch vin s dng thng tin phn hi ny ci tin bn mu ri tip tc gi n ngi dng v vng lp ny c tip tc nh vy cho n khi bn mu tho mn ngi dng.@ i Hc KHTN-TP HCM ; ASIA-ITC 41

Phn tch thit k h thng hng i tng bng UML

Khi s dng phng php ny, phn tch vin cng phi s dng cc phng php truyn thng thu thp thng tin ban u.

Xc nh bi ton

Cc yu cu ban u Xy dng bn mu

Chuyn i ti h thng vt l Nu bn mu khng Ci t v s dng bn mu

Bn mu Cc yu cu mi

Vn pht sinh Phin bn k tip nh gi v nng cp bn mu

Hnh 2.

S xc nh yu cu dng phng php bn mu (The New paradigm for Systems Development J.D. Naumann & A.M. Jenkins )

Phng php bn mu s rt hu dng xc nh yu cu trong cc trng hp sau: Yu cu cha r rng v thng sut, thng l cc trng hp v h thng mi hoc l cc trng hp v h h tr ra quyt nh. Ngi dng v cc thnh vin khc tham gia vo vic pht trin h thng. Vic thit k phc tp v i hi phi c mt hnh thc c th nh gi. C nhng vn giao tip tn ti gia phn tch vin v ngi dng v tt c u mong mun lm sng t. Cng c (c bit l cng c pht sinh form v report) v d liu sn sng xy dng h thng. To ra mt xu hng lm vic khng theo chun ti liu hnh thc v yu cu h thng, v iu ny lm kh khn hn pht trin mt h thng y cn phi c mt chun mc tun theo. Cc bn mu c th tr thnh rt c th phong cch ca ngi dng ban u v kh thch ng vi nhng ngi dng tim nng khc. Cc bn mu thng c xy dng trn cc h thng n. Do , n b qua cc pht sinh v tng tc v chia s d liu vi nhng h thng khc.

Phng php ny cng c mt s hn ch: -

-

V d: m t kho st hot ng ca h thng my ATM ngn hng ABC ATM l mt loi my rt tin t ng, my c cc ngn hng lp t h tr cho khch hng c th rt tin cc v tr thun tin m khng phi n ngn hng. Hot ng ca my c m t nh sau: H thng c thit k iu khin mt my giao dch t ng (ATM Automated Teller@ i Hc KHTN-TP HCM ; ASIA-ITC 42

Phn tch thit k h thng hng i tng bng UML

Machine) c mt u c t c th ATM, mt mn hnh giao tip (hin th v bn phm), mt khe nh chuyn tin, mt khay ng tin, mt my in in ho n v mt cng tc cho php nhn vin vn hnh bt v tt my. My ATM s giao tip vi h thng ngn hng thng qua mt phng thc thch hp. My ATM s phc v cho mt khch hng ti mt thi im. Khch hng ca ngn hng s c lu tr thng tin v tn, s th v PIN code (gm 4 k s) dng nhn dng khch hng, khch hng c th gi v rt tin t ti khon ca mnh ti my ATM. Mt khch hng phi c mt ti khon ti ngn hng. Vi ti khon ny, khch hng c th thc hin cc giao dch c cung cp bi my ATM ca ngn hng. Khi khch hng n my ATM s dng, khch hng s c yu cu a th vo my, hoc nhp vo s th v m PIN kim tra. Sau khi kim tra thnh cng, khch hng c th thc hin mt s giao dch trn my nh sau: Rt tin: khch hng nhp vo s tin cn rt. Nu s tin d trong ti khon tin gi nh hn s tin rt, h thng t ng to thm mt giao dch rt tin t ti khon tit kim. Nu s d trong ti khon vn khng h thng s thng bo cho khch hng v kt thc giao dch. - Gi tin: khch hng c th thc hin vic gi tin vo ti khon tin gi hoc tit kim. - Xem thng tin ti khon: khch hng c th chn xem thng tin v ti khon ca mnh sau khi ng nhp vo h thng. Khch hng cng c th hu b thc hin mt dch v bng vic chn hu b hoc ng t giao din my. -

Yu cuYu cu l: mt iu kin, hoc kh nng m h thng phi p ng. Yu cu c th phn thnh hai loi ln l yu cu chc nng (functional requirement) v yu cu phi chc nng (nonfunctional requirement):

Yu cu chc nngKhi m t v mt h thng, chng ta ngh ngay n h thng s c nhng g thc hin trn quan dim ngi s dng. Nhng vic thc hin ny c xem nh l cc hnh ng m h thng phi thi hnh v c m t nh l chc nng, hnh vi, v yu cu. Yu cu chc nng c dng din t hnh vi ca mt h thng bng vic xc nh tt c iu kin u vo v u ra t c mt kt qu mong mun. Vic biu din yu cu chc nng thng thng qua cc s . Trong UML chng ta c th dng s use case, s hot ng, s tng tc. V d, trong mt s use case. Mi use case dng biu din mt chc nng ca h thng cn c cung cp ti mt i tng tc nhn.Use case 1 Mi use case m t mt chc nng m h thng cn c p ng yu cu

Use case 2

@ i Hc KHTN-TP HCM ; ASIA-ITC

43

Phn tch thit k h thng hng i tng bng UML

Yu cu phi chc nngL cc c im cht lng ca chc nng m h thng cn p ng nhm tho mn nhu cu ngi s dng. Cc c im cht lng ny c gi l cc yu cu phi chc nng. Chng ta phn loi yu cu phi chc nng nh sau: S tin li (usability): l cc yu cu v yu t thm m con ngi, tnh d hc, d s dng v s nht qun ca giao din, ti liu s dng v cc ti nguyn hun luyn. S tin cy (realibility): l cc yu cu v tn sut v gii hn v hng hc, kh nng phc hi, kh nng d on v chnh xc. Hiu nng (performance): l cc iu kin p t ln cc yu cu chc nng. V d: t l giao tc thc hin, tc thc hin, tnh sn sng, chnh xc, thi gian p ng, thi gian phc hi, dung lng b nh s dng cho mt hot ng thi hnh bi h thng. Kh nng chu ng (supportability): l cc yu cu v bn, kh nng duy tr, v cc yu cu khc v cht lng i hi h thng phi c cp nht sau thi im trin khai.

-

Phn loi yu cuVi cch tip cn truyn thng, cc yu cu c xem nh l cc c t vn bn tng ng vi mt trong hai loi trn, c din t qua hnh thc: H thng s . Tuy nhin, qun l y yu cu mt cch c hiu qu, cc yu cu phi c m t da trn s hiu bit ca ngi dng v cc i tng c lin quan. S hiu bit ny cung cp cho nhm pht trin l do ti sao? cng nh ci g? ca h thng s c pht trin. V h thng s lin quan n nhiu loi i tng khc nhau do , yu cu ca h thng cng c th c phn loi theo nhiu cp khc nhau: Nhu cu (need): M t cc yu cu mc cao thng l cc i tng c lin quan n d n nh l: ngi u t, ngi hng li t d n, ngi dng cui, cng nh ngi mua, ngi thu, ngi pht trin, ngi qun l, hoc nhng i tng khc m nhu cu ca h h thng phi p ng. Thu thp cc nhu cu ny chng ta phi kho st thng qua cc phng php kho st nh cp bn trn. Cc nhu cu c thu thp thng thng m t mc cao, khng r rng, nhc nhn v thng bt u nh l mt nhu cu hoc mong mun. V d cc nhu cu c th l: Ti cn gia tng kh nng sn xut, Ti c nhu cu m rng kh nng p ng n hng, Ti c nhu cu ci tin hiu nng hot ng ca h thng Ti mun m rng vic khai thc s liu ca khch hng Cc nhu cu ny c xem nh l mt tp hp rt quan trng gip chng ta hiu v cc mong mun thc s ca cc i tng lin quan mc cao v n s cung cp cc u vo then cht ti cc yu cu chi tit ca h thng gip chng ta xc nh cc l do v ni dung hnh vi h thng. c im h thng (feature) Trong qu trnh kho st h thng, nhu cu v yu cu thng i i vi nhau. Trong khi nhu cu l nhng ci mong mun mang li t h thng trn quan im cn khng r rng th yu cu ngc li c m t mang tnh gii php cho nhng nhu cu .@ i Hc KHTN-TP HCM ; ASIA-ITC 44

Phn tch thit k h thng hng i tng bng UML

V d: mt nhu cu Ti mun thng bo n nh cung cp nhanh hn th mt yu cu l h thng s pht sinh thng bo t ng qua email n nh cung cp Cc yu cu ny chnh l cc biu thc mc cao v hnh vi h thng gi l c im (feature). Xt v kha cnh k thut, c im c xem nh l mt dch v c cung cp bi h thng p ng nhu cu. Nh vy, c im ca h thng chnh l s chuyn i quan im v ci g (thng bo nhanh hn) thnh nh th no (email t ng). xc nh mt c im chng ta c th thm vo mt s thuc tnh khc nh l: ri ro, u tin, n lc Yu cu phn mm thch hp hn trong qu trnh trao i vi ngi pht trin v chnh xc nhng g m h thng s lm. Chng ta cn mt a vo thm mt mc c t chuyn dch nhng nhu cu v c im thnh mt c t m chng ta c th thit k, ci t, th nghim. Cc c t ny gi l yu cu phn mm v c th tip cn theo hai loi: yu cu chc nng v yu cu phi chc nng. Nhu cu c im

Yu cu phn mm

Yu cu v thit k/ th nghim/ ti liu

Cu hi v bi tpCu hi1. Mc ch ca kho st yu cu l g? 2. Cn tip cn nhng i tng no trong qu trnh kho st? 3. Cn tu thp cc ni dung g trong qu trnh kho st? 4. Cc phng php kho st yu cu? 5. u v khuyt im ca phng php phng vn? 6. u v khuyt im ca phng php dng bng cu hi? 7. Yu cu l g? Nh th no l yu cu chc nng, phi chc nng? 8. Yu cu c phn thnh bao nhiu loi? ngha ca tng loi?

@ i Hc KHTN-TP HCM ; ASIA-ITC

45

Phn tch thit k h thng hng i tng bng UML

Chng 5 M HNH HO USE CASEMc tiuNi dung ca chng ny cung cp cho sinh vin: Hiu ngha ca vic s dng s use case trong biu din yu cu h thng Xc nh c cc tc nhn v mi quan h gia cc tc nhn ca mt h thng phn mm Xc nh c cc use case biu din chc nng phn mm h thng v mi quan h gia tc nhn c use case nhm xy dng s use case m t yu cu phn mm h thng Tinh ch s use case nhm lm gia tng tnh din t, tnh ti s dng qua vic s dng cc lin kt ,

-

Gii thiuTrong giai on phn tch, kt qu ca qu trnh kho st yu cu phn nh qu trnh lm vic ca ngi pht trin vi ngi s dng. Cc kt qu ny phi nhm n yu t ca ngi dng. C ngha l ngi pht trin trc tin phi din t bc tranh ca h thng tng lai theo cch nhn ca ngi s dng. iu ny s gip cho ngi dng c th thy c h thng s lm tho mn cc yu cu nh th no v chnh l cha kho u vo cho vic pht trin h thng trong cc giai on v sau. Mt cng c gip din t iu ny chnh l m hnh use case. Jacobson v cng s ca ng (1992) l nhng ngi tin phong trong vic s dng m hnh use case phn tch yu cu h thng. Bi v m hnh use case t trng tm biu din h thng hin ti lm g, h thng mi s lm g v mi trng ca n. N gip cho ngi pht trin c th hiu r v yu cu chc nng h thng m khng quan tm n chc nng ny c ci t nh th no. hiu yu cu ca h thng, chng ta phi tm ra ngi dng s s dng h thng nh th no. Do , t quan im mt ngi dng, chng ta pht hin cc tnh hung s dng khc nhau ca ngi dng, cc tnh hung ny c thit lp bi cc use case. Tng hp cc use case v tc nhn cng vi quan h gia chng s cho ta mt m hnh use case m t yu cu ca h thng. Trong chng 6, qu trnh m hnh ho nghip v c p dng i vi cc h thng nghip v v kt qu ca n s cung cp s use case t vic thng nht cc yu cu h thng phn mm t ng ho hot ng ca h thng nghip v . Tuy nhin, trong nhng h thng m khng c hot ng nghip v (v d: h thng nhng), hoc cc nghip v ca h thng khng qu phc tp hoc khng quan tm m hnh ho nghip v th vic xy dng m hnh use case phn mm s l bc tip cn m hnh ho u tin v h thng. Mt tin trnh xy dng s use case bao gm cc bc sau: Xc nh tc nhn h thng o Ai ang s dng h thng? o Hoc trong trng hp pht trin mi th ai s s dng h thng? Pht trin use case o Ngi dng (tc nhn) ang lm g vi h thng? o Hoc trong trng hp h thng mi th ngi dng s lm g vi h thng? Xy dng s use case46

@ i Hc KHTN-TP HCM ; ASIA-ITC

Phn tch thit k h thng hng i tng bng UML

o Xc nh mi quan h gia tc nhn use case o Xc nh mi quan h gia cc use case Phn chia s use case thnh cc gi (package)

Xc nh tc nhnTc nhn (actor) ngha: mt tc nhn l mt i tng bn ngoi h thng giao tip vi h thng theo mt trong nhng hnh thc sau: Tng tc, trao i thng tin vi h thng hoc s dng chc nng h thng Cung cp u vo hoc nhn cc u ra t h thng Khng iu khin hot ng ca h thng

K hiu Tn tc nhn

Tn tc nhn: tn tc nhn l mt danh t

Quan h gia cc tc nhn:L quan h tng qut ha v chuyn bit ho V d:

Khch hng

Nhn vin

Khch quen

Nhn vin bn hng

Th kho

Xc nh tc nhnXc nh tc nhn cng c xem c tm quan trng nh xc nh class, use case, lin kt,. Khi xc nh ngi s dng phn mm h thng, chng ta ng quan trng vn quan st ngi no ang s dng h thng m chng ta nn xc nh xem vai tr chu trch nhim trong vic s dng h thng. Ngha l tc ng ln h thng theo ngha cung cp thng tin cho h thng hoc nhn kt qu x l t h thng. Tc nhn c hiu l mt vai tr tham gia vo h thng khng ging nh mt con ngi c th hoc mt cng vic. Mt i tng c th tham gia vo mt hoc nhiu vai tr

@ i Hc KHTN-TP HCM ; ASIA-ITC

47

Phn tch thit k h thng hng i tng bng UML

Ngi dngNguyn Vn A

Tc nhnKhch hng

Use caseBn hng

Nguyn Th B

NV bn hng

Trn Vn C

Th kho

t mua NGK

Qua qu trnh kho st v phn tch ti liu h thng, chng ta c th nhn ra cc tc nhn thng qua cc cu hi sau: Ai ang s dng h thng? Hoc ai c tc ng bi h thng? Hoc nhm i tng no cn h thng tr gip lm cng vic? (tc nhn chnh) Ai tc ng ti h thng? Nhng nhm i tng no h thng cn thc hin hot ng ca n (hot ng gm chc nng chnh v chc nng ph, nh l chc nng qun tr)? Nhng phn cng hoc h thng bn ngoi no s dng h thng?

-

V d: trong hot ng ca my ATM ca mt ngn hng, cc tc nhn c xc nh l:

Khch hng

Nhn vin ngn hng

Nhn vin vn hnh

Trong , cc tc nhn Khch hng, Nhn vin ngn hng l cc tc nhn chnh (primary actor) ca h thng ATM. Bi v khch hng l mc tiu m h thng tng tc; Nhn vin ngn hng s dng h thng tr gip cng vic. Trong khi , Nhn vin vn hnh l tc nhn ph (secondary actor) bi v tc nhn ny m nhn nhng chc nng ph m h thng cn c thc hin hot ng ca n. Hoc trong mt th vin ca trng i hc, cc tc nhn ca h thng phn mm qun l th vin gm:

c gi

Th th

Nh cung cp

Xc nh use caseUse caseMt Use case c xem nh mt chc nng h thng t quan im ngi dng, nh vy tp hp tt c use case biu din b mt ca h thng bao gm cc chc nng cn c cung cp cho cc i tng tng tc lm vic vi h thng. Nh vy, use case dng m t yu cu@ i Hc KHTN-TP HCM ; ASIA-ITC 48

Phn tch thit k h thng hng i tng bng UML

ca h thng mi v mt chc nng, mi chc nng s c biu din nh mt hoc nhiu use case. V d: h thng ca hng NGK ta c mt vi use case Bn hng, qun tr tn kho, K hiuTn use case Bn hng Qun tr kho

Xc nh use caseChng ta bt u t tp cc tc nhn xc nh trong bc u tin. ng vi mi tc nhn: Tm cc nhim v v chc nng m tc nhn s thi hnh hoc h thng cn tc nhn thi hnh v m hnh ho n nh l use case. Use case s i din mt dng s kin dn ti mt mc tiu r rng (hoc trong mt vi trng hp, dn ti mt vi mc tiu ring bit c th l cc phng n thay th cho tc nhn hoc cho h thng so vi dng s kin chnh) t tn cho use case: tn use case nn t nhm phn nh mt m t tng quan v chc nng ca use case. Tn nn dn t nhng g xy ra khi mt th hin ca use case c thi hnh. Mt hnh thc t tn use case ph bin l : ng t (do) + danh t (what). M t use case mt cch ngn gn bng vic p dng cc thut ng gn gi vi ngi s dng. iu ny s lm cho m t use case t m h.

-

-

V d: trong h thng ATM Tc nhn Khch hng s s dng h thng qua cc chc nng: Gi tin Rt tin Truy vn thng tin v ti khon Khi ng h thng ng h thngGi tin Rt tin Truy vn thng tin ti khon

Tc nhn Nhn vin vn hnh s s dng cc chc nng

Khi ng h thng

ng h thng

Gi tin: khch hng ng nhp vo h thng v yu cu gi tin vo ti khon. Khch hng s xc nh ti khon v s tin gi, h thng s to mt giao tc gi tin v lu vo h thng. Cc bc nh sau: Yu cu xc nh ti khon H thng hi s tin gi49

@ i Hc KHTN-TP HCM ; ASIA-ITC

Phn tch thit k h thng hng i tng bng UML

-

Nhp vo s tin gi Khch hng a tin vo my ATM

Rt tin: khch hng ng nhp h thng v yu cu rt tin t ti khon. Khch hng xc nh ti khon v lng tin rt. Sau khi kim tra s d ti khon cn , h thng s to mt giao tc rt tin v lu vo h thng. Cc bc nh sau: Yu cu xc nh ti khon Yu cu xc nh s tin cn rt Nhp s tin rt Kim tra s d ti khon v s tin hin c my c khng ? Chuyn tin ra ngoi

Truy vn thng tin ti khon: khch hng ng nhp vo h thng v yu cu xem thng tin v cc giao dch ca ti khon. H thng hin th cc thng tin v cc giao tc to ln mn hnh cho khch hng. Khi ng h thng: h thng c khi ng khi nhn vin vn hnh bt cng tc ca my. Nhn vin vn hnh s c yu cu nhp vo s tin hin hnh ca my nm trong kt ng tin. Sau , h thng s thit lp mt kt ni ti ngn hng v cc dch v ca my ATM bt u vn hnh. ng h thng: h thng c ng li khi nhn vin vn hnh m bo rng khng c khch hng no ang s dng my. Khi , nhn vin vn hnh s ly cc bao tin gi ra, b sung lng tin, giy, Trong h thng qun l th vin, cc use case c xc nh nh sau:X l mn sch X l tr sch Tra cu sch

ng k thnh vin

Mua sch

Xc nh mi quan hQuan h tc nhn use case Quan h ny cho bit tc nhn s tng tc vi use case. Mt use case lun lun c khi to bi mt tc nhn v c th tng tc vi nhiu tc nhn. K hiuTn use case Tc nhn

V d:

@ i Hc KHTN-TP HCM ; ASIA-ITC

50

Phn tch thit k h thng hng i tng bng UML

Truy vn thng tin ti khon

Nhn vin vn hnh Rt tin Khch hng Gi tin Khi ng h thng ng h thng

Ngn hng

X l mn sch

X l tr sch

Th th

Nh cung cp

ng k thnh vin Mua sch Tra cu sch c gi

Mi quan h gia cc use case Vic m t use case c th s kh hiu nu use case ny cha ng nhiu dng ph hoc dng ngoi l ch x l cho nhng s kin trong nhng iu kin c bit. lm n gin m t ny chng ta s dng thm cc mi kt hp v . Lin kt m rng (): c dng khi chng ta c mt use case tng t nh use case khc nhng c nhiu hn mt vi x l c bit. Ging nh lin kt tng qut - chuyn bit, trong , use case chuyn bit l mt m rng ca use case tng qut bng vic a thm vo cc hot ng hoc ng ngha mi vo use case tng qut, hoc b qua hot ng ca use case tng qut. V d: gi s ng nhp l mt use case c bn. Use case ny s i din cho tt c nhng g c xem l thc hin ng nhp mt cch xuyn sut.Tuy nhin, nhiu vn c th tc ng n dng s kin chnh. V d, m s PIN khng hp l, hoc th khng c c do b h,. Do , chng ta khng phi lun lun thi hnh cc hot ng thng xuyn ca mt use case c cho v nh vy, cn thit to ra cc use case mi gii quyt nhng tnh hung mi. Tt nhin, chng ta c th a vo use case c bn cc ni dung x l c bit@ i Hc KHTN-TP HCM ; ASIA-ITC 51

Phn tch thit k h thng hng i tng bng UML

. Tuy nhin, iu ny c th dn n s phc tp vi nhiu lun l ring bit v s lm gim vai tr ca dng chnh. gii quyt vn ny chng ta c th s dng quan h . y chng ta gom cc x l c bn hoc bnh thng vo trong mt use case (c bn). Cc x l c bit vo nhng use case (chuyn bit) khc. Ri to mt lin kt gia use case c bn ti cc use case chuyn bit khai bo rng: ngoi x l dng chnh (c bn), use case c bn c m rng n cc tnh hung x l c bit c gii quyt trong cc use case chuyn bit.Use case ng nhp

Use case

Gii quyt PIN khng hp l

To mt use case tng qut c tn l Giao dch ca cc use case Rt tin, Gi tin v Truy vn thng tin ti khon. To cc lin kt t use case Giao dch n cc use case ny. Nh vy, mt rt tin, hoc gi tin, hoc truy vn thng tin ti khon l mt loi giao dch m khch hng c th s dng trn my ATM. C ngha rng, cc x l trong use case Giao dch s cung cp mt dng chung v khi khch hng chn mt loi giao dch c bit no th use case ny s m rng vic gii quyt thng qua cc use case chuyn bit.

Giao dch

Khch hng Gi tin Rt tin

Nhn vin vn hnh Truy vn thng tin ti khon

Khi ng h thng

ng h thng

Ngn hng

Giao dch: khch hng tng tc vi h thng bt u bng vic ng nhp h thng. Sau khi ng nhp, khch hng c th thc hin cc giao dch. Sau y l cc bc: a th vo my Thc hin ng nhp Yu cu loi giao dch Nhp loi giao dch Thc hin giao dch y th ra52

@ i Hc KHTN-TP HCM ; ASIA-ITC

Phn tch thit k h thng hng i tng bng UML

-

Yu cu ly th Ly th

Trong h thng qun l th vin, use case Mn sch ngoi dng hot ng chnh cn c cc dng ph. Dng ph ny s c kch hot gii quyt vn khi mt c gi n mn ti liu nhng khng c trong th vin v th vin s mn ti liu t nhng th vin khc c lin kt. Hoc do c gi khng tho cc iu kin c mn (mn sch qu hn cha tr ca ln mn trc). Do , chng ta tch dng ph ny v use case Mn sch t th vin thnh vin v v to mt lin kt t use case ny n use case X l mn sch.X l mn sch

Mn sch t th vin thnh vin

X l t chi mn sch

Lin kt s dng (): c thnh lp khi chng ta c cc use case m tm thy mt vi use case c nhng dng hot ng chung, v trnh m t dng hot ng chung lp li trn nhng use case ny, chng ta c th tch nhng dng hot ng chung ra thnh mt use case. Use case mi ny c th s dng bi nhng use case khc. Quan h gia nhng use case vi use case c trch ra ny gi l quan h . Quan h s dng gip chng ta trnh s trng lp bng cch cho php mt use case c th c chia s.X l mn sch Kim tra th Th th X l tr sch

Trong v d trn, use case mn sch v tr sch u phi thc hin cng vic kim tra th th vin ca c gi, do chng ta pht sinh mt use case mi l kim tra th bng cch trch ra hot ng kim tra th th vin t hai use case trn v to mt lin kt ti use case t hai use case ti use case mi. Cc use case X l mn sch v X l tr sch u tha hng tt c hot ng ca use case ca use case kim tra th. Trong h thng ATM, use case Giao dch s c mi lin kt vi use case ng nhp.Giao dch Khch hng Gii quyt PIN khng hp l ng nhp

ng nhp: khch hng nhp vo m s PIN gm bn k s. Nu m s PIN hp l, ti khon ca khch hng s sn sng cho cc giao dch. Cc bc nh sau:@ i Hc KHTN-TP HCM ; ASIA-ITC 53

Phn tch thit k h thng hng i tng bng UML

-

Yu cu mt khu (m s PIN) Nhp mt khu Kim tra mt khu

Gii quyt PIN khng hp l: nu m s PIN khng hp l, h thng s hin th mt thng bo ti khch hng. S ging nhau gia lin kt v lin kt l tt c u c xem nh l mt loi k tha. Khi chng ta mun chia s mt s hot ng chung trong nhiu use case, dng lin kt bng cch trch cc hot ng chia s thnh mt use case mi. Khi chng ta mun thm vo mt t khc bit cho mt use case m t mt tnh hung c bit trong mt tnh hung chung, chng ta s to mt use case mi c lin kt vi use case chung . Da vo cc lin kt c thit lp cho cc use case chng ta phn use case thnh hai loi: Use case tru tng: l use case cha hon ho ngha l khng tng tc vi bt k mt tc nhn no m c s dng bi mt use case khc. Use case tru tng cng c th c lin kt hoc lin kt trong nhng mc khc. V d: cc use case Kim tra th, X l t chi mn sch, l cc use case tru tng. Use case c th: l use case c tng tc trc tip vi mt tc nhn. V d: cc use case X l mn sch, X l tr sch, hoc Khi ng my,ng my,.ng nhp Gii quyt PIN khng hp l

Giao dch

Khch hng Gi tin Rt tin

Truy vn thng tin ti khon

Nhn vin vn hnh

Khi ng h thng

ng h thng

Ngn hng

M hnh use case ca h thng my ATM

@ i Hc KHTN-TP HCM ; ASIA-ITC

54

Phn tch thit k h thng hng i tng bng UML

Mn sch t th vin thnh vin

X l t chi mn sch

Kim tra th

X l mn sch

X l tr sch

Th th

Nh cung cp

ng k thnh vin Mua sch Tra cu sch c gi

M hnh use case h thng phn mm qun l th vin

Phn chia cc use case thnh cc gi (package)Mi use case minh ho mt kch bn trong h thng. Khi gp nhng h thng tng i phc tp th chng ta nn thu hp tiu im ca cc kch bn trong h thng bng cch phn chia thnh cc gi. Mi gi phn nh mt phm vi ca h thng m chng ta ch mun qun l n khi chng ta truy cp gi . V d, c th chia cc se case ca h thng my ATM thnh ba gi: Giao dch, Rt gi v Vn hnhGiao dch Rt gi

Vn hnh

Trong , gi Giao dch gm cc use case: Giao dch, ng nhp, Gii quyt PIN khng hp l; gi Rt gi gm cc use case: Gi tin, Rt tin, Truy vn thng tin ti khon; v gi Vn hnh gm cc use case: Khi ng h thng, ng h thng H thng qun l th vin c chia thnh ba gi nh sau: Mn tr sch, ng k thnh vin, v Mua sch.

@ i Hc KHTN-TP HCM ; ASIA-ITC

55

Phn tch thit k h thng hng i tng bng UML

Mn tr sch

ng k thnh vin

Mua sch

Trong , gi Mn tr sch gm cc use case: X l mn sch, X l tr sch, Kim tra th, Mn sch t th vin thnh vin, X l t chi mn sch; gi ng k thnh vin gm use case: ng k thnh vin; gi mua sch gm use case: Mua sch.

@ i Hc KHTN-TP HCM ; ASIA-ITC

56

Phn tch thit k h thng hng i tng bng UML

Cu hi v bi tpCu hi9. M hnh use case l g? 10. Ti sao m hnh ho use case l hu dng trong phn tch h thng? 11. Ai c th l tc nhn? 12. Khi no chng ta s dng lin kt v trong m hnh ho use case? 13. Xc nh tc nhn bng cch no? 14. Phn bit s khc nhau gia ngi dng v tc nhn? 15. Tai sao nn phn chia m hnh use case thnh cc gi?

Bi tp1. Hy xy dng s use case m t mt h thng din n trao i hc tp ca khoa Cng Ngh Thng Tin. Hot ng ca din n c m t nh sau: Tt c mi ngi khi truy cp vo a ch ca din n u c th xem c thng tin ni dung trao i ca din n, tin tc trong din n. Khi mt thnh vin mun gi thng tin ln din n. Thng tin c th l mt ch cn trao i, hoc mt kin lin quan n mt ch c a ra, hoc l mt tin tc. Trc tin, thnh vin phi ng nhp vo h thng vi mt tn v m ng nhp. Sau khi ng nhp thnh cng, thnh vin c th s dng chc nng son tho ca h thng son tho v gi thng tin ln din n. Thnh vin c th xem c cc thng bo kt qu duyt tin t qun tr v nhng ln gi trc. Mt ngi dng khi truy cp th c th ng k thnh vin ca din n. Khi ng k, ngi dng s phi nhp cc thng tin lin quan nh: h tn, tn ng nhp, m sinh vin, m ng nhp. Vic ng k c hiu lc sau khi qun tr duyt v chp nhn. Khi mt thnh vin ng nhp vo quyn qun tr (qun tr h thng). H thng s hin th cc cc thng tin c gi bi cc thnh vin. ng vi mi thng tin, qun tr c th chp nhn hoc t chi ng thng tin ln din n: o Khi thng tin c nh du l chp nhn, h thng s cp nht li trng thi ca thng tin v s hin th thng tin ny ti din n. o Khi thng tin c nh du l t chi, h thng cng s cp nht li trng thi thng tin v ghi ch v l do t chi thng tin. Ngoi ra, ngi qun tr cng c th duyt v chp nhn hoc t chi mt thnh vin mi ng k. Hu mt thnh vin. Cp nht thng tin ca mt thnh vin.

-

-

-

2. Phn chia s use case ca h thng trn thnh cc gi. M t s lin kt gia cc gi (nu c) v s use case cho tng gi.

@ i Hc KHTN-TP HCM ; ASIA-ITC

57

Phn tch thit k h thng hng i tng bng UML

Chng 6 M HNH HO NGHIP V (BUSINESS MODELING)Mc tiuCung cp cho ngi hc cc kin thc v: Nh th no l m hnh ho nghip v, mc tiu v quy trnh ca m hnh ho nghip v Cc hot ng trong phn tch, thit k qui trnh nghip v p dng UML vo m hnh ho nghip v. c bit, s dng s use case biu din ni dung ca h thng nghip v trong giai on phn tch. S dng s i tng trong vic thit k nghip v. Xc nh cc yu cu t ng ho t h vic phn tch v thit k thng nghip v.

-

Gii thiuM hnh ha nghip v