You are on page 1of 40

TRNG I HC HNG HI VIT NAM KHOA CNG NGH THNG TIN B MN H THNG THNG TIN -----***-----

BI GING
QUY TRNH PHT TRIN PHN MM

TN HC PHN M HC PHN TRNH O TO DNG CHO SV NGNH

: QUY TRNH PHT TRIN PHN MM : 17408 : I HC CHNH QUY : CNG NGH THNG TIN

HI PHNG - 2011

MC LC
Ni dung Chng 1: Gii thiu 1.1. Tng quan v quy trnh pht trin phn mm 1.2. Cc hot ng c bn ca pht trin phn mm Chng 2: Cc quy trnh pht trin phn mm truyn thng 2.1. M hnh thc nc (Waterfall) 2.2. M hnh pht trin ng dng nhanh (RAD) 2.3. M hnh lp li v tng trng (Incremental) 2.4. M hnh xon c (Spiral) Chng 3: Quy trnh pht trin phn mm thng nht Rational Unified Process (RUP) 3.1. Gii thiu 3.1.1 Kin trc ca RUP 3.1.2 So snh RUP vi mt s quy trnh pht trin phn mm khc 3.2. Vng i ca mt d n RUP 3.2.1 Khi to (Inception) 3.2.2 Phc tho (Elaboration) 3.2.3 Xy dng (Construction) 3.2.4 Chuyn giao (Transition) 3.3. Cc lung cng vic chnh trong RUP 3.3.1 M hnh nghip v (Business modeling) 3.3.2 Qun l yu cu (Requirements management) 3.3.3 Phn tch v thit k (Analysis and design) 3.3.4 Ci t (Implementation) 3.3.5 Kim th (Test) 3.3.6 Trin khai ng dng (Deployment) 3.3.7 Qun l cu hnh v s thay i(Change management) 3.3.8 Qun l d n (Project management) 3.3.9 Qun l mi trng ng dng (Environment) Chng 4: Quy trnh pht trin phn mm eXtreme Programming (XP) 4.1. Gii thiu v XP 4.2. Vai tr, quyn hn v trch nhim ca cc tc nhn trong XP 4.3. Cc gi tr ct li ca XP 4.3.1. S giao tip (Communication) 4.3.2. S n gin (Simplicity) 4.3.3. S phn hi (Feedback) 4.3.4. S dng cm (Courage) 4.4. Vng i pht trin ca mt d n XP 4.4.1. Khi to (Exploration ) 4.4.2. Lp k hoch (Planning) 4.4.3. Chuyn giao tng phn (Iterations to Release) 4.4.4. Trin khai hon thin sn phm (Productionizing) 4.4.5. Duy tr sn phm (Maintenance) 4.5. Cc cng vic ct li trong XP 4.5.1. Lp k hoch (The Planning Game) 4.5.2. Chuyn giao tng phn (Small releases) 4.5.3. Bng nh danh (Metaphor) 4.5.4. Thit k n gin (Simple design) Trang 6 6 6 7 7 8 8 10 11 11 11 12 13 14 15 15 16 16 16 17 18 20 22 24 26 27 29 31 31 31 32 32 32 33 33 33 33 33 34 34 34 34 34 36 35 35

3
4.5.5. Kim th lin tc (Testing) 4.5.6. Hon thin lin tc (Refactoring) 4.5.7. Lp trnh theo i (Pair programming) 4.5.8. Chia s cng vic (Collective ownership) 4.5.9. Tch hp lin tc (Continuous integration) 4.5.10. Lm vic cng khch hng (On-site customer) 4.5.11. S dng cc chun vit m (Coding standards) 4.5.12. Gii hn 40 gi/tun (40-hour week) Mt s thi mu 35 36 36 36 36 37 37 37 38

4
Tn hc phn: Cc quy trnh pht trin phn mm Loi hc phn: 3 B mn ph trch ging dy: H thng Thng tin Khoa ph trch: CNTT. M hc phn: 17408 Tng s TC: 3 Tng s tit L thuyt Thc hnh/ Xemina T hc Bi tp ln n mn hc 60 45 0 0 C Khng Hc phn hc trc: Nhp mn Cng ngh Phn mm. Hc phn tin quyt: Khng yu cu. Hc phn song song: Khng yu cu. Mc tiu ca hc phn: Cung cp cc kin thc c bn v quy trnh pht trin phn. Gip sinh vin nm c cc quy trnh pht trin phn mm ph bin hin nay v vn dng vo thc t. Ni dung ch yu: Tng quan v quy trnh pht trin phn mm; Gii thiu cc quy trnh pht trin phn mm c bn; Vng i pht trin v cng vic chnh ca cc quy trnh pht trin phn mm: Rational Unified Process (RUP), Extreme Programming (XP). Ni dung chi tit: PHN PHI S TIT TN CHNG MC TS LT TH BT KT Chng 1: Gii thiu 3 3 1.1. Tng quan v quy trnh pht trin phn mm 1.2. Cc hot ng c bn ca pht trin phn mm Chng 2: Cc quy trnh pht trin phn mm truyn thng 10 9 1 2.1. M hnh thc nc (Waterfall) 2.2. M hnh pht trin ng dng nhanh (RAD) 2.3. M hnh lp li v tng trng (Incremental) 2.4. M hnh xon c (Spiral) Chng 3: Quy trnh pht trin phn mm thng nht 16 15 1 Rational Unified Process (RUP) 3.1. Gii thiu 3.1.1 Kin trc ca RUP 3.1.2 So snh RUP vi mt s quy trnh khc 3.2. Vng i ca mt d n RUP 3.2.1 Khi to (Inception) 3.2.2 Phc tho (Elaboration) 3.2.3 Xy dng (Construction) 3.2.4 Chuyn giao (Transition) 3.3. Cc lung cng vic chnh trong RUP 3.3.1 M hnh nghip v (Business modeling) 3.3.2 Qun l yu cu (Requirements management) 3.3.3 Phn tch v thit k (Analysis and design) 3.3.4 Ci t (Implementation) 3.3.5 Kim th (Test) 3.3.6 Trin khai ng dng (Deployment) 3.3.7 Qun l cu hnh v s thay i(Change management) 3.3.8 Qun l d n (Project management) 3.3.9 Qun l mi trng ng dng (Environment) Chng 4: Quy trnh pht trin phn mm eXtreme 13 12 1 Programming (XP) 4.1. Gii thiu v XP 4.2. Vai tr, quyn hn v trch nhim ca cc tc nhn trong XP

