software processes

Upload: nguyen-son-ha

Post on 07-Jul-2015

412 views

Category:

Documents


0 download

TRANSCRIPT

Software Processes(quy trnh phn mm)

Quy trnh phn mm l mt tp cc hot ng sn xut ra sn phm phn mm. Bao gm vic pht trin phn mm t u hoc m rng v sa i t nhng h thng c hay cu hnh, tch hp thm cc phn mm hoc thnh phn h thng c sn. Quy trnh phn mm kh phc tp v l qu trnh i hi tr tu, tnh sng to, a trn cc quyt nh ca con ngi. Bi v ra quyt nh v sng to l rt cn thit, mi s c gng t ng ha quy trnh phn mm ch c th em li hiu qu nht nh. Cc cng c CASE (Computer-aided software engineering) c th h tr cho mt s hot ng ca quy trnh phn mm. Tuy nhin s l khng th t nht trong vi nm ti, t ng ha c ng dng nhiu n mc m phn mm c th kim lun c vic thit k v sng to ca cc k ngh phc tp bn trong quy trnh phn mm. S a dng ca cc quy trnh phn mm dn n CASE ch c hiu qu nht nh. Khng c qu trnh l tng, cc t chc pht trin phng php ring pht trin phn mm. Quy trnh bao gm c vic khai thc nng lc con ngi trong mt t chc v c trng c th ca h thng c pht trin. Vi nhng h thng quan trng vic pht trin c cu trc l cn thit. Vi h thng kinh doanh, i hi thay i nhanh theo yu cu, x l nhanh, linh hot c th s hiu qu hn. Nhng hot ng c bn chung nht ca quy trnh phn mm: 1. Software specification: chc nng v nhng hn ch t nhng hot ng ca phn mm c xc nh trong bc ny. 2. Software design and implementation: phn mm c sn xut p ng theo yu cu c t. 3. Software validation: phn mm phi c xc nhn l thc hin theo ng nh khch hng mun. 4. Software evolution: phn mm phi c pht trin theo cc thay i ca khc hng. D khng c quy trnh phn mm l tng, nhng s c nhng mc ci tin nht nh i vi mi cch t chc. Quy trnh c th bao gm nhng k thut c hoc khng phi l tt nht trong thc t ca ngnh cng nghip phn mm. Tht vy, vn c nhiu t chc khng nm c nhng u im ca cc phng thc k ngh phn mm tt trong pht trin phn mm. Quy trnh phn mm c th c ci thin bng cch chun ha quy trnh v n s lm gim s khc bit gia cc quy trnh phn mm ca cc t chc khc nhau. iu ny gip tng s trao i v lm gim thi gian o to. 1. M hnh ca quy trnh phn mm. Mt m hnh quy trnh phn mm l mt biu din tru tng ca mt quy trnh phn mm. Mi m hnh quy trnh ch biu din quy trnh t mt gc nhn, do n ch cung cp thng tin phn no v quy trnh .

Nhng m hnh tng qut (generic process models hay process paradigms) khng miu t c th quy trnh phn mm. Chng l s tru tng ca quy trnh v c th s dng gii thch nhng cch tip cn khc nhau ca pht trin phn mm. Cc m hnh tng qut gm: 1. M hnh thc nc (Waterfall): nhng hot ng c bn ca quy trnh tng qut nh specification, development, validation v evolution c biu din nh l cc pha ring bit: requirement specification, software design, implementation, testing 2. M hnh pht trin tin ha (Evolutionary development): l cch tip cn an xen cc hot ng ca specification, development v validtion. Mt h thng khi to c pht trin nhanh t nhng c im k thut tru tng, sau n c tinh ch s dng nhng thng tin m khch hng cung cp i n h thng hon chnh v n nh. 3. M hnh ti s dng (Component-based software engineering): Phng php ny da trn s tn ti ca mt lng ng k nhng thnh phn c th ti s dng. Quy trnh pht trin h thng tp trung vo vic tch hp nhng thnh phn c sn vo h thng hn l pht trin t u. 1.2. M hnh thc nc gm nhng hot ng c bn sau: 1. Requirement analysis and defintion: dch v m h thng cung cp, cc rng buc v mc tiu ca h thng c tht lp thng qua t vn ca nhng ngi s dng. Chng c nh ngha chi tit v cung cp nh mt c t h thng. 2. System and software design: tng bc xc nh yu cu phn cng v phn mm. Thit lp kin trc tng th ca h thng. Thit k phn mm bao gm c xc nh v m t nhng phn tru tng v mi quan h ca chng. 3. Implementation and unit testing: trong giai on ny, thit k phn mm c hin thc ha bng mt tp cc chng trnh hoc n v chng trnh. Kim th tng n v (unit testing) l th nghim cc n v xem c p ng c nhng c im k thut ca ring n hay khng. 4. Integration and system testing: Nhng n v chng trnh ring hoc chng trnh ring c tch hp v th nghim ton h thng m bo rng h thng p ng yu cu. Sau th nghim, h thng phn mm c phn phi cho khch hng. 5. Operation and maintance: Thng thng, y l pha c vng i lu nht. H thng c ci t v s dng. Bo tr bao gm iu chnh nhng li cha c tm ra cc bc trc, ci thin nhng n v thc thi v h thng dch v.

