Professional Documents
Culture Documents
Qui trình phát triển phần mềm PDF
Qui trình phát triển phần mềm PDF
HCM
MN HC
CNG NGH PHN MM
Chng 2
Qui trnh pht trin phn mm
CNPM/NN 1
Chng 2 : Qui trnh pht trin phn mm
1. 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).
CNPM/NN 2
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.
CNPM/NN 3
1. Qui trnh trong cng ngh phn mm
Software Engineering
tools
methods
process model
a quality focus
CNPM/NN 4
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).
CNPM/NN 5
Khung tin trnh (Process framework)
Process framework
Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints
Umbrella Activities
CNPM/NN 6
Khung tin trnh
Truyn thng Communication
Lp k hoch Planning
M hnh ha Modeling
Xy dng Analysis of requirements
Trin khai Design
Construction
Code generation
Testing
Deployment
CNPM/NN 7
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)
CNPM/NN 8
Hot ng h tr
Qun l d n. Software project management
Kim tra k thut hnh thc. Formal technical reviews
Bo m cht lng phn Software quality assurance
mm. Software configuration
Qun l cu hnh phn mm. management
To v chun b nhng sn Work product preparation and
phm cng tc. production
Qun l s dng li. Reusability management
Measurement
o lng.
Risk management
Qun l ri ro.
CNPM/NN 9
2. M hnh pht trin phn mm
CNPM/NN 10
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.
CNPM/NN 11
Nm m hnh pht trin phn mm
CNPM/NN 12
Khng c qui trnh?
Inputs Outputs
CNPM/NN 14
M hnh thc nc
CNPM/NN 15
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
CNPM/NN 16
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.
CNPM/NN 17
Khi no s dng m hnh thc nc
CNPM/NN 18
2.2. M hnh tng dn (Incremental Model)
CNPM/NN 19
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.
CNPM/NN 20
M hnh tng dn u im
CNPM/NN 21
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.
CNPM/NN 22
M hnh tng dn khi no s dng
CNPM/NN 23
2.3. M hnh RAD (Rapid Application Development Models)
CNPM/NN 24
M hnh RAD
CNPM/NN 25
M hnh RAD im yu
CNPM/NN 26
M hnh RAD khi no s dng
CNPM/NN 27
2.4. M hnh To bn mu (Prototyping)
listen
to build
customer mock-up (mu)
customer
test-drives
mock-up
Prototyping
CNPM/NN 28
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)
CNPM/NN 29
M hnh to bn mu u im
CNPM/NN 30
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.
CNPM/NN 31
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
CNPM/NN 32
2.5. M hnh xon c (Spiral Model)
33
M hnh xon c
Commulative Cost
Progress
Determine Objectives, through Evaluate alternatives,
steps
alternatives, Identify, resolve risks
Risk
analys is
constraints Risk
analys is
Risk
analys is Opera-
Prot otyp e tional
Risk
Prototyp e 3 protoyp e
1 2
Commitment REVIEW analysis Proto-
ty pe
Operation S/W
requi rement s Prod uct
design Detail ed
Requi rement desi gn
Develop ment
pl an valid ati on Code
Desi gn Uni t t es t
Integrati on
and test p lan V& V Integr ati on
Plan next phases Accep tance test
test
Serv ice Develop, verify next-
level product
CNPM/NN 34
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.
CNPM/NN 35
M hnh xon c nhc im
CNPM/NN 36
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.
CNPM/NN 37
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.
CNPM/NN 38
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 39
Cc vn v phn mm
CNPM/NN 40
Nguyn nhn
CNPM/NN 41
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 42
Cc giai on RUP
Khi to.
Hnh thnh.
Xy dng.
Chuyn giao.
CNPM/NN 43
Pht trin lp
CNPM/NN 44
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.
CNPM/NN 45
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).
CNPM/NN 46
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
CNPM/NN 47
Qui trnh RUP
Giai on 4 (Transition): Chuyn giao.
To sn phm xut xng.
CNPM/NN 48
UP Work Products
Incept ion phase
CNPM/NN 49
PHNG PHP PHT TRIN PHN MM LINH HOT
CNPM/NN 50
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.
CNPM/NN 51
Scrum
CNPM/NN 52
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.
CNPM/NN 53
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).
CNPM/NN 54
Class-Responsibility-collaborator (CRC)
CNPM/NN 55