5
4.3. Cc gi tr ct li ca XP 4.3.1. S giao tip (Communication) 4.3.2. S n gin (Simplicity) 4.3.3. S phn hi (Feedback) 4.3.4. S dng cm (Courage) 4.4. Vng i pht trin ca mt d n XP 4.4.1. Khi to (Exploration ) 4.4.2. Lp k hoch (Planning) 4.4.3. Chuyn giao tng phn (Iterations to Release) 4.4.4. Trin khai hon thin sn phm (Productionizing) 4.4.5. Duy tr sn phm (Maintenance) 4.5. Cc cng vic ct li trong XP 4.5.1. Lp k hoch (The Planning Game) 4.5.2. Chuyn giao tng phn (Small releases) 4.5.3. Bng nh danh (Metaphor) 4.5.4. Thit k n gin (Simple design) 4.5.5. Kim th lin tc (Testing) 4.5.6. Hon thin lin tc (Refactoring) 4.5.7. Lp trnh theo i (Pair programming) 4.5.8. Chia s cng vic (Collective ownership) 4.5.9. Tch hp lin tc (Continuous integration) 4.5.10. Lm vic cng khch hng (On-site customer) 4.5.11. S dng cc chun vit m (Coding standards) 4.5.12. Gii hn 40 gi/tun (40-hour week) Chng 5: ng dng cc quy trnh pht trin phn mm 3 3 5.1. Gii thiu mt s d n phn mm 5.2. nh gi cc d n phn mm Nhim v ca sinh vin: Tham d cc bui hc l thuyt v thc hnh, lm cc bi tp c giao, lm cc bi thi gia hc phn v bi thi kt thc hc phn theo ng quy nh. Ti liu hc tp: 1. Roger S. Pressman, Software Engineering: A Practitioner's Approach, McGraw-Hill, 2001. 2. Ivar Jacobson, Grady Booch, James Rumbaugh, The Unified Software Development Process, Addison Wesley, 1999. 3. Philippe Kruchten, The Rational Unified Process An Introduction, Second Edition, Addison Wesley, 2000. 4. Ron Jeffries, Ann Anderson, Chet Hendrickson, Extreme Programming Installed, Addison Wesley, 2000. Hnh thc v tiu chun nh gi sinh vin: - Hnh thc thi: t lun. - Tiu chun nh gi sinh vin: cn c vo s tham gia hc tp ca sinh vin trong cc bui hc l thuyt v thc hnh, kt qu lm cc bi tp c giao, kt qu ca cc bi thi gia hc phn v bi thi kt thc hc phn. Thang im: Thang im ch A, B, C, D, F. im nh gi hc phn: Z = 0,3X + 0,7Y. Bi ging ny l ti liu chnh thc v thng nht ca B mn H thng Thng tin, Khoa Cng ngh Thng tin v c dng ging dy cho sinh vin. Ngy ph duyt: / / Trng B mn

Chng 1: Gii thiu


1.1. Tng quan v quy trnh pht trin phn mm
Cng ngh phn mm hay k ngh phn mm (ting Anh: Software Engineering) l s p dng mt cch tip cn c h thng, c k lut, v nh lng c cho vic pht trin, hot ng v bo tr phn mm. Ngnh hc k ngh phn mm bao trm kin thc, cc cng c, v cc phng php cho vic nh ngha yu cu phn mm, v thc hin cc tc v thit k phn mm, xy dng phn mm, kim th phn mm (software testing), v bo tr phn mm. K ngh phn mm cn s dng kin thc ca cc lnh vc nh k thut my tnh, khoa hc my tnh, qun l, ton hc, qun l d n, qun l cht lng, cng thi hc phn mm (software ergonomics), v k ngh h thng (systems engineering). Qu trnh pht trin phn mm l tp hp cc thao tc v cc kt qu tng quan sn xut ra mt sn phm phn mm. Hu ht cc thao tc ny c tin hnh bi cc k s phn mm. Cc cng c h tr my tnh v k thut phn mm c th c dng gip trong mt s thao tc.

1.2. Cc hot ng c bn ca pht trin phn mm


C 4 thao tc l nn tng ca hu ht cc qu trnh phn mm l: 1. c t phn mm: Cc chc nng ca phn mm v iu kin n hot ng phi c nh ngha. 2. Ci t phn mm: phn mm t c nhng yu cu trong c t th phi c qu trnh ci t. 3. nh gi phn mm: Phn mm phi c nh gi chc chn rng n lm nhng g m khch hng mun. 4. S tin ha ca phn mm: Phn mm phi tin ha tha mn s thay i cc yu cu ca khch hng.

Bi tp
1) Quy trnh pht trin phn mm l g? 2) Cc hot ng c bn ca pht trin phn mm

Chng 2: Cc quy trnh pht trin phn mm truyn thng


2.1. M hnh thc nc (Waterfall)

1. Phn tch cc yu cu v nh ngha: h thng dch v, kh khn v mc tiu c hnh thnh bi s tr ca h thng ngi tiu dng. Sau cc yu t ny c nh ngha sao cho c th hiu c bi c ngi pht trin v ngi tiu dng. 2. Thit k phn mm v h thng: Thit k h thng cc qu trnh, cc b phn v cc yu cu v c phn mm ln phn cng. Hon tt hu nh tt c kin trc ca cc h thng ny. Thit k phn mm tham gia vo vic biu th cc chc nng h thng phn mm m c th c chuyn dng thnh mt hay nhiu chng trnh kh thi. 3. Thc hin v th nghim n v: Trong giai on ny, thit k phn mm phi c chng thc nh l mt tp hp nhiu chng trnh hay nhiu n v nh. Th nghim n v bao gm xc minh rng mi n v tha mn c t ca n. 4. Tng hp v th nghim ton b: Cc n v chng trnh ring l hay cc chng trnh c tch hp li v th nghim nh l mt h thng hon tt v chng t c cc yu cu ca phn mm c tha mn. Sau khi th nghim phn mm c cung ng cho ngi tiu dng. 5. Sn xut v bo tr: Thng thng (nhng khng bt buc) y l pha lu nht ca chu k sng (ca sn phm). Phn mm c ci t v c dng trong thc t. Bo tr bao gm iu chnh cc li m cha c pht hin trong cc giai an trc ca chu k sng; nng