V l thuyt, kt qu mi pha l s b sung ti liu. Pha sau khng c bt u nu pha trc cha xong. Trong thc t, cc pha gi ln nhau v cung cp thng tin cho nhau. Trong sut thi gian thit k, vn c nhng yu cu c xc nh li, trong qu trnh coding c nhiu vn v thit k pht sinh Quy trnh phn mm khng phi l m hnh tuyn tnh n gin m n l mt chui cc hot ng pht trin c lp i lp li. Bi chi ph cho sn xut phn mm rt tn km, vic lp li cng vy, lp li thng u tin nhng phn quan trng hn. Do , sau mt s bc lp, mt s phn nh specification, c th b ng bng cho cc giai on sau c tip tc. Cc vn b t sang mt bn phn tch sau, thm ch c th b l i. Vic ng bng qu sm cc yu cu b c th lm cho h thng khng thc hin ng nh nhng g ngi s dng mun. N dn n mt h thng c cu trc km khi m nhng vn v thit k b ph v bi nhng th thut trong qu trnh ci t. Nhng u im ca m hnh thc nc l mi pha u c ti liu ring v n ph hp vi m hnh quy trnh k ngh khc. Nhng vn chnh ca n lin quan n cch phn chia da n mt cch km linh hot thnh cc pha ri rc. S cam kt c to ra giai on trc ca quy trnh, khin cho n rt kh p ng nhng thay i theo yu cu khch hng. Do m hnh thc nc c s dng khi nhng yu cu c hiu r rng hoc t thay i trong thi gian pht trin h thng. M hnh thc nc phn nh kiu quy trnh s dng trong nhiu ngnh k ngh khc (ngoi sn xut phn mm). Mc d vy, cc quy trnh phn mm da trn cch tip cn ny vn c s dng, c bit trong mt d n phn mm m l mt phn ca mt d n hay h thng ln hn. 1.3. Pht trin tin ha da trn tng l pht trin mt ci t ban u, trnh din cho ngi dng ly nhng thng tin phn hi v hon thin qua cc phin bn cho n khi c c mt h thng tha ng. Cc hot ng specification, development v

validation c an xen hn l phn chia ra, vi nhng phn hi nhanh qua mi hot ng. C 2 kiu c bn: 1. Khm ph (Exploratory development): tp trung vo lm vic vi khch hng khm ph cc yu cu ca h. Bt u pht trin vi nhng phn ca h thng nm bt r rng. H thng sau c m rng bng cch thm vo nhng tnh nng m khch hng xut. 2. Lm bn mu (Throwaway prototyping): tp trung vo hiu nhng yu cu ca khch hng, t a ra nhng yu cu h thng ngy cng st hn. Cc bn mu (prototype) nhm th nghim vi khch hng trong cc yu cu cha c lm r.

