You are on page 1of 259

Bi Ging

Cng Ngh Phn Mm


Software Engineering
2
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Gio vin & Giao tip ging dy

ThS Nguyn Cao Tr ngacotri@gmail.com
http://www.cse.hcmut.edu.vn/~caotri

Room 109 A5 Trung tm K thut in ton
Tel: 8647256 5370 Mobile: 091 391 6290
Hobbies: Automation , Flying Model
http://www.rc-easy.net
Ti liu download trn website file: TailieudientuCNPM-
PrintableVersion.ppt
Hc th no? Hi ngay trn lp
Bng m s dng l Unicode dng sn
Cc bi tp np bng email, dng file *.ZIP
Email phi ghi r ni dung file nh km l g bng ting Vit
3
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Gii thiu mn hc
Ni dung mn hc
Gii thiu cc khi nim c bn v cng ngh phn mm
Mc tiu ca sn xut phn mm v cng ngh phn mm
Cc m hnh sn xut phn mm
Quy trnh sn xut v qun l d n phn mm
Ti liu tham kho
Introduction to Software Engineering Ronald J. Leach CRC
Press (Th vin A2 MS: 9075802004)
Software Engineering Ian Sommerville Fifth edition (Th vin A3
MS: 200032)
Hnh thc kim tra
Gia k + Cui k + Bi tp
Hnh thc kim tra: trc nghim khch quan open book
nh gi kt qu: tng i - phi tuyn
4
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
???????? & !!!!!!!!
Cng Nghip & Cng Ngh
Cng Nghip Phn Mm (CNpPM)
Cng Ngh Phn Mm (CNPM)
Cng nghip phn mm & cc cng nghip khc
Ging
Khc
C hay khng (nhng) cng ngh cho sn xut phn
mm?
C cn thit phi c cng ngh cho sn xut phn mm
khng, khi sn xut phn mm l hot ng sn xut c
bit v khng th ni lm mt phn mm nh sn xut
mt lon coca.
5
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
c tnh ca sn phm phn mm
Software = Program
Software product = Program + Document + Support
Loi sn phm phn mm
Generic Product: l sn phm ng gi v bn rng ri trn th trng.
Bespoke Product: l sn phm c pht trin theo yu cu c th ca
tng khch hng.
Cc c tnh quan trng ca sn phm phn mm
Maintainability: phn mm c th thay i thun tin theo yu cu ca
ngi dng
Dependability: tnh n nh, bo mt v an ton ca phn mm. Khng
gy tn hi v vt cht hay kinh th cho h thng.
Efficiency: S dng hiu qu ti nguyn ca h thng cho cng vic
Usability: giao din v phng thc phi ph hp vi ngi dng ng
thi p ng ng yu cu ca ngi dng
6
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Software - hay Thiu?
Phn mm c vit ngay t khi c nhng my tnh
programable u tin. c quan tm v pht trin t rt
sm
C rt nhiu phn mm c vit
Khng thiu phn mm
Thc t vic sn xut phn mm khng p ng kp yu
cu ca ngi s dng:
Khng v s lng
Thiu v cht lng
Khng kp v thi gian
Phn mm khng p ng cho ngi dng
7
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Nguyn nhn khch quan
S lng phn mm phi c hiu l s u/loi phn mm c s
dng cho tng mc tiu ng dng.
Nhu cu s dng phn mm l rt ln
Nhiu ngnh ngh cn dng phn mm my tnh
Mi ngnh ngh cn nhiu loi phn mm khc nhau
Mi loi phn mm cn nhiu cp khc nhau theo trnh ngi dng
Cht lng phn mm cng cha p ng tt hon ton ngi s
dng:
Tnh customize rt cao ca sn phm phn mm.
Trnh s dng khc nhau v iu kin h tng ng dng khc nhau
Nhu cu phn mm thng rt cp bch
Tm nhn v chin lc cha y ca ngi s dng
Khng c k hoch lu di
Phi thay i theo tng i tng ngi dng
8
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Nguyn nhn ch quan
Tnh chuyn nghip trong sn xut phn mm cha cao
Cc d liu quan st c
C 6 n trin khai th c 2 b hu b
Trung bnh thi gian thc hin thc t b ko di 50 % (c bit 200-
300%)
Cc n ln d tht bi
3/4 cc h thng ln c li khi thc thi
Qu trnh phn tch yu cu (5 % cng sc): li 55 % li, c 18 %
pht hin c
Qu trnh thit k (25 % cng sc): li 30 % li, c 10 % pht
hin c
Qu trnh m ho, kim tra v bo tr: li 15 % li, c 72 % pht
hin c
9
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Nguyn nhn ch quan (tt)
L do ca nhng h qu trn
Pht trin phn mm ging nh mt ngh thut, cha c xem
nh mt ngnh khoa hc
Quy trnh pht trin phn mm cha c thng nht
Phi vit li s/w mi khi c s thay i v ngn ng, h/w hoc o/s
Cha t c 1 chun cho vic o lng hiu sut v sn phm
phc tp ca phn mm qu cao i vi 1 kin trc s
K thut c t li s nhp nhng trong cc yu cu phn mm
Lm vic nhm khng ng k lut gy ra cc li

CN PHI C MT/NHIU CHUN QUY TRNH TRONG SN
XUT PHN MM NNG CAO TNH CHUYN NGHIP CA
NN SN XUT C BIT NY
CN CNG NGH CHO CNG NGHIP PHN MM
10
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
nh ngha Cng ngh phn mm
Cng Ngh Phn Mm l s thit lp v s dng cc
nguyn tc khoa hc nhm mc ch to ra cc phn
mm mt cch kinh t m cc phn mm hot ng
hiu qu v tin cy trn cc my tnh.

Cng ngh phn mm l mt quy trnh c h thng
c s dng trong qu trnh phn tch, thit k, hin
thc, kim tra v bo tr bo m cc sn phm phn
mm c sn xut v hot ng: hiu qu, tin cy, hu
dng, nng cp d dng (modificable), kh chuyn
(portable), kh kim tra (testable), cng tc c vi cc
h thng khc (interoperable) v vn hnh ng (correct).
11
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
C th
Efficiency: Phn mm c sn xut trong thi gian v iu kin va phi. Phn
mm vn hnh ng mc yu cu v cng vic v thi gian.
Reliablity: Phn mm vn hnh n nh v tng tc c vi cc h thng ng
dng
Usability: Phn mm c th dng c bi ngi s dng v vi mi trng m
ngi s dng ang c. Ch ti giao din, iu kin h thng,
Modifiability: Phn mm c th c thay i d dng, nhanh chng khi yu cu
ca ngi s dng thay i.
Portability: Phn mm c th chuyn i d dng sang cc h thng khc m khng
cn phi iu chnh ln. Ch cn recompile nu cn thit l tt nht.
Testability: Phn mmc th d0c kim tra d dng. Tt nht l c modul ha.
Reusability: Phn mm hay mt phn c th c ti s dng cho cc ng dng
khc. Cc modul c thit k tt, c lp v giao tin n gin, c v tnh tng thch
cng ngh pht trin
12
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
C th (tt)
Maintainability: thit k ca phn mm c th c hiu d dng cng nh chuyn
giao thun tin cho ngi khc trong qu trnh iu chnh, nng cp hay thay i theo
yu cu.
Interoperability: Phn mm vn hnh n nh v ng nh mong i. Trn h
thng nhiu ngi dng (multi users) phn mm vn hot ng c vi cc vn hnh
khc ca h thng.
Correctness: Phn mm phi tnh ton ng v to ra kt qu ng v ng vi
mc tiu ng dng ca ngi dng.

Cc yu cu khc:
ng tin
S dng hp l ngun nhn lc pht trin
Chi ph pht trin thp nht
13
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Ni dung cng vic ca Software Engineering
Phn tch h thng/vn
Xc nh cc yu cu
Thit k phn mm
Vit phn mm (coding)
Kim tra v tch hp h
thng
Ci t v chuyn giao
phn mm
Lp ti liu
Bo tr
Qun l cht lng
Hun luyn
D on ti nguyn
Qun tr d n

Cng vic ca software engineering bao gm:
14
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Mt nh ngha khc ca CNPM
CNPM l cc quy trnh ng k lut v c nh lng c
p dng cho s pht trin, thc thi v bo tr cc h
thng thin v phn mm
Tp trung vo quy trnh, s o lng, sn phm, tnh
ng thi gian v cht lng
Qui trnh
o lng
Tiu chun
Thi gian
Qun l
Cht lng
Dch v
15
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
M hnh pht trin phn mm
Cc cng on chnh tng qut bao gm 4 giai on