8
cp s thc hin ca h thng cc n v v nng cao h thng dch v cho l cc pht hin v yu cu mi. Ch yu ca m hnh ny l n khng linh hot. Cc b phn ca n chia ra thnh nhng phn ring ca cc giai on. H thng phn phi i khi khng dng c v khng tha mn c yu cu ca khch hng. Mc d vy m hnh ny phn nh thc t cng ngh. Nh l mt h qu y vn l m hnh c s cho a s cc h thng pht trin phn mm - phn cng.

2.2. M hnh pht trin ng dng nhanh (RAD)


M hnh pht trin nhanh (RAD Rapid Application Development) chnh l m hnh tng dn vi chu k pht trin cc ngn. t c mc tiu ny, RAD da trn phng php pht trin trn c s thnh phn ha h thng cng vi vic ti s dng cc thnh phn thch hp. RAD thch hp cho nhng h thng qun l thng tin.

2.3. M hnh lp li v tng trng (Incremental)

Phn loi s pht trin tin ha 1. Lp trnh thm d: i tng ca qu trnh bng cch lm vic vi khch hng thm d cc yu cu v phn phi phn mm dt dim. S pht trin nn bt u vi nhng phn no c hiu r. Phn mm s c thm vo cc chc nng mi khi m n c ngh cho khch hng (v nhn v cc thng tin). 2. Mu thm d: i tng ca pht trin tin ho ny l nhm hiu cc yu cu ca khch hng v do pht trin cc nh ngha yu cu tt hn cho phn mm. Cc mu tp trung trn cc th nghim vi nhng phn i hi no ca khch hng m c th gy s kh hiu hay ng nhn.

Phn tch m hnh: M hnh pht trin tin ha ny hiu qu hn m hnh thc nc. Tuy nhin, n vn cn cc khuyt im: 1. Qu trnh th khng nhn thy r c: Cc nh qun l cn phn phi thng xuyn o lng s tin b. N khng kinh t trong vic lm ra cc h s cho phn mm.

9
2. Phn mm thng dc cu trc ngho nn: S thay i lin tc d lm v cu trc ca phn mm, to ra s kh khn v tn ph. 3. Thng i hi nhng k nng c bit: Hu ht cc h thng kh d theo cch ny c tin hnh bi cc nhm nh c k nng cao cng nh cc c nhn phi nng ng.

M hnh ny thch hp vi: 1. Pht trin cc loi phn mm tng i nh 2. Pht trin cc loi phn mm c i sng tng i ngn 3. Tin hnh trong cc h thng ln hn nhng ch m khng th biu th c cc c t chi tit trong lc tin hnh. Th d ca trng hp ny l cc h thng thng minh nhn to (AI) v cc giao din cho ngi dng.

10

2.4. M hnh xon c (Spiral)

y l m hnh pht trin t m hnh thc nc cho thy mc tng qut hn ca cc pha sn xut ca mt sn phm. M hnh ny c th ch ra cc ri ro c th hnh thnh trn cn bn ca m hnh qu trnh (sn xut) tng qut. M hnh Boehm c dng xon c. Mi vng lp i din cho mt pha ca qu trnh phn mm. Vng trong cng tp trung v tnh kh thi, vng k lo v nh ngha cc yu cu, k n l thit k,... Khng c mt pha no c xem l c nh trong vng xon. Mi vng c 4 phn tng ng vi mt pha. 1. Ci t i tng: Ch ra cc i tng ca pha trong n. Nhng kh khn ca qu trnh v ca sn phm c xc nh v c ln k hoch chi tit. Xc nh cc yu t ri ro ca n. Cc phng n thay th ty theo cc ri ro ny c th c d tr. 2. Lng nh v gim thiu ri ro. Tin hnh phn tch mi yu t ri ro xc nh. Cc bc t ra gim thiu ri ro. 3. Pht trin v nh gi: Sau khi nh gi cc yu t ri ro, mt m hnh pht trin cho h thng c chn. 4. Ln k hoch: n c xem xt v quyt nh c nn hay khng tip tc pha mi trong vng lp.

Bi tp
1) Trnh by m hnh thc nc 2) Trnh by m hnh lp v tng trng 5. Trnh by m hnh xon c

11

Chng 3: Quy trnh pht trin phn mm thng nht Rational Unified Process (RUP)
3.1. Gii thiu
Trong pht trin phn mm, c nhng sai st lm nh hng khng nh n cht lng sn phm. Cc sai st ny c th pht sinh t nhiu ngun khc nhau trong qu trnh xy dng h thng, chng hn nh khng qun l c cc yu cu, khng pht hin li kp thi, khng qun l c cc thay i ca d n. RUP l mt quy trnh vng lp pht trin phn mm c to ra bi cng ty Rational RUP khng phi l mt quy trnh b hp c th n nht nhng l mt nn tng quy trnh Software, mt b phn ca IBM t nm 2002 (IBM Rational). thch ng vi s pht trin cc t chc v cc nhm d n phn mm, tt c s chn cc yu t cn thit ca quy trnh ph hp vi nhu cu, quy m ca cng ty, d n v sn phm. Unified Process c thit k t c im chung, quy trnh phm vi rng ln v RUP l mt RUP h tr cc hot ng gia cc nhm, phn chia cng vic cho tng thnh vin trong RUP s dng h thng k hiu trc quan ca UML v RUP c pht trin song song vi RUP l mt sn phm tin trnh c th ty bin. m t chi tit c th. nhm, trong tng giai on khc nhau ca qu trnh pht trin phn mm. UML. -

3.1.1 Kin trc ca RUP


Cu trc ca quy trnh RUP, c th hin theo hai chiu: Trc honh: l chiu biu din thi gian v vng i ca quy trnh: th hin mt ng ca chu k (cycles), c biu din di dng cc giai on (phase), cc vng lp (interations) v cc ct mc thi gian (milestones). Trc tung: l chiu biu din cc tin trnh ca quy trnh, l cc cng vic c nhm li mt cch logic theo bn cht ca chng, th hin mt tnh di dng cc thnh phn ca chu trnh nh cc tin trnh, cc kt qu sinh ra (artifacts_WHAT), c nhn hay mt nhm thc hin (worker_WHO), giai on cng vic hot ng lin quan vi nhau (workflows_WHEN) v cc n v cng vic (activities_HOW).

12

Lung cng vic chnh: Business modeling Requirement Analysis & Design Implemention Test Deployment