u im ca quy trnh phn mm da trn phng php tin ha l c t c th c pht trin gia tng. Ngi dng gip hiu r hn v nhng vn ca h, v mc hiu c phn nh qua h thng phn mm tng bc hon thin. Tuy nhin, t gc nhn ca k s v ngi qun l th phng php tin ha c 2 vn : 1. Quy trnh khng th hin: do ngi qun l cn c bin php thng xuyn theo di tin . V d nu h thng c pht trin nhanh qu, s l khng kinh t khi to ra ti liu cho mi phin bn ca h thng. 2. H thng thiu cu trc: khuynh hng lin tc thay i lm hng cu trc phn mm, vic kt hp nhng thay i vi nhau tr nn ngy cng phc tp v tn km. i vi cc h thng va v nh (ln n 500,000 dng m), pht trin theo hng tin ha l cch tip cn tt nht. Nhng vn ca pht trin tin ha s tr nn r rng i vi cc h thng ln, phc tp, c thi gian sng lu, khi m nhiu i pht trin nhng phn khc nhau ca h thng. Rt kh thit lp mt kin trc n nh bng cch tip cn ny, cng nh kh c th kt hp nhng ng gp ca cc nhm khc nhau vo d n. i vi cc h thng ln, mt quy trnh kt hp nhng u im ca m hnh thc nc v pht trin tin ha l ph hp. N c th bao gm to mu (throwaway

prototype) nhng giai on u ca quy trnh, vi nhng yu cu cha c lm r. Sau h thng s c thc thi li theo mt cch tip cn c tnh cu trc cao hn. Nhng phn ca h thng xc nh r yu cu c th c pht trin bng mt quy trnh da trn m hnh thc nc. Nhng phn khc, v d nh giao din ngi dng, th m rt kh bit trc, lun lun nn c pht trin s dng cch tip cn theo kiu khm ph ca pht trin tin ha. 1.4. K ngh phn mm da trn cc cu phn (Component-based software engineering) Trong nhng phn chnh ca d n phn mm, c nhng qu trnh ti s dng phn mm. iu ny thng xy ra khi thnh vin i d n bit v thit k hoc m ngun c nhng chc nng tng t nh yu cu. Ti s dng l rt quan trng trong vic pht trin nhanh h thng. Ti s dng c v tr nht nh trong cng ngh phn mm bt k s dng quy trnh pht trin phn mm no. Trong nhng nm gn y, mt phng php pht trin phn mm gi l k ngh phn mm da trn cc cu phn (CBSE) tp trung vo ti s dng, xut hin v ngy cng c s dng rng ri.

Cch tip cn theo hng ti s dng da trn mt s lng ln cc thnh phn (hoc cu phn - component) phn mm c th ti s dng v cc b khung (framework) tch hp chng. i khi, nhng thnh phn ny l nhng h thng c ph bn quyn (Commercial off-the-shelf - COTS) cung cp nhng chc nng c th nh nh dng text hoc tnh ton. Giai on khi u Requirement specification v giai on Validation c th tng ng vi trong cc quy trnh khc. Trong khi nhng giai on trung gian ca mt quy trnh hng ti s dng (reuse-oriented process) li c s khc bit: 1. Component analysis: a ra yu cu, tm nhng thnh phn ti s dng c. Kt qu thng khng hon ton chnh xc nh c t, nhng thnh phn ny ch cung cp mt vi chc nng c yu cu. 2. Requirement modification: Trong giai on ny, nhng yu cu c phn tch s dng thng tin v nhng component c bit. Cc yu cu c sa i phn r thnh cc chc nng ca component kh dng. Khi vic sa i l khng th, giai on Componet analysis s c bt u li tm kim gii php thay th. 3. System design with reuse: trong giai on ny, b khung hay framework s c thit k hoc ti s dng mt framework c sn. Ngi thit k tnh n cc component v t chc framework. Nhng phn mm mi c th c thit k nu khng c sn component thch hp. 4. Development and integration: nhng phn mm khng kim c s c pht trin, cc component c tch hp to ra h thng mi. Qu trnh tch hp,

