Professional Documents
Culture Documents
Bai Giang Quy Trinh Phat Trien Phan Mem
Bai Giang Quy Trinh Phat Trien Phan Mem
BI GING
QUY TRNH PHT TRIN PHN MM
: 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
Bi tp
1) Quy trnh pht trin phn mm l g? 2) Cc hot ng c bn ca pht trin phn mm
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.
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
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. -
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
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.
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.
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.
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
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.
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
19
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
21
22
23
25
28
30
Bi tp
1) RUP l g? So snh RUP vi XP? 2) Kin trc ca RUP 3) Cc lung cng vic trong RUP
31
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.
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.
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.
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 -----***-----
40 Trng i Hc Hng Hi Vit Nam Khoa Cng ngh Thng tin B MN H THNG THNG TIN -----***-----