- Lung cng vic h tr: Project Management Configuration and Change Management Enviroment

3.1.2 So snh RUP vi mt s quy trnh pht trin phn mm khc


So snh RP vi XP: RUP khng cp t m n nhng nh l, tuy nhin nhng nguyn l c bn ca phng php lun c ra r rng v ta c th thy r, v d nh phn hi t khch hng, s thay i tng dn, u t ban u t, th nghim c th v tu bin theo tng ni. C mt s im tng ng trong chin lc lp k hoch, c hai phng php u pht biu l khng lp k hoch qu c th ngay t ban u bi v bn khng th bit cng vic g l quan trong ngay t lc u. C hai phng php s dng quan nim vng quay ca d n, v nhn mnh s u tin theo mc quan trng ca cc chc nng. User story v use case u c dng nh hng kin trc phn mm v ng vai tr quyt nh cho vic lp k hoch cng nh qu trnh pht trin.

13
Phng php lun hng i tng u l cng c chnh ca c hai phng php. User story trong XP ging ht vi Use case trong RUP. Trong cc yu t quan trng cu thnh d n l phm vi d n, tnh ng hn, cht lng v ti nguyn d n, XP khuyn co chng ta cn gi c nh mc tiu tnh ng hn, cht lng v ti nguyn. Phm vi d n c th c php iu chnh. RUP khng t quan im mt cch cht ch nh vy, tuy nhin RUP cho php chng ta dng phng php xy dng ma trn quyt nh, trong cc yu t c th c iu chnh ph hp theo c tnh ca tng d n. Du RUP khng pht biu c th nh vy v s cho php thay i phm vi d n, tuy nhin quan im tng ng cng th hin phng php pht trin phn mm to dn ca RUP. Vic kim tra chng trnh mt cch t ng u c XP v RUP khuyn co. XP da trn vic ny m bo chi ph thp cho mi s thay i, tuy nhin RUP th khng i hi. Khc nhau S khc bit ng k gia RUP v XP l RUP hng n nhng d n ln hn so vi XP v v th, n phc tp hn. Chi ph cho thay i v ri ro: RUP cho rng chi ph thay i tng theo hm m v tp trung vo cho nhng bc u tin gim thiu nhng chi ph v sau trong qu trnh pht trin phn mm. RUP quan tm nhiu n vic gim thiu ri ro, theo di tm kim ri ro v tip cn mc tiu ny tng bc t qu trnh xy dng kin trc n cc qu trnh pht trin phn mm sau ny. XP cho rng chi ph thay i khng ln lm. XP cng c xy dng vi mc tiu gim thiu ri ro (ri ro y nh ngha l nhng vn c bn) v hng ti mt thit k v kin trc tt cng nh vi mc tiu trc tin l cho ra l nhng chc nng quan trng nht. Tuy nhin, vi s gi nh l gi cho s thay i thp, kin trc ca phn mm c php pht trin mt cch hu c, nh mt b xng ch cn pht trin va nng c th ti thi im nht nh. iu then cht trong XP l s n gin.

3.2. Vng i ca mt d n RUP


T phng din qun l, vng i ca mt phn mm theo RUP c chia theo thi gian qua bn giai on ni tip nhau, mi giai on c mt mc quan trng, mi giai on thc cht l khong gia ca 2 im mc. Cui mi giai on, b phn kim nh s thc hin thm nh cc i tng ca giai on ny, nu vic kim tra thch hp th d n s c chuyn sang giai on tip theo.

14 3.2.1 Khi to (Inception)

Trong giai on khi ng cn a ra tnh hung v mt nghip v c th c i vi h thng v xc nh phm vi ca d n. Cc tnh hung nghip v gm: nh gi s thnh cng, nh gi ri ro, xc nh cc ngun lc cn thit cho d n v mt bn k hoch tm tt ch ra lch trnh ca cc im mc ch yu ca d n, ri ro ca cc yu cu, cc chc nng nghip v cng phi c ch ra trc khi d n bt u. Trong giai on ny cng cp n vic ci tin t cc h thng c, tuy nhin vn ch tm tt, giai on ny ch trng n c 2 iu quan trng ca d n: ng lm hay khng v kh nng thc hin. Cui giai on ny cn kim tra cc mc tiu ca qu trnh pht trin ca d n v quyt nh c tip tc qu trnh pht trin hay khng. Kt qu ca giai on ny l t c s nht tr gia tt c nhng ngi ng vai tr ch cht v cc mc tiu ca d n. Mc tiu chnh ca giai on Inception: Thit lp phm vi phn mm v cc iu kin bin ca d n, bao gm: nhn nhn kh nng thc hin, cc iu kin tha thun v nhng g sn phm mong i v khng mong i Nhn nh ng n v cc chc nng ca h thng, kch bn ca cc hnh vi trong h thng s ng vai tr nh hng quan trng cho kt qu ca phn thit k. Trnh by, demo mt s kin trc ng c vin cho mt vi kch bn chnh. D tr tt c chi ph, lp k hoch cho ton b d n. D tr cc ri ro tim n. Chun b mi trng h tr cho d n.

15 3.2.2 Phc tho (Elaboration)

Kt qu ca giai on ny l to ra mt baseline cho kin trc ca h thng, to c s cho qu trnh thit k v thc thi trong giai on construction. Kin trc ny m rng vic phn tch cc yu cu quan trng ca h thng (cc yu cu c s nh hng ln n h thng) v nh gi cc ri ro. S n nh ca kin trc c nh gia qua nhiu nguyn bn ca kin trc. Mc tiu ca giai on ny l phn tch cc vn nghip v, xc nh kin trc hp l, xy dng k hoch cho d n, gii hn cc yu t ri ro cao nht. Nhng quyt nh v mt kin trc cn c a ra cho ton b h thng, ng thi cn m t hu ht cc yu cu ca h thng. Cui giai on ny cn kim tra cc mc tiu v phm vi chi tit ca h thng, s la chn v kin trc v cch x l cc ri ro c th ng thi quyt nh c tip tc chuyn sang giai on xy dng hay khng.

3.2.3 Xy dng (Construction)