trong m hnh ny, l mt phn ca quy trnh pht trin hn l mt hot ng ring bit. Cc component c u im cao trong vic lm gim s lng phn mm cn pht trin nh lm gim chi ph v cc nguy c, gip cho vic chuyn giao c nhanh hn. Tuy nhin phi tha hip vi nhng yu cu ca khch hng v h thng c th khng p ng ng nh yu cu thc t. Hn na, c th mt kh nng kim sot s pht trin ca h thng khi nhng phin bn mi ca component khng thuc phm vi ca t chc s dng chng. CBSE c nhiu im chung vi phng php mi pht trin h thng l da trn dch v web tch hp c cung cp t nhiu ngun. 2. Qu trnh lp: S thay i l khng th trnh khi trong tt c cc d n ln. Yu cu h thng thay i khi nghip v phi p ng nhng p lc bn ngoi. Mt cng ngh mi xut hin, thit k v ci t cn thay i. iu c ngha l quy trnh phn mm khng phi l mt qu trnh 1 ln (one-off process), cc hot ng ca quy trnh hot ng thng xuyn lp li khi h thng c lm li p ng vi s thay i yu cu. C 2 m hnh c thit k r rng h tr qu trnh lp i lp li: Incremental delivery (phn phi gia tng): cc c im k thut, thit k, thc thi phn mm chia thnh series of increments c pht trin ln lt. Spiral development (pht trin xon c): s pht trin ca h thng c dng xon c t trong ngoi cho n h thng cui cng.

2.2. Phn phi gia tng (Incremental delivery) Thay v cung cp nhng h thng nh l mt phn phi duy nht, pht trin v cung cp c chia thnh tng bc v cung cp tng phn cc chc nng yu cu. Trong m hnh thc nc khch hang phi xc nhn mt tp cc yu cu trc khi bt u thit k v cc nh thit k phi xc nhn chin lc thit k trc khi thc thi. D sao, s tch bit gia thit k v thc thi dn n mt h thng vi ti liu tt v d thay i. Ngc li, cch tip cn theo hng tin ha cho php yu cu v quyt nh thit k c th tr hon nhng cng dn ti phn mm c cu trc yu v kh hiu, kh bo tr. Incremental delivery l mt phng php tip cn gia kt hp nhng li th ca cc m hnh ny. Trong mt quy trnh pht trin gia tng, khch hng xc nh, trong bn phc tho, dch v c cung cp bi h thng. Bao gm c vic ci no l quan trng hoc t quan trng. Mt s bn nng cp (delivery increment) s c xc nh, mi bn nng cp cha mt tp cc chc nng ca h thng. Vic phn b cc dch v vo cc bn nng cp ph thuc vo mc u tin vi nhng chc nng u tin cao nht s c chuyn giao u tin.

Qui trnh pht trin gia tng ny c mt s li th: 1. Khch hng khng phi i ton b h thng c hon tt trc khi h c th s dng. 2. Khch hng c th s dng bn nng cp trc nh l nguyn mu v thu c kinh nghim cho bit yu cu ca h cho bn nng cp sau . 3. Gim nguy c tht bi chung ca d n. Mc d cc vn c th xut hin trong mt s bn nng cp, chc chn l vn c mt s khc c chuyn giao thnh cng ti khch hng. 4. u tin phc v cao nht s c phn phi u tin, sau cc increment s c tch hp vo. Do cc dch v quan trng s c kim th nhiu nht. Tuy nhin, vn c nhng vn tn ti. Cc bn nng cp cn tng i nh (khng ln hn 20000 dng m), v mi bn nng cp cn thc hin vi chc nng h thng. Rt kh nh x nhng yu cu ca ngi s dng thnh nhng bn nng cp vi ng kch thc gii hn. Hn na, phn ln h thng yu cu cc c s (phn cng hoc phn mm). Nu cc yu cu khng xc nh chi tit cho n khi bn nng cp c thc hin, kh c th xc nh nhng c s chung m h thng cn c cho tt c cc bn nng cp. Mt bin th ca Incremental delivery l extreme programming hay XP (lp trnh cc hn) nm trong nhm cc phng php pht trin phn mm mt cch linh hot (agile methods) da trn pht trin v chuyn giao nhng bn nng cp rt nh, khch hng tham gia vo quy trnh, lin tc ci tin m ngun, v lp trnh theo cp (pair programming). XP l mt phng php lun c p dn rt thnh cn trong nhng nm gn y. 2.3. Pht trin xon c (spiral development) M hnh xon c ca qui trnh phn mm c a ra u tin bi Boehm. Quy trnh c th hin nh hnh xon c ch khng phi l mt chui cc hot ng vi s quay lui (backtracking). Mi vng trong m hnh xon c l mt giai on trong qui trnh phn mm. Do , vng trong cng c th c cp n tnh kh thi ca h thng, vng tip theo l nh ngha cc yu cu, vng tip l thit k h thng, v c nh vy. Mi vng trong m hnh xon c chia ra bn khu vc: 1. Objective setting (thit lp mc tiu): a ra mc tiu r rng cho giai on ca d n v nh ngha n. Xc nh sn phm cn to ra. Nhng rng buc ca quy

