You are on page 1of 39

Vng i v Cc M Hnh

Pht Trin Phn Mm

Cng Ngh Phn Mm Nng Cao


Outline
Software life-cycle
Qui
Q i trnh
h pht
h trin
i Phn
Ph mm

Cc m hnh pht trin
M hnh tuyn tnh
M hnh ch th
M hnh pht trin ng dng nhanh
Cc m hnh tin ha
M hnh pht trin ng thi
M hnh hng thnh phn

Pham Ngoc Hung, Coltech, VNU, 2009 2


Vng i phn mm (Software life
life-cycle)
cycle)
Vngg i pphn mm l thi k tnh t khi pphn mm
c sinh (to) ra cho n khi cht i (t lc hnh
thnh p ng yu cu, vn hnh, bo dng cho n
khi loi b khng u dng))
Quy trnh phn mm (vng i phn mm) c
phn
h chia
hi thnh
h h cc
pha
h chnh:
h h phn
h tch,
h thit
hi k,
k
ch to, kim th, bo tr. Biu din cc pha c khc
nhau theo tng ngi

Pham Ngoc Hung, Coltech, VNU, 2009 3


M hnh vngg i pphn mm ca Boehm
Xc nh yu
cu h thng
Kim chng

Xc nh yu
cu phn mm
Kim chng

Thit k
cn bn
Kim chng

Thit k
chi tit
Kim chng

Lp trnh

G li

Kim th

Chy th

Vn hnh
Bo tr
Kim chng li
Pham Ngoc Hung, Coltech, VNU, 2009 4
S ngh
Suy h mi
i v vng
i phn
h mm

(1) Pha xc nh yu cu v thit k c vai tr quyt
nh n
cht
lng phn mm, chim phn ln
cng sc so vi lp trnh, kim th v chuyn giao
phn mm
(2) Pha c th ha cu trc phn mm ph thuc nhiu
g trn xungg ((top-down)
vo suyy ngh p ) v tru tng
g
ha, cng nh chi tit ha
(3) Pha thit k, ch to th theo trn xung, pha kim
th
h th
h di l (bottom-up)
d i ln (b )

Pham Ngoc Hung, Coltech, VNU, 2009 5


S ngh
Suy h mi
i v vng
i phn
h mm

((4)) Trc khi chuyn
y sang gppha k tip
ppphi m bo p
pha
hin nay c kim th khng cn li
(5) Cn c c ch kim tra cht lng, xt duyt gia cc
pha
h nhm
h m
bob khng
kh gy li cho
h phah sau
(6) T liu ca mi pha khng ch dng cho pha sau, m
chnh l i tng quan trng cho kim tra v m bo
cht lng ca tng quy trnh v ca chnh phn mm

Pham Ngoc Hung, Coltech, VNU, 2009 6


S ngh
Suy h mi
i v vng
i phn
h mm

((7)) Cn chun ha mu biu,, cch gghi chpp to
t liu

cho tng pha, nhm m bo cht lng phn mm
(8) Thao tc bo tr phn mm l vic x l quay vng
tr li cc pha trong vng i phn mm nhm bin
i, sa cha, nng cp phn mm

Pham Ngoc Hung, Coltech, VNU, 2009 7