Trong giai on ny bn pht trin mt cch ti lp v tng dn ton b sn phm y , xy dng sn phm v pht trin cc phin bn, kin trc, cc k hoch cho n khi t c phin bn hon thin nht sn sng chuyn giao ti ngi s dng. Giai on ny bao gm vic m t cc yu cu cn li cha c xc nh, xc nh cc tiu chun, lm mn thit k v hon thnh vic lp trnh ng dng. Cui giai on ny cn xc nh liu h thng phn mm, cc im trin khai v ngi dng sn sng i vo hot ng cha c th chuyn giao cho ngi dng. Giai on ny s c kt lun da vo cc mc l kh nng thc hin cc chc nng yu cu ban u xc nh.

16

3.2.4 Chuyn giao (Transition)

Trong giai on ny, cn a h thng phn mm ti ngi s dng. Khi h thng ti tay ngi s dng th cc vn thng pht sinh i hi nhng bc tip theo l cn chnh h thng, xc nh cc vn cha c pht hin trc hay hon thin cc chc nng trc b tr hon. Giai on ny thng bt u vi vic tung ra phin bn Beta v sau l thay th bi bn chng trnh y . Chuyn giao sn phm cho nhng ngi s dng bao gm: hon chnh sn phm, phn phi, hun luyn, h tr v bo tr cho n khi ngi s dng hi lng. Giai on ny c kt lun thng qua mc cc phin bn ca sn phm, kt thc tng chu trnh lp ca giai on ny.

3.3. Cc lung cng vic chnh trong RUP


3.3.1 M hnh ho nghip v (Business modeling)
M t cu trc v quy trnh nghip v. Mc tiu ca m hnh ho nghip v l: - Hiu c vn ang tn ti trong t chc v xut ci tin

17
- m bo khch hng, ngi dng cui, ngi pht trin c s hiu bit thng nht v h thng - tm ra nhng yu cu h thng cn thit

Cc k hu quy c cho m hnh ho nghip v

3.3.2 Qun l yu cu (Requirements management)


M t nghip v bng phng php tnh hung s dng (use case base method). Mc tiu ca lung cng vic ny l: - Thit lp v duy tr s ng n v yu cu ca khch hng hoc cc nhn t khc v nhng g m h thng s thc hin - Gip cho ngi pht trin hiu r hn v nhng yu cu ca h thng - Xc nh gii hn ca h thng - Gip cho vic c lng thi gian v chi ph pht trin h thng Cc yu cu ca h thng bao gm yu cu v chc nng v yu cu ngoi chc nng ( tin cy, hiu sut, s h tr,..).

18 3.3.3 Phn tch v thit k (Analysis and design)


M t kin trc h thng thng qua cc s phn tch thit k. Mc ch ca lung cng vic ny l chuyn cc yu cu sang c t m t cch thc ci t h thng.

Nhng ngi thc hin v cc ti liu trong lung cng vic

19

Biu lung cng vic Phn tch v thit k

20

3.3.4 Ci t (Implementation)
Thc hin cc vic xy dng chng trnh bng ngn ng lp trnh. Mch ch ca lung cng vic ny l: - Xc nh cch thc vit m ci t - Ci t cc lp v i tng nh l cc thnh phn - Tch hp vo trong mt h thng c th thc thi c

Nhng ngi thc hin v cc ti liu

21

Biu lung cng vic Ci t

22

3.3.5 Kim th (Test)


M t cc tnh hung v kch bn th nghim, tin hnh th nghim h thng phn mm. Mc ch ca kim th l m bo cht lng. Lung cng vic ny lin quan n: - Xt duyt s tng tc gia cc thnh phn trong h thng - Xt duyt s tch hp ng n cc thnh phn - Xt duyt tt c cc yu cu c ci t - m bo rng pht hin cc li trc khi trin khai h thng Cc bc kim th: - Kim th n v - Kim th tch hp - Kim th h thng - Kim th s chp nhn

Nhng ngi thc hin v ti liu trong lung cng vic

23

Biu lung cng vic Kim th

24 3.3.6 Trin khai ng dng (Deployment)


Mc ch ca S trin khai l a sn phm phn mm n ngi s dng. Lung ny bao gm cc hot ng: - Kim th phn mm trong mi trng s dng cui cng - ng gi phn mm chuyn giao - Ci t phn mm - Hun luyn ngi s dng Nhng ngi thc hin: Ngi qun l trin khai, Ngi qun l d n, Ngi vit ti liu k thut, Ngi pht trin, Ngi ci t, Ngi kim th. Cc ti liu: Phn mm c th thc thi, Hng dn ci t, Cc lu , Ti liu hun luyn s dng.

Ngi thc hin v ti liu trong lung cng vic

25

Biu lung cng vic Trin khai ng dng

26 3.3.7 Qun l cu hnh v s thay i (Change management)


Kim sot cc thay i v duy tr s hp nht ca cc thnh phn d n. Mc ch ca lung cng vic ny l theo di v duy tr tnh ton vn ca h thng trong qu trnh pht trin.

Ngi thc hin v cc ti liu trong lung cng vic

Biu lung cng vic Qun l cu hnh v s thay i

27 3.3.8 Qun l d n (Project management)


Mc ch ca lung cng vic ny l: - Cung cp mt khung qun l d n, qun l ri ro - Cung cp cc hng dn thc hnh lp k hoch, thc thi v theo di

Ngi thc hin v cc ti liu trong lung cng vic

28

Biu lung cng vic Qun l d n

29 3.3.9 Qun l mi trng ng dng (Environment)


m bo cc h tng cn thit c th pht trin c h thng. Mc ch ca lung cng vic ny l h tr s pht trin h thng bng cc quy trnh v cng c.

Ngi thc hin v cc ti liu trong lung cng vic

30

Biu cc lung cng vic Qun l mi trng ng dng

Bi tp
1) RUP l g? So snh RUP vi XP? 2) Kin trc ca RUP 3) Cc lung cng vic trong RUP

31

Chng 4: Quy trnh pht trin phn mm eXtreme Programming (XP)


4.1. Gii thiu v XP
Lp trnh cc (eXtreme Programming, vit tt l XP) l mt phng php linh hot dnh cho cc nhm pht trin phn mm nh v trung bnh xy dng cc phn mm c yu cu thay i mt cch nhanh chng. i vi lp trnh vin, XP m bo rng h s lm nhng cng vic hu ch theo kh nng ca h. i vi khch hng v ngi qun l, XP m bo rng mang li nhng li ch tt nht c th sau mi thi gian lm vic. H s nhn thy mc ch ca qu trnh thc hin v c th thay i n m khng pht sinh nhiu chi ph. XP s dng cc nhm lm vic kt hp gm nhng ngi lp trnh, khch hng v cc nh qun tr pht trin phn mm c cht lng cao trong thi gian nhanh chng. Mt chng trnh chy c l thc o u tin ca tin trnh theo XP. XP c th pht trin v tn ti c l do s hiu bit ngy mt tin b v cc vn ang gii quyt v cng l v cc cng c sn c cho php ta thay i c ci gi ca s thay i (cost-of-change). XP gi cho ci gi phi tr ny mc thp do vy s thc y mi trng sn xut phn mm.