trnh v mt k hoch qun l chi tit c phc tho. Xc nh cc ri do. Cc chin lc thay th ph thuc vo ri do c vch ra. 2. Risk assessment and reduction (nh gi v gim thiu ri do): vi mi ri do ca d n c xc nh, mt bn phn tch chi tit c thc hin. Cc bc c thc hin gim ri do. 3. Development and validation (pht trin v xc nhn): sau khi ri ro c c lng, mt m hnh pht trin cho h thng c chn. V d, nu ri ro giao din ngi dng l tri hn, m hnh pht trin thch hp phi l mt m hnh tin ha to mu. 4. Planning (lp k hoch): d n c xem xt li v a ra quyt nh c nn tip tc vng lp tip theo ca m hnh xon c hay khng. Nu quyt nh l tip tc, s phc tho k hoch giai on tip theo ca d n.

M hnh xon c S khc nhau chnh gia m hnh xon c v cc m hnh phn mm khc l vic nhn bit cc ri ro trong m hnh xon c mt cch tng minh. Mt vng ca xon c bt u bng cch chi tit hoc cc mc tiu nh hiu nng v chc nng. Cc phng n thay th v nhng hn ch tng ng c lit k ra. Mi phng n c nh gi trn mi mc tiu v nguy c mang li. Bc tip theo l gii quyt nhng ri do bng cc hot ng thu thp thng tin nh phn tch chi tit, to mu v m phng. Mt khi ri do c nh gi, mt vi hot ng thi cng c tin hnh, theo sau bng mt hot ng ln k hoch cho pha tip theo.

3. Cc hot ng ca quy trnh phn mm 1. 2. 3. 4. c t phn mm (software specification). Thit k v thc thi phn mm (software design and implementation). Kim nghim phn mm (software validation). Nng cp phn mm (software evolution).

3.1. c t phn mm l thit lp quy trnh phc v nhng g c yu cu v nhng rng buc trong vic pht trin v vn hnh h thng. Quy trnh ca k ngh c t: 1. 2. 3. 4. Nghin cu tnh kh thi. Phn tch cc yu cu. c t cc yu cu. Xc nhn cc yu cu.

The requirements engineering process 3.2. Thit k v thc thi phn mm l quy trnh chuyn nhng c t h thng thnh h thng c th thc thi c, bao gm: Thit k phn mm: thit k mt cu trc phn mm ph hp vi cc c t Thc thi: chuyn i cu trc thnh chng trnh thc thi c

Cc hot ng ca quy trnh thit k v thc thi phn mm c lin quan cht ch vi nhau v c th xen k ln nhau 3.2.1. Cc hot ng ca quy trnh thit k Thit k kin trc c t tru tng Thit k giao din Thit k cc b phn Thit k cu trc d liu Thit k thut ton

The software design process 3.2.2. Phng php cu trc

Cch tip cn mang tnh h thng thit k phn mm Ti liu thit k thng l mt tp hp cc m hnh ha Cc m hnh c th xut hin o M hnh i tng o M hnh tun t o M hnh trng thi chuyn i o M hnh cu trc ha o M hnh lung d liu

3.2.3. Lp trnh v g ri l qu trnh chuyn bn thit k thnh chng trnh v g b cc li c th ra khi chng trnh Lp trnh l hnh vi c nhn, khng c quy trnh chung Lp trnh vin tin hnh kim th, pht hin li c trong chng trnh v g b cc li ra khi chng trnh trong quy trnh g ri.

The debugging process 3.3. Kim nghim phn mm Kim nghim v kim chng (Verification and Validation - V&V) c mc ch nh gi xem h thng c ph hp vi nhng c t v p ng c nhng yu cu t pha khch hng hay khng. Bao gm cc quy trnh kim tra, xem xt v kim th h thng. Kim th h thng l qu trnh thc thi h thng vi nhng trng hp th (test case) c rt ra t nhng c t ca d liu thc c x l bi h thng.

