Download as pdf or txt
Download as pdf or txt
You are on page 1of 75

TRNG I HC CNG NGHIP TP.

HCM
MN HC CNG NGH PHN MM

Chng 2

Qui trnh xy dng phn mm

CNPM/NN

Chng 2 : Qui trnh xy dng phn mm


2.1 Qui trnh (process) 2.2 Mt s qui trnh xy dng phn mm 2.2.1 M hnh thc nc 2.2.2 M hnh pht trin gia tng 2.2.3 M hnh RAD 2.2.4 M hnh bn mu 2.2.5 M hnh xon c 2.3 Mt s vn khc 2.3.1 Pht trin da vo thnh phn 2.3.2 K thut th h th 4 2.3.3 Qui trnh RUP 2.3.4 Phng php pht trin phn mm linh hot (PTPMLH)

CNPM/NN

Yu cu
Hiu r mt s qui trnh phn mm c bn Cn bit l trong thc t ngi ta thng p dng nhng phng php tng hp, c th kt hp nhiu phng php Nhng phng php gii thiu l nhng phng php c bn thng mang tnh cht ch cao, hin nay ngi ta p dng nhng phng php mi n c tnh linh hot cao, to s thoi mi v pht huy tnh sng to nhng vn khng t b tnh k lut Tt c cc qui trnh u c nhng bc 5 c s: phn tch, thit k, hin thc m, kim th, trin khai v bo tr, tin ha

CNPM/NN

2.1 Qui trnh (process)


Qui trnh (process) phn mm gm mt tp hp cc hot ng c t chc m mc ch ca n l xy dng v pht trin phn mm. Qui trnh xc nh ai lm g, khi no v bng cch no t c mt mc tiu no Quy trnh phn mm xc nh mt b khung v tiu chun trin khai cng ngh phn mm Trong cng nghip gii quyt nhng vn thc t, nhng k s hay mt nhm k s phn mm phi cng tc a ra mt chin lc pht trin bao gm qui trnh (process), phng php (method) v cng c (tool) Qui trnh: Phi thc hin nhng cng vic g? Phng php: Ch ra cch thc hin nhng cng vic c th (how to)
CNPM/NN 4

Qui trnh phn mm


Nhng loi h thng khc nhau s cn nhng qui trnh pht trin khc nhau
H thng thi gian thc yu cu phi hon thnh c t h thng trc khi chuyn sang giai on xy dng n. H thng thng mi in t, chng ta c th va c t va xy dng chng trnh mt cch ng thi.

CNPM/NN

Qui trnh pht trin phn mm l nn tng cho


Management Control of software projects Establishes the Control in which technical methods kiem soat are applied sp Work Products (models, documents, data, reports, forms etc.) are Produced Milestones are established cot moc thoi gian Quality is ensured and Change is properly managed

CNPM/NN

Cc tng trong cng ngh phn mm


Software Engineering
tools methods process model a quality focus

CNPM/NN

Khung tin trnh (Process framework)


Process framework Framework activities work tasks work products cot moc v thoi gian milestones & deliverables QA checkpoints Umbrella Activities

CNPM/NN

Khung tin trnh


Truyn thng Lp k hoch M hnh ha Xy dng Trin khai
Communication Planning Modeling
Analysis of requirements Design

Construction
Code generation Testing

Deployment

CNPM/NN

Framework activities
work tasks work products milestones & deliverables QA checkpoints

CNPM/NN

10

Hot ng h tr (umbrella)
Qun l d n Kim tra k thut hnh thc Bo m cht lng phn mm Qun l cu hnh phn mm To v chun b nhng sn phm cng tc Qun l s dng li o lng Qun l ri ro
Software project management Formal technical reviews Software quality assurance Software configuration management Work product preparation and production Reusability management Measurement Risk management

CNPM/NN

11

Hot ng h tr (umbrella)

CNPM/NN

12

