You are on page 1of 202

KIM TH V M BO CHT LNG

PHN MM

NM 2010

M U.........................................................................................................................................4 CHNG 1: CC KHI NIM .................................................................................................5 1.1. Cc nh ngha .........................................................................................................5 1.2. Vng i ca vic kim nghim (testing life cycle):...............................................6 1.3. Phn loi kim nghim: ...........................................................................................7 1.4. S tng quan gia cc cng on xy dng phn mm v loi kim nghim: M hnh ch V.......................................................................................................8 1.5. S lt cc k thut v cng on kim nghim:....................................................9 CHNG 2: KIM CHNG V XC NHN (V & V ) .......................................................13 2.1. Kim chng v hp l ho.....................................................................................13 2.1.1. T chc vic kim th phn mm .........................................................................14 2.1.2. Chin lc kim th phn mm ............................................................................15 2.1.3. Tiu chun hon thnh kim th ...........................................................................17 2.2. Pht trin phn mm phng sch (cleanroom software development)..................18 2.2.1. Ngh thut ca vic g ri.....................................................................................18 2.2.2. Tin trnh g li .....................................................................................................18 2.2.3. Xem xt tm l ......................................................................................................19 2.2.4. Cch tip cn g li ...............................................................................................19 CHNG 3: KIM TH PHN MM..................................................................................22 3.1. Qu trnh kim th................................................................................................22 3.2. Kim th h thng .................................................................................................24 3.3. Kim th tch hp..................................................................................................25 3.4. Kim th pht hnh ...............................................................................................27 3.5. Kim th hiu nng ...............................................................................................31 3.6. Kim th thnh phn .............................................................................................32 3.7. Kim th giao din ................................................................................................33 3.8. Thit k trng hp th (Test case design) ...........................................................35 3.9. T ng ha kim th (Test automation) ..............................................................45 CHNG 4: CC PHNG PHP KIM TH ..................................................................49 4.1. Phng php white-box:........................................................................................50 4.2. Phng php black-box:........................................................................................59 CHNG 5: KIM TH TCH HP......................................................................................66 5.1. Tch hp trn xung. .............................................................................................66 5.2. Tch hp di ln. .................................................................................................68 5.3. Kim th ni quy...................................................................................................69 5.4. Gi v vic kim th tch hp ............................................................................71 5.5. Lp ti liu v kim th tch hp...........................................................................72 CHNG 6: K NGH TIN CY PHN MM ............................................................75 6.1. Gii thiu ...............................................................................................................75 6.2. Xc nhn tnh tin cy .............................................................................................76 6.2.1. S tho hot ng ..................................................................................................78 6.2.2. D on tnh tin cy ..............................................................................................79 6.3. m bo tnh an ton.............................................................................................82 6.3.1. Nhng lun chng v tnh an ton.........................................................................83 6.3.2. m bo quy trnh .................................................................................................86 6.3.3. Kim tra tnh an ton khi thc hin .......................................................................88 6.4. Cc trng hp an ton v tin cy c................................................................89

CHNG 7: KIM TH PHN MM TRONG CNG NGHIP .....................................95 7.1. QUY TRNH KIM TRA PHN MM C BN...............................................95 7.2. M HNH KIM TRA PHN MM TMM (TESTING MATURITY MODEL)............................................................................................................................99 7.3. Cc cng c kim th (Test tools).......................................................................105 7.3.1. TI SAO PHI DNG TEST TOOL ................................................................105 7.3.2. KHI QUT V KTT .....................................................................................106 7.3.3. GII THIU CNG C KTT: QUICKTEST PROFESSIONAL...................108 7.3.4. Kim th n v vi JUnit...................................................................................112 CHNG 8: C LNG GI THNH PHN MM.....................................................129 8.1. Gii thiu .............................................................................................................129 8.2. Nng sut phn mn ............................................................................................131 8.3. K thut c lng..............................................................................................135 8.4. M hnh ho chi ph thut ton............................................................................137 8.5. M hnh COCOMO .............................................................................................139 8.6. M hnh chi ph gii thut trong k hoch d n.................................................147 8.7. Nhn vin v khong thi gian ca d n ...........................................................149 CHNG 9: QUN L CHT LNG PHN MM .......................................................153 9.1. Cht lng qu trnh v cht lng sn phm:....................................................153 9.2. Cht lng qu trnh v cht lng sn phm:....................................................155 9.3. m bo cht lng v cc chun cht lng.....................................................156 9.4. Lp k hoch cht lng......................................................................................163 9.5. Kim sot cht lng...........................................................................................164 9.6. CMM/CMMi .......................................................................................................165 9.6.2. Cu trc ca CMM ..............................................................................................166 9.6.3. So snh gia CMM v CMMi .............................................................................172 CHNG 10: QUN L CU HNH....................................................................................174 10.1. Gii thiu .............................................................................................................174 10.2. K hoch qun tr cu hnh ..................................................................................176 11.2. Qun l vic thay i...........................................................................................179 11.3. Qun l phin bn v bn pht hnh....................................................................183 11.4. Qun l bn pht hnh .........................................................................................186 11.5. Xy dng h thng ..............................................................................................189 11.6. Cc cng c CASE cho qun tr cu hnh ...........................................................190 PH LC- CC CU HI N TP......................................................................................197 1. Cht lng v m bo cht lng phn mm ............................................................197 2. Cc o c trng cht lng phn mm .................................................................198 3. Kim th phn mm ....................................................................................................199 4. Qun l cu hnh phn mm ........................................................................................201 TI LIU THAM KHO.........................................................................................................202

M U Qun l cht lng phn mm l vn khng mi nhng theo mt s nh gi l cn yu ca cc cng ty phn mm Vit Nam. Mt s cng ty trong nc hin t cc chun quc t CMM/CMMI trong nng cao nng lc v qun l cht lng phn mm, song ch m c trn u ngn tay, v hin cng ch gi gn trong vi cng ty gia cng cho th trng nc ngoi. Lu nay, ni n cht lng phn mm, khng t ngi ngh ngay n vn l xc nh xem phn mm c pht sinh li hay khng, c "chy" ng nh yu cu hay khng v cui cng thng quy v vai tr ca hot ng kim th phn mm (testing) nh l hot ng chu trch nhim chnh. Vi quan im ca khch hng, iu ny c th ng, h khng cn quan tm ni tnh ca hot ng pht trin phn mm, iu h cn quan tm l liu sn phm cui cng giao cho h c ng hn hay khng v lm vic ng nh h mun hay khng. Tuy nhin theo quan im ca ngi pht trin phn mm, thc t cho thy hot ng kim th phn mm l quan trng, nhng khng m bo sn phm s c hon thnh ng hn v ng yu cu. Kim th sau cng pht hin li l iu tt nhin phi lm, nhng trong rt nhiu trng hp, iu thng qu tr v s phi mt rt nhiu thi gian sa cha. Thc t cho thy, m bo c hai tiu ch "n gin" trn ca khch hng, i hi t chc khng ch vn hnh tt khu kim th phn mm, m phi t chc v duy tr s hot ng nhp nhng ca c mt h thng cc cng vic lin quan n mt d n phn mm, t y xut hin mt khi nim c tn l "h thng qun l cht lng phn mm" bao gm cc quy trnh c thc thi xuyn sut chu k pht trin ca d n phn mm song hnh cng vic kim th phn mm nhm m bo cht lng cho phn mm khi chuyn giao cho khch hng. Vi thc t trn, l nhng ngi lm cng tc o to mong mun cung cp cho sinh vin ngnh cng ngh phn mm - nhng ngi s l ngun nhn lc ch yu trong tng lai ca cc doanh nghip phn mm nhng khi nim, kin thc v k nng c bn ban u v kim th phn mm, v qui trnh qun l cht lng, m bo cht lng phn mm thng qua gio trnh (ni b) Kim th v m bo cht lng phn mm (Software Testing and Quality Assurrance). Gio trnh ny vi mc tiu cung cp cho sinh vin cng ngh phn mm c c kin thc v k nng v vic kim th phn mm, cc cng on kim th, cc loi kim th, cng c kim th, xy dng ti liu kim th, d liu kim th . V xy qui trnh m bo cht lng phn mm, gii thiu tng quan v h thng qun l cht lng, nguyn tc, k thut m bo rng d n phn mm s chuyn giao cho khch hng ng hn, ng yu cu. y l gio trnh s khi, cn nhiu vn cha i su phn tch v thc hin, cn mang tnh l thuyt nhiu. Tc gi hy vng bn c ng gp kin phin bn 2 p ng tt hn yu cu ca nhiu c gi, ca sinh vin v k c nhng ngi ang cng tc ti cc phng pht trin v m bo cht lng phn mm.

CHNG 1: CC KHI NIM

1.1.

Cc nh ngha

Li phn mm l chuyn hin nhin ca cuc sng. Chng ta d c gng n mc no th thc t l ngay c nhng lp trnh vin xut sc nht cng khng c th lc no cng vit c nhng on m khng c li. Tnh trung bnh, ngay c mt lp trnh vin loi tt th cng c t 1 n 3 li trn 100 dng lnh. Ngi ta c lng rng vic kim tra tm ra cc li ny chim phn na khi lng cng vic phi lm c c mt phn mm hot ng c. (Software Testing Techniques, Second Edition, by Boris Beizer, Van Nostrand Reinhold, 1990, ISBN 1850328803). Trn y l mt nhn nh v cng vic kim nghim (testing) chng trnh. Tht vy, ngy nay cng ngy cc chng trnh (cc phn mm) cng tr ln phc tp v s. Vic to ra mt sn phm c th bn c trn th trng i hi s n lc ca hng chc, hng trm thm ch hng ngn nhn vin. S lng dng m ln n hng triu. V to ra mt sn phm th khng phi ch do mt t chc ng ra lm t u n cui, m i hi s lin kt, tch hp ca rt nhiu sn phm, th vin lp trnh, ca nhiu t chc khc nhau T i hi vic kim nghim phn mm cng ngy cng tr nn rt quan trng v rt phc tp. Song song vi s pht trin cc cng ngh lp trnh, cc ngn ng lp trnh th cc cng ngh v k thut kim nghim phn mm ngy cng pht trin v mang tnh khoa hc. Bi tiu lun ny vi mc ch l tp hp, nghin cu, phn tch cc k thut, cc cng ngh kim nghim phn mm ang c s dng v pht trin hin nay. 1.1.1. nh ngha: Vic kim nghim l qu trnh thc thi mt chng trnh vi mc ch l tm ra li. (Glen Myers) Gii thch theo mc ch: Vic th nghim hin nhin l ni n cc li (error), sai st (fault), hng hc (failure) hoc cc hu qu (incident). Mt php th l mt cch chy phn mm theo cc trng hp th nghim vi mc tiu l: Tm ra sai st. Gii thch s hot ng chnh xc. (Paul Jorgensen) 1.1.2. Cc thut ng: Li (Error): L cc li lm do con ngi gy ra. Sai st (Fault): Sai st gy ra li. C th phn loi nh sau:

Sai st do a ra d tha chng ta a mt vi th khng chnh xc vo m t yu cu phn mm. Sai st do b st Ngi thit k c th gy ra sai st do b st, kt qu l thiu mt s phn ng ra phi c trong m t yu cu phn mm.

Hng hc (Failure): Xy ra khi sai st c thc thi. (Khi thc thi chng trnh ti cc ni b sai th s xy ra trng thi hng hc). Kt qu khng mong i, hu qu (Incident) L nhng kt qu do sai st em n. Hu qu l cc triu chng lin kt vi mt hng hc v bo hiu cho ngi dng bit s xut hin ca hng hc. Trng hp th (Test case) Trng hp th c lin kt tng ng vi hot ng ca chng trnh. Mt trng hp th bao mt mt tp cc gi tr u vo v mt danh sch cc kt qu u ra mong mun. Thm tra (Verification) Thm tra l tin trnh nhm xc nh u ra ca mt cng on trong vic pht trin phn mm ph hp vi cng on trc . Xc nhn (Validation) Xc nhn l tin trnh nhm ch ra ton h thng pht trin xong ph hp vi ti liu m t yu cu. So snh gia Thm tra v Xc nhn: Thm tra: thm tra quan tm n vic ngn chn li gia cc cng on. Xc nhn: xc nhn quan tm n sn phm cui cng khng cn li. 1.2. Vng i ca vic kim nghim (testing life cycle):

Bng di y m t cc cng on pht trin mt phn mm v cch khc phc li. Li c th xy ra trong tt c cc cng on t M t yu cu, Thit k n Lp trnh. T cng on ny chuyn sang cng on khc thng ny sinh cc sai st (do d tha hoc thiu theo m t yu cu). n cng on kim nghim chng ta s pht hin ra cc hu qu (cc kt qu khng mong mun). Qu trnh sa li bao gm phn loi li, c lp li (tm ra nguyn nhn v ni gy li), ra gii php sa li v cui cng l khc phc li.

Vng i ca kim nghim Li M t yu cu Sai st Thit k Li Sai st Lp trnh Sai st Kim nghim Phn loi li Hu qu Li Sa li Gii php sa li

C lp li

1.3.

Phn loi kim nghim: Mt l phn bit theo mc chi tit ca cc b phn hp thnh phn mm. Mc kim tra n v (Unit) Mc kim tra h thng (System) Mc kim tra tch hp (Integration) Cch phn loi khc l da trn phng php th nghim (thng dng mc kim tra n v) Kim nghim hp en (Black box testing) dng kim tra chc nng. Kim nghim hp trng (White box testing) dng kim tra cu trc.

C 2 mc phn loi:

Hnh bn di biu din s tng quan ca cc tiu ch cht lng phn mm, mc chi tit n v v phng php kim nghim

c im An ton n nh Thit thc Kh nng thi hnh Thn thin ngi dng Chc nng Phng php n v (Unit) Thnh phn (Module) Tch hp (Integration) H thng (System) Mc chi tit 1.4. S tng quan gia cc cng on xy dng phn mm v loi kim nghim: M hnh ch V White-box Black-box

M hnh ny nhm gii thch s tng quan gia cc cng on xy dng phn mm v cc loi kim nghim. mi cng on xy dng phn mm s tng ng vi mt loi kim nghim v cn c mt h s kim nghim tng ng c thnh lp phc v cho vic kim nghim. V d: Cng on: Yu cu phn mm(requiements); Loi kim nghim: Kim nghim chp nhn (acceptance test); H s: h s kim nghim chp nhn (acceptance test spec). Cng on: M t chi tit phn mm (specification); Loi kim nghim: Kim nghim h thng(system test); H s: h s kim nghim h thng (system test spec). Cng on: H s kin trc (architecture spec); Loi kim nghim: Kim nghim tch hp (integration test); H s: h s kim nghim tch hp (integration test spec). Cng on: Thit k chi tit (detailed design); Loi kim nghim: Kim nghim khi (module test); H s: h s kim nghim khi (module test spec). Cng on: Vit m (implementation code); Loi kim nghim: Kim nghim n v (unit test); H s: h s kim nghim n v (unit test spec).

acceptance test spec requiements acceptance test

system test spec specification system test

architecture spec Sai st

integration test spec integration test

module test spec detailed design module test

unit test spec implementation code unit test

1.5.

S lt cc k thut v cng on kim nghim:

Cc k thut v cng on kim nghim c th chia nh sau: Kim nghim tm hp: kim nghim cc b phn ring r. Kim nghim hp trng (White box testing) Kim nghim hp en (Black box testing) Kim nghim tm rng: Kim nghim b phn (Module testing): kim nhim mt b phn ring r. Kim nghim tch hp (Itegration testing): tch hp cc b phn v h thng con. Kim nghim h thng (System testing): kim nghim ton b h thng. Kim nghim chp nhn (Acceptance testing): thc hin bi khch hng.

1.5.1. Cc loi kim nghim tm hp: Cc loi kim nghim ny c thc hin kim nghim n cc n v (unit) hoc cc khi chc nng (module). a. Kim nghim hp trng (white-box testing) Cn gi l kim nghim cu trc. Kim nghim theo cch ny l loi kim nghim s dng cc thng tin v cu trc bn trong ca ng dng. Vic kim nghim ny da trn qu trnh thc hin xy dng phn mm. Tiu chun ca kim nghim hp trng phi p ng cc yu cu nh sau: Bao ph dng lnh: mi dng lnh t nht phi c thc thi 1 ln Bao ph nhnh: mi nhnh trong s iu khin (control graph) phi c i qua mt ln. Bao ph ng: tt c cc ng (path) t im khi to n im cui cng trong s dng iu khin phi c i qua. b. Kim nghim hp en (black-box testing) Cn gi l kim nghim chc nng. Vic kim nghim ny c thc hin m khng cn quan tm n cc thit k v vit m ca chng trnh. Kim nghim theo cch ny ch quan tm n chc nng ra ca chng trnh. V vy kim nghim loi ny ch da vo bn m t chc nng ca chng trnh, xem chng trnh c thc s cung cp ng chc nng m t trong bn chc nng hay khng m thi. Kim nghim hp en da vo cc nh ngha v chc nng ca chng trnh. Cc trng hp th nghim (test case) s c to ra da nhiu vo bn m t chc nng ch khng phi da vo cu trc ca chng trnh. c. Vn kim nghim ti bin: Kim nghim bin (boundary) l vn c t ra trong c hai loi kim nghim hp en v hp trng. L do l do li thng xy ra ti vng ny. V d: if x > y then S1 else S2 Vi iu kin bao ph, ch cn 2 trung hp th l x>y v x<=y. Vi kim nghim ng bin th kim tra vi cc trng hp th l x>y, x<y, x=y Cc loi kim nghim tm rng: Vic kim nghim ny thc hin trn tm mc ln hn v cc kha cnh khc ca phn mm nh kim nghim h thng, kim nghim s chp nhn (ca ngi dng)...

10

a. Kim nghim Module (Module testing) Mc ch: xc minh module a ra c xy dng ng hay cha? Vn t ra: gi s module I s dng cc module H, K. Nhng cc module H v K cha sn sng. Vy cch no kim tra module I mt cch c lp? Gii php ra l gi lp mi trng ca module H v K. Thng thng mt module c th gi mt tc v (hay mt tin trnh) khng phi ca n, truy cp cc cu trc d liu khng phi l cc b, hay c dng bi mt module khc. Hnh sau m t module c t trong mi trng th nghim.

STUB CALL

PROCEDURE UNDER TEST CALL

DRIVER

ACCESS TO NONLOCAL VARIABLES

Ghi ch: Driver l module gi thc thi lm cho module cn kim tra hot ng, n gi lp cc module khc s s dng module ny. Cc tp d liu chia s m cc module khc thit lp trong thc t cng c thit lp drive. Stub l module gi lp cc module c module ang kim tra s dng. b. Kim nghim tch hp: L cch kim nghim bng cch tch hp vo h thng tng module mt v kim tra. u im: D dng tm ra cc li vo ngay giai on u. D dng khoanh vng cc li (tch hp n modules, sau n + 1 modules). Gim vic s dng cc stub v Driver C th thc him kim nghim tch hp theo c 2 cch bottom-up v top-down ty thuc vo mi quan h s dng ln nhau gia cc module. c. Kim nghim h thng: Bao gm mt lot cc kim nghim nhm xc minh ton b cc thnh phn ca h thng c tch hp mt cch ng n.

11

Mc ch ca kim nghim h thng l m bo ton b h thng hot ng nh m khch hng mong mun. Bao gm cc loi kim nghim sau: Kim nghim chc nng (Function testing) Kim tra h thng sau khi tch hp c hot ng ng chc nng vi yu cu t ra trong bn m t yu cu hay khng. V d: vi h thng x l vn bn th kim tra cc chc nng to ti liu, sa ti liu, xo ti liu c hot ng hay khng. Kim nghim hiu sut (Perfomance testing) Kim nghim mc p ng (stress testing) Thc thi h thng vi gi thit l cc ti nguyn h thng yu cu khng p ng c v cht lng, n nh v s lng. Kim nghim cu hnh (configuration tessting) Phn tch h thng vi cc thit lp cu hnh khc nhau. Kim nghim n nh (robustness tessting) Kim nghim di cc iu kin khng mong i v d nh ngi dng g lnh sai, ngun in b ngt. Kim nghim hi phc (recovery testing) Ch ra cc kt qu tr v khi xy ra li, mt d liu, thit b, dch v hoc xo cc d liu h thng v xem kh nng phc hi ca n. Kim nghim qu ti (overload testing) nh gi h thng khi n vt qua gii hn cho php. V d: mt h thng giao tc (transaction) c yu cu thc thi 20 giao tc/giy. Khi s kim tra nu 30 giao tc/giy th nh th no? Kim nghim cht lng (quality testing) nh gi s tin tng, vn duy tu, tnh sn sng ca h thng. Bao gm c vic tnh ton thi gian trung bnh h thng s b hng v thi gian trung bnh khc phc. Kim nghim ci t (Installation testing) Ngi dng s dng cc chc nng ca h thng v ghi li cc li ti v tr s dng tht s. V d: mt h thng c thit k lm vic trn tu thy phi m bo khng b nh hng g bi iu kin thi tit khc nhau hoc do s di chuyn ca tu. d. Kim nghim chp nhn Nhm m bo vic ngi dng c c h thng m h yu cu. Vic kim nghim ny hon thnh bi ngi dng ph thuc vo cc hiu bit ca h vo cc yu cu.
12

CHNG 2: KIM CHNG V XC NHN (V & V ) 2.1. Lp k hoch V&V (Verification and validation planning) 2.2. Kim tra phn mm (Software inspections) 2.3. Phn tch tnh t ng (Automated static analysis) 2.4. Pht trin phn mm phng sch (Cleanroom software development)

2.1.

Kim chng v hp l ho

Kim th phn mm l mt yu t trong ch im rng hn thng c tham kho ti nh vn kim chng v hp l ho (V&V). Kim chng ni ti mt tp cc hnh ng m bo rng phn mm ci t ng cho mt chc nng c bit. Hp l ho ni ti mt tp cc hot ng khc m bo rng phn mm c xy dng li theo yu cu ca khch hng. Bochm pht biu iu ny theo cch khc: Kim chng: Chng ta c lm ra sn phm ng khng? Hp l ho: Chng ta c lm ra ng sn phm khng? nh ngha v V&V bao qut nhiu hot ng ta tham kho ti nh vic m bo cht lng phn mm (SQA). Cc phng php k ngh phn mm cung cp nn tng xy dng nn cht lng. Cc phng php phn tch, thit k v thc hin (m ho) lm nng cao cht lng bng cch a ra nhng k thut thng nht v kt qu d kin c. Cc cuc hp xt duyt k thut chnh thc (tho trnh) gip m bo cht lng ca sn phm c to ra nh h qu ca tng bc k ngh phn mm. Qua ton b tin trnh ny, vic o c v kim sot c p dng cho mi phn t ca cu hnh phn mm. Cc chun v th tc gip m bo tnh thng nht v tin trnh SQA chnh thc buc phi thi hnh trit l cht lng ton b . Vic kim th cung cp mt thnh lu cui cng c th thm nh v cht lng, li c th c pht hin ra mt cch thc t hn. Nhng khng nn coi kim th nh mt tm li an ton. Nh ngi ta vn ni, Bn khng th kim th c cht lng. Nu n khng sn c trc khi bn bt u kim th th n s chng c khi bn kt thc kim th. Cht lng c t hp vo trong phn mm trong ton b tin trnh k ngh phn mm. Vic p dng ng cc phng php v cng c, cc cuc hp xt duyt k thut chnh thc v vic qun l vng chc cng cch o c tt c dn ti cht lng c xc nhn trong khi kim th.

13

Hnh 2.1 t n cht lng phn mm Miller k li vic kim th phn mm v m bo cht lng bng cch ni rng ng c nn tng ca vic kim th chng trnh l xc nhn cht lng phn mm bng nhng phng php c th c p dng mt cch kinh t v hiu qu cho c cc h thng quy m ln v nh. iu quan trng cn lu rng vic kim chng v hp l ho bao gm mt phm vi rng cc hot ng SQA c cha c hp xt duyt chnh thc, kim ton cht lng v cu hnh, iu phi hiu nng, m phng, nghin cu kh thi, xt duyt ti liu, xt duyt c s d liu, phn tch thut ton, kim th pht trin, kim th cht lng, kim th ci t. Mc du vic kim th ng mt vai tr cc k quan trng trong V&V, nhiu hot ng khc cng cn cn ti.

2.1.1. T chc vic kim th phn mm Vi mi d n phn mm, c mt mu thun c hu v li ch xut hin ngay khi vic kim th bt u. Ngi xy phn mm by gi c yu cu kim th phn mm. iu ny bn thn n dng nh v hi; sau rt, ai bit c chng trnh k hn l ngi lm ra n? Nhng khng may, cng nhng ngi pht trin ny li c mi quan tm chng minh rng chng trnh l khng c li, rng n lm vic ng theo yu cu khch hng, rng n s c hon tt theo lch biu v trong phm vi ngn sch. Mt trong nhng mi quan tm ny li lm gim bt vic tm ra li trong ton b tin trnh kim th. Theo quan im tm l, vic phn tch v thit k phn mm (cng vi m ho) l nhim v xy dng. Ngi k s phn mm to ra mt chng trnh my tnh, ti liu v n v cc cu trc d liu c lin quan. Ging nh bt k ngi xy dng no, ngi k s phn mm t ho v dinh th c xy dng v nhn ng vc vo bt

14

k ai nh lm sp n. Khi vic kim th bt u, c mt n lc tinh vi, dt khot p v ci ngi k s phn mm xy dng. Theo quan im ca ngi xy dng, vic kim th c th c coi nh (v tm l) c tnh ph hoi. Cho nn ngi xy dng d dt cp ti vic kim th thit k v thc hin s chng t rng chng trnh lm vic, thay v pht hin li. iu khng may li s hin hu. V nu ngi k s phn mm khng tm ra chng th khch hng s tm ra. Thng c mt s nhn thc sai c th c suy din sai lc t tho lun trn: (1) ngi pht trin phn mm khng nn tin hnh kim th; (2) phn mm nn c tung qua tng cho ngi l lm vic kim th mt cch tn bo; (3) ngi kim th nn tham gia vo d n ch khi bc kim th sp sa bt u. Tng pht biu ny u khng ng. Ngi pht biu phn mm bao gi cng c trch nhim vi vic kim th ring cc n v (m un) chng trnh, m bo rng mi m un thc hin ng chc nng n c thit k. Trong nhiu trng hp, ngi pht trin cng tin hnh c kim th tch hp - bc kim th dn n vic xy dng (v kim th) ton b cu trc chng trnh. Ch sau khi kin trc phn mm hon tt th nhm kim th c lp mi tham gia vo. Vai tr ca nhm kim th c lp (ITG) l loi b vn c hu lin quan ti vic ngi xy dng kim th nhng ci anh ta xy dng ra. Vic kim th c lp loi b xung khc li ch nu khng c nhm th c th hin hu. Cui cng nhn s trong nhm kim th c lp c tr tin tm ra li. Tuy nhin, ngi pht trin phn mm khng chuyn giao chng trnh cho ITG ri b i. Ngi pht trin v ITE lm vic cht ch trong ton b d n phn mm m bo rng nhng kim th k lng s c tin hnh. Trong khi tin hnh kim th, ngi pht trin phi c sn sa cha li pht hin ra. ITG l mt phn ca nhm d n pht trin phn mm theo ngha l n tham d trong tin trnh c t v vn cn tham d (lp k hoch v xc nh cc th tc kim th) trong ton b d n ln. Tuy nhin, trong nhiu trng hp ITG bo co cho t chc m bo cht lng phn mm, do t ti mt mc c lp c th khng c c nu n l mt phn ca t chc pht trin phn mm.

2.1.2. Chin lc kim th phn mm Tin trnh k ngh phn mm c th c xt theo vng xon c, nh c minh ho trong Hnh 2.2. Ban u, k ngh phn mm xc nh vai tr ca phn mm v a ti vic phn tch yu cu phn mm, ch thit lp nn lnh vc thng tin, chc nng, hnh vi, hiu nng, rng buc v tiu chun hp l cho phn mm. i vo trong vng xon c, chng ta ti thit k v cui cng ti m ho. xy dng phn mm my tnh, chng ta i dc theo ng xon c, mi ln mc tru tng li gim dn. Mt chin lc cho kim th phn mm cng c th xem xt bng cch i theo ng xon c ca Hnh 2.2 ra ngoi. Vic kim th n v bt u ti tm xoy ca xon c v tp chung vo cc n v ca phn mm khi c ci t trong chng trnh gc. Vic kim th tin trin bng cch i ra theo ng xon c ti kim th tch hp, ni tp trung vo thit k v vic xy dng kin trc phn mm. i thm mt vng xoy na trn ng xon c chng ta gp kim th hp l, ni cc yu cu, c

15

thit lp nh mt phn ca vic phn tch yu cu phn mm, c hp l ho theo phn mm c xy dng. Cui cng chng ta ti kim th h thng, ni phn mm v cc phn t h thng khc c kim th nh mt ton b. kim th phn mm my tnh, chng ta theo ng xoy m rng dn phm vi kim th mt ln.

Hnh 2.3 Cc bc kim th phn mm Xem xt tin trnh ny theo quan im th tc v vic kim th bn trong hon cnh k ngh phn mm thc ti l mt chui gm ba bc c thc hin tun t nhau. Cc bc ny c v trong Hnh 2.3. Ban u, vic kim th tp trung vo tng m un ring bit, m bo rng n vn hnh ng n nh mt n v. Do mi c tn kim th n v. Kim th n v dng rt nhiu cc k thut kim th hp trng, th cc ng c bit trong cu trc iu khin ca mt m un m bo bao qut y v pht hin ra li ti a. Tip cc m un phi c lp ghp hay tch hp li to nn b trnh phn mm hon chnh. Vic kim th tch hp cp ti cc vn c lin quan ti cc vn kim chng v xy dng chng trnh. Cc k thut thit k kim th hp en chim i a s trong vic tch hp, mc du mt s gii hn cc kim th hp trng cng c th dc dng m bo bao qut a s cc ng iu khin. Sau khi phn mm c tch hp (c xy dng), mt tp cc php kim th cao cp s c tin hnh. Cc tiu chun hp l (c thit lp trong phn tch yu cu) cng phi c kim th. Vic kim th hp l a ra s m bo cui cng rng phn mm p ng cho tt c cc yu cu chc nng, hnh vi v s hon thin. Cc k thut kim th hp en c dng ch yu trong vic hp l ho ny. Bc kim th cp cao cui cng ri ra ngoi phm vi ca k ngh phn mm v ri vo hon cnh rng hn ca k ngh h thng my tnh. Phn mm, mt khi c hp l ho, phi c t hp vi cc phn t h thng khc (nh phn cng, con ngi, c s d liu). Kim th h thng kim chng li rng tt c cc yu t c

16

khp ng vi nhau khng v rng chc nng/ hon thin h thng ton b t c.

2.1.3. Tiu chun hon thnh kim th Cu hi c in ny sinh mi khi c vic tho lun v kim th phn mm l: Khi no chng ta thc hin xong kim th - lm sao ta bit rng chng ta kim th ? ng bun l khng c cu tr li xc nh cho cu hi ny, nhng c mt vi s p ng thc t v nhng n lc ban u theo hng dn kinh nghim. Mt p ng cho cu hi trn l: Bn chng bao gi hon thnh vic kim th, gnh nng n gin chuyn t bn (ngi pht trin) sang khch hng ca bn. Mi lc khch hng / ngi dng thc hin mt chng trnh my tnh th chng trnh ny li c kim th trn mt tp d liu mi. S kin ng mc ny nhn mnh tm quan trng ca cc hot ng m bo cht lng phn mm khc. Mt p ng khc (c iu g nho bng nhng du sao cng chnh xc) l : Bn hon thnh vic kim th khi bn ht thi gian hay ht tin. Mc du s t ngi thc hnh s bin minh cho nhng p ng trn, ngi k s phn mm cn nhng tiu chun cht ch hn xc nh khi no vic kim th c tin hnh. Musa v Ackerman gi mt p ng da trn tiu chun thng k: Khng, chng ta khng th tuyt i chc chn rng phn mm s khng bao gi hng, nhng theo m hnh thng k ng v l thuyt v hp l v thc nghim th chng ta hon thnh kim th ni vi s tin tng ti 95% rng xc sut ca 1000 gi vn hnh CPU khng hng trong mt mi trng c xc nh v xc sut l t nht 0.995 Dng m hnh ho thng k v l thuyt tin cy phn mm, cc m hnh v hng hc phn mm (c pht hin trong khi kim th) xem nh mt hm ca thi gian thc hin c th c xy dng ra. Mt bn ca m hnh sai hng, c gi l m hnh thc hin- thi gian Poisson l ga rit, c dng: f(t)= ( 1 ) x ln[ l0(pt +1) ] p

(17.1)

vi f(t) = s tch lu nhng hng hc d kin xut hin mt khi phn mm c kim th trong mt khong thi gian thc hin t. l0 = mt hng phn mm ban u (s hng trn n v thi gian) vo lc bt u kim th. P = vic gim theo hm m trong mt hng khi li c pht hin v sa i c tin hnh.

Mt hng th nghim. l(t), c th c suy ra bng cch ly o hm ca f(t): F(t) = l 0 pt +1


l0

(17.2)

Dng mi quan h trong phng trnh (2.2), ngi kim th c th tin on vic loi b li khi vic kim th tin trin. Mt li thc ti c th c chm ln trn ng cong d kin (hnh 2.4). Nu d liu thc ti c thu thp trong khi

17

kim th v m hnh thc hin - thi gian theo logarit Poisson l xp x gn nhau vi s im d liu th m hnh ny c th c dng d on thi gian kim th ton b cn t ti mt hng thp chp nhn c. Bng cch thu thp cc o trong khi kim th phn mm v dng cc m hnh v tin cy phn mm hin c, c th pht trin nhng hng dn c ngha tr li cu hi: Khi no th chng ta hon thnh vic kim th? Cn t tranh lun v vic c phi lm cng vic thm na hay khng trc khi cc quy tc nh tnh cho kim th c th xc nh, nhng cch tip cn kinh nghim hin ang tn ti c coi l tt hn ng k so vi trc gic th.

2.2.

Pht trin phn mm phng sch (cleanroom software development)

Cleanroom l mt qui trnh pht trin phn mm hn l mt k thut kim th. Cho n by gi, k thut ny vn c xem l mt cch mi ca vic suy ngh v kim th v m bo cht lng phn mm. tng ca cleanroom l nhm trnh tiu tn chi ph cho hot ng pht hin v g b cc li bng cch vit m lnh chng trnh mt cch chnh xc ngay t ban u vi nhng phng php chnh thng nh k thut chng minh tnh ng n trc khi kim th. 2.2.1. Ngh thut ca vic g ri Kim th phn mm l mt tin trnh c th c vch k hoc v xc nh mt cch h thng. Vic thit k trng hp kim th c th tin hnh mt chin lc xc nh v c kt qu c tnh ton theo thi gian. G li xut hin nh hu qu ca vic kim th thnh cng. Tc l, khi mt trng hp kim th pht hin ra li th vic g li l tin trnh s ny sinh loi b li. Mc du vic g li c th nn l mt tin trnh c trt t, n phn ln cn l ngh thut. Ngi k s phn mm khi tnh cc kt qu ca php th, thng hay phi ng u vi ch dn triu chng v vn phn mm. Tc l, ci biu l ra bn ngoi ca li v nguyn nhn bn trong ca li c th c mi quan h khng hin nhin ti mt li khc. Tin trnh tm tr t hiu bit gn mt triu chng vi nguyn nhn chnh vic g li. 2.2.2. Tin trnh g li G li khng phi l kim th, nhng bao gi cng xut hin nh mt h qu kim th. Tham kho n hnh 2.12 th tin trnh g li bt u vi vic thc hin kim th. Kt qu c thm nh v gp vic thiu s tng ng gia kt qu trng i v thc t. Trong nhiu trng hp, d liu khng tng ng l triu chng ca mt nguyn nhn nn tng cn b che kn. Tin trnh g li c gng ghp triu chng vi nguyn nhn, t dn ti vic sa li. Tin trnh g li bao gi cng sinh ra mt trong hai kt qu logic: (1) Nguyn nhn s c tm ra, sa cha v loi b hay (2) nguyn nhn s khng c tm ra. Trong trng hp sau, ngi thc hin g li c th hoi nghi mt nguyn nhn, thit k ra mt trng hp kim th gip hp l ho hoi nghi ca mnh, v vic lm hng ti vic sa li theo cch lp li.

18

Ti sao g li li kh? Rt c th tm l con ngi (xem mc sau) c lin quan ti nhiu cu tr li hn l cng ngh phn mm. Tuy nhin mt vi c trng ca li a ra vi manh mi: o Triu chng v nguyn nhn c th xa nhau v mt a l. Tc l, nhng triu chng c th xut hin trong mt phn ny ca chng trnh, trong khi nguyn nhn thc t c th nh v mt v tr xa. Cc cu trc chng trnh i i vi nhau lm trm trng thm tnh hung ny. o Triu chng c th bin mt (tm thi) khi mt li khc c sa cha. o Triu chng thc t c th gy ra khng li (nh do s khng chnh xc ca vic lm trn s). o Triu chng c th c gy ra do li con ngi khng d ln du vt. o Triu chng c th l kt qu ca vn thi gian, thay v vn x l. o C th kh ti to li chnh xc cc iu kin vo (nh ng dng thi gian thc trong th t vo khng xc nh) o Triu chng c th c lc c lc khng. iu ny c bit ph bin trong cc h thng nhng vic i i phn cng v phn mm khng cht ch. o Triu chng c th do nguyn nhn c phn b qua mt s cc nhim v chy trn cc b x l khc nhau. o Trong khi g li, chng ta gp khng t cc li chy t vic hi kh chu (nh nh dng ci ra khng ng) ti cc thm ho (nh h thng hng, gy ra cc thit hi kinh t hay vt l trm trng). Xem nh hu qu ca vic tng li, khi lng sc p tm ra li cng tng thm. Thng thng, sc p buc ngi pht trin phn mm phi tm ra li v ng thi a vo thm hai li na. 2.2.3. Xem xt tm l Khng may, dng nh c mt s bng c l s tinh thng g li thuc bm sinh con ngi. Mt s ngi lm vic rt gii, s khc li khng. Mc d bng c kinh nghim v g li vn cn m cho nhiu cch hiu, nhng bin thin ln nht trong kh nng g li c bo co li i vi cc k s phn mm c cng nn tng kinh nghim v gio dc. Bnh lun v kha cnh g li ca con ngi, Shneiderman pht biu: G li l mt trong nhng phn chn nht ca lp trnh. N c yu t ca vic gii quyt vn hay vn hc ba, i i vi vic tha nhn kh chu rng bn sai lm. Hay u lo v khng sn lng chp nhn kh nng li lm tng kh khn cho cng vic. May mn l c s gim nh v bt cng thng khi li cui cng c sa li. Mc du c th kh hc c vic g li, ngi ta vn ngh ra mt s cch tip cn ti vn . Chng ta xem xt nhng vn ny trong mc tip.

2.2.4. Cch tip cn g li Bt k ti cch tip cn no c chn g li c mt mc tiu quan trng hn c: tm ra v sa cha nguyn nhn li phn mm. Mc tiu ny c thc hin bng t hp

19

cc nh gi c h thng, trc gic v may mn. Bradley m t cch tip cn g li theo cch ny: G li l vic ng dng trc tip phng php kh hc tng c pht trin hn 2500 nm qua. C s ca vic g li l nh v ngun gc ca vn [nguyn nhn] bng vic phn hoch nh phn, thng qua cc gi thit lm vic d on cc gi tr mi cn kim tra. Ta hy ly mt v d khng phi phn mm: n trong nh ti khng lm vic. Nu khng c g trong nh lm vic th nguyn nhn phi l cu ch chnh hay bn ngoi; ti nhn quanh liu xem hng xm c b tt n hay khng. Ti cm chic n nghi ng vo cm khc v cm mt in khc vo mch nghi ng. C th tin hnh cc phng n gii quyt kim th.

Ni chung, c th a ra ba loi cc tip cn g li: B buc mnh bo Lt ngc Loi b nguyn nhn
Loi b buc mnh bo c l l phng php thng dng nht v km hiu qu nht c lp nguyn nhn ca li phn mm. Chng ta p dng phng php g li b buc mnh bo khi tt c cc phng php khc u tht bi. Dng trit l c my tnh tm ra li, ngi ta cho x ra ni dung b nh, gi ti chng trnh lu du vt khi chy v np chng trnh vi lnh WRITE. Chng ta hy vng rng u trong bi ly thng tin dc to ra, chng ta c th tm ra c mt nguyn nhn ca li. Mc du ng thng tin c to ra cui cng c th dn ti thnh cng, thng hn c l n dn n ph phm cng sc v thi gian. Phi dnh suy ngh vo trc ht . Lt ngc li cch tip cn kh thng dng c th c dng trong nhng chng trnh nh. Bt u ti ch chng c pht hin ra, lt ngc theo nhng chng trnh gc (mt cch th cng) cho ti ch tm ra nguyn nhn. Khng may l khi s dng chng trnh gc tng ln, s con ng lt ngc tim nng c th tr nn khng qun l ni. Cch tip cn th ba ti g li - loi b nguyn nhn c biu l bng vic quy np hay din dch v a vo khi nim v phn hoch nh phn. D liu c lin quan ti vic xut hin li c t chc c lp ra cc nguyn nhn tim nng. Mt gi thit nguyn nhn c nu ra v d liu trn c dng chng minh hay bc b gi thit . Mt cch khc, ta c th xy dng ra mt danh sch mi nguyn nhn c bit c nhiu ha hn th d liu s c lm mn thm c gng c lp ra li. Tng cch tip cn g li trn y u c th c b sung thm bi cng c g li. Chng ta c th p dng mt phm vi rng cc trnh bin dch g li, nhng tr gip g li ng (B d du vt), cc b sinh trng hp kim th t ng, s b nh v bng tham kho cho. Tuy nhin cc cng c u khng phi l cch thay th cho vic nh gi da trn ti liu thit k phn mm y v chng trnh gc r rng. Trong nhiu trng hp, vic g li phn mm my tnh ta nh vic gii quyt vn trong th gii kinh doanh. Brow v Sampson a ra mt cch tip cn g li tn l Phng php, l vic thch nghi cc k thut gii quyt vn qun l. Cc tc gi ny ngh pht trin mt bn c t v cc lch, m t cho vn bng cch phc ha ci g, khi no, u v vi phm vi no?

20

Mi mt trong nhng vn nu trn (ci g, khi no, u v vi phm vi no) u c ch ra thnh nhng p ng l hay khng l phn bit r rt gia ci g xy ra v ci g khng xy ra. Mt khi thng tin v li c ghi li th ngi ta xy dng ra mt gi thit nguyn nhn da trn cc phn bit quan st c t nhng p ng l hay khng l. Vic g li tip tc dng cch tip cn qui np hay din dch c m t phn trn trong mc ny. Bt k tho lun no v cch tip cn v cng c g li cng u khng y nu khng ni ti mt ng minh mnh m: Ngi khc! Khi nim v lp trnh v ng ca Weinberg (c tho lun trc y trong cun sch ny) nn c m rng thnh g li v ng. Mi ngi chng ta u c th nh li iu g kh x khi mt hng gi, hng ngy v mt li dai dng. Mt ng nghip vn v i qua trong ni tht vng ri chng ti gii thch v tung ra bn tin chng trnh ra. Lp tc (dng nh) nguyn nhn li b pht hin ra. Mm ci mt cch ngo ngh, anh bn ng nghip chng ta bin mt. Mt quan im mi m, khng b che ph bi hng gi tht vng, c th to ra nhng iu k diu. Cu chm ngn cui cng v g li c th l: Khi tt c mi th khc u sai th hy nh s gip . Mt khi li c tm ra, th n phi c sa cha. Nhng khi chng ta lu , vic sa mt li i khi c th li a vo mt li khc v do li gy hi hn l tt. Van Vleck gi ba cu hi n gin ngi k s phn mm nn hi trc khi tin hnh sa cha loi b nguyn nhn gy li:

Liu nguyn nhn gy li ny c b ti to phn khc ca chng trnh hay khng? Trong nhiu tnh hung, mt khim khuyt chng trnh b gy ra bi mt mu hnh logic sai st c th cn pht sinh u khc na. Vic xem xt tng minh v mu hnh logic ny c th lm pht hin ra thm cc li khc Li tip c th b a vo l g khi ti cha li ny? Trc khi vic sa li c tin hnh, chng trnh gc (hay tt hn, thit k) nn c nh gi li thm nh vic dnh ni cc cu trc logic d liu. Nu vic sa li c tin hnh trong mt phn c dnh ni cao th cng phi tm nhiu khi tin hnh bt k mt s thay i no.

Ta c th lm g ngn cn li ny ngay t u? Cu hi ny l bc u tin hng ti vic thit lp mt cch tip cn m bo cht lng phn mm thng k. Nu ta sa chng trnh cng nh sn phm th li s loi b chng trnh hin ti v c th b kh b mi chng trnh tng lai

21

CHNG 3: KIM TH PHN MM

Mc tiu ca chng ny l m t qu trnh kim th phn mm v a ra cc k thut kim th. Khi c chng ny, bn s: 3.1.

Hiu c s khc bit gia kim th hp l v kim th khim khuyt. Hiu c cc nguyn l ca kim th h thng v kim th b phn. Hiu c ba chin lc c th s dng sinh cc trng hp kim th h thng. Hiu c cc c im bn cht ca cng c phn mm c s dng kim th t ng.
Qu trnh kim th

Qu trnh kim th phn mm c hai mc tiu ring bit: 1. Chng minh cho ngi pht trin v khch hng thy cc yu cu ca phn mm. Vi phn mm truyn thng, iu ny c ngha l bn c t nht mt th nghim cho mi yu cu ca ngi dng v ti liu h thng yu cu.Vi cc sn phm phn mm chung, iu c ngha l bn nn th nghim tt c cc c tnh ca h thng s c kt hp trong sn phm pht hnh. 2. Pht hin cc li v khim khuyt trong phn mm: phn mm thc hin khng ng, khng nh mong i hoc khng lm theo nh c t. Kim tra khim khuyt tp trung vo vic tm ra tt c cc kiu thc hin khng nh mong i ca h thng, nh s v h thng, s tng tc khng mong mun vi h thng khc, tnh ton sai v sai lc d liu.

Kim th thnh phn

Kim th h thng

Ngi pht trin phn mm

Nhm kim th c lp

Hnh 3.1 Cc giai on kim th

Cc trng hp kim th

D liu kim th

Cc kt qu kim th

Bo co kim th

Thit k trng hp kim th

Chun b d liu kim th

Chy chng trnh vi d liu kim th

So snh cc kt qu Vi cc trng hp th nghim

Hnh 3.2 Mt m hnh ca qu trnh kim th phn mm

22

Mc tiu th nht dn n kim th hp l, s dng tp cc th nghim phn nh mong mun ca ngi dng kim tra xem h thng c thc hin ng khng. Mc tiu th hai dn n kim th khim khuyt: cc trng hp kim th c thit k tm ra cc khim khuyt. Cc trng hp kim th c th c lm khng r v khng cn phn nh cch h thng bnh thng c s dng. Vi kim th hp l, mt th nghim thnh cng l th nghim m h thng thc hin ng n. Vi kim th khim khuyt, mt th nghim thnh cng l mt th nghim tm ra mt khim khuyt, nguyn nhn lm cho h thng thc hin khng chnh xc. Kim th c th khng chng minh c phn mm khng c khim khuyt, hoc n s thc hin nh c t trong mi trng hp. Rt c th mt th nghim bn b qua c th pht hin ra cc vn khc trong h thng. Nh Dijstra, mt ngi i u trong vic pht trin k ngh phn mm, tuyn b (1972): kim th ch c th pht hin ra cc li hin ti, ch khng th a ra tt c cc li. Ni chung, v vy, mc tiu ca kim th phn mm l thuyt phc ngi pht trin phn mm v khch hng rng phn mm l tt cho cc thao tc s dng. Kim th l mt qu trnh c dng to nn s tin tng trong phn mm. M hnh tng qut ca qu trnh kim th c m t trong hnh 3.2. Cc trng hp kim th s ch r ca u vo th nghim v u ra mong i t h thng cng vi mt bn bo co sn phm c kim th. D liu kim th l u vo, c ngh ra kim th h thng. D liu kim th thnh thong c th c t ng sinh ra. Sinh cc trng hp kim th t ng l iu khng lm c. u ra ca th nghim ch c th c d on bi ngi him bit v hot ng ca h thng. Kim th ton din: mi chng trnh c th thc hin tun t c kim tra, l iu khng th lm c. V vy, kim th, phi c thc hin trn mt tp con cc trng hp kim th c th xy ra. Trong l tng, cc cng ty phn mm c nhng iu khon la chn tp con ny hn l giao n cho i pht trin. Nhng iu khon ny c th da trn nhng iu khon kim th chung, nh mt iu khon l tt c cc cu lnh trong chng trnh nn c thc thi t nht mt ln. Mt s la chn l nhng iu khon kim th c th s trn kinh nghim s dng h thng, v c th tp trung vo kim th cc c trng hot ng ca h thng. V d: 1. Tt c cc c trng ca h thng c truy cp thng qua thc n nn c kim th. 2. Kt hp cc chc nng (v d nh dng vn bn) c truy cp thng qua cng thc n phi c kim th. 3. Khi u vo c a vo, tt c cc chc nng phi c kim th vi cng mt th nghim ng n v th nghim khng ng n. iu r rng t kinh nghim vi sn phm phn mm ln nh phn mm x l vn bn, hoc bng tnh c th so snh cc nguyn tc thng thng c s dng trong lc kim th sn phm. Khi cc c trng ca phn mm c s dng c lp, chng lm vic bnh thung. Cc vn pht sinh, nh Whittaker gii thch (Whittaker, 2002), khi lin kt cc c trng khng c kim th cng nhau. ng a ra mt v d, khi s dng phn mm x l vn bn s dng s dng li ch thch cui trang vi cch sp xp nhiu ct lm cho vn bn trnh by khng ng.
Khi mt phn ca qu trnh lp k hoch V & V, ngi qun l phi a ra cc quyt nh ai l ngi chu trch nhim trong tng bc kim th khc nhau. Vi hu ht cc h thng, cc lp trnh vin chu trch nhim kim th cc thnh phn

23

m h trin khai. Khi cc lp trnh vin hon thnh cc cng vic , cng vic c giao cho i tng hp, h s tch hp cc mun t nhng ngi pht trin khc nhau to nn phn mm v kim th ton b h thng. Vi h thng quan trng, mt qu trnh theo nghi thc c th c s dng, cc ngi th c lp chu trch nhim v tt c cc bc ca qu trnh kim th. Trong kim th h thng quan trng, cc th nghim c kim th ring bit v h s chi tit ca kt qu kim th c duy tr. Kim th cc thnh phn c thc hin bi nhng ngi pht trin thng da trn hiu bit trc gic v cch hot ng ca cc thnh phn. Tuy nhin, kim th h thng phi da trn vn bn c t h thng. c th l mt c t chi tit yu cu h thng, hoc n c th l c t hng ngi s dng mc cao ca cc c tnh c thc hin trong h thng. Thng c mt i c lp chu trch nhim kim th h thng, i kim th h thng lm vic t ngi s dng v ti liu yu cu h thng lp k hoch kim th h thng. Hu ht cc tho lun v kim th bt u vi kim th thnh phn v sau chuyn n kim th h thng. Ti o ngc th t cc tho lun trong chng ny bi v rt nhiu qu trnh pht trin phn mm bao gm vic tch hp cc thnh phn s dng li v c lp vo phn mm to nn cc yu cu c th. Tt c cc kim th trong trng hp ny l kim th h thng, v khng c s tch ri trong qu trnh kim th thnh phn.

3.2.

Kim th h thng

H thng gm hai hoc nhiu thnh phn tch hp nhm thc hin cc chc nng hoc c tnh ca h thng. Sau khi tch hp cc thnh phn to nn h thng, qu trnh kim th h thng c tin hnh. Trong qu trnh pht trin lp i lp li, kim th h thng lin quan vi kim th mt lng cng vic ngy cng tng phn phi cho khch hng; trong qu trnh thc nc, kim th h thng lin quan vi kim th ton b h thng. Vi hu ht cc h thng phc tp, kim th h thng gm hai giai on ring bit: 1. Kim th tch hp: i kim th nhn m ngun ca h thng. Khi mt vn c pht hin, i tch hp th tm ngun gc ca vn v nhn bit thnh phn cn phi g li. Kim th tch hp hu nh lin quan vi vic tm cc khim khuyt ca h thng. 2. Kim th pht hnh: Mt phin bn ca h thng c th c pht hnh ti ngi dng c kim th. i kim th tp trung vo vic hp l cc yu cu ca h thng v m bo tnh tin cy ca h thng. Kim th pht hnh thng l kim th hp en, i kim th tp trung vo m t cc c tnh h thng c th lm c hoc khng lm c. Cc vn c bo co cho i pht trin g li chng trnh. Khch hng c bao hm trong kim th pht hnh, thng c gi l kim th chp nhn. Nu h thng pht hnh tt, khch hng c th chp nhn n s dng. V c bn, bn c th ngh kim th tch hp nh l kim th h thng cha y bao gm mt nhm cc thnh phn. Kim th pht hnh lin quan dn kim th h thng pht hnh c nh phn phi ti khch hng. Tt nhin, c s gi chng ln

24

nhau, c bit khi pht trin h thng v h thng uc pht hnh khi cha hon thnh. Thng thng, s u tin hng u trong kim th tch hp l pht hin ra khim khuyt trong h thng v s u tin hng u trong kim th h thng l lm hp l cc yu cu ca h thng. Tuy nhin trong thc t, c vi kim th hp l v vi kim th khim khuyt trong cc qu trnh.

3.3.

Kim th tch hp

Qu trnh kim th tch hp bao gm vic xy dng h thng t cc thnh phn v kim th h thng tng hp vi cc vn pht sinh t s tng tc gia cc thnh phn. Cc thnh phn c tch hp c th trng vi chnh n, cc thnh phn c th dng li c c th thm vo cc h thng ring bit hoc thnh phn mi c pht trin. Vi rt nhiu h thng ln, c tt c 3 loi thnh phn c s dng. Kim th tch hp kim tra trn thc t cc thnh phn lm vic vi nhau, c gi l chnh xc v truyn d liu ng vo lc thi gian ng thng qua giao din ca chng. H thng tch hp bao gm mt nhm cc thnh phn thc hin vi chc nng ca h thng v c tch hp vi nhau bng cch gp cc m chng lm vic cng vi nhau. Thnh thong, u tin ton b khung ca h thng c pht trin, sau cc thnh phn c gp li to nn h thng. Phng php ny c gi l tch hp t trn xung (top-down). Mt cch la chn khc l u tin bn tch hp cc thnh phn c s cung cp cc dch v chung, nh mng, truy cp c s d liu, sau cc thnh phn chc nng c thm vo. Phng php ny c gi l tch hp t di ln (bottom-up). Trong thc t, vi rt nhiu h thng, chin lc tch hp l s pha trn cc phng php trn. Trong c hai phng php top-down v bottom-up, bn thng phi thm cc m m phng cc thnh phn khc v cho php h thng thc hin. Mt vn ch yu ny sinh trong lc kim th tch hp l cc li cc b. C nhiu s tng tc phc tp gia cc thnh phn ca h thng, v khi mt u ra bt thng c pht hin, bn c th kh nhn ra ni m li xut hin. vic tm li cc b c d dng, bn nn thng xuyn tch hp cc thnh phn ca h thng v kim th chng. Ban u, bn nn tch hp mt h thng cu hnh ti thiu v kim th h thng ny. Sau bn thm dn cc thnh phn vo h thng v kim th sau mi bc thm vo.

25

A A T1 A T2 B T3 C T4 D B T3 C T2 B T1

T1

T2

T3

T4

T5

Dy kim th 1

Dy kim th 2

Dy kim th 3

Hnh 3.3 Kim th tch hp ln dn

Trong v d trn hnh 2.3, A,B,C,D l cc thnh phn v T1, T2, T3, T4, T5 l tp cc th nghim kt hp cc c trng ca h thng. u tin, cc thnh phn A v B c kt hp to nn h thng (h thng cu hnh ti thiu), v cc th nghim T1, T2, T3 c thc hin. Nu pht hin c khim khuyt, n s c hiu chnh. Sau , thnh phn C c tch hp v cc th nghim T1, T2 v T3 c lm lp li m bo n khng to nn cc kt qu khng mong mun khi tng tc vi A v B. Nu c vn ny sinh trong cc kim th ny, n hu nh chc chn do s tng tc vi cc thnh phn mi. Ngun gc ca vn c khoanh vng, v vy lm n gin vic tm v sa li. Tp th nghim T4 cng c thc hin trn h thng. Cui cng, thnh phn D c tch hp vo h thng v kim th c thc hin trn cc th nghim c v cc th nghim mi. Khi lp k hoch tch hp, bn phi quyt nh th t tch hp cc thnh phn. Trong mt qu trnh nh XP, khch hng cng tham gia trong qu pht trin, khch hng quyt nh cc chc nng nn c thm vo trong mi bc tch hp h thng. Do , tch hp h thng c iu khin bi s u tin ca khch hng. Trong cch tip cn khc pht trin h thng, khi cc thnh phn v cc thnh phn ring bit c tch hp, khch hng c th khng tham gia vo qu trnh tch hp h thng v i tch hp quyt nh th t tch hp cc thnh phn. Trong trng hp ny, mt quy tc tt l u tin tch hp cc thnh phn thc hin hu ht cc chc nng thng s dng ca h thng. iu ny c ngha l cc thnh phn thng c s dng hu ht c kim th. V d, trong h thng th vin, LIBSYS, u tin bn nn tch hp chc nng tm kim trong h thng ti thiu, ngi dng c th tm kim cc ti m h cn. Sau , bn nn tch hp cc chc nng cho php ngi dng ti ti liu t trn Internet v dn thm cc thnh phn thc hin cc chc nng khc ca h thng.

26

Tt nhin, thc t t khi n gin nh m hnh trn. S thc hin cc chc nng ca h thng c th lin quan n nhiu thnh phn. kim th mt c tnh mi, bn c th phi tch hp mt vi thnh phn khc nhau. Kim th c th pht hin li trong khi tng tc gia cc thnh phn ring bit v cc phn khc ca h thng. Vic sa li c th kh khn bi v mt nhm cc thnh phn thc hin chc nng c th phi thay i. Hn na, tch hp v kim th mt thnh phn mi c th thay i tng tc gia cc thnh phn c kim th. Cc li c th c pht hin c th khng c pht hin trong khi kim th h thng cu hnh n gin. Nhng vn ny c ngha l khi mt h thng tch hp mi c to ra, cn phi chy li cc th nghim trong h thng tch hp c m bo cc yu cu cc th nghim vn thc hin tt, v cc kim th mi thc hin tt c chc nng mi ca h thng. Vic thc hin kim th li tp cc th nghim c gi l kim th hi quy. Nu kim th hi quy pht hin c vn , th bn phi kim tra c li trong h thng c hay khng m h thng mi pht hin ra, hoc c li do thm cc chc nng mi. R rng, kim th hi quy l qu trnh tn km, khng kh thi nu khng c s h tr t ng. Trong lp trnh cc , tt c cc th nghim c vit nh m c th thc thi, cc u vo th nghim v kt qu mong i c xc nh r v c t ng kim tra. Khi c s dng cng vi mt khung kim th t ng nh Junit (Massol v Husted, 2003), iu ny c ngha l cc th nghim c th c t ng thc hin li. y l nguyn l c bn ca lp trnh cc , khi tp cc th nghim ton din c thc hin bt c lc no m mi c tch hp v cc m mi ny khng c chp nhn cho n khi tt c cc th nghim c thc hin thnh cng.
3.4. Kim th pht hnh

Kim th pht hnh l qu trnh kim th mt h thng s c phn phi ti cc khch hng. Mc tiu u tin ca qu trnh ny l lm tng s tin cy ca nh cung cp rng sn phm h cung cp c y cc yu cu. Nu tha mn, h thng c th c pht hnh nh mt sn phm hoc c phn phi n cc khch hng. chng t h thng c y cc yu cu, bn phi ch ra n c cc chc nng c t, hiu nng, v tnh tin cy cao, n khng gp sai st trong khi c s dng bnh thng. Kim th pht hnh thng l qu trnh kim th hp en, cc th nghim c ly t c t h thng. H thng c i x nh chic hp en, cc hot ng ca n ch c th c nhn bit qua vic nghin cu u vo v u ra ca n. Mt tn khc ca qu trnh ny l kim th chc nng, bi v ngi kim tra ch tp trung xem xt cc chc nng v khng quan tm s thc thi ca phn mm.

27

D liu u vo kim th

Ie

Cc u vo gy nn hnh x d thng

H thng

Kt qu u ra kim th

Cc u ra bc l s hin din ca cc khim khuyt Oe

Hnh 3.4 Kim th hp en


Hnh 3.4 minh ha m hnh mt h thng c kim th bng phng php kim th hp en. Ngi kim tra a u vo vo thnh phn hoc h thng v kim tra u ra tng ng. Nu u ra khng nh d bo trc (v d, nu u ra thuc tp Oe), kim th pht hin mt li trong phn mm. Khi h thng kim th c thc hin, bn nn th m s phn mm bng cch la chn cc trng hp th nghim trong tp Ie (trong hnh 3.4). Bi v, mc ch ca chng ta l la chn cc u vo c xc sut sinh ra li cao (u ra nm trong tp Oe). Bn s dng cc kinh nghim thnh cng trc v cc nguyn tc kim th a ra cc la chn. Cc tc gi nh Whittaker (Whittaker, 2002) tm lc nhng kinh nghim kim th ca h trong mt tp cc nguyn tc nhm tng kh nng tm ra cc th nghim khim khuyt. Di y l mt vi nguyn tc: 1. La chn nhng u vo lm cho h thng sinh ra tt c cc thng bo li. 2. Thit k u vo lm cho b m u vo b trn. 3. Lm lp li vi cc u vo nh nhau hoc mt dy cc u vo nhiu ln. 4. Lm sao u ra khng ng c sinh ra. 5. Tnh ton kt qu ra rt ln hoc rt nh. xc nhn h thng thc hin chnh xc cc yu cu, cch tip cn tt nht vn ny l kim th da trn kch bn, bn a ra mt s kch bn v to nn cc trng

28

hp th nghim t cc kch bn . V d, kch bn di y c th m t cch h thng th vin LIBSYS, tho lun trong chng trc, c th c s dng: Mt sinh vin Sct-len nghin cu lch s nc M c yu cu vit mt bi lun v Tm l ca ngi min Ty nc M t nm 1840 n nm 1880. lm vic , c y cn tm cc ti liu t nhiu th vin. C y ng nhp vo h thng LIBSYS v s dng chc nng tm kim tm xem c y c c truy cp vo cc ti liu gc trong khong thi gian y khng. C y tm c cc ngun ti liu t rt nhiu th vin ca cc trng i hc ca M, v c y ti mt vi bn sao cc ti liu . Tuy nhin, vi mt vi ti liu, c y cn phi c s xc nhn t trng i hc ca c y rng c y tht s l mt sinh vin v cc ti liu c s cho nhng mc ch phi thng mi. Sau , sinh vin s dng cc phng tin ca LIBSYS yu cu s cho php v ng k cc yu cu ca h. Nu c xc nhn, cc ti liu s c ti xung t my ch ca th vin v sau c in. C y nhn c mt thng bo t LIBSYS ni rng c y s nhn c mt e-mail khi cc ti liu in c gi tr tp hp. T kch bn trn, chng ta c th p dng mt s th nghim tm ra mc ch ca LIBSYS: 1. Kim th c ch ng nhp bng cch thc hin cc ng nhp ng v ng nhp sai kim tra ngi dng hp l c chp nhn v ngi dng khng hp l khng c chp nhn. 2. Kim th c ch tm kim bng cch s dng cc cu hi bit cc ti liu cn tm kim tra xem c ch tm kim c thc s tm thy cc ti liu . 3. Kim th s trnh by h thng kim tra cc thng tin v ti liu c c hin th ng khng. 4. Kim th c ch cho php yu cu ti ti liu xung. 5. Kim th e-mail tr li cho bit ti liu ti xung l sn sng s dng.

29

Hnh 3.5 Biu dy tp hp d liu v thi tit


Vi mi th nghim, bn nn thit k mt tp cc th nghim bao gm cc u vo hp l v u vo khng hp l sinh ra cc u ra hp l v u ra khng hp l. Bn cng nn t chc kim th da trn kch bn, v th u tin cc kch bn thch hp c th nghim, sau cc kch bn khc thng v ngoi l c xem xt, v vy s c gng ca bn dnh cho cc phn m h thng thng c s dng. Nu bn s dng trng hp ngi dng m t cc yu cu ca h thng, cc trng hp ngi dng v biu lin kt ni tip c th l c s kim th h thng. minh ha iu ny, ti s dng mt v d t h thng trm d bo thi tit, Hnh 3.5 ch ra cc thao tc ln lt c thc hin ti trm d bo thi tit khi n p ng mt yu cu tp hp d liu cho h thng bn v. Bn c th s d biu ny nhn bit cc thao tc s c th nghim v gip cho vic thit k cc trng hp th nghim thc hin cc th nghim. V vy a ra mt yu cu cho mt bo co s dn n s thc hin ca mt chui cc thao tc sau: CommsController:request WheatherStation:report WeatherData:summarise Biu c th c s dng nhn bit u vo v u ra cn to ra cho cc th nghim: 1. Mt u vo ca mt yu cu bo co nn c mt s tha nhn v cui cng bo co nn xut pht t yu cu. Trong lc kim th, bn nn to ra d liu tm tt, n c th c dng kim tra xem bo co c t chc chnh xc.

30

2. Mt yu cu u vo cho mt bo co v kt qu ca WeatherStation trong mt bo co tm tt c sinh ra. Bn c th kim th iu ny mt cch c lp bng cch to ra cc d liu th tng ng vi bn tm tt, bn chun b kim tra CommosController v kim tra i tng WeatherStation c a ra chnh xc trong bn tm tt. 3. D liu th trn cng c s dng kim th i tng WeatherData. Tt nhin, ti lm n gin biu trong hnh 3.5 v n khng ch ra cc ngoi l. Mt kch bn kim th hon chnh cng phi c trong bn k khai v m bo nm bt c ng cc ngoi l.

3.5.

Kim th hiu nng

Ngay khi mt h thng c tch hp y , h thng c th c kim tra cc thuc tnh ni bt nh hiu nng v tin cy. Kim th hiu nng phi c thit k m bo h thng c th x l nh mong mun. N thng bao gm vic lp mt dy cc th nghim, gnh nng s c tng cho nn khi h thng khng th chp nhn c na. Cng vi cc loi kim th khc, kim th hiu nng lin quan n c vic kim chng cc yu cu ca h thng v pht hin cc vn v khim khuyt trong h thng. kim th cc yu cu hiu nng t c, bn phi xy dng m t s lc thao tc. M t s lc thao tc l tp cc th nghim phn nh s ha trn cc cng vic s c thc hin bi h thng. V vy, nu 90% giao dch trong h thng c kiu A, 5% kiu B v phn cn li c kiu C, D v E, th chng ta phi thit k m t s lc thao tc phn ln tp trung vo kim th kiu A. Nu khng th bn s khng c c th nghim chnh xc v hiu nng hot ng ca h thng. Tt nhin, cch tip cn ny khng nht thit l tt kim th khim khuyt. Nh ti tho lun, theo kinh nghim ch ra cch hiu qu pht hin khim khuyt l thit k cc th nghim xung quanh gii hn ca h thng. Trong kim th hiu nng, iu ny c ngha l nhn mnh h thng (v th n c tn l kim th nhn mnh) bng cch to ra nhng i hi bn ngoi gii hn thit k ca phn mm. V d, mt h thng x l cc giao dch c th c thit k x l n 300 giao dch mi giy; mt h thng iu khin c th c thit k iu khin ti 1000 thit b u cui khc nhau. Kim th nhn mnh tip tc cc th nghim bn cnh vic thit k ln nht c np vo h thng cho n khi h thng gp li. Loi kim th ny c 2 chc nng: 1. N kim th vic thc hin li ca h thng. Trng hp ny c th xut hin qua vic phi hp cc s kin khng mong mun bng cch np vt qu kh nng ca h thng. Trong trng hp ny, sai st ca h thng lm cho d liu b h hng hoc khng p ng c yu cu ca ngi dng. Kim th nhn mnh kim tra s qu ti ca h thng dn ti tht bi mm hn l lm sp di lng ti ca n. 2. N nhn mnh h thng v c th gy nn khim khuyt tr nn r rng m bnh thng khng pht hin ra. Mc d, n chng t nhng khim khuyt khng th dn n s sai st ca h thng trong khi s dng bnh thng, c th him gp trong trng hp bnh thng m kim th gay cn ti to.
31

Kim th gay cn c lin quan c bit n vic phn phi h thng da trn mt mt mng li my x l. Cc h thng thng a ra i hi cao khi chng phi thc hin nhiu cng vic. Mng tr thnh b lm mt tc dng vi d liu kt hp m cc qu trnh khc nhau phi trao i, v vy cc qu trnh tr nn chm hn, nh khi n i d liu yu cu t qu trnh khc.

3.6.

Kim th thnh phn

Kim th thnh phn (thnh thong c gi l kim th n v) l qu trnh kim th cc thnh phn ring bit ca h thng. y l qu trnh kim th khim khuyt v vy mc tiu ca n l tm ra li trong cc thnh phn. Khi tho lun trong phn gii thiu, vi hu ht cc h thng, ngi pht trin cc thnh phn chu trch nhim kim th cc thnh phn. C nhiu loi thnh phn khc nhau, ta c th kim th chng theo cc bc sau: 1. Cc chc nng v cch thc ring bit bn trong i tng. 2. Cc lp i tng c mt vi thuc tnh v phng thc. 3. Kt hp cc thnh phn to nn cc i tng v chc nng khc nhau. Cc thnh phn hn hp c mt giao din r rng c s dng truy cp cc chc nng ca chng. Cc chc nng v phng thc ring l l loi thnh phn n gin nht v cc th nghim ca bn l mt tp cc li gi ti cc th tc vi tham s u vo khc nhau. Bn c th s dng cch tip cn ny thit k trng hp kim th (c tho lun trong phn sau), thit k cc th nghim chc nng v phng thc. Khi bn kim th cc lp i tng, bn nn thit k cc th nghim cung cp tt c cc chc nng ca i tng. Do , kim th lp i tng nn bao gm: 1. Kim th tt c cc thao tc c lp lin kt to thnh i tng. 2. B tr v kim tra tt c cc thuc tnh lin kt to thnh i tng. 3. Kim tra tt c cc trng thi ca i tng. iu ny c ngha l tt c cc s kin gy ra cc trng thi khc nhau ca i tng nn c m phng.

Hnh 3.6 Giao din ca i tng WeatherStation

V d, trm d bo thi tit c giao din trnh by trn hnh 3.6. N ch c mt thuc tnh, l nh danh ca n. N c mt hng s l tp thng s khi trm d bo thi tit c thit
32

t. Do , bn ch cn mt th nghim kim tra n c thit t hay cha. Bn cn xc nh cc trng hp kim th kim tra reportWeather, calibrate, test, startup v shutdown. Trong trng hp l tng, bn nn kim th cc phng thc ring bit, nhng trong mt vi trng hp, cn c vi th nghim lin tip. V d kim th phng thc shutdown bn cn thc hin phng thc startup. S dng m hnh ny, bn c th nhn bit th t ca cc trng thi chuyn tip phi c kim th v xc nh th t chuyn tip cc s kin. Trong nguyn tc ny, bn nn kim th mi trng thi chuyn tip c th xy ra, mc d trong thc t, iu ny c th rt tn km.V d dy trng thi nn kim th trong trm d bo thi tit bao gm: Shutdown Waiting Shutdown Waiting Calibrating Testing Transmitting Waiting Waiting Collecting Waiting Summarising Transmitting Waiting Nu bn s dng s k tha s lm cho vic thit k lp i tng kim th kh khn hn. Mt lp cha cung cp cc thao tc s c k tha bi mt s lp con, tt c cc lp con nn c kim th tt c cc thao tc k tha. L do l cc thao tc k tha c th thay i cc thao tc v thuc tnh sau khi c k tha. Khi mt thao tc ca lp cha c nh ngha li, th n phi c kim th. Khi nim lp tng ng, c tho lun trong phn 23.3.2, c th cng c p dng cho cc lp i tng. Kim th cc lp tng ng ging nhau c th s dng cc thuc tnh ca i tng. Do , cc lp tng ng nn c nhn bit nh s khi to, truy cp v cp nht tt c thuc tnh ca lp i tng.
3.7. Kim th giao din

Nhiu thnh phn trong mt h thng l s kt hp cc thnh phn to nn bi s tng tc ca mt vi i tng. Kim th cc thnh phn hn hp ch yu lin quan n kim th hot ng giao din ca chng thng qua cc c t. Hnh 3.7 minh ha qu trnh kim th giao din. Gi s cc thnh phn A, B, v C c tch hp to nn mt thnh phn ln hoc mt h thng con. Cc th nghim khng ch p dng vo cc thnh phn ring l m cn c p dng vo giao din ca cc thnh phn hn hp c to nn bng cch kt hp cc thnh phn . Kim th giao din c bit quan trng trong vic pht trin phn mm hng i tng v cc thnh phn c s. Cc i tng v cc thnh phn c xc nh qua giao din ca chng v c th c s dng li khi lin kt vi cc thnh phn khc trong cc h thng khc nhau. Cc li giao din trong thnh phn hn hp khng th c pht hin qua vic kim th cc i tng v cc thnh phn ring l. S tng tc gia cc thnh phn trong thnh phn hn hp c th pht sinh li. C nhiu kiu giao din gia cc thnh phn chng trnh, do c th xut hin cc kiu li giao din khc nhau:

33

Cc trng hp Hnh 3.7 Kim th giao din

kim th

1. Giao din tham s: Khi d liu hoc tham chiu chc nng c a t thnh phn ny ti thnh phn khc. 2. Giao din chia s b nh: Khi mt khi b nh c chia s gia cc thnh phn. D liu c trong b nh bi mt h thng con v c truy xut bi mt h thng khc. 3. Giao din th tc: Mt thnh phn bao gm mt tp cc th tc c th c gi bi cc thnh phn khc. Cc i tng v cc thnh phn dng li c dng giao din ny. 4. Giao din truyn thng ip: Mt thnh phn yu cu mt dch v t mt thnh phn khc bng cch gi mt thng ip ti thnh phn . Thng ip tr li bao gm cc kt qu thc hin dch v. Mt vi h thng hng i tng c dng giao din ny nh trong h thng ch-khch (client-server). Cc li giao din l mt dng li thng gp trong cc h thng phc tp (Lutz, 1993). Cc li ny c chia lm 3 loi: 1. Dng sai giao din: Mt thnh phn gi ti thnh phn khc v to nn mt li trong giao din ca chng. y l loi li rt thng gp trong giao din tham s: cc tham s c th c truyn sai kiu, sai th t hoc sai s lng tham s. 2. Hiu sai giao din: Mt thnh phn gi ti thnh phn khc nhng hiu sai cc c t giao din ca thnh phn c gi v lm sai hnh vi ca thnh phn c gi. Thnh phn c gi khng hot ng nh mong i v lm cho thnh phn gi cng hot ng khng nh mong i. V d, mt th tc tm kim nh phn c th c gi thc hin trn mt mng cha c xp theo th t, kt qu tm kim s khng ng.

34

3. Cc li trong b m thi gian: Cc li ny xut hin trong cc h thng thi gian thc s dng giao din chia s b nh hoc giao din truyn thng ip. D liu ca nh sn xut v d liu ca khch hng c th c iu khin vi cc tc khc nhau. Nu khng ch n trong thit k giao din, th khch hng c th truy cp thng tin li thi bi v thng tin ca nh sn xut cha c cp nht trong giao din chia s. Kim th nhng khim khuyt trong giao din rt kh khn bi v mt s li giao din ch biu l trong nhng iu kin c bit. V d, mt i tng c cha mt danh sch hng i vi cu trc d liu c chiu di c nh. Gi s danh sch hng i ny c thc hin vi mt cu trc d liu v hn v khng kim tra vic trn hng i khi mt mc c thm vo. Trng hp ny ch c th pht hin khi kim th vi nhng th nghim lm cho trn hng i v lm sai hnh vi ca i tng theo nhng cch c th nhn bit c. Nhng li khc c th xut hin do s tng tc gia cc li trong cc mun v i tng khc nhau. Nhng li trong mt i tng c th ch c pht hin khi mt vi i tng khc hot ng khng nh mong mun. V d, mt i tng c th gi mt i tng khc nhn c mt vi dch v v gi s c p ng chnh xc. Nu n hiu sai v gi tr c tnh, th gi tr tr v l hp l nhng khng ng. iu ny ch c pht hin khi cc tnh ton sau c kt qu sai. Sau y l mt vi nguyn tc kim th giao din: 1. Kho st nhng m c kim th v danh sch li gi ti cc thnh phn bn ngoi. 2. Vi nhng tham s trong mt giao din, kim th giao din vi tham s a vo rng. 3. Khi mt thnh phn c gi thng qua mt giao din th tc, thit k th nghim sao cho thnh phn ny b sai. Cc li khc hu nh l do hiu sai c t chung. 4. S dng kim th gay cn, nh tho lun phn trc, trong h thng truyn thng ip. Thit k th nghim sinh nhiu thng ip hn trong thc t. Vn b m thi gian c th c pht hin theo cch ny. 5. Khi mt vi thnh phn tng tc thng qua chia s b nh, thit k th nghim vi th t cc thnh phn c kch hot thay i. Nhng th nghim ny c th pht hin nhng gi s ngm ca cc lp trnh vin v th t d liu chia s c s dng v c gii phng. K thut hp l tnh thng hiu qu hn kim th pht hin li giao din. Mt ngn ng nh kiu cht ch nh JAVA cho php ngn chn nhiu li giao din bi trnh bin dch. Khi mt ngn ng khng cht ch nh C c s dng, mt phn tch tnh nh LINT c th pht hin cc li giao din. S kim tra chng trnh c th tp trung vo cc giao din gia cc thnh phn v cu hi v hnh vi giao din xy ra trong qu trnh kim tra.

3.8.

Thit k trng hp th (Test case design)

Thit k trng hp th nghim l mt phn ca kim th h thng v kim th thnh phn, bn s thit k cc trng hp th nghim (u vo v u ra d on) kim th h thng. Mc tiu ca qu trnh thit k trng hp kim th l to ra mt tp

35

cc trng hp th nghim c hiu qu pht hin khim khuyt ca chng trnh v ch ra cc yu cu ca h thng. thit k mt trng hp th nghim, bn chon mt chc nng ca h thng hoc ca thnh phn m bn s kim th. Sau bn chn mt tp cc u thc hin cc chc nng , v cung cp ti liu v u ra mong mun v gii hn ca u ra, v im m c th thit k t ng kim tra th nghim vi u ra thc t v u ra mong i vn nh th. C nhiu phng php khc nhau gip bn c th thit k cc trng hp th nghim: 1. Kim th da trn cc yu cu: Cc trng hp th nghim c thit k kim th cc yu cu h thng. N c s dng trong hu ht cc bc kim th h thng bi v cc yu cu h thng thng c thc hin bi mt vi thnh phn. Vi mi yu cu, bn xc nh cc trng hp th nghim c th chng t c h thng c yu cu . 2. Kim th phn hoch: bn xc nh cc phn hoch u vo v phn hoch u ra v thit k th nghim, v vy h thng thc hin vi u vo t tt c cc phn hoch v sinh ra u ra trong tt c cc phn hoch. Cc phn hoch l cc nhm d liu c chung c tnh nh tt c cc s u m, tt c tn u c u c di nh hn 30 k t, tt c cc s kin pht sinh t vic chn cc mc trn thc n 3. Kim th cu trc: Bn s dng nhng hiu bit v cu trc chng trnh thit k cc th nghim thc hin tt c cc phn ca chng trnh. V c bn, khi kim th mt chng trnh, bn nn kim tra thc thi mi cu lnh t nht mt ln. Kim th cu trc gip cho vic xc nh cc trng hp th nghim. Thng thng, khi thit k cc trng hp th nghim, bn nn bt u vi cc th nghim mc cao nht ca cc yu cu, sau thm dn cc th nghim chi tit bng cch s dng kim th phn hoch v kim th cu trc.
3.8.1. Kim th da trn cc yu cu

Mt nguyn l chung ca cc yu cu k ngh l cc yu cu phi c kh nng kim th c. Cc yu cu nn c vit theo cch m mt th nghim c th c thit k, do quan st vin c th kim tra xem yu cu tha mn cha. V vy, kim th da trn cc yu cu l mt tip cn c h thng thit k trng hp th nghim gip cho bn xem xt mi yu cu v tm ra cc th nghim. Kim th da trn cc yu cu c hiu qu hn kim th khim khuyt bn ang chng t h thng thc hin c y cc yu cu. V d, hy xem xt cc yu cu cho h thng LIBSYS . 1. Ngi dng c th tm kim hoc tt c cc tp ban u ca c s d liu hoc la chn mt tp con t . 2. H thng s cung cp cc khung nhn hp l cho ngi dng c ti liu trong kho ti liu. 3. Mi yu cu s c cp pht mt nh danh duy nht (ORDER_ID) ngi dng c th c php sao chp qua ti khon ca vng lu tr thng trc. Gi s chc nng tm kim c kim th, th cc th nghim c th chp nhn c cho yu cu th nht l: Ban u, ngi dng tm kim cc mc m bit s c mt v bit khng c trong tp c s d liu ch gm c mt c s d liu.
36

Ban u, ngi dng tm kim cc mc m bit s c mt v bit khng c trong tp c s d liu gm c hai c s d liu. Ban u, ngi dng tm kim cc mc m bit s c mt v bit khng c trong tp c s d liu gm c nhiu hn hai c s d liu. La chn mt c s d liu t tp c s d liu, ngi dng tm kim cc mc m bit s c mt v bit khng c trong c s d liu . La chn nhiu hn mt c s d liu t tp c s d liu, ngi dng tm kim cc mc m bit s c mt v bit khng c trong c s d liu .

T , bn c th thy kim th mt yu cu khng c ngha l ch thc hin kim th trn mt th nghim. Thng thng, bn phi thc kim th nghim trn mt vi th nghim m bo bn kim sot c yu cu . Kim th cc yu cu khc trong h thng LIBSYS c th c thc hin theo ging nh trn. Vi yu cu th hai, bn s son ra cc th nghim phn phi tt c cc kiu ti liu c th c x l bi h thng v kim tra s hin th cc ti liu . Vi yu cu th ba, bn gi v a vo mt vi yu cu, sau kim tra nh danh yu cu c hin th trong giy chng nhn ca ngi dng, v kim tra nh danh yu cu c l duy nht hay khng.
3.8.2. Kim th phn hoch

D liu u vo v kt qu u ra ca chng trnh thng c phn thnh mt s loi khc nhau, mi loi c nhng c trng chung, nh cc s u dng, cc s u m, v cc thc n la chn. Thng thng, cc chng trnh thc hin theo cch c th so snh c vi tt c thnh vin ca mt lp. Do , nu chng trnh c kim th thc hin nhng tnh ton v yu cu hai s dng, th bn s mong mun chng trnh thc hin theo cch nh nhau vi tt c cc s dng. Bi v cch thc hin l tng ng, cc loi ny cn c gi l phn hoch tng ng hay min tng ng (Bezier, 1990). Mt cch tip cn c h thng thit k cc trng hp kim th l da trn s nh danh ca tt c cc phn hoch trong mt h thng hoc mt thnh phn. Cc trng hp th nghim c thit k sao cho u vo v u ra nm trong phn hoch . Kim th phn hoch c th c s dng thit k cc trng hp th nghim cho cc h thng v cc thnh phn. Trong hnh 3.8, mi phn hoch tng ng c biu th nh mt elp. u vo cc phn hoch tng ng l nhng tp d liu, tt c cc tp thnh vin nn c x l mt cch tng ng. u ra phn hoch tng l u ra ca chng trnh v chng c cc c trng chung, v vy chng c th c kim tra nh mt lp ring bit. Bn cng xc nh cc phn hoch c u vo bn ngoi cc phn hoch khc. Kim tra cc th nghim m chng trnh s dng u vo khng hp l c thc hin ng cch thc khng. Cc u vo hp l v u vo khng hp l cng c t chc thnh cc phn hoch tng ng.

37

Hnh 3.8 Phn hoch tng ng

Cc u vo khng hp l

Cc u vo hp l

H thng

Cc u ra
Khi bn xc nh c tp cc phn hoch, bn c th la chn cc trng hp th nghim cho mi phn hoch . Mt quy tc tt la chn trng hp th nghim l la chn cc trng hp th nghim trn cc gii hn ca phn hoch cng vi cc th nghim gn vi im gia ca phn hoch. L do cn bn l ngi thit k v lp trnh vin thng xem xt cc gi tr u vo in hnh khi pht trin mt h thng. Bn kim th iu bng cch la chn im gia ca h thng. Cc gi tr gii hn thng khng in hnh (v d, s 0 c th c s dng khc nhau trong cc tp cc s khng m), v vy n khng c ngi pht trin ch ti. Cc li ca chng trnh thng xut hin khi n x l cc gi tr khng in hnh. Bn xc nh cc phn hoch bng cch s dng c t chng trnh hoc ti liu hng dn s dng, v t kinh nghim ca mnh, bn d on cc loi gi tr u vo thch hp pht hin li. V d, t c trng ca chng trnh: chng trnh chp nhn t 4 n 8 u vo l cc s nguyn c 5 ch s ln hn 10 000. Hnh 3.9 ch ra cc phn hoch cho tnh hung ny v cc gi tr u vo c th xy ra. minh ha cho ngun gc ca nhng trng hp th nghim ny, s dng cc c t ca thnh phn tm kim (trn hnh 3.10). Thnh phn ny tm kim trn mt dy cc phn t a ra phn t mong mun (phn t kha). N tr li v tr ca phn t trong dy. Ti ch r y l mt cch tru tng xc nh cc iu kin tin quyt phi ng trc khi thnh phn c gi, v cc hu iu kin phi ng sau khi thc hin.

38

3 4 7

11 10

Nh hn 4 S gi tr u vo 9999 10000

Nm gia 4 v 10

Ln hn 10

50000

100000 99999

Nh hn 10000

Nm gia 10000 v 99999

Ln hn 99999

Cc gi tr u vo Hnh 3.9 Cc phn hoch tng ng iu kin tin quyt: Th tc tm kim s ch lm vic vi cc dy khng rng. Hu iu kin: bin Found c thit t nu phn t kha thuc dy. Phn t kha c ch s L. Gi tr ch s khng c xc nh nu phn t khng thuc dy. T c trng , bn c th nhn ra hai phn hoch tng ng: 1. Cc u vo c phn t kha l mt phn t ca dy (Found = true). 2. Cc u vo c phn t kha khng phi l mt phn t ca dy (Found = false).
procedure Search (Key : ELEM ; T: SEQ of ELEM;

Found : in out BOOLEAN; L: in out ELEM_INDEX) ;


Tin iu kin

-- Dy c t nht mt phn t TFIRST <= TLAST


Hu iu kin

-- Phn t c tm thy v c ch bi L ( Found and T (L) = Key)


hoc

-- Phn t khng thuc dy ( not Found and


not (exists i, TFIRST >= i <= TLAST, T (i) = Key ))

39

Hnh 3.10 c t chng trnh tm kim

Dy C mt gi tr C mt gi tr Nhiu hn mt gi tr Nhiu hn mt gi tr Nhiu hn mt gi tr Nhiu hn mt gi tr Dy u vo 17 17 17, 29, 21, 23 41, 18, 9, 31, 30, 16, 45 17, 18, 21, 23, 29, 41, 38 21, 23, 29, 33, 38

Phn t Thuc dy Khng thuc dy L phn t u tin trong dy L phn t cui cng trong dy L phn t nm gia trong dy Khng thuc dy Kha (Key) 17 0 17 45 23 25 u ra (Found,L) true, 1 false, ?? true, 1 true, 7 true, 4 false, ??

Hnh 3.11 Cc phn hoch tng ng cho chng trnh tm kim

Khi bn th nghim chng trnh vi cc dy, mng hoc danh sch, mt s nguyn tc thng c s dng thit k cc trng hp kim th: 1. Kim th phn mm vi dy ch c mt gi tr. Lp trnh vin thng ngh cc dy gm vi gi tr, v thnh thong, h cho rng iu ny lun xy ra trong cc chng trnh ca h. V vy, chng trnh c th khng lm vic chnh xc khi dy c a vo ch c mt gi tr. 2. S dng cc dy vi cc kch thc khc nhau trong cc th nghim khc nhau. iu ny lm gim c hi mt chng trnh khim khuyt s ngu nhin a ra u ra chnh xc bi v cc u vo c cc c tnh ngu nhin. 3. Xut pht t cc th nghim c phn t u tin, phn t gia, v phn t cui cng c truy cp. Cch tip cn ny bc l cc vn ti cc gii hn phn hoch. T cc nguyn tc trn, hai phn hoch tng ng c th c xc nh: 1. Dy u vo c mt gi tr. 2. S phn t trong dy u vo ln hn 1. Sau khi, bn xc nh thm cc phn hoch bng cch kt hp cc phn hoch c, v d, kt hp phn hoch c s phn t trong dy ln hn 1 v phn t kha khng thuc

40

dy. Hnh 3.11 a ra cc phn hoch m bn xc nh kim th thnh phn tm kim. D liu kim th

Cc kim th

Xut pht t

M thnh phn

Cc u ra kim th

Hnh 3.12 Kim th cu trc

Mt tp cc trng hp th nghim c th da trn cc phn hoch cng c a ra trn hnh 3.11. Nu phn t kha khng thuc dy, gi tr ca L l khng xc nh (??). Nguyn tc cc dy vi s kch thc khc nhau nn c s dng c p dng trong cc trng hp th nghim ny. Tp cc gi tr u vo s dng kim th th tc tm kim khng bao gi ht. Th tc ny c th gp li nu dy u vo tnh c gm cc phn t 1, 2, 3 v 4. Tuy nhin, iu l hp l gi s: nu th nghim khng pht hin khim khuyt khi mt thnh vin ca mt loi c x l, khng c thnh vin khc ca lp s xc nh cc khim khuyt. Tt nhin, cc khim khuyt s vn tn ti. Mt vi phn hoch tng ng c th khng c xc nh, cc li c th c to ra trong phn hoch tng ng hoc d liu th nghim c th c chun b khng ng.
3.8.3. Kim th cu trc

Ranh gii gia cc lp tng ng

Cc phn t nh hn phn t gia

Cc phn t ln hn phn t gia

im gia Hnh 3.13 Cc lp tng ng trong tm kim nh phn Kim th cu trc (hnh 3.12) l mt cch tip cn thit k cc trng hp kim th, cc th nghim c xc nh t s hiu bit v cu trc v s thc hin ca phn mm. Cch tip cn ny thnh thong cn c gi l kim th hp trng, hp knh, hoc kim th hp trong phn bit vi kim th hp en.

41

Class BinSearch { // y l mt hm tm kim nh phn c thc hin trn mt dy cc // i tng c th t v mt kha, tr v mt i tng vi 2 thuc // tnh l: // index gi tr ch s ca kha trong dy // found c kiu logic cho bit c hay khng c kha trong dy // Mt i tng c tr v bi v trong Java khng th thng qua cc // kiu c bn bng tham chiu ti mt hm v tr v hai gi tr // Gi tr index = -1 nu kha khng c trong dy public static void search( int key, int[] elemArray, Result r) { 1. int bottom = 0; 2. int top = elemArray.length 1; int mid; 3. r.found = false; 4. r.index = -1; 5. while (bottom <= top) { 6. mid = (top + bottom) / 2; 7. if (elemArray[mid] = key) { 8. r.index = mid; 9. r.found = true; 10. return; } // if part else { 11. if (elemArray[mid] < key) 12. bottom = mid + 1; else 13. top = mid -1; } } // while loop 14. }// search }// BinSearch

Hnh 3.14 Chng trnh tm kim nh phn c vit bng Java

Hiu c cch s dng thut ton trong mt thnh phn c th gip bn xc nh thm cc phn hoch v cc trng hp th nghim. minh ha iu ny, ti thc hin cch c t th tc tm kim (hnh 3.10) nh mt th tc tm kim nh phn (hnh 3.14). Tt nhin, iu kin tin quyt c bo m nghim ngt. Dy c thc thi

42

Dy u vo (T) 17 17 17, 21, 23, 29 9, 16, 18, 30,31,41,45 17, 18, 21, 23, 29, 38, 41 17, 18, 21, 23, 29, 33, 38 12, 18, 21, 23, 32 21, 23, 29, 33, 38

Kha (Key) 17 0 17 45 23 21 23 25

u ra (Found,L) true, 1 false, ?? true, 1 true, 7 true, 4 true, 3 true, 4 false, ??

Hnh 3.15 Cc trng hp kim th cho chng trnh tm kim

nh mt mng v mng ny phi c sp xp v gi tr gii hn di phi nh hn gi tr gii hn trn. kim tra m ca th tc tm kim, bn c th xem vic tm kim nh phn chia khng gian tm kim thnh 3 phn. Mi phn c to bi mt phn hoch tng ng (hnh 3.13). Sau , bn thit k cc trng hp th nghim c phn t kha nm ti cc gii hn ca mi phn hoch. iu ny a n mt tp sa li ca cc trng hp th nghim cho th tc tm kim, nh trn hnh 3.15. Ch , sa i mng u vo v vy n c sp xp theo th t tng dn v thm cc th nghim c phn t kha k vi phn t gia ca mng.
3.8.4. Kim th ng dn

Kim th ng dn l mt chin lc kim th cu trc. Mc tiu ca kim th ng dn l thc hin mi ng dn thc hin c lp thng qua mt thnh phn hoc chng trnh. Nu mi ng dn thc hin c lp c thc hin, th tt c cc cu lnh trong thnh phn phi c thc hin t nht mt ln. Hn na, tt c cu lnh iu kin phi c kim th vi c trng hp ng v sai. Trong qu trnh pht trin hng i tng, kim th ng dn c th c s dng khi kim th cc phng thc lin kt vi cc i tng. S lng ng dn qua mt chng trnh thng t l vi kch thc ca n. Khi tt c cc mun c tch hp trong h thng, n tr nn khng kh thi s dng k thut kim th cu trc. V th, k thut kim th ng dn hu nh c s dng trong lc kim th thnh phn. Kim th ng dn khng kim tra tt c cc kt hp c th ca ca cc ng dn qua chng trnh. Vi bt k thnh phn no ngoi cc thnh phn rt tm thng khng c vng lp, y l mc tiu khng kh thi. Trong chng trnh c cc vng lp s c mt s v hn kh nng kt hp ng dn. Thm ch, khi tt c cc lnh ca chng trnh c thc hin t nht mt ln, cc khim khuyt ca chng trnh vn c th c a ra khi cc ng dn c bit c kt hp.

43

Hnh 2.16 th lung ca chng trnh tm kim nh phn

im xut pht kim th ng dn l th lung chng trnh. y l m hnh khung ca tt c ng dn qua chng trnh. Mt th lung cha cc nt miu t cc quyt nh v cc cnh trnh by lung iu khin. th lung c xy dng bng cch thay i cc cu lnh iu khin chng trnh s dng biu tng ng. Nu khng c cc cu lnh goto trong chng trnh, l mt qu trnh n gin xut pht t th lung. Mi nhnh trong cu lnh iu kin (if-then-else hoc case) c miu t nh mt ng dn ring bit. Mi mi tn tr li nt iu kin miu t mt vng lp. Ti v th lung cho phng thc tm kim nh phn trn hnh 3.16. to nn s tng ng gia th ny v chng trnh trn hnh 3.14 c r rng, ti miu t mi cu lnh nh mt nt ring bit, cc s trong mi nt tng ng vi s dng trong chng trnh. Mc ch ca kim th ng dn l m bo mi ng dn c lp qua chng trnh c thc hin t nht mt ln. Mt ng dn chng trnh c lp l mt ng i ngang qua t nht mt cnh mi trong th lung. C nhnh ng v nhnh sai ca cc iu kin phi c thc hin. th lung cho th tc tm kim nh phn c miu t trn hnh 3.16, mi nt biu din mt dng trong chng trnh vi mt cu lnh c th thc hin c. Do , bng

44

cch ln vt trn th lung, bn c th nhn ra cc ng dn qua th lung tm kim nh phn: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14 1, 2, 3, 4, 5, 14 1, 2, 3, 4, 5, 6, 7, 11, 12, 5, 1, 2, 3, 4, 5, 6, 7, 11, 13, 5, Nu tt c cc ng dn c thc hin, chng ta c th m bo mi cu lnh trong phng thc c thc hin t nht mt ln v mi nhnh c thc hin vi cc iu kin ng v sai. Bn c th tm c s lng cc ng dn c lp trong mt chng trnh bng tnh ton vng lin hp (McCabe, 1976) trong th lung chng trnh. Vi chng trnh khng c cu lnh goto, gi tr vng lin hp l nhiu hn s cu lnh iu kin trong chng trnh. Mt iu kin n l mt biu thc lgc khng c cc lin kt and hoc or. Nu chng trnh bao gm cc iu kin phc hp, l cc biu thc lgc bao gm cc lin kt and v or, th bn phi m s iu kin n trong cc iu kin phc hp khi tnh s vng lin hp. V vy, nu c 6 cu lnh if v 1 vng lp while v cc biu thc iu kin l n, th s vng lin hp l 8. Nu mt biu thc iu kin l biu thc phc hp nh if A and B or C, th bn tnh n nh 3 iu kin n. Do , s vng lin hp l 10. S vng lin hp ca thut ton tm kim nh phn (hnh 3.14) l 4 bi v n c 3 iu kin n ti cc dng 5, 7, 11. Sau khi tnh c s ng dn c lp qua m chng trnh bng tnh ton s vng lin hp, bn thit k cc trng hp th nghim thc hin mi ng dn . S lng trng hp th nghim nh nht bn cn kim tra tt c cc ng dn tng chng trnh bng s vng lin hp. Thit k trng hp th nghim khng kh khn trong trng hp chng trnh l th tc tm kim nh phn. Tuy nhin, khi chng trnh c cu trc nhnh phc tp, c th rt kh khn d on c bao nhiu th nghim c thc hin. Trong trng hp , mt ngi phn tch chng trnh nng ng c th c s dng pht hin s tho s thc thi ca chng trnh. Nhng ngi phn tch chng trnh nng ng l cc cng c kim th, cng lm vic vi trnh bin dch. Trong lc bin dch, nhng ngi phn tch ny thm cc ch th ph sinh ra m. Chng m s ln mi cu lnh c thc hin. Sau khi chng trnh thc hin, mt bn s tho thc thi c th c in ra. N ch ra nhng phn chng trnh thc thi v khng thc thi bng cch s dng cc trng hp th nghim c bit. V vy, bn s tho thc thi cho php pht hin cc phn chng trnh khng c kim th.

3.9.

T ng ha kim th (Test automation)

Kim th l mt giai on tn km v nng n trong quy trnh phn mm. Kt qu l nhng cng c kim th l mt trong nhng cng c phn mm u tin c pht trin. Hin nay, cc cng c ny bc l nhiu s thun tin v chng lm gim ng k chi ph kim th.

45

Ti tho lun mt cch tip cn t ng ha kim th (Mosley v Posey, 2002) vi mt khung kim th nh JUnit (Massol v Husted, 2003) c s dng kim th phc hi. JUnit l mt tp cc lp Java c ngi dng m rng to nn mi trng kim th t ng. Mi th nghim ring l c thc hin nh mt i tng v mt chng trnh ang chy th nghim chy tt c cc th nghim . Cc th nghim nn c vit theo cch chng ch ra h thng kim th c thc hin nh mong mun khng. Mt phn mm kim th workbench l mt tp tch hp cc cng c phc v cho qu trnh kim th. Hn na vi cc khung kim th cho php thc hin kim th t ng, mt workbench c th bao gm cc cng c m phng cc phn khc ca h thng v sinh ra d liu th nghim h thng. Hnh 3.17 a ra mt vi cng c c th bao gm trong mt workbench kim th: 1. Ngi qun l kim th: qun l qu trnh chy cc th nghim. H gi vt ca d liu th nghim, cc kt qu mong i v chng trnh d dng kim th. Cc khung kim t ng ha th nghim nh JUnit l v d ca cc ngi qun l th nghim. 2. My sinh d liu th nghim: sinh cc d liu th nghim chng trnh. iu ny c th thc hin bng cch la chn d liu t c s d liu hoc s dng cc mu sinh ngu nhin d liu vi khun dng ng n. 3. H tin on (Oracle): a ra cc d on v kt qu kim th mong mun. Cc h tin on c th l phin bn trc ca chng trnh hoc h thng bn mu. Kim th back-to-back , bao gm vic thc hin kim th song song h tin on v chng trnh . Cc khc bit trong cc u ra ca chng c lm ni bt. 4. H so snh tp tin: so snh cc kt qu th nghim chng trnh vi cc kt qu th nghim trc v bo co cc khc bit gia chng. Cc h so snh c s dng trong kim th hi quy (cc kt qu thc hin trong cc phin bn khc nhau c so snh). Khi kim th t ng c s dng, h so snh c th c gi t bn trong cc kim th . 5. H sinh bo co: cung cp cc bo co xc nh v a ra cc tin li cho kt qu th nghim. 6. H phn tch ng: thm m vo chng trnh m s ln mi cu lnh c thc thi. Sau khi kimth, mt bn s tho thc thi c sinh ra s cho bit mi cu lnh trong chng trnh c thc hin bao nhiu ln. 7. H m phng (Simulator): Cc loi h m phng khc nhau c th c cung cp. Mc ch ca cc h m phng l m phng cc my khi chng trnh c thc thi. H m phng giao din ngi dng l cc chng trnh iu khin kch bn m phng nhiu tng tc ng thi ca ngi dng. S dng h m phng cho I/O c ngha l b nh thi gian ca dy giao dch c th c lp i lp li.

46

Sinh d liu kim th

c t

M ngun

Ngi qun l kim th

D liu kim th

H tin on

Phn tch ng

Chng trnh c kim th

Kt qu kim th

D on kim th

Bo co thc thi

M phng

B so snh File

B sinh bo co

Bo co kt qu kim th

Hnh 3.17 Mt workbench kim th


Khi s dng cho kim th h thng ln, cc cng c phi c nh dng v ph hp vi h thng c th. V d: 1. Cc cng c mi c th c thm vo kim th cc c trng ng dng c th, mt vi cng c hin c c th khng cn n. 2. Cc kch bn c th c vit cho h m phng giao din ngi dng v cc mu xc nh cho h sinh d liu th nghim. Cc khun dng bo co c th cng phi c xc nh. 3. Cc tp kt qu th nghim mong mun c th phi chun b bng tay nu khng mt phin bn chng trnh no trc c th dng c nh mt h tin on. 4. H so snh tp tin mc ch c bit c th c vit bao gm hiu bit v cu trc ca kt qu th nghim trn tp tin. Mt lng ln thi gian v cng sc thng cn to nn mt workbench th nghim ton din. Do , cc workbench hon chnh, nh trn hnh 3.17, ch c s dng khi pht trin cc h thng ln. Vi cc h thng , ton b chi ph kim th c th ln ti 50% tng gi tr pht trin, v vy, n l hiu qu u t cho cng c cht lng cao CASE h tr vic kim th. Tuy nhin, v cc loi h thng khc nhau yu cu s h tr cc loi kim th khc nhau, cc cng c kim th c th khng sn c dng. Rankin (Rankin, 2002) tho lun mt tnh hung trong IBM v miu t thit k ca h thng h tr kim th, m h pht trin cho my ch kinh doanh in t. Cc im chnh:

47

Kim th c th ch ra s hin din ca cc li trong chng trnh. N khng th chng t khng cn li trong chng trnh. Kim th thnh phn l trch nhim ca ngi pht trin thnh phn. Mt i kim th khc thng thc hin kim th h thng. Kim th tch hp l hot ng kim th h thng ban u khi bn kim th khim khuyt ca cc thnh phn tch hp. Kim th pht hnh lin quan n kim th ca khch hng v kim th pht hnh nn xc nhn h thng c phn phi c y cc yu cu. Khi kim th h thng, bn nn c gng ph h thng bng cch s dng kinh nghim v cc nguyn tc la chn cc kiu th nghim c hiu qu pht hin khim khuyt trong h thng. Kim th giao din dng pht hin cc khim khuyt trong giao din ca cc thnh phn hn hp. Cc khim khuyt trong giao din c th ny sinh bi li trong khi c cc c t chng trnh, hiu sai cc c t chng trnh, cc li khc hoc do tha nhn b m thi gian khng hp l. Phn hoch tng ng l mt cch xc nh cc th nghim. N ph thuc vo vic xc nh cc phn hoch trong tp d liu u vo v u ra, s thc hin chng trnh vi cc gi tr t cc phn hoch . Thng thng, cc gi tr l gi tr ti gii hn ca phn hoch. Kim th cu trc da trn phn tch chng trnh pht hin ng dn qua chng trnh v s dng nhng phn tch la chn cc th nghim. T ng ha th nghim lm gim chi ph kim th bng cch h tr qu trnh kim th bng cch cng c phn mm.

48

CHNG 4: CC PHNG PHP KIM TH

Chng ny tp trung vo cc k thut to ra cc trng hp kim th tt v t chi ph nht, tt c chng phi tho nhng mc tiu kim th chng trc. Nhc li cc mc tiu kim th phn mm l thit k cc trng hp kim th c kh nng tm kim nhiu li nht trong phn mm v vi t thi gian v cng sc nht. Hin ti pht trin rt nhiu phng thc thit k cc trng hp kim th cho phn mm. Nhng phng php ny u cung cp mt hng kim th c tnh h thng. Qua trng hn na l chng cung cp mt h thng c th gip m bo s hon chnh ca cc trng hp kim th pht hin li cho phn mm. Mt sn phm u c th c kim th theo 2 cch: Hiu r mt chc nng c th ca mt hm hay mt module. Cc trng hp kim th c th xy dng kim th tt c cc thao tc . Hiu r cch hot ng ca mt hm/module hay sn phm. Cc trng hp kim th c th c xy dng m bo tt c cc thnh phn con khp vi nhau. l tt c cc thao tc ni b ca hm da vo cc m t v tt c cc thnh phn ni b c kim th mt cch tho ng. Cch tip cn u tin c gi l kim th hp en ( black box testing ) v cch tip cn th hai l gi l kim th hp trng ( white box testing). Khi cp n kim th phn mm, black box testing cn c bit nh l kim th mc giao din ( interface ). Mc d tht s th chng c thit k pht hin li. Black box testing cn c s dng chng minh kh nng hot ng ca hm hay module chng trnh v c th c mt chng trnh ln: cc thng s u vo c chp nhn nh m t ca hm, gi tr tr v cng hot ng tt, m bo cc d liu t bn ngoi v d nh file d liu c gi/m bo tnh nguyn vn ca d liu khi thc thi hm. While box testing l k thut tp trung vo kho st chc ch th tc mt cch chi tit. Tt c nhng ng din tin logic trong chng trnh c kim tra bng nhng trng hp kim th kim tra trn cc tp iu kin v cu trc lp c th. k thut ny s kim tra trng thi ca chng trnh ti rt nhiu im trong chng trnh nhm xc gi tr mong i ti cc im nay c khp vi gi tr thc t hay khng. Vi tt c cc mc tiu kim nh trn th k thut while box testing c l s dn n mt chng trnh chnh xc tuyt i. Tt c nhng g chng ta cn by gi l thit k tt c cc ng logic ca chng trnh v sau l ci t tt c cc trng hp kim nh c c. Tuy nhin vic kim nh mt cch thu o tt c cc trng hp l mt bi ton qu ln v tn rt nhiu chi phi. Chng ta hay xem xt v d sau

49

Hnh 4.1. FlowChart


Begin

Bn tri l flowchart cho mt chng trnh n gin c vit bng khon 100 dng m vi mt vng lp chnh thc thi on m bn trong v lp li khng qu 20 ln. Tuy nhin khi tnh ton cho thy i vi chng trnh ny c n khong 1014 ng c th c thc hin. Chng ta lm tip mt php tnh nhanh thy c chi ph dng kim th on chng trnh nay mt cch thu o v chi tit. Ta gi s rng kim nh mt trng hp cn chy trung bnh tn mt giy. V chng trnh kim th s c chy 24 gi mt ngy v chy sut 365 ngy mt nm. Vy th chy kim th cho tt c cc trng hp ny cng cn phi tn khon 3170 nm. Do kim th mt cch thu o l mt vic bt kh thi cho nhng h thng ln.

Loop <=20

End

Mc d k thut ny khng th hin thc c trong thc t vi lng ti nguyn c hn, tuy nhin vi mt s lng c gii hn cc ng din tin logic quan trng c chn la trc kim th. Phng php ny c th l rt kh thi Ngoi ra cc trng hp kim th cn c th l s kt hp ca c hai k thut trn nhm t c cc mc tiu ca vic kim th. V by gi chng ta s i v chi tit tho lun v k thut kim th hp trng

4.1.

Phng php white-box:

L phng php kim nghim da vo cu trc/m lnh chng trnh. Phng php white-box kim nghim mt chng trnh (mt phn chng trnh, hay mt h thng, mt phn ca h thng) p ng tt tt c cc gi tr input bao gm c cc gi tr khng ng hay khng theo d nh ca chng trnh. Phng php kim nghim white-box da trn: Cc cu lnh (statement) ng dn (path) Cc iu kin (condition) Vng lp (loop) Ng r (branch)

4.1.1 M t mt s cu trc theo lc :

Trong cc phng php kim tra tnh ng n ca chng trnh, lc c dng : Tru tng ha c php ca m lnh.
50

Lm khun mu c bn cho cc nguyn tc kim tra theo trng hp. Kim tra tnh ng n trn ton b lc .

4.1.2 Kim tra theo cu lnh: (Statement Testing)

Thit k qu trnh kim tra sao cho mi cu lnh ca chng trnh c thc hin t nht mt ln. Phng php kim tra ny xut pht t tng: T phi mt cu lnh c thc hin, nu khng ta khng th bit c c li xy ra trong cu lnh hay khng. Nhng vic kim tra vi mt gi tr u vo khng m bo l s ng cho mi trng hp.

V d: on chng trnh thc hin tnh: result = 0+1++|value|, nu result <= maxint, bo li trong trng hp ngc li. 1 2 3 4 5 6 7 8 9 OD; IF result <= maxint PROGRAM maxsum ( maxint, value : INT ) INT result := 0 ; i := 0 ; IF value < 0 THEN value := - value ; WHILE ( i < value ) AND ( result <= maxint ) DO i := i + 1 ; result := result + i ;

51

10 11 12 END.

THEN OUTPUT ( result ) ELSE OUTPUT ( too large )

52

V d vi cc b gi tr input: maxint = 10, value = -1 Hay maxint = 0, value = -1 s kim tra c ton b cc cu lnh trong on chng trnh trn.
Cc vn i vi phng php kim tra theo cu lnh:

nh gi phng php ny ta xem qua v d sau:

53

Vi cu hi u tin Lc no phc tp hn, ta c cu tr li l B. V vi cu hi tip theo Lc no cn cc bc kim tra nhiu hn? ta cng tr li l B.

Tuy nhin, ta thy s ln kim tra ti thiu c th kim tra ton b cc cu lnh nh trn cho c 2 hm u l 2. V vy, phng php ny khng tng ng vi s phc tp ca m lnh.

54

4.1.3 Kim tra theo ng dn: (Path Testing)

L phng php kim tra bao trm mi ng dn ca chng trnh v cn kt hp vi lc tin trnh. A>B
if ( A > B) S1; S2; else S3; S4;

true S1; S2;

false S3;

S4;

while (A<B) { S1; S2; } S3;

A>B true S1; S2; false

S3;
if (A<B && C<D) S1; else S2; S3;

A>B true C>D true S1; false S2; false

S3; Nhn xt: Phng php kim tra theo ng dn ph thuc nhiu vo cc biu thc iu kin. Tuy nhin, c nhng trng hp s lng ng dn qu ln (trng hp vng lp). V vy thng khng phi l la chn thc t tin hnh vic kim tra tnh ng n ca chng trnh.

55

C khong 520= 95.367.431.640.625 ng dn If then - else

loop <20

4.1.4 Kim tra theo iu kin: (Condition Testing)

L phng php kim tra cc biu thc iu kin trn 2 gi tr true v false. Ta xt cc v d sau: V d 1:
if (x > 0 && y > 0) x = 1; else x = 2;

Cc b kim tra { (x>0, y>0), (x <=0, y>0) } s kim tra ton b cc iu kin. Tuy nhin: Khng tha mn vi mi gi tr input, cn kt hp c x v y thc hin bc kim tra. V d 2:
while (x > 0 || y > 0) { x--; y--; z += x*y; }

56

Vi b kim tra { (x>0) } s kim tra bao trm c cc iu kin. Tuy nhin: Khng kim tra c gi tr y.

V d 3:
if ( x y if ( z z else z != 0 ) = 5; < 1 ) = z/x; = 0;

Vi b kim tra {(x=0,z=1), (x=1, z=0)} s kim tra bao trm c cc iu kin. Tuy nhin: Khng kim tra c trng hp li chia cho 0 (khi x=0). Nhn xt: Khi kim tra bng phng php kim tra theo iu kin cn xem xt kt hp cc iu kin vi nhau.
4.1.5 Kim tra theo vng lp: (Loop Testing)

L phng php tp trung vo tnh hp l ca cc cu trc vng lp.

Vng lp n gin Vng lp lng nhau Vng lp ni tip nhau

Vng lp khng cu trc

57

- Cc bc cn kim tra cho vng lp n:

+ B qua vng lp. + Lp mt ln. + Lp hai ln. + Lp m ln (m<n). + Lp (n-1), n, (n+1) ln. Trong n l s ln lp ti a ca vng lp.
- Cc bc cn kim tra cho vng lp dng lng nhau:

+ Khi u vi vng lp nm bn trong nht. Thit lp cc tham s lp cho cc vng lp bn ngoi v gi tr nh nht. + Kim tra vi tham s min+1, 1 gi tr tiu biu, max-1 v max cho vng lp bn trong nht trong khi cc tham s lp ca cc vng lp bn ngoi l nh nht. + Tip tc tng t vi cc vng lp lin ngoi tip theo cho n khi tt c vng lp bn ngoi c kim tra.
- Cc bc cn kim tra cho vng lp ni tip:

+ Nu cc vng lp l c lp vi nhau th kim tra nh trng cc vng lp dng n, nu khng th kim tra nh trng hp cc vng lp lng nhau. V d: // LOOP TESTING EXAMPLE PROGRAM import java.io.*; class LoopTestExampleApp { // ------------------ FIELDS ---------------------public static BufferedReader keyboardInput = new BufferedReader(new InputStreamReader(System.in)); private static final int MINIMUM = 1; private static final int MAXIMUM = 10; // ------------------ METHODS ---------------------

58

/* Main method */ public static void main(String[] args) throws IOException { System.out.println("Input an integer value:"); int input = new Integer(keyboardInput.readLine()).intValue(); int numberOfIterations=0; for(int index=input;index >= MINIMUM && index <= MAXIMUM;index++) { numberOfIterations++; } // Output and end System.out.println("Number of iterations = " + numberOfIterations); } }
Gi tr u vo Kt qu (S ln lp)

11 10 9 5 2 1 0

0 (b qua vng lp) 1 (chy 1 ln lp) 2 (chy 2 ln lp) 6 (trng hp chy m ln lp khi m<n) 9 (chy N-1 ln lp) 10 (chy N ln lp) 0 (b qua vng lp)

4.2.

Phng php black-box:

Cn gi l kim nghim chc nng. Vic kim nghim ny c thc hin m khng cn quan tm n cc thit k v vit m ca chng trnh. Kim nghim theo cch ny ch quan tm n chc nng ra ca chng trnh. V vy kim nghim loi ny ch da vo bn m t chc nng ca chng trnh, xem chng trnh c thc s cung cp ng chc nng m t trong bn chc nng hay khng m thi. Kim nghim hp en da vo cc nh ngha v chc nng ca chng trnh. Cc trng hp th nghim (test case) s c to ra da nhiu vo bn m t chc nng ch khng phi da vo cu trc ca chng trnh. Gm cc phng php sau:

59

Phn chia tng ng Phn tch gi tr bin th Cause Effect Kim tra hnh vi (Behavioural testing) Kim th ngu nhin c lng li .

requirements input
SUT

output y domain testing events

x C 3 hng tip cn chnh trong phng php blackbox:


Phn tch min vo/ra ca chng trnh:

Dn ti vic phn chia hp l min Input/Ouput vo tp hp con interesting. Dn ti mt loi flowgraphlike, c th ng dng cc k thut ca hp trng (trn loi hp en ny). Cc k thut ny ging vi phn tch ri ro, u vo ngu nhin, kim th stress.

Phn tch tnh cht ng ch ca hp en:

Heuristics:

4.2.1. Phn chia tng ng:

Phn chia (nu c th) tt c cc lp u vo, nh l:


C mt s hn ch v cc lp tng ng u vo. Chng ta c th chp nhn mt s l do nh: Chng trnh chy gom nhng tn hiu u vo tng t nhau vo trong cng mt lp. Test mt gi tr i din ca lp. Nu gi tr i din b li th cc thnh vin trong lp cng s b li nh th.
60

4.2.2. Lp k hoch:

Nhn dng cc lp tng ng u vo:


Da vo cc iu kin vo/ra trong c tnh k thut/m t k thut. C hai lp tng ng u vo: valid v invalid. Da vo heuristics v chuyn gia. input x in [1..10] Loi lit k A, B, C classes: x<1, 1 x 10, x>10 classes: A, B, C, not{A,B,C}

nh ngha mt/cp ca cc trng hp th cho mi lp.


Kim th cc trng hp thuc lp tng ng valid Kim th cc trng hp thuc lp tng ng invalid

V d: Kim mt hm tnh gi tr tuyt i ca mt s integer. Cc lp tng ng:


Condition Cc lp tng ng Valid Cc lp tng ng Invalid

S nhp vo Loi d liu vo Abs Kim cc trng hp: x=-10, x=100

1 integer <0, >=0

0, >1 Non-interger

x=XYZ, x=V d 2:

x=10 20

Mt chng trnh c 3 gi tr integer. Ba gi tr ny c th hin nh chiu di ca 3 cnh mt hnh tam gic. Chng trnh in mt cu thng bo l tam gic thng (uligesidet), tam gic cn (ligebenet), hoc tam gic u (ligesidet). [Myers] + Vit mt tp cc trng hp th chng trnh ny. Cc trng hp test l: Gi tr 3 cnh c lch nhau khng? Gi tr 3 cnh c bng nhau khng? Gi tr 3 cnh tam gic cn?

61

Ba hon v trc ? Cnh bng 0? Cnh c gi tr m? Mt cnh bng tng ca 2 cnh kia? Ba hon v trc ? Gi tr mt cnh ln hn tng 2 cnh kia? Ba hon v trc ? Tt c cc cnh bng 0? Nhp vo gi tr khng phi s nguyn (non-integer)? S ca cc gi tr sai? Cho mi trng hp th: l gi tr u ra mong i? Kim tra cch chy chng trnh sau khi u ra hon chnh?

V d: Phn lp tng ng Kim tra mt chng trnh tnh tng gi tr u tin ca cc s nguyn min l tng ny nh hn maxint. Mt khc, khi c li chng trnh cn ghi li, nu gi tr m, th phi ly gi tr tuyt i. Dng: Nhp s nguyn maxint v value, gi tr result c tnh l:
/ Value /

Result=

K =0

nu:<= maxint, ngoi ra th sinh li.

Cc lp tng ng:
Condition Lp tng ng Valid Lp tng ng Invalid

S nhp vo Loi d liu vo Abs(value) Maxint

2 Int int Value<0, value0


k maxint, k> maxint

<2, >2 Int no-int, no-int int

4.2.3. Phn tch gi tr bin:

Da vo chuyn gia/Heuristics:

62

Test iu kin bin ca cc lp th c tc dng nhiu hn l a vo cc gi tr trc tip nh trn. Chn cc gi tr bin u vo kim tra cc lp u vo thay v thm vo nhng gi tr ty . Cng chn nhng gi tr u vo nh th cho ra nhng gi tr bin u ra. V d v chin lc m rng vic phn lp: Chn mt gi tr ty cho mi lp. Chn cc gi tr chnh xc bin trn v bin di ca mi lp. Chn cc gi tr ngay lp tc di v trn mi bin (nu c th).

V d: Kim tra mt hm tnh gi tr tuyt i ca 1 s nguyn. Cc lp tng ng valid nh sau: Condition Abs
Lp tng ng Valid Lp tng ng Invalid

<0, >=0

Cc trng hp th: Lp x<0, Gi tr ty : Lp x>=0, Gi tr ty : Cc lp x<0, x>=0, Gi tr bin Cc lp x<0, x>=0, Gi tr di v trn V d: Phn tch gi tr bin Nhp vo s integer maxint v value tnh ton gi tr result nh sau:
/ Value /

x=-10 x=100 x=0 x=-1, x=1

Result=

K =0

nu:<= maxint, ngoi ra th sinh li.

Cc lp tng ng valid: Condition Abs(value)


Maxint

Lp tng ng Valid Value<0, value0


k maxint, k> maxint

Chng ta cn gi tr gia maxint<0 v maxint>=0?

63

Maxint

maxint<0, 0 maxint <k, maxint k

Cc lp tng ng valid: Abs(value)


Maxint

Value<0, value0
Maxint < 0, 0 maxint < k, maxint k

Cc trng hp th:
Maxint value result maxint value result

55 54 56 0

10 10 10 0

55 error 55 0

100 100 100

0 -1 1

0 1 1

4.2.4. th Cause Effect :

K thut kim th Black-Box phn tch vic kt hp cc iu kin vo. c tnh


Cause

Effect

inputs Trng thi hin ti -

outputs trng thi mi

To mt th kt ni Causes v Effects Ch thch nu khng th kt hp Causes v Effects. Pht trin bng quyt nh t th ng vi mi ct, mt s kt hp c bit ca u vo v u ra. Mi trng hp test phi thay i ct.

Cc trng hp th:
Maxint Value result

Valid

100 100 10

10 -10 10 30

55 55 error Error Error

Invalid

10 10

64

XYZ 100

10 9.1E4

Error error

k maxint

k > maxint

and

value < 0 xor value 0 and error

Causes inputs

k maxint k > maxint value < 0 value 0

1 0 1 0

1 0 0 1

0 1 1 0

0 1 0 1

Effects outputs

k error

1 0

1 0

0 1

0 1

65

CHNG 5: KIM TH TCH HP

Ngi mi tp s trong th gii phn mm c th hi mt cu hi c v hp l khi mi m un c kim th n v xong Nu tt c chng lm vic ring bit tt th sao cc anh li hoi nghi rng chng khng lm vic khi ta gn chng li vi nhau? Vn , d nhin, l ch gn chng li vi nhau lm giao din. D liu c th b mt qua giao din; m un ny c th c s bt cn, nh hng bt li sang m un khc; cc chc nng con , khi t hp, khng th to ra chc nng chnh mong mun; nhng s khng chnh xc chp nhn c tng m un c th b khuch i ln n mc khng chp nhn ni; cc cu trc d liu ton cc b c th lm sinh ra vn . iu ng bun l danh sch ny cn ko di mi. Kim th tch hp l mt k thut h thng xy dng cu trc chng trnh trong khi ng thi tin hnh cc kim th pht hin li lin kt vi vic giao tip. Mc ch ly cc m un kim th n v xong v xy dng nn mt cu trc chng trnh c quy nh bi thit k. Thng c mt khuynh hng c gng tch hp khng tng dn; tc l xy dng chng trnh bng cch dng cch tip cn v n ln Big bang. Tt c cc m un u c t hp trc. Ton b chng trnh c kim th nh mt tng th. V thng s l mt kt qu hn lon! Gp phi mt tp hp cc li. Vic sa i thnh kh khn v vic c lp nguyn nhn b phc tp bi vic tri rng trn ton chng trnh. Khi nhng li ny c sa cha th nhng li mi li xut hin v tin trnh ny c tip din trong chu trnh v hn. Tch hp tng dn l ngc li vi cch tip cn v n ln. Chng trnh c xy dng v kim th trong tng on nh, ni li d c c lp v sa cha hn; giao din c th c kim th y hn v cch tip cn h thng c th c p dng. Trong nhng mc sau y, mt s chin lc tch hp tng dn s c tho lun ti.
5.1. Tch hp trn xung.

Tch hp trn xung l cch tip cn tng dn ti vic xy dng cu trc chng trnh. Cc m un c tch hp bng cch i dn xung qua cp bc iu khin, bt u vi m un iu khin chnh (chng trnh chnh). Cc m un ph thuc (v ph thuc cui cng) vo m un iu khin chnh s c t hp dn vo trong cu trc theo chiu su trc hoc chiu rng trc.

66

M1

M2

M3

M4

M5

M6

M7

M8

Hnh 5.1. Tch hp trn xung Tham kho ti hnh 5.1., vic tch hp chiu su trc s tch hp tt cc cc m un trn ng iu khin chnh ca cu trc. Vic chn mt ng chnh c tu tin v ph thuc vo cc c trng ca ng dng. Chng hn, chn ng bn tay tri, cc m un M1, M2, M5, s c tch hp trc. Tip M8 hay (nu cn cho chc nng ring ca M2) M6 s c tch hp vo. Ri, xy dng tip cc ng iu khin gia v bn phi. Vic tch hp theo chiu rng t hp tt c cc m un trc tip ph thuc vo tng mc; i xuyn qua cu trc ngang. T hnh v, cc m un M2, M3, M4 (thay th cho cung S4) s c tch hp vo trc nht. Cc mc iu khin tip M5, M6, .. theo sau. Tin trnh tch hp c thc thin trong mt lot nm bc: M un iu khin chnh c dng nh mt khin trnh kim th v 1. cc cung c th vo cho tt c cc m un ph thuc trc tip vo m un iu khin chnh. 2. Tu theo cc tip cn tch hp c chn la (nhng theo chiu su hay theo chiu ngang trc) cc cung ph thuc c thay th tng ci mt mi ln bng cc m un thc ti. 3. Vic kim th c tin hnh khi tng m un c tch hp vo. Khi hon thnh tng tp cc php kim th, cung khc d oc thay 4. th bng cc m un thc. 5. Kim th hi quy (tc l tin hnh tt c hay mt s cc php kim th trc) c th c tin hnh m bo tng nhng li mi khng b a thm vo. Tin trnh ny tip tc t bc 2 ti khi ton b cu trc chng trnh c xy dng xong. Hnh 5.1 minh ho cho tin trnh ny. Gi s ta dng cch tip cn su trc v mt cu trc hon chnh b phn, cung S7 l chun b c thay th bi m un M7. M7 bn thn n c th c cc cung s b thay th bng cc m un tng ng. iu quan trng phi ch l phi tin hnh cc php kim th cho mi ln thay th kim chng giao din.

67

Chin lc tch hp trn xung kim chng vic iu khin chnh hay cc im quyt nh ngay t u trong tin tnh kim th. Trong mt cu trc chng trnh b tr kho, vic quyt nh thung xut hin ti cc mc trn trong cp bc v do c gp phi trc. Nu cc vn iu khin chnh qu l tn ti th vic nhn ra chng l iu ch cht. Nu vic tch hp theo su c la chn th chc nng y ca phn mm c th c ci t v chng minh. Chng hn, ta hy xt mt cu trc giao tc c in trong cn ti mt loi cc ci vo trng tc phc tp ri thu nhn v kim chng chng qua ng i ti. ng i ti c th c tch hp theo cch trn xung. Tt c x l ci vo (i vi vic pht tn giao tc v sau) c th c biu din trc khi cc phn t khc ca cu trc c tch hp vo. Vic biu din ban u v kh nng chc nng l ci xy dng nim tin cho c ngi pht trin khch hng. Chin lc pht trin trn xung c v nh khng phc tp nhng trong thc t, cc vn d logic c th ny sinh. iu thng thng nht ca nhng vn ny xut hin khi vic x l ti mc thp trong cp bc i hi vic kim th tch hp mc trn. Cung thay th cho cc m un cp thp vo lc bt u ca kim th trn xung; do khng c d liu no c ngha c th chy ngc ln trong cu trc chng tnh. Ngi kim th ng trc hai chn la: (1) tr nhiu vic kim th ti khi cung c thay th bng m un thc th, (2) xy dng cc cung thc hin nhng chc nng gii hn m phng cho m un thc ti, v (3) tch hp phn mm t y cp bc ln. Hnh 5.2 minh ho cho cc lp cung in hnh, b tr t n gin nht (cung A) ti phc tp nht (cung D).

Cung A Hin th thng bo du vt

Cung B Hin th tham bin c truyn

Cung C Cho li gi tr t bng

Cung D Tm kim bng cho tham bin vo v cho lai tham bin ra

Chiu ca lung d liu Hinh 5.2 Cung Cch tip cn th nht ( tr kim th cho n khi cung c thay th bi m un thc ti) gy cho chng ta b mt iu khin i vi tng ng gia kim th c bit v vic t hp cc m un c bit. iu ny c th dn ti nhng kh khn trong vic xc nh nguyn nhn li v c khuynh hng vi phm bn cht b rng buc cao ca cch tip cn trn xung. Cc tip cn th hai th c, nhng c th dn ti tng ph kh ln, v cung tr thnh ngy cng phc tp hn. Cch tip cn th ba, c gi l kim th di ln, c tho lun trong mc sau:
5.2. Tch hp di ln.

Kim th tch hp di ln, nh tn n hm , bt u xy dng v kim th vi cc m un nguyn t (tc l cc m un mc thp nht trong cu trc chng trnh). V

68

cc m un ny c tch hp t di ln trn nn vic x l yu cu i vi cc m un ph thuc ca mt mc no bao gi cng c sn v nhu cu v cung b dp b. Chin lc tch hp di ln c th c thc hin qua nhng bc sau: 1. Cc m un mc thp c t hp vo cc chum (i khi cng cn c gi l kiu kin trc) thc hin cho mt chc nng con phn mm c bit. 2. Khin trnh (mt chng trnh iu khin cho kim th) c vit ra phi hp vic vo v trng hp kim th. 3. 4. chng trnh. Kim th chm Loi b khin trnh v chm c t hp chuyn ln trong cu trc

Vic tch hp i theo mu hnh c minh ho trong hnh 5.3. Cc m un c t hp to nn cc chm 1, 2, 3. Tng chm u c kim th bng cch dng mt khin trnh (c v trong khi sm mu). Cc m un trong cc chm 1 v 2 ph thuc vo Ma. Cc khin trnh D1 v D2 c loi b v chm c giao tip trc tip vi Ma. Tng t, khin trnh D3 cho chm 3 loi b trc khi tch hp vi m un Mb. C Ma va Mb cui cng s c tch hp vi m un M, v c nh th. Cc loi khin trnh khc nhau c minh ho trong hnh 5.4 Khi vic tch hp i ln, nhu cu v cc khin trnh kim th tch bit t dn. Trong thc t, nu hai mc nh ca cu trc chng trnh c tch hp theo kiu trn xung th s cc khin trnh c th c gim bt kh nhiu v vic tch hp cc chm c n gin hn rt nhiu.
5.3. Kim th ni quy.

Mi mt ln mt module mi c thm vo nh l mt phn ca kim th tch hp, phn mm thay i. Cc ng dn d liu mi c thit lp, vo ra mi cng xy ra, v logic iu khin mi c gi ra. Nhng thay i ny c th sinh ra vn i vi cc hm lm vic hon ho trc . Trong mt ng cnh ca mt chin lc kim th phn mm, kim th hi quy l vic thc hin li mt vi tp hp con cc kim th m c qun l m bo nhng thay i khng sinh ra cc hiu ng ph khng kim sot c.

69

N H M I

N H M 3

N H M 2

( Hnh 5.3) Trong mt ng cnh rng nh vy, kim th thnh cng (bt c loi no) kt qu l cc tm ra cc li c cc li phi c lm ng. Mt khi phn mm c lm ng, mt vi b phn ca cu hnh phn mm (chng trnh, cc ti liu ca n, d liu m h tr n) b thay i. Kim th hi quy l hot ng m gip m bo rng nhng thay i(trong ton b qu trnh kim th hoc l cc l do khc) khng dn ti cc cch thc khng lng trc hoc cc li pht sinh thm.

70

Khin trnh A

Khin trnh B

Khin trnh C

Khin trnh D

Gi ph thuc

Gi tham bin t bng (hay tp ngoi)

Hin th Tham bin

T hp cc khin trnh B&C

Chiu ca lung thng tin

Hnh 5.4 Khin trnh Kim th hi quy c th thc hin bng thao tc bng tay bng cch thc hin li mt tp hp con ca tt c cc trng hp kim tra hoc s dng cc cng c bt li t ng. Cc cng c bt li tr li (capture - playback tools) cho php ngi k s phn mm c th bt c cc trng hp kim tra v kt qu cho mt chui li v so snh tr li. B kim th hi quy bao gm ba lp cc trng hp kim th khc nhau:

Mt l biu din v d ca cc trng hp kim th m n s thc hin vi tt c cc chc nng ca phn mm. Thm vo cc kim th ng vi cc chc nng ca phm mm ging nh l gi nh khi thay i. Cc trng hp kim th ng vi cc thnh phn ca phn mm b thay i.

Ging nh tin trnh kim th tch hp, s cc kim th hi quy c th tng ln kh ln. V th b kim th hi quy nn c thit k bao gm ch cc trng hp kim th m nhm vo mt hay nhiu cc lp ca li trong mi chc nng chng trnh chnh. R rang l khng thc t v khng hiu qu thc hin li tt c cc kim th cho mi chc nng chng trnh mi ln khi c s thay i xy ra.
5.4. Gi v vic kim th tch hp

c nhiu tho lun v u v nhc im tng i ca vic kim th tch hp trn xung v di ln. Ni chung, u im ca chin lc ny c khuynh hng thnh nhc im ca chin lc kia. Nhc im chnh ca cch tip cn trn xung l cn ti cc cung v c th c nhng kh khn kim th km theo lin kt vi chng. Vn lin
71

quan ti cc cung c th b p li bng u im ca vic kim th cc chc nng iu khin chnh sm sa. Nhc im chnh ca vic tch hp di ln l ch chng trnh nh mt thc th th cha tn ti chng no m un cui cng cha c thm vo. Nhc im ny c lm du i bng thit k trng hp kim th sm hn v vic thiu cung. S la chn mt chin lc tch hp ph thuc vo cc c trng phn mm v i khi c lch biu d n. Ni chng, mt cch tip cn t hp (i khi cn c gi l kim th bnh kp tht) dng chin lc trn xung cho cc mc trn ca cu trc chng trnh, i i vi chin lc di ln co cc mc ph thuc, c th l s tho hip tt nht. Khi vic kim th tch hp c tin hnh, ngi kim th phi xc nh m un gng. Mt m un gng c duy nht mt hay nhiu c trng sau: (1) cp ti nhiu yu cu phn mm, (2) c mc iu khin cao (nm v tr tng i cao trong cu trc chng trnh), (3) l phc tp hay d sinh li ( phc tp xoay vng c th c dng lm mt ch bo) hay (4) c yu cu hon thin xc nh. Cc m un gng nn c kim th sm nht c th c. Bn cnh , kim th hi quy nn tp trung vo chc nng m un gng.
5.5. Lp ti liu v kim th tch hp

K hoch tng th cho vic tch hp phn mm v mt m t v cc kim th c bit c ghi trong bn c t kim th. Bn c t kim th ny c th bn giao c trong tin trnh k ngh phn mm v tr thnh mt phn ca cu hnh phn mm. Hnh 17.11 trnh by dn bi cho bn c t kim th c th c dng nh mt khun kh cho ti liu ny Hnh 5.5 Dn bi c t kim th I. Phm vi kim th A. Cc giai on v khi kim th. B. Lch biu C. Tng ph phn mm D. Mi trng v ti nguyn III. Th tc kim th n (m t vic kim th cho khi n) A. Th t tch hp 1. Mc ch 2. M un cn kim th B. Kim th n v co cc m un trong khi 1. M t kim th cho m un 2. M t tng ph phn mm 3. Kt qu d kin C. Mi trng kim th 1. Cng c hay k thut c bit 2. M t tng ph phn mm II. K hoch kim th

72

D. D liu trng hp kim th E. Kt qu d kin thc t IV. Kt qu kim th thc t V. Tham kho VI. Ph lc Phm vi kim th tm tt cc c trng chc nng, s hon thin v thit k bn trong ring, cn phi c kim th. N lc kim th v cn gn km, tiu chun hon tt tng giai on kim th cn c m t, v cc rng buc lch biu cn c lm t liu. Phn k hoch kim th m t chin lc chung cho vic tch hp. Vic kim th c chia thnh cc giai on v khi, cp ti cc c trng hnh vi v chc nng ring ca phn mm. Chng hn, kim th tch hp cho mt h thng CAD hng th c th c chia thnh cc giai on kim th sau:

Giao din ngi dng (chn ch lnh; to ra vic v; biu din hin th; x l li v biu din li) Thao tc v phn tch d liu (to ra k hiu; tm hng; quay; tnh cc tnh cht vt l) X l v sinh hin th (hin th hai chiu, ) Qun tr c s d liu (thm nhp; cp nht; ton vn; hiu nng)

Mi mt trong cc giai on v giai on con (c ghi trong du ngoc trn) u nu ra phm tr chc nng rng bn trong phn mm v ni chung c th c lin quan ti mt lnh vc ring ca cu trc chng trnh. Do , cc khi chng trnh (nhm cc m un) c to ra tng ng vi tng giai on. Cc tiu chun sau y v php kim th tng ng c p dng cho tt c cc giai on kim th: Tnh thng nht giao din. Cc giao din bn trong v bn ngoi c kim th khi tng m un (hay chm) c t hp vo trong cu trc. Hp l chc nng. Tin hnh cc kim th c thit k pht hin ra li chc nng. Ni dung thng tin. Tin hnh cc kim th c thit k pht hin ra li lin kt vi cc cu trc d liu cc b hay ton cc c s dng. S hon thin. Tin hnh kim th c thit k kim chng cc cn hon thin c thit lp trong thit k phn mm. Nhng tiu chun ny v cc kim th lin kt vi chng c tho lun trong mc bn c t kim th. Lch biu tch hp, tng ph phn mm, v cc ch th c lin quan cng c tho lun nh mt phn ca mc k hoch kim th. Ngy thng bt u v kt thc cho tng giai on c thit lp v ca s c sn cho cc m un xong kim th n v cng phi c xc nh. Mt m t tm tt v tng ph phn mm (cung v khin trnh) tp trung vo cc c trng c th yu cu n lc c bit. Cui cng, cng phi m t mi trng v ti nguyn kim th. Cc cu hnh phn cng bt thng, cc b m phng ngoi lai, cc cng c k thut kim th c bit l mt s trong nhiu ch c th c tho lun trong mc ny.

73

Mt th tc kim th chi tit cn ti hon thnh bn k hoch kim th s c m t trong mc th tc kim th. Tham kho li dn bi bn c t kim th mc II, trt t ca vic tch hp v cc php kim t tng ng ti mi bc tch hp phi c m t. Mt danh sch tt c cc trng hp kim th (c th tham kho v sau) v kt qu d kin cng nn c a vo. Lch s cc kt qu kim th thc ti, cc vn , hay cc c th c ghi li trong bn mc ca bn c t kim th. Thng tin c trong mc ny c th rt quan trng cho vic bo tr phn mm. Cc tham kho thch hp cc ph lc cng c trnh by trong hai mc cui. Ging nh tt c cc phn t khc ca cu hnh phn mm nh dng cn bn c t kim th c th c t chc theo nhu cu cc b ca t chc pht trin phn mm. Tuy nhin iu quan trng cn lu l mt chin lc tch hp c trong bn K hoch kim th, v cc chi tit kim th c m t trong bn c t kim th l thnh phn bn cht v phi c.

74

CHNG 6: K NGH TIN CY PHN MM

Mc tiu ca chng ny l tho lun k thut thm nh v xc nhn tnh hp l c dng trong vic pht trin h thng quan trng. Khi bn c chng ny, bn s: - Hiu c phng php o tin cy ca h thng v cc m hnh pht trin tin cy c th c s dng d bo khi mt mc yu cu tin cy t c. - Hiu c cc nguyn l ca cc lun chng tnh an ton v cch cc nguyn l ny c th c s dng cng vi phng php V & V trong vic m bo tnh an ton ca h thng. - Hiu c cc vn trong vic m bo tnh bo mt ca h thng. - Lm quen vi cc trng hp an ton m a ra cc lun chng v du hiu ca an ton h thng.
6.1. Gii thiu

R rng, vic thm nh v xc nhn tnh hp l ca h thng quan trng rt ph bin trong vic xc nhn tnh hp l ca bt k h thng no. Qu trnh V & V m t cc c t ca h thng, v dch v h thng v cch c x vi cc yu cu ca ngi dng. Tuy nhin, vi h thng quan trng, tnh tin cy c i hi cao, hn na kim th v phn tch c yu cu a ra bng chng chng t h thng ng tin cy. C hai l do ti sao bn nn lm vic : 1. Chi ph tht bi: Chi ph v hu qu ca vic tht bi trong h thng quan trng c kh nng cao hn trong h thng khng quan trng. Bn gim nguy c tht bi ca h thng bng cch s dng vic thm nh v xc nhn tnh hp l ca h thng. Vic tm v loi b li trc khi h thng c phn phi lun lun r hn chi ph do cc s c ca h thng. 2. Xc nhn tnh hp l ca cc thuc tnh tin cy: Bn c th phi to ra mt trng hp bnh thng cho cc khch hng thy h thng c cha cc yu cu v tnh tin cy (tnh sn sng, tnh tin cy, tnh an ton v tnh bo mt). nh gi c tnh tin cy i hi s hot ng c th V & V(c tho lun phn sau trong chng ny). Trong mt vi trng hp, ngi kim sot bn ngoi nh ngi c thm quyn trong ngnh hng khng quc gia c th phi chng nhn rng h thng l an ton trc khi n c th ct cnh. t c chng nhn ny, bn phi thit k v thc thi th tc c bit V & V nhm tp hp chng c v tnh an ton ca h thng.

Xc nh s lc hot ng

Chun b tp d liu kim th

p dng cc kim th vo h thng

Tnh ton tnh tin cy

Hnh 6.1 Qu trnh o tnh tin cy


V rt nhiu l do, gi tr ca V & V vi h thng quan trng lun lun cao hn so vi cc loi h thng khc. Thng thng V & V chim hn 50% tng gi tr pht

75

trin ca h thng phn mm quan trng. Tt nhin, y l gi c iu chnh, khi tht bi ca h thng c ngn nga. V d, nm 1996, mt h thng phn mm quan trng trn tn la Ariane 5 b hng v mt vi v tinh b ph hy, gy thit hi hng trm triu la. Sau , nhng ngi c trch nhim khm ph ra rng s thiu ht trong h thng V & V c phn no trch nhim trong vic ny. Mc d, qu trnh xc nhn tnh hp l ca h thng quan trng phn ln tp trung vo vic xc nhn tnh hp l ca h thng, cc hot ng lin quan nn kim tra xc nhn qu trnh pht trin h thng c thc hin. Khi tho lun trong chng 27 v 28, cht lng h thng b nh hng bi cht lng ca qu trnh c s dng pht trin h thng. Tm li, qu trnh tt dn n h thng tt. V vy, cung cp h thng tin cy, bn cn phi tin tng rng qu trnh pht trin hp l c tin hnh. m bo qu trnh l mt phn ca tiu chun ISO 9000 v qun l cht lng, c trnh by tm tt trong chng sau. Ti liu yu cu chun ca cc qu trnh c s dng v lin kt cc hot ng m bo cc qu trnh c thc hin. Thng thng yu cu c cc h s qu trnh chng nhn vic hon thnh cc hot ng x l v kim tra cht lng sn phm. Tiu chun ISO 9000 ch r u ra ca qu trnh cn a ra v ngi chu trch nhim a ra n. .

6.2.

Xc nhn tnh tin cy

S lng o c pht trin ch ra yu cu tin cy ca mt h thng. xc nhn h thng c cc yu cu no, bn phi o tin cy ca h thng nh bi mt ngi dng h thng thng thng. Qu trnh o tin cy ca h thng c minh ha trong hnh 6.1. Qu trnh ny gm 4 bc:

1. u tin, bn nghin cu cc h thng tn ti ca cc kiu nh nhau a ra m t s lc hot ng. M t s lc hot ng nhn bit loi ca u vo h thng v xc sut xut hin cc u vo ny trong trng hp bnh thng. 2. Sau , bn thit t tp cc d liu kim th phn nh m t s lc hot ng. C ngha l bn to ra d liu kim th vi phn b xc sut nh nhau (nh d liu cho h thng m bn nghin cu). Thng thng, bn s dng my sinh d liu kim th kim tra qu trnh ny. 3. Bn kim th h thng s dng cc d liu c sinh trn v m s lng v cc loi li xy ra. S ln li cng c ghi nhn. Nh tho lun trong chng 9, cc n v thi gian bn nn chn ph hp vi o tnh tin cy bn dng. 4. Cui cng, bn tin hnh thng k cc li quan trng, bn c th tnh ton tin cy ca phn mm v a ra gi tr o tin cy.
Cch tip cn ny c gi l kim th thng k. Mc ch ca kim th thng k l nh gi tin cy ca h thng. Vic nh gi cng vi kim th sai st, c

76

tho lun trong chng 2, c cng mc ch l tm ra li ca h thng. Prowell et al.(1999) a ra mt m t tt ca kim th thng k trong sch ca ng (K ngh phn mm phng sch). Cch tip cn da trn o tnh tin cy khng d dng p dng trong thc t. Nhng kh khn ch yu xut hin do:

1. Khng chc chn m t s lc hot ng: M t s lc hot ng da trn kinh nghim, vi cc h thng khc c th khng phn nh chnh xc thc t s dng ca h thng. 2. Gi tr cao ca s sinh ra d liu kim tra: c th rt t sinh mt lng ln d liu yu cu trong m t s lc hot ng tr khi qu trnh c th hon ton t ng. 3. Thng k khng chc chn khi yu cu tnh tin cy cao c ch ra: Bn phi sinh mt s lng thng k quan trng cc sai st cho php o tin cy chnh xc. Khi phn mm c xc thc tnh tin cy, mt vi sai st lin quan xut hin v n kh khn sinh sai st mi. Pht trin m t s lc thao tc chnh xc chc chn c th vi vi kiu h thng, nh h thng truyn thng c mt mu tiu chun ha c s dng. Tuy nhin, vi cc loi h thng khc c rt nhiu ngi s dng khc nhau, mi ngi c mt cch ring khi s dng h thng. Nh ti tho lun trong chng 3, nhng ngi dng khc nhau c cc n tng khc nhau v tin cy v h s dng h thng theo nhng cch khc nhau.
T , cch tt nht sinh lng ln d liu p ng yu cu o tin cy l s dng mt h sinh d liu kim th m c th thit t t ng sinh u vo ph hp vi m t s lc hot ng. Tuy nhin, n thng khng th t ng sinh ra tt c d liu th nghim cho cc h thng tng tc bi v cc u vo thng l cu tr li ti u ra h thng. Tp d liu cho cc h thng phi c sinh ra bng tay, do chi phi cao hn. Ngay c khi iu c th hon ton t ng, vit lnh cho h sinh d liu th nghim c th tit kim nhiu thi gian. Thng k khng chc chn l mt vn chung trong vic o tin cy ca h thng. to nn mt d on chnh xc tin cy, bn cn phi lm nhiu hn l ch pht hin ra mt li h thng n l. Bn phi sinh ra mt lng ln d liu ph hp, thng k s cc li chc chn rng tin cy ca bn l chnh xc. iu ny tt nht khi bn tm ra rt t li trong h thng, kh khn l n tr thnh o s hiu qu ca k thut t li. Nu tnh tin cy c xc nh mc rt cao, n thng khng thc t sinh li h thng kim tra cc c t .

77

S u vo

Cc loi u vo Hnh 6.2 Mt s tho hot ng


6.2.1. S tho hot ng

.. .

S tho hot ng ca phn mm phn nh cch phn mm s c s dng trong thc t. S tho hot ng gm c t cc loi u vo v kh nng xut hin ca chng. Khi mt h thng phn mm mi thay th mt h thng bng tay hoc mt h thng t ng ha, iu l d thuyt phc nh gi cc mu cch dng c th c ca phn mm mi. N nn ph hp vi cch s dng hin c, vi mt vi s tha nhn c to bi chc nng mi c th c trong phn mm mi. V d, mt s tho hot ng c th c xc nh cho cc h thng chuyn mch vin thng bi v cc cng ty vin thng bit tt c cc mu cuc gi m cc h thng phi iu khin. Thng thng, s tho hot ng nh l cc u vo c kh nng cao nht c sinh ra v c phn vo mt lng nh cc lp, nh ch ra bn tri hnh 6.2. C mt lng ln cc lp c cc u vo c kh nng khng xy ra cao nhng khng phi l khng th xy ra. N c ch ra bn phi hnh 6.2. Du () c ngha l cn c rt nhiu u vo khc. Musa (Musa, 1993; Musa, 1998) xut cc nguyn tc pht trin cc s tho hot ng. ng l mt k s h thng vin thng, v ng c thi gian di lm vic tp hp d liu ngi dng trong lnh vc ny. Do , ng rt ra kt lun: Qu trnh pht trin s tho hot ng tng i d lm. Vi mt h thng yu cu cng sc pht trin ca khong 15 ngi lm vic trong mt nm, s tho hot ng c pht trin trong khong 1 ngi/thng. Trong cc trng hp khc, h sinh s tho hot ng cn nhiu thi gian hn (2-3 ngi/nm), nhng chi ph tri rng ra h thng pht hnh. Musa tnh rng cng ty ca ng (mt cng ty vin thng) c t nht 10 nhm u t vo vic pht trin s tho hot ng. Tuy nhin, khi mt h thng phn mm mi v tin tin c pht hnh, ta rt kh on trc c n s c s dng nh th no a ra s tho hot ng chnh xc. Rt nhiu ngi dng vi trnh , kinh nghim v s mong mun khc nhau c th s dng h thng mi. N khng c c s d liu lch s cch dng. Ngi dng

78

c th s dng h thng theo nhiu cch m ngi pht trin h thng khng d on trc. Vn tr nn phc tp hn bi v cc s tho hot ng c th thay i lc h thng c s dng. Khi ngi dng nghin cu mt h thng mi v tr nn tin tng hn v n, h thng s dng n theo nhng cch phc tp. Do nhng kh khn , Hamlet (Hamlet, 1992) cho rng n khng c kh nng pht trin mt s tho hot ng tin cy. Nu bn khng chc chn rng s tho hot ng ca bn l chnh xc, th bn c th khng tin tng v s chnh xc ca o tnh tin cy ca bn.

Tnh tin cy (ROCOF)

t1

t2

t3

Thi gian

t4

t5

Hnh 23.3 M hnh chc nng ca qu trnh gia tng tnh tin cy vi bc tng bng nhau
6.2.2. D on tnh tin cy Trong lc thm nh phn mm, ngi qun l phi phn cng qu trnh kim th h thng. V qu trnh kim th phn mm rt tn km, nn n s c dng ngay khi c th v khng kim th qu h thng. Kim th c th dng khi mc yu cu tnh tin cy ca h thng c thc hin. Tt nhin, thnh thong, cc d on tnh tin cy c th cho thy mc yu cu tnh tnh tin cy ca h thng s khng bao gi c thc hin. Trong trng hp , ngi qun l phi a ra quyt nh kh khn: vit li cc phn ca phn mm hoc sa li m t h thng. M hnh qu trnh gia tng tnh tin cy l mt m hnh m tnh tin cy ca h thng thay i qu gi trong thi gian qu trnh kim th. Khi cc li h thng c pht hin, cc khim khuyt c s dn n cc li c sa cha, v vy tnh tin cy ca h thng c th c ci thin trong lc kim th v g li h thng. d on tnh tin cy, m hnh qu trnh gia tng tnh tin cy nhn thc phi hiu l m hnh ton hc. Ti khng i vo cc mc c th ca vn ny, n gin ch tho lun cc nguyn tc ca qu trnh gia tng tnh tin cy. C nhiu m hnh qu trnh gia tng tnh tin cy c bt ngun t kinh nghim trong cc lnh vc ng dng khc nhau. Nh Kan (Kan, 2003) pht biu rng: hu ht cc m hnh theo lut s m, vi tnh tin cy tng nhanh khi cc khim khuyt
79

c pht hin v loi b (hnh 6.5). Sau , s tng thm nh dn i v tin ti trng thi n nh khi rt t khim khuyt c pht hin v loi b trong ln kim th cui cng.
Tnh tin cy (ROCOF) Tnh tin cy tng khc nhau Mt li c sa lm xut hin cc li mi v tnh tin cy gim (tng thm ROCOF)

t1

t2

t3

Thi gian

t4

t5

Hnh 6.4 M hnh chc nng qu trnh gia tng tnh tin cy vi bc tng ngu nhin

M hnh n gin nht minh ha khi nim gia tng tnh tin cy l m hnh bc chc nng (Jelinski v Moranda, 1972). Tnh tin cy tng lin tip mi khi mt li (hoc mt tp li) c pht hin v sa cha (hnh 6.3) v mt phin bn mi ca phn mm c to ra. M hnh ny gi s rng s sa cha phn mm lun c thc hin chnh xc v vy s li v khim khuyt lin hp ca phn mm gim trong mi phin bn mi ca h thng. Khi s sa cha c to ra, t l xut hin li ca phn mm (ROCOF) c th gim, nh trn hnh 6.3. Ch cc chu k thi gian trn trc honh phn nh thi gian gia cc ln pht hnh h thng kim th, v vy n thng c chiu di khng bng nhau. Tuy nhin, trong thc t, cc li phn mm khng lc no cng c sa trong lc g li, v khi bn thay i mt chng trnh, thnh thong bn a cc li mi vo chng trnh . Kh nng xut hin cc li c th cao hn kh nng xut hin cc li c sa cha. Do , thnh thong tnh tin cy ca h thng c th tr nn ti hn trong phin bn mi. M hnh qu trnh gia tng tnh tin cy n gin bc bng nhau cng gi s tt c cc li ng gp nh nhau vo tnh tin cy ca h thng, v mi li c sa cha ng gp mt lng nh nhau vo vic gia tng tnh tin cy. Tuy nhin, khng phi tt c cc li c kh nng xy ra nh nhau. Sa cha cc li ph bin ng gp vo vic gia tng tnh tin cy nhiu hn l sa cha cc li ch thnh thong xy ra. C l bn cng cho rng d dng tm kim cc li c kh nng xy ra trong qu trnh kim th, v th tnh tin cy c th tng nhiu hn khi cc li t c kh nng xy ra c pht hin.

80

Cui cng, cc m hnh nh xut ca Littlewood v Verrall a ra cc vn bng cch a mt thnh phn ngu nhin vo qu trnh gia tng tnh tin cy nhm ci thin tc ng ca mt sa cha trong phn mm. Do , mi sa cha khng dn n cng mt lng tng tnh tin cy bng nhau trong phn mm, cc bin i ph thuc vo tnh ngu nhin (hnh 6.4).

Tnh tin cy =Tnh tin cy o c

ng cong m hnh tnh tin cy Tnh tin cy yu cu c lng thi gian t c tnh tin cy Hnh 6.5 D on tnh tin cy Thi gian

M hnh ca Littewood v Verrall cho php ph nhn qu trnh gia tng tnh tin cy khi s sa cha a vo nhiu li hn. cng l m hnh khi mt li c sa cha, tnh tin cy c ci thin trung bnh bi mi sa cha gim. L do l hu ht cc li c kh nng xy ra c th c pht hin sm trong qu trnh kim th. Sa cha cc li ng gp phn ln vo qu trnh gia tng tnh tin cy. Cc m hnh trn l cc m hnh ri rc phn nh qu trnh gia tng tnh tin cy. Khi mt phin bn mi ca phn mm c sa li c a i kim th, n nn c t l li xut hin thp hn phin bn trc. Tuy nhin, d on tnh tin cy s t c sau khi thc hin kim th, chng ta cn m hnh ton hc lin tc. Nhiu m hnh ny nhn c t cc lnh vc ng dng khc nhau, c xut v so snh. n gin, bn c th d on tnh tin cy bng cch kt hp d liu o tnh tin cy v m hnh nhn bit tnh tin cy. Sau , bn ngoi suy m hnh vi cc mc yu cu tnh tin cy v quan st khi mt mc yu cu tnh tin cy s t c (hnh 6.5). Do , kim th v g li phi c thc hin lin tc cho n khi tha mn cc yu cu. D on tnh tin cy ca h thng t m hnh qu trnh gia tng tnh tin cy c hai li ch chnh:

1. Lp k hoch kim th: a ra lch kim th hin ti, bn c th d on khi no qu trnh kim th c hon thnh. Nu iu kt thc sau ngy d kin pht

81

hnh h thng, th bn phi trin khai b sung ti nguyn cho vic kim th v g li tng nhanh t l pht trin tnh tin cy. 2. S m phn khch hng: i khi m hnh tnh tin cy cho thy s tng ln ca tnh tin cy rt chm v s thiu cn xng ca cc c gng kim th c yu cu vi li ch t c tng i t. N c th ng gi m phn li cc yu cu v tnh tin cy vi khch hng. Mt s la chn khc, m hnh d on tnh cc yu cu v tnh tin cy c th s khng bao gi t c. Trong trng hp , bn s phi m phn li vi khch hng v cc yu cu v tnh tin cy ca h thng.
y, ti n gin ha m hnh qu trnh gia tng tnh tin cy nhm em li cho bn nhng hiu bit c bn v khi nim ny. Nu bn mun s dng nhng m hnh ny, bn phi hiu bit cc kin thc ton hc bn di nhng m hnh ny v cc vn thc t ca chng. Littlewood v Musa vit cc vn bao qut ca cc m hnh gia tng tnh tin cy v Kan vit mt cun sch tm tt rt hay v vn ny. Nhiu tc gi khc m t cc kinh nghim thc t ca h khi s dng cc m hnh qu trnh gia tng tnh tin cy.

6.3.

m bo tnh an ton

Cc qu trnh m bo tnh an ton v thm nh tnh tin cy c mc tiu khc nhau. Bn c th xc nh s lng tnh tin cy bng cch s dng mt vi o, do o c tnh tin cy ca h thng. Vi cc gii hn ca qu trnh o, bn bit cc mc yu cu ca tnh tin cy c th t c hay khng. Tuy nhin, tnh an ton khng th xc nh y ngha theo s lng, v do khng th c o khi kim th h thng. V vy, m bo tnh an ton lin quan ti vic chng minh mc tin cy ca h thng, n c th thay i t rt thp n rt cao. y l mt ch vi cc chuyn gia phn on da trn cc du hiu ca h thng, mi trng v cc qu trnh pht trin h thng. Trong nhiu trng hp, s tin cy ny phn no da trn kinh nghim t chc pht trin h thng. Nu trc mt cng ty pht trin nhiu h thng iu khin m hot ng an ton, th l iu hp l cho rng h s tip tc pht trin cc h thng an ton. Tuy nhin, s nh gi phi m bo bi nhng chng c r rng t thit k h thng, cc kt qu ca h thng V & V, v cc qu trnh pht trin h thng c s dng. Vi mt s h thng, cc chng c r rng c thu thp trong mt hp an ton (xem phn 6.4), n cho php mt ngi iu chnh bn ngoi i n kt lun s tin tng ca ngi pht trin v tnh an ton ca h thng c chng minh l ng. Cc qu trnh V & V vi cc h thng quan trng an ton l ph bin vi cc qu trnh c th so snh c ca bt k h thng no vi cc yu cu tnh tin cy cao. phi l qu trnh kim th bao qut pht hin cc khim khuyt c th xy ra, v ti nhng ch thch hp, kim th thng k c th c s dng nh gi tnh tin cy ca h thng. Tuy nhin, bi v t l li cc thp c yu cu trong nhiu h thng quan trong an ton, kim th thng k khng th lun cung cp s nh gi v

82

s lng tnh an ton ca h thng. Cc th nghim cung cp mt vi bng chng, m c s dng cng vi cc bng chng khc nh cc kt qu cua s xem xt li v kim tra tnh , a ra kt lun v tnh an ton ca h thng. S xem xt li bao qut l cn thit trong lc qut trnh pht trin hng tnh an ton trng by phn mm ti nhng ngi m s xem xt n t nhiu khung nhn khc nhau. Pernas xut 5 loi xem xt li m nn c y thc vi h thng quan trng an ton.

1. xem xt li chnh xc chc nng mong i. 2. xem xt li cu trc c th duy tr c, v c th hiu c. 3. xem xt li kim tra li thit k thut ton v cu trc d liu l thch hp vi hnh vi xc nh. 4. xem xt li tnh chc chn ca thit k m, thut ton v cu trc d liu. 5. xem xt li s y ca cc trng hp kim th.

Mt s tha nhn lm c s ca hot ng v tnh an ton h thng l nhiu thiu st ca h thng c th dn ti nhng ri ro v tnh an ton quan trng l t hn ng k so vi tng s thiu st c th tn ti trong h thng . m bo tnh an ton c th tp trung vo nhng li c tim nng gy ri ro. Nu n c th c chng minh rng nhng li khng th xut hin, hoc nu nhng li xut hin, s ri ro kt hp s khng a n mt tai nn, th h thng l an ton. y l nhng lun chng c bn v tnh an ton m ti tho lun trong phn ti.

6.3.1. Nhng lun chng v tnh an ton Vic chng minh mt chng ng n, nh tho lun trong chng trc, c ra nh mt k thut thm nh phn mm khong hn 30 nm trc. Vic chng minh mt chng trnh bnh thng chc chn c th c xy dng cho cc h thng nh. Tuy nhin, nhng kh khn thc t ca vic chng minh rng mt h thng p ng y cc c t n l qu ln vi t chc xem xt vic chng minh ng n tr thnh mt chi ph. Tuy nhin, vi mt s ng dng quan trng, n c th kinh t pht trin vic chng minh tnh ng n nhm tng s tin tng rng h thng p ng cc yu cu v tnh an ton v tnh bo mt. y l trng hp c bit khi chc nng tnh an ton quan trng c th c lp trong mt h thng con nh m c th c xc nh chnh xc. Mc d, n c th khng mang li li nhun pht trin vic chng minh tnh ng n cho hu ht cc h thng, thnh thong n c th thc hin c pht trin nhng lun chng n gin v tnh an ton chng minh chng trnh p ng cc yu cu v tnh an ton. Vi mt lun chng v tnh an ton, n c th khng cn thit chng minh cc chc nng ca chng trnh c xc nh. N ch cn thit chng minh rng s thc thi ca chng trnh khng th dn ti mt trng thi khng an ton.

83

Hu ht cc k thut hiu qu chng minh tnh an ton ca h thng l chng minh bng phn chng. Bn bt u vi gi thit rng mt trng thi khng an ton c xc nh bng phn tch ri ro h thng, c th c i n khi chng trnh thc thi. Bn vit mt thuc tnh xc nh l trng thi khng an ton. Sau , mt cch c h thng, bn phn tch m chng trnh v ch ra, vi tt c cc ng dn chng trnh dn ti trng thi , iu kin kt thc ca cc ng dn mu thun vi thuc tnh trng thi khng an ton. Nu c trng hp , gi thit ban u ca trng thi khng an ton l khng ng. Nu bn lp li iu vi tt c nh danh ri ro, th phn mm l an ton.

- Liu lng Insulin c phn phi l mt hm ca mc ng trong mu, liu lng Insulin phn phi ln trc v thi gian phn phi liu thuc trc. currentDose = computeInsulin(); // Tnh an ton kim tra v iu chnh currentDose nu cn thit // Cu lnh if-1 if (previousDose == 0) { if (currentDose > 16) currentDose = 16; } else if (currentDose > (previousDose * 2)) currentDose = previousDose * 2; // Cu lnh if-2 if (currentDose < minimumDose) currentDose = 2; else if (currentDose > maxDose) currentDose = maxDose; administerInsulin(currentDose); Hnh 6.6 M phn phi Insulin

Mt v d, xem xt m trn hnh 6.6, n c th l mt phn thc thi ca h thng phn phi insulin. Pht trin mt lun chng cho m ny bao gm vic chng minh liu lng thuc c qun l khng bao gi nhiu hn mc ln nht c lp cho mi bnh nhn. Do , khng cn thit chng minh rng h thng phn phi ng liu lng thuc, m ch n thun l n khng bao gi phn phi qu liu lng cho bnh nhn.

84

xy dng nhng lun chng v tnh an ton, bn xc nh tin iu kin cho trng thi khng an ton , trong trng hp nh l currentDose > maxDose. Sau , bn chng minh rng tt c cc ng dn chng trnh a n s mu thun ca iu khng nh tnh khng an ton . Nu l mt trng hp, iu kin khng an ton khng th l ng. Do , h thng l an ton. Bn c th cu trc v a ra nhng lun chng v tnh an ton bng th nh trn hnh 6.7.

Hnh 6.7 Cc lun chng tnh an ton da trn s m t nhng mu thun


Nhng lun chng v tnh an ton, nh c ch ra trn hnh 6.7, l ngn hn nhiu so vi vic thm tra h thng theo ng trnh t. u tin, bn xc nh tt c cc ng dn c th m a ti trng thi khng an ton tim nng. Bn lm vic v pha sau t trng thi khng an ton v xem xt kt qu cui cng ti tt c cc bin trng thi trn mi ng dn dn ti n. Bn c th b qua cc tnh ton trc (nh cu lnh if th nht trong hnh 6.7) trong cc lun chng tnh an ton. Trong v d ny, tt c nhng g bn cn lin quan ti l mt tp cc gi tr c th xy ra ca currentDose ngay lp tc trc khi phng thc administerInsulin c thc thi.

85

Trong cc lun chng v tnh an ton ch ra trn hnh 6.7, c ba ng dn chng trnh c th dn ti vic gi ti phng thc administerInsulin. Chng ti mun chng minh rng lng insulin phn phi khng bao gi vt qu maxDose. Tt c cc ng dn chng trnh c th dn ti phng thc administerInsulin c xem xt:

1. Khng c nhnh no ca cu lnh if th hai c thc thi. N ch c th xy ra nu mt trong hai iu sau xy ra: currentDose l ln hn hoc bng minimumDose v nh hn hoc bng maxDose. 2. Nhnh then ca cu lnh if th 2 c thc thi. Trong trng hp , vic gn currentDose bng 0 c thc thi. Do , hu iu kin l currentDose = 0. 3. Nhnh else-if ca cu lnh if th 2 c thc thi. Trong trng hp , vic gn currentDose bng maxDose c thc thi. Do , hu iu kin l currentDose=maxDose.

Trong c ba trng hp trn, cc hu iu kin mu thun vi cc tin iu kin v tnh khng an ton l liu lng thuc c phn phi l nhiu hn maxDose, v vy h thng l an ton.

6.3.2. m bo quy trnh


Ti tho lun tm quan trng ca vic m bo cht lng ca qu trnh pht trin h thng trong phn gii thiu chng ny. y l iu quan trng vi tt c cc h thng quan trng nhng n c bit quan trng vi cc h thng tnh an ton quan trng. C 2 l do cho iu ny:

1. Cc ri ro t xy ra trong cc h thng quan trng v n c th l khng th xy ra c trong thc t m phng chng trong lc kim th h thng. Bn khng th da trn kim th bao qut to ra cc iu kin c th dn ti mt tai nn. 2. Cc yu cu v tnh an ton, nh ti tho lun trong chng 9, i khi l nhng yu cu s khng (shall not) loi tr hnh vi khng an ton ca h thng. N khng th c chng minh thuyt phc thng qua kim th v cc hot ng thm nh khc rng cc yu cu c thc thi.
M hnh vng i cho qu trnh pht trin h thng tnh an ton quan trng lm cho iu r rng rng s ch r rng nn dnh cho tnh an ton trong tt c cc bc ca quy trnh phn mm. iu c ngha l cc hot ng m bo tnh an ton phi c bao gm trong quy trnh. N bao gm:

1. Vic to thnh mt on ri ro v gim st h thng ln theo nhng ri ro t phn tch tnh ri ro ban u thng qua kim th v thm nh h thng. 2. B nhim vo d n cc k s v tnh an ton, nhng ngi c trch nhim r rng v tnh an ton ca h thng. 3. S dng tnh an ton bao qut xem xt li trong ton b quy trnh pht trin. 4. To thnh s chng nhn tnh an ton h thng bi tnh an ton ca cc thnh phn quan trng tnh an ton chnh thc c chng nhn. 5. S dng h thng qun l cu hnh rt chi tit (xem chng 29), m c s dng theo di tt c cc ti liu v tnh an ton lin quan v gi n trong tng bc vi ti liu k thut lin quan. C mt im nh trong th tc thm nh

86

nghim ngt nu mt li trong cu hnh qun l c ngha l mt h thng khng ng c phn phi ti khc hng. Hazard Log Trang 4: c in ngy 20.02.2003 H thng: H thng bm Insulin File: Insulin/Safety/HazardLog K s m bo: James Brown Phin bn Log: 1/3 Xc nh ri ro: Lng Insulin c phn phi qu liu lng ti bnh nhn Xc nh bi: JaneWilliams Mc quan trng: 1 Xc nh s ri ro: Cao Xc nh cy khim khuyt: C ngy 24.01.99 V tr: Hazard Log, trang 5 Ngi to cy khim khuyt: Jane Williams v Bill Smith Kim tra cy khim khuyt: Ngy 28.01.99 Ngi kim tra James Brown. Cc yu cu thit k tnh an ton ca h thng 1. H thng s bao gm phn mm t kim th m s kim tra h thng cm bin, ng h v h thng phn phi Insulin. 2. Phn mm t kim tra s c thc thi t nht mt ln mi pht. 3. Khi phn mm t kim tra pht hin mt sai st trong bt k mt thnh phn no, mt cnh bo s c pht ra v bm hin th s cho bit tn ca thnh phn m sai st c pht hin. Vic phn phi Insulin s b tr hon. 4. H thng s kt hp vi h thng ghi cho php ngi s dng h thng sa i liu lng Insulin tnh phn phi bi h thng. 5. Lng ghi nn c gii hn khng ln hn mt gi tr nh trc l mt tp m h thng c cu hnh bi cc chuyn gia y t. Hnh 6.8 Mt trang n gin Hazard log
minh ha vic m bo tnh an ton, ti s dng qu trnh phn tch ri ro m n l mt phn thit yu ca qu trnh pht trin cc h thng tnh tin cy quan trng. Phn tch ri ro lin quan n vic xc nh cc ri ro, kh nng c th xy ra ca chng v kh nng m cc ri ro s dn n tai nn. Nu qu trnh pht trin bao gm cc du hiu r rng t nhn dng ri ro trong chnh h thng , th mt lun c c th chng minh c ti sao cc ri ro khng dn n cc tai nn. y c th c b sung vo cc lun c v tnh an ton, nh tho lun trong phn 6.2.1. Khi s xc nhn bn ngoi c yu cu trc khi h thng c s dng (v d, mt my bay), n thng l iu kin xc nhn rng cc du vt ny c th c chng minh. Cc ti liu tnh an ton trung tm l hazard log, ni m cc ri ro c xc nh trong qu trnh c t c chng minh v ch ra. Sau , Hazard log c s dng tai mi giai on trong qu trnh pht trin phn mm nh gi rng giai on pht trin a cc ri ro vo bn k khai. Mt v d n gin ca mt hazard log u vo cho h thng phn phi insulin c ch ra trn hnh 6.8. Mu ti liu ny chng minh qu trnh phn tch ri ro v ch ra cc yu cu thit k m c sinh ra trong qu trnh ny. Cc yu cu thit k c d nh m bo rng h thng iu khin c th khng bao gi phn phi qu liu lng insulin ti ngi dng.

87

Nh ch ra trn hnh 6.8, cc c nhn chu trch nhim v tnh an ton nn c xc nh r rng. Cc d n pht trin h thng tnh an ton quan trng nn b nhim mt k s v tnh an ton, ngi m khng lin quan trong vic pht trin h thng. Trch nhim ca k s ny l m bo vic kim tra tnh an ton thch hp c to thc hin v chng minh. H thng cng c th yu cu mt ngi thm nh tnh an ton c lp c b nhim t mt t chc bn ngoi, ngi ny s bo co trc tip ti khch hng cc vn v tnh an ton. Trong mt s lnh vc, cc k s h thng c trch nhim v tnh an ton phi c cp giy chng nhn. Anh, iu ny c ngha l h phi c tha nhn nh l mt thnh vin ca mt vin k ngh (v in, c kh,) v phi l cc k s c t cch hnh ngh. Cc k s thiu kinh nghim, cht lng km c th khng m bo trch nhim v tnh an ton. Hin nay, iu ny khng c p dng vi cc k s phn mm, mc d n c tho lun rng ri v giy php ca cc k s mt s bang ca nc M (Knight v Leveson, 2002; Begert, 2002). Tuy nhin, trong tng lai, cc tiu chun ca qu trnh pht trin phn mm tnh an ton quan trng c th yu cu cc k s v tnh an ton ca d n nn l cc k s c cp giy chng nhn chnh thc vi mt cp thp nht ca qu trnh o to.

6.3.3. Kim tra tnh an ton khi thc hin K thut tng t c th c s dng gim st ng cc h thng tnh an ton quan trng. Cc m kim tra c th c thm vo h thng kim tra mt rng buc v tnh an ton. N a mt ngoi l nu rng buc b vi phm. Cc rng buc v tnh an ton nn lun c gi ti cc im c th trong mt chng trnh c th c biu th nh cc xc nhn. Cc xc nhn m t cc iu kin phi c m bo trc khi cc cu lnh tip theo c th c thc hin. Trong cc h thng tnh an ton quan trng, cc xc nhn nn c sinh ra t cc c t tnh an ton. N c d nh m bo hnh vi an ton hn hnh vi theo cc c t. Cc xc nhn c th c gi tr c bit trong vic m bo tnh an ton trong giao tip gia cc thnh phn ca h thng. V d, trong h thng phn phi insulin, liu thuc ca ngi qun l insulin cng vi cc tn hiu c sinh ra ti bm insulin phn phi lng tng xc nh insulin (hnh 6.9). Lng tng insulin cng vi liu lng insulin ln nht cho php c th c tnh ton trc v c tnh n nh mt xc nhn trong h thng. Nu c mt li trong vic tnh ton currentDose, currentDose l mt bin trng thi gi lng insulin c phn phi, hoc nu gi tr ny b sa i theo mt cch no , th n s b chn li ti bc ny. Mt liu lng insulin qu mc s khng c phn phi, khi phng thc kim tra m bo rng bm s khng phn phi nhiu hn maxDose.
88

static void administerInsulin() throw SafetyException { int maxIncrements = InsulinPump.maxDose / 8; int increments = InsulinPump.currentDose / 8;
// xc nhn currentDose <= InsulinPump.maxDose;

if (InsulinPump.currentDose > InsulinPump.maxDose) throw new SatefyException (Pump.doseHigh); else for (int i = 1; i <= increments; i++) { generateSignal(); if (i > maxIncrements) throw new SatefyException (Pump.incorrectIncrements); } // for loop } // administerInsulin

Hnh 6.9 Qun l insulin bng cch kim tra lc thc thi T cc xc nhn tnh an ton c bao gm nh cc li ch gii chng trnh, vit m kim tra cc xc nhn c th c sinh ra. Bn c th xem hnh 6.9, cu lnh if sau cc ch gii xc nhn kim tra xc nhn . V nguyn tc, vic sinh cc m ny c th c sinh ra mt cch t ng bng cch s dng b tin x l xc nhn. Tuy nhin, cc cng c thng phi c vit ring bit v thng thng m xc nhn c sinh bng tay.

6.4.

Cc trng hp an ton v tin cy c

Cc trng hp an ton v, tng qut hn, cc trng hp tin cy c cu trc thnh ti liu, a ra cc lun chng v chng c chi tit chng minh h thng l an ton hoc mc yu cu ca tnh tin cy c t c. Vi nhiu loi h thng quan trng, a ra mt trng hp an ton l mt yu cu theo lut nh, v trng hp phi tha mn mt s chng nhn chnh trc khi h thng c th c trin khai. Nhng ngi iu chnh c to ra bi chnh ph m bo rng k ngh mt khng c li dng s thiu cc tiu chun quc gia v tnh an ton, tnh bo mt, C nhiu ngi iu chnh trong nhiu lnh vc k ngh khc nhau. V d, ngnh hng khng c iu chnh bi nhng ngi trong lnh vc hng khng quc gia nh FAA (ti M) v CAA (ti Anh). Nhng ngi iu chnh ngnh ng st tn ti m bo tnh an ton trong ngnh ng st, nhng ngi iu chnh ht nhn phi chng nhn tnh an ton ca khu vc x l ht nhn trc khi n c th hot ng. Trong lnh vc ngn hng, cc ngn hng nh nc ph v vi vai tr nh nhng ngi iu chnh, thit lp cc th tc v cc bi tp gim kh nng gian
89

ln v bo v khch hng trc nhng ri ro. Khi cc h thng phn mm ngy cng tng tm quan trng trong c s h tn ca cc quc gia, nhng ngi iu chnh tr nn lin quan nhiu hn ti cc trng hp an ton v tin cy c ca cc h thng phn mm.

Thnh phn M t h thng Cc yu cu tnh an ton

M t Tng quan v h thng v m t cc thnh phn quan trng ca n. Cc yu cu tnh an ton rt ra t c t yu cu ca h thng.

Cc ti liu m t cc ri ro v nguy c c xc nh v cc tiu chun c a ra gim cc nguy c . Xc nhn v thm nh M t vic s dng th tc V & V v, ch thch hp, cc kim th c thc hin vi h thng. Bo co xem xt li Cc h s ca tt c thit k v tnh an ton c xem xt li Nhm nng lc Chng c nng lc ca tt c cc nhm cng vi vic pht trin v thm nh h thng tnh an ton lin quan. Qu trnh QA Cc h s ca qu trnh m bo cht lng c thc hin trong khi pht trin h thng. Qu trnh qun l s thay Cc h s ca tt c cc thay i c a ra v cc i hnh ng thc hin v ni thch hp, s bin minh tnh an ton ca cc thay i . Cc trng hp kt hp Xem xt ti cc trng hp tnh an ton khc c th tnh an ton tc ng ti cc trng hp an ton. Phn tch cc ri ro v cc nguy c Hnh 6.11. Cc thnh phn ca mt trng hp an ton ca phn mm
Vai tr ca nhng ngi iu chnh l kim tra xem h thng hon thnh l an ton v c th thc hin c, v vy h ch yu c tp hp khi mt d n pht trin c hon thnh. Tuy nhin, nhng ngi iu chnh v nhng ngi pht trin him khi lm vic c lp, h lin lc vi i pht trin xc minh nhng g phi tnh n trong mt trng hp an ton. Nhng ngi iu chnh v nhng ngi pht trin cng nhau thm tra cc qu trnh v cc th tc m bo rng n c ban hnh v chng minh tho mn ngi iu khin. Tt nhin, bn thn phn mm khng nguy him. N ch nguy him khi n c nhng vo trong mt h thng ln, h thng da trn my tnh hoc h thng chuyn mn x hi m nhng sai st ca phn mm c th dn n sai st ca cc thit b khc hoc cuar cc qu trnh m c th gy ra tn hi v ci cht. V vy, mt trng hp an ton ca phn mm lun lun l mt phn ca trng hp an ton h thng rng hn chng minh tnh an ton ca ton b h thng. Khi xy dng mt trng hp an ton ca phn mm, bn phi lin h nhng sai st ca phn mm vi nhng sai st ca h thng ln hn v chng minh rng hoc nhng sai st ca phn mm s

90

khng xy ra hoc n s khng lm lan rng ra theo cch lm cho cc sai st nguy him ca h thng c th xy ra. Mt trng hp an ton l mt tp cc ti liu bao gm m t h thng c chng nhn, thng tin v cc qu trnh s dng pht trin h thng v cc lun chng hp logic chng minh rng h thng l c kh nng an ton. Bishop v Bloomfield a ra nh ngha ngn gn v mt trng hp an ton nh sau:

Mt ti liu nhiu bng chng cung cp mt lun chng thuyt phc v hp l rng h thng tha mn tnh an ton vi ng dng a ra trong mi trng a ra.
S t chc v ni dung ca mt trng hp an ton ph thuc vo kiu ca h thng c chng nhn v ng cnh hot ng ca n. Hnh 6.11 ch ra mt t chc c th xy ra vi mt trng hp an ton ca phn mm. Thnh phn then cht ca mt trng hp an ton l mt tp cc lun chng hp logc v tnh an ton ca h thng. N c th l cc lun chng xc thc (s kin X s hoc s khng xy ra) hoc cc lun chng kh nng (xc xut ca s kin X l 0.Y); khi c kt hp, n c th chng minh c tnh an ton. Nh trn hnh 24.12, mt lun chng l mt mi lin h gia ci g c ngh l mt trng hp (mt tuyn b) v khung chng c c thu thp. V c bn, lun chng gii thch ti sao tuyn b (ni chung iu g l an ton) c th c suy ra t cc chng c . Tt nhin, a ra nhiu mc t nhin ca cc h thng, cc tuyn b c t chc trong mt h thng phn cp. chng minh rng mt tuyn b mc cao l hp l, u tin bn phi thc hin vi cc lun chng mc thp hn. Hnh 24.13 ch ra mt phn ca h thng phn cp tuyn b phn phi kim tim Insulin.

Chng c

Chng c

Lun c

Tuyn b

Chng c

Hnh 6.12 Cu trc ca mt lun c Nh mt thit b y t, h thng bm Insulin c th phi c chng nhn bn ngoi. V d, Anh, MDD phi a ra mt chng nhn an ton vi bt k thit b y t no c bn ti Anh. Nhiu lun chng khc nhau c th phi a ra chng minh tnh an ton ca h thng . V d, cc lun chng di y c th l mt phn trng hp an ton ca h thng bm Insulin.

91

Tuyn b: Mt liu thuc ln nht c tnh bi h thng bm Insulin s khng vt qu maxDose. Chng c: Lun chng an ton cho h thng Insulin (hnh 6.7). Chng c: Cc tp d liu th nghim cho h thng Insulin. Chng c: Bo co phn tch tnh cho phn mm bm Insulin. Lun c: Lun c an ton ch ra liu lng insulin ln nht c th c tnh bng vi maxDose. Trong 400 th nghim, gi tr ca Dose c tnh chnh xc v khng bao gi vt qu maxDose. Phn tch tnh phn mm iu khin khng xut hin d thng. Tt c u hp l tha nhn rng tuyn b c khng nh.

Tt nhin, y l mt lun chng rt n gin, v trong mt trng hp an ton thc t c th tham kho n cc chng c s c a ra. Bi v, chi tit t nhin ca n, do , cc trng hp an ton l cc ti liu rt di v phc tp. Cc cng c phn mm khc nhau c kh nng gip xy dng chng, v ti bao gm cc lin kt ti cc cng c trong cc trang web ca cun sch ny.

Bm insulin s khng phn phi mt liu thuc insulin khng an ton

Lng thuc ln nht c tnh bi phn mm bm s khng vt qu maxDose

maxDose c thit t chnh xc khi bm c cu hnh

maxDose l mt liu thuc an ton cho ngi dng h thng bm Insulin

Khi thao tc bnh thng, liu thuc ln nht c tnh s khng vt qu maxDose

Nu phn mm b li, liu thuc ln nht c tnh s khng vt qu maxDose

Hnh 6.13 H thng phn cp tuyn b trong trng hp tnh an ton ca h thng bm insulin
Nhng vn trng tm

92

Kim th thng k c s dng nh gi tnh tin cy ca phn mm. N da vo kim th h thng vi mt tp d liu th nghim phn nh s tho hot ng ca phn mm. D liu th nghim c th c sinh ra t ng. Cc m hnh pht trin tnh tin cy biu th s thay i tnh tin cy khi cc thiu st c tho g t phn mm trong qu trnh kim th. Cc m hnh tnh tin cy c th c s dng d on khi cc yu cu tnh tin cy s t c. Chng minh tnh tin cy l mt k thut hiu qu m bo tnh tin cy ca sn phm. N ch ra cc iu kin c tnh ri ro xc nh c th khng bao gi xut hin. N thng n gin hn vic chng minh rng chng trnh p ng y c t. iu quan trng c mt nh ngha r rng, chng nhn qu trnh pht trin cc h thng tnh tin cy quan trng. Qu trnh phi bao gm s xc nhn v gim st cc ri ro tim nng. Thm nh tnh bo mt c th c thc hin bng cch s dng phn tch da trn kinh nghim, phn tch da trn cng c hoc i h(tiger teams) m m phng vic tn cng vo h thng. Cc trng hp tnh an ton tp hp tt c cc chng c chng minh mt h thng l an ton. Cc trng hp an ton c yu cu khi mt b iu khin bn ngoi phi xc nhn h thng trc khi n c s dng.

Best practices in code inspection for safety-critical software. Bi bo gii thiu mt bn lit k cc mc cn kim tra ca cc nguyn tc kim tra v xem xt phn mm tnh an ton quan trng. (J.R. de Almeida, IEEE Software, 20(3), May/June 2003). Statically scanning Java code: Finding security vulnerabilities. y l mt bi bo hay v vn ngn nga vic tn cng tnh bo mt. N tho lun cch cc tn cng c thc hin v cch pht hin chng bng mt phn tch tnh. (J. Viega, IEEE Software, 17(5), September/Octorber 2000). Software Reliability Engineering: More Reliable Software, Faster Development and Testing. y chc chn l r rng v vic s dng cc s tho thao tc v m hnh tnh tin cy nh gi tnh tin cy. N bao gm kinh nghim chi tit v kim th thn k. (J.D. Musa, 1998, McGraw-Hill). Safety-critical Computer System. y l mt cun sch gio khoa rt hay bao gm mt s chng hay v v tr ca nhng phng thc hnh thc trong qu trnh pht trin phn mm tnh tin cy quan trng. (N. Storey, 1996, Addison-Wesley). Safeware: System Safety and Computers. Cun sch ny bao gm mt s chng v vic thm nh cc h thng tnh an ton quan trng vi rt nhiu chi tit hn ti a ra y v vic s dng nhng lun chng v tnh an ton da trn cy thiu st. (N. Leveson, 1995, Addison-Wesley).
Bi tp

1. M t cch bn s s dng thm nh c t tnh tin cy ca h thng siu th m bn xc nh trong bi tp 9.8. Cu tr li ca bn nn bao gm s m t cc cng c thm nh c th c s dng.

93

2. Gii thch ti sao thc t khng th lm c vic thm nh c t tnh tin cy khi c gii hn r rng ca rt t li qua ton b cuc i ca mt h thng. 3. S dng tc phm vn hc nh thng tin nn tng, vit mt bo co cho ngi qun l (nhng ngi cha c kinh nghim trong lnh vc ny) v cch s dng m hnh pht trin tnh tin cy. 4. C hp vi o c khng khi mt k s ng phn phi mt h thng phn mm m bit c cc thiu st ti khch hng? iu c th to nn nhiu iu khc nhau nu khch hng ni c tn ti cc thiu st trong phn mm? Nh th no l hp l a ra tuyn b v tnh tin cy ca phn mm trong hon cnh ? 5. Gii thch ti sao m bo tnh tin cy ca h thng khng phi l mt s m bo v tnh an ton ca h thng. 6. C cu iu khin vic kha ca trong iu kin lu tr cht thi ht nhn c thit k hot ng an ton. N m bo li i vo kho la tr ch c cho php khi tm chn s phng x c t hoc khi mc phng x trong phng gim xung n gi tr cho (dangerLevel). l: a. Nu tm chn iu khin t ng l c t trong mt phng, ca c th c m bi ngi iu hnh c thm quyn.

94

CHNG 7: KIM TH PHN MM TRONG CNG NGHIP Trong phn trc chng ti gii thiu tng quan v cc mc v loi kim tra phn mm (KTPM) c bn. Thc t i su vo tng mc v loi kim tra, cn c rt nhiu kim tra c th khc na, mang tnh chuyn bit cho tng vn hoc tng loi ng dng. Trong phn ny, chng ti s gii thiu chi tit v nhng bc c bn ca mt quy trnh KTPM, lm th no nh gi v ci tin nng lc KTPM ca mt t chc thng qua m hnh TMM (Testing Maturity Model), c cc chuyn gia nh gi kh tt, dnh ring cho hot ng KTPM 7.1. QUY TRNH KIM TRA PHN MM C BN

Trc khi tm hiu mt quy trnh kim tra phn mm c bn, ta cn hiu hai khi nim sau: Test Case v Test Script. 7.1.1. Test Case Mt Test Case c th coi nm na l mt tnh hung kim tra, c thit k kim tra mt i tng c tha mn yu cu t ra hay khng. Mt Test Case thng bao gm 3 phn c bn: M t: c t cc iu kin cn c tin hnh kim tra. Nhp: c t i tng hay d liu cn thit, c s dng lm u vo thc hin vic kim tra. Kt qu mong ch: kt qu tr v t i tng kim tra, chng t i tng t yu cu. 7.1.2. Test Script Mt Test Script l mt nhm m lnh dng c t kch bn dng t ng ha mt trnh t kim tra, gip cho vic kim tra nhanh hn, hoc cho nhng trng hp m kim tra bng tay s rt kh khn hoc khng kh thi. Cc Test Script c th to th cng hoc to t ng dng cng c kim tra t ng. (Hnh 04) Phn sau s gii thch r hn cc bc c bn ca mt quy trnh kim tra.

Hnh 7.1: Mt quy trnh kim tra c bn c th p dng rng ri cho nhiu h thng PM vi nhng c trng khc nhau.

95

7.1.3. Lp k hoch kim tra Mc ch: Nhm ch nh v m t cc loi kim tra s c trin khai v thc hin. Kt qu ca bc lp k hoch l bn ti liu k hoch KTPM, bao gm nhiu chi tit t cc loi kim tra, chin lc kim tra, cho n thi gian v phn nh lc lng kim tra vin. Bn k hoch kim tra u tin c pht trin rt sm trong chu trnh pht trin phn mm (PTPM), ngay t khi cc yu cu tng i y , cc chc nng v lung d liu chnh c m t. Bn k hoch ny c th c coi l bn k hoch chnh (master test plan), trong tt c cc k hoch chi tit cho cc mc kim tra v loi kim tra khc nhau u c cp (hnh 05). Lu , ty theo c trng v phc tp ca mi d n, cc k hoch kim tra chi tit c th c gom chung vo bn k hoch chnh hoc c pht trin ring. Sau khi bn k hoch chnh c pht trin, cc bn k hoch chi tit ln lt c thit k theo trnh t thi gian pht trin ca d n. (Hnh 06 minh ho thi im ph hp thit lp cc k hoch kim tra, gn lin vi qu trnh pht trin ca d n. Qu trnh pht trin cc k hoch kim tra khng dng li ti mt thi im, m lin tc c cp nht chnh sa cho ph hp n tn cui d n.).

Hnh 05: Bn k hoch chnh v cc bn k hoch chi tit Cc bc lp k hoch:

Xc nh yu cu kim tra: ch nh b phn, thnh phn ca PM s c kim tra, phm vi hoc gii hn ca vic kim tra. Yu cu kim tra cng c dng xc nh nhu cu nhn lc. Kho st ri ro: Cc ri ro c kh nng xy ra lm chm hoc cn tr qu trnh cng nh cht lng kim tra. V d: k nng v kinh nghim ca kim tra vin qu yu, khng hiu r yu cu. Xc nh chin lc kim tra: ch nh phng php tip cn thc hin vic kim tra trn PM, ch nh cc k thut v cng c h tr kim tra, ch nh cc phng php dng nh gi cht lng kim tra cng nh iu kin xc nh thi gian kim tra. Xc nh nhn lc,vt lc: k nng, kinh nghim ca kim tra vin; phn cng, phn mm, cng c, thit b gi lp... cn thit cho vic kim tra.

96

Lp k hoch chi tit: c lng thi gian, khi lng cng vic, xc nh chi tit cc phn cng vic, ngi thc hin, thi gian tt c cc im mc ca qu trnh kim tra. Tng hp v to cc bn k hoch kim tra: k hoch chung v k hoch chi tit. Xem xt cc k hoch kim tra: phi c s tham gia ca tt c nhng ngi c lin quan, k c trng d n v c th c khch hng. Vic xem xt nhm bo m cc k hoch l kh thi, cng nh pht hin (v sa cha sau ) cc sai st trong cc bn k hoch.
7.1.4. Thit k Test

Mc ch: Nhm ch nh cc Test Case v cc bc kim tra chi tit cho mi phin bn PM. Giai on thit k test l ht sc quan trng, n bo m tt c cc tnh hung kim tra "qut" ht tt c yu cu cn kim tra. Hnh 06 cho thy vic thit k test khng phi ch lm mt ln, n s c sa cha, cp nht, thm hoc bt xuyn sut chu k PTPM, vo bt c lc no c s thay i yu cu, hoc sau khi phn tch thy cn c sa cha hoc b sung.

Hnh 7: Thi im ph hp thit lp cc k hoch kim tra Cc bc thit k test bao gm: Xc nh v m t Test Case: xc nh cc iu kin cn thit lp trc v trong lc kim tra. M t i tng hoc d liu u vo, m t cc kt qu mong ch sau khi kim tra. M t cc bc chi tit kim tra: cc bc ny m t chi tit hon thnh mt Test Case khi thc hin kim tra. Cc Test Case nh ni trn thng ch m t u vo, u ra, cn cch thc tin hnh nh th no th khng c nh ngha. Thao tc ny nhm chi tit ha cc bc ca mt Test Case, cng nh ch nh cc loi d liu no cn c thc thi cc Test Case, chng bao gm cc loi d liu trc tip, gin tip, trung gian, h thng... Xem xt v kho st bao ph ca vic kim tra: m t cc ch s v cch thc xc nh vic kim tra hon thnh hay cha? bao nhiu phn trm PM c kim tra? xc nh iu ny c hai phng php: cn c trn yu cu ca phn mm hoc cn c trn s lng code vit.

97

Xem xt Test Case v cc bc kim tra: Vic xem xt cn c s tham gia ca tt c nhng ngi c lin quan, k c trng d n nhm bo m cc Test Case v d liu yu cu l v phn nh ng cc yu cu cn kim tra, bao ph t yu cu, cng nh pht hin (v sa cha) cc sai st.

7.1.5. Pht trin Test Script kt qu nhn c l ng tin cy, cng nh nhn bit c nhng li xy ra khng phi do PM m do d liu dng kim tra, mi trng kim tra hoc cc bc kim tra (hoc Test Script) gy ra. Nu thc s li xy ra do qu trnh kim tra, cn phi sa cha v kim tra li t u. 7.1.6. nh gi qu trnh kim tra Mc ch: nh gi ton b qu trnh kim tra, bao gm xem xt v nh gi kt qu kim tra, lit k li, ch nh cc yu cu thay i, v tnh ton cc s liu lin quan n qu trnh kim tra (chng hn s gi, thi gian kim tra, s lng li, phn loi li...). Lu , mc ch ca vic nh gi kt qu kim tra bc ny hon ton khc vi bc thm nh kt qu kim tra sau khi hon tt mt vng kim tra. nh gi kt qu kim tra giai on ny mang tnh ton cc v nhm vo bn thn gi tr ca cc kt qu kim tra. Hnh 06 cho thy, vic nh gi qu trnh v kt qu kim tra c thc hin song song vi bt k ln kim tra no v ch chm dt khi qu trnh kim tra hon tt. nh gi qu trnh kim tra thng thng qua cc bc sau:

Hnh 07: Cu trc ca mt mc trng thnh trong m hnh TMM

98

Phn tch kt qu kim tra v xut yu cu sa cha: Ch nh v nh gi s khc bit gia kt qu mong ch v kt qu kim tra thc t, tng hp v gi thng tin yu cu sa cha n nhng ngi c trch nhim trong d n, lu tr kim tra sau . nh gi bao ph: Xc nh qu trnh kim tra c t c bao ph yu cu hay khng, t l yu cu c kim tra (tnh trn cc yu cu ca PM v s lng code vit). Phn tch li: a ra s liu phc v cho vic ci tin cc qui trnh pht trin, gim sai st cho cc chu k pht trin v kim tra sau . V d, tnh ton t l pht sinh li, xu hng gy ra li, nhng li "ngoan c" hoc thng xuyn ti xut hin. Xc nh qu trnh kim tra c t yu cu hay khng: Phn tch nh gi xem cc Test Case v chin lc kim tra thit k c bao ph ht nhng im cn kim tra hay khng? Kim tra c t yu cu d n khng? T nhng kt qu ny, kim tra vin c th s phi thay i chin lc hoc cch thc kim tra. Bo co tng hp: Tng hp kt qu cc bc trn v phi c gi cho tt c nhng ngi c lin quan. Tm lc: Trn y l tm tt cc bc c bn ca mt quy trnh KTPM. Ty theo c th ca d n, loi kim tra v mc kim tra, quy trnh kim tra trong thc t c th chi tit hn nhiu, tuy nhin cc bc trn l xng sng ca bt k quy trnh kim tra no. Sau y, chng ti s gii thiu mt m hnh gip cc t chc nh gi v nng cao nng lc KTPM ca mnh, l m hnh TMM (Testing Maturity Model). 7.2. M HNH KIM TRA PHN MM TMM (TESTING MATURITY MODEL)

Mc d khng t ngi trong cng nh ngoi ngnh bit hoc tng nghe v m hnh CMM/CMMi (Capability Maturity Model/Intergration) ca SEI (Software Engineering Institute Vin cng ngh phn mm ca M) dng nh gi v nng cao nng lc PTPM, song c l t ngi bit v TMM - m hnh c cc chuyn gia nh gi l kh tt c dng nh gi v nng cao nng lc KTPM ca mt t chc. TMM thc ra khng mi, phn ln ni dung ca m hnh ny c pht trin t nm 1996, tuy nhin chng khng c chp nhn rng ri. Mt trong nhng l do chnh l ti liu v TMM rt t. Cc bi bo, sch v n thng c vit di dng nng v l thuyt. Mt l do na l phn ln cc t chc u "say m m hnh CMM/CMMi v ngh rng qu cho qui trnh PTPM ca mnh. Thc t cho thy khng hon ton nh vy KTPM l mt b phn sng cn ca quy trnh PTPM, s h tr quan trng m bo cht lng ca PM. Nhiu t chc PM trong thc t vn cha nhn thy tnh non nt yu km trong quy trnh cng nh nng lc KTPM ca h. Cc m hnh hng u hin nay nh CMM/CMMi/ISO9000 thc t vn khng ch tm y vo cc vn ca KTPM.

99

TMM c pht trin ti IIT (Illinois Institute of Technology Vin cng ngh Illinois) vo gia thp nin 90 trong bi cnh hu nh cha c quy trnh PM no cp mt cch ton din vn kim tra trong PTPM. Tng t SW-CMM, n c mt cu trc c bn bao gm 5 mc trng thnh. V TMM l m hnh chuyn bit cho lnh vc KTPM, cc mc trng thnh ny trc tip m t cc mc tiu trng thnh ca mt quy trnh KTPM. Trong mt t chc PM, TMM khng mu thun m c th dng c lp hoc phi hp vi CMM/CMMi. Mc ch ca TMM l h tr t chc PM nh gi v ci tin cc quy trnh v nng lc PM ca mnh, mc tiu cui cng l gip t chc c th: Hon thnh sn phm ng hn v trong phm vi ngn sch nh. To ra sn phm phn mm c cht lng cao hn. Xy dng nn tng cho vic ci tin quy trnh phm vi rng trong mt t chc. TMM bao gm hai thnh phn chnh: 1. Tp hp 5 mc trng thnh, nh ngha nng lc KTPM ca mt t chc. Mi mc bao gm: Mc tiu Hot ng hin thc cc mc tiu Cng vic v phn cng trch nhim 2. M hnh nh gi nng lc KTPM ca mt t chc, bao gm Bng cu hi nh gi Th tc tin hnh nh gi Hng dn chn la v hun luyn nhm nh gi. Phn sau ta s kho st r hn v cc mc trng thnh ca TMM 7.2.1. Cu trc ca mt mc trng thnh Cc mc trng thnh cu thnh TMM, vy bn thn mt mc trng thnh l g v cu trc ca n ra sao? (Hnh 07). Mi mc , ngoi tr mc thp nht l 1, c cu trc bao gm cc thnh phn sau: Mc tiu trng thnh: Xc nh cc mc tiu cn phi t trong vic ci tin quy trnh KTPM. t mt mc trng thnh, t chc phi t tt c cc mc tiu ca mc trng thnh . Mc tiu con: Cc mc tiu trng thnh ni trn c tm bao qut rng. Do vy lm r hn phm vi cng nh nhng cng vic cn lm t c mt mc tiu, mi mc tiu li c m t r hn thng qua nhng mc tiu con, d hiu v c th hn. Nu ta t c tt c mc tiu con ca mt mc tiu ngha l ta t c mc tiu . Cng vic v trch nhim: M t r hn cc cng vic cn lm, cng nh ai trong d n (trng d n, lp trnh vin, kim tra vin...) s thc hin cc cng vic . Ngha l, t c mt mc tiu con, ta cn thc hin tt c cc cng vic c ngh cho mc tiu con .

100

S tham gia ca cc nhm khc nhau: TMM cho rng c 3 nhm ngi quan trng vi cch nhn v quan im khc nhau nh hng n cng vic KTPM, l ngi qun l/qun l d n, lp trnh vin/kim tra vin, v khch hng/ngi s dng. Do vy m hnh TMM yu cu cc cng vic phi c phn trch nhim cho 3 nhm ngi ny. 7.2.2. ngha v t chc ca cc mc trng thnh 5 mc trng thnh do TMM quy nh c xc nh nh hnh 08. Mc trng thnh 1: Khi u Mc khi u ca a s t chc PM, khng c mc tiu no t ra cho mc ny. Quy trnh KTPM hon ton hn n. KTPM c thc hin mt cch khng d tnh v phi th thc sau khi code c vit xong; khng c k hoch, khng c quy trnh. Ni chung mc ny KTPM ng ngha vi tm li (debugging). Mt lp trnh vin vit code v sau tm li, sa cha, d li... cho n khi tin rng mi th t yu cu. Kim tra vin khng c hun luyn, ti nguyn cn thit cng khng y . Do hu nh ch c lp trnh vin lm mi th, chi ph kim tra hu nh khng bit trc hoc c bao gm trong chi ph PTPM. Mc trng thnh 2: nh ngha KTPM l mt quy trnh ring bit, l mt chng ca ton b chu trnh PTPM v hon ton phn bit vi cng vic d tm li (debug). Mc tiu ca kim tra nhm chng minh PM hoc h thng p ng c cc yu cu. KTPM c lp k hoch chi tit v c theo di cht ch. Quy trnh kim tra c th c s dng lp li trong cc d n khc nhau. K hoch kim tra thng c hon thnh sau khi xong giai on vit code. K thut v phng php kim tra c bn c thit lp v a vo s dng. Cc mc tiu ca mc 2 bao gm: Pht trin cc mc tiu d li v kim tra phn mm Quy trnh lp k hoch kim tra Th ch ha cc k thut v phng php kim tra c bn Mc trng thnh 3: Tch hp TMM Mc 2: CMM Mc 2: nh ngha C th lp li K thut v Qun l yu cu phng php Lp k hoch d n kim tra c bn Gim st v theo di Quy trnh lp k d n hoch kim tra Qun l thu ph Mc tiu d li m bo cht lng v kim tra phn Mt nhm kim tra vin c thnh lp Qun l cu hnh mm nh mt b phn trong cng ty. Kim tra vin c hun luyn k v c bit. KTPM khng cn l mt chng, m c thc hin xuyn sut ton b chu k PTPM. Vic s dng cng c kim tra t ng bt u c tnh n. K hoch kim tra c thc hin sm hn nhiu so vi mc

101

trng thnh 2. Quy trnh kim tra c gim st, tin v hiu qu kim tra c kim sot cht ch. Mc tiu ca mc 3 bao gm: Thit lp b phn KTPM Thit lp chng trnh hun luyn k thut Tch hp KTPM vo chu k PTPM Kim sot v gim st quy trnh kim tra

102

7.2.3. So snh mc 3 gia TMM v CMM:

TMM Mc 3: Tch hp

CMM Mc 3: c nh ngha

Tp trung quy trnh cp t chc Kim sot v gim st quy trnh kim nh ngha quy trnh cp t chc tra Chng trnh hun luyn Tch hp kim tra phn mm Tch hp qun l phn mm Thit lp chng trnh hun luyn k K thut pht trin sn phm thut iu phi lin nhm Thit lp t chc kim tra phn mm Xem xt ngang hng
Mc trng thnh 4: Qun l v o lng

Mt chng trnh xem xt cp cng ty c thnh lp vi mc tiu loi b sai st trong sn phm k c sn phm trung gian bng k thut xem xt ngang hng (peer review k thut ph bin pht hin li sm trn cc sn phm v sn phm trung gian khng thi hnh c nh yu cu khch hng, bn thit k, m ngun, k hoch kim tra... c thc hin bi mt nhm ngi cng lm vic). Quy trnh kim tra l mt quy trnh nh lng. Cc ch s lin quan n KTPM c nh ngha v thu thp nhm phn tch, kho st cht lng v hiu qu ca quy trnh kim tra. Mt s v d v cc ch s ny nh: t l li trn mt n v kch thc PM, s lng li do kim tra vin tm thy trn tng s li ca PM (bao gm li do khch hng pht hin), thi gian trung bnh sa cha mt li... Mc tiu ca mc 4 bao gm: Thit lp chng trnh xem xt xuyn sut cc d n trong cng ty Thit lp chng trnh o lng vic KTPM nh gi cht lng PM
So snh mc 4 gia TMM v CMM TMM Mc 4: Qun l v o lng nh gi cht lng phn mm o lng vic kim tra phn mm Chng trnh xem xt xuyn d n CMM Mc 4: c qun l

Qun l quy trnh theo lng ha Qun l cht lng phn mm

Mc trng thnh 5: Ti u ha, phng nga li v kim sot cht lng D liu lin quan n cc sai st thu thp ( mc 4) c phn tch tm ra nguyn nhn gc pht sinh cc sai st . Cn c vo cc nguyn nhn ny, hnh ng phng nga c thit lp v thi hnh. Cc php thng k c dng c

103

lng tnh tin cy ca phn mm, cng nh lm c s cho cc quyt nh lin quan n xc nh cc mc tiu v tin cy ca phn mm. Chi ph v tnh hiu qu ca KTPM c gim st cht ch, cng c kim tra t ng c s dng rng ri. Mt khc, mc 5, quy trnh KTPM phi c ci tin mt cch lin tc, nhm khc phc nhng yu km ca quy trnh, cng nh hng n nhng mc tiu xa hn. Mc tiu ca mc 5 bao gm:

S dng d liu thu thp phng nga sai st. Kim sot cht lng Ti u ha quy trnh KTPM

So snh mc 5 gia TMM v CMM: TMM Mc 5: Ti u ha, phng nga li v kim sot cht lng CMM Mc 5: Ti u ha

Phng nga sai st. Kim sot cht lng Ti u ha quy trnh kim tra phn mm
Tm li

Phng nga sai st. Qun l thay i k thut/cng ngh Qun l thay i quy trnh

KTPM l mt lnh vc rt quan trng trong hot ng sn xut cng nh gia cng PM. Cc mc kim tra v loi kim tra rt phong ph, phc v mc tiu m bo cht lng ton din cho mt PM hoc mt h thng. Trong thc t, trin khai tt c cc mc v loi kim tra lit k cho mt d n PM i hi s u t rt ln c v thi gian ln cng sc. Cc t chc "cn non" trong quy trnh kim tra thng c gng tit kim ti a u t vo KTPM, thng l vic lp k hoch kim tra n khi hon thnh vic vit code, b qua mt vi hoc hu ht cc chng kim tra. PM giao cho khch hng trong iu kin nh th thng ngho nn v cht lng. Kt qu thng l s t bin v chi ph b ra cho vic sa cha li, hoc bo tr PM, tuy nhin s mt mt ln nht l s tht vng ca khch hng hoc nhng ngi dng cui.

104

Hnh 08: 5 mc trng thnh trong TMM

7.3.

Cc cng c kim th (Test tools)

Ngy nay t ng ha c ng dng rt nhiu lnh vc, mc ch thng rt a dng v ty theo nhu cu c th ca tng lnh vc, tuy nhin im chung nht vn l gim nhn lc, thi gian v sai st. Ngnh CNTT m c th l pht trin phn mm (PTPM) cng khng ngoi l. Nh chng ta bit, to ra sn phm CNTT hay PM c cht lng th hot ng kim th phn mm (KTPM) ng vai tr rt quan trng, trong khi hot ng ny li tiu tn v chim t trng kh ln cng sc v thi gian trong mt d n. Do vy, nhu cu t ng ho qui trnh KTPM cng c t ra. Qua thc t cho thy vic p dng kim th t ng (KTT) hp l s mang li thnh cng cho hot ng KTPM. KTT gip gim bt cng sc thc hin, tng tin cy, gim s nhm chn v rn luyn k nng lp trnh cho kim th vin (KTV). Bi vit ny s gii thiu cc khi nim c bn ca KTT, ng thi gii thiu mt cng c KTT kh mnh hin nay l QuickTest Professional 8.2 (QTP) ca Mercury. 7.3.1. TI SAO PHI DNG TEST TOOL Test Tool (TT) trong lnh vc PTPM l cng c gip thc hin vic kim th PM mt cch t ng. Tuy nhin khng phi mi vic kim th u c th t ng ha, cu hi t ra l trong iu kin hoc tnh hung no dng TT l thch hp? Vic dng TT thng c xem xt trong mt s tnh hung sau: 1. Khng ti nguyn Khi s lng tnh hung kim th (test case) qu nhiu m cc KTV khng th hon tt bng tay trong thi gian c th no .

105

C th ly mt dn chng l khi thc hin kim th chc nng ca mt website. Website ny s c kim th vi 6 mi trng gm 3 trnh duyt v 2 h iu hnh Tnh hung ny i hi s ln kim th tng ln v lp li 6 ln so vi vic kim th cho mt mi trng c th. Kim th hi qui Trong qu trnh PTPM, nhm lp trnh thng a ra nhiu phin bn PM lin tip kim th. Thc t cho thy vic a ra cc phin bn PM c th l hng ngy, mi phin bn bao gm nhng tnh nng mi, hoc tnh nng c c sa li hay nng cp. Vic b sung hoc sa li code cho nhng tnh nng phin bn mi c th lm cho nhng tnh nng khc kim th tt chy sai mc d phn code ca n khng h chnh sa. khc phc iu ny, i vi tng phin bn, KTV khng ch kim tra chc nng mi hoc c sa, m phi kim tra li tt c nhng tnh nng kim tra tt trc . iu ny kh kh thi v mt thi gian nu kim tra th cng. nh duyt: IE, Netscape, Opera

H iu hnh: WinXP, Linux WinXP, IE WinXP, Netscape WinXP, Opera Linux, IE Linux, Netscape Linux, Opera 2. Kim tra kh nng vn hnh PM trong mi trng t bit
y l kim tra nhm nh gi xem vn hnh ca PM c tha mn yu cu t ra hay khng. Thng qua KTV c th xc nh c cc yu t v phn cng, phn mm nh hng n kh nng vn hnh ca PM. C th lit k mt s tnh hung kim th tiu biu thuc loi ny nh sau: o tc trung bnh x l mt yu cu ca web server. Thit lp 1000 yu cu, ng thi gi n web server, kim tra tnh hung 1000 ngi dng truy xut web cng lc. Xc nh s yu cu ti a c x l bi web server hoc xc nh cu hnh my thp nht m tc x l ca PM vn c th hot ng mc cho php. Vic kim tra th cng cho nhng tnh hung trn l cc kh, thm ch "v phng". Cn lu l hot ng KTT nhm mc ch kim tra, pht hin nhng li ca PM trong nhng trng hp on trc. iu ny cng c ngha l n thng c thc hin sau khi thit k xong cc tnh hung (test case). Tuy nhin, nh ni, khng phi mi trng hp kim tra u c th hoc cn thit phi t ng ha, trong tt c test case th KTV phi nh gi v chn ra nhng test case no ph hp hoc cn thit p dng KTT da trn nhng tiu ch cp bn trn.

7.3.2. KHI QUT V KTT Vic pht trin KTT cng tun theo cc bc PTPM, chng ta phi xem vic pht trin KTT ging nh pht trin mt d n. Bn c c th tham kho bi vit v kim tra phn mm trn TGVT A thng 12/2005 (ID: A0512_110). Hnh 1 cho chng ta thy mi tng quan gia KTT v ton b chu trnh KTPM.

106

Hnh 1 Ging nh PTPM, thnh cng trong KTT chng ta nn thc hin cc bc c bn sau: Thu thp cc c t yu cu hoc test case; la chn nhng phn cn thc hin KTT. Phn tch v thit k m hnh pht trin KTT. Pht trin lnh c t (script) cho KTT. Kim tra v theo di li trong script ca KTT. Bng sau m t r hn cc bc thc hin KTT:
T Bc thc hin M t 1 To test script Giai on ny chng ta s dng test tool ghi li cc thao tc ln PM cn kim tra v t ng sinh ra test script. 2 Chnh sa test script Chnh sa test script thc hin kim tra theo ng yu cu t ra, c th l lm theo test case cn thc hin. 3 Chy test script KTT Gim st hot ng kim tra PM ca test script. 4 nh gi kt qu Kim tra kt qu thng bo sau khi thc hin KTT. Sau b sung, chnh sa nhng sai st. KTT c mt s thun li v kh khn c bn khi p dng:

KTPM khng cn can thip ca KTV. Gim chi ph khi thc hin kim tra s lng ln test case hoc test case lp li nhiu ln. Gi lp tnh hung kh c th thc hin bng tay. Mt chi ph to cc script thc hin KTT. Tn chi ph dnh cho bo tr cc script. i hi KTV phi c k nng to script KTT. Khng p dng c trong vic tm li mi ca PM.

107

7.3.3. GII THIU CNG C KTT: QUICKTEST PROFESSIONAL Trong lnh vc KTT hin c kh nhiu TT thng mi ni ting, ph bin nh QuickTest Professional, WinRunner, Rational Robot, SilkTest, JTest,... Trong s , QuickTest Professional (QTP) phin bn 8.2 ca hng Mercury kh tt v mnh, bao gm nhiu chc nng in hnh ca mt cng c kim tra t ng. Lu l QTP 8.2 c mt ci tn mi hn l Mercury Functional Testing 8.2. QTP l TT dng kim tra chc nng (functional test) v cho php thc hin kim tra hi qui (regression test) mt cch t ng. y cng l cng c p dng phng php Keyword-Driven, mt k thut scripting (lp trnh trong KTT) hin i, cho php KTV b sung test case bng cch to file m t cho n m khng cn phi chnh sa hay b sung bt c script no c. N cng ph hp trong tnh hung chuyn giao cng vic m ngi mi tip nhn cha c thi gian hoc khng hiu script vn c th thc hin kim tra PM theo ng yu cu. 1. Loi phn mm h tr QTP gip chng ta KTPM theo hng chc nng trn rt nhiu loi chng trnh phn mm khc nhau. Tuy nhin Mercury ch h tr sn mt s loi chng trnh thng dng nh: ng dng Windows chun/Win32. ng dng web theo chun HTML, XML chy trong trnh duyt Internet Explorer, Netscape hoc AOL. Visual Basic. ActiveX. QTP h tr Unicode (UTF-8, UTF-16). Mt s loi chng trnh khc i hi chng ta phi ci t thm thnh phn b sung ca QTP th mi thc hin kim tra c. Cc loi chng trnh l: .NET NET Framework 1.0, 1.1, 2.0 beta Cc i tng chun ca .NET v cc i tng khc tha k t cc i tng chun. Java Sun JDK 1.1 1.4.2 IBM JDK 1.2 1.4 Oracle Oracle Applications 11.5.7, 11.5.8, 11.5.9 People Soft PeopleSoft Enterprise 8.0 8.8 SAP SAP GUI HMTL 4.6D, 6.10, 6.20

108

c im D s dng, bo tr, to test script nhanh. Cung cp d liu kim tra r rng v d hiu. Kim tra phin bn mi ca ng dng vi rt t s thay i. V d khi ng dng thay i nt tn "Login" thnh "ng nhp", th ch cn cp nht li Object Repository (OR - c gii thch phn sau) QTP nhn ra s thay i m khng cn thay i bt c test script no. H tr lm vic theo nhm thng qua s chia s th vin, thng nht qun l Object Repository. Thc t cho thy, QTP thc hin KTT trn nhiu trnh duyt cng lc tt hn nhng TT khc. Vi chc nng Recovery Scenarios, QTP cho php x l nhng s kin hoc li khng th on trc c th lm script b dng trong khi ang chy. QTP c kh nng hiu test script ca Mercury Winrunner (mt cng c kim tra khc ca Mercury). c bit phin bn v.8.2 c mt s tnh nng mi ni bt: Qun tr Object Repository Phi hp gia cc KTV qua vic ng b ha d liu, kh nng trn, nhp/xut ra file XML Th vin hm mi Chia s cc th vin hm gia cc nhm KTV Kim tra ti nguyn Kim tra ti nguyn cn thit trc khi thc thi lnh kim tra t ng. Nng cp kh nng ko th Ko th cc bc kim tra trong mi trng ngn ng t nhin. H tr XML cho bo co Lu tr kt qu kim tra di dng XML, HTML, t cho php ty bin bo co. Trnh pht trin mi (IDE) Mi trng son tho mi, mm do cho ty bin v s dng. Trnh d li mi Cho php KTV kim sot li khi vit test case. Qun tr t kha Qun l t kha trong qu trnh s dng H tr a giao tip Cho php ngi dng m v son tho ng thi nhiu hm th vin v Object Repository. H tr Unicode H tr Unicode vi cc ng dng a ngn ng (multi-language). H tr cc mi trng mi

109

Khu vc Chc Menu bar Cu hnh thao tc vi QTP v script File toolbar H tr qun l script Debug toolbar H tr kim tra li trong test script (debug) Testing toolbar H tr qu trnh to test script hoc thc hin KTT Action toolbar Xem mt Action (th tc, hm) hoc ton b chu trnh ca test script Test pane Son tho script mt trong 2 ch Keyword View hoc Expert View Data Table Ni lu tr d liu cho test script Active Screen Xem li giao din PM c kim tra

3. Cc thnh phn quan trng trong QTP


a. Action:

Ging nh th tc hay hm trong cc ngn ng lp trnh khc, Action ghi li cc bc thc hin KTT v n c th c s dng li nhiu ln. Trong mt test script c th c nhiu Action.
b. DataTable:

Ni lu d liu phc v cho KTT. Mt test script s c mt DataTable c dng chung cho tt c cc Action. Bn cnh mi Action cng c mt DataTable cho ring mnh.
c. Object Repository (OR):

Cu trc theo dng cy, m t cc i tng trong PM c kim tra. y c xem l cu ni test script tng tc vi PM c kim tra. Khi ra lnh cho QTP ghi li thao tc ngi dng ln PM th trong OR s t ng pht sinh thnh phn i din cho nhng i tng trn PM va c thao tc. OR c th t chc thnh 2 loi, mt loi dng chung trong nhiu test script, loi
110

khc dng theo tng Action. xem OR, chn menu Tools > Object Repository.
d. Checkpoint:

C th hiu l ni kim tra trong test script, khi chy n s thc hin so snh kt qu thc t khi kim tra PM vi kt qu mong i. Sau khi tin hnh so snh QTP s t ng ghi li kt qu vo Test Results (ni lu kt qu khi chy test script).
4. Ngn ng s dng vit script QTP s dng ngn ng VBScript vit test script. y l ngn ng d hc; rt ging ngn ng VBA. Ch Expert View ca QTP l ch son tho dnh cho VBScript. Ngoi vic dng VBScript tng tc vi PM c kim tra, QTP cn c kh nng cu hnh h thng bng ngn ng Windows Script. Chi tit v ngn ng VBScript, ngi c c th d dng tm trong cc sch hin c trn th trng, thm ch ngay chnh trong phn help ca QTP.

6. S Dng QTP a. Yu cu cu hnh h thng: b. Bn quyn s dng:

111

H iu hnh Windows 2000 SP3, SP4; Windows XP SP1, SP2 hoc Windows 2003 Server RAM 256 MB tr ln Dung lng a Ti thiu 250MB cho ng dng, 120MB trn a h iu hnh. Sau khi ci QTP, dung lng cn thit thm trn a ci h iu hnh l 150 MB Trnh duyt IE 5.5 SP 2 tr ln Bn c th vo http://www.mercury.com ng k v ti v bn dng th trong 14 ngy. Cc bc ci t theo s hng dn ca chng trnh. Sau thi gian dng th, c th tip tc s dng QTP chng ta cn phi mua bn quyn, gi tham kho t nh cung cp nh sau: cho mt my 9.000 USD; cho nhiu my dng cng lc 12.000 USD.

7.3.4. Kim th n v vi JUnit nh ngha JUnit l mt framework n gin dng cho vic to cc unit testing t ng, v chy cc test c th lp i lp li. N ch l mt phn ca h kin trc XUnit cho vic to cc Unit Testing. JUnit l mt chun trn thc t cho Unit Testing trong Java. c im JUnit l cng c gip ta th nghim, g ri chng trnh Java. Vi JUnit, bn d dng theo di din bin ca chng trnh, nhanh chng dn dng hng lot php th (test case) kim tra xem mi vic c xy ra ng nh d nh hay khng. Thu ban u, JUnit c xy dng bi Kent Beck v Erich Gamma. Sau , gii lp trnh vin Java bin JUnit thnh mt n ngun m. Ngy nay, JUnit tr thnh mt th "cng c chun" m mi lp trnh vin Java u nn bit cch dng. JUnit l mt m ngun m, regression-testing framework nhm gip cho cc java developer vit nhng unit test kim tra tng modul ca project khi pht trin h thng. Framework gip trong vic thit lp mt close-relationship gia testing v development. u tin bn vit ra cc on code ca bn s lm vic. Sau bn vit code v dng JUnit test runner kim tra xem n b chch hng so vi d nh ban u nh th no.Intergration testing xc nhn rng nhng h thng con khc nhau s lm vic tt khi kt hp chng vi nhau. Acceptance testing n gin xc nhn chnh xc rng mt ng dng c lm vic ng nh khch hng mong i khng. Unit test c gi nh vy bi v h test tng on code n l mt, n c th ch l mt class n trong java. Khc vi cc Unit Test c th, bn c khuynh hng rng s vit test sau khi hon thnh module, JUnit khuyn khch bn kt hp coding v testing trong sut qun trnh pht trin. K t y, mc ch chnh l kim tra module mc nh l kim tra cc chc nng, v hn l kim tra cc khi c bn ca h thng ti mt thi im no . n ny hng dn vic pht trin mt b test ton din m bn c th dng bt c khi no sau khi thay i mt on code v tin tng rng sn phm hoc on code sa i khng ph v nhng h thng con khch m bn k c bit.

112

Mt s c im quan trng ca Junit: Xc nhn (assert) vic kim tra kt qu c mong i. Cc Test Suite cho php chng ta d dng t chc v chy cc test. H tr giao din ha v giao din dng lnh.
Cc test case ca JUnit l cc lp ca Java, cc lp ny bao gm mt hay nhiu cc phng thc unit testing, v nhng test ny li c nhm thnh cc Test Suite. Mi phng thc test trong JUnit phi c thc thi nhanh chng. Tc l iu ti quan trng v cng nhiu test c vit v tch hp vo bn trong qu trnh xy dng phn mm, cn phi tn nhiu thi gian hn cho vic chy ton b Test Suite. Cc lp trnh vin khng mun b ngt qung trong mt khong thi gian di trong khi cc test chy, v th cc test m chy cng lu th s c nhiu kh nng l cc lp trnh vin s b qua bc cng khng km phn quan trng ny. Cc test trong JUnit c th l cc test c chp nhn hay tht bi, cc test ny c thit k khi chy m khng cn c s can thip ca con ngi. T nhng thit k nh th, bn c th thm cc b test vo qu trnh tch hp v xy dng phn mm mt cch lin tc v cho cc test chy mt cch t ng. Mt s phng thc trong Junit Cc phng thc assertXXX() Cc phng thc assertXXX() c dng kim tra cc iu kin khc nhau. junit.framework.TestCase, lp cha cho tt c cc test case, tha k t lp junit.framework.Assert. Lp ny nh ngha kh nhiu cc phng thc assertXXX(). Cc phng thc test hot ng bng cch gi nhng phng thc ny. Mt s m t cc phng thc assertXXX() khc nhau c trong lp junit.framework.

assert:assertEquals(): So snh 2 gi tr kim tra bng nhau. Test s c chp nhn nu cc gi tr bng nhau assertFalse(): nh gi biu thc lun l. Test s c chp nhn nu biu thc saiassertNotNull(): So snh tham chiu ca mt i tng vi null. Test s c chp nhn nu tham chiu i tng khc null assertNotSame(): So snh a ch vng nh ca 2 tham chiu i tng bng cch s dng ton t ==. Test s c chp nhn nu c 2 u tham chiu n cc i tng khc nhau assertNull(): So snh tham chiu ca mt i tng vi gi tr null. Test s c chp nhn nu tham chiu l null assertSame(): So snh a ch vng nh ca 2 tham chiu i tng bng cch s dng ton t ==. Test s c chp nhn nu c 2 u tham chiu n cng mt i tng assertTrue(): nh gi mt biu thc lun l. Test s c chp nhn nu biu thc ng fail(): Phng thc ny lm cho test hin hnh tht bi, phng thc ny thng c s dng khi x l cc bit l
Mc d bn c th ch cn s dng phng thc assertTrue() cho gn nh hu ht cc test, tuy nhin th vic s dng mt trong cc phng thc assertXXX() c th s lm cho cc test ca bn d hiu hn v cung cp cc thng ip tht bi r rng hn. Tt c cc phng thc trn u nhn vo mt String khng bt buc lm tham s u tin. Khi c xc nh, tham s ny cung cp mt thng ip m t test tht bi.
113

V d: assertEquals(employeeA, employeeB); assertEquals(Employees should be equal after the clone() operation., employeeA, employeeB). .Set Up v Tear Down
Hai phng thc setUp() v tearDown() l mt phn ca lp junit.framework.TestCase Bng cch s dng cc phng thc setUp v tearDown. Khi s dng 2 phng thc setUp() v tearDown() s gip chng ta trnh c vic trng m khi nhiu test cng chia s nhau phn khi to v dn dp cc bin. JUnit tun th theo mt dy c th t cc s kin khi chy cc test. u tin, n to ra mt th hin mi ca test case ng vi mi phng thc test. T , nu bn c 5 phng thc test th JUnit s to ra 5 th hin ca test case. V l do , cc bin th hin khng th c s dng chia s trng thi gia cc phng thc test. Sau khi to xong tt c cc i tng test case, JUnit tun theo cc bc sau cho mi phng thc test:

Gi phng thc setUp() ca test case Gi phng thc test Gi phng thc tearDown() ca test case Qu trnh ny c lp li i vi mi phng thc test trong test case. Sau y chng ta s xem xt 1 v d tnh cng, tr v nhn hai s nguyn:
CODE public class CongTruNhan {

int add (int x, int y){ return (x + y ); } int multiply (int x, int y){ return (x*y); } int subtract (int x, int y){ return (x-y); } }

M Code TestCase ca lp trn c s dng phng thc setUp() v tearDown()

114

CODE import junit.framework.*; public class Test CongTruNhan extends TestCase { public Test CongTruNhan (String name) { super(name); } // Initialize common test data int x; int y; protected void setUp() { System.out.println("setUp - Intialize common test data"); x = 7; y = 5; } protected void tearDown(){ System.out.println("tearDown - Clean up"); } /** * Test of add method, of class CongTruNhan. */ public void testAdd() { System.out.println("add");

CongTruNhan instance = new CongTruNhan (); int expResult = 12; int result = instance.add(x, y); assertEquals(expResult, result); } /** * Test of multiply method, of class CongTruNhan. */ public void testMultiply() { System.out.println("multiply"); CongTruNhan instance = new CongTruNhan (); int expResult = 35; int result = instance.multiply(x, y); assertEquals(expResult, result); } /** * Test of subtract method, of class CongTruNhan.

115

*/ public void testSubtract() { System.out.println("subtract"); CongTruNhan instance = new CongTruNhan(); int expResult = 2; int result = instance.subtract(x, y); assertEquals(expResult, result); } public static void main(String[] args){ System.out.println("Running the test using junit.textui.TestRunner.run() method..."); junit.textui.TestRunner.run(TestCongTruNhan.class); } }
Thng thng chng c th b qua phng thc tearDown() v mi unit test ring khng phi l nhng tin trnh chy tn nhiu thi gian, v cc i tng c thu dn khi JVM thot. tearDown() c th c s dng khi test ca bn thc hin nhng thao tc nh m kt ni n c s d liu hay s dng cc loi ti nguyn khc ca h thng v bn cn phi dn dp ngay lp tc. Nu chung chy mt b bao gm mt s lng ln cc unit test, th khi bn tr tham chiu ca cc i tng n null bn trong thn phng thc tearDown() s gip cho b dn rc ly li b nh khi cc test khc chy i khi bn mun chy vi on m khi to ch mt ln, sau chy cc phng thc test, v bn ch mun chy cc on m dn dp ch sau khi tt c test kt thc. phn trn, JUnit gi phng thc setUp() trc mi test v gi tearDown() sau khi mi test kt thc, v th lm c iu nh trn, chng ta s s dng lp junit.extension.TestSetup t c yu cu trn. V d sau s minh ha vic s dng lp trn CODE

import junit.extensions.TestSetup; import junit.framework.*; public class TestPerson extends TestCase { public TestPerson(String name) { super(name); } public void testGetFullName() { Person p = new Person("Aidan", "Burke"); assertEquals("Aidan Burke", p.getFullName()); } public void testNullsInName() { Person p = new Person(null, "Burke");

116

assertEquals("? Burke", p.getFullName()); p = new Person("Tanner", null); assertEquals("Tanner ?", p.getFullName()); } public static Test suite() { TestSetup setup = new TestSetup(new TestSuite(TestPerson.class)) { protected void setUp() throws Exception { //Thc hin cc on m khi to mt ln y } protected void tearDown() throws Exception { //Thc hin cc on m dn dp y } }; return setup; } }
TestSetup l mt lp tha k t lp junit.extension.TestDecorator, Lp TestDecorator l lp c s cho vic nh ngha cc test bin th. L do chnh m rng TestDecorator l c c kh nng thc thi on m trc v sau khi mt test chy. Cc phng thc setUp() v tearDown() ca lp TestSetup c gi trc v sau khi bt k Test no c truyn vo constructor, Trong v d trn chng ta truyn mt tham s c kiu TestSuite vo constructor ca lp TestSetup TestSetup setup = new TestSetup(new TestSuite(TestPerson.class)) iu ny c ngha l 2 phng thc setUp() c gi ch mt ln trc ton b b test v tearDown() c gi ch mt ln sau khi cc test trong b test kt thc.

Ch : cc phng thc setUp() v tearDown() bn trong lp TestPerson vn c thc thi trc v sau mi phng thc test bn trong lp TestPerson. To test class v to b test Test cc chc nng ca mt lp
Bn mun vit cc unit test vi JUnit. Vic u tin bn phi to mt lp con tha k t lp junit.framework.TestCase. Mi unit test c i din bi mt phng thc testXXX() bn trong lp con ca lp TestCase

Ta c mt lp Person nh sau: CODE public class Person { private String firstName; private String lastName; public Person(String firstName, String lastName) { if (firstName == null && lastName == null) { throw new IllegalArgumentException("Both names cannot be null"); } this.firstName = firstName;

117

this.lastName = lastName; } public String getFullName() { String first = (this.firstName != null) ? this.firstName : "?"; String last = (this.lastName != null) ? this.lastName : "?"; return first + last; } public String getFirstName() { return this.firstName; } public String getLastName() { return this.lastName; } } Sau ta s vit mt test case n gin test mt s phng thc ca lp trn: CODE import junit.framework.TestCase; public class TestPerson extends TestCase { public TestPerson(String name) { super(name); } /** * Xac nhan rang name duoc the hien dung dinh dang */ public void testGetFullName() { Person p = new Person("Aidan", "Burke"); assertEquals("Aidan Burke", p.getFullName()); } /** * Xac nhan rang nulls da duoc xu ly chinh xac */ public void testNullsInName() { Person p = new Person(null, "Burke"); assertEquals("? Burke", p.getFullName()); p = new Person("Tanner", null); assertEquals("Tanner ?", p.getFullName()); } }
Lu : mi unit test l mt phng thc public v khng c tham s c bt u bng tip u ng test. Nu bn khng tun theo quy tc t tn ny th JUnit s khng xc nh c cc phng thc test mt cc t ng.

118

bin dch TestPerson, chng ta phi khai bo gi th vin junit trong bin ng mi trng classpath

set classpath=%classpath%;.;junit.jar javac TestPerson T chc cc test vo cc test suite


Thng thng JUnit t ng to ra cc Test Suite ng vi mi Test Case. Tuy nhin bn mun t to cc Test Suite ca ring mnh bng cch t chc cc Test vo Test Suite. JUnit cung cp lp junit.framework.TestSuite h tr vic to cc Test Suite Khi bn s dng giao din text hay graphic, JUnit s tm phng thc sau trong test case ca bn trn, JUnit s s dng k thut reflection t ng xc nh tt c cc phng

public static Test suite() { }


Nu khng thy phng thc thc testXXX() trong test case ca bn, ri thm chng vo mt test suite. Sau n s chy tt c cc test trong suite ny. Bn c th to ra bn sao hnh vi ca phng thc suite() mc nh nh sau:

public class TestGame extends TestCase{ public static Test suite() { return new TestSuite(TestGame.class); } }
Bng cch truyn i tng TestGame.class vo construtor TestSuite, bn ang thng bo cho JUnit bit xc nh tt c cc phng thc testXXX() trong lp v thm chng vo suite. on m trn khng lm khc g so vi vic JUnit t ng lm, tuy nhin bn c th thm cc test c nhn ch chy cc test nht nh no hay l iu khin th t thc thi CODE

import junit.framework.*; public class TestGame extends TestCase { private Game game; private Ship fighter; public TestGame(String name) { super(name); } public static Test suite() { TestSuite suite = new TestSuite(); suite.addTest(new TestGame("testCreateFighter")); suite.addTest(new TestGame("testSameFighters")); return suite; } }

119

Bn c th kt hp nhiu suite vo cc suite khc. Bn c ra y s dng mu Composite. V d: public static Test suite() { TestSuite suite = new TestSuite(TestGame.class); suite.addTest(new TestSuite(TestPerson.class)); return suite; }
By gi khi bn chy test case ny, bn s chy tt c cc test bn trong lp TestGame v lp TestPeson Chy cc Test lp i lp li Trong mt vi trng hp, chng ta mun chy mt test no lp i lp li nhiu ln o hiu sut hay phn tch cc vn trc trc. JUnit cung cp cho chng ta lp junit.extension.RepeatedTest lm c iu ny. Lp RepeatedTest gip chng ta thc hin iu ny mt cch d dng CODE public static Test suite() { //Chy ton b test suite 10 ln return new RepeatedTest(new TestSuite(TestGame.class), 10); } Tham s u tin ca RepeatedTest l mt Test cn chy, tham s th 2 l s ln lp li. V TestSuite ci t interface Test nn chng ta c th lp li ton b test nh trn. Tip theo l v d m t cch xy dng mt test suite m trong cc test khc nhau c lp i lp li khc nhau: CODE public static Test suite() { TestSuite suite = new TestSuite(); //Lp li testCreateFighter 100 ln suite.addTest(new RepeatedTest(new TestGame("testCreateFighter"), 100)); //Chy testSameFighters 1 ln suite.addTest(new TestGame("testSameFighters")); //Lp li testGameInitialState 20 ln suite.addTest(new RepeatedTest(new TestGame("testGameInitialState"), 20); return suite; } Test cc Exception Phn tip n chng ta s xem xt n mt phn test cng quan trng khng km trong lp trnh l test cc exception. Chng ta s dng cp t kha try/catch bt cc exception nh mong i, chng ta s gi phng thc fail() khi exception chng ta mong i khng xy ra. Trong v d sau, constructor ca lp Person nn tung ra IllegalArgumentException khi c 2 tham s ca n u mang gi tr null. Test s tht bi nu n khng tung ra exception. CODE public void testPassNullsToConstructor() { try { Person p = new Person(null, null);

120

fail("Expected IllegalArgumentException because both args are null"); } catch (IllegalArgumentException expected) { //B qua phn ny khng x l v c ngha l test c chp nhn } }
Ni chung bn ch nn s dng k thut ny khi bn mong i mt exception xy ra. i vi cc iu kin li khc bn nn exception chuyn sang cho JUnit. Khi JUnit s bt ly v tng trnh 1 li test. Thc hin kim th S kim th S sau biu din cch test chng trnh:

(2) Chng trnh Test

(3) Chng trnh th nghim

(4) Kt qu

(1) Junit Junit: Tool dng test. D n ny s dng b tool Junit 4.0 Chng trnh Test Chng trnh th nghim:Vit mt TestCase test chng trnh trn. Kt qu: Sau khi kim th chng trnh xong th s a ra kt qu l chng trnh ng hay sai. II.3.2.Lp k hoch kim th Bc 1: u tin, ta phi to ra mt d n. Bc 2: Add Junit 4.0 vo th mc cha ng dn ca chng trnh. Bc 3: M chng trnh Test v to TestCase cho chng trnh. Bc 4: Chy chng trnh II.3.3. Qu trnh kim th Bc 1: Khi to d n: Chy Eclipse, chn ng dn cha d n, nn chn ng dn d nh sau ny Add Junit 4.0 vo ng dn ca chng trnh
(1) (2) (3) (4)

121

Tip theo, ta to mt d n lu chng trnh test v chng trnh kim th.T menu chng trnh, chn File New Java Project.

ca s hin ra, bn t tn cho d n ca mnh.

122

Tip tc, bn nhn nt Next.Chng trnh s hin ra nh bn di:

n y, ta phi add tool Junit vo chng trnh tin hnh kim th.

123

Bc 2: Add Junit 4.0 vo th mc cha ng dn ca chng trnh Trc tin, chng ta phi copy junit 4.0 vo th mc ca chng trnh

Chn th Libraries, chn Add External Jars add junit 4.0 v chng trnh

Sau khi add junit 4.0 th chng trnh c hnh nh bn di.Nhn nt Finish kt thc giai on thm junit vo chng trnh.

124

Bc 3: M chng trnh Test v to TestCase cho chng trnh.

Trc tin, bn phi copy chng trnh test vo ng dn ca d n.

T menu chng trnh, chn File

Open File m chng trnh Test.

125

Chng ta tip tc to TestCase cho chng trnh test. T menu chng trnh, chn File New JUnit Test Case. ca s hin ra, chng trnh t to ra tn test case, vi tn c phn u trng vi tn ca lp cn test v phn cui thm ui Test. Trong ca s ny, bn check vo hai phng thc setUp() v tearDown().

Sau khi thc hin xong th ta nhn nt Next chn phng thc cho chng trnh. i vi chng trnh ny, chng ta check vo cc phng thc c minh ha bng hnh di:

126

Nhn nt Finish, chng trnh s c hnh nh bn di. Tip theo chng ta s vit TestCase da trn nhng phng thc h tr ca Junit test chng trnh.

Bc 4: Chy chng trnh Sau khi to v vit TestCase cho chng trnh Test, chng ta s chy chng hoc nhn F5.Nu chng trnh kim th. T menu chng trnh, nhn nt trnh test khng c li th chng trnh s th hin mt mu xanh, th hin s th thnh cng.

127

Nu chng trnh Test b li th Junit s hin th mt mu , bo hiu chng trnh b li. ng thi, chng trnh cn ch r phng thc hay lp no b li.

128

CHNG 8: C LNG GI THNH PHN MM

8.1.

Gii thiu

Trong chng trc, ti gii thiu v qu trnh lp k hoch cho d n, nhng cng vic ca d n c chia thnh cc hot ng ring bit. S tho lun sm v vic lp k hoch cho d n tp trung vo vic miu t cc hot ng, s ph thuc v s phn phi ca con ngi thc hin cc nhim v. Trong chng ny, ti mun ni n vn kt hp c lng ca s c gng v thi gian vi cc hot ng ca d n. S c lng bao gm tr li cc cu hi sau:

1. Bao nhiu c gng c yu cu hon thnh mi hot ng. 2. Bao nhiu thi gian cn thit hon thnh mi hot ng. 3. Tng gi tr ca mi hot ng.
c lng chi ph d n v lp k hoch cho d n thng c tin hnh cng nhau. Chi ph ca s pht trin l chi ph chnh trong cc th bao gm, do s tnh ton c s dng l trong c c on chi ph v c on lch trnh. Tuy nhin, bn c th phi lm mt s s c lng chi ph trc khi lch trnh c i vo c th. S c lng khi u c th s dng l ngn sch cho d n hoc tp gi tr phn mn cho khch hng.

C ba tham s trong s tnh ton tng chi ph ca d n pht trin phn mn:

Chi ph phn cng v phn mn k c bo dng. Chi ph i li v o to. Chi ph cho k s (Chi ph chi tr chi k s phn mn).

Hu ht cc d n, chi ph ch yu l chi ph cho k s. My tnh m n mnh cho pht trin phn mn l phi tng i r. Mc d chi ph cho s i li c th cn thit khi d n c pht trin cc a im khc nhau, chi ph i li thng ch l mt phn nh so vi chi ph cho k s. Hn na, s dng cc h thng giao tip in t nh th in t, cc trang web v hi ngh trc tuyn c th lm gim ng k yu cu cho s i li. Hi tho in t cng c ngha l thi gian i li gim v c th c nng xut cao hn cho vic pht trin phn mn. Trong mt d n, ni ti lm vic, to ra tt c cc hi tho trc tuyn thay v cc hi tho gp mt trc tip, gim c chi ph i li v thi gian n 50%. Chi ph cho k s khng hn l lng ca cc k s phn mn m h c trong d n. T chc tnh ton chi ph cho k s trong nhm da trn tt c chi ph m h c c thc hin d n v chia n cho s lng nng sut nhn vin. Do , cc chi ph sau y l tt c cc thnh phn ca chi ph cho k s.

1. Chi ph cho iu kin nhit , nh sang ca cng s. 2. Chi ph h tr nhn vin nh nhn vin k ton, nh qun tr, ngi qun l h thng, ngi dn dp, v cc k thut vin. 3. Chi ph kt ni mng v giao tip 4. Chi ph cho nhng trung tm to iu kin tt cho lm vic nh th vin hay ni gii tr.

129

5. Chi ph cho s bo v chung v li ch cho ngi lm vic nh tin tr cp v bo him sc kho.


Chi ph chnh thng t nht bng hai ln lng ca k s phn mn, ph thuc v kch thc t chc v s kt hp ca n. V th, nu mt cng ty tr chi k s phn mn 90.000 bng/Nm th tng chi ph t nht l 180.000 Bng/Nm hay 15.000 bng/Thng. Khi mt d n ang c thc hin, ngi qun l d n nn thng xuyn v u n cp nht c lng chi ph v lch trnh. iu ny gip cho vic lp k hoch cho tin trnh v vic s dng hiu qu ti nguyn. Nu thc s c s tiu dng vt ng k so vi d tnh, th ngi qun l d n phi c mt s hnh ng. N c th bao gm vic tng ngn sch cho d n hoc sa i li cng vic cho n tr nn ng n. D ton phn mn nn c thc hin khch quan vi mc ch d on chnh xc chi ph pht trin phn mn. Nu chi ph d n c tnh ton nh gi khch hng phi tr cho d n, th vic quyt nh nh gi l vic t gi cho khch hng. Gi c n gin l chi ph cng vi li nhun. Tuy nhin, mi quan h gia chi ph d n v gi chi khch hng thng khng n gin. Vic nh gi cho phn mn phi bao gm c t chc, kinh t, chnh tr, thng mi, m n c th hin trong hnh 26.1. Bi vy, n c th khng ch l s quan h n gin gia gi c khch hng phi tr cho d n v chi ph pht trin d n. Bi v bao gm nhiu l do trong t chc, vic nh gi d n nn c s gp mt ca nhng nh qun l kinh nghim ( c nhng quyt nh chin lc). V d, mt cng ty phn mn nh phc v du thu 10 k s hi u nm, nhng ch c nhng hp ng trong lnh vc m n yu cu 5 thnh vin trong vic m rng nhn vin. Tuy nhin, l s tr gi cho nhng hp ng rt ln vi cng ty du ln m n yu cu 30 ngi lm vic c gng trong 2 nm. D n s khng th bt u sau 12 thng, v nh th iu s thay i ti chnh ca cng ty nh. Cng ty cung cp du c c hi tr gi cho d n m n yu cu 6 ngi v phi hon thnh trong 10 thng. Chi ph ( bao gm tt c trong d n) c c tnh l 1.2 triu . Tuy nhin, tng kh nng cnh tranh, cng ty cung cp du nh gi cho khch hng l 0.8 triu . iu c ngha l, mc d mt tin trong hp ng ny, nhng n d c nhng chuyn vin hu ch cho nhng d n trong tng lai.

Hnh 8.1 Nhn t nh hng gi phn mn Nhn t C hi trong th trng Din t Mt t chc pht trin c th t mt mc gi thp bi v n mong mun chuyn ti mt giai on mi trong th trng phn mn. Chp nhn mt mc li thp trong mt d n c th cho t chc c hi c li nhun ln hn trong tng lai, v vn kinh nghim thu c c th s rt hu ch trong tng lai. Nu mt t chc khng dm chc v s c tnh chi ph, iu c th lm gia tng gi thnh bi mt s s c bt ng. Nu cc yu cu c kh nng thay i, mt t chc c th gim gi thnh c c hp ng. Sau , li tng gi thnh thay i

S khng chc chn ca vic c lng chi ph Nhng yu cu d thay i.

130

cc yu cu. Tnh trng ti chnh Nh pht trin trong s kh khn ti chnh c th gim gi thnh t c hp ng. iu tt hn to ra cc li nhun nh hn l bnh thng hoc s khng th tip tc kinh doanh.

8.2.

Nng sut phn mn

Bn c th tnh ton nng sut trong h thng bng cch m s lng cc n v c sn xut v chia chng cho lng thi gian yu cu lm ra chng. Tuy nhin, vi bt k vn phn mn no, s c nhiu gii php khc nhau, mi trong s chng li c nhng tnh cht khc nhau. Mt gii php c th thc hin mt cch hiu qu trong khi nhng ci khc li c th d c v d bo tr. Khi nhng gii php vi nhng thuc tnh khc nhau c a ra, vic so snh chng thng khng c tht nhiu ngha. Tuy nhin, l mt nh qun l d n, bn c th phi i mt vi vn v c lng nng xut ca k s phn mn. Bn c th cn s c lng ny gip a ra chi ph cho d n v lp lch trnh, quyt nh s u t hoc nh gi pht trin qu trnh v k thut thm hiu qu. c lng nng xut thng c c s da trn vic tnh ton cc thuc tnh ca phn mn v chia chng cho tng s c gng yu cu cho vic pht trin. C hai loi thang o c s dng: 1.
Thc o lin quan n kch thc l s lin quan n kch thc mt s u ra t mt s hot ng. Ci chung nht trong thc o ny l cc ng phn chia m ngun. Cc thc o khc c th s dng s lng ca phn chia lnh m mc tiu hoc s lng ca cc trang ca ti liu h thng. Thc o lin quan n hm l s lin quan n tng th cc chc nng trong s phn chia phn mn. Nng xut gii hn bi s lng chc nng hu dng c s dng trong thi gian hn nh. im hm v im mc tiu l iu quan trng nht trong loi thc o ny.

2.

Cc ng m ngun / lp trnh vin-thng ( Lines of source code per programmermonth LOC/pm) c s dng rt nhiu trong vic o nng sut phn mn. Bn c th tnh ton LOC/pm bng cch m tng s ng m ngun m n c phn chia, sau chia n cho tng thi gian lm vic ca lp trnh vin trong mt thng yu cu hon thnh d n. Thi gian ny v th bao gm tt c cc hot ng yu cu (Nhu cu, thit k, vit m, kim tra v dn chng t liu) cn thit trong vic pht trin phn mn. iu tin gn n s pht trin u tin khi hu ht cc chng trnh c lp bng FORTRAN, hp ng hoc COBOL. Sau , cc chng trnh nh mt loi th, vi mi cu lnh trn mt th. S lng ca m d dng m c: N tng ng vi s lng ca cc th trong chng trnh. Tuy nhin, cc chng trnh trong cc ngn ng nh JAVA hoc C++ bao gm cc khai bo, cc cu lnh v cc ch thch. N c th cng bao gm cc macro lnh m n m rng thm vi dng trong on m. N cng c th c nhiu hn mt cu lnh trn mt dng. V th, quan h n gin gia cc lnh chng trnh v cc dng trong danh sch.

131

So snh nng sut thng qua ngn ng lp trnh c th cng mc cc sai lm do cm gic v nng sut chng trnh. Cc ngn ng lp trnh cng cao th cng kh xc nh nng sut. iu khng bnh thng ny ny sinh bi v tt c cc hot ng pht trin phn mn u c tnh ton n trong khi tnh ton thi gian pht trin, nhng thang o LOC ch p dng cho qu trnh lp trnh. V th, nu mt ngn ng yu cu nhiu dng hn cc ci khc b sung cng mt chc nng, vic c lng nng sut s tr nn bt thng. V d, xem xt mt h thng ghi thi gian thc n c th c m trong 5000 dng trong hp ng hoc 1500 dng trong C. Thi gian pht trin cho cc mt khc nhau c din t trong hnh 8.2. Ngi lp trnh hp ng c nng sut l 714 dng/thng v ngi lp trnh ngn ng bc cao th t hn mt na l 300 dng/thng. Vo lc ny chi ph pht trin cho pht trin h thng trong C l thp hn v n c pht biu sm. Hnh 8.2 Thi gian pht trin h thng Phn tch Hp ng Ngn ng cp cao 3 tun 3 tun Kch thc Hp ng Ngn ng cp cao 5000 dng 1500 dng Thit k 5 tun 4 tun Vit m 8 tun 4 tun Thi gian lm 28 tun 20 tun Kim tra 10 tun 6 tun Bo co 2 tun 2 tun Nng sut 714 dng/thng 300 dng/thng

Cch khc s dng kch c m nh vic c lng thuc tnh sn phm l s dng cc tnh ton chc nng ca m. iu ny trnh cc bt thng nu trn, nh cc chc nng l c lp vi ngn ng b sung. MacDonell (MacDonell, 1994) m t ngn gn v so snh vi tnh ton v cc hm c bn. Hiu bit tt nht v tnh ton ny l vic m im-hm. N c trnh by bi Albrecht (Albrecht, 1979) v c sa li bi Albrecht v Gaffney (Albrecht v Gaffney, 1983). Garmus v Herron (Garmus v Herron, 2000) m t thc tin s dng im-hm trong cc d n phn mn. Nng sut thng qua im-hm l s b sung ca ngi lm vic trn thng. im hm khng ch l c im m l s tnh ton mt vi s o c v c lng. Bn tnh tng s im-hm trong chng trnh bng cch o hoc c lng cc c im sau ca chng trnh:

Giao tip vo v ra S dng tng tc Giao din giao tip Vn bn s dng trong h thng

Hin nhin, mt s u vo v u ra, cc tng tc, l nhng th phc tp v tn nhiu thi gian hn b sung. Thc o im-hm a vo bo co bng cch nhn im-hm khi to vi h s-phc tp-tc dng. Bn nn c nh mi trong cc c im cho s phc tp v sau gn h s tc dng t 3 (cho giao tip u vo n gin) ti 15 cho cc vn bn ni b phc tp. C th la chn gi tr tc dng sut bi Albrecht hoc cc gi tr c s trong kinh nghim s dng.

132

Sau bn c th tnh ton ci gi l m im hm khng thch ng (unadjusted function-point count-UFC) bng cch nhn mi gi tr khi to vi c lng tc dng v cng tng tt c cc gi tr. UFC = (s lng ca cc thnh phn c kiu nht nh)*(h s tc dng) Bn c th thay i UFC bng cch thm vo h s phc tp m n gn vi phc tp ca ton b h thng. iu ny a vo bo co mc phn b tin trnh, tng s dng li, hiu sut, m im hm khng thch ng (UFC) c nhn vi h s phc tp d n a ra im hm cho ton b h thng. Symons (Symons, 1988) ch rng c lng phc tp bng cch m imhm trong chng trnh ph thuc vo ngi a ra c lng. Con ngi khc nhau s c nhng nim khc nhau v phc tp. V th s a dng trong vic m im-hm ph thuc vo quyt nh ca ngi c lng v kiu ca h thng c pht trin. Hn th na, im hm thng c xu hng v h thng s l d liu m n b chi phi bi cc ton t vo v ra. V tht kh c lng im hm cho cc h thng hng s kin. V l do , mt s ngi ngh im hm l khng thc s thch hp tnh ton nng sut phn mn (Furey v Kitchenham, 1997; Armour, 2002). Tuy nhin, ngi s dng im hm tranh lun gy gt rng l mt cch hiu qu trong thc tin (Banker, 1993,Garmus v Herron, 2000) im mc tiu (Banker,,1994) l mt kh nng khc ca im hm. Chng c th c s dng vi cc ngn ng nh cc ngn ng lp trnh c s d liu, ngn ng kch bn. im mc tiu khng phi l lp mc tiu m n c th sn xut khi tin gn nh hng mc tiu c a li trong s pht trin phn mn. S lng ca im hm trong chng trnh l vic c lng tc dng ca: 1.
S lng cc mn nh ring bit c hin th mt mn hnh n c coi nh mt im mc tiu, cc mn nh phc tp va phi c m l 2, v cc mn nh rt phc tp c m l 3. S lng cc bin bn c a ra cho mt bin bn n l m thm 2 im mc tiu, cho cc bin bn phc tp va phi l 5 v cc bin bn rt kh a ra l 8. S lng cc modul trong cc ngn ng lp trnh bt buc nh Java hoc C++ m n phi c pht trin b xung cho m lp trnh c s d liu mi trong cc modul c m 10 im mc tiu.

2.

3.

im mc tiu c s dng trong m hnh c lng COCOMO II (c gi l im ng dng) c ni n trong cc chng sau. Li th ca im mc tiu hn im hm l n d rng hn c lng cho cc chi tit k thut phn mn cp cao. im mc tiu thng ch lin quan n cc mn hnh, bin bn v cc modul trong cc ngn ng lp trnh. N thng khng lin quan n cc chi tit b xung, v cc c lng h s phc tp l n gin. Nu im hm hoc im mc tiu c s dng, chng c th c c lng trong giai on sm ca qu trnh pht trin trc khi quyt nh nh hng n kch thc chng trnh c to ra. c lng cc thng s c th lm cng giao tip tng tc ca h thng khi c thit k.Trong giai on ny, l rt kh a ra kch thc ca chng trnh v s dng ca m ngun. im hm v im mc tiu c th c s dng kt hp vi m hnh c lng s dng ca m. Kch thc m cui cng c tnh ton t s lng im hm. S dng phn tch d liu lch s, s lng dng trung bnh ca m, AVC, trong cc ngn ng ring

133

bit b xung cc im hm c th c lng c. Gi tr ca AVC thay i t 200 n 300 LOC/FP trong hp ng, t 2 n 40 LOC/FP trong ngn ng lp trnh c s d liu nh SQL. c lng kch thc m cho ng dng mi c tnh ton nh sau: Kch thc m = AVC*s lng im hm. Nng sut lp trnh trong lm vic c nhn trong t chc l ph thuc vo nhiu yu t. Mt s trong cc yu t quan trng c a ra trong hnh 26.3. Tuy nhin, c nhn khc nhau trong kh nng thng c nhiu ngha hn bt k nhn t no. Trong s c nh sm ca nng xut, Sackman (Sackman, 1968) tm thy mt s lp trnh vin m h c nng xut gp hn 10 ln so vi nhng ngi khc. Kinh nghim ca ti cho thy iu ny vn ng. Nhng nhm ln thng c kh nng ho hp kh nng v kinh nghim v s c c nng sut trung bnh. Trong nhng nhm nh, tuy nhin, nng sut chung thng ph thuc rt nhiu vo cc kh nng v nng khiu c nhn. Hnh 8.3 Cc nhn t nh hng n nng sut thit k phn mn. Nhn t Kinh nghim min ng dng Cht lng qu trnh Kch thc d n M t Hiu bit v min ng dng l cn thit pht trin phn mn hiu qu. Nhng k s hiu v min thng lm vic c hiu qu cao. S dng qu trnh pht trin c th c hiu qu c bit trong nng sut. iu ny c ni n trong Chng 28 Mt d n ln s cn nhiu thi gian hn yu cu cho vic giao tip trong nhm. t thi gian c th s dng cho vic pht trin dn n suy gim nng sut c nhn. H tr k thut tt nh cng c CASE v h thng t chcqun l cu hnh c th tng nng sut. Nh tho lun trong Chng 25, mt mi trng lm vic yn tnh vi vng lm vic ring gp phn nng cao nng sut.

H tr k thut Mi trng lm vic

Nng sut pht trin phn mn thay i nhanh chng gia min ng dng v cc t chc. Vi h thng ln, phc tp, nng sut c c lng di 30 LOC/pm. Vi nhng h thng ng dng d hiu, vit bng ngn ng nhu Java, n c th cao hn 900 LOC/pm. Khi tnh ton gii hn ca im hm Boehm (Boehm,1995) xut nng sut thay i t 4 im hm trn thng n 50 trn thng, ph thuc vo kiu ng dng, cng c h tr v kh nng pht trin. Vn vi php o m n ph thuc vo s lng sn phm trong thi gian hn nh l n a vo bo co v c im cht lng c th duy tr v ng tin cy. Beck (Beck, 2000) trong tho lun ca ng v lp trnh, to im xut sc v s c lng. Nu cch tip cn ca bn l c s cho vic n gin m v pht trin, do vic n dng trong m khng cn nhiu ngha. Php o cng khng a vo bo co kh nng s dng li cc sn phm phn mn, s dng nhng m c sn v cc cng c khc to ra phn mn. L mt nh qun l, bn khng nn s dng vic tnh ton nng sut c nhng quyt nh vi vng v kh nng ca k s trong nhm ca bn. Nu bn lm, k s c th tho hip v cht lng trong k hoch tr nn hiu qu hn. N c th tr thnh trng

134

hp m ngi lp trnh km hiu qu a ra m ng tin cy hn m m d dng hiu v c th duy tr khng tn km. V th, bn nn lun ngh v o nng sut nh cung cp cc thng tin khng hon chnh v nng sut ca lp trnh vin. Bn cng nn quan tm n cc thng tin khc v cht lng ca chng trnh h lm ra.
8.3. K thut c lng

Khng c cch n gin no to ra c lng mt cch chnh xc cho h thng pht trin phn mn. Bn c th phi to ra c lng khi to trn nn tng ca nh ngha yu cu ngi dng cp cao. Phn mn c th phi thc thi trong cc my tnh l hoc s dng k thut pht trin mi. Nhng ngi trong d n v k nng ca h c th s khng c bit n. Tt c nhng trn l khng th c lng chi ph pht trin h thng mt cch chnh xc trong giai on u ca d n. Hn th na, l ci kh c bn trong vic nh gi ng n ca cc cch tip cn khc nhau n k thut c lng chi ph. S c lng c dng xc nh ngn sch d n, v sn phm s c iu chnh hp l. Ti khng bit g v cc cuc th nghim iu khin vi vic nh gi d n ni m c lng chi ph khng c s dng trong th nghim. Cuc th nghim iu khin s khng bc l c c lng chi ph cho ngi qun l d n. Chi ph trn thc t s c so snh vi chi ph c lng. Tuy nhin, nh mt cuc th nghim l c th khng kh thi bi v bao gm chi ph cao v s lng c th thay i l khng th iu khin. Tuy nhin, t chc cn phi to ra s c gng trong phn mn v c lng chi ph. lm vic , cc k thut c a ra trong hnh 8.4 c th c s dng (Boehm, 1981). Tt c cc k thut u da trn nn tng kinh nghim quyt nh bi nhng ngi qun l d n m h s dng hiu bit ca h xem xt d n v c lng ti nguyn yu cu cho d n. Tuy nhin, c th c nhng khc bit quan trng gia d n qu kh v tng lai. Rt nhiu phng thc v k thut pht trin mi c gii thiu sau 10 nm. Mt s th d nh hng n c s c lng trong nhim v bao gm: 1. Phn phi cc h thng mc tiu hn l h thng chung. 2. S dng dch v web. 3. S dng ERP hoc cc h thng trung tm c s d liu 4. S dng cc phn mn khng bo v hn l pht trin h thng ngun. 5. Pht trin cng vi vic s dng li hn l pht trin mi tt c cc thnh phn ca h thng. 6. Pht trin s dng cc ngn ng kch bn nh TCL hoc Perl (Ousterhout, 1998) 7. S dng cng c CASE v ngi vit chng trnh hn l pht trin h thng khng c h tr. Hnh 8.4 K thut c lng chi ph. K thut M hnh ho chi ph gii thut M t M hnh c pht trin s dng thng tin chi ph trong qu kh m n gn vi mt s thc o phn mn (thng l kch c ca n) tnh chi ph d n. S c lng c to bi thc o v m hnh ny cho bit trc cc yu cu cn thit.

135

S phn quyt ca chuyn gia

Mt s chuyn gia xut k thut pht trin phn mn v min ng dng tham kho. Mi ngi c cc c lng chi ph d n. Chng c a ra so snh v tho lun. Qu trnh c lng c nhc li n khi c tn thnh v tr nn hp l. K thut ny c p dng khi cc d n khc c cng min ng dng hon tt. Chi ph ca d n mi c c lng bng cch loi suy vi cc d n hon thnh. Myers (Myers, 1989) a ra s m t rt chi tit v phng hng ny Trng thi ng nh c m rng lp y thi gian c th s dng. Chi ph c n nh bi ti nguyn c th s dng hn l nh gi mc tiu. Nu phn mm c phn phi trong 12 thng v 5 ngi c th s dng, th yu cu c c lng. Chi ph phn mm c c lng cho bt k khch hng no c th tr tin cho d n. Chi ph cho s c gng ph thuc vo ngn sch ca khch hng ch khng ph thuc vo chc nng phn mn.

c lng bng cch loi suy S ng nh

nh gi chin thng

Nu nhng nh qun l khng lm vic v k thut, s xem xt kinh nghim c th khng gip g c h trong vic c lng chi ph d n phn mn. iu ny to ra kh khn cho h trong vic a ra c lng chi ph v lch trnh chnh xc. Bn c th khc phc cc phng hng c lng trong hnh 8.4 s dng hoc t phng php t trn xung hoc t di ln. Phng php t trn xung bt u t cp h thng. Bn bt u vi vic kho st cc chc nng ca sn phm v lm th no cung cp cc chc nng ny bng cc hm con. Chi ph ca cc hot ng cp h thng coi nh s s qun l tch hp, cu hnh v hng dn trong bo co. Ngc li, phng php t di ln. bt u t cp cc thnh phn. H thng c phn tch thnh cc thnh phn, v bn c lng cc yu cu pht trin cho mi thnh phn. Sau bn cng cc chi ph thnh phn tnh ton yu cu cho pht trin ton b h thng. S bt li ca phng php t trn xung li l s thun li ca phong php t di ln v ngc li. c lng t trn xung c th nh gi thp chi ph ca vic gii quyt lin kt cc vn k thut kh vi tng phn ring bit nh l giao din ca phn cng khnng chun. Khng c s chng minh c th no ca php c lng c a ra. Ngc li, c lng t di ln c s chng minh v quan tm ti mi thnh phn. Tuy nhin, phng php ny li c th nh gi thp chi ph cc hot ng ca h thng nh s tch hp. c lng t di ln cng t hn, n phi c khi to thit k h thng nhn bit chi ph ca cc thnh phn. Mi phng php c lng u c nhng im mnh v im yu. S dng mi thng tin khc nhau v cc d n v cc nhm pht trin, nu bn s dng n l mt phng php v cc thng tin ny th s khng chnh xc, c lng cui cng s b sai. V th, cho nhng d n ln, bn nn s dng mt vi k thut c lng v so snh kt qu ca chng. Nu kt qu l khc nhau v c bn, bn c th khng c thng tin v sn phm hoc qu trnh pht trin, ban nn tip tc qu trnh c lng cho n khi cc kt qu l ng nht.

136

Cc k thut c lng c p dng ni vn bn yu cu cho h thng c a ra. N nn xc nh tt c cc ngi dung v yu cu h thng. Do bn c th c nhng c lng hp l v chc nng ca h thng s c pht trin. Nhn chung, cc d n thit k h thng ln s c nhng vng bn yu cu. Tuy nhin, trong rt nhiu trng hp, chi ph ca nhiu d n phi c c lng s dng cc yu cu ngi dng khng tho ng cho h thng. iu c ngha l s c lng c rt t thng tin v cng vic. Phn tch yu cu v c th ho l t, v ngi qun l trong cng ty c th cn c cc c lng chi ph khi to cho h thng trc khi h c th chp nhn ngn sch pht trin cc yu cu c th hoc cc phin bn u tin ca h thng. Trng hp di cng, tr gi dnh chin thng l mt chin lc chung thng s dng. Ch ca vic tr gi dnh chin thng l n dng nh khng hp l v khng c tnh thng mi. Tuy nhin, n c mt s thun li. Chi ph ca d n c chp nhn trn c s mc ch trn nguyn tc chung. S iu chnh sau do khch hng thit lp cc c trng c bn ca d n. Cc chi tit ph thuc vo s chi ph chp nhn. Ngi mua v ngi bn phi ng ci g l chc nng h thng chp nhn c. S yu cu l c th thay i nhng chi ph l khng c vt qu. V d, mt cng ty tr cho mt hp ng pht trin h thng phn phi nhin liu cho cng ty du m lch phn phi nhin liu l ti cc chm phc v. Khng c vn bn yu cu c th no cho h thng v c lng chi ph l $900.000 nh l s cnh tranh ngn sch cc cng ty du. Sau s cng nhn nh vy trong hp ng, h m phn cc yu cu c th cho h thng v cc chc nng c bn c phn phi, sau h c lng thm cc chi ph cho cc yu cu khc. Cng ty du khng cn thit mt ci trn bi v n c hp ng. Cc yu cu thm c th dung cc ngn sch trong tng lai, v th ngn sch cng ty du c th b ph v bi ci gi phn mn khi im qu cao.
8.4. M hnh ho chi ph thut ton

M hnh ho chi ph gii thut s dng cc cng thc ton hc m t chi ph d n trn c s c lng da trn kch thc d n, s lng k s phn mn, v cc qu trnh v cc h s sn phn khc. M hnh chi ph gii thut c th xy dng bng cch phn tch chi ph v thuc tnh ca cc d n hon tt v tm kim cc cng thc gn nht t kinh nghim thc t. Cc m hnh chi ph gii thut s dng chnh to cc c lng ca chi ph phn mn, nhng Boehm (Boehm, 2000) tho lun v cc th khc s dng c lng chi ph gii thut, bao gm c lng cho ngi u t trong cng ty phn mn, c lng cho cc chin lc khc gip nh gi ri ro, v c lng cho khai bo cc quyt nh v vic s dng li, pht trin li hoc mn ti nguyn. Trong dng chung nht, c lng chi ph gii thut cho chi ph phn mn c th c coi nh: S c gng = A* (kch thc)B*M Trong , A l hng s ph thuc vo thc tin t chc v loi phn mn c pht trin. Kch thc c th l s nh gi kch thc m ca phn mn hoc c lng chc nng trong cc hm hoc im mc tiu. Gi tr ca s m B thng gia 1 v 1.5. M l s nhn qu trnh kt hp, sn xut v pht trin thuc tnh, c th ph thuc yu cu cho phn mn v kinh nghim ca nhm pht trin.

137

Hu ht cc m hnh c lng thut ton c thnh phn s m (B trong biu thc trn) n kt hp vi c lng kch thc. N phn nh trn thc t chi ph khng n thun ph thuc tuyn tnh v kch thc d n. Nh khi kch thc d n thay i, chi ph chu them l nhiu hn bnh thng v giao tip bao trm cc nhm ln, thm cc s qun l cu hnh phc tp, thm cc tch hp h thng kh khn, vn vn.V th, mt h thng ln c ngha l mt s m ln. Khng may l tt c cc m hnh thut ton ph thuc ch yu vo cc kh khn sau: 1. Thng kh c lng kch thc giai on u ca d n khi ch c cc c im k thut l c th s dng, c lng im hm v im mc tiu l c th a ra sm hn c lng kch thc ca m nhng thng khng chnh xc. 2. S c lng cc h s ng gp B v M l mang tnh ch quan. S c lng thay i khi ngi c lng thay i, ph thuc vo nn tng v kinh nghim vi kiu h thng c pht trin. S dng ca m ngun trong h thng phn phi l thc o c bn trong hu ht cc m hnh chi ph gii thut. c lng kch thc c th bao gm vic c lng loi suy t cc d n khc, c lng bng cch chuyn i cc im hm, mc tiu thnh kch thc m, c lng bng xp hng kch thc thnh phn h thng v cc thnh phn tham kho c lng kch thc thnh phn, hoc n c th n gin l cu hi ca s quyt nh trong thit k. c lng kch thc m chnh xc l kh trong giai on u ca d n bi v kch thc m chu nh hng bi cc quyt nh thit k m thm ch cha c lc ny. V d, mt ng dng m yu cu s qun l d liu phc tp c th s dng hoc cc c s d liu thng mi hoc cc cng c qun l d liu ca chnh h thng. Nu l cc c s d liu thng mi c s dng, kch thc m c th nh nhng s c gng cng them c th cn c vt qua gii hn hiu nng ca sn phm thng mi. Ngn ng lp trnh c s dng trong h thng pht trin cng nh hng s dng ca m c pht trin. Ngn ng nh Java c th phi mt nhiu dng m cn thit hn C khi s dng. Tuy nhin, m b xung cho php thi gian bin dch kim tra chi ph c kh nng c gim. a chng vo cc bo co th no? Hn th na, n c th s dng li c im s lng m t vic xem xt li cc d n v c lng kch thc c th c iu chnh a vo bo co. Nu bn s dng m hnh c lng chi ph thut ton, bn nn pht trin vic sp xp cc c lng (ti, bnh thng v tt) hn l cc c lng n v p dng cng thc chi ph cho tt c. Cc c lng c th tr nn chnh xc khi bn hiu v loi phn mn c pht trin, khi bn c s kim tra m hnh chi ph s dng cc d liu cc b, v khi ngn ng lp trnh v phn cng c chn la t trc. S chnh xc ca vic a ra c lng bng m hnh thut ton ph thuc vo thng tin h thng c th s dng. Nh vic xut pht qu trnh phn mn, nhiu trong tin tr nn c th s dng v s c lng tr nn chnh xc hn. Nu s c lng ban u cho s c gng l x thng, th dy ny c th t 0.25x n 4x khi h thng c a ra ln u. Gii hn ca qu trnh pht trin c a ra trong Hnh 8.5. Hnh ny c chch dn t bi vit ca Boehm (Boehm, 1995), phn nh kinh nghim ca s lng ln cc d n pht trin phn mn. Tuy nhin, trc ht n ph thuc h thng c phn phi, s c lng rt chnh xc c th c a ra.

138

Hnh 8.5 c lng khng chc chn

8.5.

M hnh COCOMO

Mt s cc m hnh thut ton c a ra nh l nn tng cho vic c lng s c gng, lch trnh v chi ph cho d n. Chng da trn nhng khi nim tng t nhng vi nhng gi tr tham s khc nhau. M hnh c tho lun y l m hnh COCOMO. M hnh COCOMO l m hnh theo kinh nghim nhn c t vic su tp d liu t mt lng ln cc d n phn mn. Cc d liu ny c phn tch thu v cng thc tt nht ph hp vi cc quan st. Cng thc lin kt kch thc ca h thng v sn phm, d n v cc nhn t trong nhm pht trin h thng. Ti chn m hnh COCOMO v mt s l do: 1. 2. 3. l mt t liu tt, c th s dng trong cc min chung v h tr bi cc mim chung v cc cng c thng mi. c s dng rng ri nh gi trong dy cc t chc. C s k tha lu di t nhng ci t u tin vo nm 1981 (Boehm, 1981), thng qua vic chn lc nhng th thch hp trong vic pht trin phn mn Ada (Boehm v Royce, 1989), n bn mi nht gn y COCOMO II, c ng nm 2000 (Boehm v cng s, 2000).

M hnh COCOMO l ton din, vi lng ln cc tham s. N rt phc tp v khng th m t hon ton y. Hn na, ti tho lun n thun v cc c im cn thit c th gip bn hiu v m hnh chi ph thut ton. Phim bn u tin ca m hnh COCOMO (COCOMO 81) l m hnh cp 3 l cp tng ng vi phn tch chi tit ca vic c lng chi ph. Cp u tin (c s) cung cp c lng th s u tin; Cp th 2 sa i n s dng mt s cc d n v qu trnh; v cp chi tit nht a ra s c lng cho nhiu phng din ca d n. Hnh 8.6 th hin cng thc COCOMO c bn cho cc loi khc nhau ca d n. S nhn M phn nh sn phm, d n v c im nhm.

139

phc tp d Cng thc n n gin Bnh thng PM=2.4(KDSI)1.05*M PM=3.0(KDSI)1.12*M

M t Cc ng dng d hiu pht trin bi cc nhm nh D n phc tp hn ni cc thnh vin c th c kinh nghim c gii hn trong cc h thng gn . D n phc tp ni phn mn l phn mnh trong nhm phc tp ca phn cng, phn mn, s iu chnh v cc th tc hot ng.

Phc tp

Pm=3.6(KDSI)1.20*M

COCOMO 81 gi s l phn mm c pht trin theo qu trnh thc nc ( xem Chng 4) s dng cc ngn ng lp trnh cn thit chun nh C hoc FORTRAN. Tuy nhin, n c thay i c bn cho vic pht trin phn mn t bn u tin c xut. T phin bn u tin v cc ci tin u dung cc m hnh qu trnh chung. Phn mn by gi thng c pht trin bi vic tp hp cc thnh phn c th dng li c vi cc h thng khng bo v v kt ni chng vi cc ngn ng kch bn. H thng d liu chuyn su c pht trin s dng ngn ng lp trnh c s d liu nh SQL v cc h thng qun l d liu thng mi. Cc phn mn c sn c thit k li to cc phn mn mi. Cng c CASE h tr cho cc hot ng qu trnh phn mn l c th s dng c. a s thay i vo trong bo co, m hnh COCOMO II tha nhn cc phng php khc nhau pht trin phn mm nh lm ra nguyn mu ngun, pht trin bng cc thnh phn kt cu v s dng lp trnh c s d liu. COCOMO II h tr m hnh son c ca s pht trin (xem Chng 4) v bao gm mt vi m hnh con m cung cp thm cc c lng chi tit. N c th c s dng trong mt lot cc s pht trin xon c. Hnh 8.7 th hin m hnh con COCOMO II v ni chng c s dng. Cc m hnh con m l mt phn ca m hnh COCOMO II l: 1.
M hnh kt cu ng dng N gi s rng h thng c to t cc thnh phn, kch bn hoc lp trnh c s d liu c th s dng li. N c thit k to c lng ca s pht trin nguyn mu. c lng kch thc phn mn l c s ca im ng dng, v cng thc kch thc/nng sut n gin c s dng c lng yu cu s c gng. im ng dng l gn ging im mc tiu c tho lun trong phn 8.1, nhng tn thay i trnh s ln xn vi mc tiu trong pht trin nh hng mc tiu. M hnh thit k sm M hnh ny c s dng trong giai on u ca thit k h thng sau khi cc yu cu c thnh lp. S c lng l c s ca im hm, n c chuyn i t s dng ca m ngun. Cng thc theo dng chun c tho lun trn vi tp hp c lm n gin ca 7 s nhn. M hnh s dng li l m hnh s dng tnh ton yu cu tch hp cc thnh phn c th s dng li v/hoc m chng trnh c t ng

2.

3.

140

to ra bng thit k hoc chng trnh thay i cng c. N thng c s dng trong lin kt vi cc m hnh kin trc. 4.
M hnh kin trc khi kin trc h thng c thit k, s chnh cc c lng ca kch thc phn mn c th c to ra. p li m hnh ny s dng cng thc chun cho c lng chi ph tho lun trn. Tuy nhin, n bao gm nhiu m rng tp hp 17 s nhn phn nh kh nng nhn vin, sn phm v c im d n.

Hnh 8.7 M hnh COCOMO II s lng im ng dng


C s trn

M hnh kt cu ng dng
C s trn

s dng cho

H thng nguyn mu c pht trin s dng kch bn, lp trnh c s d liu, Khi to c lng s c gng c s trn yu cu h thng v cc tu chn thit k C gng tch hp thnh phn s dng li hoc m t ng pht sinh. C gng pht trin trn c s c im thit k h thng

s lng im hm s lng dng m ti s dng hoc c pht sinh s lng dng ca m ngun

M hnh thit k sm
C s trn

s dng cho

M hnh ti s dng
C s trn

s dng cho

M hnh kin trc

s dng cho

Tt nhin, trong cc h thng ln, cc phn khc nhau c th c pht trin s dng cc k thut khc nhau, v bn c th khng phi c lng tt c cc phn ca h thng cng cp ca s chnh xc. Trong trng hp ny, bn c th s dng cc m hnh con thch hp cho mi phn ca h thng v kt hp kt qu thnh mt c lng hn hp.
8.5.1. M hnh kt cu ng dng.

M hnh kt cu ng dng c gii thiu trong vo COCOMO II h tr s c lng yu cu s c gng cho vic to nguyn mu d n v cho cc d n m phn mm c pht trin bi cc thnh phn c sn. l c s ca c lng im kh nng ng dng (im mc tiu) chia cho c lung chun ca nng sut im ng dng. S c lng sau c iu chnh theo s kh khn ca vic pht trin mi im mc tiu (Boehm v cng s, 2000) nng sut ngi lp trnh cng ph thuc vo kinh nghim ngi pht trin v kh nng nh l kh nng ca cng c CASE s dng h tr pht trin. Hnh 8.8 th hin nng sut im mc tiu xut bi ngi pht trin m hnh (Boehm v cng s, 1995). Kt cu ng dng thng bao gm vic s dng li phn mm, v mt s trong tng s im ng dng trong h thng c th tr thnh cng c vi cc thnh phn c th s dng li. Do , bn phi iu chnh c s c lng trong tng s im ng dng a vo bo co t l ca thnh phn s dng li. V th, cng thc cui cng cho vic tnh ton s n lc cho h thng nguyn mu l:

141

PM=(NAP*(1- %s dng li/100))/PROD PM l c lng n lc ca con ngi-thng. NAP l tng s ca im ng dng trong h thng phn phi. %s dng li l c lng ca tng s m s dng li trong s pht trin. PROD l nng sut im mc tiu c a ra trong hnh 8.8. M hnh gi thit l khng phi tn cng cho qu trnh s dng li ti nguyn.
8.5.2. M hnh thit k sm

M hnh ny c s dng trong yu cu ngi dng ng v giai on khi u ca qu trnh thit k h thng ang c thc hin. Tuy nhin, bn khng cn nhng thit k kin trc chi tit to s c lng ban u. Mc tiu ca bn trong giai on ny nn to cc c lng gn ng thch hp. Do , bn to nhng gi thit n gin a dng, nh s c gng bao gm trong vic tch hp m s dng li l bng khng. c lng thit k sm l thng c s dng trong cc kho st la chn ni bn cn so snh cc cch khc nhau ca cc cng c ngi dng yu cu. c lng c a ra trong giai on ny ly c s trn cng thc chun cho m hnh thut ton, c th l: S c gng = A*(kch thc)B*M Trn c s trong tp hp d liu ln. Boehm xut rng h s A nn bng 2.94. Kch thc ca h thng c biu din bng KSLOC, m n l s lng ca hng ngn dng trong m ngun. Bn tnh ton KSLOC bng c lng s lng im hm trong phn mn. Sau bn s dng bng chun m n lin kt kch thc ca phn mn ti im hm cho cc ngn ng lp trnh khc nhau tnh ton c lng ca kch thc h thng bng KSLOC. S m B phn nh yu cu ny sinh thm khi kch thc ca d n tng. N khng phi chung cho cc kiu khc nhau ca h thng, nh trong COCOMO 81, nhng n c th thay i trong khong 1.1 ti 1.24 ph thuc vo tnh khc thng ca d n, tnh mn do ca s pht trin, s lin kt trong nhm pht trin, trnh s l thnh tho ca t chc. Ti tho lun v gi tr ca s m trn c tnh ton s dng cc tham s c m t trong M hnh kin trc COCOMO II. H s M trong m hnh COCOMO II ly c s trn tp hp by d n v c tnh s l m n nh hng ti s c lng. N c th gia tng hoc gim yu cu s c gng. c tnh s dng trong m hnh thit k sm l tch s ca ng tin cy v phc tp (RCPX), yu cu s dng li (RUSE), nn tng kh (PDIF), kh nng con ngi (PERS), kinh nghim con ngi (PREX), lch trnh (SCED), v tin ngi tr gip (FCIL). Bn c lng gi tr ca cc thuc tnh s dng su im mc m 1 tng ng vi gi tr rt thp cho cc h s v 6 tng ng vi gi tr rt cao. Kt qu ca s tnh ton s c gng l: PM = 2.94*(kch thc)B*M Trong : M = PERS*RCPX*RUSE*PDIF*PREX*FCIL*SCED
8.5.3. M hnh s dng li

Nh tho lun trong cc chng trc, phn mn s dng li l chung by gi, v hu ht cc h thng ln c t l ln ca m l c s dng li t trc khi pht trin. M hnh s dng li c s dng c lng yu cu s c gng tch hp thnh phn c th s dng li hoc m t pht.

142

COCOMO II quan tm n s dng li m trong hai loi. M hp en l m c th s dng li m khng cn bit v m hoc s cha n. S c gng pht trin vi m hp en l bng khng. M m c th thay i tch hp n vi m mi hoc cc phn khc s dng li gi l m hp trng. Mt s c gng pht trin l yu cu c s dng li n v phi hiu v sa cha li trc th n mi c th lm vic c chnh xc trong h thng. Thm vo na, rt nhiu h thng bao gm cc m t pht t cc chng trnh chuyn i n sinh ra m t cc h thng mu. l dng ca s dng li trong cc mu chun phc tp ca ngi vit. Cc mu h thng c phn tch, v m c s ca cc mu chun vi cc chi tit thm vo t h thng mu c sinh ra. M hnh s dng li COCOMO II bao gm cc m hnh ring bit c lng chi ph lin quan vi m t pht. Cho m m c t sinh ra, m hnh c lng s lng ca yu cu con ngi trong cc thng tch hp m ny. Cng thc cho s c lng ny l: PMAuto = (ASLOC*AT/100)/ ATPROD // c lng cho m t pht. AT l t l ca m thch nghi m c t ng sinh ra v ATPROD l nng sut ca cc k s trong tch hp m. Boehm v cng s (Boehm, 2000) c php o ATPROD vo khong 2,400 bo co ngun trn thng. V th, nu c tng s 20.000 dng trong m hp trng s dng li trong h thng v 30% ca chng l m t ng sinh ra, th yu cu c gng tch hp m t pht l: (20,000*30/100)/2400 = 2.5 Ngi thng. //VD m t pht Cc thnh phn khc ca m hnh s dng li khi h thng bao gm mt s m mi v mt s s dng li thnh phn hp trng c tch hp. Trong trng hp ny, m hnh s dng li khng c tnh ton ngay lp tc. Hn na, trn c s ca s dng ca m c s dng li, n tnh ton cc c trng c m t tng ng s dng ca m mi. V th, nu 30.000 dng m c s dng, c lng kch thc mi tng ng c th l 6.000. Tt nhin l, s dng li 30000 dng m l tng ng vi vit 6000 dng m mi. c im tnh ton l them s lng ca dng m mi vo s pht trin trong m hnh kin trc COCOMO II. c lng trong m hnh s dng li l: ASLOC - s dng ca m trong thnh phn phi c thch nghi. ESLOC - S dng tng ng ca m ngun mi. Cng thc s dng tnh ton ESLOC a vo bo co yu cu s c gng cho vic tm hiu phn mm, to s thay i cho m ti s dng v thay i h thng tch hp vi m . N cng a ra bo co s lng ca m m n t ng sinh ra khi c gng pht trin c tnh ton, nh c gii thch sm trong mc ny. Cng thc sau c s dng tnh ton s dng tng ng s dng ca m ngun: ESLOC = ASLOC*(1-AT/100)* AAM ASLOC c gim tu theo t l ca m t ng sinh ra. AAM l Adaptation Adjustment Multiplier (H s iu chnh thch nghi), n a ra bo co yu cu cho m ti s dng. n gin, AAM l tng ca ba thnh phn: 1. Thnh phn thch nghi (AAF) n m t chi ph cho to s thay i ca m ti s dng. N bao gm cc thnh phn thit k, thay i m v tch hp.
143

2.

Thnh phn tm hiu (SU) m t chi ph ca vic tm hiu m s dng li v s hiu r m ca k s vi m. SU sp sp t 50 cho cc m phi cu trc phc tp n 10 cho cc bn vit tt, m c nh hng mc tiu. H s nh gi (AA) m t chi ph ca vic to quyt nh s dng li. Ngi l, mt s phn tch lun c yu cu quyt nh c nn s dng li m hay khng, v n bao gm trong chi ph AA, AA thay i t 0 n 8 ph thuc vo s lng phn tch yu cu.

3.

M hnh s dng li l m hnh phi tuyn. Mt s s c gng c yu cu nu s dng li l xem st to nh gi c nn s dng li hay khng. Hn th na, ngy cng nhiu phn ti s dng c xem st, chi ph trn n v m s dng li gim nh s hiu bit y v nh gi chi ph l qua nhiu dng m.
8.5.4. ng cp kin trc

ng cp kin trc l chi tit nht ca m hnh COCOMO II. N c s dng mt ln khi thit k kin trc m u cho h thng c th s dng cho h thng con cu trc bit. S c lng a ra trong ng cp kin trc ly c s trn cc cng thc c bn (PM=A*(kch thc)B*M) s dng trong c lng thit k sm. Tuy nhin, c lng kch thc cho phn mn nn chnh xc hn trong giai on ny ca qu trnh c lng. Thm na, c rt nhiu tp hp thuc tnh c m rng ca sn phm, qu trnh v t chc(17 thay v 7) c s dng chn lc tnh ton ban u. C th s dng nhiu hn cc thuc tnh trong giai on ny v bn c nhiu thng tin v phn mn c pht trin v qu trnh pht trin. c lng ca kch thc m trong ng cp kin trc l s dng ba thnh phn: 1. c lng tng s dng m mi c s dng pht trin. 2. c lng tng ng s dng ca m ngun (ESLOC) tnh ton da trn m hnh s dng li. 3. c lng s dng ca m phi sa ph hp vi yu cu. Ba c lng trn c cng vo c tng kch thc m trong KSLOC m bn s dng trong cng thc tnh ton s n lc. Thnh phn cui cng ca s c lng tng s dng ca m thay i - phn nh trn thc t l yu cu phn mn lun thay i. Cc chng trnh h thng phi phn nh cc thay i cng thm m cho vic pht trin. Tt nhin, c lng s dng ca m m n s thay i l khng d, v n s thng tr nn khng chc chn trong cc c im hn l trong c lng s pht trin. S m gii hn (B) trong cng thc tnh ton s c gng c ba gi tr kh thi trong COCOMO I. N c lin h ti cp ca phc tp d n. Nh d n tr nn phc tp hn, hiu qu ca vic tng kch thc h thng tr nn nhiu ngha. Tuy nhin, t chc thc tin v sn xut tt c th iu chnh s lng ph. N c cng nhn trong COCOMO II, ni m dy cc gi tr ca s m B l lin tc hn l ri rc. S m trn ly c s trn nm h s phn mc, c a ra trong hnh 26.9. Cc nhn t ny l t l vi su mc im t rt thp n rt cao (5 n 0). Bn nn thm vo t l, chia chng cho 100 v cng vo kt qu 1.01 c s m c th s dng. minh ho iu ny, tng tng rng mt t chc ang ni v d n trong min m c t kinh nghim i trc. Khch hng d n khng xc nh qu trnh c s dng v khng cho php thi gian trong lch trnh d n cho phn tch mo him. Nhm pht trin mi phi a ng thi cc cng c ca h thng. T chc gn y a chng

144

trnh pht trin qu trnh vo v c t l nh trong t chc cp 2 theo m hnh CMM ( xem Chng 28). Gi tr kh thi cho s dng t l ca s m tnh ton bi: Hnh 8.9 H s mc s dng trong tnh ton s m trong COCOMO II H s mc C tin l Gii thch Phn nh kinh nghim trc ca t chc vi loi d n . Rt thp l khng c kinh nghim; Rt cao l t chc l mt nhm rt thnh cng vi min ng dng . Phn nh mc ca s mn do trong qu trnh pht trin. Rt thp l cc qu trnh bt buc c s dng. Rt cao l tp hp khch hng ch l cc mc tiu chung.

S mn do ca d n

Gii quyt kin trc/s Phn nh s m rng ca cc phn tch mo him c thc mo him hin. Rt thp l t s phn tch. Rt cao l cc phn tch hon thnh v vt qua mo him. Lin kt trong nhm Phn nh ti sao mt nhm hiu tng ngi v lm vic chung li tt. Rt thp l rt kh tng tc; Rt cao l c s kt hp v hiu qu v khng c cc vn xu trong giao tip. Phn nh s s l thun thc ca t chc. Cc tnh ton ca gi tr ny ph thuc trong Cc cu hi v s thnh thc CMM, nhng s c lng c th hon thnh bng cch tr s l thun thc CMM t cp 5.
C tin l l mt d n mi cho t chc - T l Thp (4) S mn do ca d n khng c s bao gm khch hng - T l rt cao (1) Gii quyt kin trc/s mo him khng c cc phn tch c thc hin T l rt thp (5) Lin kt trong nhm Nhm mi nn khng c thng tin t l trung bnh (3) S l thun thc Mt s iu khin qu trnh trong nhm - t l trung bnh (3)

S l thun thc

Tng cc gi tr l 16, v th tnh ton s m bng cch thm 0.16 v 1.01, c 1.17. Cc thuc tnh ( Hnh 8.10) c s dng trong iu chnh c lng ban u v to h s M trong m hnh kin trc c chia ra 4 lp: 1. 2. 3. 4. Thuc tnh sn phm lin quan n c tnh yu cu ca sn phn c pht trin Thuc tnh my tnh l b p t trong phn mm bi nn tng phn cng. Thuc tnh con ngi l s nhn m n ly kinh nghim v kh nng ca con ngi trong cng vic trong d n a ra bo co. Thuc tnh d n l lin quan vi cc c tnh ring bit ca d n pht trin phn mn
145

Thuc tnh RELY CPLX DOCU DATA RUSE TIME PVOL STOR ACAP PCON PCAP PEXP AEXP LTEX TOOL SCED SITE

Phn loi Sn phm Sn phm Sn phm Sn phm Sn phm My tnh My tnh My tnh My tnh Con ngi Con ngi Con ngi Con ngi Con ngi D n D n D n

M t Yu cu tin tng h thng phc tp ca cc phn h thng Bo co m rng theo yu cu Kch thc ca c s d liu c s dng. Yu cu t l thnh phn s dng li S ph thuc thi gian thc thi. S khng n nh ca nn tng pht trin B nh ph thuc vo my Kh nng phn tch d n Kh nng lm vic lin tc ca con ngi Kh nng lp trnh vin Kinh nghim lp trnh vin trong min d n Kinh nghim phn tch trong min d n Kinh nghim ngn ng v cng c Cng c s dng trong phn mn Nn lch trnh pht trin M rng lm vic kt hp v giao tip chung

Hnh 8.11 th hin chi ph nh hng nh hng n c lng s c gng. Ti a gi tr ca s m l 1.17 nh tho lun trn v gi s RELY, CPLX, STOR, TOOL v SCED l nhng chi ph nh hng ch yu trong d n. Tt c trong chi ph nh hng khc c gi tr l 1, v th chng khng nh hng s tnh ton s c gng. Hnh 8.11 S nh hng ca chi ph nh hng c lng Gi tr s m 1.17

Kch thc h thng (bao gm cc h s ti s dng v cc 128000 DSI yu cu d thay i)


c lng ban u COCOMO khng c chi ph nh 730 ngi-cc thng hng

Kh nng tin tng

Rt cao, h s=1.39

146

phc tp Ph thuc b nh Cng c s dng Lch trnh


iu chnh c lng COCOMO

Rt cao, h s=1.3 Cao, h s=1.21 Cao, h s=1.12 Tng nhanh, h s=1.29


2306 ngi-cc thng

Kh nng tin tng phc tp Ph thuc b nh Cng c s dng Lch trnh


iu chnh c lng COCOMO

Rt thp, h s=0.75 Rt thp, h s=0.75 Khng, h s=1 Rt cao, h s=0.72 Bnh thng, h s=1
295 ngi-cc thng

Trong hnh 8.11 c gn cc gi tr ln nht v nh nht n cc chi ph nh hng chnh th hin lm th no chng nh hng n c lng s c gng. Cc gi tr c ly t COCOMO II (Boehm). Bn c th thy l cc gi tr cao cho chi ph nh hng dn vic c lng chi ph l hn ba ln c lng ban u, ngc li gi tr thp gim c lng ch cn mt phn ba so vi ban u. S khc bit ln ca hai loi ny l s chuyn giao kinh nghim gia cc min ng dng. Cng thc xut bi ngi pht trin m hnh COCOMO II phn nh kinh nghim v d liu ca h, nhng n l m hnh rt phc tp hiu v s dng. C rt nhiu thuc tnh v vn khng chc chn c lng gi tr ca n. C bn l mi ngi dung ca m hnh nn kim tra kch c m hnh v gi tr thuc tnh theo d liu d n lch s ca n, nh n s phn nh tnh hung nh hng n m hnh. Trong thc tin, tuy nhin, mt s t cc t chc c d liu t cc d n qu kh trong dng m hnh h tr. Thc t s dng COCOMO II v th ph bt u vi cc gi tr chung cho cc thuc tnh ca m hnh, v n l khng th cho ngi dng bit lm th no lin kt chng. iu c ngha l thc t s dng COCOMO II l b hn ch. Cc t chc rt ln c th c ti nguyn ur thch nghi v s dng m hnh COCOMO II. Tuy nhin, phn ln cc cng ty, chi ph cho vic xc nh v hc tp s dng m hnh thut ton nh COCOMO l rt cao m n khng th p dng.
8.6. M hnh chi ph gii thut trong k hoch d n

Mt trong cc m hnh ho chi ph gii thut ln nhn l so snh cc cch khc nhau ca vic u t cho vic gim chi ph d n. l s quan trng ring bit ni bn c th to chi ph phn cng/phn mn phi thng mi v ni bn c th c cc nhn vin mi vi kh nng c bit. M hnh m gii thut gip bn nh gi s mo him ca mi tu chn. p dng m hnh chi ph biu th ti chnh m n kt hp vi cc quyt nh qun l khc nhau. Xem st h thng phc tp vi cc cuc th nghim. Cc cuc th nghim phi ng tin cy v cht ch. S lng ca cc ch s h phi l nh nht. Trong gii hn ca m hnh COCOMO, cc h s ca s ph thuc vo my tnh v tin cy l ln hn 1. C 3 thnh phn c a ra bo co trong vic chi ph d n: 1. Chi ph ca phn cng mc tiu thc thi h thng.

147

2. Chi ph cho nn tng (my tnh v phn mn) pht trin h thng. 3. Chi ph ca yu cu c gng cho pht trin d n. Trong hnh 8.13 th hin mt s tu chn c th cho d n. N bao gm vic them cc phn cng mc tiu gim chi ph phn mn u t tt hn cc cng c pht trin. Thm chi ph phn cng c th c chp nhn bi v h thng l h thng chuyn dng. Nu phn cng l phc tp trong cc sn phm tiu dung, tuy nhin, u t trong phn cng gim chi ph phn mn s lm tng s n v ca sn phm, bt chp s lng c bn. Hnh 8.13 th hin phn cng, phn mn v tng chi ph cho tu chn A-F th hin trong hnh 8.12. p dng m hnh COCOMO II chi ph nh hng bo trc s c gng l 45 ngi- cc thng pht trin h thng phn mn phc tp cho ng dng. Chi ph trung bnh cho mi ngi-thng l $15000. Cc h s lin quan l c s lu tr v thc thi ph thuc thi gian (TIME v STOR), kh nng s dng ca cng c tr gip pht trin h thng (TOOL), v kinh nghim ca nhm pht trin (LTEX). Trong tt c cc tu chon, h s tin tng c (RELY) l 1.39, n cho bit ngha ca vic pht trin cc h thng tin cy. Chi ph phn mn (SC) c tnh nh sau: SC = c lng s c gng * RELY * TIME * STOR * TOOL * EXP * $15000 Tu chn A m t chi ph ca vic xy dng h thng vi cc tr gip v nhn vin c sn. Nu cc m t l c s cho so snh. Tt c cc tu chn khc bao gm ph tn phn cng hoc tuyn them nhn vin. Tu chn B th hin s cp nht phn cng l khng cn thit gim chi ph. Cc nhn vin thiu kinh nghim vi phn cng mi s lm tng cc h s STOR v TIME. N thc s them chi ph hiu qu cp nht b nh hn l cu hnh my tnh.

Hnh 8.12: Tu chn qun l

148

Hnh 8.13 Chi ph ca tu chn qun l Bng 8.13 Chi ph ca cc tu chn qun l Ty chn A B C D EX F Rely Stor Time Tools Ltex Tng cng 63 88 60 51 56 57 Chi ph Chi Tng phm ph phn chi ph mm cng 949393 100000 1049393 1402025 1000653 897490 1044159 1002706

1.39 1.39 1.39 1.39 1.39 1.39

1.06 1 1 1.06 1 1

1.11 1 1.11 1.11 1 1

0.86 1.12 0.86 0.86 0.72 1.12

1 1.22 1 0.84 1.22 0.84

1313550 120000 895653 769008 844425 851180 105000 100000 220000 120000

Ty chn D a ra chi ph thp nht cho tt c cc nh gi c bn. Khng ph tn phn cng no c thm vo nhng cn thu nhn vin mi cho d n. Nu cng ty c sn iu ny th y c th l ty chn tt nht. Nu khng, h phi c thu t bn ngoi, mt vic cn nhiu chi ph v c nhiu ri ro. iu ny c ngha l li th v chi ph ca ty chn ny khng ln nh c a ra bi bng 8.13. Ty chn C tit kim $50000 vi vic gn nh khng c ri ro km theo. Nhng nh qun l d n bo th c th thch ty chn ny hn l ty chn nhiu ri ro hn D. Cc so snh ch ra s quan trng ca kinh nghim nhn vin nh l mt tha s. Nu nhn lc c cht lng tt vi kinh nghim ph hp c thu th c th gim i nhiu chi ph d n. iu ny nht qun vi tho lun v h s nng sut trong phn 26.1. N cng bc l rng u t phn cng mi v cng c c th khng hiu qu v chi ph. Mt s k s c th thch ty chn ny v n cho h c hi hc hi h thng mi. Tuy nhin, s mt mt kinh nghim tc ng nhiu ln chi ph h thng hn s tit kim t vic s dng h thng phn cng mi.

8.7.

Nhn vin v khong thi gian ca d n

Cng nh vic c lng cng lao ng cn thit pht trin h thng v chi ph chung ca d n., ngi qun l d n cn phi c lng thi gian d n cn pht trin v khi no nhn vin cn lm vic cho d n. Thi gian pht trin d n c gi l lch trnh d n. Dn dn, cc t chc s yu cu thi gian pht trin d n ngn hn sn phm ca h a ra th trng trc i th. Mi quan h gia s nhn vin ang lm vic cho d n, tng cng lao ng cn v thi gian pht trn d n l khng tuyn tnh. Khi s nhn vin tng, c th cn nhiu cng lao ng hn. Nguyn nhn l h s dng nhiu thi gian hn giao tip v xc nh giao din gia cc phn ca h thng m c ngi khc pht trin. Gp i s nhn vin (v d) do khng c ngha l thi gian d n cn mt na.

149

M hnh COCOMO bao gm cng thc c lng lch biu thi gian(TDEV) cn hon thnh d n. Cng thc tnh thi gian l ging nhau cho tt c cc cp COCOMO: TDEV = 3 x (PM)(0.33+0.2*(B-1.01)) PM l s c tnh cng lao ng v B l s m c tnh, nh tho lun trn (B l 1 cho m hnh nguyn mu sm) S c tnh ny d on lch trnh trung bnh cho d n. Tuy nhin, lch trnh d n c d on v lch trnh cn bi k hoch d n khng nht thit ging nhau. Lch trnh c ln k hoch c th ngn hn hoc di hn k hoch d n trung bnh c d on. Tuy nhin, r rng l c gii hn cho vic m rng thay i lch trnh, va m hnh COCOMO II d on iu ny: TDV = 3 x (PM)(0.33+0.2*(B-1.01)) x SCEDPercentage/100 SCEDPercentage l phn trm tng thm hoc gim i trong lch trnh trung bnh. Nu cc con s c d on th khc nhiu so vi lch trnh c ln k hoch, n m ch rng c ri ro cao trong vn pht hnh phn mm khi c ln k hoch. minh ha tnh ton lch trnh pht trin COCOMO, gi s rng 60 thng cng c c lng pht trin mt h thng phn mm. (ty chn C trong bng 8.12). Gi s rng gi tr ca s m B l 1.17. T phng trnh lch trnh, thi gian cn hon thnh d n l : TDEV = 3 x (60)0.36 = 13 thng. Trong trng hp ny, khng c s nn hay m rng lch trnh, v s hng cui cng trong cng thc khng nh hng n vic tnh ton. Mt hm th v ca m hnh COCOMO l thi gian cn hon thnh d n l mt hm ca tng cng lao ng cn cho d n. N khng ph thuc vo s k s phn mm ang lm vic. iu ny xc nhn quan im l khi thm nhn lc cho d n m c lch trnh khng chc chn s gip lch trnh c thu hi li. Myers(Myers, 1989) tho lun vn tng tc lch trnh. ng sut rng d n c th ri vo vn ln nu h c pht trin phn mm m khng c cho thi gian. Vic chia cng lao ng cn thit cho d n bi lch trnh pht trin khng a ra ch dn c ch v s ngi cn cho i d n. Ni chung, ch mt s nh nhn lc lc bt u d n thc hin thit k u. i sau xy dng ti cao im trong sut qu trnh pht trin va kim th h thng, v cui cng kch c nhm bin i khi bt u trin khai. Vic xy dng nhanh nhn vin d n c a ra tng quan vi vic lch trnh d n khng ng thi hn. Ngi qun l d n do nn trnh sm thm qu nhiu nhn vin vo d n trong chu k sng ca n. Vic xy dng ngun lc lao ng c th c m hnh ha bng ci gi l ng cong Rayleigh (Londeix, 1987) v m hnh c lng ca Putnam (Putnam, 1978) ci m

150

kt hp m hnh ca b tr nhn vin d n da vo cc ng cong ny. M hnh Putnam cng bao gm thi gian pht trin nh l nhn t cha kha. Khi thi gian d n c gim xung, cng lao ng cn pht trin h thng tng theo hm m.
Nhng im chnh: o Khng c mi quan h tt yu gia gi cn tr cho mt h thng v chi ph pht trin ca n. Nhn t t chc c th mun gi phi tr tng b cho ri ro, hoc tng c li th cnh tranh. o Nhng nhn t tc ng ln nng sut phn mm bao gm thi c nhn (nhn t ni tri), kinh nghim min, qu trnh pht trin, quy m ca d n, cng c h tr v mi trng lm vic. o Phn mm thng c nh gi thu c hp ng, v chc nng ca h thng sau c iu chnh ph hp vi gi c c lng. o C nhiu k thut c lng chi ph phn mm khc nhau. Trong vic chun b nh gi, mt vi k thut khc nhau nn c s dng. Nu cc nh gi chnh nhau nhiu, th c ngha l c cc thng tin nh gi khng tng xng. o M hnh chi ph COCOMO II l m hnh chi ph thut ton c pht trin tt m tnh n cc thuc tnh d n, sn phm, phn cng v c nhn khi cng thc ha mt c lng chi ph. N cng bao gm phng tin c lng lch trnh pht trin. o M hnh chi ph thut ton c th c su dng h tr phn tch nh lng tu chn. Chng cho php cc ty chn khc nhau ca chi ph c tnh ton v, thm ch vi li, cc ty chn c th c so snh da trn mc ch. o Thi gian cn hon thnh mt d n khng n gin ch l t l vi s ngi ang lm vic cho d n. Vic thm ngi vo d n mun c th tng thay v gim thi gian cn kt thc d n. c thm:

Ten unmyths of project estimation Mt bi bo thc dng tho lun cc kh khn thc t ca c lng d n v thch thc mt vi gi thit c bn trong lnh vc ny. (P. Armour, Comm. ACM, 45(11), November)
Software Cost Estimation with COCOMO II. y l mt cun sch r rng v m hnh COCOMO II. N cung cp m t y v m hnh vi nhiu v d v bao gm cc phn mm thc hin m hnh. N thc s chi tit v khng d c. Bi bo ca Boehm di, theo quan im ca ti, l mt s gii thiu d hn. (B.Boehm, et al, 2000, Prentice Hall) Software Project Management:Reading and Cases. Mt b su tp cc bi bo v trng hp nghin cu v qun l d n m ni ring l mnh trong trong m hnh ha chi ph gii thut. (C.F.Kemerer (ed.) 1997, Irwin)

151

Cost models for future software life cycle processes : COCOMO II. Gii thiu m hnh c lng chi ph COCOMO II , bao gm c s cho cc cng thc c s dng. D c hn quyn sch cui cng.( B. Boehm et al. Annals of software Engineering, 1 Balzer Science Publisher, 1995)
Bi tp.

3. 4. 5. 6. 7. 8. 9.

Di han cnh no mt cng ty c th i gi cao hn cho h thng phn mm so vi gi tnh bi c lng chi ph cng thm li sut bnh thng. M t hai o m c s dng o nng sut lp trnh vin. Bnh lun ngn gn v thun li v bt li ca tng o. Trong pht s pht trin ca cc h thng nhng ln, sut nm nhn t m c th c tc ng ln n nng sut ca i pht trin phn mm. c lng chi phi vn c sn ri ro bt k k thut c lng no c s dng. sut bn cch lm gim ri ro trong c lng chi ph. Ti sao nn s dng vi k thut c lng c lng chi ph ca h thng phn mm ln, phc tp. a ra 3 nguyn nhn ti sao cc c lng chi ph gii thut c chun b trong cc t chc khc nhau khng th so snh trc tip. Gii thch lm th no cch tip cn thut ton vi c lng chi ph c th c s dng bi nhng ngi qun l d n phn tch ty chn. sut mt tnh hung m ngi qun l c th chn cch tip cn m khng da trn chi ph d n thp nht.

10. Mt s d n phn mm rt ln bao gm vic vit hng triu dng m. sut cc m hnh c lng chi ph hu dng cho cc d n nh th nh th no. Ti sao cc gi thit chng da trn c th khng ng vi cc h thng phn mm rt ln. 11. C hp l khng vic cng ty a ra gi thp cho hp ng phn mm bit rng cc yu cu l nhp nhng v h c th tnh gi cao cho nhng thy i v sau c ngh bi khch hng. Nhng ngi qun l c nn s dng nng sut c o trong sut tin trnh nh gi nhn vin khng? Nhng yu t an ton no cn thit m bo cht long khng b nh hng bi iu ny ?

152

CHNG 9: QUN L CHT LNG PHN MM

Mc tiu: Cc mc ch ca chng ny l gii thiu qun l cht lng phn mm v o phn mm. Trong chng ny bn s: Tm hiu v qu trnh qun l cht lng v cc hot ng qu trnh trung tm ca s m bo ca cht lng, lp k hoch cht lng v kim sot cht lng. Tm hiu s quan trng ca cc chun mc trong qu trnh qun l cht lng. Hiu o phn mm l g v s khc bit gia o tin nghim v o iu khin. Tm hiu cch o c th hu ch trong vic nh gi cc thuc tnh cht lng sn phm. C hiu bit v cc gii hn hin ti v o phn mm.
9.1. Cht lng qu trnh v cht lng sn phm:

Cht lng ca phn mm pht trin mnh m t 15 nm v trc. Mt trong cc l do cho s pht trin ny l do cc cng ty p dng cc k thut v cng ngh mi, v d nh vic s dng cc pht trin hng i tng v s kt hp cung cung cp cng ngh phn mm vi s h tr ca my tnh. Thm vo th c nhng kin thc nhiu hn v tm quan trng ca vic qun l cht lng sn phm v vic p dng cc k thut qun l cht lng t cc nh sn xut trong cng nghip pn mm. Tuy nhin, cht lng phn mm l mt khi nim phc tp, n khng th so snh mt cch trc tip vi cht lng trong sn xut.Trong sn xut, khi nim ca cht lng c a ra l: sn phm pht trin phi ph hp vi c t ca n ( Crosby, 1979). Nhn chung, nh ngha ny c p dng cho tt c cc sn phm, tuy nhin i vi h thng phn mm, ny sinh mt s vn vi nh ngha ny: 1. c t phi c nh hng ti cc c trng ca sn phm m khch hng mong mun. Tuy nhin, t chc pht trin c th cng c cc yu cu ( nh cc yu cu v tnh bo tr) m khng c k n trong cc c t. 2. Chng ta khng bit lm cch no nh r cc c trng cht lng ( v d nh tnh bo tr c) mt cch r rng. 3. Nh ta ni phn I, n bao gm cc yu cu v k thut, vic vit c y cc c t phn mm l mt cng vic rt kh khn. V vy, mc d sn phm phn mm c th ph hp vi cc c t ca n, nhng ngi s dng c th khng coi l sn phm cht lng cao bi v n khng ph hp vi nhng mong i ca h. Bn phi nhn ra nhng vn do s tn ti cc thng s phn mm, v vy vic to ra cc thit k cht lng khng ch ph thuc vo vic c mt c t hon ho. Ni ring, cc thuc tnh phn mm nh kh nng bo tr c, tnh bo mt hay tnh hiu qu khng th c nh r. Tuy nhin, chng c tc ng to ln n cht lng ca h thng. Ta s bn n cc thuc tnh ny trong phn 9.3.

153

Mt s ngi ngh rng cht lng c th t c bng cch nh ngha cc chun, v cc th tc cht lng c tnh t chc kim tra nhng chun ny c c tun theo bi cc i pht trin phn mm. Nhng tranh ci ca h l vic cc chun c tm lc thi quen tt hay khng, vic tun theo cc thi quen chc chn dn dt n cc sn phm cht lng cao. Trong thc t, tuy nhin, ti ngh rng cn nhiu s qun l cht lng hn l cc chun v c kt hp vi cng vic phc tp m bo rng nhng chun ny c tun theo. Cc nh qun l cht lng tt c mc tiu l pht trin mt vn ho cht lng ni m trch nhim ca mi cam kt cho s pht trin sn phm t ti mc cao ca cht lng sn phm. H khuyn khch cc nhm chu trch nhim cho cht lng cng vic ca mnh v pht trin cc cch tip ci tin cht lng. Khi m cc chun v cc th tc l phn c bn ca qun l cht lng, kinh nghim ca ngi qun l cht lng cho thy c nhng mong i khng th nhn thy c v cht lng phn mm ( tnh bt mt, tnh d c, ) m khng th c th hin mt cch r rng theo cc chun. Chng phc v cho nhng ngi quan tm n nhng kha cnh khng nhn thy c ca cht lng v khuyn khch cch c x chuyn nghip trong tt c cc thnh vin ca nhm. Qu trnh pht trin ph n m m

D1

D2

D3

D4

D5

Qu trnh qun l cht lng Cc chun v K ho ch Bo co r sot cht lng cc th tc Cht lng

Hnh 9.2: Qun l cht lng v qun l phn mm Vic vic qun l cht lng c chnh thc ho ni ring l rt quan trng i vi cc nhm c nhim v pht trin cc h thng ln v phc tp. Ti liu v cht lng l mt bn ghi v nhng vic lm bi mi nhm nh trong mt d n. N tr gip con ngi kim tra nhng nhim v quan trng khng c php qun, hay mt phn ca nhm to ra cc gi nh v nhng g m cc nhm khc lm. Ti liu ghi cht lng cng c ngha v vic trao i trong khong thi gian tn ti ca h thng. N cho php cc nhm chu trch nhim cho s pht trin ca h thng th hin nhng g m m nhm pht trin thc hin. i vi nhng h thng nh, qun l cht lng vn rt quan trng, nhng vi mt cch tip cn n gin hn c p dng. Khng cn thit nhiu cng vic giy t bi v mt nhm pht trin nh c th trao i trc tip. Vn then cht cht lng cho s pht trin cc h thng nh l vic thit lp mt vn ho cht lng v bo m rng tt c cc thnh vin nhm c tip cn mt cch tch cc vi cht lng phn mm.

154

Qun l cht lng phn mm cho cc h thng ln c th c chia vo 3 hot ng chnh. 1. S m bo cht lng: s thit lp ca mt khung ca t chc cc th tc v cc chun hng n sn phm cht lng cao. 2. Lp k hoch cht lng: Vic chn la cc th tc v cc chun thch hp t khung ny, c sa cha cho cc d n phn mm ring bit. 3. Kim sot cht lng: nh ngha v a ra cc qu trnh m bo rng i pht trin phn mm phi tun theo cc th tc v cc chun cht lng d n. Qun l cht lng cung cp mt kim tra c lp trong qu trnh pht trin phn mm. Qu trnh qun l cht lng kim tra mc thc hin d n m bo rng chng ph hp vi cc chun v mc tiu ca t chc. ( Hnh 9.1). i m bo cht lng c lp vi i pht trin, v vy h c th to ra cc cch nhn nhn khc nhau v phn mm. H bo co cc vn v kh khn ti ngi qun l c thm quyn trong t chc.
nh ngha qu trnh nh gi cht lng sn phm

Pht trin sn phm

Ci tin qu trnh

Khng

Cht lng ?

Chun ho qu trnh

Hnh 9.2 Cht lng c da trn qu trnh. Mt i c lp chu trch nhim i vi vic qun l cht lng v s bo co ti ngi qun l d n cp cao hn. i qun l cht lng khng c lin kt vi bt c nhm pht trin ring bit no nhng nhn trch nhim cho vic qun l cht lng. L do cho vic ny l ngi qun l d n phi duy tr ngn sch d n v lp lch d n. Nu vn xut hin, h c th b li cun vo vic tho hip cht lng sn phm, v vy h phi lp lch. Mt i qun l cht lng c lp bo m rng mc tiu t chc ca cht lng khng b tho hip bi ngn sch ngn hn v chi ph lp lch.
9.2. Cht lng qu trnh v cht lng sn phm:

Mt gi nh c bn ca qun l cht lng l cht lng ca qu trnh pht trin nh hng trc tip n cht lng ca cc sn phm. S gi nh ny do h thng cc nh sn xut, ni m cht lng sn phm lin h mt cch mt thit ti qu trnh sn xut. Trong h thng sn xut t ng, qu trnh ny bao gm , cu hnh, ci t, v thao tc my pht trin trong qu trnh. Mt khi cc my thao tc mt cch chnh xc, cht lng sn phm t nhin s tun theo. Bn c th o cht lng ca sn phm v thay i qu trnh cho n khi bn t c mc cht lng nh mong mun. Hnh 9.2 cung cp cch tip cn qu trnh c bn t c cht lng sn phm.

155

C s lin kt r rng gia cht lng ca qu trnh v cht lng ca sn phm trong sn xut, bi v qu trnh chun ho v gim st tng i d. Mt khi h thng sn xut c kim tra, chng c th c chy li nhiu ln cho u ra l cc sn phm c cht lng cao. Tuy nhin, phn mm khng phi l sn xut, nhng c thit k. Pht trin phn mm l mt s sng to hn l mt qu trnh my mc, v vy s nh hng ca cc k nng v kinh nghim ring l rt ng k. Nhn t bn ngoi, nh tnh mi l ca ng dng hay sc p ca thng mi cho mt sn phm mi, cng nh hng n cht lng sn phm bt chp qu trnh c s dng. Trong s pht trin phn mm, mi quan h gia cht lng qu trnh v cht lng sn phm l phc tp hn. Vic o cc thuc tnh cht lng phn mm l rt kh khn, nh kh nng bo tr c, ngay c sau khi s dng phn mm trong mt thi gian di. Do , rt kh ni xem cc c trng qu trnh nh hng nh th no n cc thuc tnh. Hn th na, bi v cc quy nh ca thit k v sng to trong qu trnh phn mm, ta khng th d on qu trnh thay i nh th no s nh hng n cht ca phm. Tuy nhin, nhiu chuyn gia ch ra rng qu trnh cht lng c nh hng ng k n cht lng ca phn mm. Qun l v pht trin cht lng qu trnh v vic ci tin th tt yu dn n c t khim khuyt hn trong sn phm phn mm c pht hnh. Qun l qu trnh cht lng bao gm: 1. nh ngha cc chun qu trnh nh bng cch no v khi no nhng r sot c ch o. 2. Gim st qu trnh pht trin m bo rng cc chun c tun theo. 3. Bo co qu trnh phn mm n qun l d n v ngi mua phn mm. Mt vn vi s m bo cht lng da trn qu trnh o l i m bo cht lng (QA- Quanlity Asurrance) c th bt buc yu cu qu trnh chun phi c s dng bt chp kiu loi phn mm ang c pht trin. V d, cc chun ca cht lng qu trnh cho h thng quan trng c th ch ra rng cc c t phi c hon thnh v c thng qua trc khi vic thc thi bt u. Tuy nhin i vi mt s h thng quan trng c th yu cu nguyn mu, khi cc chng trnh c thc thi m khng cn c t y . Ti c kinh nghim trong nhng trng hp ny khi m i qun l cht lng khuyn rng mu ny khng c tin hnh bi v cht lng bn mu khng th kim sot c. Trong mt s trng hp, ngi qun l cp cao phi can thip bo m rng qu trnh cht lng tr gip nhiu hn l gy cn tr cho s pht trin sn phm.

9.3.

m bo cht lng v cc chun cht lng.

m bo cht lng l qu trnh ca vic nh r lm cch no cht lng sn phm c th t c v lm th no cho t chc pht trin bit phn mm c yu cu cht lng cp no. m bo cht lng tin trnh c lin quan u tin n vic nh ra hoc chn la cc chun s c p dng cho qu trnh pht trin phn mm hay sn phm phn mm. Nh l mt phn ca qu trnh m bo cht lng, bn c th chn la hoc to ra cc cng c v cc phng php phc v cho cc chun ny. C 2 loi chun c th c p dng nh l mt phn ca qu trnh m bo cht lng l:
156

1. Cc chun sn phm: Nhng chun ny p dng cho sn phm phn mm pht trin. Chng bao gm cc nh ngha ca c t, nh l cu trc ca ti liu yu cu; cc chun ti liu, nh cc tiu gii thch chun cho nh ngha lp i tng; v cc chun m nh r lm cch no ngn ng lp trnh c th c s dng. 2. Cc chun qu trnh: Nhng chun ny nh ra qu trnh nn c tun theo trong qu trnh pht trin phn mm. Chng c th bao gm cc vic xc nh cc c t. Qu trnh thit k v kim nh qu trnh v mt bn m t cc ti liu nn c ghi li trong giai on ca nhng qu trnh ny. Nh ti ni mc 27.1, c mt s lin h rt gn gia cc chun sn phm v chun qu trnh. Cc chun sn phm p dng cho u ra ca qu trnh phn mm v trong nhiu trng hp, cc chun qu trnh bao gm cc cc hot ng qu trnh ring bit m m bo rng cc chun sn phm c tun theo. Cc chun phn mm l rt quan trong v nhng l do sau: 1. Cc chun phn mm da trn hiu bit v nhng thc tin thch hp nht cho cng ty. Kinh nghim ny thng ch t c sau rt nhiu ln th nghim v li. B xung n vo cc chun gip cho cng ty trnh s lp li sai lm trong qu kh. Cc chun cha ng cc kinh nghim tng tri ny rt c gi tr cho t chc. 2. Cc chun phn mm cung cp mt ci khung cho vic thc thi qu trnh m bo cht lng. a ra cc chun tng kt thc tin, m bo cht lng bao gm vic bo m rng cc chun c tun theo mt cch cht ch. 3. Cc chun phn mm tr gip tnh lin tc khi m mt ngi tip tc cng vic ca ngi khc b d. Cc chun m bo rng tt cc k s trong t chc chp nhn cng thi quen. Do vy cng sc nghin cu khi bt u cng vic mi s gim xung. S pht trin ca cc chun d n k thut phn mm l qu trnh rt kh khn v tn thi gian. Cc t chc quc gia, quc t nh US DoD, ANSI, BSI, NATO v IEEE ch ng to ra cc chun. Nhng chun ny l chun chung m c th c p dng phm vi ca cc d n. Cc t chc nh NATO v cc cc t chc bo v c th yu cu cc chun ca h c tun the trong cc hp ng phn mm. Cc chun quc gia v quc t pht trin bao gm c cng ngh k thut phn mm, ngn ng lp trnh nh Java, v C++, cc k hiu nh l biu tng bn , cc th tc cho cc yu cu nhn v vit phn mm, cc th tc m bo cht lng, kim tra phn mm v qu trnh thng qua (IEEE, 2003). Cc nhm m bo cht lng m ang pht trin cc chun cho cng ty thng da trn chun quc gia v quc t. S dng nhng chun ny nh l im bt u, nhm m bo cht lng phi tho ra mt ti liu tm tt chun. Ti liu ny phi nh ra nhng tiu chun c yu cu bi t chc ca h. V d v nhng tiu chun m c th k n trong ti liu sch tm tt trong bng 27.3.

157

Cc chun sn phm Mu r sot thit k Cu trc t liu yu cu Phng php nh dng tiu Kiu lp trnh Java nh dng k hoch d n Mu yu cu thay i

Cc chun qu trnh Sp t r sot thit k S trnh t liu n CM (???) Qu trnh pht hnh phin bn Qu trnh thng qua k hoch d n Qu trnh kim sot thay i Qu trnh ghi nhn kim tra.

Bng 9.3: Cc chun qu trnh v chun sn phm. Cc k s phn mm i khi coi cc chun l phc tp v khng thch hp i vi hot ng cng ngh ca vic pht trin phn mm. Cc chun yu cu chon y cc mu di dng v phi ghi li cng vic. Mc d cc k s phn mm thng ng v cc yu cu chung cho cc tiu chun, cc k s thng tm nhiu l do ti sao cc chun khng thc s thch hp vi d n ring ca h. trnh nhng vn ny, nhng ngi qun l cht lng thit lp nhng tiu chun cn thit l nhng ti nguyn tng xng, v nn tun theo cc bc sau: 1. Bao gm cc k thut phn mm trong vic chn la cc chun sn phm. H nn hiu ti sao cc tiu chun c thit k v cam kt tun theo chun ny. Ti liu chun khng ch l n gin l ni r chun c tun theo m n phi bao gm l do cn bn ti sao cc tiu chun ring bit c chn. 2. Kim tra v thay i cc tiu chun mt cch u nhau phn nh cc cng ngh thay i. Mt khi cc tiu chun c pht trin, chng c xu hng c lu tr trong ti liu tm tt cc tiu chun ca cng ty, v vic qun l thng kh c th thay i chng. Mt ti liu tm tt tiu chun l rt cn thit nhng n nn m ra vic phn nh cc tnh hung thay i v cng ngh thay i. 3. Cung cp cc cng ngh phn mm phc v cc tiu chun bt k khi no c th. Cc tiu chun vn phng l nguyn nhn ca nhiu than phin bi v cng vic qu di dng thc hin chng. Nu cng c phc v l c hiu lc, bn khng cn c gng thm tun theo cc chun pht trin phn mm. Cc chun qu trnh c th gy ra nhiu kh khn nu mt qu trnh khng c tnh thc t c p t cho nhm pht trin. Cc kiu khc nhau ca phn mm cn cc qu trnh pht trin khc nhau. Khng nht thit phi quy nh cch lm vic nu n khng thch hp cho mt d n hay i d n. Mi ngi qun l d n phi c quyn thay i cc chun qu trnh theo nhng trng hp ring. Tuy nhin, cc chun m lin quan n cht lng sn phm v qu trnh gi- pht phi ch c thay i sau khi c s cn nhc cn thn.

158

Ngi qun l d n v ngi qun l cht lng c th trnh nhiu vn v cc chun khng hp l bng cch lp k hoch cht lng chu o sm trong d n. H phi quyt nh nhng chun a vo trong ti liu, m nhng chun khng thay i c ghi vo ti liu, cn nhng chun no c th c chnh sa v nhng chun no c th c b qua. Nhng chun mi c th phi c to ra p ng nhng yu cu ring bit ca tng d n. V d, tiu chun cho cc c t hnh thc c th c yu cu nu nhng c t ny khng c s dng trong cc d n trc. Khi m i c thm kinh nghim vi chng, bn nn lp k hoch chnh sa v a ra nhng chun mi.

Trch nhim qun l Kim sot cc sn phm khng quy tc Gii quyt, lu tr, ng gi v phn pht Cc sn phm ngi mua sm u vo Kim sot qu trnh Trang b kim tra v th nghim R sot li hp ng Kim sot t liu Kim ton cht lng ni b Dch v

H thng cht lng Kim sot thit k (?? Sc mua) Du vt v cn cc ca sn phm Kim tra v th nghim Trng thi kim tra v th nghim Hot ng chnh sa Bn ghi cht lng. o to K thut thng k

9.3.1. ISO 9000

Mt tp hp cc tiu chun quc t m c th c s dng trong vic pht trin ca h thng qun l cht lng trong tt c ngnh cng nghip c gi l ISO 9000. Cc chun ISO 9000 c th c p dng cho nhiu t chc t sn xut cho n cng nghip dch v. ISO 9001 l nhng ci chung nht ca nhng chun ny v p dng cho nhng t chc trong cc qu trnh cht lng dng thit k, pht trin v bo tr sn phm. Mt ti liu phc v (ISO 9000-3) hiu l ISO 9001 cho pht trin phn mm. Mt vi quyn sch m t chun ISO 9000 l c gi tr ( Johnson, 1993; Oskarsson v Glass, 1995; Peach, 1996; Bamford v Deibler, 2003). Chun ISO khng tp trung c th vo vic pht trin phn mm nhng n thit lp nguyn l chung m c th ng dng vo phn mm. Chun ISO 9000 m t nhiu dng bn ngoi khc nhau ca qu trnh cht lng v b cc cc chun t chc v cc th tc t chc m mt cng ty phi nh ra. Nhng chun ny c ghi li trong mt ti liu ch dn cht lng ca t chc. nh ngha qu trnh phi bao gm vic m t cc ti liu c yu cu th hin nhng qu trnh c nh ra c tun theo trong qu trnh pht trin sn phm. Chun ISO 9001 khng nh ngha qu trnh cht lng no nn c s dng. Trn thc t, n khng rng buc cc qu trnh s dng vo trong bt k t chc theo bt

159

k cch no. iu no cho php s mm do trong cc b phn cng nghip v iu ny c ngha rng cc cng ty nh c th c nhng qu trnh khng phc tp v vn tun theo chun ISO 9000. Tuy nhin, s linh hot ny c ngha l bn khng th to ra bt k gi nh no v s tng t hay khc nhau gia qu trnh trong cc cng ty ng dng ISO 9000. Bng 9.4 th hin cc lnh vc bao trm trong ISO 9001. Ti khng khng gian y tho lun chun ny su hn na c. Ince (Ince, 1994) v Oskarrson v Glass (Oskarrson and Glass, 1995) a bn m t chi tit hn v vic lm th no chun c th c s dng pht trin cc qu trnh qun l cht lng phn mm. Cc mi lin quan gia ISO 9000, ti liu ch dn v cht lng v cc k hoch cht lng d n ring bit c th hin trong hnh 27.5.1. Ti ly hnh v ny t mt m hnh c a ra trong quyn sch ca Ince (Ince, 1994).

M hnh cht lng ISO 9000 Th d nh T liu

Ti liu hng dn cht lng t chc


c s dng pht trin

Qu trnh cht lng t chc Th d nh

K hoch cht lng D n 1

K hoch cht lng D n 2

K hoch cht lng D n 2

Qun l cht lng d n

Cung cp Hnh 9.5: ISO 9000 v qun l cht lng Cc th tc m bo cht lng trong t chc c ti liu ho trong ti liu ch dn cht lng, ti liu ny nh ra qu trnh cht lng. Trong mt s quc gia, giy chng nhn quyn s hu chng nhn rng qu trnh cht lng tun theo chun ISO 9001. Ngy cng nhiu khch hng xem giy chng nhn ISO 9000 nh phc v nh l cch chng minh tnh ng n cht lng sn phm ca nh cung cp. Mt s ngi ngh rng giy chng nhn ISO 9000 c ngha rng cht lng ca phn mm c to ra bi cc cng ty c chng thc s tt hn l cc cng ty m cha c chng thc. iu ny khng phi thc s nh vy. Chun ISO 9000 thng l lin quan n nh ngha ca cc qu trnh c s dng trong cng ty v ti liu c lin kt li nh cc qu trnh kim sot m c th th hin mt cch d dng nhng qu trnh c tun theo. N khng lin quan n vic m bo rng nhng qu trnh ny phn nh thc t tt nht, hay cht lng sn phm.

160

V vy, mt cng ty c th nh ra cc th tc kim tra sn phm m dn n vic kim tra phn mm cha hon thnh. Trong mt thi gian di nhng th tc ny c tun theo v c ti liu ho, cng ty nn tun theo chun ISO 9001. Trong khi, trng hp ny l cha chc chn,c mt s chun cng ty l khng thuyt phc v ng gp t vo cht lng phn mm thc.
9.3.2. Cc chun ti liu:

Cc chun ti liu trong mt d n phn mm l quan trng bi v cc ti liu l cch xc thc th hin phn mm v qu trnh phn mm. Cc ti liu tiu chun ho c b ngoi, cu trc v cht lng khng thay i, bi vy n d c v d hiu hn. C ba kiu chun ti liu: 1. Cc chun qu trnh ti liu Nhng chun ny nh ra qu trnh m s c tun theo i vi vic to ra ti liu. 2. Cc chun ti liu Nhng chun ny chi phi cu trc v cch th hin ca cc ti liu. 3. Cc chun trao i ti liu Nhng chun ny m bo rng tt c cc bn sao in t ca cc ti liu l tng thch. Cc chun ti liu qu trnh nh ra qu trnh m c s dng cho vic to ra cc ti liu. iu ny c ngha rng bn sp t cc th tc, bao gm vic pht trin ti liu v cc thit b phn mm c s dng cho vic to ra ti liu. Bn cng c th nh ra vic kim tra v ci tin cc th tc m bo rng cc ti liu c cht lng cao c to ra. Cc chun ti liu cht lng qu trnh phi linh hot v c th thch ng vi nhiu loi ti liu. i vi cng vic trn giy t hay s ghi nh in t, khng cn thit phi kim tra cht lng mt cch r rng. Tuy nhin, i vi cc ti liu chnh thc s c s dng cho vic pht trin sau ny hay chuyn giao cho khch hng, th bn nn s dng qu trnh cht lng chnh qui. Hnh 27.6 l mt m hnh ca qu trnh li liu c th thc hin c. Vic phc tho, kim tra, phc tho li v bin tp li l mt qu trnh lp i lp li. N nn tip din cho n khi mt ti liu cht lng c th chp nhn c c to ra. Mc cht lng yu cu cn tu thuc vo kiu ca ti liu v kh nng ca ngi c ti liu. Cc chun ti liu phi p dng cho tt c cc ti liu c to ra trong mt d n pht trin phn mm. Cc ti liu phi c mt kiu cch v b ngoi n nh. Cc ti liu ca cng mt kiu cng phi c cu trc nh nhau. Mc d cc chun ti liu c th thch ng vi cc yu cu ca d n ring bit, trong thc t l quy lut nh nhau c s dng trong tt c cc ti liu c sn xut bi t chc. Cc v d ca cc chun ti liu c th c pht trin l:
1. Cc chun nhn dng ti liu Khi m nhng d n pht trin h thng ln c th to ra hng nghn cc ti liu, mi ti liu phi c nhn bit duy nht. i vi cc ti liu chnh quy, nhn dng ny c th l nhn dng chnh quy c nh ra bi ngi qun l cu hnh. i vi cc ti liu khng chnh quy, ngi qun l d n c th nh ra mu ca ti liu.

161

2. Cc chun cu trc ti liu Mi lp ca ti liu c to ra trong d n phn mm phi theo mt s cu trc chun. Cc chun cu trc phi nh ra cc mc c thm vo v phi nh r cc quy c c s dng cho nh s trang, thng tin tiu trang, v nh s mc v mc con. 3. Cc chun trnh din ti liu Cc chun trnh din ti liu nh ra quy lut cho cc ti liu v dng gp ng k cho tnh kin nh ca ti liu. Chng bao gm vic nh r ca cc c ch v kiu ch c s dng trong ti liu, cch s dng logo v cc tn cng ty, cch s dng mu sc lm cho ni bt cu trc ti liu,

To bn phc tho ban u Giai on 1

R sot bn phc tho

Kt hp cc bnh lun r sot

T liu ti phc tho

To ra

T liu c thng qua

c v sa bn phc tho

To ra bn phc tho cui cng

Kim tra bn phc tho cui

Giai on 2 Lm mn

T liu c thng qua

B cc trnh by vn bn

Xt duyt b cc

Sn xut in chuyn nghip

In bn d phng

Giai on 3 Sn xut

Hnh 9.6 Mt qu trnh sn xut ti liu bao gm vic kim tra cht lng 4. Cc chun cp nht ti liu Khi m mt ti liu pht trin phn nh cc thay i trong h thng, ch th ph hp cho nhng thay i ti liu s c s dng. Bn c th s dng mu sc biu th phin bn ca vn bn v cc thanh thay i trong mc canh l biu th mt s on c thay i hay c thm vo. Tuy nhin ti khuyn khng nn s dng s thay i t hiu chnh khi c phc v trong mt s b x l vn bn thng c s dng. Nu c nhiu tc gi, s t hiu chnh em li nhiu s kh khn hn l hu dng. Cc chun trao i ti liu l rt quan trng khi m cc bn sao in t ca cc ti liu c trao i. S dng cc chun trao i cho php cc ti liu c truyn i bng tn hiu in v c ti to li di dng nguyn gc. Tha nhn rng s dng cc cng c chun c t trong cc qu trnh chun, cc chun trao i nh ra cc quy c cho vic s dng nhng cng c ny. Cc v d v cc chun trao i bao gm cch s dng mt bng tnh kiu chun nu mt b x l vn bn c s dng hay cc gii hn trong vic s dng cc macro ti liu trnh nhim virus.

162

Cc chun trao i cng c th gii hn cc c ch v cc kiu vn bn c s dng bi v my in khc nhau v kh nng hin th cng khc nhau.

9.4.

Lp k hoch cht lng.

Lp k hoch cht lng l qu trnh ca s pht trin mt k hoch cht lng cho mt d n. K hoch cht lng phi thit lp cc cht lng phn mm c yu cu v m t lm cch no nhng cht lng ny c th c quyt nh. Bi vy n nh ra phn mm cht lng cao thc s c ngha nh th no. Nu khng c s nh trc ny cc k s c th to ra cc gi nh khc nhau v i khi l xung t vi nhau v cc thuc tnh sn phm s c ti u ho. K hoch cht lng s chn nhng chun t chc m n thch hp vi mt sn phm ring bit v qu trnh pht trin. Nhng chun mi c th phi c nh ngha nu d n s dng cc phng php v cng c mi. Humphrey (Humphrey, 1989) trong cun sch kinh in v qun l phn mm, gi rng mt cu trc phn cp cho k hoch cht lng. iu ny bao gm: 1. S gii thiu sn phm Mt m t v sn phm, m t nh hng th trng d nh v cc mong i cht lng cho sn phm. 2. Cc k hoch sn phm K hn pht hnh v cc trch nhim sn phm cng vi cc d n cho vic phn phi v dch v sn phm. 3. Cc m t qu trnh Cc qu trnh pht trin v dch v s c s dng cho qun l v pht trin sn phm. 4. Cc mc tiu cht lng Cc mc tiu v k hoch cht lng cho sn phm bao gm vic xc nh v iu chnh cc thuc tnh cht lng quan trng ca sn phm. 5. Ri ro v qun l ri ro Cc ri ro chnh m c th nh hng n cht lng v cc hot ng sn phm. Cc k hoch cht lng thc s khc bit trong chi tit ph thuc vo kch thc v kiu ca h thng m ang c pht trin. Tuy nhin, khi vit cc k hoch cht lng, bn nn c gng gi cho chng ngn nht c th. Nu nh ti liu qu di, mi ngi s khng th c n, iu ny s ph hu mc nh ca vic tao ra k hoch cht lng. C mt phm vi rng ca cc thuc tnh cht lng phn mm tim nng ( Bng 9.7) m bn nn xem xt trong qu trnh lp k hoch cht lng. Nhn chng ta khng th ti u ho cho tt cc thuc tnh i vi bt k h thng no. V vy trong k hoch cht lng, bn phi nh ra nhng thuc tnh cht lng quan trng nht cho phn mm ang c pht trin. iu ny c th l c hiu qu l quan trng v cc nhn t khc c b qua t c cht lng. Nu bn pht biu iu ny trong k hoch cht lng, cc k s pht trin c th hp tc t c iu ny. K hoch phi bao gm vic nh r qu trnh nh gi cht lng. iu ny nn l mt cch chun ca vic nh gi mt s cht lng, nh kh nng bo tr hay tnh bn vng c hin din trong sn phm.

163

Tnh an ton Tnh bo mt Tnh tin cy ??Tnh mm do Tnh bn vng

Tnh c th hiu c Tnh c th kim tra Tnh thch khi Tnh m un Tnh phc tp

Tnh di ng Tnh tin dng Tnh ti s dng Tnh hiu qu Tnh d hc.

Bng 9.7 Cc thuc tnh cht lng phn mm.

9.5.

Kim sot cht lng

Kim sot cht lng bao gm vic kim tra qu trnh pht trin phn mm m bo rng cc th tc v cc chun m bo cht lng c tun theo. Nh ti tho lun chng trc (hnh 27.1), mc thc hin qu trnh phn mm c kim tra li cc chun d n c nh ra trong qu trnh kim sot cht lng. C hai cch tip cn b xung cho nhau m c th c s dng kim tra cht lng ca mc thc hin ca d n. 1. Vic r sot li cht lng ni m phn mm, ti liu ca n v cc qu trnh s dng to ra m phn mm c r sot bi mt nhm ngi. Vic r sot chu trch nhim vic kim tra cc chun d n c tun theo v phn mm v cc ti liu lm cho ph hp vi nhng chun ny. S lch khi cc chun ny ch v ngi qun l d n c cnh bo ti chng. 2. nh gi phn mm t ng l ni phn mm v cc ti liu c s c to ra x l bi mt s chng trnh v c so snh vi cc chun p dng cho d n pht trin ring bit. nh gi t ng ny c th bao gm vic o mt s thuc tnh phn mm v so snh nhng o vi mt s mc mong mun. Ti s tho lun o phn mm trong mc 27.5.
9.5.1. R sot cht lng

R sot l phng thc c s dng rng ri nht trong vic r sot cht lng ca mt qu trnh hay sn phm. Vic r sot bao gm mt nhm ngi kim tra mt phn hay tt c mt qu trnh phn mm, h thng hay cc ti liu lin quan vi cc vn tim tng pht hin. Cc kt lun ca vic r sot c ghi li v thng qua mt cch chnh thc ti tc gi hay bt k ngi no chu trch nhim vic sa li nhng vn c pht hin. Hnh 9.8 m t ngn gn mt vi loi r sot, bao gm cc r sot i vi qun l cht lng.

164

Kiu r sot

Mc ch ch yu

Kim tra thit k hay Pht hin cc li chi tit trong cc yu cu, thit k hay m. chng trnh Danh sch kim tra cc li c th s dn dt vic r sot. R sot tin . Cung cp thng tin cho vic qun l tin ca d n. y cng va l qu trnh v va l r sot sn phm n c lin quan n chi ph, k hoch, lp lch. Tin hnh cc phn tch cng ngh ca cc thnh phn sn phm hay t liu tm ra ch khng tng xng gia c t v thit k thnh phn, m hay t liu v m bo rng cc chun cht lng c a ra c tun theo.

R sot cht lng

Vn ca i r sot l tm ra cc li v cc mu thun v chuyn giao chng cho ngi thit k hay tc gi ca ti liu. Cc vic r sot c da trn ti liu nhng n khng gii hn ti cc c t, cc thit k hay m. Cc ti liu nh cc m hnh qu trnh, k hoch kim tra, cc th tc qun l cu hnh, cc chun qu trnh v ti liu ch dn ngi dng c th tt c c r sot li. i r sot nn c ht nhn l ba hay bn ngi m c chn nh l ngi r sot ch yu. Mt thnh vin nn l ngi thit k lu nm ngi m c th chu trch nhim cho vic ra quyt nh cng ngh quan trng. Nhng ngi xt duyt quan trng c th mi cc thnh vin d n khc. H c th khng phi xt duyt ton b ti liu. Hn na, h tp trung vo mt s phn m nh hng n cng vic ca h. i r sot c th chuyn ti liu c r sot v yu cu cho cc li ch gii t hnh nh rng ca cc thnh vin d n. Cc ti liu c r sot phi c phn phi tt trc khi xt duyt cho php nhng ngi r sot c th c v hiu chng. Mc d s tr ny c th ph v qu trnh pht trin, vic r sot l khng hiu qu nu i xt duyt khng hiu mt cch ng n cc ti liu trc khi vic r sot din ra.
Vic t r sot nn l tng i ngn (hu ht l hai gi). Tc gi ca ti liu c r sot nn lm ch to vic r sot v mt s khc ghi li tt c cc quyt nh r sot cc hnh ng c xy ra. Trong sut qu trnh r sot, ngi ch to chu trch nhim vic m bo rng tt c cc li ph bnh c ghi chp u c xem xt. V ch to r sot nn ghi vo bn ghi nhn cc li ph bnh v cc hot ng c ng trong qa trnh r sot. Bn ghi nhn ny sao c xem nh l mt phn ca ti liu d n chnh thc. Nu m cc vn th yu c pht hin, mt cuc xt duyt sau c th l khng cn thit. Ngi ch to chu trch nhim i vi vic m bo rng cc thay i c yu cu c quyt nh. Nu nhng thay i chnh yu l cn thit, mt cuc r sot sau c th c xp xp.

9.6. CMM/CMMi 9.6.1. CMM v CMMi l g? CMM v CMMi l chun qun l quy trnh cht lng ca cc sn phm phn mm c p dng cho tng loi hnh cng ty khc nhau. Hay ni cch khc y l cc phng php pht trin hay sn xut ra cc sn phm phm mm.

165

Thng 8/ 2006, SEI (Software Engineering Institute Vin Cng Ngh Phn Mm M) - t chc pht trin m hnh CMM/CMMI chnh thc thng bo v phin bn mi CMMI 1.2. Nh vy l sau gn 6 nm ban hnh v s dng thay th cho CMM (t thng 12/2001), CMMI phin bn 1.1 (CMMI 1.1) c chnh thc thng bo vi l trnh thi gian chuyn tip ln phin bn mi CMMI 1.2. Mc d s lng cc cng ty phn mm ti Vit Nam t c CMM/CMMI n nay vn cha nhiu, nhng vi s khi sc trong lnh vc gia cng v sn xut phn mm vi nm tr li y, s cnh tranh cng nh yu cu ngy cng cao ca khch hng, thc y cc cng ty xy dng h thng qun l cht lng theo cc m hnh quc t. C nhng khc bit ng k gia CMMI 1.1 v CMMI 1.2, trong khun kh mt bi vit chng ti c gng nu nhng nt c bn nht, nhm gip bn c c ci nhn tng qut, t d dng nh hng cho vic nghin cu chi tit hn v CMMI 1.2. CMM v CMMi l mt b khung (framework)nhng chun ra cho mt tin trnh sn xut phn mm hiu qu, m nu nh cc t chc p dng n s mang li s kh dng v mt chi ph, thi gian biu, chc nng v cht lng sn phm phn mm. M hnh CMM v m t cc nguyn tc v cc thc tin nm bn trong tnh thnh thc qu trnh phn mm v ch gip cc cng ty phn mm hon thin kh nng thun thc qu trnh sn xut phn mm, i t t pht, hn n ti cc qu trnh phn mm thnh thc, c k lut. Bng vic thc hin CMM cc cng ty thu c nhng li ch xc thc, gim c ri ro trong pht trin phn mm v tng c tnh kh bo - do tr thnh i tc hay mt nh cung ng hp dn hn i vi cc khch hng trn ton th gii. Tuy nhin, CMM khng phi khng i hi chi ph. Nhng ngun lc ng k ca cng ty phi c dnh cho vic hng ti cc vng tin trnh then cht, cn thit ln tng bc thang ca chng nhn CMM. CMM a ra mt lot cc mc biu th mc thnh thc t c. Mc 1 ng vi mc thnh thc thp nht v mc 5 ng vi mc thnh thc cao nht. Gn y, SEI xc tin CMMi, mt m hnh k tha CMM v CMMi hin nay cc cng ty cng ang bt u trin khai vic s dng m hnh ny 9.6.2. Cu trc ca CMM 9.6.2.1. Cc level ca CMM

CMM bao gm 5 levels v 18 KPAs(Key Process Area) 5 levels ca CMM nh sau: - 1: Initial, 2: Repeatable,3: Defined,4: Managed, 5: Optimising Ni cch khc mi mt level u tun theo mt chun mc cao hn. Mun t c chun cao hn th cc chun ca cc level trc phi tho mn. Mi level u c c im ch quan trng ca n cn cc doanh nghip phi p ng c Level 1 th khng c KPAs no c Level 2 : c 6 KPAs Level 3: c 7 KPAs

166

Level 4: c 2 KPAs Level 5: c 3 KPAs 18 KPAs ca CMM c u c 5 thuc tnh(chc nng) chung trong c cc qui nh v key pratice l nhng hng dn v cc th tc(procedure), qui tc(polities), v hot ng (activites)ca tng KPA. u tin ta c cu trc ca mt KPA vi 5 im c chng(common feature) nh sau: ------KPA Goals ------------------|| || 12345 Trong thc hin KPA ny ta cn phi thc hin theo nhng qui tc sau bo m t c KPA : (1) Commitment to Perform ( Tm dch l cam kt thc hin) (2) Ability to Perform (3) Activities Peformed (Kh nng thc hin) (Cc hot ng lu di) (Khun kh v phn tch)

(4) Measurement and Analysis (5) Verifiying and Implementation

Cp 5 Ti u
Cp 4 c qun l nh lng

Cp 3 c nh ra Cp 2 c qun l Cp 1 Ban u

167

9.6.2.2.

Cc level ca CMM

v Level 1 Level 1 l bc khi u ca CMM, mi doanh nghip, cng ty phn mm, c nhm, c nhn u c th t c. lever ny CMM cha yu cu bt k tnh nng no. V d: khng yu cu quy trnh, khng yu cu con ngi, min l c nhn, nhm, doanh nghip u lm v phm mm u c th t ti CMM ny. c im ca mc 1: Hnh chnh: Cc hot ng ca lc lng lao ng c quan tm hng u nhng c thc hin mt cch vi v hp tp Khng thng nht: o to qun l nhn lc nh l ch yu da vo kinh nghip c nhn Quy trch nhim: Ngi qun l mong b phn nhn s iu hnh v kim sat cc hot ng ca lc lng lao ng Quan liu: Cc hot ng ca lc lng lao ng c p ng ngay m khng cn phn tch nh hng Doanh s thng xuyn thay i: Nhn vin khng trung thnh vi t chc v Level 2 C 6 KPA n bao gm nh sau

- Requirement Management ( Ly yu cu khch hng, qun l cc yu cu ) - Software Project Planning ( Lp cc k hoch cho d n) - Software Project Tracking (Theo di kim tra tin d n) - Software SubContract Managent ( Qun tr hp ng ph phn mm) - Software Quality Assurance (m bo cht lng sn phm) - Software Configuration Management (Qun tr cu hnh sn phm=> ng yu cu ca khch hng khng)
Khi ta p dng Level 2, KPA 2(Software Project Planning), ta s c nhng common feature(c im c trng) nh sau: Mc tiu(Goal): cc hot ng v nhng xut ca mt d n phn mm phi c ln k hoch v vit ti liu y xut/ Xem xt (Commitment): d n phi tun th theo cc qui tc ca t chc khi hoch nh Kh nng(Ability): Vic thc hin lp k hoch cho d n phn mm phi l bc thc hin t rt sm khi d n c bt u o lng(Measument): S o lng lun c thc thi v s dng chng ta lun c th xc nh v kim sot c tnh trng cc hot ng trong tin trnh thc hin d n

168

Kim chng(Verification): Cc hot ng khi lp k hoch d n phi c s reviewed ca cp senior manager Cu hi c t ra y l vy th vai tr ca QA s nh th no trong vic thc hin project plan, ti khng cp n vai tr Project Manager v anh ta phi bit v cc nguyn tc v estimates project theo Function Point, Line of Code v.v... Ni n software quality, t hn cc bn QA khng th khng bit n tam gic qu "Quality Triangle" (Cost,Functionality,Schedule) => ng chc nng , ng chi ph, v ng thi hn. ra ci gi l cht lng phn mm, th phi c ngi review v kim chng n. Chng ti t ra cc tiu chun ca qui trnh m t chng ti sn xut c phn mm tt nht, chng ti thc hin v chng ti c nhng ngi kim chng v theo st cc hot ng ca nhm thc hin project sao cho ng qui trnh. Vng l QA Engineer, lu nay vai tr ca ngi QA trong cc cng ty phn mm b ng ho vi vai tr ca mt tester hay cn gi l QC - Quality Control. t c Level 2 th ngi qun l phi thit lp c cc nguyn tc c bn v qun l cc hot ng din ra. H c trch nhim qun l i ng ca mnh

Cc KPA( Key Process Areas) ca n ch trng ti cc thnh phn sau : + Ch i ng + o to + Qun l thnh tch + Phn cng lao ng + Thng tin giao tip + Mi trng lm vic S c ngi hi t level1 tin ti level 2 cn c nhng g: Tr li: Trc tin n phi tha mn cc iu kin level1 Tip theo l phi ch trng ti cc phn sau 1. Mi trng lm vic: - m bo iu kin lm vic - To hng th trong cng vic - Khng b nh hng, mt tp trung bi cc nhn t khc 2. Thng tin: Xy dng c ch truyn tin thng sut t trn xung di v ngc li nhm gip c nhn trong t chc chia s thng tin, kin thc, kinh nghim, cc k nng giao tip phi hp v lm vic hiu qu 3. Xy dng i ng nhn vin: Ngay t khu tuyn dng, la chn k cng v nh hng, th ch ha quy trnh tuyn dng 4. Qun l thnh tch: y mnh thnh tch, cng nhn nng lc, thnh tch bng cch thit lp cc tiu ch khch quan nh gi v lin tc khuyn khch kh nng lm vic, tp trung pht trin s nghip, xy dng cc mc tiu tip theo. 5. o to: Khng ch o to cc kin thc chuyn mn phc v cho d n m cn m rng o to cc k nng then cht, cn thit nh k nng lm vic i, nhm, k nng qun l nhm to c hi cho ngi lao ng pht huy kh nng, c hi hc hi v pht trin bn thn.
169

6. Ch i ng: Hoch nh chin lc i ng, thu thp kin lc lng lao ng v cng b cng khai. Ch i ng cn tp trung vo vic tr lng cho cng nhn vin da vo vai tr, v tr ca h (Position), Con ngi (Person) thi v tc phong lm vic v Thnh tch (Performance) m h t c, cng hin cho t chc. a ra c chnh sch lng, thng, ph cp cc cc quyn li khc khuyn khch cc c nhn da trn s ng gp ca h v cp pht trin ca ton t chc.
v Level 3 Cc vng tin trnh ch cht mc 3 nhm vo c hai vn v d n v t chc, v mt t chc (cng ty) to nn cu trc h tng th ch cc qu trnh qun l v sn xut phn mm hiu qu qua tt c cc d n. Chng gm c Tp trung Tin trnh T chc (Organization Process Focus), Phn nh Tin trnh T chc (Organization Process Definition), Chng trnh o to (Training Program), Qun tr Phn mm Tch hp (Integrated Software Management), Sn xut Sn phm Phn mm (Software Product Engineering), Phi hp nhm (Intergroup Coordination), v Xt duyt ngang hng (Peer Reviews). t c level 3 th ngi qun l phi bin i ci tin cc hot ng ang din ra, ci tin mi trng lm vic.

Lc lng lao ng s hu nhng kin thc, k nng ct li KPA ch trng ti cc yu t sau : + Vn ha c th + Cng vic da vo k nng + Pht trin s nghip + Hoch nh nhn s + Phn tch kin thc v k nng
T Level 2 ln Level 3: Cc KPA cn thc hin

1. Phn tch kin thc v k nng:


Xc nh nhng k nng v kin thc cn thit lm nn tng cho hot ng nhn s. Lnh vc phn tch ny bao gm: xc nh quy trnh cn thit duy tr nng lc t chc, pht trin v duy tr cc k nng v kin thc phc v cng vic, d bo nhu cu kin thc v k nng trong tng lai.

2. Hoch nh ngun nhn lc:


y l lnh vc phi hp hot ng nhn s vi nhu cu hin ti v trong tng lai c cc cp v ton t chc. Hoch nh ngun nhn lc c tnh chin lc cng vi quy trnh theo di cht ch vic tuyn dng v cc hot ng pht trin k nng s to nn thnh cng trong vic hnh thnh i ng.

3. Pht trin s nghip:


To iu kin cho mi c nhn pht trin ngh nghip v c c hi thng tin trong ngh nghip, n bao gm: tho lun v la chn ngh nghip vi mi c nhn, xc nh cc c hi, theo di s tin b trong cng vic, c ng vin, khuyn khch t
170

mc tiu cng vic, giao quyn v khuyn khch thc hin nhng mc tiu trong cng vic.

4. Cc hot ng da trn nng lc:


Ngoi cc k nng, kin thc ct li cn c hoch nh nhn lc, tuyn dng da vo kh nng lm vic, nh gi hiu qu qua mi cng vic v v tr, xy dng ch phc li, i ng da trn hiu qu gip bo m rng mi hot ng ca t chc u xut pht t mc ch phc v cho pht trin ngun nhn lc

5. Vn ha c th:
To lp c c ch lin lc thng sut, knh thng tin hiu qu mi cp trong t chc, phi hp c kinh nghim, kin thc ca mi ngi h tr ln nhau, gip nhau cng tin b. Trao quyn thc y nhn vin tham gia kin, ra quyt nh v Level 4 Cc vng tin trnh ch yu mc 4 tp trung vo thit lp hiu bit nh lng ca c qu trnh sn xut phn mm v cc sn phm phn mm ang c xy dng. l Qun l qu trnh nh lng (Quantitative Process Management) v Qun l cht lng phn mm (Software Quality Management) Lc lng lao ng lm vic theo i, nhm v c qun l mt cch nh lng.

Cc KPA ca level 4 ch trng ti: + Chun ha thnh tch trong t chc + Qun l nng lc t chc + Cng vic da vo cch lm vic theo nhm + Xy dng i ng chuyn nghip + C vn
t c level 4 th phi o lng v chun ha. o lng hiu qu p ng cng vic, chun hac pht trin cc k nng, nng lc ct li Level 4 ny s ch trng vo nhng ngi ng u ca mt cng ty, h c kh nng qun l cc cng vic nh th no v Level 5 Cc vng tin trnh ch yu mc 5 bao trm cc vn m c t chc v d n phi nhm ti thc hin hon thin qu trnh sn xut phn mm lin tc, o m c. l Phng nga li (Defect Prevention), Qun tr thay i cng ngh (Technology Change Management), v Qun tr thay i qu trnh (Process Change Management) t c level 4 th phi o lng v chun ha. o lng hiu qu p ng cng vic, chun hac pht trin cc k nng, nng lc ct li t c Level 5 th doanh nghip phi lin tc ci tin hot ng t chc, tm kim cc phng php i mi nng cao nng lc lm vic ca lc lng lao ng trong t chc, h tr cc nhn pht trin s trng chuyn mn. Ch trng vo vic qun l, pht trin nng lc ca nhn vin

171

Hun luyn nhn vin tr thnh cc chuyn gia 9.6.3. So snh gia CMM v CMMi Hn nhng ai quan tm ti CMM, cng tng nghe hoc bit qua CMMI . V khi nghe qua, ti on khng t ngi thm thc mc, hoc t hi rng khng bit CMM vi CMMI n khc nhau ra sao nh ??? Nu c t mt cc trc quan th ta thy CMM v CMMI ch khc nhau c mt ch I (Integration). Nhng mt ch I thi cng to ra s khc bit ng k gia CMM v CMMI ri. Trc tin hy xem qua ngun gc ca hai th ny mt t . Nu ni rng CMM ra i trc CMMI th cng ng nhng m ni CMMI c trc t khi CMM ra i cng chng sai. Tht ra khi CMM c chnh thc cng b vo cui nm 1990 th CMMI c manh mng c nhc n t nhiu nm trc (chnh xc hn l t 1979- Crosbys maturity grid (Quality is Free)) thng qua cu trc Continuous & Staged. C th ni CMMI l mt phin bn ci thin tt yu ca CMM. Trong khi CMM c hon thin v pht trin bi vin SEI ca M, th CMMI l sn phm ca s cng tc gia vin ny v chnh ph M. T khi CMM c cng nhn v p dng trn th gii th tm quan trng ca n vt qua gii hn ca mt vin khoa hc. Vi tc pht trin khng ngng v i hi s ci thin lin tc trong ngnh cng ngh thng tin, vic chnh ph M cng vi vin SEI kt hp hon thin CMM v cho ra i phin CMMI l mt h qu tt yu. M hnh CMM trc y gm c 5 mc: khi u, lp li c, c nh ngha, c qun l v ti u. Mt im c bit l mi doanh nghip c th p dng m hnh CMM bt k mc no m khng cn tun theo bt k mt qui nh no, khng cn phi t mc thp trc ri mi c th t mc cao (c th i thng ln mc cao, hoc cng c th t h xung mc thp hn). V nguyn tc, SEI khng chnh thc ng ra cng nhn CMM m thng qua cc t chc t vn, cc nh gi trng c SEI y quyn v tha nhn. T cui 2005, SEI khng t chc hun luyn SW-CMM v ch tha nhn cc nh gi theo m hnh CMMi mi t thng 12/2005. CMMi c tch hp t nhiu m hnh khc nhau, ph hp cho c nhng doanh nghip phn cng v tch hp h thng, ch khng ch n thun p dng cho doanh nghip sn xut phn mm nh CMM trc y. C 4 m hnh p dng CMMi l CMMi-SW (dnh cho cng ngh phn mm), CMMi-SE/SW (dnh cho cng ngh h thng v phn mm), CMMiSE/SW/IPPD (dnh cho cng ngh h thng + cng ngh phn mm vi vic pht trin sn phm v quy trnh tch hp), CMMi-SE/SW/IPPD/SS (dnh cho cng ngh h thng + cng ngh phn mm vi vic pht trin sn phm v quy trnh tch hp c s dng thu ph). C 2 cch din t v s dng CMMi: Staged (ph hp cho t chc c trn 100 ngi) v Continuos (ph hp cho t chc di 40 ngi). CMMi cng bao gm 5 mc nh CMM: khi u, lp li c, c nh ngha, c qun l v ti u. CMMI a ra c th cc m hnh khc nhau cho tng mc ch s dng c c ring bao gm :

- CMMI-SW m hnh ch dnh ring cho phn mm.

172

- CMMI-SE/SW m hnh tch hp dnh cho cc h thng v k s phn mm. - CMMI-SE/SW/IPPD m hnh dnh cho cc h thng, k s phn mm v vic tch hp sn phm cng qu trnh pht trin n.
Nh vy cc c im khc nhau quan trng nht gia CMM v CMMI l g? Th ngha qua xem trong CMMI hin nay c g khc vi thng anh sinh ra trc n (CMM):

- CMMI a ra c th hn 2 khi nim i ng stageds VS continuous - Chu k pht trin ca CMMI c pht trin sm hn. - Nhiu kh nng tch hp (Integration) hn - S o lng, nh lng c nh ngha hn l mt Process area (vng tin trnh). Ch khng hn ch l mt c trng c bn. - Bao hm nhiu Process Areas hn. - t c thnh qu d dng hn vi mi Process area.
9.6.4. Li ch ca CMM em li cho doanh nghip 1. Vin cnh m CMM mang li - ngha ca vic p dng nhng nguyn tc: + Qun l cht lng tng th + Qun l ngun nhn lc + Pht trin t chc + Tnh cng ng + Phm vi nh hng rng: t cc nghnh cng nghip n chnh ph + Hon ton c th xem xt v m rng tm nh hng vi bn ngoi + Chng trnh lm vic nhm ci tin, nng cao hot ng ca i ng lao ng + nh gi ni b + Cc hot ng ca i ng lao ng c ci tin

+ Cc chng trnh nhm nng cao nng lc, hiu qu cng vic lun c t chc
2. Mc tiu chin lc - Ci tin nng lc ca cc t chc phn mm bng cch nng cao kin thc v k nng ca lc lng lao ng - m bo rng nng lc pht trin phn mm l thuc tnh ca t chc khng phi ca mt vi c th - Hng cc ng lc ca c nhn vi mc tiu t chc - Duy tr ti sn con ngi, duy tr ngun nhn lc ch cht trong t chc 3. Li ch CMM mang li cho Doanh nghip gi gn trong 4 t: Attract, Develop, Motivate v Organize 4. Li ch CMM mang li cho ngi lao ng: - Mi trng lm vic, vn ha lm vic tt hn - Vch r vai tr v trch nhim ca tng v tr cng vic - nh gi ng nng lc, cng nhn thnh tch - Chin lc, chnh sch i ng lun c quan tm - C c hi thng tin - Lin tc pht trin cc k nng ct yu.

173

CHNG 10: QUN L CU HNH Mc ch

Mc ch ca chng ny l gii thiu v qu trnh qun l m v ti liu ca mt h thng phn mm m rng. Khi bn bn c xong chng ny bn s: hiu ti sao qun tr cu hnh phn mm li c i hi cho nhng h thng phn mm phc tp; c gii thiu ti bn hot ng qun tr cu hnh c bn- k hoch qun l, qun l thay i, qun l phin bn v bn pht hnh, v xy dng h thng. hiu cng c CASE c s dng nh th no h tr cho qu trnh qun l.

10.1. Gii thiu

Qun tr cu hnh(CM ) l s m rng v s dng ca nhng tiu chun v th tc cho qun l mt h thng phn mm m rng. Nh cp chng 7, nhng i hi ca h thng lun lun thay i trong sut qu trnh pht trin v s dng, v bn phi t chc st nhp nhng yu cu ny vo trong nhng phin bn mi ca h thng. Bn cn qun l vic m rng h thng bi v rt d sai lm khi theo di nhng thay i no c a vo phin bn no ca h thng. Nhng phin bn hp nhng xut thay i, s chnh xc v tng thch cho nhng phn cng v h iu hnh khc nhau. C th mt vi phin bn c m rng v s dng trong cng mt thi gian. Nu bn khng c mt cch thc qun l cu hnh hiu qu trong trng hp ny bn s phi tn rt nhiu n lc cho vic sa cha nhng phin bn li ca h thng, hay phn phi nhng phin bn ny ti ngi dng hoc mt kim sot ni m m phn mm c lu tr. Th tc qun tr cu hnh cho bit lm th no ghi chp v gim st nhng thay i ca h thng c xut, lm sao lin h nhng iu ny ti nhng thnh phn ca h thng v nhng phng php c s dng ch ra nhng phin bn khc nhau ca h thng. Nhng cng c qun tr cu hnh c s dng lu tr nhng phin bn ca thnh phn h thng, xy dng h thng t nhng thnh phn ny v theo di vic phn phi cc phin bn ti khch hng. Qun tr cu hnh i khi c xem nh l mt phn ca qu trnh qun l cht lng phn mm (chng 27), v cng vic qun l cht lng v trch nhim qun l. Phn mm ban u c a ra bi ngi pht trin vi s bo m v cht lng. Cn QA th kim tra vic cht lng ca h thng c chp nhn c hay khng. N tr thnh mt h thng iu khin, iu c ngha rng s thay i ca h thng phi c chp nhn v ghi li trc khi n c thc thi. iu khin h thng i khi c gi l ng c bn(baselines) v n l im bt u cho mt cuc cch mng xa hn. C rt nhiu nguyn nhn gii thch ti sao nhng h thng li tn ti trong nhng cu hnh khc nhau. Cc cu hnh c th c a ra cho nhng my tnh khc nhau, cho nhng h iu hnh khc nhau, hay cho vic kt hp nhng chc nng ring ca khch hng(hnh 9.1) Nhng nh qun tr cu hnh c trch nhim trong vic gim st s khc nhau gia cc

174

phin bn phn mm, m bo rng nhng phin bn mi c pht hnh trong tm kim sot v a ti ng khch hng ti ng thi im.

Bn cho my HP Bn cho Window XP H thng u tin Bn cho my PC Bn cho Linux Bn cho my Sun

Bn cho My bn Bn cho My ch

Hnh 29.1-Quan h cc h thng Vic nh ngha v s dng nhng tiu chun qun tr cu hnh l cn thit vi vic chng nhn cht lng trong c hai tiu chun ISO9000 v CMM v CMMI. Mt v d v mt tiu chun l IEEE 828-1998, l mt chun cho chin lc qun tr cu hnh. Trong mt cng ty, nhng tiu chun ny c th c a vo s tay hng dn cht lng hay sch ch dn qun tr cu hnh. Tt nhin, nhng tiu chun m rng ni chung c th c s dng nh mt nn tng cho nhng chun c t chc chi tit hn. Mt qu trnh pht trin phn mm thng thng da trn m hnh thc nc (waterfall), phn mm c a ti i ng nh qun tr cu hnh sau khi vic m rng hon tt v nhng thnh phn khc nhau c kim tra. i ng ny sau s tip qun trch nhim cho vic xy dng h thng hon thin v qun l kim tra h thng. Nhng li c pht hin qu trnh kim tra h thng s c gi li i ng nh m rng sa cha. Sau khi li c sa mt phin bn mi ca thnh phn c sa cha c gi ti nh bo m cht lng. Nu cht lng l chp nhn c th n c th tr thnh mt con ng c bn mi i ti vic pht trin h thng xa hn. Trong m hnh ny, vic nhng CM iu khin m rng h thng v kim tra cc qu trnh c nh hng ti vic pht trin cc tiu chun qun tr cu hnh. Hu ht cc chun CM u c nhng tin c nhng vo ci m m hnh thc nc s c s dng cho vic pht trin h thng. iu c ngha l nhng tiu chun phi c cp nht thng xuyn tng thch vi nhng thay i v nhng tin b mi ca h thng. Hass (Hass,2003) cho rng nhng s tng thch cho qu trnh m rng h thng phn mm din ra rt nhanh chng. tng trng li nhun, mt s t chc m rng cch tip cn ti qun tr cu hnh h tr vic pht trin v kim tra h thng hin hnh. Cch tip cn ny da trn tn sut xy dng rt cao ton b h thng t nhng thnh phn ca n:

175

1.

Cc t chc pht trin thng xp xp phn phi thi gian cho cc thnh phn ca h thng nhm theo di hot ng ca n. Nu nhng ngi pht trin c nhng phin bn mi ca cc thnh phn ny th h s th nghim ngay trong khong thi gian ny. Cc thnh phn c th khng c hon thnh nhng n c th cung cp nhng chc nng c bn c th c kim tra. Mt phin bn mi ca h thng c xy dng t nhng thnh phn ny bng cch bin tp v lin kt chng li. H thng ny s c a ti nhng ngi kim tra (tester), ni m s thi hnh mt lot cc cc cuc kim tra c xc nh trc. Trong cng thi gian ny nhng ngi pht trin vn lm vic vi nhng phn vic ca h, nh l thm cc tnh nng mi v sa li c tm ra k kim tra trc. Nhng li c tm thy khi kim tra s l nhng t liu v c a tr li ngi pht trin. H sa nhng li ny nhng phin bn sau ca cc thnh phn.

2. 3.

4.

Nhng tin li ca vic xy dng phn mm hng ngy theo kiu ny cho php tm ra cc vn ny sinh trong tng tc gia cc thnh phn mt cch d dng khi m mc x l ngy cng tng.Hn th na, Vic ny cn khuyn khch vic kim tra t m cc thnh phn. V mt tm l, cc nh m rng cn b nng di p lc ca vic khng c ph v h thng v mi thnh phn c th lm hng ton b h thng. S s dng thnh cng vic xy dng h thng lin tc i hi mt tin trnh qun l nghim ngt theo di cc vn c pht hin v sa cha. Qun l cu hnh tt l cn thit i ti thnh cng. Qun l cu hnh vi nhng cch thc tip cn linh hot v mm do khng th da trn nhng nh sn xut cng nhc v trn cng vic giy t. Trong khi iu ny l cn thit cho nhng d n ln v phc tp, n li lm chm tin trnh m rng. Vic theo di st sao l cn thit cho nhng h thng ln v phc tp c m rng thng qua cc thng s, nhng khng cn thit cho nhng d n nh. Trong nhng d n ny ton b thnh vin ca nhm lm vic vi nhau trong cng mt phng, v vic nng cp c lin quan n vic theo di lm chm tin trnh m rng. Tuy nhin, iu khng hon ton c ngha l CM nn c t b khi m vic m rng linh hot c yu cu. ng hn l, nhng qu trnh linh hot s dng nhng cng c CM n gin, ging nh l mt m hnh qun l v cng c xy dng h thng. Tt c cc thnh vin phi hc s dng cc cng c ny v thch nghi vi nhng k lut m h phi tun hnh.

10.2. K hoch qun tr cu hnh

Mt k hoch qun tr cu hnh m t nhng tiu chun v th tc l nhng ci c th c s dng cho qun tr cu hnh. im bt u cho vic m rng k hoch c th l mt tp cc tiu chun qun tr cu hnh, v nhng ci ny c th tng thch cho ph hp vi nhng yu cu v sc p ca mi d n. K hoch qun l c th c phn theo cc mc sau: 1. nh ngha nhng ci g c qun l v chin lc bn s dng ch ra cc thc th ny.
176

2. 3. 4. 5.

a ra ngi no c trch nhim cho nhng th tc qun tr cu hnh v cho vic a ra nhng thc th ti nhng ngi qun tr cu hnh. nh ngha nhng ng li qun l ci m ton i phi s dng thay i vic iu khin v cc m hnh qun l. Ch ra nhng cng c bn c th s dng cho qun tr cu hnh v nhng tin trnh s dng nhng cng c ny. M t kin trc ca cu hnh c s d liu c dng thng bo thng tin v cu hnh nhng thng tin c th c lu tr trong c s d liu.

Bn cng c th tnh n nhng vn khc trong k hoch qun tr nh l vic qun l phn mm t nhng ngun m rng v th tc kim ton cho tin trnh qun l. Mt phn quan trng ca k hoch qun tr (KHQT) l vic nh ngha trch nhim. K hoch c th a ra ngi c trch nhim cho vic phn phi cc ti liu hoc phn mm bo m cht lng. C nhn c trch nhim cho vic phn phi ti liu cn khng trng vi ngi c trch nhim cho sn xut ti liu. lm n gin mt ny, ngi qun l d n hoc i ng ng u phi c trch nhim cho tt c ti liu c h a ra.
11.1.1. Xc minh cc cu hnh

Trong mt h thng phn mm ln, c th c hng nghn mun m ngun, tp lnh kim tra, ti liu thit k v nhiu th khc. Chng c a ra bi nhng ngi khc nhau v khi to ra, c th c gn ging nhau hoc l trng tn. theo di tt c nhng thng tin ny th cc file cn phi c tm thy khi cn thit, bn cn c mt chin lc xc minh nht qun cho mi ch mc trong h thng qun tr cu hnh. Trong sut tin trnh lp k hoch qun tr cu hnh, bn quyt nh chnh xc mc no(hoc lp mc no) c iu khin. Nhng ti liu hoc cc nhm ti liu gn nhau khi c xc lp l nhng ti liu trang trng r rng. Nhng k hoc ca d n, bn m t, bn thit k, chng trnh v kim tra d liu thch hp c duy tr thng xuyn nh l mt loi ca cu hnh. Tt c cc ti liu m c th c ch cho cuc cch mng h thng trong tng lai u c th c iu hnh bi h thng qun tr cu hnh. Tuy nhin, iu khng c ngha l mi ti liu hay tp lnh c a ra u chu s gim st ca iu hnh cu hnh. Nhng ti liu k thut, nhng pht gp g trao i, nhng bn phc tho, nhng xut c th khng c lin quan hoc khng cn thit cho s duy tr h thng trong tng lai. K hoch xc minh cc ch mc cho cu hnh cn c gn lin vi mt tn duy nht cho mi ti liu di s gim st ca vic iu hnh cu hnh. Ci tn ny c th phn nh loi mc, phn ca h thng m n m ch ti. Trong vic nh tn k hoch ca bn, bn c th mong rng mong phn nh mi quan h gia cc ch mc bng vic m bo rng nhng ti liu c lin quan vi nhau c mt gc chung vi tn ca chng. T bn c th nh ngha mt lp cc tn c phn cp nh: PCL-TOOLS/EDIT/FORMS/DISPLAY/AST-INTERFACE/CODE PCL-TOOLS/EDIT/HELP/QUERY/HELPFRAMES/FR-1

177

Cng c PCL

Bin tp

Kt ni

Son tho

To bn tin

Khun dng

Kin trc

Tr gip

Hin th

Truy vn

Khun dng-Specs

Giao din_AST

Khun dng_IO

i tng

Kim tra

Hnh 10.2-Phn cp cu hnh Phn u ca tn l tn d n, PCL-TOOLS.Trong d n ny, c mt s lng cc cng c ang c m rng, do tn cng c (EDIT) c s dng nh phn tip theo ca tn. Mi cng c bao gm nhiu mun tn khc nhau m tn ca n to nn thnh phn tip theo ca ch mc xc minh (FORMS, HELP). Qu trnh phn tch ny cn tip tc cho ti ti liu chnh thc cp c bn l nhng tham chiu (hnh 29.2). Vic phn cp ti liu s a ra nhng ch mc cu hnh chnh thc. Hnh 9.2 ch ra ba ch mc c yu cu cho mi thnh phn: mt i tng m t (OBJECTS), m ngun ca phn t (CODE) v mt tp cc cuc kim tra cho cc phn t (TESTS). Cc ch mc nh nhng frame tr gip cng c qun l v c nhiu tn khc nhau (FR-1) Chin lc phn cp nh du tn rt n gin v d hiu, v i khi n cn ch ra cu trc th mc thng l ni cha file ca d n. Tuy nhin n phn nh cu trc ca d n m phn mm c pht trin. Tn ca cc ch mc cu hnh lin kt cc thnh phn vi d n thc t v c th lm gim vic s dng tr li. C th rt kh tm thy cc thnh phn c lin quan ti nhau (chng hn, mi thnh phn u c m rng cng mt lp trnh vin) do mi quan h khng c phn nh trong chin lc nh tn cc ch mc.
11.1.2. C s d liu ca cu hnh

C s d liu cu hnh c s dng thng bo cc thng tin c lin quan v cu hnh h thng v cc ch mc. Bn s dng c s d liu CM gip truy cp vo nhng thay i ca h thng v a ra nhng thng bo v tin trnh qun l. Nh mt phn ca tin trnh k hoch ha CM, bn nn a ra gin c s d liu qun l, nh hnh vic thu thp thng tin a vo trong c s d liu, t gip thng bo v truy xut thng tin v d n.

178

Mt c s d liu cu hnh khng bao gm thng tin v cc ch mc cu hnh. N c th thng bo cc thng tin v nhng ngi s dng ca cc thnh phn, h thng khch hng, nn tng thc thi, nhng xut cho thay i. N c th cung cp nhng gii p cho rt nhiu cu hi khc nhau v cu hnh h thng. Nhng thc mc in hnh nh l: 1.
2. 3. 4. 5. 6.

Khch hng no va mi c phn phi mt phin bn ring bit ca h thng? Cu hnh phn cng v h iu hnh cn i hi nh th no chy phin bn ca h thng? C bao nhiu phin bn c to ra v ngy to ra chng? Phin bn no c th c hiu qu nu mt thnh phn ring bit b thay i? C bao nhiu i hi thay i l ni bt trn mt phin bn thc t? C bao nhiu trch li c thng bo tn ti trn mt phin bn thc t?

Nu l l tng, c s d liu cu hnh nn c tch hp cng vi phin bn ca h thng qun l ni m c s dng lu tr v qun l cc ti liu chnh thc ca d n. Cch lm ny, c h tr bi mt s cng c CASE, to cho chng c kh nng lin kt trc tip cc ti liu v thnh phn c hiu qu. Lin kt gia cc ti liu (nh ti liu thit k) v m chng trnh c th c duy tr bn c th tm thy c mi th m bn cn phi chnh sa li khi m mt s thay i c xut. Tuy nhin, cc cng c tch hp CASE cho qun tr cu hnh l rt t. Rt nhiu cng ty khng s dng chng nhng li duy tr c s d liu cu hnh tch ri vi h thng qun l cu hnh ca h. H lu tr cc ch mc cu hnh nh l nhng file trong cu trc th mc hoc trong h thng qun l phin bn nh CVS. C s d liu cu hnh lu tr thng tin v cc ch mc cu hnh v tham chiu n tn ca chng trong h thng qun l phin bn hoc file lu tr. Trong khi l mt cch lm r tin v mm do th vn t ra vi n l cc ch mc cu hnh c th b thay i m khng thng qua c s d liu cu hnh. T , bn khng th chc chn rng c s d liu cu hnh l mt h c cp nht hng ngy cc trng thi ca h thng.

11.2. Qun l vic thay i

Thay i l mt thc t ca i sng ca nhng h thng phn mm ln. Nh cp n cc chng trc, vic t chc cn v i hi thay i trong sut qu trnh sng ca mt h thng. iu c ngha l bn cn to ra nhng s thay i cho ph hp vi h thng phn mm. chc chn rng s thay i l c cp nht vo h thng theo ng ng li c kim sot, bn cn c mt tp cc cng c h tr, cc th tc qun l thay i. Cc th tc qun l thay i c lin h vi vic phn tch gi tr v li ch ca vic thay i theo xut. Tin trnh qun l thay i (hnh 29.3) c th c hnh thnh c hiu qu khi phn mm hay ti liu lin quan c vch ra bi i ng nhng ngi qun tr cu hnh.

179

Chng u tin trong tin trnh qun l l hon tt hnh thnh yu cu vic m t (Change Request Form-CRF) s thay i m h thng i hi. CRF a ra thng bo n lu n s thay i, gi tr c lng ca s thay i v ngy khi m s thay i c yu cu, tn thnh, thc thi v c hiu lc. CRF c th bao gm mt phn phn tch bn ngoi vic thay i c thc thi th no. Mt v d ca vic hnh thnh yu cu thay i c ch ra trong hnh 29.4. CRF c xc nh trong sut qu trnh lp k hoch qun tr cu hnh. Mt v d CRF l c th c s dng trong mt d n cho mt h thng ln v phc tp. i vi nhng d n nh, chng ti cho rng yu cu thay i c th c thng bo chnh thc, nhng CRF nn tp trung vo vic m t yu
Yu cu thay i bng vic hon tt mt hnh thc yu cu thay i Phn tch yu cu thay i Nu vic thay i l c ngha th c lng vic thay i c th c thc thi nh th no c lng gi tr ca vic thay i Ghi li yu cu thay i vo trong c s d liu a ra yu cu thay i ti ban iu hnh vic thay i Nu vic thay i c chp nhn th Lp li To nn s thay i ti phn mm Ghi li s thay i v lin kt ti nhng yu cu thay i c lin quan Xem xt phn mm c thay i v cht lng chp nhn c Cho ti khi cht lng phn mm chp nhn c To phin bn mi ca h thng Ngc li T chi yu cu thay i Ngc li T chi yu cu thay i

Hnh 10.3 Tin trnh qun l s thay i cu thay i. K s thit k s thay i quyt nh vic lm cch no thc thi s thay i trong mt tnh hung c th. Mt CRF c xem xt, th n nn c ng nhp vo trong c s d liu cu hnh. Sau vic yu cu thay i c phn tch kim tra rng yu cu thay i l cn thit. Mt s yu cu c th b hiu lm,vi li h thng v s thay i ca h thng l khng cn thit. Mt s khc c th tham chiu ti nhng li c bit n. Nu ngi phn tch khm ph ra rng yu cu thay i l khng c ngha, c m phng hay l c xem xt, th s thay i s b bc b. Bn nn ni vi ngi trnh vic yu cu thay i rng ti sao n b t chi. i vi s thay i c ngha, chng tip theo ca qu trnh l nh gi v suy st gi tr s thay i. Tc ng ca s thay i ln h thng phi c kim tra. iu lin quan n vic ch ra mi thnh phn chu s tc ng ca s thay i c s dng thng tin c s d liu cu hnh v m ngun ca phn mm. Nu vic tao nn s thay i li xa hn nhng g h thng cn th r rng ci gi ca vic thc thi s thay i phi tng ln. Tip theo, yu cu thay i ti h thng s c nh gi. Cui cng, ci gi ca vic thay i s c c lng, gi ti ti khon gi tr ca vic thay i cc thnh phn lin quan.

180

Mt ban qun l thay i (Change Control Board_CCB) nn xem xt v ph chun mi yu cu thay i nu nhng s thay i khng ch n gin lin quan ti vic chnh xc nhng li nh trn nhng mn hnh hin th, nhng trang Web hay trong nhng ti liu. Ban CCB xem xt k tc ng ca mt s thay i c chin lc v t chc hn l so vi mt quan im v k thut. Nhng ban ny nn quyt nh xem s thay i l xc ng v mt kinh t hay khng v nn dnh u tin cho nhng s thay i c chp nhn. Ban CCB ( Change Control Board ) bao hm ngh v mt i ng ln nhng nh a ra nhng quyt nh thay i. Nh cu trc thng thng ca CCB, bao gm nhng khch hng lu Hnh thc yu cu thay i
D n: Proteus/Cng c_PCL S:23/02 Ngi yu cu thay i: I.Sommerville Ngy:1/12/02 Yu cu thay i:Khi mt thnh phn c chn t cu trc, hin th tn ca file cha thnh phn Ngi phn tch thay i: G.Dean Ngy phn tch:10/12/02 Thnh phn b tc ng: Hin th Icon.Select, Hin th Icon.Display Thnh phn lin kt: FileTable nh gi s thay i: Tng i n gin thc thi nh l vi mt file c tn Table c hiu lc. Yu cu c s thit k v thc thi i vi trng hin th. Khng c s thay i no ti cc thnh phn lin quan c yu cu. Mc u tin thay i: Thp Thc thi s thay i: nh gi n lc:0.5 ngy Ngy ti CCB: 15/12/02 Ngy quyt nh ca CCB: 1/2/03 Quyt nh ca CCB: Chp nhn thay i, Thay i s c thc thi trong phin bn 2.1 Ngi thc thi: Ngy thay i: Ngy trnh ti QA: Quyt nh ca QA: Ngy trnh ti CM: Ch gii

Hnh 10.4 Hnh thc yu cu thay i c hon thnh nm, nhng ngi qun l trc tip (contractor staff) l nhng yu cu cho mt d n nghim ngt. Tuy nhin, vi nhng d n c kch c nh v va, CCB c th n gin ch bao gm mt ngi qun l d n cng vi mt hoc hai k s nhng ngi khng trc tip lin quan n vic pht trin phn mm. Trong mt s trng hp, CCB c th l mt ngi theo di thay i n l ngi a ra li khuyn v s thay i l xc ng hay khng. Qun l thay i cho nhng sn phm phn mm chung c ng gi so vi nhng h thng c lm ring cho nhng khch hng c th phi c iu khin trong nhng phng thc khc nhau. Trong nhng h thng ny, khch hng khng lin quan trc tip ti do s thay i tng ng ti vic kinh doanh ca khch hng khng phi l mt sn phm. Yu cu thay i trong nhng sn phm ny thng c gn vi nhng li trong h thng c khm ph trong sut qu trnh kim tra hay bi nhng khch hng sau khi phn mm c pht hnh. Cc khch hng c th s dng mt trang Web hoc e_mail thng bo li. Mt i ng nhng ngi qun l li s kim tra thng bo li l c hiu lc v chuyn chng ti h thng yu cu thay i chnh thc. Nh vi cc loi h thng khc, thay i phi c u tin cho vic thc thi v li c th khng c khc phc nu nh gi thnh khc phc qu cao.

181

Trong sut qu trnh pht trin, khi nhng phin bn mi ca h thng c to ra thng qua vic xy dng h thng hng ngy, mt tin trnh qun l thay i n gin hn s c s dng. Nhng vn v thay i vn phi c thng bo, nhng nhng thay i m ch nh hng ti cc thnh phn v module khc nhau khng cn thit phi c nh gi c lp. Chng c a trc tip ti h thng nhng ngi pht trin. H thng nhng ngi pht trin hoc l chp nhn chng hoc l a ra l do ti sao chng khng c yu cu. Nhng thay i nh hng nhng module h thng c a ra bi nhng i ng ngi pht trin khc nhau, tuy nhin, nn c nh gi bi mt chuyn gia qun l thay i, ngi t quyn u tin v thc thi cho chng. Trong mt s phng php mm do, nh lp trnh xa, cc khch hng c lin quan trc tip ti vic quyt nh vic thay i c nn c thc thi hay khng. Khi h xut mt s thay i ti nhng yu cu ca h thng, h s lm vic vi i ng nhng ngi lm vic nh gi tc ng ca s thay i v quyt nh s thay i c nn c gi nhng thnh phn c lp k hoch cho s pht trin tip theo ca h thng. Tuy nhin, nhng thay i lin quan ti phn mm c nng cp c xem xt thn trng nhng lp trnh vin ang lm vic vi h thng. a tr li nh cung cp, ni phn mm tip tc c ci thin, khng c xem nh l mt ln nng cp nhng li c xem nh mt phn cn thit ca qu trnh pht trin. Vi nhng thnh phn ca phn mm c thay i, mt bn ghi ca nhng s thay i c to ra ti mi thnh phn nn c lu tr. N i khi c gi l qu trnh hnh thnh (derivation history) ca mt thnh phn. Mt con ng tt lu tr qu trnh hnh thnh l trong mt ch gii c chun ha ti im bt u ca m ngun thnh phn (hnh 10.5 ). Ch gii ny nn tham chiu ti yu cu thay i ci tc ng n s thay i ca phn mm. Sau bn c th vit mt vn bn bao qut ton b cc thnh phn v tin trnh a ra nhng bn ghi v s thay i ca thnh phn. Mt cch tip cn tng t c th c s dng cho nhng trang Web. Vi nhng ti liu c xut bn, nhng bn ghi v thay i c lin kt trong mi phin bn thng c lu tr trong mt trang ring ti mt trc ca cc ti liu.

// D n BANKSEC (IST 6087) // //Cng c BANKSEC/AUTH/RBAC/USER_ROLE // //i tng: Role hin thi //Tc gi: N.Perwaiz //Ngy to ra: 10th November 2002 // //(c) Lancaster University 2002 // //Qu trnh chnh sa //Phin bn Ngi chnh sa Ngy // 1.0 J.Jones 1/12/2002 // 1.1 N.Perwaiz 9/4/2003

Thay i Add header New field

L do trnh ti CM Thay i req. R07/02

Hnh 10.5 Thng tin cc thnh phn u tin

182

11.3. Qun l phin bn v bn pht hnh

Nhng tin trnh c bao hm trong qun l phin bn v bn pht hnh c lin kt vi vic ch nh v theo di cc phin bn ca h thng.Nhng ngi qun l phin bn a ra cc th tc chc chn rng phin bn ca mt h thng c th c truy xut khi c yu cu v khng phi c thay i ngu nhin bi nhng ngi pht trin. Vi nhng sn phm, nhng ngi qun l phin bn lm vic vi nhn vin marketing v, vi nhng h thng quen thuc vi cc khch hng, lp k hoch khi nhng bn pht hnh mi ca h thng nn c to ra v phn phi cho s trin khai. Mt phin bn ca h thng l mt mt ca h thng, v theo mt cch no , phn bit vi cc b mt khc.Nhng phin bn ca h thng c th c nhiu chc nng khc nhau, tnh thc thi c nng cao hay nhng li phn mm c khc phc. Mt s phin bn c th c chc nng tng ng nhng m li c thit k cho nhng cu hnh phn mm hay phn cng khc nhau. Nhng phin bn m s khc nhau l nh th i khi c gi l nhng bin th (variant). Mt bn pht hnh ca h thng l mt phin bn c phn phi ti khch hng. Mi bn pht hnh ca h thng nn cha ng mt tnh nng mi hoc nn c hng ti cho mt nn tng phn cng khc. Thng thng th mt h thng c nhiu phin bn hn l nhng bn pht hnh. Cc phin bn c to ra bn trong t chc hng ti m rng hoc l kim tra ni b v khng c hng ti vic phn phi ti khch hng. Nh s tho lun trong mc 10.5,cng c CASE gi y lun lun c s dng h tr cho vic qun l phin bn. Nhng cng c ny qun l vic lu tr mi phin bn ca phn mm v iu khin truy cp ti cc thnh phn ca h thng. Cc thnh phn phi c kim tra t h thng hiu chnh. Ghi li thnh phn to ra mt phin bn mi, v mt s xc minh c ch nh vi h thng qun l phin bn. Trong khi r rng cc cng c l khc nhau ng k trong cc nt ring v trong cc giao din ngi s dng ca chng, nguyn l chung ca qun l phin bn y bao gm nhng nt c bn cho mi cng c h tr.
11.3.1. Xc minh phin bn

to ra mt phin bn thc t ca mt h thng, bn phi nh ra nhng phin bn ca cc thnh phn ca h thng c bao gm bn trong n. Trong mt h thng phn mm ln th c hng trm cc thnh phn ca phn mm, mi mt trong chng c th tn ti trong mt vi cc phin bn khc nhau. Do c th c mt cch r rng xc minh mi phin bn thnh phn chc chn rng thnh phn chnh xc c bao hm bn trong h thng. Tuy nhin, bn khng th s dng tn ca ch mc cu hnh cho vic xc minh phin bn bi v c th c vi phin bn ca mi ch mc cu hnh c xc minh. Thay v , ba k thut c bn c s dng cho vic xc minh phin bn thnh phn l: 1. 2.
nh s phin bn Thnh phn c nh du bi mt s phin bn r rng v n nht. l chin lc xc minh c s dng chung nht. Xc minh thuc tnh c bn Mi thnh phn c mt tn ( nh tn ch mc cu hnh, nhng ci khng n nht qua cc phin bn ) v mt tp cc thuc tnh c lin quan vi nhau cho mi phin bn (Estublier v Casallas, 1994). T cc thnh phn c xc minh bng vic ch ra tn ca chng v cc gi tr thuc tnh.

183

3.

Xc minh hng thay i Mi thnh phn c nh tn nh trong xc minh cc thuc tnh c bn nhng iu cng lin quan vi mt hoc nhiu yu cu thay i (Munch, et al., 1993). Do n c tha nhn rng mi phin bn ca thnh phn c to ra trong s tc ng t mt hoc nhiu hn nhng yu cu thay i. Phin bn ca thnh phn c xc minh bi tp cc yu cu thay i c a ti thnh phn.

11.3.2. nh s phin bn

Trong mt chin lc nh s phin bn n gin, mt s ca phin bn c gn vi tn ca thnh phn hoc l h thng. T , bn c th tham kho ti Solari 4.3 (phin bn 4.3 ca Solaris system ) v phin bn 1.4 ca thnh phn getToken. Nu phin bn u tin c gi l 1.0 th theo trnh t sau cc phin bn s l 1.1, 1.2, v vn vn. Ti mt s chng, mt bn pht hnh mi c to ra (bn 2.0) v tin trnh li bt u t phin bn 2.1. Chin lc ny l tuyn tnh, c bn da trn gi nh rng cc phin bn ca h thng c to ra tun t. Phn ln cc cng c qun l phin bn ( trong mc 9.5) nh RCS (Tichy, 1985) v CVS (Berliner, 1990) h tr cc tip cn ny cho vic xc minh phin bn. Ti minh ha cch tip cn ny v s hnh thnh ca mt s cc phin bn h ca thng trn hnh 10.6 . Mi tn ngang trong s ny bt ngun t phin bn gc ti phin bn c to ra t phin bn gc. Ch rng s hnh thnh ca cc phin bn khng nht thit phi l tuyn tnh v cc phin bn vi cc s phin bn lin tip nhau c th c a ra t nhng ng ni khc nhau. Chng hn, trong hnh 29.6 phin bn 2.2 c to ra t phin bn 1.2 ch khng phi t phin bn 2.1.V mt nguyn tc, bt c phin bn ang tn ti no c th c s dng nh mt im bt u cho mt phin bn mi ca h thng.

V1.1b

V1.1.1

V1.0

V1.1

V1.2

V2.0

V2.1

V2.2

V1.1a

Hnh 29.6 Cu trc s hnh thnh cc phin bn Chin lc ny l n gin, nhng bn cn lu tr lu tr mt lng ln cc thng tin m rng theo di s khc nhau gia cc phin bn v mi quan h gia cc xut thay i h thng v cc phin bn. Chng hn i vi phin bn 1.1 v 1.2 ca mt h thng c th khc nhau bi v phin bn 1.2 c sn xut bi vic s dng mt th vin ha khc. Ci tn khng ni cho bn bit v phin bn hoc ti sao n c to ra. Do bn cn theo di cc bn ghi trong c s d liu cu hnh ni m t mi phin bn ti sao n c

184

to ra. Bn cng c th cn lin kt r rng nhng yu cu thay i ti nhng phin bn khc nhau ca mi thnh phn.
11.3.3. Xc minh thuc tnh c bn

Mt vn c bn i vi chin lc nh tn r rng cc phin bn l n khng phn nh rt nhiu thuc tnh m n c th c s dng xc minh cc phin bn. Chng hn nhng thuc tnh c xc minh l:

Khch hng Ngn ng pht trin Tnh trng pht trin Nn tng phn cng Ngy to ra

Nu mi phin bn c xc minh bi mt tp cc thuc tnh n nht, th d dng thm phin bn mi c tm thy bt c phin bn no ang tn ti. Chng c xc minh c s dng mt tp cc gi tr thuc tnh n nht. Chng chia s phn ln nhng gi tr ny vi phin bn cha m ca chng t cc mi quan h gia cc phin bn s c duy tr. Bn c th nhn c nhng phin bn c ch nh bng vic ch ra gi tr thuc tnh c yu cu. Nhng chc nng ca thuc tnh h tr cc thc mc nh l phin bn gn y nht c to ra hoc l phin bn c to ra gia cc ngy cho . Chng hn, phin bn ca h thng phn mm AC3D c pht trin trn Java cho Window XP trong thng ging nm 2003 c th c xc minh:
AC3D (ngn ng = Java, nn = XP, ngy = Jan2003)

s dng mt cch ch nh tng quan cc thnh phn trong AC3D, cng c qun l phin bn s la chn nhng phin bn ca nhng thnh phn c thuc tnh Java, XP v Jan2003. Xc minh thuc tnh c bn c th c thc thi trc tip bi h thng qun l phin bn, vi cc thuc tnh ca cc thnh phn c lu tr trong c s d liu h thng. Nh mt s la chn, h thng xc minh thuc tnh c th c xy dng nh mt lp hng u ca mt chin lc nh s phin bn c n du. C s d liu cu hnh s lu tr cc mi lin kt gia cc thuc tnh xc minh v h thng bn trong v cc phin bn thnh phn.
11.3.4. Xc minh hng thay i

Vic xc minh cc thuc tnh c bn ca cc phin bn h thng gii ta mt s vn mc phi ca phng thc nh s phin bn n gin. Tuy nhin, truy xut c mt phin bn bn vn phi bit cc thuc tnh lin quan ca n. Hn th na, bn vn cn s dng mt h thng qun l thay i ring tm ra mi quan h gia cc phin bn v s thay i.

185

Xc minh hng thay i thng c s dng xc nh cc phin bn ca h thng hn l cc thnh phn. Nhng cng c xc minh phin bn ca nhng thnh phn ring l c n du i vi ngi s dng ca h thng CM. Mi s thay i ca h thng c thc thi c mt tp cc s kin thay i, n m t nhng thay i c yu cu ti nhng thnh phn h thng khc nhau. Tp thay i ny c th c t theo trnh t hay l t nht trong nguyn l, phin bn c th kt hp vi mt tp cc thay i bt k. Chng hn, tp cc thay i ca h thng c to nn lm cho n thch hp vi Linux hn l so vi Solaris c th c ng dng, tip bc bi nhng thay i c yu cu v vic kt hp mt c s d liu mi. Cng tng t nh vy, s thay i ca Linux/Solaris c th c lm tip theo bi nhng thay i i hi chuyn giao din ngi s dng t ting Anh sang ting Italia. Trn thc t, tt nhin, khng phi l c th yu cu mt tp cc thay i ty ti h thng. Nhng tp thay i c th l khng thch hp n ni chng hn tp thay i A tip theo tp thay i D c th to ra h thng khng c gi tr. Hn th na, nhng tp thay i c th xung t vi nhau trong nhng thay i khc nhau tc ng ti cng mt m ca h thng. Nu m b thay i bi tp thay i A, th tp thay i D c th khng lm vic na. nh du nhng kh khn ny, cc cng c qun l phin bn h tr vic xc minh hng thay i cho php thc hin nhng nguyn tc cht ch ca h thng nhm xc minh. Nhng iu ny hn ch cc cch kt hp cc tp thay i.

11.4. Qun l bn pht hnh

Mt bn pht hnh ca h thng l mt phin bn ca h thng c phn phi ti cc khch hng. Nhng ngi qun l bn pht hnh ca h thng c trch nhim trong vic quyt nh khi no h thng c th c phn phi ti khch hng, trong qun l qu trnh to ra bn pht hnh v phng tin truyn thng cho phn phi, v vic ti liu ha cc bn pht hnh chc chn rng n c th c to li chnh xc nh c phn phi nu iu l cn thit. Mt bn pht hnh khng phi chnh l nhng m c th thc hin ca h thng. Nhng bn ny c th bao gm: 1. 2. 3. 4. 5.
Cc file cu hnh nh ngha bn pht hnh nn c nh dng nh th no cho vic ci t thc t. Cc file d liu cn thit cho h iu hnh thnh cng Mt chng trnh ci t c s dng nhm ci t h thng ln phn cng ch ra Ti liu giy v ti liu in t m t h thng ng gi v lin kt qung co c thit k cho vic pht hnh.

Nhng ngi qun l bn pht hnh khng tha nhn rng khch hng lun lun ci t nhng bn mi. Mt s ngi s dng h thng c th thch vi nhng h thng hin hnh. H c th xem vic thay i mt h thng mi l khng c gi tr. Nhng bn pht hnh mi ca h thng khng th da trn vic ci t ca bn trc. minh ha vn ny ta xem xt cc mc sau:

186

1. 2. 3.

Bn 1 ca h thng c phn phi v a vo s dng Bn 2 i hi vic ci t ca nhng file d liu mi, nhng mt s khch hng khng cn nhng tin ch ca bn 2 khi tri qua vi bn 1. Bn 3 i hi nhng file d liu c ci t bn 2 v n li khng c file d liu mi

Ngi pht hnh phn mm khng th tha nhn rng nhng file c yu cu cho bn 3 c ci t trong mi trng hp. Mt s trng hp c th mang trc tip t bn 1 ti bn 3, b qua bn 2. Mt s c th c chnh sa file d liu lin kt vi bn 2 nhm phn nh cc s kin ring. T , cc file d liu phi c pht hnh v ci t vi bn 3 ca h thng.
Ra quyt nh pht hnh

Chun b v phn phi mt bn pht hnh ca h thng l mt qu trnh t, thc t l cho nhng sn phm phn mm mang tnh th trng. Nu nhng bn pht hnh c a ra qu thng xuyn, cc khch hng c th khng nng cp ln phin bn mi, c bit l nu n khng free. Nu cc bn pht hnh h thng khng c a ra thng xuyn, th phn c th b mt khi m khch hng chuyn hng ti nhng h thng khc. Tt nhin, iu khng ng cho phn mm quen thuc c m rng c bit cho mt t chc. i vi nhng phn mm truyn thng, nhng bn pht hnh khng thng xuyn c th lm tng s khc bit gia phn mm v cc tin trnh thng mi m n c thit k h tr. Nhng nhn t k thut v t chc khc nhau m bn a vo trong danh mc khi quyt nh to mt bn pht hnh mi ca h thng c ch ra trn hnh 10.7.
To bn pht hnh

To bn pht hnh l qu trnh thu thp cc file v nhng ti liu bao gm tt c cc thnh phn ca bn pht hnh ca h thng. M thc hin hoc l nhng chng trnh v cc file d liu lin quan phi c thu thp v xc minh. Vic m t cu hnh c th phi c vit cho nhng phn cng v h iu hnh khc nhau ng thi m t thng qua cc ch dn c chun b cho nhng khch hng cn thit lp cu hnh cho chnh h thng ca h. Nu nhng my c c th

187

Nhn t
Cht lng ca h thng

M t
Nu nhng li nghim trng ca h thng c thng bo c tc ng ti cch s dng ca nhiu khch hng, n c th cn thit a ra bn c sa cha li. Tuy nhin, vi nhng li h thng nh c th c sa cha bng vic a ra nhng cch chp v (thng c cung cp qua Iternet) c th c p dng cho bn hin hnh ca h thng. Bn c th phi to ra mt bn mi ca phn mm ng dng khi mt phin bn mi ca h iu hnh nn c pht hnh. iu ny gi rng vic tng cng chc nng mi bn pht hnh c chng l mt hng s.T , mt bn pht hnh mi ca h thng vi chc nng quan trng c th c to ra tip theo vic khc phc mt bn trc. Mt bn pht hnh mi ca h thng c th l cn thit v mt sn phm cnh tranh B phn marketing ca mt t chc c th tn ty vi cc bn pht hnh ti mt thi im c th. Vi nhng h thng theo yu cu, khch hng c th a ra mt tp nhng xut cho thay i h thng, v h mong i mt bn pht hnh ca h thng ngay sau khi iu c thc thi.

Nhng thay i v nn nh lut Ledman th nm

Cnh tranh Yu cu marketing xut thay i ca khch hng

Hnh 10.7 Nhng nhn t nh hng ti bn pht hnh ca h thng Phng tin phn phi thng thng cho nhng bn pht hnh ca h thng ngy nay thng l a quang (CD-ROM hoc l DVD) l nhng a c kh nng cha t 600 Mbyte n 6Gbyte d liu. Trong trng hp khc phn mm c th c phn phi trc tuyn, cho php khch hng download n t Internet, mc d nhiu ngi thy n qu lu i vi nhng file ln v h thch cch phn phi bng a CD hn. C nhng chi ph rt cao cho vic marketing v ng gi lin quan n vic phn phi cc sn phm phn mm mi, do nh cung cp sn phm thng to ra nhng bn mi ch khi no dnh cho nhng phn mm nn mi hay l thm vo mt s chc nng c bit. Ri h tnh gi ti ngi s dng. Khi c nhng vn c khm ph mt bn hin hnh, nh sn xut thng a ra nhng cch chp v trn website v khch hng c th download sa cha phn mm. Mt phn t chi ph cho vic tm kim v download cc bn pht hnh mi, vn l nhiu khch hng c th khng bao gi khm ph ra s tn ti ca nhng cch sa cha ny hoc l khng c s hiu bit k thut ci t chng.T h c th tip tc s dng h thng li m h ang c nhng vi mt mc ri ro tt yu i vi cng vic ca h. Trong mt s trng hp, ni m ming v c thit k sa cha nhng l vng an ninh, s mo him khi ci t ming v c th c ngha l cng vic rt d b tn cng t bn ngoi.
Ti liu bn pht hnh

Khi mt bn pht hnh ca h thng c sn xut, n phi c ti liu ha chc chn rng n c th c to li chnh xc nh th trong tng lai. l iu rt quan trng cho nhng h thng nhng c thi gian sng lu v c to ra theo yu cu ca khch hng nh vic iu khin nhng my mc phc tp. Khch hng c th s dng mt bn pht hnh ring l ca nhng h thng ny lu di sau khi bn gc c pht hnh.

188

ti liu ha mt bn pht hnh, bn phi ghi li phin bn ch ra ca thnh phn m ngun c s dng to ra m thc thi. Bn phi gi bn sao ca ngun v m thc thi, mi d liu v cc file cu hnh. Bn cng nn ghi li cc phin bn ca h iu hnh, cc th vin, chng trnh dch, v cc cng c khc c s dng xy dng h thng. Nhng iu ny c th c yu cu xy dng chnh xc h thng nh th ny sau mt thi gian. iu c ngha l bn phi l tr nhng bn sao ca phn mm nn v cc cng c c s dng to ra h thng trong h thng qun l phin bn cng vi m ngun ca h thng.

11.5. Xy dng h thng

Xy dng h thng l mt qu trnh bin tp v lin kt cc thnh phn phn mm vo mt chng trnh thc thi trn mt cu hnh mc tiu thc t c xc nh. Khi bn xy dng mt h thng t cc thnh phn ca n, bn phi lu nhng cu hi sau y: 1. 2. 3. 4. Tt c cc thnh phn to nn h thng c bao hm trong cc ch th xy dng hay cha? Cc phin bn tng thch ca mi thnh phn yu cu c bao hm trong cc ch th xy dng hay cha? Tt c cc file d liu yu cu l sn sng hay khng? Nu cc file d liu l c thao chiu bn trong mt thnh phn, th tn c s dng c ging vi tn ca file d liu bn trn chic my mc tiu hay khng. Cc phin bn tng thch ca trnh bin dch v cc cng c yu cu khc l c hiu lc hay khng? Phin bn hin hnh ca cc cng c phn mm c th khng tng thch vi nhng phin bn c c s dng pht trin h thng.

5.

Cng c xy dng h thng

H thng qun l phin bn

Trnh bin dch

Trnh lin kt

Tp lnh xy dng

Cc phin bn thnh phn m ngun

Cc thnh phn m i tng

H thng thc thi

Hnh 10.8 Xy dng h thng Ngy nay, nhng cng c qun tr cu hnh phn mm hoc l mi trng lp trnh c s dng t ng ha cc tin trnh xy dng h thng. Nhm CM vit mt tp lnh xy

189

dng nh ngha s ph thuc gia cc thnh phn h thng. Tp lnh ny cng nh ngha cc cng c bin tp v lin kt cc thnh phn h thng. Cng c xy dng h thng thng dch nhng tp lnh xy dng ny v gi nhng chng trnh khc c yu cu xy dng h thng thc thi t cc thnh phn ca n. iu ny c minh ha trn hnh 10.8. Trong mt s mi trng lp trnh ( nh l mi trng Java m rng), cc tp lnh xy dng c to ra t ng bng vic phn tch m ngun v nhn ra cc thnh phn c gi. Tt nhin, trong trng hp ny, tn ca thnh phn c lu tr phi trng vi tn ca thnh phn chng trnh. S ph thuc gia cc thnh phn c xc nh trong cc tp lnh xy dng. N cung cp thng tin m cng c xy dng h thng c th quyt nh khi no m ngun ca cc thnh phn phi c bin dch li v khi m i tng hin hnh c th c ti s dng. Trong rt nhiu cng c, nhng tp lnh ph thuc ny thng c xem nh s ph thuc gia cc file vt l trong m ngun v cc thnh phn m i tng c lu tr. Tuy nhin, khi y l nhng file a m ngun biu din nhiu thnh phn ca phin bn, c th rt kh ni file ngun no c s dng nhn ly cc thnh phn m i tng. Nhng rc ri ny ging tng ng nh khi gia ngun v nhng file m i tng c cng mt tn nhng khc ui. Vn ny c th ch c gii quyt khi vic qun l phin bn v cc cng c xy dng h thng c tch hp.

11.6. Cc cng c CASE cho qun tr cu hnh

Nhng tin trnh qun tr cu hnh thng c chun ha v lin quan n ng dng ca nhng th tc c xc nh trc. Chng i hi s qun tr cn mt mt s lng rt ln d liu v hng ti nhng chi tit ch yu. Khi mt h thng ang c xy dng t nhng phin bn thnh phn, mt li n gin trong qun tr cu hnh c th c ngha l phn mm s khng hot ng ng. T , vic h tr cng c CASE l thit yu cho qun tr cu hnh, v t nhng nm 70 nhiu cng c phn mm bao gm nhiu phm vi khc nhau ca qun tr cu hnh c a ra. Nhng cng c ny c th c kt hp to mt m hnh lm vic ca qun tr cu hnh h tr mi hot ng qun tr cu hnh. C hai loi ca m hnh lm vic CM: 1.
M hnh lm vic m Cc cng c cho mi chng ca qu trnh qun tr cu hnh c tch hp qua nhng th tc c t chc chun cho vic s dng nhng cng c ny. C rt nhiu cng c CM ngun m v mang tnh thng mi c gi tr cho nhng mc ch c ch ra. Vic qun l thay i c th c h tr nhng cng c theo di li nh l Bugzilla, qun l phin bn bng vic s dng nhng cng c nh l make ( Feldman, 1979; Oram v Talbott, 1991) hoc imake (Dubois, 1996). Chng u l nhng cng c ngun m v u c gi tr min ph. M hnh lm vic tch hp Nhng m hnh ny cung cp nhng kh nng tch hp cho qun l phin bn, xy dng h thng v kim tra thay i. Chng hn, qu trnh Rations Unified Change Management da trn mt m hnh lm vic CM tch hp kt hp vi ClearCASE (White, 2000) cho xy dng h thng v qun l phin bn v ClearQuest cho theo di thay i. S tin li ca m hnh lm vic CM tch hp l nhng thay i d liu n gin, v m hnh ny bao gm c s d liu CM tch hp. M hnh SCM tch hp c nhn ly t nhng h thng sm hn nh

2.

190

Lifespan (Whitgift, 1991) cho qun l thay i v DSEE (Leblang v Chase, 1987) cho qun l phin bn v xy dng h thng. Tuy nhin, m hnh CM tch hp rt phc tp v t, nn nhiu t chc vn thch s dng nhng cng c h tr r tin v n gin khc hn. Rt nhiu h thng ln c pht trin nhng ni khc nhau, v chng cn nhng cng c SCM h tr cho lm vic a v tr vi nhiu ni lu tr d liu cho cc ch mc cu hnh. Trong khi phn ln cc cng c SCM c thit k cho lm vic n v tr, mt s cng c, nh CVS, c nhng chc nng cho h tr a v tr (Vesperman, 2003).
11.6.1. H tr cho qun l thay i

Mi c nhn lin quan trong qu trnh qun l thay i c trch nhim cho mt s hot ng. H hon thnh hot ng ny, v a nhng m hnh ch mc cu hnh lin quan ti mt s ngi khc. Th tc t nhin ca qu trnh ny c ngha l mt m hnh v qu trnh thay i c th c thit k v tch hp vi mt h thng qun l phin bn. M hnh ny c th c thng dch ra nhng ti liu a ti ng ngi ti ng thi im. C mt vi cng c qun l thay i c hiu lc, t nhng cng c ngun m tng i n gin nh Bugzilla n nhng h thng tch hp ton din nh Rational ClearQuest. Nhng cng c ny cung cp mt s hoc l tt c nhng chc nng sau h tr tin trnh. 1. 2.
Mt dng bin tp cho php nhng dng xut thay i c to ra v hon thnh bi nhng ngi a ra yu cu thay i. Mt h thng dng lm vic cho php nhm CM nh ngha ngi phi son tho dng yu cu thay i v trnh t ca tin trnh. H thng ny s t ng a khung dng ny ti ng ngi ti ng thi im v thng bo ti nhng nhm thnh vin ca qu trnh i ln ca thay i. Th in t c s dng cung cp nhng s nng cp cho nhng iu lin quan ny bn trong qu trnh. Mt c s d liu thay i c s dng qun l mi xut thay i v c th c lin kt ti mt h thng qun l phin bn. Nhng chc nng truy vn d liu cho php nhm CM tm ra nhng xut thay i c ch nh. Mt h thng thng bo thay i iu hnh nhng ghi chp qun l trn trng thi ca nhng yu cu thay i c trnh.

3.

4.

11.6.2. H tr cho qun l phin bn

Qun l phin bn lin quan ti qun l mt lng ln thng tin v chc chn rng nhng thay i ca h thng l c ghi li v theo di. Nhng cng c qun l phin bn iu hnh mt ni cha nhng ch mc cu hnh ni m ni dung ca n l khng thay i. lm vic trn mt ch mc cu hnh bn phi ly n ra t ni cha v n vo mt th mc lm vic. Sau khi to s thay i ti phn mm, bn a n tr li vo trong mc cha v mt phin bn mi c t ng to thnh. Mi h thng qun l phin bn u cung cp mt tp cc kh nng c bn c th so snh mc d mt s c nhng chc nng phc tp hn nhng th khc. V d v nhng chc nng ny nh l:

191

1.

Xc minh phin bn v bn pht hnh Phin bn c qun l c gn vi vic xc minh khi chng c xem xt ti h thng. Nhng h thng khc nhau h tr nhng cch xc minh phin bn khc nhau nh c xem xt mc 29.3.1 Qun l lu tr gim khng gian lu tr i hi bi nhiu phin bn, h thng qun l cung cp nhng chc nng qun l khng gian m cc phin bn c m t bi s khc nhau ca chng vi mt s phin bn chnh. S khc nhau gia cc phin bn c biu din nh delta, ci c tm lc trong nhng ch th c yu cu ti to phin bn ca h thng lin quan. iu ny c minh ha trn hnh 10.9, n ch ra lm th no vic khi phc delta c th c xem xt phin bn gn nht ca ti vic ti to nhng phin bn sm hn ca h thng. Phin bn gn nht l 1.3. to phin bn 1.2 bn xem xt vic thay i delta ti to li phin bn .

2.

Phin bn 1.0

Phin bn 1.1

Phin bn 1.2

Phin bn 1.3

D1

D2

D3

Thi im to Hnh 10.9 nh du phin bn 3.


Thng bo qu trnh thay i Mi thay i tc ng ti m ca h thng hoc l cc thnh phn c ghi li v a vo s sch. Trong mt s h thng, nhng thay i ny c th c s dng chn mt phin bn thc t ca h thng. Pht trin c lp Nhiu phin bn ca h thng c th c pht trin song song v mi phin bn c th c thay i c lp. Chng hn, bn pht hnh1 c th c chnh sa sau khi pht trin bn 2 bng vic cng thm mt cp deltas. H thng qun l phin bn theo di cc thnh phn c kim tra cho vic iu chnh v chc chn rng nhng thay i tc ng ti cng mt thnh phn bi nhng ngi pht trin khc nhau khng xung t. Mt s h thng cho php ch mt mu ca mt thnh phn c kim tra cho vic chnh sa; mt s khc gii quyt nhng xung t tim n khi nhng thnh phn chnh sa c a tr li h thng.

4.

192

5.

H tr d n H thng c th h tr nhiu d n nh l nhiu file. Trong h thng h tr d n, nh CVS, c th kim tra g ri mi file lin quan vi mt d n hn l mt file ti mt thi im.

11.6.3. H tr xy dng h thng

Xy dng h thng l mt tin trnh chuyn su my tnh. Vic bin tp v lin kt tt c mi thnh phn ca mt h thng ln c th mt vi gi ng h. C th c hng trm file lin quan, vi vi nhng kh nng theo l li ca con ngi nu chng c bin tp v lin kt th cng. Nhng cng c xy dng h thng t ng xy dng tin trnh gim nhng li tim tng do con ngi gy ra, v ti thiu ha thi gian i hi xy dng h thng. Cc cng c xy dng h thng c th ng c lp, nh vic hnh thnh Unix a ra nhng tin ch (Oram v Talbott, 1991), hoc c th c kt hp vi nhng cng c qun l phin bn. Cc chc nng cung cp bi nhng cng c xy dng h thng CASE c th l :
Comp

scan.o

syn.o

sem.o

cgen.o

scan.c

syn.c

sem.c

cgen.c

defs.h

Hnh 10.10 Cc thnh phn ph thuc 1.


Mt ngn ng c s ph thuc c hiu qu v trnh thng dch tng ng. Nhng thnh phn ph thuc vo nhau c th c m t v ti thiu vic bin dch li. Ti s gii thch iu ny chi tit hn sau y. Cng c h tr vic ci t v la chn Trnh bin dch v nhng cng c son tho khc c s dng x l nhng file m ngun c th c ch nh v khi to nh yu cu. S bin dch c phn b Mt s cng c xy dng h thng, c bit chng l mt phn ca h thng CM tch hp, h tr bin dch c phn phi trong mng my tnh. So vi mi s bin dch da trn vic thc thi trn mt my n, nhng cng c xy dng h thng tm kim nhng b x l nhn ri trong mng v truyn sao chp mt s cc trnh bin dch

2.

3.

193

song song. iu ny rt quan trng trong vic gim thi gian i hi xy dng h thng. 4.
Qun l i tng dn xut Nhng i tng dn xut l nhng i tng c to ra t nhng i tng ngun khc. Qun l i tng dn xut s lin kt m ngun v i tng dn xut v dn xut li ch mt i tng khi n c yu cu bi vic thay i m ngun.

Qun l i tng dn xut v ti thiu ha vic bin dch li c gii thch tt nht bng vic s dng mt v d n gin. Xem xt mt trnh bin dch c gi l Comp c to ra hn bn module i tng c tn l scan.o, syn.o, sem.o, v cgen.o. Mi module i tng c to ra t mt module m ngun vi tn tng ng (scan.c, syn.c, sem.c v cgen.c). Mt file ca bin v nhng khai bo hng c gi l defs.h c chia s bi scan.c, syn.c, sem.c (hnh 10.10). Trong hnh 10.10, mi tn c ngha l ph thuc vo_thc th ti ui mi tn ph thuc v thc th ti u mi tn. T , Comp ph thuc vo scan.o, syn.o, sem.o v cgen.o, scan.o ph thuc vo scan.c ... vn vn. Nu scan.c thay i, cng c xy dng h thng, cng c xy dng h thng c th pht hin thy rng i tng dn xut scan.o cn c to li. N lm iu ny bng vic so snh thi im hiu chnh ca scan.o v scan.c v nhn thy rng scan.c c hiu chnh sau scan.o. Sau n s gi trnh bin dch C bin dch scan.c to mt i tng dn xut mi l scan.o. Cng c xy dng sau s s dng nhng lin kt ph thuc gia Comp v scan.o nhn thy rng Comp cng cn c ti to bng vic lin kt scan.o, syn.o, sem.o v cgen.o. H thng c th nhn ra rng nhng thnh phn m i tng khc l khng thay i, do vic bin dch li m ngun ca chng l khng cn thit. Phn ln cc cng c xy dng h thng s dng file ngy chnh sa nh mt kha thuc tnh trong vic quyt nh khi no vic bin dch li c yu cu. Nu mt file m ngun c chnh sa sau file m i tng tng ng, th file m i tng phi c ti to. V c bn, c th ch c mt phin bn ca m i tng tng ng vi thnh phn m ngun c thay i gn ay nht. Khi mt phin bn mi ca thnh phn m ngun c ti to, m i tng ca phin bn trc s b mt. Tuy nhin, mt s cng c s dng mt cc tip cn tinh vi hn cho vic qun l i tng dn xut. H nh th a ch i tng dn xut vi phin bn c xc minh ca m ngun c s dng to ra i tng. Trong gii hn ca dung lng lu tr, h lu gi mi i tng dn xut. Bi th, n thng c kh nng khm ph ra m i tng ca mi phin bn ca cc thnh phn m ngun m khng cn bin dch li.
Nhng im quan trng

Qun tr cu hnh l vic qun l nhng thay i ca h thng. Khi mt h thng c lu gi, vai tr ca nhm CM l m bo rng nhng thay i l c phi hp trong phm vi c kim sot. Trong nhng d n ln, mt k hoch nh tn ti liu chnh thc nn c thit lp v s dng nh mt iu c bn cho vic theo di nhng phin bn ca mi ti liu d n.

194

Nhm CM nn c h tr bi mt c s d liu cu hnh c ghi chp thng tin v nhng thay i ca h thng v nhng yu cu thay i. D n nn c mt s iu kin chnh thc ca yu cu thay i h thng. Khi sp t mt chin lc qun tr cu hnh, mt chin lc xc minh phin bn thch ng nn c thit lp. Cc phin bn c th c xc nh bi s, bi mt tp cc thuc tnh lin quan hoc bi nhng thay i h thng c xut m n thc thi. Nhng bn pht hnh ca h thng bao gm m thc thi, file d liu, file cu hnh v cc ti liu. Qun l bn pht hnh bao gm ra quyt nh ngy pht hnh, chun b mi thng tin cho phn phi v ti liu ha mi bn pht hnh ca h thng. Xy dng h thng l mt qu trnh kt hp cc thnh phn ca h thng vo trong chng trnh thc thi chy trn mt s h thng my tnh mc tiu. Nhng cng c CASE c gi tr cho vic h tr mi hot ng qun tr cu hnh. Chng bao gm nhng cng c nh CVS qun l phin bn h thng, nhng cng c cho qun l thay i v nhng cng c cho vic xy dng h thng. Nhng cng c CASE cho CM c th l nhng cng c c lp h tr qun l thay i, qun l phin bn v xy dng h thng, hoc c th l nhng m hnh lm vic c tch hp nhm cung cp mt giao din chung cho mi h tr cho CM.
Bi tp

1. Gii thch ti sao bn khng nn s dng tiu ca mt ti liu xc nh cc ti liu trong h thng qun tr cu hnh. Gi rng mt tiu chun cho chin lc xc nh ti liu c th c s dng cho mi d n trong mt t chc. 2. S dng mt cch tip cn hng i tng (trong chng 8), thit k mt m hnh c s d liu cu hnh c ghi li thng tin v cc thnh phn h thng, cc phin bn, cc bn pht hnh v s thay i. Mt s yu cu cho m hnh ny nh sau:

N c kh nng truy xut mi phin bn hoc l mt phin bn n c ch ra ca mt thnh phn. N c kh nng truy xut ti phin bn gn nht ca thnh phn N c kh nng tm kim nhng yu cu thay i no c thc thi bi mt phin bn thc t ca h thng. N c kh nng khm ph ra phin bn no ca cc thnh phn c bao gm trong mt phin bn ca h thng c ch nh. N c kh nng truy xut ti mt bn pht hnh thc t ca h thng da theo ngy hoc l theo khch hng c phn phi.

3. S dng mt s lung d liu, m t mt th tc qun l thay i c th c s dng trong mt t chc ln c lin quan vi vic pht trin phn mm

195

cho nhng khch hng m rng. Nhng thay i c th c xut hoc l t bn ngoi hoc l t bn trong. 4. Ti sao mt h thng qun tr cu hnh d n c s nh CVS li lm n gin ha tin trnh qun l phin bn. 5. Gii thch ti sao mt h thng xc minh phin bn da trn cc thuc tnh c bn lm cho n d dng pht hin ra mi thnh phn to nn phin bn ca h thng. 6. M t nhng kh khn c th tng ln khi xy dng mt h thng t nhng thnh phn ca n. Vn thc t g c th sy ra khi mt h thng c xy dng trn mt my tnh ch cho mt s my mc mc tiu khc. 7. Vi tham chiu ti vic xy dng h thng, gii thch ti sao bn c th i khi phi lu tr nhng my tnh c trn nhng h thng phn mm c m rng. 8. Mt vn chung vi xy dng h thng ny sinh khi tn nhng file vt l c kt hp trong m h thng v cu trc file ng nhng tn ny phn bit vi n my mc mc tiu. Vit mt tp hng dn cho ngi lp trnh trnh khi vn ny v nhng vn xy dng h thng khc m bn ngh c th sy ra. 9. M t nm nhn t nn c em vo trong ti khon bi nhng k s trong sut qu trnh xy dng mt bn pht hnh ca h thng phn mm ln. 10. M t hai cch trong nhng cng c xy dng h thng c th trng mong vo qu trnh xy dng mt phin bn ca h thng t nhng thnh phn ca n.

196

PH LC- CC CU HI N TP 1. Cht lng v m bo cht lng phn mm 1.1. Khi nim v m bo cht lng 1. Cht lng ca mt sn phm c sn xut l g? i vi phn mm, nh ngha c ng khng? Lm th no p dng nh ngha ?

2. 3. 4. 5. 6. 7. 8.

Ci g c dng lm c s kim nh cht lng phn mm? lm c s cho vic kim nh cht lng, c t yu cu phn mm cn tha mn iu kin g? Nu mt vi v d v iu kin a ra? Cc nhn t nh hng ln cht lng phn mm c my mc ? Nhng loi nhn t no nh hng n cht lng? Nu cc c trng nh hng ln cht lng ca mi loi nhn t (c trng chc nng, kh nng thch nghi vi thay i, kh nng thch nghi vi mi trng) ? C th o trc tip cht lng phn mm khng? Ti sao? Vy phi o bng cch no? K ra cc o c trng cht lng chnh ca McCall v gii thch ni dung ca n? Gii thch ni dung cc thuc tnh cht lng phn mm sau y v nu ra cc o lin quan c s dng o thuc tnh :
Tnh ng n, Tnh tin cy c, Tnh hiu qu, Tnh ton vn, Tnh kh dng, Tnh bo tr c, Tnh mm do, Tnh th nghim c, Tnh kh chuyn, Tnh lin tc c?

9.

Nu cc c trng cht lng theo Hawlett? Gii thch ni dung mi loi?

1.2. Tin ha ca hot ng m bo cht lng 10. m bo cht lng phn mm xut pht t u? Tin trin ca n nh th no?

11. Ti sao cn m bo cht lng phn mm? N ng vai tr g trong mt doanh nghip pht trin phn mm? 12. Khi no cn thc hin cc hot ng m bo cht lng phn mm? 13. Trong mt t chc, nhng ai tham gia vo hot ng m bo cht lng? Vai tr v trch nhim ca mi i tng l g? 14. Mc tiu ca SQA l g? Cc hot ng chnh m bo cht lng phn mm l nhng hot ng no? 15. Gii thch ni dung tm tt ca mi hot ng chnh m bo cht lng?
1.3. R sot phn mm 16. R sot phn mm c hiu l g (Khi nim, mc tiu, cch thc p dng)? Nu cc li ch ca vic r sot? Nu khng thc hin r sot th sao?

17. Cc hnh thc ca hot ng r sot? Trnh by khi nim, mc tiu ca r sot k thut chnh thc?

197

18. V s tin trnh ca hot ng r sot v gii thch s b ni dung mi bc? 19. Trnh by ni dung c bn mt cuc hp r sot: thnh phn, thi gian, cng vic cn lm, phng chm ? 20. Cc sn phm ca cuc hp r sot l g? Ni dung, vi tr ca mi sn phm ? 21. Khi no tin hnh ra sot? cn ra sot nhng sn phm g? 22. Trnh by ni dung, danh mc r sot ca a. r sot k ngh h thng? b. r sot vic lp k hoch? c. r sot phn tch yu cu phn mm ? e. r sot thit k phn mm ? f. r sot khu lp m phn mm? g. r sot kim th phn mm ?
2. Cc o c trng cht lng phn mm 2.1. Cc o ch s cht lng chng trnh 23. Nu cc k hiu v gii thch ni dung, ngha cc i lng : s1,s2,s3,s4,s5,s6,s7 v cc o trung gian: D1=1&0, (D2=1-s2/s1), (D3=1-s3/s1), (D4=1-s5/s4), (D5=1s6/s4), (D6=1-s7/s1)?

24. S dng cng thc wiDi vi wi = 1 nh th no v lm g? 25. Gii thch ni dung cc thnh phn v ngha ca o MT Fa Fc -Fd SMI = v cch s dng n? MT 26. S o phc tp ca McCabe da trn ci g v nhng i lng c th no? 27. m bo cht lng phn mm da trn thng k ngha l g? N gm nhng cng vic g? K t nht 5 nguyn nhn ca nhng khim khuyt trong phn mm? 28. Nu cng thc tnh khim khuyt ca sn phm mt pha pht trin? v cng thc tnh khim khuyt ca sn phm cui cng? Gii thch ngha ca n? 29. Tip cn hnh thc cho SQA ngha l g? Qu trnh phng sch l g? Phng chm ca k thut ny l g?
2.2. Cc o v s tin cy v an ton 30. tin cy ca phn mm hiu l ci g? o tin cy da trn nhng d liu no?

31. Th no l tht bi ca phn mm? C my thang bc? l nhng thang bc no? 32. Nu ch tiu tnh tin cy? Nu cng thc tnh sn sng? Gii thch ngha ca chng? 33. C nhng m hnh tin cy no? N da trn tham bin no v trn gi thit no? M hnh tin cy gieo ht da trn tng no? Mc tiu lm g?

198

34. an ton phn mm l ci g? C nhng phng php no phn tch an ton? 35. Kho st nhu cu SQA gm nhng ni dung g? nhm tr li cho cu hi g? Nu c nhu cu th lm g? 36. C nhng vn g t ra khi trin khai SQA? Li ch ca SQA l g? Nguyn tc chi ph hiu qu ca SQA l g?
3. Kim th phn mm 3.1. Khi nim v kim th 37. Ti sao phi kim th phn mm? Mc tiu kim th l g? T c nhng quan nim sai g v kim th phn mm?

38. Th no l mt ca kim th tt? ca kim th thnh cng? Li ch ph ca kim th l g? 39. Biu dng thng tin kim th m t ci g? v biu ca n? 40. Nu cc i tng, cc phng php kim th phn mm? chng thng c s dng vo giai an no ca qu trnh pht trin? 41. Mt ca kim th l ci g? Mc tiu thit k ca kim th? cc bc thit k mt ca kim th? 42. Kim th hp trng l ci gi? Nu cc c trng ca n? 43. Kim th hp en l ci g? Nu cc c trng ca n? 44. Chin lc kim th phn mm l ci g? Nu cc nguyn tc trong chin lc kim th phn mm? 45. Nu cc bc ca chin lc kim th thi gian thc v gii thch ni dung mi bc? 46. C nhng loi cng c t ng no tr gip kim th? M t ni dung mi loi? 47. Ai l ngi phi tham gia kim th phn mm? Nu vai tr v trch nhim ca mi i tng?
3.2. Cc phng php kim th a. Kim th hp trng 48. Kim th hp trng da trn c s no thit k cc ca kim th? Thit k ca kim th phi m bo iu kin g?

49. th dng gm nhng yu t no? xy dng n da vo u? N c cc c trng g? th dng dng lm g? 50. Con ng c bn trong th dng l ci g? phc tp ca chu trnh l g? Nu cc cng thc tnh phc tp? 51. Ma trn th nghim c cu trc nh th no? N dng lm g? 52. Nu cc loi iu kin trong cu iu khin v cho v d? C nhng loi sai no trong iu kin khi kim th?

199

53. Chin lc kim th phn nhnh ngha l g? Yu cu t ra cho kim th phn nhnh l g? 54. Chin lc kim th min l ci g? N da trn t tng no? 55. Chin lc kim th BRO l ci g? N da trn t tng no? 56. Ly v d v cc iu kin rng buc ra cho cc trng hp: 1 bin Bool, hp ca bin Bool v biu thc quan h , hp ca hai biu thc quan h? 57. Kim th iu khin dng d liu ngha l g? Cho v d? 58. Kim th iu khin vng lp gha l g? Cho v d?
b. Kim th hp en 59. M hnh ca kim th hp en quan tm n nhn t no ca phn mm? N nhm tm ra cc loi sai no? Nu cc phng php p dng cho n?

60. Trnh by phng php phn hoach: nguyn tc, mc tiu v thit k ca kim th? Phng chm xc nh lp tng ng l g? 61. Phn tch gi tr bin nghi l g? Phng chm phn tch gi tr bin l g? 62. K thut nhn qu ngha l g? Nu cc bc ca k thut ny? 63. Chin lc km th thi gian thc gm my bc? l nhng bc no? Gii thch ni dung c bn mi bc?
c. Kim th n v 64. Kim th n v l g? Quan h ca n vi hot ng m ha nh th no?

65. Hot ng kim th n v gm nhng ni dung g? N lin quan n nhng nhn t no? Nu mt vi cu hi cn kim th cho cc nhn t ? 66. K thut kim th n v s dng l g? v sao phi s dng k thut ? C nhng kh khn, thun li g?
d. Kim th tch hp 67. Kim th tch hp thc hin khi no? Ti sao phi kim th tch hp?Nu mt s cu hi t ra cho kim th tch hp?

68. C nhng phng php g c p dng cho kim th tch hp? m t tm tt ni dung mi phng php? 69. Nu cc bc kim th tch hp t trn xung? u nhc im ca cch tip cn ny? 70. Nu cc bc kim th tch hp t di ln? u nhc im ca cch tip cn ny? 71. Cc ti liu kim th tch hp gm nhng loi g?
e. Kim th h thng 72. Kim th Beta l ci g? Kim th Alpha l ci g? Nu s ging v khc nhau c bn gia chng ?

200

73. Ni dung chnh ca kim th h thng ? Nu mt s cu hi t ra cho vic kim th h thng ? 74. Kim th phc hi l g ? 75. Kim th an ninh l g ? 76. Kim th p lc l g 77. Kim th thi hnh l g 78. G ri c hiu l g ? N thc hin khi no ? Kh khn ca vic g ri l g? 79. Trnh by tin trnh g ri ? cc cch thc g ri ? u nhc im ca chng?
4. Qun l cu hnh phn mm 80. Qun l cu hnh phn mm l gi? Ni dung ca hot ng qun l cu hnh gm nhng cng vic g?

81. Cu hnh phn mm c hiu l ci g? ni dung cc khon mc chnh ca cu hnh phn gm nhng g? 82. Qun l cu hnh nhm mc tiu g? Nm nhim v ca qun l cu hnh l g? 83. Phng php g c p dng cho vic qun l cu hnh? Mc gii l ci g? S dng mc gii kim sot s thay i nh th no? 84. Trnh by tin trnh kim sot s thay i? 85. Phin bn l ci g? Lm th no kim sot cc phin bn 86. Kim ton cu hnh phn mm ngha l g? Hot ng kim ton cn tr li nhng cu hi g? 87. Bo co hin trng ngha l g? N cn tr li c nhng cu hi g? u ra ca bo co hin trang dnh cho ai? mc tiu ca n l g?

201

TI LIU THAM KHO

[1] [2] [3] [4] [5] [6] [8]

Hong Vn Kim, Gio trnh chuyn Nguyn l v phng php ngn ng lp trnh, i hc Quc gia TP. H Ch Minh, 2005. Cem Kaner, James Bach, Bret Pettichord, Lessons Learned in Software Testing. A Context-Driven Approach, John Wiley & Sons, 2001. Software Testing and Quality Control - Knowledge Bases, http://www.compinfocenter.com/tpsw12-t.htm Cem Kaner, James Bach, Black Box Software Testing, Center for Software Testing Education & Research, Florida Institute of Technology, 2005. The Test Management Guide - A to Z and FAQs, http://www.ruleworks.co.uk/testguide/ The Test Management Guide - A to Z and FAQs, http://www.ruleworks.co.uk/testguide/ IPL, An Introduction to Software Testing, IPL Information Processing Ltd, 2002.

[9] [BEI90] Beizer, B.,Software Testing Techniques, 2d ed., Van Nostrand Reinhold, 1990, [10] [DEU79] Detsch, M., Verification and Validation in software Engineering,(R. Jensen and C. Tonies, eds.) Prentice-Hall, 1979, pp 329-408. [11] Software Engineering A Practitioners Approach, Roger S. Pressman.

202

You might also like