Cc phng php lun v k thut cho tng pha
Phng php, k
Tn pha Ni dung nghip v
thut
Xc nh c t yu cu ngi dng Phn tch cu trc
yu cu Xc nh yu cu phn mm ha
Thit k c bn phn mm
Thit k
Thit k cu trc ngoi ca phn Thit k cu trc ha
h thng
mm
Lp trnh cu trc
Thit k L thit k chi tit: Thit k cu
Phng php Jackson
chngg trc bn trongg ca phn
p mm ((n
Ph php
Phng h
trnh v chng trnh hoc mun)
Warnier
Lp trnh M ha bi ngn ng lp trnh M ha cu trc ha
m bo Kim tra cht lng phn mm Phng php kim
cht lng pht trin th chng trnh
S dng, vn hnh phn mm
Vn hnh
pht trin
trin. Bin i,
i iu chnh Cha c th
Bo
tr
phn mm
Pham Ngoc Hung, Coltech, VNU, 2009 8
Quy trnh pht trin phn mm

Common process framework

Framework activities

Task sets
Tasks

Mil
Milestones, d
deliverables
li bl

SQA points

Umbrella activities

Pham Ngoc Hung, Coltech, VNU, 2009 9


M hnh tuyn tnh

Phn tch Thit k Lp trnh Kim th

Cng ngh hc
H thng/Thng tin

in hnh l m hnh vng i c in


(m hnh thc nc) Classic life cycle /
waterfall model: l m hnh hayy oc
dng g nht

Pham Ngoc Hung, Coltech, VNU, 2009 10


M hnh tuyn tnh
Cngg ngh
g hc H thng/Thng
g g tin v m hnh ha
(System / Information engineering and modeling): thit
lp cc yu cu, nh x mt s tp con cc yu cu sang
phn mm trong qu trnh tng tc gia phn cng,
cng
ngi v CSDL
Phn tch yu cu (Requirements analysis): hiu lnh vc
thng tin, chc nng, hnh vi, tnh nng v giao din ca
phn mm s pht trin. Cn phi to t liu v bn tho
vi khch hng, ngi dng

Pham Ngoc Hung, Coltech, VNU, 2009 11


M hnh tuyn tnh

Thit k (Design): l qu trnh nhiu bc vi 4 thuc


tnh khc nhau ca mt chng trnh: cu trc d liu,
ki trc
kin phn
h mm,
biu
bi din
di giao
i din
di v chi
hi tit
i th
h
tc (thut ton). Cn t liu ha v l mt phn quan
trng ca cu hnh phn mm
To m / lp trnh (Code generation/programming):
Chuyn thit k thnh chng trnh my tnh bi ngn
ng no . Nu thit k c chi tit ha th lp
trnh c th ch thun ty c hc

Pham Ngoc Hung, Coltech, VNU, 2009 12


M hnh tuyn tnh
Kim th ((Testing):
g) Kim tra cc chngg trnh v
mun c v lgic bn trong v chc nng bn
ngoi, nhm pht hin ra li v m bo vi u vo
xc nh th cho kt
qu mong mun
H tr / Bo tr (Support / Maintenance): p ng
nhng
h thayh i,
i nng
cp
phn
h mm pht
h trin
i do
d
s thay i ca mi trng, nhu cu

Pham Ngoc Hung, Coltech, VNU, 2009 13


im
yu
ca M hnh tuyn
tnh
Thc
t cc d
n t khi tun theo dngg tun t
ca
m hnh, m thng c lp li (nh m hnh ca
Boehm)
Khch hng t khi tuyn b r rng khi no xong ht
cc yu cu
Khch hng phi c lng kin nhn ch i thi gian
nht nh mi c sn phm. Nu pht hin ra li
nng
th l mtt thm h !
th ha!

Pham Ngoc Hung, Coltech, VNU, 2009 14


M hnh ch th (Prototyping model)

Nghe Khch To/sa


trnh by bn mu

Khch kim tra


bn mu

Pham Ngoc Hung, Coltech, VNU, 2009 15


M hnh ch th: Khi no?
Khi mi r mc ch chungg chungg ca pphn mm,,
cha r chi tit u vo hay x l ra sao hoc cha
r yu cu u ra
Dng nh H s khai thu thp yu cu ngi
dng qua cc thit k nhanh
Cc gii thut, k thut dng lm bn mu c th
cha nhanh, cha tt, min l c mu tho lun
gii yu
cu
ca
ngii dng
d

Pham Ngoc Hung, Coltech, VNU, 2009 16


M hnh pht trin ng dng nhanh (Rapid
Application Development: RAD)
L quy trnh pht trin phn mm gia tng, tng dn tng
bc (Incrimental software development) vi mi chu
trnh
h pht
h trin
i rt
ngn (60-90
(60 90 ngy)
)
Xy dng da trn hng thnh phn (Component-based
construction) vi kh nng ti s dng (reuse)
Gm mt s nhm (teams), mi nhm lm 1 RAD theo
cc p
pha: M hnh nghip
g p v, , M hnh x
, M hnh d liu,
l, To ng dng, Kim th v nh gi (Business, Data,
Process, Appl. Generation, Test)

Pham Ngoc Hung, Coltech, VNU, 2009 17


Team #3
Business

M hnh
h h
Modeling
g
Team #2 Data
Modeling
g
Business
pht trin Modeling
g
Data
Process
Modeling
g
Application
Team #1
ng dng Business
Modeling
g
Process
Generation
Testing &

nhanh
Turnover
Modeling Modeling
g
Data A li ti
Application
Generation
Modeling
Testing &
Process Turnover
Modeling
Application
Generation
Ge e at o
Testing &
Turnover
60 - 90 days

Pham Ngoc Hung, Coltech, VNU, 2009 18


RAD: Business modeling

Lung thng tin c m hnh ha tr li cc


cu hi:
Thng tin no iu khin x l nghip v?
Thng tin g c sinh ra?
Ai sinh ra n?
Thng tin i n u?
Ai x l chng?

Pham Ngoc Hung, Coltech, VNU, 2009 19


RAD Data
RAD: D andd Process
P modeling
d li

Data modeling: cc i tng d liu cn h


tr nghip v (business). nh ngha cc thuc
tnh ca tng i
tng v xc lp quan h gia
cc i tng
Process modeling:
d li Cc i tng d
d liu
li c

chuyn sang lung thng tin thc hin chc nng
v To m t x l cp nht (thm,
nghip v. (thm
sa, xa, khi phc) tng i tng d liu

Pham Ngoc Hung, Coltech, VNU, 2009 20


RAD: Appl.
Appl Generation and Testing
Application
pp th h 4
Generation: Dngg cc k thut
to phn mm t cc thnh phn c sn hoc to
ra cc thnh phn c th ti dng li sau ny. Dng
cc cng c t ng xy dng phn mm
Testing and Turnover: Kim th cc thnh phn mi
v kim
ki chng
h mii giao di (cc
i din ( thnh
h h phn
h c
c kim th v dng li)

Pham Ngoc Hung, Coltech, VNU, 2009 21


RAD: Hn ch?
Cn ngun
g nhn lc di do to cc nhm cho cc
chc nng chnh
Yu cu hai bn giao ko trong thi gian ngn phi c
phn
h mm
hon
h chnh,
h h thiu
hi trch
h nhim
hi ca mt
bn
b d
lm d n v
RAD khng phi tt cho mi ng dng,
dng nht l vi ng
dng khng th mun ha hoc i hi tnh nng cao
Mo him k thut cao th khng nn dng RAD

Pham Ngoc Hung, Coltech, VNU, 2009 22


Cc m hnh tin ha:
gia tng, xon
c...

Phn ln cc h phn mm phc tp u tin ha theo
thi gian: mi trng thay i, yu cu pht sinh thm,
hon thin thm chc nng, tnh nng
Cc m hnh tin ha (evolutionary models) c tnh lp
li. K s phn mm to ra cc phin bn (versions)
ngy
cng
hon
h thin
thi hn,
h phc
h tp
t hn
h
Cc m hnh: incremental, spiral, WINWIN spiral,
concurrent development model

Pham Ngoc Hung, Coltech, VNU, 2009 23


M hnh gia tng (The incremental model)

Kt hp m hnh tun t v tng lp li


ca ch bn mu
Sn phm li vi nhng yu cu c bn nht
ca h thng c pht trin
Cc
C chc
h nng
vii nhng
h yu cu
khc
kh c

pht trin thm sau (gia tng)
Lp li quy trnh
hon thin dn

Pham Ngoc Hung, Coltech, VNU, 2009 24


M hnh gia tng

Gia tng 1

Phn tch Thit k Lp trnh Kim th Xut xng 1


System/info.
E i
Engineering
i

Gia tng 2 Phn tch Thit k Lp trnh Kim th Xut xng 2

Gia tng 3 Phn tch Thit k Lp trnh Kim th Xut xng 3

Gia tng 4 Phn tch Thit k Lp trnh Kim th


XX
4

C l d titime
Calendar

Pham Ngoc Hung, Coltech, VNU, 2009 25


M hnh xon c (spiral)

Lp k hoch
Phn tch ri ro

Giao tip
khch hng
Khi nim K ngh

Lm mi

Nng cp
Khch hng Xy dng &
nh gi g
Xut xng
Bo tr

Pham Ngoc Hung, Coltech, VNU, 2009 26


M hnh xon c (tip)
Giao tip
p khch hng:
g ggia ngi
g ppht trin v khch
hng tm hiu yu cu, kin
Lp k hoch: Xc lp ti nguyn, thi hn v nhng
thng tin khc
Phn tch ri ro: Xem xt mo him k thut v mo
him
qun l
K ngh: Xy dng mt hay mt s biu din ca
ng dng

Pham Ngoc Hung, Coltech, VNU, 2009 27


M hnh xon c (tip)
Xyy dng
g v xut xng: g, kim th,, ci
g xyy dng,
t v cung cp h tr ngi dng (t liu, hun
luyn, . . .)
nh gi ca khch hng: Nhn cc phn hi ca
ngi s dng v biu din phn mm trong giai

on k ngh h v ci
i t

Pham Ngoc Hung, Coltech, VNU, 2009 28


M hnh xon c: Mnh v yu?
Tt cho cc h pphn mm qquyy m ln
D kim sot cc mo him tng mc tin ha
Kh thuyt phc khch hng l phng php tin
ha xon c c th kim sot c
Cha c dng rng ri nh cc m hnh tuyn
tnh hoc ch th

Pham Ngoc Hung, Coltech, VNU, 2009 29


M hnh ppht trin ngg thi
(The concurrent development model)
Xc nh mng li nhng hot ng ng thi
(Network of concurrent activities)
Cc s ((events)) xut hin
kin theo iu kin
vn
ng
g
trng thi trong tng hot ng
Dng cho mi loi ng dng v cho hnh nh kh chnh
xc v trng thi hin trng ca d n
Thng dng trong pht trin cc ng dng khch/ch
( li t/
(client/server li ti ): system
applications): t andd componets
t are
developed concurrently

Pham Ngoc Hung, Coltech, VNU, 2009 30


M hnh hng thnh phn
(Component-based model)
Gn vi
G i nhng
h cng nghh hng
h i tngt (Obj t
(Object-
oriented technologies) qua vic to cc lp (classes) c
cha c d liu v gii thut x l d liu
C nhiu tng ng vi m hnh xon c
Vi u im ti s dng cc thnh phn qua Th vin
/ kho cc lp: tit kim 70% thi gian, 80% gi thnh,
ch s sn xut 26.2/16.9
Vi UML nh chun cng nghip ang trin khai

Pham Ngoc Hung, Coltech, VNU, 2009 31


M hnh
h h hng
h thnh
h h phn
h
Lp k hoch
Phn tch ri ro Xc nh
thnh phn
ng vin
Giao tip
khch hng
Xy dng Tm
bc lp th n thnh phn
ca h thng t th vin

t Ly
thnh phn thnh phn
vo
th
th vin
i nu
c
K ngh
Khch hng Xy dng & Xy dng
nh gi Xut xng thnh phn
nu kh
kh.c
c

Pham Ngoc Hung, Coltech, VNU, 2009 32


M hnh hnh thc (Formal model)

Cn gi l CNHPM phng sch (Cleanroom SE)


Tpp hpp cc cngg c nhm c t ton hc pphn
mm my tnh t khu nh ngha, pht trin n
kim chng
Gip k s phn mm pht hin v sa cc li kh
Thngg dngg trongg ppht trin SW cn an ton rt
cao (y t, hng khng, . . .)

Pham Ngoc Hung, Coltech, VNU, 2009 33


M hnh hnh thc: im yu?

Cn nhiu thi gian v cng sc pht trin


Ph o to cao v t ngi c nn cn bn cho
p dng m hnh hnh thc
Kh s dng rng ri v cn kin thc ton v
k nng
ca khch
kh h hng
h

Pham Ngoc Hung, Coltech, VNU, 2009 34


Outline
Software life-cycle
Qui trnh pht trin
Phn
mm

Cc m hnh pht trin
M hnh tuyn tnh
M hnh ch th
M hnh pht trin ng dng nhanh
Cc m hnh tin ha
M hnh pht trin ng thi
M hnh hng thnh phn

Pham Ngoc Hung, Coltech, VNU, 2009 35


Tho lun

Chn m hnh no cho pht trin PM?

Pham Ngoc Hung, Coltech, VNU, 2009 36


Thc trng ca ngnh Cng nghip PM

Hu ht cc t chc/cty PM u tch bit


hon ton pha pht trin v pha bo tr
-> HT (sn phm PM) kh bo tr
-> Kh s dng li cc thnh phn
Qun l d n vs.
vs qun l sn phm
M rng mc tiu ca vic qun l bao
qut c mt h cc sn phm hn l qun
l tng sn phm ring bit

Pham Ngoc Hung, Coltech, VNU, 2009 37


Pham Ngoc Hung, Coltech, VNU, 2009 38
Pham Ngoc Hung, Coltech, VNU, 2009 39

You might also like