2.1 M hnh pht trin phn mm (Process Model) M hnh pht trin phn mm l mt th hin tru tng ca quy trnh phn mm. N biu din cc c t v quy trnh t nhng kha cnh c th, do , n ch cung cp mt phn thng tin v quy trnh phn mm Trong qui trnh cn
Process needs to be controlled Progress needs to be monitored (gim st) People and resources (ti nguyn) need to be allocated (ch nh) at the right point in time
CNPM/NN 13

La chn m hnh pht trin


The nature of the project and application
Risk perception(nhn thc) Understanding and application skill of the software engineer Domain knowledge of the software developer

The methods and tools to be used The Controls and deliverables that are required.

CNPM/NN

14

Nm m hnh pht trin phn mm


M hnh Thc nc (Waterfall) M hnh Tin trnh tng dn (Incremental Process)
M hnh tng dn (Incremental) M hnh RAD (Rapid Application Development)

M hnh qui trnh tin ha (Evolutionary Process)


M hnh Bn mu (Prototyping) M hnh Xon c (Spiral)

CNPM/NN

15

Whats Wrong?
Inputs Outputs

Khng th bit khi no hon thnh do khng c phn tch thit k chnh thc Khng c cch nh gi yu cu v tiu chun cht lng c c tha mn hay khng
CNPM/NN 16

M hnh thc nc (Waterfall)


M hnh thc nc [Winston Royce] a ra vo nm 1970 nhm thay th cho phng php code-and-fix Ln u tin a ra chnh thc mt khung (framework) gm nhng giai on (phase) pht trin phn mm da vo yu cu xc nh v c t liu trong giai on u

CNPM/NN

17

M hnh thc nc

Communicat ion
project init iat ion requirement gat hering

Planning
estimating scheduling tracking

Modeling
analysis design

Const ruct ion


code t est

Deployment
delivery support f eedback

CNPM/NN

18

M hnh thc nc
Tin trin theo trnh t cc bc Giai on k tip s bt u khi giai on hin hnh c hon tt Mi giai on xc nh tiu chun vo v ra Vic chuyn t mt giai on ny ti giai on k tip c thc hin khi tha mt kim tra (review) chnh thc Tha mt kim tra xc nh mt s ng thun gia nhng thnh vin d n v khch hng

CNPM/NN

19

M hnh thc nc - u im
M hnh c ny c nhng ngi dng cui v nhng khch hng bit r N gii quyt nhng vn phc tp theo mt cch c trnh t, thc hin tt cho nhng d n c hiu r nhng vn cn phc tp M hnh d thc hin khi vic pht trin theo trnh t N cung cp mt cu trc cho nhng nhn vin thiu kinh nghim hay yu v k thut N lm vic tt khi yu cu cht lng ni tri hn nhng yu cu v lch biu v chi ph N xc nh nhng th tc kim sot cht lng. Mi sn phm chuyn giao c kim tra khi n c hon tt D dng ln vt din tin ca d n bng cch dng biu Gantt
CNPM/NN 20

M hnh thc nc nhc im


Phi c t tt c yu cu mt cch chnh xc v y ngay t ban u M hnh c tnh tun t theo 5 giai on nn khi mun quay lui 2 hay nhiu giai on lm ng mt vn hay mt kt qu thiu st th s tn km nhiu chi ph v thi gian N khng x l vn thc t cha ng vic lp i lp li gia cc giai on Kh nh gi tnh trng ca d n Nhng vn tch hp c thc hin giai on cui nn qu tr khi gp nhng vn v tch hp Cn phi qun l v kim sot cht ch (do khng quay lui) Khch hng ch c th thy h thng giai on cui Tn ti delay trong nhm lm vic
CNPM/NN 21

Khi no s dng m hnh thc nc