4.2. Vai tr, quyn hn v trch nhim ca cc tc nhn trong XP


C nhiu vai tr khc nhau trong XP i vi nhng tc v khc nhau v mc ch trong sut qu trnh x l v vn hnh. Programmer Programmer s vit nhng testing v gi cho code ca chng trnh n gin v r rng nh c th. Vn u tin to nn s thnh cng ca XP l vic giao tip v kt hp vi nhng Programmer v Team khc. Customer Customer vit nhng story v kim tra chc nng, quyt nh khi yu cu c tha mn. Khch hng s thit lp u tin ci t cho tng yu cu. Tester Tester gip Customer thc hin vic kim tra cc chc nng. H s thc hin vic kim trac cc ch nng thng xuyn, cng b kt qu v duy tr nhng cng c kim tra. Tracker Tracker gi feedback vo XP. Anh ta s d v c lng thnh vin mi Team v gi feedback xc nh lm th no c th ci thin chc nng nh gi 1 cch ng n. Coach

32
Coach l ngi chu trch nhim v qu trnh x l sao cho y . Hiu bit ng n c c s ca XP rt quan trng trong vai tr kch hot coach hng dn thnh vin Team khc tip tc x l. Consultant Consultant l thnh vin bn ngoi x l nhng kin thc v cng ngh c trng cn thit. Consultant hng dn Team s l nhng vn c trng. Manager (Big Boss) Manager nm vai tr a ra quyt nh. lm c vic ny, anh ta phi kt ni vi Team thc hin d n xc nh trng thi hin ti v phn bit nhng kh khn hoc x l nhng thiu ht trong qu trnh x l.

4.3. Cc gi tr ct li ca XP
XP l mt phng php c kh nng thch nghi, thch ng. iu c ngha l s khng c hai d n XP no ging nhau c. XP cung cp mt tp hp cc thc hnh v c s dng nh l im khi u, v sau c lm cho thch ng ph hp vi cc rng buc ca tng d n ring.

4.3.1. S giao tip (Communication)


Mc ch ca XP l gi mt lung giao tip ng n bng cc hot ng cn s giao tip nh: kim th n v, lp trnh theo i, Mt XP team ln mnh da trn cc kin thc, s hiu bit bi ton v hiu bit phn mm c chia s. Cc phng php gii quyt vn c trao i trc tip. Nhng th cn tr n cng vic u c loi b. XP ch trng vic trao i thng tin mt cch 'trong sut' gia cc thnh vin trong nhm pht trin. cao vic trao i trc tip, gim vic trao i gin tip hay hinh thc thng qua cc vn bn. Vi XP, khch hng tham gia trc tip vo vic thc hin d n vi t cch l mt thnh vin chnh thc ca nhm pht trin. Khch hng s gip nhm pht trin hiu v nm bt c v kp thi cc yu cu ca ngi s dng (cng nh s thay i v yu cu) trong sut qu trnh thc hin d n. Tt c cc thnh vin u tham gia vo mi hot ng trong qu trnh pht trin phn mm.

4.3.2. S n gin (Simplicity)


Quan im trong XP l thc hin mt cng vic n gin hm nay, b sung thm vo ngy mai v thay i nu cn thit ch khng phi l lm mt cng vic phc tp m c th khng cn thit. S giao tip v s n gin c mi lin h cht ch vi nhau. XP m bo ch pht trin nhng chc nng m khch hng yu cu. Phn thit k v m ngun c thit lp mt cch n gin nht, cho php c c c tnh 'm' cao nhm p ng vi cc thay i lin tc v lun duy tr c mt tc pht trin nhanh trong sut qu trnh pht trin phn mm.

33 4.3.3. S phn hi (Feedback)


S phn hi c thc hin nhiu mc khc nhau: gia cc lp trnh vin hng ngy, gia khch hng v ngi kim th hng tun. Thng cc i lm d n v khch hng ca h khng nhn ra nhng vn rc ri cho ti khi sp bn giao sn phm. Nhng cc i XP thng xuyn ly phn hi trong qu trnh lm vic, kim th, bn giao sn phm Khi s iu khin c cc vn pht sinh. Phn hi sm v lin tc t khch hng cng nh t nhm pht trin gip cho d n lun i theo ng hng. XP u n giao sn phm cho khch hng kim tra, theo khch hng c th 'lm mn' v hon thin yu cu sn phm da trn cc kt qu c th.

4.3.4. S dng cm (Courage)


Khi nhm pht trin thy rng khng th tip tc qu trnh hin ti, h s thay i n. iu ny c th phi b i mt na cc trng hp kim th h lm trc , v s tn thm mt vi ngy c gng sau . Tuy vy, h c th hng n mc ch hon thnh. Cc i lm phn mm thnh cng cn phi kim sot c ngay c khi xut hin cc li. XP a ra 12 phng n thc hnh, v im mnh ca XP chnh l kt hp c cc phng n ny li. Mi mt phng n tuy n gin nhng rt cn thit phi nm vng, s gp phn lm gim bt ng k ci gi ca s thay i. XP cho rng phi c lng dng cm th mi thnh vin mi thc hin c cc nguyn tc k trn. Tuy XP khng ch ra mt cch r rng, nhng cng cn phi nhn mnh rng tnh k lut l yu cu quan trng thc hin c hiu qu phng php pht trin phn mm XP.

4.4. Vng i pht trin ca mt d n XP


4.4.1. Khi to (Exploration )
Khch hng s vit ton b mt Story Card m h hi vng s c thm vo trong phin bn u tin. Mi Story Card m t chc nng c thm vo trong chng trnh. Ti cng mt thi im Project Team s lm quen vi Story Card bng cc Tools, Cng ngh v thc hnh, h s s dng trong Project. Cng ngh s dng s c kim tra k lng, cn kin trc h thng nu nh c trin vng s c kho st mt cch t m bng vic xy dng cc mu ban u. Thi gian honh thnh pha ny mt khong vi tun cho ti vi thng, iu cn ph thuc vo phc tp ca cng ngh i vi cc Programmers.

