You are on page 1of 55

TRNG I HC CNG NGHIP TP.

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

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.

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

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).

CNPM/NN 12
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
CNPM/NN 13
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.

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

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

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

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.

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

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.

CNPM/NN 23
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.

CNPM/NN 24
M hnh RAD

CNPM/NN 25
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.

CNPM/NN 26
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)

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

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.

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

Ratio Requi rement s pl an


Life-cycle plan Concept o f
Sim ul ati ons, m odels, b en ch marks

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

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.

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.

Kim tra sn phm, thu thp thng tin phn hi.

CNPM/NN 48
UP Work Products
Incept ion phase

Elaborat ion phase


V isio n d ocu m e n t
Init ial u se-case mo d e l
Const r uct ion phase
Init ial p roje ct g lossary Use -case mo d el
Init ial b u sin e ss case Su p p lem e n t ary re q u ire me n t s
Init ial risk asse ssm e n t . in clu din g n o n-f u n ct io n al
Tr ansit ion phase
De sig n m o d el
Pro je ct plan , A n aly sis mo d el So f t ware co mp o n e n t s
ph ase s an d it e rat io n s. So f t ware arch it e ct u re In t e g rat e d sof t ware De liv e re d sof t ware in cre m en t
Busin e ss m o d e l, De scrip t io n . in crem e n t Be t a t e st rep o rt s
if n e ce ssary . Exe cu t ab le arch it e ct ural Te st plan an d p ro ce du re Ge n eral u se r f e e d b ack
One o r mo re p rot o t y p es p ro t ot y p e .
I nce pt i o
Te st case s
n Pre lim inary d esig n m od e l Su p p ort d o cum e n t at io n
Re v ise d risk list u se r m an u als
Pro je ct p lan inclu d in g in st allat io n m an u als
it e rat io n p lan d e scrip t io n o f cu rren t
ad ap t e d wo rkf lo ws in cre m e n t
m ile st o n e s
t e ch nical wo rk p ro d uct s
Pre lim inary u ser man ual

CNPM/NN 49
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 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

You might also like