Khi xc nh sn phm n nh v nhng vn v k thut bit r: Nu mt cng xy dng mt h thng nh k ton, bn hng th nhng d n xy dng nhng sn phm tng t c th dng thit k c c th s dng m hnh thc nc To mt phin bn mi ca mt sn phm tn ti m nhng bin i (change) c xc nh v iu khin

CNPM/NN

22

M hnh tng dn (Incremental)


This model combines elements of the linear sequential model with the iterative philosophy of prototyping Initial Software requirements are reasonably (hp l) well defined Compelling (thuyt phc) need to provide a limited set of software functionality to users quickly and then refine and expand on that functionality in later software releases

CNPM/NN

23

M hnh tng dn

CNPM/NN

24

M hnh tng dn
Cc yu cu c xc nh v phn loi theo u tin, u tin cao cho nhng chc nng chnh v nhng chc nng c ri ro cao Phn chia cc yu cu cho cc vng v thit k kin trc ca ton b h thng Vng u tin to ra sn phm li (core product) Cc bc sau b sung cc chc nng khc v tch hp vo h thng nhm hon thin dn sn phm Mi chc nng cng nh h thng tch hp phi c nh gi theo tng giai on Cc yu cu v kin trc ca ton b h thng s c iu chnh da vo nhng sn phm pht hnh theo tng vng
CNPM/NN 25

M hnh tng dn u im
Nhng chc nng ca h thng c th t u tin cng cao (chc nng chnh, chc nng ri ro cao) s c thc hin trc, do chng s c kim th nhiu hn, sn phm c hon thnh phn c bn sm Sau mi ln tng vng th c th chuyn giao kt qu cho khch hng. Nhng kt qu ny ng vai tr l mu th gip tm hiu thm cc yu cu nhng vng tip theo. C th thc hin nhiu bc ng thi, tch nh cng vic nhm d qun l hn (The divide and conquer rule) Gim ri ro trong vic tht bi ca ton b d n, ri ro tri ra nhiu phn nh S dng nhn vin gii hn, h c th thc hin nhng cng vic tng t cc vng
CNPM/NN 26

M hnh tng dn khuyt im


Phi xc nh chc nng y v hon chnh trc khi xc nh cc vng gia tng Phi xc nh r cc giao tip (interface) cho cc module m thi gian hon thnh cch bit nhiu Vic kim tra kh khn hn trn mt h thng hon chnh Khch hng khi thy sn phm li c th ngh l cng vic n gin t tn km i hi phi c k hoch v thit k tt, phn chia cng vic hp l, cc nhn vin phi cng tc tt
CNPM/NN 27

M hnh gia tng khi no s dng


Khi tt c yu cu c hiu r nhng mong mun c s tin ha dn ca sn phm Khi cn phi nhanh chng a sn phm vi chc nng c bn ra th trng sm p dng cho nhng sn phm c thi gian pht trin di hn 1 nm

CNPM/NN

28

M hnh RAD (Rapid Application Development) M hnh ny c a ra bi IBM vo nhng nm 1980, qua sch ca James Martin Rapid Application Development mt m hnh tin trnh phn mm gia tng m nhn mnh ti chu k pht trin ngn (60-90 ngy) M hnh RAD l s rp ni tc cao ca m hnh Thc nc, xy dng da vo thnh phn v s dng cc ng dng to m t ng

CNPM/NN

29

M hnh RAD
Team # n
M o d e lin g
busines s m odeling dat a m odeling proc es s m odeling

C o n s t r u c t io n

Com m unicat ion

Team # 2
Mo d eling
b u si n e ss m o d e l i n g dat a m odeling p ro ce ss m o d e l i n g

com ponent reus e aut om at ic c ode generat ion t est ing

Planning Team # 1 Mode ling


business modeling dat a modeling process modeling Co nst r uct io n
co m p o n e n t re u se a u t o m a t i c co d e g e n e ra t i o n t e st i n g

De ploym e nt
int egrat ion deliv ery feedback

Const r uct ion

component reuse aut omat ic code generat ion t est ing