The testing process Cc giai on kim th 1. Kim th thnh phn v n v: Mi thnh phn ring phi c kim th c lp Cc thnh phn c th l chc nng, i tng hoc nhm lin kt cc thc th 2. Kim th h thng: kim th ton b h thng, c bit l nhng phn quan trng.

3. Kim tra nghim thu: kim th vi d liu ca khch hng kim tra s ph hp ca h thng vi i hi ca khch hng.

Testing phases Thng thng cc component c pht trin v kim th mt cch an xen. Lp trnh vin t ci thin d liu test v kim th tng phn m ngun trong qu trnh pht trin. y l mt cch tip cn nhy bn, khi m lp trnh vin l ngi hiu v component r nht th h cng l ngi thch hp nht to ra cc test. Nu tip cn theo kiu pht trin gia tng, cc bn nng cp (increment) nn c kim th trong qu trnh n c pht trin, vi cc test da trn yu cu ca chnh bn nng cp . Trong extreme programming, test c xy dng cng vi requirement trc khi bt u pht trin. iu ny gip cho tester v developer hiu r cc yu cu v m bo l cc test case khng b to ra tr. 3.4. Nng cp h thng Phn mm vn linh hot v c th thay i. Khi cc yu cu thay i theo hon cnh thng mi th cc phn mm h tr doanh nghip cng phi c nng cp v thay i theo. Mc d vn c mt ranh gii gia pht trin v bo tr, nhng n ang tr nn km r rt khi m c ngy cng t nhng phn mm c pht trin mi hon ton.

System evolution

4.

Quy trnh RUP (Rational Unified Process)

RUP l v d v m hnh pht trin phn mm hin i, n c ngun gc t UML v quy trnh USDP (Unified Software Development Process). L mt m hnh lai, n mang n cc thnh phn ca c 3 m hnh tng qut, h tr lp, v minh ha kh tt v c t v thit k. Cc quy trnh thng thng ch c nhn theo mt chiu. Nhng RUP l kiu c m t theo 3 gc nhn: Gc nhn ng (Dyamic Perspective) th hin cc giai on (pha) theo thi gian. Gc nhn tnh (Static Perspective) th hin cc hot ng ca quy trnh. Gc nhn thc thi (Practice Perspcetive) nhng gi thc t chp nhn c (good practice) p dng m hnh.

Phase iteration

Inception

Elaboration

Construction

Transition

RUP l 1 m hnh gm 4 pha ri rc, tuy nhin, khng ging nh kiu thc nc trong cc pha tng ng vi cc hot ng ca quy trnh, cc pha ca RUP lin quan ti kha cnh nghip v nhiu hn l cng ngh. 4 bc gm: 1. Inception (khi u): mc ch ca giai on ny l thit lp cc tnh hung nghip v (business case) ca h thng. Nn xc nh tt c cc thc th bn ngoi (con ngi hay h thng bn ngoi) m tng tc vi h thng, v c nhng tng tc . Sau nh gi nhng hiu qu m h thng mang li, nu khng c ng gp ng k cho hot ng kinh doanh (hoc k thut) c yu cu th d n c th b hy b. 2. Elaboration (chi tit ha): mc ch giai on ny l hiu phm vi ca vn , nhng kh khn s gp phi, thit lp b khung kin trc ca h thng, xy dng k

hoch cho d n v xc nh nhng nguy c chnh. Kt thc giai on ny, s c mt m hnh cc yu cu h thng (c t bng lc Use Case ca UML). 3. Construction (xy dng). Mc ch giai on ny l hon thin h thng t thit k n lp trnh v kim th. Giai on ny c thc hin mt cch song song gia cc phn. Trong qu trnh hon thin, mt h thng phn mm hot ng c i km vi ti liu s c to ra chuyn giao ti ngi dng. 4. Transition (chuyn giao): Giai on cui cng l chuyn giao h thng gia nh pht trin phn mm vi ngi s dng v cho n hot ng trong mi trng thc. Qu trnh ny thng c b qua khng cp n trong cc m hnh pht trin phn mm, nhng trn thc t, c nhiu vn v chi ph c th pht sinh. Gc nhn tnh tp trung vo cc hot ng trong sut quy trnh pht trin c gi l cc lung cng vic (workflow). C 6 workflow chnh, v 3 workflow h tr (supporting workflow). RUP c thit k kt hp vi UML, v th cc m t workflow cng s dng nhng m hnh UML.