4.4.2. Lp k hoch (Planning)


Pha ny s thit lp cc v tr u tin cho cc Story. Ngoi ra cn xc nhn ng cho ni dung ca Version u tin. Programmer trc tin s c lng yu cu ca mi Story v ln k hoch lm vic sau thi im xc nhn ng ni dung. Qung thi gian ca k hoch lm vic cho version u tin khng vt qu 2 tun.

34 4.4.3. Chuyn giao tng phn (Iterations to Release)


Pha ny bao gm mt vi bc lp ca h thng trc khi cho ra i Version u tin. K hoch lm vic c thit lp trong bn k hoch b hng ti mt s lng bc lp no s mt t 1 ti 4 tun ci t. Bc lp u tin s to h thng vi kin trc ca mt h thng y . l bn lu tr bi vic la chn cc story s thc y vic xy dng cu trc cho h thng y . Khch hng chp nhn story c la chn cho mi bc lp. Qu trnh test cc chc nng s c to bi khch hng c thc thi cui mi bc lp. Ti cui bc lp cui cng h thng sn sang c th sn xut.

4.4.4. Trin khai hon thin sn phm (Productionizing)


Pha ny yu cu m rng hn v vic Testing cng nh Checking v kh nng thc thi ca h thng trc khi h thng chnh thc c giao ti tay ca khch hng. Ti pha ny, s thay i mi vn c th c tm ra v quyt inh thc hin chng nu nh chng c cha trong phin bn hin ti. Trong sut qu trnh ca pha ny, cc bc lp c th s tr nn cn thit x l nhanh chng t 3 ti 1 tun. Sau khi phin bn c pht hnh u tin c sn xut ha cho khch hng s dng, d n XP phi gi c h thng trong qu trnh thc thi sn phm khi hu ht vic thc hin cc bc lp mi. lm c vic , th pha Bo tr cn s n lc t vic h tr ca khch hng. Theo cch tc pht trin c th c hm li sau khi h thng tr thnh sn phm.

4.4.5. Duy tr sn phm (Maintenance)


Cng gn ging nh vic khi khch hng khng cn bt c 1 story no pht trin. Quy nh ny c ngha nh vic khch hng cn tha mn h thng nhiu kha cnh. y l thi im trong qu trnh XP x l khi nhng ti liu cn thit ca h thng c hon thnh hay nh vic khng c bt k thay i no trong kin trc, thit k hoc code. Death hu ht xy ra nu nh h thng khng c giao ng nh yu cu hoc nu nh n tr nn qu t so vi chi ph pht trin.

4.5. Cc cng vic ct li trong XP


4.5.1. Lp k hoch (The Planning Game)
Vi XP, khch hng tham gia trc tip vo qu trnh lp k hoch pht trin phn mm. Vai tr ca khch hng v nhm pht trin c nh ra mt cch r rng. Trch nhim ca khch hng: - M t tnh nng phn mm cn pht trin thng qua cc ' cu chuyn' (user story). User story c ngha tng t nh use case trong UML nhng mc m t th khng chi tit bng. Phn loi cc user story theo mc quan trng t quan im ngi s dng (da trn gi tr kinh doanh-business value). T s nh ra tnh nng no cn phi pht trin v pht trin theo th t nh th no.

35
- nh ra thi im v chu k bn giao sn phm Trch nhim ca nhm pht trin: - c lng yu cu k thut ( pht trin) cho tng user story (c lng phc tp). - c lng thi gian, nhn cng cng nh gi thnh pht trin tng user story.

4.5.2. Chuyn giao tng phn (Small releases)


Do nhm XP lm vic trong cc bc nh cho nn vic pht hnh cng chia ra thnh cc pht hnh nh (khong vi tun mt ln). V cc thnh vin s phi tch hp lin tc. C nhng n XP thc hin vic pht hnh hng ngy. Theo quy cch ny, nhm pht trin s pht trin dn dn phn mm, t n gin n phc tp. Tng phn s c chuyn giao cho khch hng c c ngay s phn hi ca khch hng. T s c th iu chnh ngay c sn phm cho ph hp vi yu cu ca khch hng. Khch hng cng c iu kin b sung hay thay i yu cu phn mm.

4.5.3. Bng nh danh (Metaphor)


Nhm pht trin XP dng chung mt h thng cc thut ng biu din h thng cn pht trin. Cc thut ng ny s c dng trong khi trao i gia cc thnh vin trong nhm cng nh khi trao i vi khch hng.

4.5.4. Thit k n gin (Simple design)


gim gi phi tr cho s thay i ng ngha vi vic lm cho h thng cng n gin cng tt. iu c ngha l khng nn b qu nhiu thi gian v cng sc vo nhng vic m sau ny c th cn hoc cng c th khng. Cc n XP thng c n gin mt cch ti a, m bo rng sau ny nu c cn thay i th chi ph cng rt nh. XP khuyn khch tm kim gii php n gin khi thit k phn mm. Ch thit k phn mm tho mn yu cu hin ti ca khch hng, khng nn tm kim mt gii php cho mt h thng tng lai. Theo , ch cn mt thit k lm sao cho chng trnh chy c v tha mn yu cu ca khch hng.

4.5.5. Kim th lin tc (Testing)


Cc lp trnh vin s vit cc n v th nghim trc khi vit m (thit k th nghim u tin). Tt c cc n v th nghim (trng hp th nghim) u c thc hin thng xuyn trong qu trnh pht trin sn phm trong tng module m ca tng lp trnh vin. Cc lp trnh vin c th thay i mt cch linh hot v quy trnh th nghim c th mc li hay sai so vi thit k ban u. XP yu cu rt cao trong khu kim th v kim nh chng trnh. Vi mi phn ca chng trnh, lp trnh vin phi vit chng trnh kim th cho phn trc khi thc s bt u khi vit chng trnh (cho phn ). Khch hng s chu trch nhim thc hin kim nh sn phm.

36 4.5.6. Hon thin lin tc (Refactoring)