6 0 - 9 0 days
CNPM/NN 30

To m hnh (Modeling)
Business Modeling: What information drives the business process? What information is generated? Who generates it? Where does the information goes? Who processes it?

Data Modeling: The characteristics of each object are identified and the relationships between these objects defined. Process Modeling: Processing descriptions are created for adding, modifying, deleting, or retrieving a data object
CNPM/NN 31

Xy dng (construction)
Application generation: k thut th h th 4, thnh phn (component) v cng c t ng (tool) Testing and turnover: ch ti kim th giao tip (interface)

CNPM/NN

32

M hnh RAD im mnh Thi gian pht trin gim nh dng cng c Ch cn t ngi pht trin hn, do h thn thin vi vn Nhanh chng cho php hnh dung ra sn phm Dng hiu qu cc framework v cng c ng gi (off-the-shelf tools and frameworks) Gim ri ro nh c s tham gia ca khch hng

CNPM/NN

33

M hnh RAD im yu
Thiu s tham gia tt ca ngi dng trong chu k sng ca phn mm Ngi pht trin phi c k nng v c hun luyn tt cho vic s dng cng c v thi gian pht trin nhanh H thng c kh nng phn tch module Cn c p ng v thnh phn s dng li Ngi pht trin v khch hng phi n lc Ngi qun l phi lm vic tn ty vi nhm pht trin v khch hng nhanh chng t c cc tha thun

CNPM/NN

34

M hnh RAD khi no s dng H thng d dng phn chia module v c th m rng H thng m nhng yu cu c bit r v hp l Ngi dng c th tham gia tt qua ton b chu k sng (life cycle) D n thi gian pht trin ngn, di 60 ngy Nhng thnh phn s dng li c sn trong kho phn mm Nhng h thng nh, nhng h thng khng c tnh nghim ngt (critical)
CNPM/NN 35

M hnh to bn mu (Prototyping)
Bernard Boar: a strategy for performing requirements determination wherein user needs are extracted, presented and developed by building a working model of the ultimate system - quickly and in context M hnh bn mu da trn tng xy dng mt mu th ban u (Prototype nguyn mu) v a cho ngi s dng xem xt; sau , tinh chnh mu th qua nhiu phin bn cho n khi tha mn yu cu ca ngi s dng th dng li. Mu th ban u nh l mt c ch nhn din chnh xc yu cu ca khch hng (Throwaway Prototyping) Mu th ban u c th tr thnh sn phm. Khi cc yu cu ca ngi s dng c tha mn th cng l lc chng ta xy dng xong h thng (Evolutionary Prototyping) Mu th ban u c th loi b, mu th ch c tc dng lm sng t yu cu ca ngi s dng.
CNPM/NN 36

PROTOTYPE MODEL
listen to customer build/revise mock-up

customer test-drives mock-up

Prototyping
CNPM/NN 37

Requirements

PROTOTYPE MODEL

Quick Design Implement Customer Evaluation Design Implementation & Unit Testing Integration and System Testing Operation & Maintenance Refinements of Requirement as per suggestions
Not accepted by customer

Accepted by Customer

CNPM/NN

38

M hnh to bn mu u im
Khch hng tng tc sm vi h thng Khch hng v ngi pht trin lm vic vi nhau Ngi pht trin c th xc nh chnh xc c yu cu C th pht hin nhng yu cu mi hoc nhng yu cu bt ng M hnh cho php thit k v pht trin mm do qua nhiu vng lp

CNPM/NN

39

Nhc im
L phng php Quick-and-dirty Nhng nguyn mu Quick-and-dirty thng gy ra kh khn trong vic thiu t liu hay t liu khng ph hp H thng c xy dng c th mang cu trc mt cch ngho nn vi nhng la khng tt. H thng s c cht lng thp v kh bo tr sau mt thi gian di Khch hng hi thc nh pht trin hon thnh sn phm mt khi thy c cc prototype u tin Ngi pht trin c th ri vo chu k code-and-fix
CNPM/NN 40

