Upload
rep117
View
10
Download
1
Embed Size (px)
DESCRIPTION
Chương 2: Quy trình phát triển Phần mềm
Citation preview
1CNPM/NN
CNG NGH PHN MM
Chng 2Qui trnh pht trin phn mm
MN HC
TRNG I HC CNG NGHIP TP.HCM
2CNPM/NN
Chng 2 : Qui trnh pht trin phn mm1. Qui trnh (process).2. M hnh pht trin phn mm.
1. M hnh thc nc.2. M hnh pht trin gia tng.3. M hnh RAD.4. M hnh bn mu.5. M hnh xon c.
3. Mt s vn khc.1. Pht trin da vo thnh phn.2. K thut th h th 4.3. Qui trnh RUP.4. Phng php pht trin phn mm linh hot (PTPMLH - Agile
software development).
3CNPM/NN
Yu cu
Hiu r mt s qui trnh pht trin c bn . Trong thc t ngi ta thng p dng nhng qui trnh tng
hp kt hp nhiu qui trnh. Nhng qui trnh gii thiu l nhng qui trnh c bn c tnh
nghim ngt, hin nay ngi ta p dng nhng qui trnh mi c tnh linh hot cao, to s thoi mi cho ngi lm vic v pht huy tnh sng to nhng vn phi tun th cc nguyn tc.
4CNPM/NN
1. Qui trnh trong cng ngh phn mm
Software Engineering
a quality focus
process model
methods
tools
5CNPM/NN
Qui trnh
Qui trnh phn mm bao 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: Phi thc hin nhng cng vic g? Phng php: Ch ra cch thc hin nhng cng vic c th
(how to).
6CNPM/NN
Khung tin trnh (Process framework)
Process frameworkFramework activities
work taskswork productsmilestones & deliverablesQA checkpoints
Umbrella Activities
7CNPM/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
8CNPM/NN
Cc hot ng khung (Framework activities)
Lin quan n Cng vic (Work tasks) Sn phm (Work products) Mc thi gian v thnh qu chuyn giao (Milestones &
deliverables) Thi im kim tra cht lng (QA checkpoints)
9CNPM/NN
Hot ng h tr 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
10CNPM/NN
2. M hnh pht trin phn mm
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.
11CNPM/NN
La chn m hnh pht trin da vo:
Bn cht ca d n v ng dng. Nhn thc ri ro. S hiu bit v k nng ca cc k s. Kin thc min ng dng ca ngi pht trin.
Phng php v cng c c dng. Cch thc kim sot v cc kt qu chuyn giao c
yu cu.
12CNPM/NN
Nm m hnh pht trin phn mm
M hnh Thc nc (Waterfall Model). M hnh X l tng dn (Incremental Process Models).
M hnh tng dn (Incremental Model). M hnh RAD (Rapid Application Development Model).
M hnh Qui trnh tin ha (Evolutionary Process models). M hnh To bn mu (Prototyping Model). M hnh Xon c (Spiral Model).
13CNPM/NN
Khng c qui trnh?
Inputs Outputs
Khng th bit khi no hon thnh do khng c phn tch v thit k chnh thc
Khng c cch nh gi cc yu cu, v tiu chun cht lng c c tha mn hay khng
14CNPM/NN
2.1. M hnh thc nc (Waterfall Model)
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 mu gm cc giai on pht trin phn mm da vo cc yu cu xc nh v c to ti liu trong giai on u.
15CNPM/NN
M hnh thc nc
16CNPM/NN
M hnh thc nc Pht trin theo trnh t cc bc. Mi giai on xc nh tiu
chun vo v ra. M hnh d hiu v d thc hin i vi mi ngi lin quan. N cung cp mt cu trc r rng cho nhng nhn vin thiu kinh nghim hay yu v k thut.
Vic chuyn t mt giai on ny ti giai on k tip c thc hin khi tha mt kim tra (review) chnh thc, xc nh mt s ng thun gia nhng thnh vin d n v khch hng.
p dng cho nhng phn mm cht lng cao, khi yu cu cht lng ni tri hn nhng yu cu v lch biu v chi ph
17CNPM/NN
M hnh thc nc nhc im
M hnh c tnh tun t theo 5 giai on nn khi mun quay lui lm ng mt vn hay mt kt qu th s tn km nhiu chi ph v thi gian. Do cn phi qun l cht ch cc hot ng, phi c t tt c yu cu mt cch chnh xc v y ngay t ban u.
Kh nh gi tnh trng ca d n, nh gi kt qu ca d n thi im kim tra do vic tch hp ch thc hin giai on cui.
Tn ti vic phi ch (delay) trong nhm lm vic. Vic thc hin trnh t khng t nhin, tnh lp thng din ra
trong thc t.
18CNPM/NN
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 s dng m hnh thc nc.
To mt phin bn mi ca mt sn phm ang tn ti trong nhng thay i (change) c xc nh v kim sot
19CNPM/NN
2.2. M hnh tng dn (Incremental Model)
20CNPM/NN
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. H thng tch hp phi c kim tra nh gi thng xuyn
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.
21CNPM/NN
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 hon thnh phn sm phn c bn.
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. Nhn vin c th thc hin nhng cng vic tng t cc vng mt cch lin tc.
22CNPM/NN
M hnh tng dn khuyt im
Phi xc nh chc nng y v hon chnh trc khi xc nh cc vng gia tng (thc nc?).
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.
23CNPM/NN
M hnh tng dn khi no s dng
Khi tt c yu cu c hiu kh 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.
24CNPM/NN
2.3. M hnh RAD (Rapid Application Development Models)
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 vi chu k pht trin ngn (60-90 ngy).
M hnh RAD da vo s dng thnh phn (component) v s dng cc ng dng to m t ng.
25CNPM/NN
M hnh RAD
26CNPM/NN
M hnh RAD im yu
Ngi pht trin phi c k nng v c hun luyn tt cho vic s dng cng c v cho vic pht trin nhanh.
H thng c kh nng phn tch module r rng. Cn cc thnh phn s dng li. Ngi pht trin v khch hng cn phi n lc cng tc.
27CNPM/NN
M hnh RAD khi no s dng
H thng d dng phn chia module v c th m rng. Ngi dng c th tham gia tt qua ton b chu k sng (life
cycle). D n thi gian pht trin ngn, 60-90 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)
28CNPM/NN
2.4. M hnh To bn mu (Prototyping)
listento
customerbuild
mock-up (mu)
customertest-drivesmock-up
Prototyping
29CNPM/NN
M hnh to bn mu 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)
30CNPM/NN
M hnh to bn mu u im
Khch hng tng tc sm vi h thng.Khch hng v ngi pht trin d dng trao i.
Ngi pht trin c th xc nh nhanh chng v chnh xc c yu cu nh vo nguyn mu.
C th pht hin nhng yu cu mi hoc nhng yu cu bt ng.
31CNPM/NN
M hnh to bn mu - Nhc im
L phng php Quick-and-dirty thng thiu t liu hay t liu khng ph hp. Ngi pht trin c th ri vo chu k code-and-fix.
H thng c xy dng c th mang cu trc mt cch ngho nn vi nhng la chn khng tt. H thng ny 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 nguyn mu (prototype) u tin.
32CNPM/NN
M hnh To bn mu khi no s dng Khi yu cu khng c bit r, khi cc yu cu khng n nh, vic thng tin khng c p ng tt.
Khi ngi pht trin khng chc chn vic dng gii thut hay kin trc no l ti u. Trn nhng h thng da vo k thut mi m nhng yu cu kh xc nh r.
Mt vi phn ca h thng ln c th thch hp cho m hnh bn mu (giao din ngi dng).
Ph hp vi nhng h thng: user-interface intensive systems. interactive online systems. first-of-a-kind products. decision support systems
33
2.5. M hnh xon c (Spiral Model)
34CNPM/NN
M hnh xon c
Riskanalys is
Riskanalys is
Riskanalys is
Riskanalysis Proto-
ty pe 1Prototyp e
2Prototype
3Opera-tionalprotoyp e
Concept o fOperation
Simulations, models, b ench marks
S/Wrequi rements
Requirementvalid ation
DesignV&V
Prod uctdesign Detailed
design
CodeUni t tes t
Integr ationtestAccep tance
testServ ice
Integrationand test p lan
Develop mentplan
Requirements planLife-cycle plan
REVIEW
Progress through steps
Commulative Cost
Determine Objectives, alternatives, constraints
Evaluate alternatives, Identify, resolve risks
Develop, verify next-level product
Plan next phases
Commitment Ratio
35CNPM/NN
M hnh xon c
ngh bi Berry Boehm, 1988. 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.
Mi vng lp u c phn tch ri ro, ch bo sm nhng ri ro khng th khc phc vi ph tn khng cao.
36CNPM/NN
M hnh xon c nhc im
Cn kin thc nh gi ri ro chuyn su. 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. Kh qun l tin trnh v thuyt phc khch hng.
37CNPM/NN
3. 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.
38CNPM/NN
K thut th h th 4 4GT (fourth generation technique) l k thut da vo cng c
phn mm, c th c t phn mm mc khi nim 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.
39CNPM/NN
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.
40CNPM/NN
Cc vn v phn mm
41CNPM/NN
Nguyn nhn
42CNPM/NN
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.
43CNPM/NN
Cc giai on RUP
Khi to. Hnh thnh. Xy dng. Chuyn giao.
44CNPM/NN
Pht trin lp
45CNPM/NN
Qui trnh RUP
Giai on 1 (Inception): khi to. Xc nh phm vi d n, yu cu ngi dng v cc rng
buc. Xc nh Yu cu nghip v, phn tch ri ro, lp k hoch
d n (phn cng, chi ph). Thit k kin trc h thng (quan tm n chi ph, lch biu,
ti nguyn). Cu hnh mi trng lm vic, cng c.
46CNPM/NN
Qui trnh RUP
Giai on 2 (Elaboration): Hnh thnh. Tinh chnh ti liu. Hoch nh nhng bc lp. K hoch pht trin: qui trnh, cng c CASE. Tinh chnh kin trc v chn thnh phn (component).
47CNPM/NN
Qui trnh RUP
Giai on 3 (Construction): Xy dng. Qun l tin trnh to sn phm: tng nng sut, m bo
cht lng. To sn phm (alpha, beta, cc phin bn test khc). K hoch trin khai ng dng: chun b phn mm, hun
luyn ngi s dng, cc bin php h tr
48CNPM/NN
Qui trnh RUP
Giai on 4 (Transition): Chuyn giao. To sn phm xut xng. Kim tra sn phm, thu thp thng tin phn hi.
49CNPM/NN
UP Work ProductsIncept ion phase
Elaborat ion phase
Const ruct ion phase
Transit ion phase
V ision documentInit ial use-case modelInit ial project g lossaryInit ial business caseInit ial risk assessment .Pro ject plan,
phases and it erat ions.Business model,
if necessary .One or more prot ot y pesI nce pt i on
Use-case modelSupplement ary requirement s
including non-funct ionalAnaly sis modelSof t ware arch it ect ure
Descrip t ion.Execut able arch it ect ural
prot ot y pe.Pre liminary design modelRev ised risk listPro ject p lan including
it erat ion planadapt ed workf lowsmilest onest echnical work product s
Pre liminary user manual
Design modelSof t ware component sInt egrat ed sof t ware
incrementTest plan and procedureTest casesSupport document at ion
user manualsinst allat ion manualsdescrip t ion of current
increment
Deliv ered sof t ware incrementBet a t est report sGeneral user feedback
50CNPM/NN
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.
51CNPM/NN
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. product backlog v sprint backlog. Gp g ngn. demo c chuyn ti khch hng.
52CNPM/NN
Scrum
53CNPM/NN
Extreme Programming (XP)
L qui trnh Agile c dng rng ri nht (Kent Beck) XP Planning:
To user stories. nh gi cu chuyn v gn mt chi ph. Gom cc cu chuyn thnh mt phn gia tng c th chuyn
giao (deliverable increment). Mt cam kt v thi gian chuyn giao. Xc nh thi gian cho cc phn gia tng khc.
54CNPM/NN
Extreme Programming XP Design:
Nguyn l KIS (Keep It Simple). Dng th CRC (Class Responsibility Collaborator). Nu gp tr ngi v thit k dng nguyn mu (prototype). Phn tch li (refactoring).
XP Coding: Xy dng kim th n v trc. Lp trnh pair programming.
XP Testing: Tt c cc n v c kim th hng ngy, tch hp lin tc. Thc hin kim th chp nhn (Acceptance tests).
55CNPM/NN
Class-Responsibility-collaborator (CRC)