Ti ch l k thut lm tng hiu qu ca vic tht k cc m c sn m khng lm thay i chc nng. Ti ch l rt kh thi v mt nhm XP c cc quy trnh th nghim t ng bt li, cho php ta thay i m (phn nh kh nng hiu bi ton ngy cng cao ca cc thnh vin). Qua cng m rng cc thit k ln. Quan im ca XP l cht lng phn mm c th hin bng cht lng ca m ngun (code). Mt chng trnh c vit r rng, n gin th s d bo dng v thay i. XP khuyn khch t chc li chng trnh mt cch u n nng cao tnh sng sa ca chng trnh, d b sung cc chc nng mi, nng cao hiu sut ca chng trnh.

4.5.7. Lp trnh theo i (Pair programming)


Bt k ngi no trong i d n u c quyn thay i m trong qu trnh lm vic vi khch hng ch cn tun theo Tiu chun m ho v phi m bo thc hin th nghim li ton b sau khi hon tt cng vic sa i. iu ny s loi b cc vn nh l sai lch v cu trc chng trnh, c th xy ra khi mt c nhn m ho c lp. Tt c cc phn chng trnh do mt hay nhiu nhm hai ngi vit. Hai ngi ny s s dng chung mt my tnh, cng ng thi vit chng trnh. Quy cch ny s gip cho c c gii php lp trnh tt hn, chng trnh s c cht lng v hiu qu hn.

4.5.8. Chia s cng vic (Collective ownership)


Mi thnh vin trong nhm u phi hc v s dng thnh tho cc Nguyn l v dng thc thit k. Th nht, n gip cho c nhm lm vic vi nhau mt cch n (lin lc tt). Sau l gip cho vic vit m ca tng thnh vin c tt v nhanh do ti s dng c kinh nghim t ngi i trc, iu ny rt quan trng, v trong XP khng c thit k chi tit, tng on m/tng module phi do tng thnh vin ca nhm th hin, v vy nu p dng c th s gim thiu c qu trnh iu chnh/ti ch. Tt c m ngun u thuc quyn s hu ca mi thnh vin trong nhm pht trin. Theo , m ngun c th c sa i ngay khi cn. Vi cch qun l thng thng, mi phn m ngun thng do mt ngi qun l, nn khi cn sa i th phi cn s thng qua ch s hu, i khi iu ny gy mt nhiu thi gian.

4.5.9. Tch hp lin tc (Continuous integration)


Cc nhm XP chia cng vic ra thnh cc bc nh v tch hp m ca h mt vi ln trong mt ngy. Do vy, cc vn s c xem xt ngay sau khi thc hin v c th d dng sa cha khi gp s c. Qu trnh ny m bo cho mi ngi lun lm vic vi phin bn mi nht ca h thng.

37
Vic tch hp s c tin hnh mt cch lin tc. Khi mt on chng trnh mi c pht trin, vt qua phn kim th, th s c tch hp ngay vo h thng. iu ny s gip cho vic pht hin v sa li thch hp nhanh hn v r hn. Trong mt ngy c th thc hin nhiu ln tch hp h thng.

4.5.10. Lm vic cng khch hng (On-site customer)


Cc lp trnh vin phi lun tip xc vi khch hng xc nh r nhu cu bt k n lc tn bao nhiu. Cc nh lp trnh XP khng nn suy on cc vn c th ca mt chc nng m phi hi trc tip khch hng. Vi XP, khch hng s tham gia cch trc tip trong sut qu trnh pht trin phn mm. S tham gia ny s gip cho nhm pht trin c iu kin tham kho trc tip kin ca khch hng, trao i v h thng cn c pht trin, trnh c nhm ln trong cch hiu v h thng cn pht trin. Mc tiu cui cng l sn phm lm ra ph hp vi yu cu ca khch hng.

4.5.11. S dng cc chun vit m (Coding standards)


y l mt lot cc quy c v m ho cc thnh vin ca d n theo lm. Khi mi ngi c th xem xt ln nhau v c th bn giao c cho nhau. chng trnh (m ngun) c th hiu c mt cch d dng, nht l i vi cc quy cch lp trnh i v s hu tp th, nhm pht trin phi thng nht cch vit chng trnh. Cn phi c mt quy nh c th, r rng v cch vit (v d, cch t tn bin, cch b sung ch thch, ..v.v.) lm sao tt c u hiu c.

4.5.12. Gii hn 40 gi/tun (40-hour week)


Vic pht trin phn mm l mt cng vic sng to, v h s khng th sng to c nu h kit sc. Vic gii hn s gi lm vic trong tun s m bo c sc kho ca cc thnh vin v tng cng cht lng sn phm. Hin tng lm vic qu gi rt ph bin trong gii pht trin phn mm. Thc t cho thy khi ngi lao ng lm vic qu gi thng hay mt mi, dn n lm vic khng hiu qu, cht lng sn phm gim. XP khuyn co khng nn lm vic qu gi, ch lm ng gi quy nh m bo cht lng sn phm.

Bi tp
1) Cc gi tr ct li trong XP 2) Vng i ca mt d n XP 3) Cc cng vic ct li trong XP

38

MT S THI MU

39 Trng i Hc Hng Hi Vit Nam Khoa Cng ngh Thng tin B MN H THNG THNG TIN -----***-----

THI KT THC HC PHN


Tn hc phn: CC QUY TRNH PHT TRIN PHN MM Nm hc: x Thi gian: 60 pht Cu 1: (2 im) Quy trnh pht trin phn mm l g? K tn mt s quy trnh pht trin phn mm c in? Cu 2: (2 im) Trnh by quy trnh xon c (Spiral model)? Cu 3: (3 im) Kin trc ca RUP? Vng i ca mt d n RUP? Cu 4: (3 im) Cc cng vic ct li trong XP? ----------------------------***HT***---------------------------Lu : - Khng sa, xa thi, np li sau khi thi thi s: x K duyt : x

40 Trng i Hc Hng Hi Vit Nam Khoa Cng ngh Thng tin B MN H THNG THNG TIN -----***-----

THI KT THC HC PHN


Tn hc phn: CC QUY TRNH PHT TRIN PHN MM Nm hc: x Thi gian: 60 pht Cu 1: (2 im) Trnh by cc hot ng ca pht trin phn mm? Cu 2: (2 im) Trnh by quy trnh thc nc (Waterfall model) Cu 3: (3 im) Vng i ca mt d n XP? Cu 4: (3 im) Cc lung cng vic chnh trong RUP? ----------------------------***HT***---------------------------Lu : - Khng sa, xa thi, np li sau khi thi thi s: x K duyt : x

You might also like