M hnh bn mu khi no s dng


Khi yu cu khng c bit r, Khi yu cu khng n nh, vic thng tin khng p ng tt Mt vi phn ca h thng ln c th c to theo m hnh bn mu Khi ngi pht trin khng chc chn vic dng gii thut hay kin trc l ti u Trn nhng h thng da vo phn mm k thut cao m nhng yu cu khng c xc nh r Ph hp vi nhng h thng
user-interface intensive systems interactive online systems, first-of-a-kind products decision support systems
CNPM/NN 41

M hnh xon c (Spiral Model)


ngh bi Berry Boehm, 1988 Qui trnh c biu din theo hnh xon c Mi vng lp (hay chu k) trong hnh xon c biu din mt giai on trong qui trnh. Vng trong cng tp trung vo tnh kh thi ca h thng, vng k tip xc nh yu cu h thng, ri vng thit k

CNPM/NN

42

Spiral model of the software process


Commulative Cost

Determine Objectives, alternatives, constraints

Progress through steps


R isk analys is Risk analys is Risk analys is

Evaluate alternatives, Identify, resolve risks

Prototyp e

Commitment Ratio

REVIEW Requi rement s pl an Life-cycle plan

Prototyp e Risk analysis Prototy pe C oncept o f Operati on

2 1 Sim ul ati ons, m odels, b en ch marks


Prod uct design Detailed desi gn

Operational protoyp e

S/W requi rements

Develop ment pl an

Plan next phases


CNPM/NN

Integrati on and test p lan

Code Uni t t es t Desi gn V& V Integr ati on test Accep tance test Serv ice

Requi rement valid ati on

Develop, verify nextlevel product


43

M hnh xon c
Mi chu k c 4 tng, mi tng chim mt cung ng knh v gc biu din chi ph tch ly v tin trin ca qui trnh Xc nh nhng vn rc ri v phn loi ri ro nhm loi tr nhng ri ro cao trc khi n e da

CNPM/NN

44

M hnh xon c
Mi giai on c hon tt bng mt kim tra tt c nhng sn phm c c bao gm k hoch cho chu k k tip Nhng k hoch ny phi bao gm nhng phn nh, chi tit hn cho nhm v nhng c nhn M hnh xon c c th xem l siu m hnh (metamodel) do n c th xem l cc m hnh khc trong nhng tnh hung thch hp

CNPM/NN

45

Q1. determine Objectives, alternatives and constraints

Objectives: performance, functionality, ability to accommodate change, hardware/software interface, and critical success factors Alternatives: xc nh nhng s la chn (cost, schedule, interface, environmental limitations, etc.)

CNPM/NN

46

Q2. Evaluate alternatives, identify and resolve risks nh gi nhng la chn v cc rng buc Nhn din v gii quyt ri ro: nhng ri ro v qun l, chin lc li nhun, nh gi nhng ri ro cn li v quyt nh dng hay tip tc

CNPM/NN

47

Q3. Develop Next Level Product


Creation of a design Review of Design Development of code Inspection of Code Testing and packaging of the product.

CNPM/NN

48

Q4. Plan Next Phase


Project Plan Configuration Management plan Test plan Installation plan

CNPM/NN

49

M hnh xon c u im
M hnh cho php to bn mu sm N cho nhng ch bo sm nhng ri ro khng th khc phc vi ph tn khng cao N cho php ngi dng tham gia vo cc giai on N tch nh nhng n lc pht trin, u tin cho nhng chc nng quan trng thc hin trc, vi s thun li ca vic pht hnh tng thm, cho php chn la s tip tc ca d n

CNPM/NN

50

M hnh xon c u im
Phn hi t ngi dng sm v lin tc Qua mi vng lp, vic nh gi gip ci thin nhiu vn ca d n N c th ci thin nng sut nh vo vic s dng li Tt c tin ca d n khng cn phi phn phi trc Chi ph tch ly (Cumulative) c nh gi thng xuyn, gim ri ro v chi ph