Giai on c t: xc nh cc tnh nng v iu kin hot
ng ca h thng. (thu thp yu cu v phn tch)
Giai on pht trin: Thit k phn mm (software
design), vit code (code generation
Giai on kim tra: kim tra phn mm (software testing),
kim tra tnh hp l ca phn mm.
Giai on bo tr: Sa li (correction), thay i mi trng
thc thi (adaptation), tng cng (enhancement)
16
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Cc m hnh sn xut phn mm
Ty theo quy m v cng ngh pht trin, c cc m hnh
sn xut khc nhau.
M hnh tun t tuyn tnh- waterfall
M hnh Prototyping - Evolutionary Development
M hnh xon c Boehms Spiral Model
M hnh RAD Rapid Application Development

M HNH NO TT HN
Mi m hnh ph hp vi trnh pht trin, quy m sn
phm v yu cu rng buc c th v thi gian v tnh
cht ca h thng.
17
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
M hnh WaterFall Sequency model
M hnh pht trin phn mm u tin
Cc cng vic tip ni nhau mt cch tun t
t nn mng cho cc phng php phn tch, thit k, kim
tra
Phn tch
yu cu
Thit k h thng
& phn mm
Hin thc v
kim tra moduls
Tch hp v kim
tra tng th
Chuyn giao
v Bo tr
18
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
M hnh WaterFall Sequency model (tt)
Bc l mt s khuyt im
Bn cht ca pht trin phn mm l qu trnh lp i lp
li ch khng phi tun t
Cc bc thc cht khng tch bit hon ton m c
chng ln v tham kho li
Bt buc khch hng c t tt c yu cu mt cch chnh
xc v y ngay t ban u
Khch hng thng phi ch i rt lu thy c
phin bn u tin ca sn phm
Tn ti delay tch ly trong nhm lm vic -> d n
thng b tr.
Ch ph hp cho d n nh, n gin.
19
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
M Hnh Prototype
M t s lc
ca khch hng
Hot ng sn xut
















Bn prototype
Cc bn trung
gian
Bn cui cng
c t
Pht trin
Kim th
20
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
M Hnh Prototype u & khuyt
Prototype nh l mt c ch nhn din chnh xc yu cu ca
khch hng
Bn thn khch hng cha hiu r yu cu ca mnh, cng nh cc quy
trnh cha c xc lp r rng.
Khch hng cha hiu r kh nng h tr ca h thng my tnh
Kch thch s thch th ca ngi dng vi d n

Prototype c th b throw-away -> Lng ph
Cc process khng c phn nh r rng
H thng thng thng c cu trc lng lo
Cn c nhng k nng c bit trong qun l v pht trin
Khch hng hi thc nh pht trin hon thnh sn phm mt khi
thy c cc prototype u tin
21
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
M Hnh Prototype ng dng


Dng cho cc h thng nh. Cc chi ph khi thay i h
thng l khng qu ln khia cn phi thay i sau khi
thc hi prototype
Cn s cp bch v thi gian trin khai ngn. H thng
cn c a vo ng dng tng phn trong khong thi
gian nht nh.
Trong trng hp nhng h thng m vic c t cc yu
cu l rt kh v khng r rng ngay t u.
22
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
M hnh Xon c - Boehms Spiral Model
c thc hin theo mt chui lp kiu xon c, mi ln
lp ci thin sn phm
C phng php nh gi ri ro
C th p dng prototype
Mi ln lp c ci thin cho thch nghi vi bn cht ca
n
nh gi ri ro
Pht trin sn phm
Hoch nh ti
Xc nh cng vic
23
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
M hnh RAD
Rapid Application Development l m hnh tun t tuyn
tnh c thi gian pht trin rt ngn
S dng cc thnh phn c sn cng nhiu cng tt
S dng cng c lp trnh dng t ng sinh m ch
khng phi cc ngn ng truyn thng

Ph thuc vo cng ngh pht trin c tnh reusable cao.
Partten system development
Business modeling
Data
modeling
Process modeling
Application
generation
Testing &
Turnover
24
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Cc tiu chun dng trong CNpPM
The capability Maturity Model (CMM) ca Software Engineering Institue (SEI) -
i hc Carnegie Mellon.
Ch trng n tnh h thng v kh nng qun tr ca cc cng ty phn mm
hn l mt quy trnh (process) c th.
The process Improvement Paradigm (PIP) ca Software Engineering
Laboratory (SEL) NASAs Goddard Space Flight Center
Tng t nh CMM, ch trng n tnh h thng v nhng hng dn
tng cng tnh nng ca cc qu trnh qun l.
Cc chun khc ca Department of Defense
MIL STD 2167A ; MIL-STD 1574A ; MIL-STD 882C
The electronic Industries Association (EIA) chun SEB-6-A
The European ESPRIT project
International Standards Organisation - ISO 9001
United Kingdom MOD 0055
25
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Chun CMM

Initial
(Level 1)
Repeatable
(Level 2)
Defined
(Level 3)
Managed
(Level 4)
Optimized
(Level 5)
R
i
s
k

C
o
m
p
e
t
i
t
i
v
e
n
e
s
s

Largely Ad-hoc
Ph thuc vo c nhn
Bt u c kh nng qun l
Qun l da vo kinh nghim tng t
Xc lp cc tiu chun qun l
Cc vn documentation xc lp
C kh nng d on (Predictability)
Cc quy trnh qun l v tiu chun
c chi tit ha
Continuous Improvement
Cc h thng quality control v qualify
c s dng hiu qu
Chng 2
Project Management
ESub-Team trong Software Projects
EProject Estimation
EProject Scheduling
EProject Management Tools
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
27
Ti sao cn Project management
E Pht trin phn mm hin i lm theo teamworks
E Cn qun l v kim sot c ri ro (Risk) trong qu trnh sn
xut
E Cc d n phn mm i hi nhiu ngun nhn lc vi chuyn
mn khc nhau
E Tnh tch hp cng ngh cao v s thay i nhanh chng ca
cng ngh
E Phi bo m tnh chuyn nghip trong pht trin d n phn
mm:
Bo m lch trnh ca d n
iu phi v khai thc ti a ngun nhn lc hin c
Bo m cht lng ca sn phm
Kh nng khc phc cc s c xy ra khch quan
E Cc d n cng ln cng cn c s qun l cht ch v ng b
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
28
Project 2
Project 1
SUB-Team trong software engineering
E Teamwork l m hnh hin
ti cho hu ht cc d n
phn mm:
Kh nng chuyn nghip ha
cao
Hiu qu trong qun l, giao
tip v iu hnh
E Mt software project team
c to ra t nhiu sub-
teams
Cc sub-team khng nht thit
l mt nhm ngi m c th
l 1 ngi
Cc sub-team khng nht thit
tn ti sut qu trnh ca mt
d n phn mm
Team
1
Team
2
Team
3
Team
4
Team
5
Team
6
Project 3
Cng ty phn mm
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
29
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
Vai tr
nhim v
ca cc
SUB Team
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
30
Vai tr & nhim v cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
System Analysis
Xc nh tnh kh thi ca d n
Phn tch chi ph (Cost analysis)
D on li nhn (Estimate revenues)
Tin liu cc kh khn v k thut
v cng ngh

Sau khi nghin cu kh thi, nhm
ny s lm vic vi Requirement
Team nhn feedbacks
Nu d n c pht trin theo m
hnh tng tc cao nh
Prototype/Spiral model th tnh tng
tc v feedback l rt quan trng k
c vi cc nhm khc.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
31
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
Planning Team
Nhm ny c nhim v xy dng tng
th tt c cc k hoch qun tr d n
v bo m cc tin trnh din ra ng
tin nh
Xy dng cc k hoch thc hin
Lp cc time frame cho cc tin trnh
K hoch s dng ti nguyn ca h
thng bao gm c nhn lc
Cc k hoch d phng v iu chnh
khi c s c
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
32
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
Requirement Team
Tip xc khch hng v xc nh y
, hon chnh v chnh xc cc yu
cu cho d n
Dng cc phng thc gp g chnh
thc v bn l xc nh cc yu
cu ca h thng
Nu khng c khch hng, c th
tip xc vi cc user tim nng
Sau khi xc nh cc yu cu, nhm
ny s lm vic vi System Design
Team nhn cc feedback.
Nu d n c pht trin theo m
hnh tng tc cao nh
Prototype/Spiral model th tnh tng
tc v feedback l rt quan trng k
c vi cc nhm khc
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
33
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
System Design Team
Xy dng thit k chi tit ca h
thng sau khi cc yu cu c
xc nh.
Nu s dng m hnh Waterfall,
nhm ny phi feedback cho
nhm Requirement nhng kh
khn nu c.
Sau khi hon chnh thit k, nhm
ny phi cng tc vi
Implementation Team nhn
feedback.
Nu d n c pht trin theo
m hnh tng tc cao nh
Prototype/Spiral model th tnh
tng tc v feedback l rt quan
trng k c vi cc nhm khc
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
34
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
Implementation Team
Pht trin h thng theo thit k
c.
Coding
Kim tra cp Module
Sau khi hon tt chng trnh,
nhm ny s cng tc vi nhm
Tesing & Integration kim tra
cc module
Nu d n c pht trin theo
m hnh tng tc cao nh
Prototype/Spiral model th tnh
tng tc v feedback l rt quan
trng k c vi cc nhm khc
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
35
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
Testing & Integration Team
Xy dng thit k chi tit ca h thng
sau khi cc yu cu c xc nh.
Nu s dng m hnh Waterfall, nhm ny
phi feedback cho nhm Requirement
nhng kh khn nu c.
Sau khi hon chnh thit k, nhm ny
phi cng tc vi Implementation Team
nhn feedback.
Nhm ny c th tip nhn cc module ri
rc v kim tra sau tch hp thnh h
thng hon chnh.
Nu d n c pht trin theo m hnh
tng tc cao nh Prototype/Spiral model
th tnh tng tc v feedback l rt quan
trng k c vi cc nhm khc
Nhm ny cng c vai tr trong Interface
Control Document c t cc giao din
v giao tip gia cc thnh phn trong h
thng
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
36
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
Trainning Team
Chun b cc cng c v ti liu
cho vic trainning cho ngi
dng
K hoch trainning
Cc ti liu ging dy
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
37
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
Delivery & Installation
Team
Nhim v l ci t h thng
cho khch hng v cc h tr
k thut trong ci t vn hnh
h thng.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
38
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
Maintenance Team
Bo tr h thng sau khi chuyn
giao v ci t
Cp nht sa cha
Nng cp m rng
Cng tc cht ch vi nhm
implementation thc hin
vic maintenance
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
39
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
Quality Assurance Team
Nhm ny c 2 nhim v
1. Thit lp cc tiu chun cho cc
qu trnh sn xut cng nh tiu
chun thc hin ca sn phm
phn mm
2. Cung cp cc c ch kim tra,
kim sot nhm nh gi kh
nng tha mn cc tiu chun
tng ng ca cc nhm lm vic.
Cc tiu chun ny dng trong ni b
v khng chia s vi khch hng.
Cc tiu chun c th c cng b
khi cn thit, v vy cn c lu
tr v bo co cho project
manager hot ng vi b
phn Q&A
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
40
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
Metrics Team
Lu tr cc thng tin thng k v
cc hot ng ca cc TEAm
trong d n.
S lng cc yu cu
maintenance
S lng thc hin dch v
maintenance
S dng code c vit
Thi gian thc hin tng cng
vic
Nhm ny lm vic vi hu ht
cc nhm cung cp bo co v
cht lng, hiu qu, ng thi
feedback cho cc nhm v
hiu qu cng vic.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
41
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
Documentation Team
Nhm ny thc hin cc hot
ng thit lp cc ti liu
cho h thng
Ti liu v phn tch, thit
k, hin thc, source
code,..
Ti liu h tr : userguide,
manual, support document
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
42
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering Team
System Administrationm
Team
Nhm ny c nhim v cung
cp v bo m cc hot ng
ca cc h thng h tng k
thut cn thit cho d n
Nhm ny thng thng bao
gm c Network Administration
Team
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
43
Cc Sub-Team
E System analysis
E Planning Team
E Requirements Team
E System Design Team
E Implementation Team
E Tesing & Intergration Team
E Training Team
E Delivery & Installation Team
E Maintenance Team
E Quality Assurance Team
E Metrics Team
E Documentation Team
E System Administration Team
E Reuse & Reengineering
Team
Reuse & Reengineering
Team
Chn la v quyt nh vic
reuse cc module c
Vic reengineering cng cn
thit khi m vic pht trin
i hi phi dng n cc
code c khi cng ngh
thay i.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
44
Sub-Team (tt)
E C rt nhiu vic qun l trong tng nhm v tng
cng on.
E C kh nhiu nhm -> nhiu manager, tuy nhin nu
cc nhm ny nh th thng l mt ngi trong nhm
s l manager ca team.
E Vic scheduling gia cc team ph thuc vo m hnh
pht trin c th l g.
E V d nu dng m hnh Waterfall th cc cng on c
th c tch hp thnh cc bc ln hn, cc nhm
tham gia vo tng bc theo chc nng ca mnh.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
45
Cc nhm trong m hnh Waterfall
SPECIFICATION: Planning, System Analysis, QA, Metrics,
Documentation, System Administration, Reuse & Reengineering
DESIGN: QA, Metrics, Documentation, System Administration,
Reuse & Reengineering
CODE:QA, Metrics, Documentation, System Administration, Reuse
& Reengineering
TESTING & INTEGRATION: QA, Metrics, Documentation, System
Administration, Reuse & Reengineering
MAINTENANCE: Trainning, Delivery & Instalation,QA, Metrics,
Documentation, System Administration, Reuse & Reengineering
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
46
Cc nhn s khc trong d n
Bn cnh cn c mt s nhn s khc tham gia vo qu trnh pht
trin d n nhng c th khng c nu tn mt cch chnh qui
E Human-Computer Interface Evaluation: nh gi kh nng
thch hp ca giao din c nh ngi dng cp thp v cp cao
E Tools Support Person: Ngi cung cp v bo o cc cng c cn
thit nh tools, software, network vn hnh theo yu cu ca qu trnh
pht trin
E Software Economist: S dng cc m hnh nh gi cn thit
c lng chi ph phn mm, phn cng, resource v thi gian cn cho
d n hon tt
E Project Librarian: C trch nhim lu tr v sp xp h thng tt c
cc ti liu ca d n
E Chuyn gia h tr: Mt s d n cn c nhng chuyn gia trong lnh
vc tng ng h tr, t vn v mt chuyn mn hay k thut
NHN S CA CC TEAM C TH THAY I THNG XUYN TRONG
QU TRNH HOT NG DO NHIU YU T
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
47
Cc yu t nh hng n cc team
E Nhn s cn thay i theo tng cng on: cc cng
on cn nhiu nhn s v cn thi gian di nh
coding, testing & integration.
E Cc nguyn nhn khch quan khc:
Nhn s thay i cng vic: chuyn mn thay i, cng ngh mi
cp nht
Nhn s ngh do thay i vic, bnh, v hu
Nhn s mi: mang li t duy mi v cng ngh mi tuy nhin phi
cn thi gian tip cp
E Vic xy dng cc team l linh ng theo tng d n
v cn c iu phi gia cc d n theo tng tin
cng vic.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
48
Project management
E D on quy m v phc tp ca d n
E Xc nh cc team cn thit cho hin thc d n
E Xc nh k hoch d on thi gian hon thnh d n
E Xc nh cc ti nguyn cn thit cho d n bao gm
phn mm, h thng, .
E Tnh ton chi ph xy dng d n
E Xy dng l trnh thc hin d n (smiletone)
E Thc hin cc cng vic qun l trong thi gian thc
hin d n bo m ng k hoch ra.

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
49
Cc cng vic ca Project management
trong thi gian thc hin d n
E Qun tr nhn s: iu phi, qun l cng vic,..
E Phn b cc ti nguyn ca h thng theo k hoch
E iu phi nhn s: trong cng ty v bn ngoi
E X l cc pht sinh v thi gian biu
E Qun l cc thay i yu cu ca d n
E Gii quyt cc s c ngoi k hoch: my mc h
hng, nhn s thay i,..
E Bo co cho lnh o v d n
E Giao tip vi khch hng
E Staffs trainning

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
50
Size of Project
Software Project Estimation
E D on iu g?
Quy m ca sn phm s c pht trin
Cc yu cu, resource cn thit c th pht trin sn phm thnh
cng
E pht trin sn phm cn bit nhiu thng tin
- My tnh cn cho pht trin
- Cc phn mm c bn nh
compiler
- Phng thc giao tip gia cc
b phn
- CASE Tools
- Cc gi phn mm m h thng
cn lin kt, tng tc.
- My tnh cho tesing
- My tnh cho trainning
- Cc cng c cho Documentation
- Thit b copy, lu tr
- Cng ngh s dng
- Lp trnh vin
- Kim tra vin
- Qun l
- Nh thit k
- Cc nhn s khc
- .
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
51
Project Size
E Kch thc c o bng lines of code
E Lm th no d on c kch thc ca mt
n phn mm?
Knh thc o bng s dng code c vit hon thnh d n
D n cha thc hin lm sao bit s dng code s c vit
E Phng php Analogy v Reasoning-by-Analogy
E Phn b nhn lc cho d n phn mm trn c s
lines of code d on.
nh gi nng xut ca mi ngi trong d n
E Metric data cho vn estimated v phn b resource.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
52
Phng php Analogy
E Analogy l g ? Suy lun theo analogy?
E iu kin s dng phng php analogy:
C bi ton bit c bn cht tng t
c gii php ca bi ton bit
E Cch p dng analogy
Xc nh c cc thng s tng ng gia 2 bi ton
p dng gii php ca bi ton bit cho bi ton mi
E Vi d n phn mm
Xc nh cc d liu ca nhng vn lm nh vo metric
Phn tch d n cn d on thnh cc thnh phn
Xc nh kch thc tng ng tng phn vi thng tin metric c
loi tr cc kch thc cc phn c reuse
Tng kch thc cc phn kch thc d n
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
53
D on nhn lc cho d n
Lines of new code Approximate
Number of
Software
Enginneers
5,000 1
10,000 1
20,000 2
50,000 5
100,000 10
200,000 20
500,000 50
1,000,000 100
2,000,000 200
5,000,000 500
10,000,000 1,000
100,000,000 10,000
Thc t khng th tng tuyn tnh
mt cch n gin nh th
Khng phi tt c nhn lc u ng
u.
Khi d n cng ln th cc vn
qun l giao tip v lin kt s phc
tp hn lm gim nng xut.
D n ln, cc thay i ngoi d kin
s nhiu hn nn nng xut b nh
hng.
Cn nhiu khu khc nh hng n
d n ch khng phi ch c coding.
Tnh da trn thng s no?
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
54
D on nhn lc theo Metric
Lines of new code Approximate
Number of
Software
Enginneers
5,000 7
10,000 14
20,000 27
50,000 77
100,000 144
200,000 288
500,000 790
1,000,000 1,480
2,000,000 3,220
5,000,000 8,000
10,000,000 15,960
100,000,000 160,027
Thit lp bng d liu theo s liu thng
k m metric team thc hin t trc.
S liu ny cha ng cc yu t khc v
qun l v cc cng on khc nhau ca
mt n tng th.

Xy dng mt hm d on
nhn lc cho d n (person-
month )dng
y = mx + b
vi m, b c xc nh bng
phng php bnh phng ti
thiu
(Xem cng thc tnh m, b trang
71)
Da vo ta tnh c s nhn
lc cn thit cho d n.
Y thi gian thc hin (person
month)
X kch thc d n
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
55
V d
Projects Domain Months Effort (person-month) Size
Application 1 Graphics Utility 12 30 5000
Application 2 Graphics Utility 10 40 8000
Application 3 Graphics Utility 24 30 10000
Application 4 Graphics Utility 36 100 20000
Application 5 Graphics Utility 12 30 5000
Application 6 Graphics Utility 24 30 10000
Application 7 Graphics Utility 48 90 25000
Da vo bng trn ta tnh c y = 0.002 x + 1.84 .
V d vi d n kch thc 15,000 lines of code ta s cn 32 person-
month gii quyt
Xy dng bng metric ca cc d n tng t ta tnh c l cn
phn b bao nhiu ngi lm trong bao lu.
V d bng tnh ton cho cc d n database
HN CH CA PHNG PHP NY
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
56
COCOMO Model
E Xc nh c 2 thng s l s nhn lc v thi gian pht
trin
E Trnh t thc hin
Phn tch cc yu cu ca d n
Xc nh line of code ca tng yu cu d vo metric data
Tr cc phn c xc nh l reuse code
Tng cc phn cn li tnh c K line of code
p dng cng thc tnh
E = a
b
* K * exp(b
b
)
D = c
b
* E * exp(d
b
)
E l s nhn lc tham gia vo d n
D l thi gian thc hin d n
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
57
COCOMO Model (tt)
E Cc h s ca cng thc COCOMO
Software Project type Ab Bb Cb
Db
Small project, experienced team, flexible
requirement
2.4 1.05 2.5 0.38
Hard real-time rew\quirements and strict
interoperability
3.6 1.2 2.5 0.32
A mixture of the other two type of projects 3.0 1.12 2.5 0.35
E Cc gi tr E v D tnh c ph thuc vo kh nng estimate gi
tr line of code (K) ca d n.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
58
Project Scheduling
E Scheduling bao gm:
Xc dnh cc mc tin trnh thc hin d n
Phn b resource cho cc tin trnh ca d n
E Qun tr v thc hin cc iu chnh cn thit cho cc
tin trnh khi c s thay i ngoi k hoch
Phn b li ngun resource (thm ngi)
Phn b li milestone ca tng tin trnh
Mc tiu l bo m deadline khng b thay i
E Phng php qun tr v iu chnh:
FUNCTION POINT
E Cc cng c dng trong scheduling : MS project,
Cocomo2
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
59
Activity network model
E Thit lp activity network: gm cc Minestone (M) v Task (T)
E Xc nh critical path: c tng thi gian thc hin di nht
E iu chnh cc M-i bo m deadline
E iu chnh cc T-i bng cch thay i/b sung nhn s (Team)
Start
04/07/99
T 1
8 ngy
M 1
14/7/99
M 3
25/7/99
M 2
25/7/99
M 5
18/7/99
T 2
15 ngy
T 4
10 ngy
T 3
15 ngy
T 5
10 ngy
T 6
5 ngy
T 7
20 ngy
T 8
25 ngy
T 9
15 ngy
T 10
15 ngy
T 11
7 ngy
T 12
10 ngy
FINISH
19/09/99
M 4
04/8/99
M 6
25/8/99
M 7
11/8/99
M 8
5/9/99
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
60
Activities Bar Chart PERL chart
4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9
START
T4
T1
M1
T4
Chng 3
Phn tch h thng
(system analysis)
Nhng vn trong phn tch h thng
Thu thp yu cu t ngi s dng
Phn tch yu cu
Xc nh tnh nng h thng
62
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Mc tiu ca phn tch h thng
Khch hng v nh pht trin gp nhau tho lun v
yu cu ca h thng phn mm cn xy dng
Nh pht trin tm hiu, phn tch v kim chng li
(validate) yu cu v biu din n bng m hnh phn tch
M hnh phn tch c t ton b ni dung : chc nng,
d liu nhp/xut, cc hot ng ca h thng cn pht
trin
Xy dng cc t in d liu nh ngha cc khi nim c
th ca h thng, ngha, cu trc,
Thng nht vi khch hng v m hnh v tnh nng ca
h thng
63
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Phn tch h thng
Phn tch h thng l bc u tin rt quan trng cho d n pht
trin phn mm
Cng vic phn tch h thng bao gm
Thu thp yu cu v quy trnh nghip v hin ti
Phn tch v xc lp cc quy trnh s c pht trin/thay th bng my tnh
Xc thc cc yu cu/tnh nng ca h thng
Kt qu ca vic phn tch h thng l cc ti liu c t tnh nng h
thng. Cc ti liu ny thng thng dng cc s , biu ,..
Kt qu ny dng cho vic xc thc cc tnh nng ca h thng vi
khch hng
Kt qu ny l u vo ca qu trnh tip theo l thit k h thng.
Ty thuc vo cng ngh pht trin m s dng cc phng php
phn tch ph hp : cu trc hay OOP
64
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Nhng vn trong phn tch h thng
Cch bit v chuyn mn ca lnh vc cn phn tch
S hiu bit ca nhng ngi end user v quy trnh lm
vic v kh nng ng dng phn mm cho cng vic ca
h
Nhng vn v iu kin h tng h tr hot ng ca
h thng
Tnh sn sng thng tin ca cc h thng ang c s
tng tc vi h thng cn xy dng
nh hng ng dng lu di cha c/ cha r rng
Cng c/ngn ng s dng c t h thng / kt qu
phn tch
65
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quy trnh phn tch h thng
Cc bc chnh
Thu thp thng tin h thng hin
ti
Thu thp yu cu
Phn tch yu cu
Xc lp tnh nng h thng
Xc thc tnh nng h thng
Tm hiu v xy dng li
hin trng ca h thng

Cc quy trnh hot
ng/nghip v
Phng thc v ngha ca
cc qu trnh x l
D liu ca h thng
iu kin h tng: thit b,
con ngi
66
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quy trnh phn tch h thng
Cc bc chnh
Thu thp thng tin h thng hin
ti
Thu thp yu cu
Phn tch yu cu
Xc lp tnh nng h thng
Xc thc tnh nng h thng
Xc nh cc yu cu

Cc yu cu v chc nng
ca h thng
Cc yu cu v mi trng
vn hnh: thit b, con ngi
67
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quy trnh phn tch h thng
Cc bc chnh
Thu thp thng tin h thng hin
ti
Thu thp yu cu
Phn tch yu cu
Xc lp tnh nng h thng
Xc thc tnh nng h thng
Phn tch cc yu cu

Phn tch cc yu cu theo
quy trnh s l
B sung cc quy trnh cho
ph hp vi my tnh
Yu cu b sung cc thng
tin
68
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quy trnh phn tch h thng
Cc bc chnh
Thu thp thng tin h thng hin
ti
Thu thp yu cu
Phn tch yu cu
Xc lp tnh nng h thng
Xc thc tnh nng h thng
Xc lp tnh nng ca h
thng

Xc lp cc chc nng m
h thng s bao gm
Xc lp cc iu kin v mi
trng hot ng
69
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quy trnh phn tch h thng
Cc bc chnh
Thu thp thng tin h thng hin
ti
Thu thp yu cu
Phn tch yu cu
Xc lp tnh nng h thng
Xc thc tnh nng h thng
Xc thc tnh nng h
thng

Xc thc vi ngi dng v
tnh hp l v y ca cc
tnh nng
Xc thc cc quy trnh
nghip v
Xc thc cc rng buc
70
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quy trnh phn tch h thng
Cc bc chnh
Thu thp thng tin h thng hin
ti
Thu thp yu cu
Phn tch yu cu
Xc lp tnh nng h thng
Xc thc tnh nng h thng
Phng php cu trc
Cc bc c thc hin
ng thi v sen k nhau
Thng s dng lc :
DFD, ERD, STD
Phng php OOP
S dng UML: lc Use case, Class

Phn tch h thng theo hng pht trin
k thut lp trnh cu trc
Tip cn ca phng php pht trin c in cho bc phn
tch h thng
Cc lc DFD, STD, ERD

72
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
CC YU T CN BN CA M HNH
T in
d liu
Lc
dng chy
d liu
Lc quan
h thc th
Lc dch chuyn
trng thi
Process Specification (PSPEC)
Lc DFD
M hnh chc nng v dng
thng tin: DFD, PSPEC
M t dng thng tin di chuyn
(flow) xuyn qua cc h thng
thin v phn mm.
Din t cc tng tc xut nhp
d liu vi con ngi v cc h
thng khc
Lu dng chy d liu DFD
(Data Flow Diagram) cung cp 4
k hiu c bn m hnh s di
chuyn ca dng thng tin
M rng ca Ward & Mellor;
Hatley & Pirbhai cho realtime
73
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
CC YU T CN BN CA M HNH
T in
d liu
Lc
dng chy
d liu
Lc quan
h thc th
Lc dch chuyn
trng thi
Process Specification (PSPEC)
Control Specification (CSPEC)
Lc STD
M hnh hnh vi ca h thng
Lc dch chuyn trng thi
(STD) th hin
Cc trng thi khc nhau
ca h thng
S dch chuyn gia cc
trng thi
M t chi tit hn iu kin xy
ra ca cc hnh vi
Cung cp mt hnh nh ng v
h thng
74
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
CC YU T CN BN CA M HNH
T in
d liu
Lc
dng chy
d liu
Lc quan
h thc th
Lc dch chuyn
trng thi
Process Specification (PSPEC)
c t
t in
d liu
Control Specification (CSPEC)
Lc ERD
c t cc thng tin v d liu
ca h thng
Cu trc d liu
Cc quan h v rng buc d
liu
75
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
CC YU T CN BN CA M HNH
T in
d liu
Lc
dng chy
d liu
Lc quan
h thc th
Lc dch chuyn
trng thi
Process Specification (PSPEC)
c t
t in
d liu
Control Specification (CSPEC)
T in d liu
Lm r cc khi nim v thut
ng trong h thng
Nu ln ngha v phm vi s
dng ca cc khi nim ny
Xc nh cc cu trc thng tin
cn thit
76
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
LC DNG CHY D LIU (DFD)
c xy dng t 4 phn t chnh
Thc th: to ra hoc tiu th thng tin, nm bn ngoi bin gii ca
phm vi thng tin h thng
Chc nng x l: thc hin chc nng no , tiu th v to ra
thng tin, nm bn trong phm vi thng tin h thng
Thng tin hay d liu
Kho d liu: lu tr d liu m c s dng bi nhiu chc nng
x l
Thc th
Chc nng
x l D liu
Kho D Liu
77
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
LC DNG CHY D LIU (t.t)
DFD c xy dng qua nhiu mc khc nhau: mc 0, 1,
2
DFD mc sau chi tit hn mc trc
Process Specification (PSPEC) b sung cho DFD
Tnh lin tc ca dng d liu
78
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
K thut phn tch h thng
Tip xc, phng vn cc ngi dng trong h thng thu
thp cc thng tin v nghip v ca ngi dng
Thit lp on vn miu t chc nng (processing
narrative) cho h thng cn xy dng
Xy dng DFD cc mc khc nhau
Thit lp s ng cnh (DFD mc 0)
Phn hoch DFD vo cc mc cao hn
S dng phng php duyt vn phm.
Lun lun tun theo tnh lin tc ca dng d liu
Vit PSPEC cho cc chc nng ca DFD mc cao nht

79
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Xy dng DFD V d
Phn mm SafeHome: Thit lp on vn miu t x l
DFD mc ng cnh: nhn din cc thc th v d liu
input, output
SafeHome
System
Bng iu khin
B cm ng
Mn hnh
Chung
ng in thoi
Lnh v d liu
Trng thi cm ng
Thng tin hin th
Kiu bo ng
Tn s ca s in thoi
80
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Xy dng DFD V d
DFD mc 1: hnh thnh
mt s chc nng chnh
Tng tc
vi User
Bng iu khin
B cm ng
Mn hnh
Chung
ng in thoi
Lnh v d liu
Trang thai cam ng
Kiu bo ng chung
Tn s ca in thoi
Cu hnh
h thng
Yu cu
cu hnh
Cm/
Cho php
Start/Stop
Thng s cu hnh
X l
mt m
Mat ma
Theo di
cm ng
Hin th
Thng bo
Xc nhn mt m
Thng tin cm ng
Thong tin hien th
81
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
M hnh hnh vi STD V d

c lnh

X l li
Thc hin copy
Np giy
Ht giy

Yu cu np giy
Kt giy

Yu cu x l li
Ht kt giy

Yu cu c lnh
y giy

Yu cu c lnh
Rnh

Yu cu c lnh
y giy v sn sng

Yu cu copy
Copy xong

Yu cu c lnh
M hnh hnh vi h
thng my photocopy
82
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
T in d liu
Nhiu phn t c to ra trong m hnh phn tch: d
liu, chc nng, iu khin
Phi c mt cch thc qun l cc phn t sao cho
hiu qu T in d liu
nh ngha: T in d liu l mt danh sch c t chc ca
tt c cc phn t d liu cn thit cho h thng. Cc phn t
c nh ngha chnh xc v cht ch sao cho c phn tch vin
v khch hng cng chia s mt suy ngh v chng.
T in d liu thng c hin thc nh l mt phn
ca cng c CASE.
Mi phn t bao gm nhng thng tin: tn, b danh, c
dng u/nh th no, c t ni dung v thng tin ph tr
83
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
T in d liu V d
V d phn t d liu s in thoi
Tn: S in thoi
B danh: Khng
c dng u/nh th no:
output ca Thit lp iu kin bo ng
input ca Quay s
c t ni dung:
s in thoi = [ m rng a phng | s bn ngoi ]
m rng a phng = [ 2001 | 2002 | 2009 ]
s bn ngoi = 9 + [ s a phng | s ng di ]
s a phng = tin t + <chui 4 k s>
s ng di = (1) + m vng + s a phng
tin t = [ 795 | 799 | 874 | 877 ]
84
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Review Phn tch h thng theo cu trc
Phn tch yu cu theo pp c in bao gm:
M hnh chc nng v dng thng tin (DFD),
M hnh d liu (ERD)
v M hnh hnh vi (STD)
Lc DFD c bn c 4 k hiu v n c m rng
biu din c cc h thng thi gian thc
Xy dng DFD mc 0 ri n cc mc cao hn; ch
bo ton tnh lin tc ca dng d liu
T in d liu gip qun l v tra cu cc phn t d
liu
Phn tch h thng theo hng pht trin
k thut lp trnh OOP
Tip cn ca phng php pht trin OOP cho bc phn tch h
thng
AI / V tr nh th no / Lm G / Khi no
Cc lc
Lc Use-case: thu thp yu cu m hnh nghip v
Lc lp: phn tch yu cu m hnh phn tch
86
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
M hnh nghip v - Thu thp yu cu
Quan im thu thp/phn tch yu cu ca m hnh nghip v: h
thng gm c AI/Lm nhng g/Khi no
Lc Use-case :
Actor & Use-case
Cc mi quan h : Actor Actor ; Actor-Use-case, - Use-case-Usecase
Actor xc nh mt b vai tr m ngi hoc vt s ng vai khi
tng tc vi h thng phn mm
Actor nm ngoi phm vi ca h thng
Ch quan tm cc thng ip m actor gi hay nhn
Khng quan tm cu trc bn trong ca actor
Phn loi actor
Ch yu / Th yu
Tch cc / Th ng
87
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Nhn din cc ACTOR
Tr li mt s cu hi nh
Ai l ngi s dng chc nng chnh ca h thng ?
Ai cn s h tr t h thng thc hin cng vic
thng nht ca h ?
Ai phi thc hin cng vic bo dng, qun tr v gi
cho h thng hot ng ?
H thng s kim sot thit b phn cng no ?
H thng ang xy dng cn tng tc vi nhng h
thng khc hay khng ?
Ai hoc vt th no quan tm n hay chu nh hng
bi kt qu m h thng phn mm to ra ?
88
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Biu din ACTOR trong UML
Actor c biu din bng k hiu hnh ngi


Actor c xem l mt lp (class) c stereotype l
<<actor>>
Gia cc actor c th c quan h tng qu ho
V d: Sinh vin, ging vin v khch u l c gi ca h thng
qun l th vin: c gi l actor tng qut ha ca 2 actor sinh vin
v ging vin
V d: mt h thng ng k mn hc trong
trng i hc
Tn Actor
89
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Cc Actor trong h thng ng k mn hc
Sinh vin
H thng ng
k mn hc
Phng o to
Ging vin
H thng qun l hc ph
Phng ti v
90
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Khi nim Use-case
Use-case biu din mt chc nng ca h thng phn
mm
Use-case c biu din bng mt chui cc thng ip
trao i bn trong h thng v mt hoc mt s thng
ip trao i vi actor
Mt s quy c
Use-case lun lun c bt u bng thng ip n t
actor
Use-case phi hon tt: chui thng ip phi kt thc
bng kt qu c th.
Li thng gp: chia nh use-case tr thnh nhng chc
nng vn vt
91
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Khi nim Use-case
Use-case c biu din bng hnh ellipse:



im m rng l mt v tr trong use-case m ti c
th chn chui s kin ca mt use-case khc
Use-case c th cha iu kin r nhnh, x l li, ngoi
l...
Minh d ca use-case l kch bn (scenario): miu t c
th trnh t cc s kin xy ra khi Use-case c thc
hin.
Tn Use-case
92
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Tm kim Use-case
Tr li mt s cu hi nh
Actor yu cu chc nng g ca h thng ?
Actor cn phi c, to, xo, sa i hoc lu tr thng tin no
ca h thng khng ?
Actor cn thit phi c cnh bo v nhng s kin trong h
thng, hay actor cn phi bo hiu cho h thng v vn no
khng ?
H thng c th h tr mt s cng vic thng nht ca actor no
hay khng ?
Mt s cu hi khc cn ch
H thng cn d liu input/ouput no ? D liu n t u ?
Nhng kh khn no lin quan n hin thc ca h thng hin ti
(chng hn h thng qun l bng giy t nn c thay th bng h
thng qun l trn my tnh) ?
93
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Cc quan h ca Use-case
Sau khi xc nh cc Actor v Use-case th cc quan h s
c thit lp hon chnh lc Use-case
Gia use-case v actor thng c quan h lin kt
Use-case c Actor no kch hot
Gia cc use-case cng c quan h lin kt hoc tng
qut ho
Quan h lin kt: extent , incluse
Quan h thng qut ha
V d: mt h thng ng k mn hc theo tn ch trong
trng i hc
94
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
V d mt Use-case n gin
Phng o To
Sinh Vin
Ging Vin
ng K Hc
ng k dy
Qun l Sinh Vin
Qun l Mn Hc
Thm Sinh Vin Mi
<<extend>>
<<communicate>>
95
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quan h lin kt
Quan h lin kt ch ra mt quan h c ngha gia hai bn
Trong thc t: hnh khch vi li xe, sinh vin vi gio vin, ging vin vi
mn hc
Mt s tnh cht lin quan
Tn ca lin kt
Mt chiu hay 2 chiu
Bc: s lng thc th tham gia vo lin kt ti mi bn
UML biu din lin kt nh l mt on thng (hai chiu) hoc mi
tn (mt chiu)

C th p dng stereotype:
<<include>>
<<extend>>
<<communicate>>
...
<<Stereotype>> <<Stereotype>>
96
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quan h lin kt gia Actor v Use-case
Lin kt l quan h duy ht gia actor & Use-case
Lin k c th l 2 chiu hay 1 chiu
actor kch hot use-case v nhn kt qu v: lin kt 2 chiu
actor kch hot use-case, khng quan tm kt qu v: lin kt 1 chiu
Quan h lin kt ph bin gia Actor & Use-case l giao
tip: stereotype l <<communicate>> dng lin kt gia actor v
use case m n kch hot
Ngi bn hng
t hng
1
*
Ging vin
ng k dy
<<communicate>>
97
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quan h gp gia 2 Use-case
Dng lin kt 2 Use-case: c stereotype l <<include>>
Trong Use-case ngun c im m rng m ti bt
buc phi chn Use-case ch vo.
Ti im m rng, din tin ca use-case ngun tm thi ngng li
chuyn sang din tin ca use-case ch
Khi kt thc use-case ch, din tin ca use-case ngun li tip tc
ng nhp
<<include>>
Tm kim
98
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quan h m rng gia 2 Use-case
Dng lin kt 2 Use-case: c stereotype l <<extend>>
Trong use-case ngun c mt im m rng m ti c
th (hoc khng) chn use-case ch vo ty thuc vo
iu kin r nhnh hoc tng tc t actor
Ti im m rng, nu c m rng th din tin ca use-case ngun
tm thi ngng li chuyn sang din tin ca use-case ch
Khi kt thc use-case ch, din tin ca use-case ngun li tip tc
ng k t ch
(nu tm thy)
<<Extend>>
Tm kim
99
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quan h tng qut ha
L mi quan h gia cc i tng cng nhm to nn
mt i tng mang nhng tnh cht chung ca cc i
tng kia
Quan h thng qut ha gia cc Actor: nhiu actor c
chung mt s vai tr -> hnh than2h actor tng qut ha
mang vai tr chung .
V d: sinh vin, gio vin u c chung use-case login v u l user
ca h thng -> to nn actor user l tng qut ha ca actor sinh
vin v actor gio vin
Quan h thng qut ha gia cc Use-case: khi c nhiu
use-case l trng hp c th mt use-case tru tng
V d: Use-case login ca sinh vin , gio vin c th c thc hin
theo c ch khc nhau nhng cng mang chung ngha l ng nhp
l cc trng hp c th ca Use-case tru trng LOGIN
100
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Xy dng m hnh Use-case
Cc yu cu ca phn mm c m t trong m hnh use-case
M hnh use-case bao gm lc use-case v (c th) mt s
packet (gom mt s use-case thnh mt b chc nng con ca h thng)
Phng php thc hin:
Xc nh cc actor v use-case ca h thng
Xc lp cc quan h gia cc i tng ny
Quan h lin kt gia actor v use-case: mt chiu hoc hai chiu, thng c
stereotype l <<communicate>>
Quan h m rng hay gp gia 2 use-case: quan h lin kt vi stereotype
<<extend>> hay <<include>>
Quan h tng qut ho (generalization) gia cc actor: nhiu actor c vai tr ca mt
actor tru tng
Quan h tng qut ho gia cc use-case: nhiu use-case l trng hp c th ca mt
use-case tru tng
Trnh by thnh lc use-case theo chun UML
C th xc nh cc packet
101
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Xy dng m hnh Use-case V D
People
Finance
Prints timetable Makes timetable
fee summary
Adds students
Removes students
Administration
print request
<<communicate>>
timetable command
<<communicate>>
Student
Lecturer Reads courses
Manages students
<<extend>>
<<extend>>
Manages lecturers
Manages course
Registers courses
Login
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
Undertakes
course
<<include>>
102
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Xy dng m hnh Use-case V D
Administrator
Views mail
<<extend>>
Forwards
<<extend>>
Replies
<<extend>>
Adds mailbox
Removes mailbox
<<communicate>>
Subcriber
<<communicate>>
<<communicate>>
Login
<<include>>
<<include>>
<<include>>
103
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Xy dng m hnh Use-case V D
imports
exports
models
initializes
<<extend>>
saves model
exits
<<extend>>
sets eye
toggles mode
toggles light
sets appearance
Viewer
import command
<<communicate>>
export command
<<communicate>>
model command
<<communicate>>
run command
save command
<<communicate>>
close command
<<communicate>>
104
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
M hnh phn tch Phn tch yu cu
M hnh nghip v biu din cc chc nng
phn mm cn xy dng di dng cc use-
case
M hnh phn tch s tm kim cc i
tng sng trong ng cnh ca phn mm
Cc i tng s tng tc vi nhau to
nn cc chc nng m t bi use-case
Lc Class phn tch din t cu trc, mi
quan h gia cc i tng/lp trong h thng
Cha quan tm n hnh vi c th v nhim
v chi tit ca chng trong ng cnh ca h
thng
Nguyn tc: m hnh phn tch phi c lp
vi o/s, ngn ng lp trnh, cng c pht trin
i tng/lp
- quan h
105
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Xy dng m hnh phn tch
M hnh phn tch c din t trong UML bng lc lp phn
tch (Class diagrame)
Cc cng vic xy dng lc phn tch bao gm
Tm kim cc i tng / lp trong h thng
i tng / lp thc th
i tng / lp bin
i tng / lp control
Xc nh cc thuc tnh ca i tng / lp
Xc nh cc tc v ca i tng / lp
Nhn din cc lp tru tng qua mi quan h thng qut ha
Xc lp cc mi quan h gia cc lp:
Tng qut ho (generalization)
Lin kt (association)
Bao gp (aggregation)
Biu din thnh lc lp phn tch
106
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Nhp din i tng / lp
Da vo c t ca tng use-case tm kim cc i
tng
Cc i tng thng xut hin trong cc danh t hay
nhm danh t
Mt s lu
Khng nn dng i tng biu din mt d liu n (nn xem l
thuc tnh ca i tng khc)
i tng/lp phi thc s cn thit cho s hot ng ca h thng
i tng/lp >< bng c s d liu
i tng/lp >< actor
107
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Nhn din v biu din i tng / lp
Phn loi i tng/lp
i tng thc th (entity): biu din cc thng tin thit yu ca h
thng, c th c lu trong c s d liu
i tng bin (boundary): thc hin chc nng giao tip vi actor
i tng iu khin (control): iu khin cc i tng khc
Trong UML, lp c biu din bng mt hnh ch nht
gm 3 phn: tn, cc thuc tnh v cc tc v
C th p dng stereotype cho lp: <<entity>>,
<<boundary>>, <<control>>...
i tng cng c biu din bng hnh ch nht,
thng thng gm 2 phn: tn i tng + tn lp (c
gch chn), gi tr cc thuc tnh (trng thi ca i
tng)
108
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Biu din lp / i tng
HTMLObject
# alignment: int
+ GetAlignment( ): int
+ toHTML( ): String
HTMLDocument
+ GetTitle( ): String
+ toHTML( ): String
doc : HTMLDocument
- title: String
alignment = MIDDLE
title = A document
109
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
i tng / lp thc th
Biu din cho cc thc th xut hin mt cch t nhin trong
h thng
Thng tin v cc i tng thc th c th phi c lu tr
lu di (database, file...)
Trong UML, c gn stereotype <<entity>>
D nhn din cc thuc tnh ca chng
V d:
i vi h thng ng k mn hc h tn
ch qua WEB, nhn din cc i tng thc
th nh: thng tin SV, thng tin GV, nhm
lp hc, ng k nhm, s tay sinh vin
i vi h thng mail, nhn din cc i
tng thc th nh: hp th, thng ip
mail

+ GetSubject( ): String
+ toString( ): String
# subject: String
# sent: Date
# content: String
Message
<<entity>>
110
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
i tng / lp bin
Thc hin chc nng giao tip vi actor
Thng cha cc phn t hoc iu khin giao din ngi
dng (nt nhn, hp danh sch, tu chn, menu...)
Trong UML, c gn stereotype <<boundary>>
Kh nhn bit cc thuc tnh v tc v trong m hnh phn tch
V d:

i vi h thng ng k mn hc h
tn ch qua WEB, nhn din cc i
tng bin nh: RegisterForm,
StudentForm

i vi h thng mail, nhn din cc
i tng bin nh: MailView,
MailCompose...
MailView
<<boundary>>
111
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
i tng / lp iu khin
C nhim v iu khin cc lp
khc hoc
Nhng lp khng phi l lp thc
th v lp bin
Trong UML, c gn stereotype
<<control>>
Lp bin thng c quan h lin
kt hoc ph thuc vi cc lp
khc
V d:
i tng biu din mt s lnh
thng thng nh ct, dn, thay i
thng s nhn trong hin th ho


Command
<<control>>
+ Execute( )
+ Reexecute( )
+ Unexecute( )
# Do( )
PasteCommand
<<control>>
+ Execute( )
+ Reexecute( )
+ Unexecute( )
# Do( )
BgCommand
<<control>>
+ Execute( )
+ Reexecute( )
+ Unexecute( )
# Do( )
112
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Nhn in cc thuc tnh
Da vo c t ca tng use-case, tm kim cc danh t hoc
nhm danh t lin quan n i tng ang xt
Tr li cu hi: nhng thnh phn no cu thnh i tng
ang xt ?
Lu : cng mt i tng trong cc ng cnh khc nhau chng ta
c th tm c cc thuc tnh khc nhau
Nn xc nh (tuy nhin khng bt buc) trong m hnh phn
tch
Kiu ca thuc tnh: mt s kiu c bn
Bc ca thuc tnh: s t hoc s nhiu
Visibility ca thuc tnh: mc cho php truy xut thuc tnh t bn ngoi
UML: thuc tnh c miu t tng minh hoc thng qua
quan h vi cc lp khc
113
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Xc nh mc truy cp ca thuc tnh
Mc truy cp v phm vi m thuc tnh c th c
tham kho n trc tip
UML nh ngha 3 mc truy xut thuc tnh (visibility)
public (+): c th truy xut thuc tnh t tt c cc v tr khc
nhau
protected (#): bn thn lp ang xt v cc lp con ca n c
th truy xut thuc tnh
private (-): ch c lp ang xt c th truy xut thuc tnh
Thng thng nn t mc truy xut thuc tnh l
private hoc protected (cho cc lp c s), khng nn
l public.
Thuc tnh nn c truy xut thng qua tc v get/set
114
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
V d v nhn din cc thuc tnh
H thng ng k mn
hc h tn ch qua WEB -
Nhn din cc thuc tnh
cho cc i tng:
StudentInfo, LecturerInfo
Ch cc mc truy
cp ca cc thuc tnh
Cc tc v pht sinh
trong khi nhn din cc
thuc tnh nh Get/Set
StudentInfo
<<entity>>
- name: String
- code: Long
- dateOfBirth: Date
- addr: String
- acaYear: Date
- department
- home: String
- socialAid
LecturerInfo
<<entity>>
- name: String
- code: String
- dateOfBirth: String
- addr: String
- degree
- title: String
- division
- health
- experience: Date
+ GetName( ): String
+ GetCode( ): Long
+ GetName( ): String
+ GetCode( ): String
115
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
V d v nhn din cc thuc tnh
H thng ng k
mn hc h tn ch
qua WEB
Nhn din cc thuc
tnh cho cc i
tng:
CourseOffering,
Catalog

CourseOfferring
<<entity>>
- courseName: String
- courseCode: String
- offering: int
- session
- credit: int
- prerequisite
Catalog
<<entity>>
- acaYear: Date
- semester
116
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Nhn din cc tc v
Da vo c t ca tng use-case, tm kim cc ng t
hoc nhm ng t lin quan n i tng ang xt
Ch xem i tng c to ra v b hu b i nh th
no ? Trong thi gian n gi/nhn thng ip ra sao ?
Cc i tng bin c cc tc v nhn lnh t actor.
Xem xt mc truy xut ca tc v tng t nh i vi
cc thuc tnh; cc tc v thng c visibility l + hoc #
Mt s tc v khng xut hin mt cch t nhin trong
m hnh phn tch m hnh thit k s nghin cu k
trch nhim v hnh vi ca tng i tng
117
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Nhn din lp c s
Lp c s (base class) c nhn din sau khi nhn
din cc lp c th
S xut hin ca lp c s lm cho m hnh phn tch c
tnh dng li cao (reusability) v d m rng (scalability)
UML h tr quan h tng qut ho (generalization)
Lp c s tru tng (khng th c th ho to ra i
tng) c tn in nghing
Lp c s c hnh thnh bng cch xc lp cc quan h
tng qut ha ca cc lp c th c chung mt s thuc
tnh v/hay mt s tc v
118
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Nhn din lp c s (tt)
i vi cc i tng/lp thc th, tm cc thuc tnh
chung hnh thnh lp c s
V d
Trong h thng qun l th vin qua WEB: cc i tng Book,
Magazine c mt s thuc tnh chung -> hnh thnh lp LibraryItem
i vi h thng ng k mn hc tn ch qua WEB: lp PeopleInfo
l lp c s ca StudentInfo v LecturerInfo
Chng trnh v b mt a hnh: lp MapCurve l lp c s ca
ng ng mc Isoquant v t gy Fracture
Gia lp c s v cc lp c th c mi quan h thng
qut ha c th biu din c trong UML
119
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Biu din lp c s v quan h tng qut ha
UML nh ngha quan h tng qut ho
gia mt lp tng qu hn vi mt lp
c th hn: lp c th hn c tt c
thuc tnh, tc v v quan h ca lp
kia + nhng thuc tnh/tc v ring
ca n
K hiu: mi tn c u l mt tam
gic nh
Lp tng qut hn nm v pha mi
tn

Isoquant
MapCurve
Fracture
120
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
V d v nhn din lp c s
V d:
Trong h thng
ng k mn hc
tn ch qua WEB,
lp PeopleInfo l
tng qut ho
ca StudentInfo
v LecturerInfo
StudentInfo
<<entity>>
- acaYear: Date
- department
- home: String
- socialAid
LecturerInfo
<<entity>>
- degree
- title: String
- division
- health
- experience: Date
# name: String
# code: String
# dateOfBirth: Date
# addr: String
121
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Nhn din cc mi quan h
Sau khi xc nh cc lp/i tng k c cc i tng c
s, cc quan h gia cc lp cn c xc lp
Trong m hnh phn tch cc i tng/lp c quan h vi
nhau
Mt s quan h m UML h tr
Tng qut ho (generalization)
Lin kt (association)
Bao gp (aggregation)
Cc quan h khc c p dng cho m hnh thit k
Ph thuc (dependency)
C th ho (realization)
122
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quan h lin kt
Quan h lin kt l mi quan h gia 2 i tng/lp
V ngha v k hiu ging nh quan h lin kt trong
m hnh nghip v
p dng cho 2 lp c mi tng quan mang ngha nht
nh
Ch ghi r (nu c th c)
Bc v tn vai tr ca mi lp trong quan h
Tn ca chnh quan h lin kt
Da vo m hnh nhgip v xc nh cc mi quan h lin
kt
123
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
V d - mi quan h lin kt
V d:
Lp Registration
lin kt vi lp
StudentInfo
LecturerInfo
v
CourseOffering
StudentInfo
<<entity>>
Registration
<<entity>>
- acaYear: Date
- semester
LecturerInfo
<<entity>>
CourseOffering
<<entity>>
students
40..80
offering
lecturer
0..1
has
reg 0..1
124
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quan h bao gp
UML nh ngha quan h bao gp l trng hp c bit
ca quan h lin kt, khi m mt u ni lin kt tr
thnh u ni bao gp (aggregation)
Lp u ni bao gp s bao hm lp kia
K hiu ca u ni bao gp l mt hnh thoi t hoc
khng t en
C hai dng bao gp
Chia x (shared): chia x gia cc bao gp khc nhau
Hon ton (composite): s hu y
Xc lp cc mi quan h bao gm v biu din chng ln
lc lp
125
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Quan h bao gp v d
i vi h thng ng k mn hc tn ch qua WEB, lp
Catalog bao gp lp CourseOffering





Ca s giao din bao gp hon ton thanh cun v menu
CourseOffering
<<entity>>
Catalog
<<entity>>
- acaYear: Date
- semester
*
1
Window Menu
*
ScrollBar
126
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Xy dng lc lp
Lc lp (class diagram) biu din cu trc ca mt s
lp v quan h gia chng m t kha cnh tnh (static)
ca h thng
H thng phc tp c nhiu lp cn xy dng nhiu
lc lp, mi lc m t mt phn ca h thng
Lc lp c b sung v hon thin trong m hnh
thit k (thm mt s lp, chi tit cc thuc tnh v tc v, lm r
cc quan h)
Lc lp c xy dng qua cc bc
Xc nh cc lp
Xc nh thuc tnh v tc v ca cc lp
Xc nh cc lp c s v quan h tng qut ho
Xc nh cc quan h lin kt v bao gp
127
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
V d mt lc lp phn tch
mt lc lp ca chng trnh hin th b mt a hnh
Isoquant
<<entity>>
FieldMap
<<entity>>
- name: String
*
+ wrap( ): Region
- altitude: double
MapCurve
- ID: int
- open: boolean
Point2D
- x: double
- y: double
*
points
isoquants
Fracture
<<entity>>
fractures
*
128
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Thit lp PACKAGE
Package l mt c ch t chc cc phn t vo cc nhm c
lin h v ng ngha vi nhau
Package c th import cc phn t t mt package khc
C th ch ra quan h gia cc package
Ph thuc
Tng qut ho
Mc truy xut ca package
Private: ch n v cc package import n c th truy xut ni dung
Protected: ging nh private nhng cho php thm cc package dn xut
Public: cc package khc c th truy xut ni dung
Implementation: khng cho php import, c th p dng cho cc phn t
bn trong package
UML cho php biu din cc PACKAGE v cc mi quan h
PACKAGE
129
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
V d v mt PACKAGE
package UniPeople cha cc lp lin quan n
thng tin con ngi
StudentInfo
- acaYear: Date
- department
- home: String
- socialAid
LecturerInfo
- degree
- title: String
- division
- health
- experience: Date
# name: String
# code: String
# dateOfBirth: Date
# addr: String
PeopleInfo
UniPeople
130
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Tng kt
Phn tch h thng cho OOP theo UML chia
lm 2 bc:
Thu thp yu cu bng m hnh nhgip v
Phn tch v xc nh tnh nng h thng bng m
hnh phn tch
M hnh phn tch nhn din cc i
tng/lp: thc th, bin, iu khin
Nhn din cc thuc tnh v mt s tc v,
tuy nhin cha lm r hnh vi ca chng
( m hnh thit k)
UML h tr mt s phn t: lp, i tng,
lc lp, package
Thit k phn mm
(Software Design)
EC S CA THIT K PHN MM
EGIAO DIN & TNG TC NGI DNG
EPHNG PHP THIT K C IN
EPHNG PHP THIT K OOP
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
132
Thit k phn mm
E Thit k phn mm l cng vic u tin ca
giai on pht trin
E Thit k to ra cc biu din v d kin ca h
thng phn mm cn xy dng t kt qu
phn tch yu cu c th d dng hin thc
sau
E Thit k to ra phng thc v quy trnh
tng tc gia ngi dng vi h thng phn
mm cng nh tng tc gia cc h thng
khc vi phn mm.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
133
Tru tng ha
Qu trnh thit k tri qua nhiu mc tru tng ho khc
nhau
E Mc cao nht: vn cn thit k c m t mt
cch tng qut s dng thut ng hng vn
E Cc mc thp hn: hng n th tc x l chi tit;
kt hp cc thut ng hng n hin thc
E Mc thp nht: vn c m t theo cch c th
hin thc trc tip
E Phn loi tru tng ho: th tc v d liu

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
134
Tru tng ha
E Tru tng ho th tc: l chui cc lnh lin tip
thc hin chc nng no .
V d: m ca (bao gm i n ca, cm ly tay nm, xoay tay
nm, ko cnh ca, i vo); thm mt phn t vo danh sch
c th t (xc nh v tr, chn phn t mi)
E Tru tng ho d liu: l t hp d liu m t mt
i tng d liu (lin h ti i tng thc th trong
UML). V d: hng, chng, cnh ca...
E Mt s ngn ng lp trnh h tr kiu ADT v
template
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
135
Tinh ch
E Tinh ch l qu trnh lm r vn

E Tinh ch v tru tng ho l hai khi nim b tr
nhau: cng tinh ch th cng h thp mc tru tng
ho
E Thit k phn mm: tru tng ha ri tinh ch ho.
E Ti sao?

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
136
Thit k giao din ngi dng
E Phn mm cn c giao din thn thin vi ngi s
dng
E Mt s tiu chun giao din
Thi gian p ng ca h thng: gi tr trung bnh v
lch
Phng tin tr gip ngi s dng: tch hp + add-on
Kim sot thng tin li: hin th c nguyn nhn li v
cch khc phc
t tn nhn: ngn gn v gi nh
E Thng dng cc cng c thit k giao din
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
137
Cng c thit k giao din
Cng c thit k giao din nn c nhng tnh nng sau
E Qun l thit b nhp (bn phm, chut)
E Hiu chnh thng tin input
E Kim sot li v hin th thng bo li
E Cung cp tr gip v hin th thng bo nhc nh
E Cung cp feedback (v d nh t ng hin th k t nh vo)
E Kim sot ca s v vng, kh nng cun
E Thit lp giao tip gia chng trnh vi giao din (vd: hm p
ng)
E Cch ly chng trnh vi cc hm qun l giao din
E Cho php tu bin giao din: mu sc, kch thc,..
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
138
Mt s nh hng v thit k giao din
Mt s hng dn chung
E Nn ng nht (menu, lnh, hin th...)
E Nn cung cp feedback cho ngi dng
E Yu cu xc nhn nhng tc v mang tnh ph hoi (xo file,
account)
E Nn h tr UNDO, REDO
E Hn ch lng thng tin phi ghi nh gia 2 tc v lin tip
E Ti u trong trnh by hp thoi v di chuyn mouse
E Chp nhn li t pha ngi s dng
E Cung cp tr gip trc tuyn
E Dng ng t n gin v ngn gn t tn cc lnh

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
139
Mt s nh hng v thit k giao din
i vi thng tin hin th
E Ch hin th nhng thng tin ph hp vi ng cnh
hin ti
E Dng tn, t vit tt v mu gi nh
E Cho php tng tc trc quan
E To thng bo li c ngha
E Hin th d liu nhiu dng khc nhau trong ca s
E Thit lp biu din tng t
E S dng khng gian mn hnh mt cch ti u
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
140
Mt s nh hng v thit k giao din
i vi thng tin input
E Hn ch input trc tip (c th chn la t mt s d
liu c sn)
E Nn ng nht gia thng tin input v hin th
E Nn cho php tu bin input
E Cm cc chc nng khng thch hp trong ng cnh
hin ti
E Cho php input nhiu dng khc nhau
E cho ngi s dng kim sot dng s kin tng
tc
E T ng tnh cc gi tr input cho ngi s dng nu
c th
Thit k phn mm
Phng php lp trnh cu trc
Module ho chng trnh
Phn chia module
Kin trc phn mm
Thit k d liu
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
142
Thit k phn mm c in
E Cc cng on trong thit k phn mm c
in
Phn chia module
Thit k d liu
Thit k kin trc
Thit k th tc
Thit k giao din
E Phn mm pht trin theo m hnh c in:
quan tm n cu trc v gii thut ca cc module
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
143
PHN CHIA MODULE

E Module l g?
E Khi nim module xut hin khong 4 thp nin tr li
y.
E Phn mm c xy dng bng cch phn chia thnh nhiu
module, sau s c tch hp li
E Phn chia module lm cho vic qun l phn mm khoa hc
hn
E Gi s C(x): phc tp ca x, E(x): cng sc thc hin
x. R rng: nu C(p1) > C(p2) th E(p1) > E(p2).
E Nu phn chia p = p1 + p2 ta thy (mt cch trc quan):
C(p1 + p2) > C(p1) + C(p2) E(p1 + p2) > E(p1) + E(p2)
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
144
Phn chia module nh th no?
E S lng
module ph
thuc vo
phc tp ca
h thng
phn mm
cn xy
dng
E Qu t hoc
qu nhiu
module u
khng tt
S lng module
C

n
g

s

c

b


r
a

Tng cng sc tng module
Cng sc tch hp
Tng cng sc pht trin
Vng ti u
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
145
Kin trc phn mm
E Kin trc phn mm m t cc thnh phn
(component) kin to nn h thng phn mm v s
giao tip gia cc thnh phn

E Thnh phn c th l
Cc module m ngun
Cc file thc thi (*.dll, *.exe, *.class...)
Cc thnh phn ca kin trc h thng: ActiveX control,
bean...
Cc trang HTML, *.asp, *.jsp...
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
146
Kin trc phn mm- S phn cp
E S
phn cp
c
dng
miu t
s phn
r cc
module.

M
b
a c
e
d
k l
m
f
h
g
i j
n o
p q
r
Fan-out
Fan-in
Depth
Width
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
147
Phn chia module hiu qu
E Phn chia module l bt buc trong giai on thit k
E Tuy nhin: phn chia kin trc phn mm thnh mt
b cc module nh th no l tt nht ?
t c vng ti u v tng chi ph qun l
v pht trin tng module
E Tiu ch quan trng nht: tnh c lp chc nng ca
cc module
E Tnh c lp chc nng c o bng 2 tiu chun:
kt dnh (cohesion)
S lin kt (coupling)

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
148
kt dnh

E kt dnh dng o s ph thuc ln nhau
gia nhng tc v (task) ca mt module

E Module c kt dnh cao nht khi n ch
m nhn ng mt tc v kt dnh chc
nng

E Thit k kin trc phn mm: c gng tng
kt dnh
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
149
Cc mc kt dnh
C nhiu mc kt dnh (t thp n cao)
E Ngu nhin: cc tc v khng lin h vi nhau
E Lun l: cc tc v lin quan logic vi nhau
E Nht thi: cc tc v phi c thc thi trong mt
khong thi gian
E Giao tip: cc tc v c s dng chung mt d liu
no
E Th tc: cc tc v phi c thc hin theo mt trt
t nht nh
E Chc nng: ch c mt tc v

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
150
S lin kt

E S lin kt dng o c qu trnh giao tip gia cc
module: giao tip ca module cha nhiu tc v v
nhiu thng s gi th s lin kt cng cao

E Thit k kin trc phn mm: c gng gim s lin
kt

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
151
Cc mc lin kt
C nhiu mc lin kt (t cao n thp)
E Lin kt ni dung: s dng d liu v iu khin ca
module khc
E Lin kt chung: c s dng chung d liu ton cc
E Lin kt ngoi vi: module ph thuc vo mt I/O no

E Lin kt iu khin: thng s truyn nh hng n
iu khin
E Lin kt stamp: truyn cu trc d liu phc tp
E Lin kt d liu: truyn cc thng s n gin
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
152
Nguyn l che du thng tin

E Che du thng tin l mt trong nhng nguyn l quan
trng ca vic phn chia module
E Cc module giao tip vi nhau bng nhng thng tin
tht s cn thit

E Nhng thng tin v th tc v d liu cc b ca mi
module phi c che du khi cc module khc

E Li ch: kim sot c thay i v sa li d dng

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
153
Cc Heuristic trong phn chia module
E Sa li thit k ban u tng kt dnh v gim
s lin kt
E Khi chiu su tng, hn ch fan-out trong khi s dng
fan-in
E Gi cho tm nh hng ca mt module nm bn
trong tm iu khin ca n
E Loi b d tha trong giao tip ca cc module
E u tin cc module tt nh, hn ch cc module
nhiu rng buc
E ng gi cc module t c tnh kh chuyn
(portability)
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
154
Thit k d liu
E Tm kim biu din lun l cho cc phn t d liu
c nhn din trong giai on phn tch yu cu
E Thit k cc cu trc d liu ca chng trnh v c s
d liu
E Thc hin tinh ch tng bc
E Cc tiu ch thit k h c s d liu
Khng d tha d liu
Ti u ha khng gian lu tr
E Chun ha c s d liu bng lc ERD v dng
chun 3

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
155
Cu trc d liu
Cu trc d liu l thit k c s d liu ng tron h
thng
E Cu trc d liu m t s t chc, phng thc truy
xut, mc lin kt v cc x l khc ca thng tin
E D liu n l dng cu trc d liu n gin nht ch
bao gm mt phn t thng tin m c th c truy
xut bng mt danh nh
E Mt s dng phc tp hn: vector, ma trn, mng
nhiu chiu, danh sch lin kt, hng, chng, cy nh
phn
E c biu din cc mc tru tng ho khc nhau
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
156
M s nguyn tc thit k d liu
E Mt s nguyn tc
E Nhn din c cu trc d liu v tc v truy xut
E Ch s dng t in d liu
E Tr hon thit k d liu mc thp cho n cui giai
on ny
E Che du biu din bn trong ca cu trc d liu
E Pht trin mt th vin cc cu trc d liu + tc v
thng gp
E Nn p dung kiu ADT trong thit k cng nh trong
lp trnh
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
157
Thit k kin trc

E Mc tiu l xy dng s phn cp module t DFD

E t nn mng thit k chi tit th tc v d liu

E Phn bit dng transform v dng transaction trong
DFD

E Thc hin nh x cho tng vng ca DFD tu theo n
l dng transform hay transaction
Xc nh cc module v cc mi lin h theo DFD qu trnh s l
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
158
Dng Transform
E Dng transform bao gm 3 phn: dng i vo, dng
x l v dng i ra

Dong i vao
Dong x ly
Dong i ra
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
159
Dng Transaction
E Dng
transaction bao
gm: dng i
vo, T-center v
cc ng x l
u ra
E T-center: Ch
c mt ng
ra c kch
hot ti mt
thi im
Dng i vo
T-center
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
160
Thit k th tc

E Thit lp thut gii cho cc module kin to sao
cho c th d dng m ho bng ngn ng lp trnh c
cu trc

E C th biu din thut gii bng
Lu thut gii: Flowchart
K hiu dng bng
Ngn ng PDL

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
161
Ngn ng PDL
E Ngn ng PDL vay mn t vng ca ngn ng t
nhin v c php ca ngn ng lp trnh c cu trc.
N c cc tnh cht sau:
E C php cht ch ca cc t kho h tr c t cu
trc, khai bo d liu, phn chia module
E C php t do ca ngn ng t nhin gip miu t x
l
E Phng tin m t d liu n cng nh d liu t
hp
E C ch nh ngha chng trnh con v phng cch
gi
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
162
Ngn ng PDL V d
procedure AnalyzeTriangle( a, b, c: in real; type: out string)
begin
sort a, b, c so that a >= b >= c;
if ( c > 0 and a < b + c )
if ( a = c )
type := Equilateral
else
if ( a = b or b = c )
type := Isosceles
else
if ( a*a = b*b + c*c )
type := Right
else
type := Scalene
else
type := Error
end

Thit k phn mm
UML
Lc cng tc
Lc tun t
Lc trng thi cc lp/i tng
Lc hnh ng
Hon chnh lc lp
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
164
Gii thiu
E Giai on thit k quan tm n HOW:
Th t cc thng ip trao i, thng s ca thng ip
Thut gii ca tc v p ng
Cu trc d liu cho cc thuc tnh
Framework (console, document/view, 3-tier...)
E Thit k cng chu nh hng t:
Ngn ng lp trnh v th vin lp trnh (H tr Vector,
List, Map... hay khng ? H tr template hay khng ?...)
Kin trc h thng (COM, CORBA hay EJB)
Thit lp m hnh ng (dynamic modeling) v chi tit
ho m hnh tnh
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
165
Khi nim m hnh ng
E Lc lp ch m t kha cnh tnh ca h thng
E Hnh vi ca h thng c m t bng m hnh ng
bao gm
Tng tc gia cc i tng: cng tc hay trnh t
Trng thi ca i tng/lp
Qu trnh hot ng ca lp/i tng
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
166
Tng tc gia cc i tng
E i tng tng tc vi nhau (interaction) bng cch
gi/nhn kch thch (stimulus)
E Actor cng c th gi kch thch n i tng
E Kch thch khin mt tc v thc thi, mt i tng
c to ra hay hu i, hoc gy ra mt tn hiu
E Thng ip (message) l c t ca kch thch
E Cc loi thng ip
n gin
ng b
Bt ng b
Tr v ca gi hm
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
167
S cng tc Lc cng tc
E Cng tc (collaboration) nh ngha tp hp
cc thnh phn tham gia v quan h gia
chng
E Cc thnh phn tham gia l vai tr m i
tng/lp ng vai khi tng tc vi nhau
E Cc vai tr ca i tng thng ch c ngha
i vi mt mc ch no
E Lc cng tc (collaboration diagram) c
thit lp c th ho mt use-case hoc mt
tc v
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
168
Lc cng tc
E Lc cng tc l mt th lin kt cc vai tr ca
cc i tng hnh thnh nn cc chc nng ca h
thng (cc usecase)
E Mi cnh lin kt 2 vai tr c biu din bng mt
on thng
E Tng tc c th hin bng gi/nhn thng ip
E Hai vai tr lin kt vi nhau khi c trao i thng ip
E Mi thng ip c th hin bng mi tn (nh
miu t) cng vi phn c t
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
169
Lc cng tc (tt)
E Cc thng ip c nh s theo kiu phn
cp
3.4.2 xy ra sau 3.4.1 v c hai c lng (nested) trong 3.4
3.4.3a v 3.4.3b xy ra ng thi v c lng trong 3.4
E C php tng qut ca thng ip
precedessor guard-condition sequence-expression return-
value := message-name argument-list
E V d: 2/ 1.3.1: p := find(specs)
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
170
Lc cng tc (tt)
E Lc cng tc c th c thit lp mt trong 2
dng:
Dng c th: mi vai tr c biu din bng mt k hiu
ca i tng c th, cc thng ip c trao i trn cc
ng lin kt
Dng c t: m t cc lp; cc ng lin kt c nh x
vo cc thng ip
E Thit lp lc cng tc gip c th ho (realize) cc
use-case v nhn din thm mt s tc v ca cc i
tng/lp phn tch

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
171
Lc cng tc V d
V d: lc cng tc mc c th cho use-case
Login ca h thng ng k mn hc tn ch qua WEB
: People
: LoginForm
: Database
1: login(uname,pswd)
1.2 [succ = true]: welcome
1.1: succ := Verify(uname,pswd)
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
172
Lc cng tc v d 2
V d: lc
cng tc mc
c th cho
use-case
Registers
course ca h
thng ng k
mn hc tn
ch qua WEB

regForm : RegisterForm
: Student
: Database
: Registration
3.1: reg := FetchReg(crsOffering)
3.3: SetReg(reg)
3.2: AddStudent(code)
: LoginForm
1: submit(uname, psswd)
1.1: succ := verify(uname, psswd)
1.2 [succ = true]:
welcome
3: submit(crsOffering)
3.4: beSuccessful 2.1: create
2: register
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
173
Miu t trnh t
E Lc cng tc miu t s tng tc theo kha
cnh khng gian
E nhn mnh trnh t ca tng tc dng lc
tun t (sequence diagram)
E Lc tun t miu t cc i tng tng tc
vi nhau theo thi gian sng ca n
E Cc thng ip c trao i theo trnh t thi
gian
E Cc mi lin kt khng c th hin trong lc

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
174
Lc tun t
E Lc tun t c 2 dng
Dng tng qut: th hin c vng lp v r nhnh
Dng c th: miu t mt kch bn c th
E Thi gian sng ca mi i tng c m t theo mt
ng thng ng
E Thng thng thi gian tri theo chiu t trn xung di
E t khi quan tm n khong thi gian, thng ch quan tm
n trnh t m thi
E Thanh hnh ch nht m t s thc thi ca mt tc v
p ng li thng ip gi n. di ca thanh ch nht
phn nh thi gian thc thi ca tc v v tnh cht lng
nhau (nested) gia chng
E Cc dng text ph tr (m t tc v, rng buc thi
gian...) c vit l tri
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
175
Lc tun t - V d
E V d: lc tun t dng tng qut
: People
ob1 : C1
new( )
ob2 : C2 ob3 : C3
[x<0] op2( )
[x>=0] op3( )
ob4 : C4
op5( ob3 )
op4( y )
display( )
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
176
Lc tun t - V d
E Lc tun t vi cc ghi ch rng buc thi gian
: Operator
:Computer
print(ps-file )
:PrinterServer :Printer
print(ps-file)
print(ps-file)
a
{b - a < 5 seconds}
b
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
177
Lc tun t - V d
E V d: lc tun t dng c th cho use-case Login
ca h thng ng k mn hc tn ch qua WEB
: Database
: People
: LoginForm
1: submit(uname, psswd)
1.1: verify(uname, psswd)
1.2: welcome
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
178
Lc tun t - V d
Lc tun
t dng
c th
cho use-
case
Register
courses
: Student
regForm :
RegisterForm
: Database : Registration : LoginForm
1: submit(uname, psswd)
1.1: verify(uname, psswd)
1.2: welcome
2: register
2.1: create
3. submit(crsOffering)
3.1: reg := fetchReg(srcOffering)
3.2: addStudent(code)
3.3: setReg(reg)
3.4: beSuccessful( )
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
179
Trng thi ca i tng
E Chun UML a ra lc trng thi biu
din hnh vi ca mt phn t bt k bng cch
ch ra p ng ca n i vi cc s kin bn
ngoi
E Thng thng lc trng thi c p dng
cho i tng/lp biu din hnh vi ca lp
E Trng thi ca mi i tng (nh ngha gc
?) t nhiu s b thay i trong sut chu k
sng ca i tng
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
180
Trng thi ca i tng
E Trong UML k hiu ca trng thi l mt hnh ch
nht trn gc v c chia lm nhiu phn phn cch
nhau bng cc on thng nm ngang:
Phn tn
Phn miu t cc hnh ng bn trong

Typing Password
entry / set echo visible
exit / set echo normal
character / handle character
help / display help
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
181
Trng thi ca i tng
E Tn trng thi l duy nht trong lc ; c th khng
c tn (trng thi v danh)
E Cc hnh ng bn trong: cc hnh ng hoc tc v
c thc hin khi i tng nm trng thi ang
xt; c c php nh sau
action-label / action-expression
E Mt s nhn hnh ng (action-label) c quy c
trc:
entry: thc hin hnh ng ti thi im bt u trng thi
exit: thc hin hnh ng ti thi im kt thc trng thi
do: thc hin hnh ng sut trng thi hoc cho n khi kt thc n
include: triu gi mt my trng thi con khc
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
182
Trng thi ca i tng
E Cc nhn hnh ng khc ch ra s kin kch hot
hnh ng tng ng trong biu thc hnh ng
(action-expression)

E C php ca biu thc hnh ng
event-name ( parameter-list ) [guard-condition] /
action-expression

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
183
Lc trng thi
E Trng thi bt u: khi i tng c to ra hoc
trng thi tng hp c xc nh; k hiu


E Trng thi kt thc: khi i tng b hu b hoc trng
thi tng hp tr nn khng xc nh; k hiu


E Trng thi tng hp (composite) c phn r thnh
nhiu trng thi con ng thi hoc cc trng thi con
loi tr nhau
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
184
Lc trng thi trng thi tng hp
E Phn r trng thi tng hp Running
Running
Forward Backward
Slow Fast
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
185
Lc trng thi
E S kin (event) kch hot dch chuyn trng thi, c
th l
Mt iu kin tr nn ng (ch khc vi guard-condition)
Mt i tng nhn tn hiu t i tng khc
Mt php gi tc v
Mt khong thi gian tri qua k t mt s kin no
E C php ca s kin: event-name ( parameter-list )
E S kin c tm vc thuc v package cha lp ang
m t lc trng thi, ch khng ch thuc v ring
lp
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
186
Lc trng thi Dch chuyn
E Dch chuyn trng thi l quan h gia hai trng thi
theo i tng ang trng thi th nht s
chuyn sang trng thi th hai ng thi s thc hin
mt s hnh ng khi s kin tng ng xy ra v
tho mn mt s iu kin nht nh
E c k hiu nh mt mi tn hng t trng thi
ngun n trng thi ch v c gn nhn
E Nhn c c php: event-signature [ guard-condition
] / action-expression
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
187
Lc trng thi V d
E lc trng thi ca lp Message
Composed
entry/ assign ID
exit/ fill date
on char/ handle character
compose command
Stored
entry/ save into folder
Read
entry/ convert to rich text
unhightlight
focus
hightlight
read command / recover( id )
logout
save command
re-fwd cmd / quote / append subject
Sending
do/ send( repc )
send command[ recipents != null ] / parse
sending done
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
188
Lc trng thi v d 2

import / map := create(file)
Dirty
entry/ render
No map
do/ load map
do/ load image
run
import failed
Modeling
do/ model(map, param)
Saved
entry/ render
do/ store
modeling done
exit command / save
model command
save command
import command[ file valid ]
map loaded[ image invalid ]
exit command
image loaded
viewing command
exit command
import / map := create( file )
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
189
Lc hot ng
E Lc hot ng (activity diagram) l mt bin th ca lc
trng thi trong trng thi l s thc thi mt hnh ng v s
dch chuyn c kch hot khi hnh ng hon tt
E c dng m t mt th tc hay thut gii tp trung vo
cc hnh ng
E Mi hnh ng c k hiu bng hnh v nh sau



E Quyt nh r nhnh: hnh thoi c mt ng vo v nhiu nhnh
ra, mi nhnh c gn mt guard-condition
E Cc nhnh ra c nhp li bng mt hnh thoi khc
E Mi ng bi (swimlane) i din mt lp hoc mt actor
work
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
190
Lc hot ng v d
lc
hot
ng
cho tc
v
submit
ca
LoginF
orm
Show input for username
and password
Reject
[ psswd invalid ]
Welcome
[ psswd valid ]
Verify
Database LoginForm
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
191
Lc hot ng v d 2
Lc hot
ng cho tc
v submit
ca
RegisterForm
Read course
offerings
submit
Show
success
Look for
registration
Fetch
registration
Create
registration
Update
registration
Add
student
[ reg found ]
[ reg not found ]
Registration Database RegForm
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
192
Nhn din mt s lp thit k
E M hnh thit k phn no chu nh hng t ngn
ng lp trnh, th vin h tr, framework, h iu
hnh v loi my tnh
E Mt s lp s xut hin khi p dng nhng yu t trn
Ngn ng lp trnh: template, CObject...
Th vin h tr: lp Date, Time, List, Map, vector,
iostream
Framework: Applet, Panel, CDocument, CView,
HttpServlet
H iu hnh: cc lp thao tc file, m cu ni network,
cc phn t giao din.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
193
Nhn din mt s lp thit k
E Mt s lp khc xut hin lm chc nng duyt
(iterate) mt lp khc hay thc hin cc tnh ton
phc tp...
E S dng trc tip cc lp do th vin hay ngn ng
cung cp, hoc
E To ra lp mi bng cch tha k hay tch hp cc lp
c sn,
v d CArray<Isoquant, Isoquant&>
E B sung cc lp mi vo lc lp ng thi cp
nht cc mi quan h mi (bao gp, ph thuc)
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
194
c t chi tit cc thuc tnh
E Trong m hnh phn tch
cn phi ch r kiu
(hoc cu trc d liu)
v mc truy xut ca
cc thuc tnh
E C th chn mt lp
cung cp bi th vin
lp trnh c th ho
kiu hay cu trc d liu
b sung lp ca th
vin v quan h bao
gp vo lc lp
+ GetSubject( ): String
+ toString( ): String
# subject: String
# content: String
Message
<<entity>>
CDate
sent
1
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
195
Nhn din chnh xc cc tc v
E Cc lc m t hnh vi (cng tc, tun t, trng
thi, hnh ng) gip nhn din chnh xc cc tc v
ca cc lp
E Da vo cc thng ip hay hnh ng xc nh
signature ca cc tc v

E V d: nhn din mt tc v ca lp Database
fetchStudent( code: Long ): StudentInfo;
setReg( reg: Registration );
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
196
Nhn din chnh xc cc tc v (tt)
E V d: nhn din mt tc v ca lp ChildView
render( );
store( );
load( );
model( map: FieldMap, param );

E V d: nhn din mt tc v ca lp LoginForm
submit( uname: String; psswd: String );
makeWelcome( );
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
197
Hon chnh lc lp
E Cp nht cc lp mi, thuc tnh, tc v v cc mi
quan h mi
E UML nh ngha quan h ph thuc (dependency)
gia 2 lp hoc package: thay i mt lp, package
ko theo thay i lp, package kia
E K hiu ca quan h ph thuc l mi tn t nt:
lp, package pha ui mi tn ph thuc vo lp,
package pha u mi tn
E Mt s stereotype quy c trc: <<call>>,
<<instantiate>>, <<import>>, <<refine>>,
<<realize>>, <<derive>>, <<trace>>
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
198
Hon chnh lc lp V d
E thm lc lp cho h thng ng k mn hc
+ submit(offering:
CourseOffering)
+ beSuccessful( )
LoginForm
<<boundary>>
+ submit(uname: String, psswd:
String)
+ makeWelcome( )
RegisterForm
<<boundary>>
Database
+ fetchStudent(code: Long):
StudentInfo
+ setReg(reg: Registration)
<<call>
>
<<call>
>
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
199
Hon chnh lc lp v d 2
MapIterator
# setBound(b: int)
+ current( ): Item
+ operator++()
+ operator--()
+ Last( )
+ First( )
MapIterator<Isoquant*
>
Item

IsoquantIterator
+ current( ):
Isoquant*
MapIterator<Fracture*>
FractureIterator
+ current( ):
Fracture*
FieldMap
<<entity>>
<<friend>>
# map
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
200
Hon chnh lc lp - package
E Ch s dng package t chc cc phn t lin
quan vi nhau: cc lp v bn a hnh, v thng
tin sinh vin/ging vin, v ca s giao din, v cc
servlet
E Cc package th hin kin trc phn mm, thng
thng chu nh hng t framework
(Document/View, 3-tiers...)
E Mi package cha mt hoc mt vi lc lp,
trong c th tham chiu n mt s lp thuc cc
package khc
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
201
E M hnh thit k bao trm c kha
cnh tnh v ng ca h thng phn
mm cn xy dng
E UML h tr mt s lc gip m
t kha cnh ng: cng tc, tun t,
trng thi, hnh ng
E Miu t chnh xc thuc tnh v tc
v, b sung mt s lp thit k
hon thin kha cnh tnh
E Thit lp cc package to thnh kin
trc phn mm
Cc thnh phn
Cc thit b


HIN THC V TRIN KHAI
Cc thnh phn
Cc thit b
203
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Gii thiu
Cn phi xy dng chng
trnh chy c t kt qa ca
giai on thit k
Cc lp s c c th ho
vo cc thnh phn phn mm
nh th no v bng ngn
ng lp trnh g ?
Chng trnh s c ci t
ra sao trn ti nguyn tnh
ton ?

204
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Thnh phn (Component)
Thnh phn (component) biu din mt phn
hin thc no ca h thng
Mt s stereotype quy c trc:
<<file>>: m ngun hay d liu
<<executable>>: chng trnh chy c
<<library>>: th vin lin kt tnh hay ng
<<document>>: ti liu c thit lp trong qu trnh
pht trin
<<table>>: bng c s d liu
205
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Thnh phn (Component)
Thnh phn phn mm (software component)
bao gm
M ngun: *.cpp, *.c, *.pas, *.java, *.bas
M i tng: *.obj
M nh phn: *.class
Chng trnh thc thi: *.dll, *.exe
Thnh phn phn mm c th tn ti trong thi
gian bin dch, thi gian lin kt chng trnh
hoc thi gian thc thi
206
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Lc thnh phn
Lc thnh phn l mt th gm cc thnh phn
kt ni vi nhau bi quan h ph thuc
K hiu ca thnh phn c th bao gm mt s hnh trn
biu din cc giao tip v cha cc lp m n c th ho
Component-name
Interface-name
Class-name
207
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Lc thnh phn V d
V d: lc thnh phn th hin mt s module m
ngun ca chng trnh hin th b mt a hnh

GeoMap
<<file>>
MapCurve
<<file>>
FieldMap
<<file>>
Isoquant
Fracture
MapCurve
FieldMap
208
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Lc thnh phn V d
V d: lc thnh phn th hin thi gian thc thi ca
chng trnh hin th b mt a hnh
IFL0.dll
<<library>>
FieldVis.exe
<<executable>>
Cosmo3D12.dll
<<library>>
cbsLoader12_dp.dll
<<library>>
op12_dp.dll
<<library>>
MFC42.dll
<<library>>
209
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Lc thnh phn V d
V d: lc thnh phn ca h thng ng k mn hc
Index.shtml
<<page>>
Login
<<file>>
Register
<<file>>
People
<<file>>
LoginForm
Database
RegisterForm
PeopleInfo
StudentInfo
LectureInfo
210
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Gn cc lp vo cc thnh phn
Khi thit lp cc thnh phn m ngun, ch gn
(bind) cc lp thit k v chn ngn ng lp trnh
Gn lp FieldMap vo thnh phn FieldMap (C++)
Gn lp MapCurve, Isoquant v Fracture vo thnh
phn MapCurve
Gn lp PeopleInfo, StudentInfo, LectureInfo v
Database vo thnh phn People (Java)
Gn lp v LoginForm vo thnh phn Login (Java)
K hiu ca thnh phn cha k hiu ca lp
c gn
Ch : component package
211
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Sinh m ngun Sourse code generation
Da vo c t lp vit m cho tng
thnh phn m ngun theo ngn ng
lp trnh chn
Vit m sn l cng vic hi nhm
chn c th c t ng ho bi
cc cng c CASE

212
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Node trin khai
Node l mt thit b vt l c kh nng tnh ton, bao
gm: my tnh, my in, thit b qut card, router
Node c m t c 2 dng: dng lp v dng instance
Node c k hiu nh hnh hp ba chiu
Cc minh d ca thnh phn c th sng trong mt minh
d node
Dell
Pentium III 600
Server of 600:
Dell Pentium III
600
213
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Kt ni gia cc node
C th ch ra quan h lin kt gia cc node m t cu
hnh kt ni (connection)
:Pentium II
450
:Silicon
Graphics
:Sun Ultra1
:Pentium III
600
<<TCP/IP>>
<<TCP/IP>>
214
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Lc trin khai
Lc trin khai cho php miu t cch ci t cc
thnh phn thc thi trn cc node
V d: h thng ng k mn hc qua WEB

Client: Pentium MMX 200
Java WEB Server:
Pentium III 600
<<TCP/IP>>
Index.shtml
<<page>>
CheckApplet
<<applet>>
215
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Lc trin khai
V d: chng trnh hin th b mt a hnh
IFL0.dll
<<library>>
FieldVis.exe
<<executable>>
Cosmo3D12.dll
<<library>>
cbsLoader12_dp.dll
<<library>>
op12_dp.dll
<<library>>
MFC42.dll
<<library>>
WindowsNT workstation:
Pentium II 450
216
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
Tng kt
Hin thc v trin khai tp trung vo
xy dng cc thnh phn chy c
hoc cc th vin, module m
ngun, trang HTML, dng nh phn...
Cc thnh phn m ngun c th
ho mt s lp thit k v c th
c vit bng cc ngn ng lp
trnh khc nhau
Cui cng trin khai cc thnh phn
chy c trn cc thit b tnh ton

Kim nghim phn mm
K thut kim tra phn mm
Kim tra cc ng thc thi c lp
Chin thut kim tra phn mm
Alpha, Beta testing
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
218
Ti sao phi kim tra phn mm
E Mc d c t ng ho mt
phn bi cc cng c CASE, rt
nhiu cng on trong qu trnh
sn xut phn mm vn c thc
hin bi con ngi
vn c kh nng xy ra li.
E Li c th xy ra trong tt c cc
giai on: phn tch yu cu, thit
k, m ho
Do phi kim nghim chng
trnh trc khi chnh thc s dng

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
219
Mt s quan im khi nim
E Kim nghim phn mm l hot ng thc thi
chng trnh vi mc ch tm ra li ph phn,
khng phi mang tnh xy dng
E Phn loi:
Kim nghim black-box: kim tra cc chc nng c th
ca phn mm, khng quan tm cu trc bn trong,
thng p dng cho nhng module ln.
Kim nghim white-box: kim tra cu trc iu khin
bn trong chng trnh, thng dng cho nhng nhng
module nh.
E Mi loi kim nghim c kh nng tm ra nhng nhm
li khc nhau nn kt hp c hai
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
220
Mc tiu ca kim nghim phn mm
E Mc tiu ca kim nghim phn mm l tm ra li (nu
c) vi chi ph thp nht.
E Kim nghim phn mm gip
Pht hin c li trong chng trnh (nu c).
Chng minh c phn mm hot ng ng nh
thit k.
Chng minh phn mm c vit ng
Chng minh c phn mm p ng yu cu ca user
Gp phn chng minh cht lng ca phn mm.

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
221
Mc tiu ca kim nghim phn mm
E Qu trnh kim nghim phn mm l tt khi
C kh nng tm ra li cao.
Khng d tha.
Bit chn lc: ch kim nghim nhng phn no c kh
nng tm ra li c trng.
Khng qu phc tp cng khng qu n gin.

E Ch : Kim nghim phn mm khng khng nh
c phn mm khng cn khim khuyt, ch khng
nh c phn mm c li v gip gim thiu li
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
222
Cc nguyn l kim nghim phn mm
E Vic kim nghim nn hng v yu cu ca khch
hng
E Nn c hoch nh trc mt thi gian di.
E p dng nguyn l Pareto (nguyn tc 80-20):
80% li c nguyn nhn t 20% cc module c lp v
kim tra nhng module kh nghi nht.
E Nn tin hnh t nh n ln: bt u t nhng
module ring bit ri sau tch hp cc module li.
E Khng th kim nghim trit mt phn mm.
E Nn c thc hin bi nhng i tng KHNG tham
gia vo qu trnh pht trin phn mm.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
223
Phng php kim nghim Test case
E Thit lp cc test case vn hnh th - so snh kt
qu
E Khi nim test-case
D liu input
Thao tc kim nghim
D liu output hay p ng mong i ca chng trnh
E Test-case cho kim nghim black-box: ch yu da
vo cc yu cu c th ca chc nng phn mm.
E Test-case cho kim nghim white-box: ch yu da
vo cu trc iu khin ca phn mm vn t
ra: s lng test-case cn thit l qu ln
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
224
Kim nghim cc ng c lp c bn
E Kim nghim white-box da vo cu trc iu khin
ca thit k th tc sinh cc test-case vi tiu ch
Kim nghim cc ng c lp c bn l mt trong
nhng phng cch kim nghim white-box
Bo m s php th l t nht pht hin cc li
Tt c cc ng thc thi c lp c th qua t nht
mt ln
Th cc iu kin r nhnh c 2 nhnh true v false
Th qua vng lp ti bin cng nh bn trong
Th qua cu trc d liu m bo tnh ton vn ca n
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
225
th dng chy
E Mi node hnh trn biu din mt hoc mt vi tc v
(hi khc so vi lu thut gii)
E Cnh c hng miu t ng thc thi

E th dng chy c xy dng t lu thut gii
sequence if while
case
until
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
226
Xy dng th dng chy V d
1
2
3
4
5
6
8 7
11
10
9
1
2,3
4,5
6
7 8
9
10
11
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
227
Xy dng th dng chy V d
procedure: DoSomething
1: do while x=0
2: if y=0 then
3: z=0;
4: elseif k=0 then
5: z=1;
6: else x=1;
7: endif;
endif;
8: enddo
9: end

1
2
3
4
6 5
7
8
9
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
228
Xy dng th dng chy
E Phi phn r tt c cc iu kin phc tr thnh cc
iu kin n
E Mi node m t mt iu kin n c gi l
predicate
b
y
x
a
if a and b then y else x
b
x
a
while a or b do x
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
229
Xy dng th dng chy v d
E procedure AnalyzeTriangle
1
2
3
4
6
5
7
8
9
c > 0
a<b+c
a = c
a = b
b = c
a
2
=b
2
+c
2

11
10
12
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
230
Cc ng c lp c bn
E ng thc thi?
E ng thc thi c bn
E Cc ng thc thi c lp c bn
T node bt u n node kt thc, cc ng thc
thi c bn c lit k theo mt th t no m
bo rng: ng ang lit k t nht i qua mt cnh
cha c duyt qua bi cc ng lit k trc
E Tng s ng thc thi c bn c lp nhau c tnh
bng
V = P + 1; trong P l s node phn nhnh
(predicate)
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
231
Cc ng c lp c bn v d
E i vi chng trnh con
DoSomething
E Tng s ng :
V = 3 + 1 = 4
E ng 1: 1-9
E ng 2: 1-2-3-8-1
E ng 3: 1-2-4-5-7-8-1
E ng 4: 1-2-4-6-7-8-1
Ch : du 3 chm () mang ngha
khng quan tm, t c th i
theo bt k cnh no bi v cc
cnh sau c duyt qua ri

1
2
3
4
6 5
7
8
9
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
232
Cc ng c lp c bn v d
E i vi chng trnh con
AnalyzeTriangle
E Tng s ng :
V = 6 + 1 = 7
E ng 1: 1-3-12
E ng 2: 1-2-3-12
E ng 3: 1-2-4-5-12
E ng 4: 1-2-4-6-7-12
E ng 5: 1-2-4-6-8-7-12
E ng 6: 1-2-4-6-8-9-10-12
E ng 7: 1-2-4-6-8-9-11-12
1
2
3
4
6
5
7
8
9
c > 0
a<b+c
a = c
a = b
b = c
a
2
=b
2
+c
2

11
10
12
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
233
Thit lp cc test case
E Thit lp mt test-case cho mi ng thc thi c bn
E Da vo thut gii tm ra mt d liu input, sau tnh
ra d liu output hay p ng mong i ca thut gii
E Ch : c th khng to ra c test-case cho mt ng
thc thi no
E V d Sinh test-case cho chng trnh con AnalyzeTriangle
E Test-case cho ng 1:
Input: a = 3, b = 2, c = 0
Output mong i: type = Error
E Test-case cho ng 2:
Input: a = 17, b = 5, c = 4
Output mong i: type = Error
E Test-case cho ng 3:
Input: a = 6, b = 6, c = 6
Output mong i: type = Equilateral
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
234
Tng kt
E Mc tiu ca kim nghim phn mm l tm ra li
E Hai loi kim nghim: white-box v black-box.
E Kim nghim cc ng c lp c bn dng trong
kim nghim white-box, bao gm cc bc
Thit lp th dng chy
Lit k cc ng thc thi c lp c bn
Sinh cc test-case cho cc ng thc thi
Thc hin cc test case v kim tra kt qu
E Kim nghim Black-box thng dng trong bc kim
nghim tnh nng ca phn mm
Chin thut kim nghim
phn mm
+Verification & Validation
+Unit test & Integration test
+Kim nghim hng i tng
+Ngh thut g ri
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
236
Khi nim
E Chin thut kim tra phn mm tch hp cc phng php
to ra test-case tr thnh mt chui cc bc c th t c th
kim nghim phn mm thnh cng vi chi ph thp.
E Bao gm cc cng vic
Lp k hoch kim nghim
Sinh test-case
Thc hin kim nghim, thu thp kt qa v nh gi
E Verification: cc hnh ng m bo cho phn mm c hin
thc ng theo mt chc nng c th no Are we building
the product right ?
E Validation: cc hnh ng m bo cho phn mm c xy
dng theo ng yu cu ca khch hng Are we building the
right product ?
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
237
Mt chin thut kim nghim ph bin
Phn tch ton b h thng
Kim nghim ton b h thng
Phn tch yu cu
Thit k
M ha Kim nghim n v (module)
Kim nghim tch hp
Kim nghim tnh nng
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
238
Mt chin thut kim nghim ph bin
E Bt u ti tng module ri tch hp ln dn n ton
b h thng.
E Cc k thut khc nhau c s dng thch hp ti cc
giai on khc nhau.
E Kim nghim c th c tin hnh bi ngi pht
trin phn mm, nhng i vi cc d n ln th vic
kim nghim phi c tin hnh bi mt nhm c
lp.
E Kim nghim v sa li l cc hot ng c lp
nhng vic sa li phi ph hp vi cc chin thut
kim nghim.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
239
Kim nghim tng module
E Tin hnh kim nghim trn tng n v nh nht ca
phn mm, l module m ngun, sau khi thit
k, m ho v bin dch thnh cng
E Thng dng k thut kim nghim white-box
E C th tin hnh kim nghim cng lc nhiu module.
E Mt s vn trong vic xy dng cc test case
Test case no?
D liu u vo v u ra c t u?
Tnh c lp/ph thuc hot ng ca cc module
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
240
Kim nghim module
Module
.
~~~~~~
~~~~~~
~~~~~~
interface
local data structures
boundary conditions
independent paths
error handling paths
test- cases
driver
stub
stub
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
241
Kim nghim module
E Mi module m ngun khng phi l mt chng trnh
hon chnh v i khi phi gi cc module cha c
kim nghim khc c th phi thit lp driver
v/hoc stub: ph tn kh ln (70%)
E Driver l mt chng trnh chnh c nhim v nhn
d liu kim nghim, chuyn d liu xung cho
module kim tra v in ra cc kt qu kim tra
tng ng.
E Stub thay th cc module c gi bi module ang
kim tra.

Lm th no gim cc chi ph to driver hay stub
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
242
Kim nghim tch hp
E Tng module m ngun hot ng ng. Liu khi
kt hp chng li thnh mt nhm ln chng c hot
ng ng khng ?
E Phi tin hnh kim nghim tch hp pht hin li
lin quan n giao tip gia cc module.

E Trnh tch hp kiu big-bang: tt c cc module c
kt hp li, v ton b chng trnh s c kim
nghim mt lc
E Nn tch hp tng dn: t trn xung hoc t di ln
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
243
Tch hp t trn xung
E Module chnh c dng nh l driver, v stub c
thay th bi cc module con trc tip ca ca module
chnh ny.
E Tu thuc vo cch tch hp theo chiu su (depth-
first) hoc chiu ngang(breath-first), mi stub con
c thay th mt ln bi module tng ng kim
nghim.
E Tin hnh kim nghim khi c s thay th mi
E Tin hnh kim nghim hi quy pht hin cc li
khc trong tng module
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
244
Tch hp t trn xung
E Tch hp kiu t trn xung theo hnh
thc depth-first
E Tit kim c chi ph to cc driver
M1
M3 M4
M7
M2
M5 M6
M8
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
245
Tch hp t di ln
E Cc module mc thp nht c kt hp thnh cc
nhm th hin mt chc nng con c bit ca phn
mm.
E Mt driver c to ra thao tc cc test-case
E Cc module c kim nghim theo tng nhm
(Cluster): l nhm cc module m module pha trn
cn n khi kim nghim
E Driver c b i v cc nhm module c kt hp
dn ln pha trn trong s phn cp ca chng
trnh.
E Tit kim c chi ph to cc stub
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
246
Tch hp t di ln
Mo
Ma Mb
D2 D1 D3
c
l
u
s
t
e
r

1

cluster 2
c
l
u
s
t
e
r

3

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
247
Kim nghim hi quy
E Vic kt hp cc module li vi nhau c th nh hng
n vng lp iu khin, cu trc d liu hay I/O chia
s trong mt s module
E iu lm l ra mt s li khng th pht hin c
khi tin hnh kim nghim theo n v
Phi kim nghim hi quy khi tch hp
E Kim nghim hi quy c th c tin hnh th cng
bng cch thc hin li cc test-case to ra. Hoc
c th dng mt cng c capture-playback thc
hin t ng
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
248
Kim nghim tnh nng
E Kim nghim tnh nng hiu theo cch n gin
nht l: kim tra cc chc nng ca phn mm p
ng c nhu cu ca khch hng c xc nh
trong vn bn c t yu cu ca phn mm

E p dng k thut black-box

E Kim nghim tnh nng bao gm
Xem xt li cu hnh phn mm theo lc trin khai
Kim nghim alpha
Kim nghim beta
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
249
Kim nghim tnh nng
E Kim nghim alpha
c tin hnh ngay ti ni sn xut phn mm.
Nh pht trin phn mm s quan st ngi s dng
dng sn phm v ghi nhn li nhng li pht sinh sa
cha.
E Kim nghim beta
Phn mm c kim tra bn ngoi phm vi ca n v
sn xut.
Khch hnh trc tip s dng v ghi nhn li bo li
cho nh pht trin sa cha.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
250
Kim nghim hng i tng
E V c bn chin thut kim nghim hng i tng
cng theo th t ging nh kim nghim c in:
Kim nghim n v
Kim nghim tch hp
Kim nghim chc nng
Kim nghim ton b h thng
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
251
Kim nghim hng i tng
E Khng th tch ri tng tc v ca i tng/lp
kim nghim
Tc v c ng bao trong lp
Cc lp con c th override mt tc v no

E Kim nghim n v hng i tng tp trung vo
cc lp kim nghim hnh vi ca lp

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
252
Kim nghim tch hp hng i tng
E Khi nim s phn cp khng cn nhiu ngha
trong chng trnh hng i tng kim nghim
tch hp theo cch khc

E Hai hnh thc kim nghim tch hp hng i tng
Kim nghim trn c s thread: tch hp cc lp to
thnh mt thread phc v cho mt input no ca
chng trnh
Kim nghim trn c s s dng: cc lp client s c
tch hp s dng dch v no cung cp bi cc lp
server
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
253
Kim nghim theo kch bn
E Da vo cc use-case son ra cc kch bn
E V d: mt kch bn cho h thng ng k mn hc
qua WEB
1. Login vi username = e59306547, password = 6547
2. Chn chc nng ng k mn hc
3. Chn 5 nhm mn hc ca 5 mn: CNPM, AI, XLTHS,
PTTK, XLSS trong c 2 nhm trng thi kho biu
4. Nhn nt Submit
Chng trnh phi bo li v lit k 2 nhm b trng thi
kho biu

Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
254
Ngh thut g ri - DEBUG
E G ri l mt qu trnh nhm loi b cc li c pht
hin trong qu trnh kim tra.

E G ri c thc hin nh l mt kt qu ca vic
kim tra: li pht hin c tm kim nguyn nhn
sa li

E C 3 hnh thc g ri: brute force, loi tr nguyn
nhn v theo vt. Nn dng kt hp c 3 hnh thc
ny.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
255
Ngh thut g ri

E G ri l cng vic kh
khn v d gy tm l
chn nn bi nguyn
nhn gy ra li nhiu khi
li m h: do timeout, do
chnh xc, do ch
quan lp trnh...

E Kh nng g ri gn nh
l bm sinh ca mi
ngi
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
256
Brute Force
E L phng php ph bin nht nhng li t hiu qu
nht cho vic pht hin nguyn nhn gy li phn
mm.
E Trit l ca phng php ny l: Hy my tnh tm
ra li.
E C 3 cch thc hin:
Ly d liu trong b nh xem xt.
Dng run-time trace tm li.
Dng lnh WRITE xut d liu cn kim tra ra mn
hnh.
E p dng phng php ny khi tt c cc phng php
khc u tht bi.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
257
Loi tr nguyn nhn
E Phng php ny da trn nguyn tc phn chia nh
phn.
E Cch thc hin:
Khi mt li c pht hin, c gng a ra mt danh
sch cc nguyn nhn c th gy ra li.
Danh sch ny c nghim li loi b dn cc
nguyn nhn khng ng cho n khi tm thy mt
nguyn nhn kh nghi nht.
Khi d liu kim nghim s c tinh ch li tip
tc tm li.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
258
Theo vt

E L mt phng php g li kh ph bin c th dng
thnh cng trong cc chng trnh nh nhng kh p
dng cho i vi cc chng trnh rt ln.

E Cch thc hin: bt u ti dng m ngun c triu
chng li thc hin ln ngc tr li tng dng m
ngun cho n khi tm thy dng gy ra li.

Kt thc mn hc
Chc mng bn hon tt mn hc
Cng Ngh Phn Mm !
Thi cui k ?
Gii thiu-Phn tch
Thit k - Hin thc/trin khai
Kim nghim - UML
= Tt c ni dung

You might also like