Mt cch m t th hin c gc nhn tnh v ng Mt vi khuyn ngh cho m hnh RUP trong thc t: Develop software iteratively (pht trin lp): thit lp mc u tin cho cc phn ca h thng, pht trin v chuyn giao nhng phn c u tin cao hn sm hn trong quy trnh phn mm. Manage requirements (qun l yu cu): C vn bn r rng nhng yu cu ca khch hng v ghi li cc thay i. Phn tch nhng tc ng ca thay i trc khi tip nhn n. S dng kin trc da trn cc cu phn (Use component-based architecture). S dng cc phn mm m hnh trc quan (Use visually model software): s dng UML xy dng quy trnh theo gc nhn tnh v ng.

1. 2. 3. 4.

5. nh gi cht lng phn mm (Verify software quality): m bo rng phn mm t c cc tiu chun c bn ca cc t chc cht lng. 6. Kim sot cc thay i ca h thng (Control changes to software): s dng cc h thng qun l thay i (change management system) cc th tc v cng c qun l cu hnh (configuration management procedures and tools). M hnh RUP khng ph hp vi tt c cc dng pht trin v sn xut nhng n i din cho mt th h quy trnh mi. Ci tin quan trng nht l tch bit gia phn chia cc pha (phase) v lung cng vic (workflow). Cc phase l linh hot v c mc ch, cc workflow l c nh, bao gm cc hot ng k thut khng tng ng vi phase nhng c tin hnh trong sut qu trnh pht trin nhm t c mc tiu ca tng phase. 5. K ngh phn mm c s tr gip ca my tnh (Computer-aided Software Engineering) Computer-aided Software Engineering (CASE) cng l tn chung ca cc phn mm c s dng h tr cho cc hot ng ca quy trnh phn mm. CASE cc ng dng trong thit k, tra cu, bin dch, g ri, xy dng h thng CASE c s dng hu ht cc quy trnh phn mm. Cng c CASE c gii thiu nhng nm 1980-1990 tit kim mt lng ln gi thnh sn xut phn mm. C nhiu cch phn loi cc cng c CASE: Theo chc nng. Theo hot ng ca quy trnh phn mm m n h tr. Theo kh nng tch hp.

Di y l mt v d phn loi CASE h tr trong cc giai on pht trin phn mm: Specification Re-engineering Tools Testing tools Debuging tools Program analysis tools Language-Processing tools Method support tools Prototyping tools Configuration management tools Change nanagement tools Documentation tools Editing tools Planning tools Design Implementation Verification &Validation * * * * * * * * * * * * * * * * * * * * * * * * * * *

* * * *

Fuggetta cho rng cc h thng CASE c th c chia ra lm 3 loi: 1. Cng c (tools): h tr cc phn vic ring r trong quy trnh phn mm nh kim tra tnh nht qun ca mt thit k, bin dch chng trnh v so snh cc kt qu test. Cc cng c c th l c lp (standalone tools) (v d x l vn bn) hoc nhm thnh cc b cng c (workbenches). 2. B cng c (workbenches): h tr nhng pha trong quy trnh phn mm nh specification, design... Chng thng gm mt tp cc cng c c tch hp vi nhau mt mc no . 3. Mi trng (environments): h tr ton b hoc mt phn ng k quy trnh phn m. Chng thng bao gm mt vi b cng c c tch hp vi nhau.

Tuy nhin CASE cng c 1 s hn ch nht nh nh: K ngh phn mm, v bn cht, l mt hot ng da trn t duy sng to. Cc h thng CASE hin nay t ng ha c nhng hot ng mang tnh th tc nhng nhng c gng khai thc cng ngh tr tu nhn to nhm cng cp s h tr trong thit k vn cha em li hiu qu no. Trong phn ln cc t chc, k ngh phn mm l mt hot ng nhm, v cc k s phn mm dnh hu ht thi gian trao i vi nhng thnh vin khc. CASE khng cung cp nhiu h tr cho qu trnh ny.