CNPM/NN

51

M hnh xon c nhc im


Vic nh gi ri ro tn nhiu chi ph, khng khng thch hp cho nhng d n ri ro thp hay nh M hnh phc tp, kh s dng Cn kin thc nh gi ri ro chuyn su Kh qun l tin trnh v thuyt phc khch hng

CNPM/NN

52

M hnh xon c s dng


Nhng d n c ri ro t trung bnh n cao p dng cho nhng d n cn nhiu thi gian v c th gp nhiu ri ro Khi cn tp trung vo nhng phn n nh hay c bit r trong khi thu thp nhng kin thc v nhng phn khc Khi thc hin da vo nhng k thut mi

CNPM/NN

53

M hnh xon c (Spiral)


Kt hp gia bn cht lp ca vic to bn mu (prototyping) v m hnh tun t Thc nc L m hnh tin trnh hng ri ro, lun nh gi ri ro p dng qua ton b i sng phn mm Cc bc: pht trin khi nim, pht trin sn phm, hon thin sn phm Qu trnh c th tm dng, nhng n c th bt u ti im vo ph hp (vd: hon thin sn phm) Hng cho vic pht trin nhng phn mm ln

CNPM/NN

54

2.2 Cc vn khc: dng thnh phn


Pht trin da vo thnh phn (component) xy dng h thng t vic tch hp cc thnh phn ang c hoc cc thnh phn thng mi COTS (Commercial-off-the-shelf). Dng thnh phn gim 70% thi gian v 84% chi ph

CNPM/NN

55

K thut th h th 4
4GT (fourth generation technique) l k thut da vo nhiu cng c phn mm c c im : Da vo c t phn mm mc cao theo mt cch thc nh trc cng c s t ng sinh m 4GT thch hp cho ng dng va v nh 4GT tng nng sut ng k Mt s kin cho rng : Mt s cng c kh s dng Chng trnh to ra cng knh Vic bo tr cho cc h thng ln l mt vn 4GT + dng thnh phn l hng pht trin rt mnh hin nay

CNPM/NN

56

Qui trnh RUP


Qui trnh pht trin phn mm thng nht RUP (Rational Unified Process) l mt trong nhng m hnh pht trin da trn thnh phn dng Ngn ng m hnh thng nht (UML-Unified modeling language) RUP l qui trnh do hng Rational pht trin

CNPM/NN

57

Cc vn v phn mm

CNPM/NN

58

Nguyn nhn

CNPM/NN

59

Qui trnh RUP (Rational Unified Process)


Gii quyt
Pht trin theo vng lp Qun l yu cu S dng thnh phn M hnh trc quan Thm nh cht lng Kim sot thay i

CNPM/NN

60

Qui trnh RUP

CNPM/NN

61

Cc giai on RUP

CNPM/NN

62

Unified Process (UP)


E la b o r a t io n In c e p t io n

c o n s t r u c t io n
Re le a s e
s o f t w a r e in c r e m e n t

t r a n s it io n

p r o d u c t io n

CNPM/NN

63

Pht trin lp

CNPM/NN

64

UP Work Products
Incept ion phase Elab orat ion ph ase Co nst ru ct ion phase Transit ion phase
De liv e re d sof t ware in cre ment Be t a t e st repo rt s Ge neral u se r f e e d back

V isio n d ocum e n t Init ial u se-case mo d el Init ial p roje ct glossary Init ial b u sin e ss case Init ial risk asse ssmen t . Pro je ct plan, ph ases an d it e rat io n s. Busin e ss m o de l, if n e ce ssary . One o r mo re p rot o t y p es
I nce pt i o n

Use -case mo del Sup p leme n t ary re q u ire me n t s in cludin g n on-f u n ct io nal A n aly sis m od el Sof t ware archit e ct u re De scrip t io n . Exe cu t ab le arch it e ct ural p ro t ot y p e . Preliminary d esig n mod e l Re v ise d risk list Project p lan inclu d in g it e rat io n p lan ad ap t e d wo rkf lo ws m ile st o n es t e ch nical wo rk p ro d uct s Preliminary u ser manual

De sign mo del So f t ware comp o n e n t s In t e g rat e d sof t ware in crem e n t Te st plan an d p roce du re Te st case s Su pp ort do cum e n t at io n u se r m an uals in st allat io n man u als d e scrip t io n o f cu rren t incre m e n t

CNPM/NN

65

Qui trnh RUP


Giai on 1 (Inception): khi u
Phm vi d n, yu cu ngi dng v rng buc Yu cu nghip v, ri ro, k hoch d n (phn cng, chi ph) Thit k kin trc (chi ph, lch, ti nguyn) Cu hnh mi trng lm vic, cng c

CNPM/NN

66

Qui trnh RUP


Giai on 2 (Elaboration): Hnh thnh
Tinh chnh ti liu Hoch nh nhng bc lp K hoch pht trin: tin trnh, cng c CASE Tinh chnh kin trc v chn thnh phn (component)

CNPM/NN

67

Qui trnh RUP


Giai on 3 (Construction): Xy dng
Qun l tin trnh to sn phm: nng sut, m bo cht lng To sn phm (alpha, beta, cc phin bn test khc) K hoch trin khai ng dng: phn mm, ngi s dng, h tr

CNPM/NN

68

Qui trnh RUP


Giai on 4 (Transition): Chuyn giao To sn phm xut xng Kim tra sn phm, thu thp phn hi

CNPM/NN

69

PHNG PHP PHT TRIN PHN MM LINH HOT

PPPTPMLH (Agile software development)


Khc bit d nhn thy ca PPPTPMLH l lng giy t ti liu t hn v c th ni l tp trung vo vic lp trnh hn. Nhng n ng sau l hai khc bit nn tng quan trng: thch ng thay v d on v hng n con ngi thay v qui trnh. PPPTPMLH cao tnh ch ng v sng to ca cc c nhn tham gia, v c bit l vic trao i thng tin gia cc thnh vin. PPPTPMLH khng khc t s t chc nhng n c gng cn bng gia s t chc v s linh hot, cn bng gia vic khng c qui trnh no c v qui trnh qu chi li v cng nhc.

CNPM/NN

70

Phng php Agile: Scrum


Schwaber v Beedle c trng
Chia cng vic thnh nhng packet Test v t liu khi sn phm ang c xy dng Phn cng vic trong backlog c chia xut hin trong sprint Gp g ngn demo c chuyn ti khch hng

CNPM/NN

71

Scrum

CNPM/NN

72

Extreme Programming (XP)


The most widely used agile process, originally proposed by Kent Beck XP Planning
Begins with the creation of user stories Agile team assesses each story and assigns a cost Stories are grouped to for a deliverable increment A commitment is made on delivery date After the first increment project velocity is used to help define subsequent delivery dates for other increments
CNPM/NN 73

Extreme Programming
XP Design
Follows the KIS principle (keep it simple) Encourage the use of CRC cards (see Chapter 8) For difficult design problems, suggests the creation of spike solutions - a design prototype Encourages refactoring - an iterative refinement of the internal program design

XP Coding
Recommends the construction of a unit test for a store before coding commences Encourages pair programming

XP Testing
All unit tests are executed daily Acceptance tests are defined by the customer and excuted to assess customer visible functionality
CNPM/NN 74

Extreme Programming
simple design CRC cards user st ories values accept ance t est crit eria it erat ion plan spike solut ions prot ot ypes

refact oring pair programming

Release
software increment project velocity computed

unit t est cont inuous int egrat ion accept ance t est ing

CNPM/NN

75

You might also like