Professional Documents
Culture Documents
1 C u trúc d li u ...............................................................................................................1
1.1 C u trúc d li u là gì? ...............................................................................................2
1.2 C u trúc d li u c s ...............................................................................................3
1.2.1 Ki u d li u c s ..............................................................................................3
1.2.2 Ki u có c u trúc .................................................................................................4
1.2.3 Ki u d li u tr u t ng ......................................................................................7
1.3 C u trúc d li u h ng v n ...................................................................................8
1.3.1 C u trúc danh sách .............................................................................................8
1.3.2 Ng n x p..........................................................................................................10
1.3.3 Hàng i ..........................................................................................................11
1.3.4 C u trúc cây .....................................................................................................12
1.3.5 B m .................................................................................................................17
2 Thu t toán......................................................................................................................23
2.1 C s v thu t toán..................................................................................................24
2.1.1 Thu t toán là gì?...............................................................................................24
2.1.2 Thu t toán và c u trúc d li u...........................................................................26
2.2 Các thu t toán .........................................................................................................30
2.2.1 Thu t toán duy t...............................................................................................30
2.2.2 Thu t toán s p x p............................................................................................34
2.2.3 Thu t toán qui..............................................................................................49
2.2.4 X lí xâu kí t ..................................................................................................51
2.2.5 X lí t p ...........................................................................................................55
2.2.6 V hình ............................................................................................................63
2.2.7 th ...............................................................................................................67
2.2.8 Tính toán s .....................................................................................................71
2.2.9 Thu t toán i sánh ..........................................................................................78
2.2.10 Thu t toán x p x và xác su t ........................................................................82
2.3 ánh giá thu t toán .................................................................................................87
2.3.1 ánh giá theo ph c t p tính toán..................................................................87
2.3.2 ánh giá theo tính h p l ..................................................................................88
2.3.3 ánh giá theo bi u di n ....................................................................................88
2.4 Cách thi t k thu t toán...........................................................................................89
3 Thi t k trong ................................................................................................................95
3.1 Thi t k trong là gì? ................................................................................................96
3.1.1 M c ích c a thi t k trong và nh ng m c n l u ý .......................................96
3.1.2 Th t c thi t k trong .......................................................................................97
3.2 Phân ho ch và c u trúc ch c n ng .........................................................................101
3.2.1 Các n v c a vi c phân ho ch và c u trúc ch c n ng ...................................101
3.2.2 Các th t c phân ho ch và c u trúc ch c n ng................................................103
3.2.3 Ph ng pháp thi t k có c u trúc ....................................................................109
3.3 Thi t k d li u v t lí ............................................................................................112
3.3.1 Th t c thi t k d li u v t lí ..........................................................................112
3.3.2 T ch c d li u v t lí......................................................................................117
3.4 Thi t k vào ra chi ti t...........................................................................................120
3.4.1 Thi t k d li u vào chi ti t ............................................................................120
3.4.2 Thi t k màn hình...........................................................................................123
2 Ch ng 1 C u trúc d li u
c ích c a ch ng
Vi c ch n c u trúc d li u thích h p nh t và th t c mô
d li u là m u ch t t o ra ch ng trình hi u qu ,
hi u.
Ch ng này mô t các c u trúc d li u a d ng b n c n
m c xem nh b c u tiên h c l p trình.
Ki u nguyên
Ki u th c
Ki u n
Ki u kí t
Ki u d li u
Ki u logic
s
Ki u con tr Ki u li t kê
Ki u b ph n
Ki u m ng
u trúc d Ki u có
li u c s u trúc
Ki u b n ghi
Ki u d li u
tr u t ng
u trúc
li u
u trúc danh sách
Ng n x p
u trúc d
li u h ng
Hàng i
n
u trúc cây
(T o ra t
u trúc d
m
li u c s )
1.2 u trúc d li u c s
1.2.1 Ki u d li u c s
Ki u d li u c s là t p các d li u riêng l và th ng c dùng t o ra ch ng trình. Nó
c phân lo i thành các ki u n và con tr .
(1) Ki u n
Ki u n là ki u d li u c s nh t. Khi dùng ki u n cho l p trình, ki u d li u th ng
c khai báo theo qui t c cú pháp c a ngôn ng .
• Ki u nguyên
Ki u nguyên bi u di n cho s nguyên, và c bi u di n bên trong máy tính nh s nh
phân theo s d u ph y t nh, không có ch s có ngh a sau d u ch m th p phân. Giá tr t i a
hay t i thi u c a ki u nguyên là n v c a d li u mà máy tính có th x lí vào m t lúc, và
nó c xác nh b i chi u dài t .
‚ Ki u s th c
Ki u s th c bi u di n cho s th c. Nó c dùng bi u di n cho s d u ph y t nh và d u
ph y ng.
ƒ Ki u kí t
Ki u kí t bi u di n cho ch cái, s và các kí hi u nh các kí t . M t mã kí t c bi u
di n nh s nh phân trong máy tính.
„ Ki u logic
Ki u logic c dùng th c hi n các phép toán logic nh các phép toán AND, OR và
NOT.
… Ki u li t kê
Ki u li t kê c nh ngh a nh ki u d li u kê ra t t c các giá tr có th c a bi n. Trong
tr ng h p ki u li t kê, có th k tên ki u s nguyên.
† Ki u b ph n
Ki u b ph n c dùng xác nh m t t p con các giá tr nguyên thu b ng cách h n ch
các ki u d li u hi n có. Ki u d li u có các gi i h n trên và d i nh các ràng bu c c
i là ki u mi n b ph n.
(2) Ki u con tr
Ki u con tr có a ch c c p trong n v b nh chính. Nó c dùng tham chi u t i
các bi n, các b n ghi t p hay các hàm. Nó c dùng cho Pascal và C nh ng không dùng cho
FORTRAN và COBOL.
4 Ch ng 1 C u trúc d li u
Bi n ki u con tr Bi n "b"
a ch c a bi n "b" li u
1.2.2 Ki u có c u trúc
u trúc d li u có ch a m t c u trúc d li u c s hay b t kì ki u d li u c xác nh nào
nh ph n t c a nó (d li u), c g i là ki u có c u trúc. Ki u có c u trúc c phân lo i
thành ki u m ng và ki u b n ghi.
(1) Ki u m ng
ng c g i là b ng. Ki u m ng là d li u có c u trúc có ch a d li u thu c cùng ki u và
kích c . T ng d li u cá nhân c g i là m t ph n t m ng, ph n t b ng hay ph n t . Cách
ng c mô t ho c cách d li u c b trí có thay i tu theo ngôn ng l p trình c
dùng.
• M ng m t chi u
ng m t chi u có c u trúc d li u mà d li u c s p thành m ng theo m t hàng. xác
nh m t ph n t trong m ng này, tr c h t a vào d u ngo c tròn m ( hay d u ngo c
vuông [ sau tên c a m ng, r i a vào ch s và d u ngo c tròn óng ) hay d u ngo c vuông
óng ]. Ch s ch ra s th t tính t nh c a m ng, n i ph n t xác nh ó c nh v .
ng "A" có s ph n t c kí hi u là "i" c bi u di n là A (i).
Th 1 th 2 th 3 … th I …
… …
Ph n t Ph n t Ph n t Ph n t
A(1) A(2) A(3) … A(I) …
‚ M ng hai chi u
t c u trúc d li u trong ó d li u c s p hàng theo c hai chi u ngang và ng c
i là m ng hai chi u. D li u theo chi u ng c g i là c t và d li u theo chi u ngang
c g i là hàng. xác nh ph n t nào ó trong m ng này, hai ch s tr nên c n thi t:
t ch s th t theo chi u ng (trên hàng nào) n i ph n t xác nh ó c nh v và
ch s kia ch ra s th t nào theo chi u ngang (trong c t nào) mà nó c nh v . Ch ng
n, m ng "A" c nh v hàng "i" và c t "j" có th c di n t là A (i, j).
1.2 C u trúc d li u c s 5
A(2,2) A(1,2)
A(3,1) A(2,2)
A(3,2) A(3,2)
li u c D li u c
u tr l u tr
theo hàng theo c t
ƒ M ng ba chi u
ng ba chi u có c u trúc d li u nhi u h n m ng hai chi u. Nó có c u trúc ba chi u ch a các
t ph ng, các hàng và c t c ng nh các ph n t . B ng vi c xây d ng m ng ba chi u trong
ng hai chi u, có th x lí m ng ba chi u theo cùng cách nh m ng hai chi u.
6 Ch ng 1 C u trúc d li u
t ph ng
th hai
A(2,1,1) A(2,1,2)
t ph ng A(2,1,1) A(2,1,2)
A(1,2,1) A(1,2,2)
A(2,3,1) A(2,3,2)
A(1,3,1) A(1,3,2)
A(1,1,1) A(1,1,2)
t ph ng A(1,2,1) A(2,2,2)
t
th nh t
A(1,3,1) A(1,3,2)
(2) Ki u b n ghi
c d u d li u ki u có c u trúc là cao c p h n trong vi c d tham chi u và th c hi n thao tác
trên các ph n t , nó c ng có nh c m ch nó ch có th gi i quy t d li u thu c cùng m t
ki u. Do ó, d li u có ch a các d li u v i ki u khác nhau ph i l y d ng c a d li u ki u b n
ghi. Ki u b n ghi này c ng còn c g i là ki u c u trúc.
Tên m S Tên m
sinh viên sinh viên
(ki u xâu chu i)
Ki u s p x p
Ki u nguyên
Ki u kí t
1.2.3 Ki u d li u tr u t ng
li u ch a c u trúc d li u nào ó và ki u c a các phép toán c g i là ki u d li u tr u
ng. truy nh p vào ki u d li u này, b n không c n bi t v c u trúc bên trong c a nó. T t
các d li u u c che d u ngo i tr d li u b n truy nh p tham chi u, thêm vào hay
xoá i. u này c g i là che gi u thông tin. Che gi u thông tin ho c che gi u d li u
c ki u d li u c g i là bao b c d li u.
Hình 1-2-7 Ki u d li u tr u t ng
1.3 u trúc d li u h ng v n
i d li u c d ch v phía sau
ut Inoue
c chèn
Không gi ng nh c u trúc ki u m ng, c u trúc danh sách cho phép ph n t d li u c a cùng
ki u c s p hàng tu n t . Ki m m ng òi h i r ng vi c b trí logic cho các ph n t là gi ng
t nh vi c b trí v t lí c a chúng trong b nh chính. Trong tr ng h p c a c u trúc danh
sách, vi c b trí logic không sánh h t nh vi c b trí v t lí.
Danh sách ch a các ô và m i ô bao g m nh ng ph n t sau:
- Ph n d li u ch a ph n t d li u
- Ph n con tr ch a a ch
Do ó, ph n d li u c a ô có cùng c u trúc d li u nh c u trúc d li u c a d li u cl u
gi và ph n con tr c a ô có c u trúc d li u ki u con tr . u này ngh a là các ô bi u di n
cho d li u (c u trúc) ki u b n ghi ch a các ph n t có c u trúc d li u khác nhau. Danh sách
ch a a ch ô trong ph n con tr và ô này c móc n i sang ô kia qua con tr .
1.3 C u trúc d li u h ng v n 9
Ph n d li u Ph n con tr
Tr c khi chèn Arai Ueki Endou
Inoue Ô c chèn
c d u c u trúc danh sách cho phép d li u c chèn thêm hay c xoá i ch b ng cách
thay th các con tr , nó có nh c m là b n ph i l n theo t ng con tr m t t un ub n
mu n truy nh p vào d li u c bi t.
u Ô
Arai Inoue Wada NULL
NULL NULL
trí u
trí uôi
1.3.2 Ng n x p
Ng n x p là c u trúc d li u c thi t k d a trên m ng m t chi u. Ph n t cu i cùng c
u gi s c c ra tr c h t. Nó c so sánh v i trò ch i ném vòng.
1.3 C u trúc d li u h ng v n 11
Trò ch i ném vòng c ch i b ng cách ném các vòng m u theo th t , l c, vàng và lam
a vào d li u). Chúng c l y ra t ng cái m t ( a ra d li u) theo th t o l i vi c ném
vào, t c là lam, vàng, l c và . T c là vòng lam c ném vào cu i cùng s c l y ra u
tiên.
Ki u c u trúc d li u này mà có th c so sánh v i trò ch i ném vòng c g i là ng n x p.
th ng này còn có thu t ng là h th ng vào-sau-ra-tr c (LIFO). Vi c l u tr d li u trong
ng n x p c g i là " n vào (PUSH)" và vi c l y d li u ra t ng n x p c g i là "b t ra
(POP)." Bi n u khi n vi c n vào và b t ra c g i là con tr ng n x p.
n d li u vào ng n x p, t con tr ng n x p "sp" là +1 và l u gi d li u trong ph n t
ng c vi t là "sp." làm b t ra d li u t ng n x p, hãy l y d li u ã c l u gi
trong m ng c ch b i "sp" và t con tr ng n x p là sp-1.
sp - 1 sp + 1
Con tr ng n x p sp
Ng n x p (4) li u D ra
4
Ng n x p (3) li u C
Ng n x p (2) li u B
Ng n x p (1) li u A
1.3.3 Hàng i
Hàng i là c u trúc d li u d a trên m ng m t chi u. D li u c l u gi u tiên c c
ra u tiên. Nó c so sánh v i hàng ng i ang i tr c máy tr ti n c a ngân hàng.
Con tr u Con tr cu i
Hình 1-3-12 S t ch c
ng th ng
Qu n lý Qu n lý Qu n lý
hành chính bán hàng nhà máy
Qu n lý b ph n Qu n lý b ph n Qu n lý b ph n Qu n lý b ph n Qu n lý b ph n k Qu n lý b ph n Qu n lý b ph n Qu n lý b ph n
hành chính toán bán hàng th 1 bán hàng th 2 ho ch và bán hàng qu n lý ch t l ng Mua bán n ph m
D E
F G H Lá
1.3 C u trúc d li u h ng v n 13
Con
Con
2 7 2 7
3 6 8 10 3 6 8 10
4 5 9 4 5 9
1) 15>10 15
2) 8<10
8 21
2 10 28
3) 10=10
13
a. c tr ng c a B-cây
- t ng vi c s d ng vùng b nh , s con tr mà m i nút có c t là m/2 ho c
nhi u h n và là m ho c ít h n. S con tr theo m t ng tuy v y c t là 2 ho c
nhi u h n.
- M i lúc d li u b xoá hay c b sung thêm, vi c ch ra và ghép l i c th c hi n
ng cho s các ph n t c a m t nút có th tr thành m/2 hay nhi u h n ho c m
hay ít h n. u này cho phép lá bao gi c ng c duy trì trên cùng m c.
- Vi c tìm ki m b t u t g c.
- Vi c thêm vào hay xoá i d li u b t u t lá.
Hình 1-3-19 ch ra B-cây b n m v i các ph n t 7, 6, 10, 2, 5, 12, 4, 9, 8, 11, 1, 3 .
3 6 9
4 5 7 8
1 2 10 11 12
b. Xoá d li u
Hình 1-3-20 v ra tr ng h p d li u "4" b xoá kh i B-cây c v trong Hình 1-3-19.
u m t mình "4" b xoá i, thì s các ph n t b xoá c a m t nút tr thành m t và các
yêu c u c a B-cây không th c áp ng.
5 7 8
1 2 10 11 12
1 2 5 6 7 8 10 11 12
‚ ng
Cây nh phân hoàn ch nh có m i quan h kích c nào ó gi a nút cha m và nút con c
i là ng (heap). ng khác v i cây nh phân ch ng không có m i quan h kích
th c nào ó gi a các anh em.
16 Ch ng 1 C u trúc d li u
Hình 1-3-22 Ví d v ng
ng ây không ph i là ng
9 9
7 8 7 8
6 3 5 3 6 5
1 4 1 4 i quan h v kích c
trong hình ch nh t ch m
là khác nhau
6 6 5 5
4 5 4 2
1 3 2 1 3
3 4
4 4 3 3
3 2 1 2
1
1.3 C u trúc d li u h ng v n 17
1.3.5 m
m là cách dùng m t c u trúc d li u ki u m ng. V i vi c dùng b m, b n có th truy nh p
tr c ti p vào d li u c bi t b ng vi c dùng m t khoá mà không ph i truy nh p l n l t vào
li u c ghi.
(2) ng ngh a
Khi m t khoá c chuy n thành a ch b ng vi c dùng hàm b m, các khoá khác nhau có th
c chuy n vào cùng m t a ch . u này c g i là ng ngh a (hay ng ) (xem Hình
1-3-24). M t b n ghi có th dùng a ch ã chuy n i c g i là b n ghi nhà còn b n ghi
không th dùng c nó s c g i là b n ghi ng ngh a.
18 Ch ng 1 C u trúc d li u
Bài t p
a b C d e
1 3 3 3 6
7 4 4 7 4
3 5 6 1 3
20 Ch ng 1 C u trúc d li u
a. 2 b. 3 c. 4 d. 5
4 8
2 5 7 12
1 3 10 14
13 15
9 11
a. 9 b. 10 c. 13 d. 14
b e
c d f g
h i j k
+ ÷
A X F
+
B C D E
a. A + B × C + (D + E) ÷ F b. A + B × C - (D + E) ÷ F
c. A + B × C - D + E ÷ F d. A × B + C + (D - E) ÷ F
e. A × B + C - D + E ÷ F
11 14
A
24 25 19 28
29 34 *
a. 7 b. 9 c. 11 d. 24 e. 25
11
12
22 Ch ng 1 C u trúc d li u
a. 1 b. 2 c. 7 d. 11
c ích c a ch ng
Các c s c a vi c l p trình là thi t k thu t toán.
Trong thi t k c u trúc logic c a ch ng trình, u
quan tr ng là dùng thu t toán thích h p nh t. T ng t
nh v y, trong vi c ch n ch ng trình t th vi n,
thu t toán nào c dùng là m t trong nh ng tiêu
chu n quan tr ng nh t ch n ch ng trình thích h p
nh t.
Ch ng này mô t cho các c s c a thi t k thu t toán
và các thu t toán tiêu bi u.
Gi i thi u
Vi c dùng thu t toán hi u qu , d hi u làm cho ng i ta có kh n ng t ng t c th c hi n và
gi m s l i còn b gi u kín. Thu t toán là m t trong nh ng nhân t m u ch t xác nh ra hi u
ng h th ng. C ng v y, ch t l ng c a thu t toán c dùng làm tiêu chu n cho vi c ch n
các b ph n t th vi n.
Ch ng này mô t các c s c a thu t toán c dùng cho thi t k logic mô un và nh ng
thu t toán c dùng gi i các bài toán n hình. Vi c ch n m t thu t toán n i ti ng hay
th ng c dùng mà không phân tích y các v n c nêu ra là u c n tránh. Nên
ch n l y m t thu t toán thích h p nh t cho các c tr ng c a bài toán.
Vi c ánh giá b n thân thu t toán c ng là m t nhi m v quan tr ng. D li u thu c b ng
vi c so sánh nhi u thu t toán trên c s con s khách quan s giúp ích r t nhi u cho b n trong
vi c ch n thu t toán thích h p nh t.
Trong ch ng này, các b n s h c nh ng c s v thu t toán cho các b n có th thi t k mô
un d hi u.
a nó.
Nói chung, ch ng trình bao g m các thu t toán và d li u còn thu t toán bao g m logic và
u khi n.
p trình có th c phân lo i thành b n ki u khác nhau t ng ng v i cách thu t toán c
xem xét:
- L p trình th t c
- L p trình hàm
- L p trình logic
- L p trình h ng i t ng
Ki u l p trình thích h p nh t ph i c ch n có xem xét t i các c tr ng c a bài toán.
• L p trình th t c
p trình th t c là ki u l p trình th ng c dùng nh t. Lo i l p trình này bao g m các
ngôn ng l p trình sau, FORTRAN, COBOL, PL/I, Pascal, C, v.v..
c tr ng
- Ch ng trình c chia thành các mô un làm cho ch ng trình ph c t p, l n thành
hi u. Vi c vi t mã c th c hi n cho t ng mô un.
- Các nh lí có c u trúc c a vào l p trình (s c gi i thích v sau).
- Tính n ng có c u trúc c dùng d ch ch ng trình
i vì l p trình th t c là h ng ( u khi n) th t c, nên có nh ng h n ch sau:
- Bên c nh th t c ( u khi n), các bi n (tên bi n, ki u, kích c v.v..) ph i c khai
báo.
- Các l nh c th c hi n t ng l nh m t theo cách tu n t (x lí song song không th
c th c hi n).
- Vi c so sánh và tính toán ph i c th c hi n gi i bài toán.
‚ L p trình hàm
p trình hàm là vi c l p trình theo h ng dùng các hàm. Nó c dùng trong l nh v c trí
tu nhân t o (AI), các lí thuy t tính toán c s và các nhi m v nghiên c u khác. LISP, trong
các ngôn ng khác, là ngôn ng l p trình hàm.
c tr ng
- Không gi ng l p trình ki u th c hi n tu n t , các bi u th c c xây d ng b ng vi c
ng nhau và chúng c thay th b ng nh ng k t qu tính toán th c hi n ch ng
trình.
- Nh ng l i g i qui có th c mô t d dàng.
- M c gi ng v i x lí song song là cao.
- Ti n trình tính toán hay th t c không c n c xét t i.
ƒ L p trình logic
Tân t (thu c tính)d a trên s ki n và suy di n là c s c a l p trình logic. Prolog là m t ví
v ngôn ng l p trình logic.
c tr ng
- B i vì các s ki n c mô t d a trên logic tân t , nên ti n trình l p trình này c
th c hi n d dàng.
- Suy di n và tính toán logic có th c th c hi n d dàng.
„ L p trình h ng it ng
Trong l p trình h ng i t ng, h th ng c xét nh m t nhóm các it ng. Các ngôn
ng bao g m Smalltalk, C++, Java và các ngôn ng khác.
26 Ch ng 2 Thu t toán
(1) C u trúc d li u
u trúc d li u c nh ngh a nh sau:
t th t c mà ch ng trình tuân theo c t gi d li u và th c hi n nh ng nhi m v ã
c giao.
• C u trúc d li u c s
Vi c l u gi d li u ngh a là l u gi d li u vào b nh chính. Trong l u gi d li u vào b
nh chính, ki u d li u (ki u d li u, kích c , v.v..) ph i c khai báo. n v c u trúc d
li u c s nh t th ng c dùng khai báo ki u d li u c g i là c u trúc d li u c s .
Trong vi c th c hi n b c khai báo ki u d li u này, d li u c thao tác b ng vi c dùng
tên c a d li u có ki u d li u ã c khai báo tr c. (Xem Hình 2-1-1.)
‚ C u trúc d li u h ng v n
u trúc d li u h ng v n c xây d ng b ng vi c t h p các c u trúc d li u c s
i m t hay nhi u c u trúc sau:
- Danh sách
- Ng n x p
- Hàng i
- C u trúc cây.
Nh ng ph n t này c xác nh b ng vi c l p trình (các thu t toán ã c thi t k ). N u
li u c x lí theo th t nó c a vào, thì hàng i c s d ng. N u d li u c
lí theo th t o v i vi c a vào, thì ng n x p c dùng.
Do ó, n i dung c a c u trúc d li u h ng v n c xác nh b i nh ng thu t toán v i
c nào ó.
2.1 C s v thu t toán 27
END-IF
COMPUTE N-COUNT = N-COUNT + 1
END-PERFORM.
DISPLAY T-COUNT R-COUNT N-COUNT.
CLOSE TOUGETU-FILE RUISEKI-FILE N-RUISEKI-FILE.
STOP RUN.
T-YOMIKOMI.
READ TOUGETU-FILE
AT END MOVE HIGH-VALUE TO T-HIZUKE
NOT AT END COMPUTE T-COUNT = T-COUNT + 1
END-READ.
R-YOMIKOMI.
READ RUISEKI-FILE
AT END MOVE HIGH-VALUE TO R-HIZUKE
NOT AT END COMPUTE R-COUNT = R-COUNT + 1
END-READ
28 Ch ng 2 Thu t toán
1→i X 25 S l n l p l i
l n nh t = N
0 → tìm th y
i>N
ho c Có
tìm th y = 1
Không
= TBL (i) : X ≠ ≠ TBL (i) : X =
Tìm ki m
1 → tìm th y i+1 → i Tìm ki m không
thành công thành công
t thúc
M t p 0125 136900
In tiêu
0020 011100
In ph n u 0010 050100
<Mã hàng> <S l ng
ct p bán>
u vào
Ph n u c in
Hi u ch nh Hi u ch nh
N i dung s a → vùng ra
In ra u ra
óng t p
K t thúc
ƒ X lí danh sách
Trong x lí c u trúc m ng, d li u có th c duy t và c p nh t m t cách tr n tru nh ng l i
t th i gian chèn thêm hay xoá d li u. B i vì d li u c thu x p trong hàng i, nên
vi c chèn thêm hay xoá d li u không tránh kh i i kèm v i vi c d ch chuy n d li u ra sau
hay lên tr c.
1 2 3 4 5 6 7
TBL 3 6 9 15 21 21 30
ch chuy n
X 18
Dùng c u trúc danh sách, vi c chèn thêm hay xoá d li u là d dàng. M c d u d li u c
thu x p theo cách có tr t t trong c u trúc danh sách, nó c thu x p m t cách logic cho
không c n ph i c thu x p v m t v t lí theo th t tu n t .
Ph n Ph n
li u con tr
30 Ch ng 2 Thu t toán
So sánh
6 Tìm t u n cu i t ng b cm t
H K A I S D E A G S
t u t u
1→i 1→i
> i+1→i
i:9
≤
Tìm th Không tìm th Tìm th
t thúc t thúc
c 1: L y t ng ch s d i u b ng và ch s d i cu i b ng chia 2.
c 2: Ph n t có giá tr b c 1 c so sánh v i ph n t ích.
c 3: N u có ph n t t ng t v i ph n t ích thì k t thúc tìm ki m.
c 4: N u giá tr c a ph n t ích nh h n giá tr c a ph n t trong b ng, ch s
c tr i 1 và giá tr c s d ng nh ch s bi u di n cu i b ng.
u giá tr c a ph n t g c l n h n giá tr c a ph n t trong b ng thì ch s hi n t i
c c ng thêm 1 và l y làm giá tr ch s c a u b ng.
c 5: L p l i t b c 1 t i b c 4. N u ph n t gi ng ph n t ích không tìm th y t
giá tr u ch s bi u di n u b ng l n h n giá tr ch s bi u di n cu i b ng, tìm ki m
không thành công. K t thúc tìm ki m.
TBL(1) TBL(2) TBL(3) TBL(4) TBL(5) TBL(6) TBL(7) TBL(8) TBL(9) TBL(10)
TBL 1002 1005 1010 1024 1028 1052 1211 1322 1866 2132
So sánh l n th nh t
X 1866
So sánh l n th hai
X 1866
TBL(9) TBL(10)
1866 2132
So sánh l n th ba
X 1866
các ph n t →N
Nh p X
0 → Tìm th y
N→B
A > B ho c Có
Tìm th y = 1
Không
A+ B ≠→ i
2
= X : TBL ( i )
≠
1 → Tìm th y
< X : TBL ( i )
>
i-1→B i +1 → A
≠ =
Tìm th y : 1
t thúc
Ph ng pháp ch n c s
Ph ng pháp chèn c s
px p
Ph ng pháp s p x p bóc v
Ph ng pháp s p x p nhanh
p x p ngoài Ph ng pháp s p x p g p
25 36 11 32 81 15 52
So sánh
So sánh
i ch
25 11 36 32 81 15 52
So sánh
i ch
25 11 32 36 81 15 52
So sánh
So sánh
i ch
25 11 32 36 15 81 52
So sánh
i ch Xác nh là giá tr l n nh t
25 11 32 36 15 52 81
So sánh
i ch
11 25 32 36 15 52 81
So sánh
So sánh
So sánh
i ch ã xác nh
11 25 32 15 36 52 81
So sánh
t c các b c trên ul pl im tl t
c tr ng>
- ây là m t trong nh ng ph ng pháp s p x p n gi n nh t
- Tính hi u qu là th p vì d li u c so sánh vô u ki n ngay c khi chúng ã cs p
p úng.
- N u kh i l ng d li u l n thì t n th i gian x lí.
36 Ch ng 2 Thu t toán
ph c t p tính toán>
- ph c t p tính toán t i a: O (n2)
- ph c t p tính toán trung bình: O (n 2)
Ph ng pháp trao ic s
các ph n t → N
Vòng l p 1
N=1
1→i
Vòng l p 2
i=N
TBL ( i ) ≤ Có
TBL ( i+1)
Không
TBL ( i ) → SAVE
i+1→i
Vòng l p 2
N-1→N
Vòng l p 1
t thúc
2.2 Các thu t toán 37
i ch
Tìm ph n t d li u có giá tr nh nh t
11 36 25 32 81 46 52
i ch
Tìm ph n t d li u có giá tr nh nh t
11 25 36 32 81 46 52
i ch
Tìm ph n t d li u có giá tr nh nh t
11 25 32 36 81 46 52
Tìm ph n t d li u có giá tr nh nh t
11 25 32 36 81 46 52
i ch
So sánh
11 25 32 36 46 81 52
i ch
11 25 32 36 46 52 81
c tr ng>
- M t trong các ph ng pháp s p x p n gi n nh t, nh ph ng pháp tráo i
- Tính hi u qu th p vì kho n m c d li u c so sánh vô u ki n ngay c khi chúng
38 Ch ng 2 Thu t toán
c s p x p úng.
- N u kh i l ng d li u l n, thì t n th i gian x lí.
ph c t p tính toán>
- ph c t p tính toán t i a: O (n2)
- ph c t p tính toán trung bình: O (n 2)
Ph ng pháp l a c s
các ph n t →N
Vòng l p 1
i = 1, , N - 1
i → MIN
Vòng l p 2
j = i, , N
TBL ( MIN ) : ≤
TBL ( j )
>
j → MIN
Vòng l p 2
TBL ( i ) → SAVE
Vòng l p 1
t thúc
2.2 Các thu t toán 39
25 36 11 32 81 15 52
So sánh
25 36 11 32 81 15 52
So sánh
So sánh i ch
i ch
11 25 36 32 81 15 52
So sánh
So sánh i ch
11 25 32 36 81 15 52
So sánh
11 25 32 36 81 15 52
So sánh
i ch
So sánh
i ch
So sánh
i ch
So sánh
i ch
So sánh
11 15 25 32 36 81 52
So sánh
So sánh i ch
11 15 25 32 36 52 81
c tr ng>
- M t trong các ph ng pháp s p x p n gi n nh t, nh ph ng pháp tráo i
- Vì d li u ng tr c ã c s p nên t c so sánh và chèn thêm là nhanh.
- N u kh i l ng d li u l n, t n th i gian x lí.
40 Ch ng 2 Thu t toán
Ph ng pháp chèn c s
các ph n t →N
2→j
Vòng l p 1
j>N
j-1→k
Vòng l p 2
TBL (k) ≤ TBL(k+1)
ho c k < 1
TBL ( k ) → SAVE
k-1→k
Vòng l p 2
j+1→j
Vòng l p 1
t thúc
2.2 Các thu t toán 41
p x p sàng l c 1
W→S
các ph n t →j
S→i
1→E Vòng l p 3
j→S i=E
1 →W
Vòng l p 1 ≤
E≥S TBL (i - 1) : TBL ( i )
E→i
>
TBL ( i ) → SAVE
TBL ( i - 1) → TBL( i )
Vòng l p 2 SAVE → TBL (i 1)
i=S
i→W
∗
≤
TBL ( i ) :TBL ( i+1) i-1→i
>
TBL( i ) → SAVE Vòng l p 3
TBL( i +1) → TBL ( i )
SAVE → TBL (i+1)
∗ W→E
TBL ( k ) → SAVE
Vòng l p 1
i +1 → i
t thúc
Vòng l p 2
∗ V trí n i y u t d li u c trao i
c l u tr trong b nh .
1
42 Ch ng 2 Thu t toán
p x p bóc v A
các ph n t →N Vòng l p 3
N → Kho ng cách
m+1→m
Vòng l p 1
Vòng l p 2
Kho ng cách <1
1→m
t thúc
Vòng l p 2
m > kho ng cách
m+kho ng cách → h
Vòng l p 3
h>N
h kho ng cách→ j
Vòng l p 4
j<l
TBL ( j ) >
không
TBL ( j+kho ng cách)
>
Có
TBL( J ) → SAVE
j - kho ng cách → j
Vòng l p 4
h +kho ng cách→h
A
44 Ch ng 2 Thu t toán
Dãy d li u 6 11 7 4 3 88 12 1 13 9
m th (giá tr th )
m th
Kho n m c d Kho n m c d
li u nh h n li u l n h n
m th m th
{Ví d } 6 1 7 4 3 8 12 11 13 9
Kho n m c d li u Kho n m c d
m th
nh h n 8 li u l n h n 8
1 3 4 6 7 8 9 11 12 13
Không
k>0
Có
f (k 1) X k → f ( k ) 1→f(k)
t thúc
Vòng l p 1
≥
s:e i≥j
< Vòng l p 2
Phân chia → j i≥j
ho c a ( i ) ≥ m th
g i
S p x p nhanh * 1 i+1→i
g i
S p x p nhanh * 2
Vòng l p 2
t thúc Vòng l p 3
i ≥j
m th ≥ a( j)
* 1 Các thông s (a, s, j 1)
ho c
Vòng l p 3
≥
i:j
<
a ( i ) → SAVE
a(j)→a(i)
SAVE → a ( j )
Vòng l p 1
a ( i ) → SAVE
a( e)→a(i)
SAVE → a ( j )
Tr v j
2.2 Các thu t toán 47
qui) qui)
Phân chia Phân chia Phân chia
G pl i G pl i G pl i
c tr ng> (Tr v ) (Tr v )
Các hình 2-2-23 và 2-2-24 a ra tr ng thái c a dãy d li u trong các thao tác s p x p g p và
u c a ph ng pháp s p x p g p.
Dãy d li u 8 2 6 4 7 5 1 3
2 8 4 6 5 7 1 3 pl n1
(tr l i nh ng qui)
2 4 6 8 1 3 5 7 pl n2
(Tr l i nh ng qui)
1 2 3 4 5 6 7 8 pl n3
(K t thúc nh ng qui)
< Hoàn thành vi c s p x p>
48 Ch ng 2 Thu t toán
<
các ph n t → N
[(S + N) / 2] → H p x p n a dãy d li u Các thông s
c chia u tiên - Dãy d li u: TBL
S px pg p - V trí b t u dãy d li u: S
S px pg p - V trí k t thúc dãy d li u: H-1
p x p n a dãy d li u Các thông s
t thúc sau - Dãy d li u: TBL
S px pg p
- V trí b t u dãy d li u: H
- V trí k t thúc dãy d li u: N
Dãy u tiên và m t n a dãy Thông s
- Dãy d li u: TBL
sau cg pl i
- V trí b t u c a n a dãy d li u u tiên: S
- V trí b t u c a n a dãy d li u sau: H
- V trí k t thúc c a n a dãy d li u sau: N
t thúc
2.2 Các thu t toán 49
1 2 3 4 5 6 7 8
1
Q
2 Q
3 Q
4 Q
5 Q
6 Q
7 Q
8
Q Q:H u
t u u ( i, F )
j+1→j
u ( i, F )
x [ j ] + y [i + j 1]
≠
F:1 + z [i j + 8] → W
=
≠
u ra là các ph< n W:0
c a m ng
=
t thúc j →q[i]
1 → x [ j ],
y[i+j 1],
z[i j+8]
≥
i:8
<
H u ( i + 1, F) 1→F
F:0
≠
=
0 → x [ j ],
y[i+j 1],
z[i j+8]
F = 1 ho c j = 8
p th
Thoát
2.2 Các thu t toán 51
2.2.4 lí xâu kí t
Kí t c duy t, chèn thêm, xoá, tráo i hay nén l i. M c này mô t vi c duy t và nén xâu.
Không kh p Kh p
S a t h trí cu i cùng c a chu i ký t c t là b
1 2 3
52 Ch ng 2 Thu t toán
t u
1→j
a b + 1→ E
off → S W
Vòng l p 1
J > E ho c
S W = on
1→k
Vòng l p 2
k > b ho c
TBL (j + k 1) ≠ S(k)
k+1→k
Vòng l p 2
không
k>b
Có
on → S W j+1→j
Vòng l p 1
t thúc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
T t c các chu i ký
u không kh p
Chu i ký t
r a n
Chu i ký t
f i n e
c tìm ki m
f i n e
(D ch chuy n)
t
4 3 2 1 Phù h p
f i n e
r f i n e r
f i n e
<T t c các ký t phù h p>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
a i k
Phù h p x x
f i n e
(Di chuy n b i 3 ký t )
f i n e
Ký t f i n e các ký t khác
Kho ng cách di chuy n 3 2 1 0 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
TBL B # 4 T Y A U # 5 K K U O H A S
Ký t c bi t u s ký t tr ng là m t ho c hai thì
S ký t tr ng không ti n hành nén
Hình 2-2-35 a ra l u c a vi c nén xâu kí t .
các ph n t c a TBL A → N
1→a
1→ b
Vòng l p 1
a> N
0 → inc
Vòng l p 2
TBL A(a + inc) ≠ r ng
ho c a + inc = N
inc + 1 → inc
Vòng l p 2
<
Inc : 3
≥ Vòng l p 3
# → TBL B (b) inc = 0
inc → TBL B (b + 1)
TBL A (a) →
a + inc → a TBL B (b)
b+2→b
a+1→a
Vòng l p 1 b+1→b
inc - 1 → 1
t thúc
Vòng l p 3
2.2 Các thu t toán 55
2.2.5 lí t p
Các t p khác nhau c dùng th c hi n nh ng nhi m v gi y t . c tr ng c a x lí t p là
lí cho t ng b n ghi m t.
Thu t toán x lí t p n hình là nh sau:
Ví d
lí chu n b : M t p, xoá b m v.v..
lí chính: Tính toán, so n th o, a ra v.v...
lí k t thúc: óng t p, v.v..
c này mô t m t thu t toán cho vi c x lí các t p cùng ki u và thu t toán khác cho vi c x
lí các t p ki u khác nhau.
12 / 10 S002 150000
11 / 10 S003 350000
Nhóm 11 tháng 10
11 / 10 S001 200000
10 / 10 S004 250000
10 / 10 S002 50000
Nhóm 10 tháng 10
Ngày bán Mã hàng S l ng Nh ng th
10 / 10 S001 bán khác
100000
56 Ch ng 2 Thu t toán
ƒL u và s chi ti t
thu c t ng nhóm, vi c phân chia gi a các nhóm ph i c phân bi t rõ. V i ch
c bi t này, m mà ngày bán thay i tr thành vi c phân chia. Do ó, c n xác nh li u
ngày bán hàng trong b n ghi m i c n p vào có sánh úng v i ngày trong các b n ghi ã
lí g n ây nh t hay không. làm u này, m t khoá (ngày bán hàng) t m th i cc t
gi tr c khi b n ghi u tiên trong nhóm c x lí, và nó c so sánh v i khoá (ngày
bán hàng) c a các b n ghi quá kh .
Hình 2-2-38 a ra l u c a ki m soát nhóm.
2.2 Các thu t toán 57
t u t u
Nh p các b n ghi 0 → t ng ph
bán
0 → t ng Thoát
lý nhóm u tiên
Danh sách
Vòng l p 1 nhóm chi ti t
Cho n khi không có
n ghi bán
Ngày bán,
Mã hàng,
l ng bán,
Ngày bán: Ngày =
Vùng ra
c ghi t m th i
≠ u ra chi ti t
a ra t ng s ph
ng ph + s l ng
ng + t ng ph bán → t ng ph
→ T ng toàn b
Thoát
lý nhóm u tiên
Nh p các b n ghi
bán
Vòng l p 1
a ra t ng
toàn ph n
t thúc
58 Ch ng 2 Thu t toán
(2) C p nh t nhi u t p
u nhi u t p c so sánh b ng vi c dùng cùng tiêu chu n b ng vi c sánh, thì m i t p ph i
c s p theo trình t c a khoá, nh trong tr ng h p c a ki m soát nhóm.
Các nhi m v x lí t p là nh sau:
- G pt p
- i sánh t p
- C p nh t t p
- Duy trì t p
c này mô t nhi m v c p nh t t p. Vi c c p nh t t p là c p nh t t p chính d a trên d li u
ch a trong t p giao tác. N u t p chính là t p tu n t , thì nó ph i c t o m i l i hoàn toàn.
u t p chính có th c truy nh p ng u nhiên, thì không c n t o ra t p chính m i vì các b n
ghi có th c tìm ki m b ng các khoá, và c c p nh t. T i ây, chúng ta gi i quy t v i
th t c c p nh t n u t p chính là t p tu n t .
2.2 Các thu t toán 59
• C p nh t 1:1
p nh t 1:1 ngh a là vi c c p nh t c th c hi n n u t ng b n ghi trong t p chính sánh
úng v i m t b n ghi trong t p giao tác. (Xem Hình 2-2-39.)
Nhi u t p c c và trình x lí c xác nh b ng vi c so sánh kích c c a t ng khoá
nh sau:
Kích c c a khoá
- TR key = MS key D li u c c p nh t.
- TR key > MS key D li u c sao (d li u c vi t vào t p chính m i).
- TR key < MS key D li u c b sung vào t p chính m i (có th là tr ng h p mà
tr ng thái này c xem nh l i và trình x lí l i này th c hi n).
li u s n sàng c
u tr theo giá tr khóa p p ch u tr theo giá tr khóa
(cho m t khóa trong t p giao
ch , có nhi u b n ghi ch
giao d ch: n)
p nh t
p ch Danh sách
i i
t u
t p
Nh p b n ghi M
= ≠
Khóa M : Khóa T
n ghi M n ghi M
u không có b n ghi
→ B n ghi M m i → B n ghi M m i phù h p trong t p
chính
a ra b n ghi M m i (T p tin thi hành l i)
a ra b n ghi M m i
Nh p b n ghi T
t thúc
2.2 Các thu t toán 61
‚ C p nh t 1:n
p nh t 1:n là trình c p nh t c dùng n u m t b n ghi trong t p chính sánh úng v i
nhi u b n ghi trong t p giao tác. (Xem Hình 2-2-41.)
nguyên t c, nhi u t p c c vào, nh trong tr ng h p c a c p nh t 1:1, và các trình
lí c xác nh b ng cách so sánh kích c c a khoá nh sau:
Kích c c a khoá
- TR key = MS key D li u c l y t ng và k t qu c l u gi trong vùng làm vi c.
- TR key > MS key D li u c c p nh t.
- TR key < MS key D li u c b sung vào t p chính m i (có th có tr ng h p u
này c coi là l i và trình x lí l i c g i t i).
li u s n sàng c
u tr theo giá tr khóa p p ch u tr theo giá tr khóa
(cho m t khó trong t p giao
ch , có nhi u b n ghi ch
giao d ch: n)
p nh t
p ch Danh sách
i i
t u
t p
Nh p b n ghi M
Nh p b n ghi T
Vùng làm vi c
p
Cho n khi c 2 khóa
M và T tr thành
giá tr cao
= ≠
Khóa M : Khóa T
Nh p b n ghi M
t thúc
2.2 Các thu t toán 63
2.2.6 hình
Trong th gi i máy tính hi n t i, CAD, CG và nh ng công ngh v hình ang c s d ng.
Trong thu t toán v hình, m t hình c i x nh m t t p các ch m. Cách m t ng th ng
n và ng tròn c v ra s c gi i thích trong m c này.
Hàm D (x, y) c dùng v m t ch m t i m giao n i ng theo to x và ng theo
to y g p nhau, nh c a ra trong Hình 2-2-43.
m v A có t a D (x, Y)
y
0 x Tr c X
(1) V ng th ng
Hình 2-2-44 nêu vi c v ng th ng.
Hình 2-2-44 Ví d v vi c v ng th ng
Hình 2-2-45 L u c a vi c v ng th ng
t u
Nh p
x1, x2, y1, y2
x2 x1 →dx
≥
y1 : y2
<
1 → ST - 1 → ST
y2 y1→ dy y2 - y1→ dy
≤
dx : dy
>
≤
D (x1, y1) y1 : y2
>
dx ÷ 2 → S Trao i x1 v i x2
và y1 v i y2
Vòng l p 1
D (x1, y1)
x1 ≥ x2
S dy → S dy ÷ 2 → S
≥ Vòng l p 2
S:0
y1 ≥ y2
<
S + dx → S S dx → S
y1 + ST → y1
≥
x1 + 1 → x1 S:0
<
D (x1, y1) S + dy → S
x1 + ST → x1
Vòng l p 1 y1 + 1 → y1
D (x1, y1)
Vòng l p 2
t thúc
2.2 Các thu t toán 65
(2) V ng tròn
Hình 2-2-46 nêu cách v ng tròn.
u trong Hình 2-2-47 nêu ra thu t toán v ng tròn d a trên to (x, y) c a tâm m
và bán kính r. v ng tròn này, không nên dùng hàm l ng giác c n th i gian th c hi n
lâu.
66 Ch ng 2 Thu t toán
t u
Nh p x, y, r
r → wx, ws
0 → wy
Vòng l p 1
wx < wy
D (x + wx, y + wy)
D (x + wx, y - wy)
D (x - wx, y + wy)
D (x - wx, y - wy)
D (x + wy, y + wx)
D (x + wy, y - wx)
D (x - wy, y + wx)
D (x - wy, y - wx)
ws wy ∗ 2 1
→ ws
wy +1 → wy
ws : 0
ws +( wx 1) ∗ 2
→ ws
wx - 1 → wx
Vòng l p 1
t thúc
2.2 Các thu t toán 67
2.2.7 th
th chúng ta th o lu n trong m c này là th c t o nên t các cung n i nhi u m. V
b n ta gi thi t là th vô h ng. th có h ng c ng có th c dùng, tu theo ki u
n c n c gi i quy t.
Bài toán ng i ng n nh t c mô t ây nh m t trong nh ng bài toán th tiêu bi u.
Hình 2-2-48 B n ( ng tô m là ng ng n nh t)
D
3 1
B F
2 2 3
A 4 2 H
C
3 2 4 3
E G
B F
1 1 1
A 1 1 H
C
1 1 1 1
E G
E
H
C C G
A F
B B B B
1 2 3 4 5
Hình 2-2-51 Tr ng thái c a m ng
A B C D E F G H
A A A G C G
3 1
2
Tr c khi các nút c ch n c a vào trong ng n x p, nút ã ch n b c 2 trên ph i cl u
tr trong m ng. Ví d n u A c ch n và B , C và E c a vào trong ng n x p. A ph i
c l u tr trong các ph n t c a B, C và E. Sau khi nút tìm ra c t vào trong ng n x p, các nút
còn l i c tìm l n l t tìm ra ng ng n nh t. ( ng t ng t c th c hi n trong h p hình
2-2-53.
<K t qu >
Vi c duy t c th c hi n b ng ph ng pháp chi u sâu tr c cho k t qu trong ng
A-C-G-H c v trong Hình 2-2-51. M c d u hình trên v ra s c s c a vi c th c
hi n duy t, u x y ra trong vi c duy t th c t còn ph c t p h n. T c là, gi s r ng ng
ng n nh t không th tìm c, các ng khác c duy t l p l i, t c là khi vi c duy t t
i b c tr c b c t H, c v trong Hình 2-2-50, b c … trong ch ng, nó nh y lùi v
c 1 và l p l i t t c các b c. n trình này c l p cho t i khi ch ng tr thành r ng
cho t t c các ng u c tính t i tìm ra ng ng n nh t.
‚ Ph ng pháp duy t chi u r ng tr c
Dùng ph ng pháp duy t chi u r ng tr c, t t c các ng có th d n t i ích u c
duy t qua b ng vi c dùng hàng i.
<Th t c> (Hình 2-2-52)
1. M t nút t i m b t u c t vào trong hàng i.
2. M t nút c l y ra kh i hàng i. Các nút k v i nút c l y ra này c ki m tra còn
nh ng nút ch a bao gi c t vào trong hàng i thì c ch n. Các nút c ch n
c t vào hàng i.
3. Nút c l y ra trong b c 2 c l u gi vào m ng.
4. Các b c 1, 2 và 3 trên c th c hi n l p l i cho t i khi m t nút ích c t t i hay
khi hàng i tr thành r ng.
Hình 2-2-52 Tr ng thái c a hàng i
A A
A B C E B C E
B C E D F D F
C E D F G G
E Vì C g n E v a c t vào trong
D F G
hàng i, nên không có cái x lý
D F G Vì C g n E v a c t vào trong
hàng i, nên không có cái x lý
F G H H
2.2 Các thu t toán 69
A B C D E F G H
A A B A B C F
3 1
2
Tr c khi nút c t vào trong hàng i, nút tìm ra b c2 c l u tr
trong m ng. Ví d , n u a c tìm ra và B, C và E c t vào trong hàng
i, A c l u tr trong các ph n t c a B , C và E
Vi c duy t c th c hi n b ng vi c dùng ph ng pháp duy t chi u r ng tr c cho k t qu
trong ng i ng n nh t A-B-F-H c v trong Hình 2-2-53. T t c các nút u c
duy t l n l t, nh c nêu trên, trong khi các tính toán c th c hi n tìm ng t t
nh t.
ƒ Ph ng pháp duy t c a Dijkstra
Ph ng pháp duy t c a Dijkstra là ph ng pháp áp d ng cách duy t chi u r ng tr c.
<Th t c> (Hình 2-2-54)
1. Kho ng cách t i t ng nút k v i nút b t u c o và nút n m t i kho ng cách ng n
nh t s c ch n (nút này c g i là X).
2. Kho ng cách t i t ng nút k v i nút X t nút b t u c ng nh kho nh cách t i các nút
ngo i tr X t nút b t u là c o và nút n m kho ng cách ng n nh t c ch n.
3. B c 2 c th c hi n l p l i trên m i nút cho t i khi t t i nút ích.
4. ng vi c b sung thêm kho ng cách c g n v i t ng nút, có th thi t l p ra con ng
ng n nh t.
70 Ch ng 2 Thu t toán
ng tô m là ng chia các
nút riêng ho c các tuy n ng
ã x lý
(Kho ng cách ng t B t i F ng n h n
kho ng cách ng t B t i F qua D. Vì v y,
ng t D t i F b c t b )
Tr c khi tuy n ng b b ,
xem xét kho ng cách
hai ng ub c tb
t qu thu c t ng t nh
ph ng pháp duy t chính xác th
nh t
<Tìm ki m xong>
2.2 Các thu t toán 71
c 1 Tính xm chia vùng [x1, x2] thành 2 ph n [x1, xm] và [xm, x2]
c 2 M i ph n c ki m tra xác nh xem ph n nào có l i gi i. N u f(x1).f(x2) < 0, thì ph n có
i gi i bên trái, ng c l i ph n có l i gi i bên ph i.
c 3 N u f(x1) . f(xm) < 0, xm x2, Ng c l i xm x1.
c 4 So sánh | x1 x2 | và xét xem có áp án g n úng hay không. N u | x1 x2 | > , quay l i
c 1 và l p l i các b c 1 n b c 4.
Nh p x1 và x2
f (x1 ) → y
x1 + x2 xm
2
Không y x f ( xm ) <0 Có
xm → x1 xm → x2
Có x1 - x2 ≥
Không
a ra
x1 + x2
2
K t thúc
‚ Ph ng pháp Newton
Ph ng pháp Newton gi thi t r ng m t l i gi i x p x c a ph ng trình b c cao là ã c
bi t. L i gi i x p x ó c hi u ch nh l p l i thu c l i gi i úng. Ph ng pháp c a
Newton là cao c p h n các ph ng pháp khác ch t c h i t nhanh h n và có th thu
c c nghi m th c và o.
Hình 2-2-58 là th c v dùng ph ng pháp Newton.
f (x i )
x i +1 = x 1 − (i = 0, 1, 2, ...)
f ′( x i )
Hình 2-2-60 a ra l u c a thu t toán thu c l i gi i c a f(x) = 0 b ng vi c dùng
ph ng pháp Newton.
Ph ng pháp Newton
0→K
l n l p l i l n nh t: Kmax
Giá tr h i t :
xk -
f (xk )x2 xk
f (xk )
≤
xk +1 - xk :
>
K+1 →K
≤
K : Kmax
a ra xk + 1
>
Không h i t
K t thúc
74 Ch ng 2 Thu t toán
Hình 2-2-64 nêu thu t toán tính di n tích b ng vi c dùng qui t c hình thang d a trên
Hình 2-2-63.
Hình 2-2-65 nêu ra l u c a thu t toán tính di n tích b ng vi c dùng máy tính và qui
c hình thang.
76 Ch ng 2 Thu t toán
t u
Nh p a, b và n
b-a →n
n
0 →S
0 →k
a →x
f (x) → y 1
k+1→k
x + h→ x
f (x) → y 2
y2→y1 S + h (y 1 + y 2 ) → S
2
< k:n
≥
a ra S
t thúc
‚ Ph ng pháp Simpson
ng vi c dùng qui t c hình thang, m t ng cong c chia thành các kho ng u nhau
và các m giao c a ng cong cn il i t o thành các hình thang.T ng di n tích
c tính b ng t ng di n tích c a các hình thang. M c d u sai s có th c gi m i b ng
vi c t ng s các hình thang, s các hình thang càng l n thì th i gian tính toán càng lâu. H n
a, b i vì ph ng pháp này d a trên s trong ó m t di n tích c bao b i ba ng
th ng và m t ng cong c coi là hình thang, nên có m i quan tâm v chính xác c a
t qu thu c.
Xem nh m t gi i pháp, ph ng pháp Simpson c dùng nh c nêu trong Hình 2-2-66.
ng vi c dùng ph ng pháp này, ng cong c làm x p x thành m t parabol d x lí
tính di n tích.
2.2 Các thu t toán 77
Hình 2-2-68 nêu ra l u c a thu t toán tính di n tích b ng vi c dùng máy tính và
ph ng pháp Simpson.
78 Ch ng 2 Thu t toán
(b a)/(2Xn) → h
a →x
0 →S
0 →i
S + f(x)+4 X f(x + h )
+ f(x + 2h ) → S
x+2Xh →x
i+1→i
< i:n
≥
SX →S
3
a ra S
t thúc
uh c s p thành c p là
P = { (A, a), (B, b), (C, c) },
A c m th y yêu m n b h n a, ng i là b n tình hi n t i. b c m th y yêu m n B, ng i là b n
tình hi n t i, h n A. Do ó, ph i không có v n gì. B c m th y yêu m n a và c h n b, ng i
là b n tình hi n t i. B i vì a c m th y yêu m n A, ng i là b n tình hi n t i, h n B, nên ph i
không có v n gì. Tuy nhiên, c c m th y yêu m n B h n C ng i là b n tình hi n t i. Tr ng
thái này c g i là tr ng thái không n nh. B ng vi c thay i b n tình, h có th cs p
thành c p là
P = { (A, a), (B, c), (C, b) }.
Tr ng thái s p c p này có th c phân tích nh sau:
• A c m th y yêu m n b h n a, ng i là b n tình hi n t i. → b c m th y yêu m n C, ng i
là b n tình hi n t i, h n A.
‚ B c m th y yêu m n c ng i là b n tình hi n t i.
ƒ C c m th y yêu m n c h n b, ng i là b n tình hi n t i. → c c m th y yêu m n B, ng i
là b n tình hi n t i, h n C.
„ a c m th y yêu m n A ng i là b n tình hi n t i.
… b c m th y yêu m n C, ng i là b n tình hi n t i.
† c c m th y yêu m n A h n B, ng i là b n tình hi n t i. → A c m th y yêu m n a, ng i
là b n tình hi n t i, h n c.
Trong vi c s p x p c p này, không c p nào có nhân t không n nh. K t qu này c g i là
n nh hay i sánh n nh.
i sánh n nh có th không nh t thi t c xác nh duy nh t. Có th có tr ng h p vi c
i sánh n nh không th c t t i b ng vi c dùng cách ti p c n c mô t trên. Bài
toán hôn nhân n nh c mô t t i ây, c thi t k t t i vi c sánh ôi n nh b ng
cách xác nh các u ki n cho t ng c p nh t nh:
[Bài toàn hôn nhân n nh]
N àn ông và N àn bà ang tìm các c p n nh.
F (5) 5 4 2 1 3 0
Trong l u c v trong Hình 2-2-69, hàm K (p1, p2, p3) c dùng so sánh các m c
yêu m n.
Hàm K (p1, p2, p3): Hàm này là cho l i ho c p2 ho c p3 trong ph n t m ng p1, ph n t
cao h n theo m c yêu m n. K (F(2), 1, 3) → 1
Hình 2-2-69 nêu l u c a thu t toán c a bài toán hôn nhân n nh.
2.2 Các thu t toán 81
t u lý theo ngh
1 →i Vòng l p 2
M ( j , N + 1) ≠ 0
Vòng l p 1
i>N M (j , k) → l
i →j F (I, N + 1) : 0
=
≠
1→k
F (I, N + 1) → w I → M ( j , N + 1)
lý theo ngh
K (F ( I ), j, w) → x j → F ( I , N + 1)
i+1→i
≠
x: j
=
Vòng l p 1
I → M ( j , N + 1)
w →j
t thúc
0 → M ( j ,N + 1)
1→k
Vòng l p 3
M ( j, k) ≠ I
k+1 →k
Vòng l p 3
k+1 →k
Vòng l p 2
Thoát
82 Ch ng 2 Thu t toán
Hàng c ng tr ng
ng giá tr
ch n ng
Hàng 1, 2 và 3 2 + 3 + 5 = 10 2 + 4 + 8 = 14 ← T i a
Hàng 1 và 5 2 + 8 = 10 2 + 10 = 12
Hàng 2 và 4 3 + 7 = 10 4 + 9 = 13
Có n s nguyên d ng a1, a2, a3, ..., an, và b1, b 2, b3, ..., bn, và m t s nguyên d ng, c. Hãy tìm
t t h p c a x1, x2, x3, ..., xn làm t i a t ng s c a b ixi (i = 1-n) v i xi ={0, 1} và t ng s c a
aixi (i = 1-n) là b ng hay nh h n c.
2.2 Các thu t toán 83
ng ban ux Vòng l p 1
i = 1 , 2, , N
0 → MAX
b ( i )/ a ( i ) → k ( i )
0 →T
Vòng l p 1
Vòng l p 1
T≥2
N
ng ban ux
d ng T nh s nh phân, m i
c thay th trong m ng w 0 → MAX
0→J c→j
Vòng l p 2
Vòng l p 2 t c các ph n t k
I = 1, 2, , N trong m ng u b ng
0 ho c j = 0
J +a(i)∗w(i)→J
Ch s d i cho giá tr l n
nh t trong m ng là k → i
Vòng l p 2
0 →k(i)
>
j:c >
a(i):j
≤
≤
0→K
1→x( i)
Vòng l p 3 J a(i)→J
I = 1, 2, , N
MAX + b ( i ) → MAX
K + b ( i )∗ w ( i ) → K
Vòng l p 2
Vòng l p 3
≤ ng x, a ra MAX
K : MAX
>
K → MAX t thúc
ng w → M ng x
T+1→T
Vòng l p 1
ng x, a ra MAX
t thúc
2.2 Các thu t toán 85
u thu t toán này c dùng, thì kh n ng còn l i là l i gi i c cho b i thu t toán này là
không úng. Ki u thu t toán này c g i là thu t toán xác su t v i sai s b ch n. V i thí
c bi t trên, vì xác su t mà sai s s xu t hi n là th p, nên l i gi i c cho b i thu t
toán này nên c xem là ph thu c. Bên c nh thu t toán xác su t v i sai s b ch n, thu t
toán xác su t không sai s ôi khi c ng c dùng. M c d u thu t toán này v m t lí thuy t
có th m b o tính úng n c a l i gi i ã cho, ôi khi ph i m t r t lâu m i th c hi n
xong ti n trình thu t toán này, hay nó k t thúc mà không cho l i gi i xác nh.
Thu t toán xác su t không sai s là thu t toán s p x p nhanh. Thu t toán này c thi t k
t ng c ng hi u qu b ng vi c b trí l i ng u nhiên d li u vào b ng vi c dùng s ng u
nhiên.
‚ Cách tìm h ng s hình tròn π
Hình 2-2-71 a ra m t vòng tròn bán kính 1. Di n tích c bao b i các tr c và cung là
t ph n t di n tích c a hình tròn y có bán kính 1. Do ó, nó là π/4 (= 1 × 1 × π/4).
t khác, di n tích c a hình vuông c bao b i b n ng, x = 0, x = 1, y = 0 và y = 1 là
86 Ch ng 2 Thu t toán
1. N u các m trên hình vuông này c ch n l a theo cách ng u nhiên, thì xác su t các
m c ch n này bên trong vòng tròn là π/4.
Trong l u c v trong Hình 2-2-71, 1,000 m c sinh ra b ng vi c dùng hàm
RAN ( ) mà có th sinh s ng u nhiên gi a 0 và 1. Li u các m c sinh ra có bên trong
vòng tròn hay không c xác nh b ng vi c o kho ng cách tr c ti p t (0, 0) t i t ng
m. làm n gi n hoá tính toán, vi c tính c n b qua. Trong tr ng h p c a ví d
c nêu trong Hình 2-2-71, ng i ta ánh giá r ng (x1, y1) là bên trong n u (x12+y1 2)≤1
và r ng (x2, y2) là bên ngoài n u (x22+y2 2)>1.
Tr c y
t u
y2
(x2 , y2 ) 0 → i, ct
Vòng l p 1
i > 1000
y1 (x1 , y1 ) RAN ( ) → x
RAN ( ) → y
0 x1 x2 1 tr c x
x∗x+y∗ y→w
w:1
>
≤
ct + 1 → ct
i+1→i
Vòng l p 1
ct ∗ 4 / i → P
t thúc
Vì h ng vòng tròn thu c theo cách này ch a sai s n y sinh t các c tr ng c h u trong
ph ng pháp c dùng sinh ra s ng u nhiên, nó nói chung c dùng trong bi u di n
có ch a sai s chu n (l i gi i ± sai s chu n).
Thu t toán gi ng th này, dùng s ng u nhiên gi i các bài toán toán h c, c g i là
ph ng pháp Monte Carlo.
2.3 ánh giá thu t toán 87
‚ Duy t nh phân
- S t i thi u l n so sánh: 1 ( ph c t p tính toán: O (1))
- S trung bình l n so sánh: [log2n] ( ph c t p tính toán: O (log2n))
- S t i a l n so sánh: [log2n]+1 ( ph c t p tính toán: O (log2n))
Bài t p
Trong thu t toán duy t tuy n tính c nêu d i ây, u ki n nào nên c a vào trong
ch tr ng ?
c1 1 c t cho ch s i.
c2 n u , trình nh y t i b c 5.
c3 1 c c ng vào ch s i.
c4 Trình nh y t i b c 2.
c5 N u ch s i là n hay bé h n, "exist" c ch ra.
c6 K t thúc
t u
1 → l0
n → hi
(l 0 + h i) / 2 → k
= >
A( k ) : x
aa ba
l0:hi
≤
>
a b nt ix Không t n t i x
a k + l → hi K - l → lo
b k - l → hi k + l → lo t thúc
c k + l → lo K - l → hi
d k - l → lo k + l → hi
Bài t p 91
Q5 Chú thích nào trong các chú thích sau c nêu v ph ng pháp duy t là sai?
a. Dùng ph ng pháp duy t nh phân, d li u ph i c s p x p.
b. duy t 100 d li u b ng vi c dùng ph ng pháp duy t nh phân, s l n so sánh t i a
c c n t i tìm ra d li u ích là 7.
c. N u ph ng pháp duy t tuy n tính c dùng, s l n so sánh không nh t thi t gi m i cho
dù d li u ã c l u gi .
d. N u s d li u là 10 hay nh h n, thì s l n so sánh trung bình mà ph ng pháp duy t
tuy n tính òi h i, là nh h n s l n trung bình c a ph ng pháp duy t nh phân.
e. N u s d li u t ng lên t 100 t i 1,000, thì s l n so sánh t ng lên 10 l n h n ph ng
pháp duy t tuy n tính c dùng. B ng vi c dùng ph ng pháp duy t nh phân, s này
ng lên hai hay ít h n.
A B C D E
a gi m d n s px p s p x p ngoài cs px p vi c g p
b t ng d n g p g p ngoài cg p vi c s p
p
c gi m d n g p g p trong cg p vi c s p
p
d t ng d n s px p vi c s p x p cs px p vi c g p
ngoài
e t ng d n g p g p trong cg p vi c s p
p
92 Ch ng 2 Thu t toán
t u
các ph n t →n
Vòng l p
n≤1
1→i
Trao i
i=n
A ( i ) : A (i + 1)
A(i)→w
A(i +1)→A(i)
w → A ( i + 1)
i+1→i
Trao i
n-1→n
pl i
t thúc
t u
TANGO ( n ) → TANGO ( 0 )
Vòng l p
i : n 1, -1, 0
Vòng l p
t thúc
c ích c a ch ng
Gi i thi u
c ích c a thi t k trong là xác nh các ch c n ng c a ph n m m theo quan m c a
ng i phát tri n. Thi t k trong là m t ti n trình r t quan tr ng, vì m t k ho ch thi t k c s
c phát bi u ra và phân tích h th ng ph i c cài t trong ti n trình này.
c d u thi t k ngoài không gi i quy t v i ch ng trình, thi t k trong l i liên quan t i
ch ng trình, mà trong ó các hàm c n thi t c xác nh qua vi c phát tri n các h con
trong giai n thi t k ngoài, ph i c cài t. Ch ng trình có nh h ng l n, không ch
lên thi t k và ki m th ch ng trình trong ti n trình ti p, mà còn lên tính hi u qu khi h
th ng i vào v n hành. Do ó, các h con ph i c phân chia r t c n th n.
Trong ch ng này, chúng ta h c cách t ng kho n m c c ti n hành và k thu t nào c
dùng cho ta có th hi u rõ m t tài li u thi t k ngoài, và có kh n ng t b n thân mình
chu n b công vi c thi t k tin c y.
thi t k trong.
Trong khi làm sáng t các nhân t "t i sao" và "cái gì", xem nh m t nguyên t c, thì "th nào"
ph i b g t ra ngoài xem xét.
Hi u tài li u phân
tích h th ng
Phân ho ch và c u
trúc ch c n ng
o ra tài li u thi t
trong
Xét duy t
thi t k
98 Ch ng 3 Thi t k trong
Chi ti t c a t ng b c c mô t d i ây:
(3) Thi t k d li u v t lí
Trong b c này c a th t c thi t k trong, các ng truy nh p vào c s d li u và t p, vi c
so n th o các t p c ng nh cách b trí, c thi t k d a trên d li u c a thi t k d li u logic
ã c t o ra trong ti n trình thi t k ngoài.
3.1 Thi t k trong là gì? 99
(6) Ki m m thi t k
c ích c a ki m m thi t k trong giai n thi t k trong là:
- Làm h p l r ng yêu c u c a ng i dùng c tho mãn
- Ki m ch ng tính nh t quán v i thi t k ngoài c duy trì và d li u thi t k trong ã
chu n b có th c trao cho giai n thi t k ch ng trình.
Ghi nh hai m c ích này, vi c ki m m thi t k c ti n hành theo cách k l ng. Cu c
p ki m m thi t k là quan tr ng trong b t kì giai n nào; thi t k ch ng trình và các
ti n trình ti p theo sau ó b nh h ng l n b i li u cu c ki m m thi t k ti n hành cho
thi t k trong có thành công hay không.
<Các m c n l u ý khi ti n hành ki m m thi t k >
- Các s n ph m c t o ra giai n thi t k trong c ki m ch ng..
- N i dung c a thi t k trong c ki m m xác nh n r ng nó là nh t quán v i n i
dung c a tài li u thi t k ngoài, và r ng t t c các ch c n ng c nêu ra trong tài li u
thi t k ngoài là c cài t.
- Các ch c n ng c cài t c ki m m xác nh n r ng chúng c phân chia và
u trúc thích h p.
- Các giao di n gi a các ch ng trình c ki m m xác nh n r ng chúng ã c
thi t k úng.
- S thích h p c a thi t k d li u v t lí c ki m m.
- Các cái vào và cái ra chi ti t c ki m m xác nh n r ng chúng c thi t k có
tính t i vi c làm d dàng cho ng i dùng.
- Các ch c n ng thi u và nh ng m không thích h p c ch ra.
3.2 Phân ho ch và c u trúc ch c n ng 101
(1) Ch c n ng và ch ng trình
<Thi t k ngoài>
con c xây d ng lên trong vi c phân ho ch nó thành các ch c n ng. Trong khi làm vi c
phân ho ch, m i ch c n ng c xét nh nv c phân ho ch nh nh t; không k ó là
ch ng trình hay công vi c th công.
(th công)
<Thi t k trong>
Các ch c n ng c a h con c nghiên c u k l ng và chúng c phân ho ch ra, ng v i
trong ch ng trình là m t n v c a vi c x lí máy tính.
(2) S p th t
<Thi t k ngoài>
con c phát tri n, nh ng các ch c n ng c a h con còn ch a c s p th t .
<Thi t k trong>
Th t th c hi n ch ng trình c xác nh cài t các ch c n ng và th c hi n các
thao tác m t cách có hi u qu . Nó th ng c bi u di n d i d ng l u ti n trình (xem
Hình 3-2-3).
Các
p
chính
n Danh
ghi t p sách
chính
ng các Các
p chính p
chính
Danh
sách b n
ghi
3.2 Phân ho ch và c u trúc ch c n ng 103
Ki m tra d px pd Tính l ng o t p kê
li u làm vi c li u làm vi c tháng ng
o b n kê o báo cáo ot p
ng ng tháng ng n m
(2) Làm rõ lu ng d li u
phân ho ch ch c n ng, lu ng d li u c n c x lí ph i c xác nh rõ. Lu ng d li u
c bi u di n b ng vi c dùng d li u logic d i d ng bi u lu ng d li u (DFD) hay s
t.
104 Ch ng 3 Thi t k trong
p t ng k t chi
n in l i
ot p p t ng k t ot p
ng k t chi
chi chi n m
p t ng k t chi p t ng k t chi
ob n o báo
ng k t cáo chi p chi n m
chi tháng (m i)
(3) G p nhóm ch c n ng
a trên lu ng d li u c v trên, các ch c n ng yêu c u c g p nhóm l i cho phép
máy tính th c hi n t ng nhi m v ã nêu. B c này r t có th c g i là b c chu n b , u
d n t i vi c t o ra và dùng l i các b ph n..
Các ch c n ng trong lu ng c v theo (2) trên có th c g p nhóm nh trong Hình 3-2-6.
Hình 3-2-6 G p nhóm ch c n ng
pl ng chính
li u làm vi c
li u làm vi c li u làm vi c
ã ki m tra ãs px p
Ki m tra px p Tính
li u li u ng
p chi n m
làm vi c làm vi c tháng
(c )
p t ng
t chi p t ng
t chi
n in l i px p Tính
li u ng
p t ng làm vi c tháng
t chi p t ng
t chi
ob n o báo
p chi
kê l ng cáo l ng m
tháng (m i)
p t ng k t Báo cáo l ng
tháng
chi
<Ki m tra <S p x p a ra k t qu tính
li u> li u> ng tháng>
3.2 Phân ho ch và c u trúc ch c n ng 105
1
2 3
Ki m tra d p x p d li u Tính l ng
li u làm vi c làm vi c tháng
4
5 6 7
Ki m tra d li u làm vi c
li u c a vào và ki m tra.
u d li u làm vi c ch a l i, thì nó c a ra b n in l i
li u không ch a l i c ghi lên t p trên b nh ph xem
nh d li u làm vi c ã ki m tra.
li u a ra b n in l i c s a l i, và l i c a ra nh
li u làm vi c ã ki m tra
li u làm vi c ã s p x p
li u làm vi c ã ki m tra c phân lo i theo mã phòng
ban và nhân viên t o ra d li u làm vi c ã s p x p (d li u
tháng)
Ch c n ng A Ch c n ng B Ch c n ng C
Ch ng trình này ch a
nhi u ch c n ng
Ch c n ng A Ch c n ng B Ch c n ng C
3.2 Phân ho ch và c u trúc ch c n ng 107
Ch c n ng A Ch c n ng B Ch c n ng C Ch c n ng D
Ch c n ng A Ch c n ng B Ch c n ng C Ch c n ng D
Ch ng trình
W C
D F
E Ch ng trình
W: t p làm vi c F
D E
<Tài li u>
Hình 3-2-13, 3-2-14 và 3-2-15 a ra c u trúc h con, giao di n ch ng trình v i ch ng
trình và các ch c n ng ch ng trình t ng ng trong tr ng h p v a trình b y trên.
Hình 3-2-13 C u trúc h con
0.0
con tính
ng tháng
1.0 2.0
lí d li u làm vi c Tính l ng tháng
cs al i
a vào d li u làm vi c
và nh p l i.
D li u h ng
Ki m tra d li u làm vi c
li u làm vi c
li u ã Danh
ki m tra sách l i
li u làm vi c ã s p
p chi li u
chính ãs p
li u làm vi c ã s p cho tháng
li u chi ã s p hi n t i
o ra t p t ng k t chi
Chi ti t v nhi m v
Cách th c hi n nhi m v trong ch ng trình
Gi i thích các tham bi n vào và ra
Gi i quy t l i
Danh sách các thông báo
uý c bi t
3.2 Phân ho ch và c u trúc ch c n ng 109
(1) L u
u c ng còn c g i là s ti n trình. (L u th ng c dùng cho các x lí h l u.)
u c t o ra b ng vi c dùng các kí hi u c chu n hoá, b ng vi c xác nh và phân
tích các v n ph c t p và các th t c x lí nhi m v .
Hình 3-2-16 L u (s ti n trình)
a d li u làm
vi c vào
Ki m tra
li u làm vi c n in l i
ã ki m tra
Hàng i:
px p
Mã phòng ban, mã nhân viên
li u làm vi c p
ãs px p chi chính
Tính l ng tháng
p
p t ng k t
chi n m (c )
chi
(2) Bi u lu ng d li u (DFD)
Bi u lu ng d li u (DFD) c dùng di n t lu ng x lí nhi m v hay thao tác h
th ng m t cách có h th ng. Trong khi vi t bi u lu ng d li u, nói chung c n ph i chú ý t i
i d li u c dùng, cách nó c x lí và n i nó c l u gi . Bi u lu ng d li u là
t k thu t d dùng và hi u qu trong vi c trình bày m t t ng quan v yêu c u ng i dùng.
n ây nó ã c dùng ch ra lu ng d li u trong h con.
(4) S có c u trúc
có c u trúc c dùng bi u di n cho các ch c n ng c a t ng ch ng trình theo m t
cách th c d hi u. Vi c dùng m t s có c u trúc, các quan h ch - t gi a các ch ng trình
có th c di n t nh m t c u trúc phân c p.
ts có c u trúc r t d hi u khi c dùng bi u di n cho các giao di n gi a các
ch ng trình ch a h th ng hay c u trúc c a t ng ch ng trình.
1. Nh p công vi c
( b c công vi c)
o công vi c
i l nh
2. u ki n th c hi n 3. Tr ng thái th c hi n
u ki n s n sàng) (tr ng thái ch y)
Thi t b b m gi ng t
Ng t vào ra Ng t SVC
5. Xóa ho c xác nh
4. u ki n i
công vi c
(6) S b t
b t c dùng phân tích hay phân chia m t h th ng hay ch ng trình mong mu n.
Các m c n l u ý là khi phân tích m t h th ng hay ch ng trình:
- D li u nào c sinh ra âu?
- Lu ng d li u nh th nào?
- D li u c x lí nh th nào?
Công vi c c a thi t k có c u trúc có th c s p x p h p lí b ng vi c dùng các k thu t hay
công c (1) t i (6) theo cách t h p.
112 Ch ng 3 Thi t k trong
3.3 Thi t k d li u v t lí
Trong ti n trình thi t k d li u v t lí, các kho n m c và các c tr ng (vi c s d ng và t ng t
) c a d li u trong c s d li u, t p hay c u trúc b ng trong b nh , c xác nh trong
ti n trình thi t k d li u logic, s c ki m m và cách t ch c v t lí và b trí d li u c
thi t k .
li u và ph ng ti n ghi nh ph i c xem xét có chú ý t i các c tr ng t ng ng c a
chúng, và ph ng ti n l u gi thích h p nh t ph i c ch n l a sao cho các c tr ng d
li u có th c dùng t n d ng các u th , các b n ghi có th c t ch c theo cách b trí
hi u qu cao.
3.3.1 Th t c thi t k d li u v t lí
Th t c thi t k d li u v t lí c mô t trong M c 3.1.2. M c này mô t n i dung c a công
vi c thi t k d li u v t lí, các m quan tr ng c n l u ý, và nhi u c tr ng khác m t cách
th t chi ti t.
- Tr ng h p ch t nh n c
th ng cho t ch c d li u thành c u trúc logic c xác nh tr c h t, r i t ch c v t
lí c xác nh.
n: t p hàng hoá ph i c thi t k nh t p chính.
t qu : T p hàng hoá c l u gi trên a t và c dùng nh t p tu n t có ch s .
- Tr ng h p không ch p nh n c
ch c v t lí c xác nh tr c, r i h th ng cho vi c t ch c d li u thành c u trúc
logic c xác nh.
n: Các t p ph i c l u gi trên b ng t và c dùng nh các t p tu n t có ch s .
t qu : T p hàng hoá nên c dùng nh t p chính, nh ng b ng t là không ti n dùng.
Chúng ta nên làm gì?
u c n khuy n cáo là h th ng t ch c d li u thành c u trúc logic c xác nh tr c,
i t ch c v t lí m i theo sau.
m c n l u ý>
- Ph m vi c a vi c dùng d li u
li u có cd nh dùng ch trong h th ng ang c phát tri n không? Hay nó
ph i c dùng trong m t h th ng khác nh t p chính? Hay nó c dùng ch cho l p
trình?
- D li u t m th i hay d li u c t gi
li u c x lí có ch c dùng t m th i không? Hay nó ph i c gi i quy t nh d
li u c t gi ?
- D li u có c x lí tu n t không và nó có t ng d n hay t ng nhanh?
Nó có ph i là ki u d li u t ng d n và nó yêu c u duy trì b n ghi c p nh t?
(3) Xác nh ph ng ti n l u tr d li u
• Xác nh ph ng ti n ghi nh
Ph ng ti n ghi nh d li u v t lí bao g m:
- a t ( a c ng)
- B ng t
- am m
- a t quang (MO)
- ZIP
- Streamer ( sao l u d li u lên a c ng)
a t -quang, ZIP và streamer là các ph ng ti n ghi nh g n ây m i xu t hi n. Chúng
có dung l ng nh l n (hàng ch c megabytes t i hàng tr m gigabytes) và thích h p cho
vi c l u gi d li u multimedia.
Các m sau ây nên c xem xét trong vi c l a ph ng ti n ghi nh thích h p nh t:
- Dung l ng ghi nh
- c tr ng (ph ng pháp truy nh p d li u)
- T c truy nh p
- B o trì, v n hành, giá c , v.v..
u b n mu n truy nh p tr c ti p vào d li u dùng khoá, thì ch nh ng thi t b ghi nh cho
phép truy nh p tr c ti p, nh a t , m i có th c dùng.
‚ Tính dung l ng nh và th i gian truy nh p
Trong vi c tính dung l ng nh và th i gian truy nh p, c n ph i chú ý t i s khác bi t gi a
các b n ghi logic và v t lí, và nhân t kh i.
114 Ch ng 3 Thi t k trong
<Ki u b n ghi>
- B n ghi logic: M t n v d li u c m t ch ng trình x lí; nó là m t trong nh ng
v t c gi i quy t b ng thi t k tr ng.
- B n ghi v t lí: M t n v d li u c c vào và c ghi ra ph ng ti n ghi nh
Hình 3-3-1 B n ghi logic và v t lí
<b n ghi logic> <b n ghi v t lí>
m c n l u ý>
- Nhân t kh i 3 ngh a là m t kh i ch a ba b n ghi logic.
- Ch ng trình gi i quy t v i b n ghi logic, trong khi d li u a vào, và a ra t
ph ng ti n ghi nh là các b n ghi v t lí.
- Có l h ng gi a các kh i - interblock gap (IBG).
Hình 3-3-2 a ra cách tính dung l ng b nh c a a t và th i gian truy nh p.
(Cách tính)
Dung l ng l u tr c a a t có th c tính nh sau:
Dung l ng l u tr c a rãnh x s rãnh x s cylinder
Ví d : 24 000 bye trên 1 rãnh x 19 rãnh trên cylinder x 800 cylinder trên 1 a
= 364 800 000 byte trên 1 a
2. Th i gian truy c p c a a t
<Các thông s c a a t >
Kh n ng l u tr c a rãnh 15 000 byte
Th i gian nh v u t trung bình 25 mili giây
c quay 3000 vòng /phút
dài m t b n ghi 15 000 byte
<Cách tính>
tính c th i gian truy c p, c n 3 y u t : th i gian nh v u t trung bình, th i gian tìm
ki m trung bình và th i gian truy n d li u. Vì trong b ng trên ch có th i gian nh v u t trung
bình nên ta ph i tính th i gian tìm ki m trung bình và th i gian truy n d li u.
Th i gian tìm ki m trung bình có th tính d dàng qua t c vòng quay c a a t . N u t c
quay là 300 vòng / phút thì th i gian a quay 1 vòng m t 20 mili giây. Vì th i gian tìm ki m trung
bình b ng m t n a th i gian a quay m t vòng nên th i gian tìm ki m trung bình là:
20 mili giây / 2 = 10 mili giây.
Vì t c quay là 3000 vòng / phút = 50 vòng / giây nên th i gian truy n d li u là:
3
50 rãnh / giây x 15 000 byte / rãnh = 750 x 10 byte / giây
i b n ghi có th truy n 15 000 byte nên t c truy n d li u là:
3
15 x 10 byte
3 = 0.02 giây = 20 mili giây
750 x 10 byte / giây
y th i gian truy c p là:
25 mili giây + 10 mili giây + 20 mili giây = 55 mili giây.
3.3 Thi t k d li u v t lý 115
ƒ B trí b n ghi
n ph i tính t i nh ng m sau ây khi thi t k b trí b n ghi b ng cách dùng m u b trí
n ghi (t p):
- V i tên b n ghi, c n ch n dãy kí t d nh bi u di n cho n i dung c a d li u.
- X (kí t ch -s ), 9 (s ) và K hay G (ki u Nh t) ph i c a vào ch ra ki u c a
thu c tính.
- S các ch s t o nên kho n m c d li u ph i c a vào. M t ch s là m t kí
ch -s (m t byte). Trong tr ng h p ki u Nh t B n, m t kí t t ng ng v i hai
byte, và do ó ng i ta khuy n cáo r ng s các ch s c ng nh s các kí t c a
vào làm cho t ng kho n m c d li u d hi u.
3.3.2 ch c d li u v t lí
(1) Ki u t ch c t p
Các ki u t ch c t p v t lí c xác nh d a trên k t qu c a phân tích c tr ng d li u,
ph ng pháp t ch c logic, ch c n ng ch ng trình, v.v...
Các ki u t ch c t p v t lí là:
- T p t ch c tu n t
- T p t ch c tr c ti p
- T p tu n t ch s
- T p t ch c c phân ho ch
- T p t ch c ghi nh o - Virtual storage organization file (VSAM file)
- B ng
Nên ch n ki u t ch c t p v t lí thích h p nh t theo m c ích ã cho.
• T p t ch c tu n t
Trong t p t ch c tu n t , các b n ghi c l u gi tu n t theo v trí liên ti p trên thi t b
ghi nh .
Các b n ghi th ng c thu x p theo th t t ng hay gi m v i kho n m c d li u nào ó
c ch nh làm khoá, hay theo th t các b n ghi c t o ra.
c tr ng>
- Ki u t p này có th c t o ra trên b t kì ph ng ti n nh nào, a t , b ng t v.v.
- Vi c c và ghi t p b t u t u b n ghi; không h tr cho truy nh p ng u nhiên.
- B i vì các b n ghi c l u gi m t cách v t lí và k ti p nhau, nên b n ghi m i không
th c b sung hay chèn thêm vào. Do ó, c p nh t t p nào ó trên b ng t , t p
i ph i c t o ra. Tuy nhiên trong tr ng h p c a a t , d li u có th c ghi
i vào t p g c.
- T c truy nh p nhanh.
- Ki u t p này là thích h p cho x lí theo lô hay sao l u d li u.
‚ T p t ch c tr c ti p
p t ch c tr c ti p ch có th c dùng trên thi t b b nh truy nh p tr c ti p, nh a
.
c tr ng>
- a ch c a d li u c tính b ng vi c dùng ph ng pháp tính a ch c bi t g i là
ph ng pháp b m.
- Cùng m t a ch có th xu t hi n nhi u l n khi vi c chuy n i a ch c th c hi n.
t a ch nh v y c g i là ng ngh a.
- Vi c truy nh p tr c ti p c h tr . Trong m t s tr ng h p, truy nh p tu n t c ng
c h tr .
- Hi u qu b nh là cao.
- T c x lí nhanh.
- Ki u t p này là phù h p v i x lí th i gian th c tr c tuy n òi h i t c cao.
ƒ T p tu n t có ch s
p cho phép tham chi u t i ch s v trí l u gi d li u c ng nh vi c c d li u c bi t
c g i là t p tu n t có ch s . Ki u t p này ch có th c dùng trên thi t b nh truy
nh p tr c ti p (direct access storage devices: DASD).
118 Ch ng 3 Thi t k trong
c tr ng>
- Vùng b nh d li u bao g m m t vùng ch s , vùng d li u chính và vùng tràn.
- Vùng ch s bao g m ch s chính, ch s tr và ch s rãnh. Các ch s này c thi t
sánh v i các khoá c a t ng b n ghi sao cho d li u có th c duy t và tìm. Do
ó, các giá tr khoá ph i c thu x p theo th t t ng.
- C truy nh p tu n t và tr c ti p u là có th .
- Vì vùng ch s ph i c duy t tr c, nên m c hi u qu l u gi là th p.
- T c x lí ch m.
- Ki u t p này phù h p v i t p chính cho công vi c gi y t .
„ T p t ch c có phân ho ch
Trong t p t ch c có phân ho ch, t p tu n t c phân ho ch thành các t p con g i là thành
viên, và m t danh m c c t o ra ch ra v trí b t u c a t ng thành viên cho t ng
thành viên l có th c truy nh p tr c ti p.
Ki u t p này ch có th c dùng trên các thi t b nh truy nh p tr c ti p (DASD), nh a
, nh trong tr ng h p c a t p t ch c tr c ti p.
c tr ng>
- M c d u t ng thành viên có th c truy nh p tr c ti p, các b n ghi c ch a trong
t thành viên c truy nh p tu n t .
- T c truy nh p g n nh là gi ng t c c a t p t ch c tu n t .
- M c hi u qu ghi nh th p h n m c hi u qu c a t p t ch c tu n t vì các danh
c c t o ra.
- Ki u t p này là thích h p cho t p ch ng trình và các th vi n khác nhau.
… T p t ch c l u gi o (t p VSAM file)
p t ch c l u gi o có th c dùng v i h u hành có ch c n ng b nh o.
Ki u t p này ch có th c dùng trên các thi t b l u tr truy nh p tr c ti p (DASD), nh
a t , nh trong tr ng h p c a t p t ch c tr c ti p.
c tr ng>
- T p này c thi t k b ng vi c tích h p ba ph ng pháp truy nh p c dùng cho các
p t ch c tu n t có ch s .
- B i vì ki u t p c ki m soát b i h u hành, nên ng i phát tri n h th ng không
n nh chi u dài kh i hay chi u dài b n ghi.
- Ki u t p này c chia thêm thành ba ki u:
p d li u tu n t theo khoá : KSDS (t ng ng v i t p t ch c tu n t có ch s )
p d li u tu n t theo vi c a vào : ESDS (t ng ng v i t p t ch c tu n t )
p d li u b n ghi t ng i : RRDS (t ng ng v i t p t ch c tr c ti p)
† B ng
ng là m t vùng làm vi c c thi t l p trên n v b nh chính. Trong tr ng h p c a
COBOL, các m c sau c nh ngh a trong Data Division:
- Tên b ng
- S các b ng
- Tên c a kho n m c trong b ng
- Ki u kho n m c d li u (d li u ch -s , d li u s , v.v..)
<Kí t >
- B i vì b ng n m trong b nh , nên t c truy nh p r t nhanh.
- C hai vi c truy nh p tu n t và tr c ti p u có th có do c u trúc ch ng trình.
3.3 Thi t k d li u v t lý 119
(2) Cách x lí
Cách d li u c nh d ng và duy trì có nh h ng t i tính s d ng c c a h th ng. Khi
phát tri n c u trúc d li u trong thi t b nh , ph i xem xét các nhân t khác nhau, ch ng h n
ph ng pháp truy nh p, hi u qu truy nh p, hi u qu không gian, nh v ch h ng, hi u qu
a kh i l ng b m trong b nh , v.v.. Tính t i t t c nh ng nhân t này, vi c gi i quy t
các t p và dùng c s d li u nên c xem xét t i.
Hi u n ng, giá c , gi i quy t tr c tr c và nh ng nhân t khác liên k t v i thi t k h th ng
chung nên c xác nh cùng v i xem xét v các yêu c u h th ng. Tuy nhiên khó t t i
tính hi u qu và dung l ng nh , hay tính hi u qu c a vi c duy t (hi u qu ghi) vào cùng lúc.
Nh ng nhân t liên quan t i tính hi u qu này ph i c xác nh cho chúng có th c
gi cân b ng.
Các t p c ng c di n gi i m t cách khác nhau, tu theo h u hành mà trong ó ch ng
trình ph n m m c t o ra ang ch y. C n ki m ch ng các ch c n ng d ch v qu n lí t p do
u hành cung c p. T ng ng v i di n gi i c a UNIX, m t trong nh ng h u hành
chính, n i dung c a t p nên c ch ng trình nh n ra và không c n h th ng t p c a UNIX
nh n ra. Tuy nhiên theo di n gi i c a MVS, m t nhóm d li u logic c nh n ra nh m t b n
ghi và n v c s c a thao tác t p c ng i l p trình thi t k , là c h th ng t p h tr .
120 Ch ng 3 Thi t k trong
(2) Thi t k
Kích c c a m u, s l ng b n sao, m u s c c dùng trong m u và khuôn kh c a m u d
li u vào ph i c xác nh.
•D a vào d li u
• Ph i gi l ng công vi c c n vi t m c t i thi u
Nh ng m sau nên c xem xét ti t ki m th i gian và lao ng c a ng i dùng
trong vi c a d li u vào:
- Ph ng pháp l a ch n (ng i dùng c yêu c u a ra ch n l a và óng khuôn
t kho n m c)
- S t i thi u các kho n m c a vào
- S trùng l p
- Các kho n m c c nh c n c in ra trên m u a vào d li u
- Nh ng kho n m c ít c a vào s c g p nhóm vào vùng l u ý
• Kho n m c a vào
Kho n m c a vào nên c thu x p theo trình t ý ngh .
- Ng i dùng nên c h ng d n tr c h t a d li u vào nh ng kho n m c c n
chính.
- Ng i dùng nên c h ng d n a d li u vào t góc trên bên trái t i góc d i
3.4 Thi t k vào ra chi ti t 121
bên ph i.
- Các kho n m c a vào nên d c và d hi u.
Ngày____________________________ Khó hi u
2. H ng d n ng i s d ng ng n anh ta/ cô ta t vi c t o ra l i nh p
l ng Khó hi u
nh n , , u này ng n ng i s d ng t vi c t o ra l i nh p.
(không bao g m n n h n)
ƒ Thi t k m u OCR
ng vi c dùng b c kí t quang h c OCR, b n có th a d li u vào tr c ti p b ng vi c
cho m u qua máy c. V i giai n hi n t i c a vi c phát tri n công ngh OCR, vi c c
sai th ng xu t hi n ngay c d li u c vi t úng và d c.
Có m t s bi n pháp tho hi p c ch n: chú ý t i vi c làm rõ m u OCR ( ng n c n vi c
c l m) hay a ra nh ng gi i thích v ki u kí t .
122 Ch ng 3 Thi t k trong
• B qua l i d li u và ti p t c x lí d li u
u ch có vài l i d li u trong hàng nghìn d li u c x lí v i m c ích th ng kê,
thì nh ng l i nh v y ch có nh h ng t i thi u lên các thao tác x lí toàn th , và có
th b qua c. N u t t c các d li u ph i c ng kí, hay n u t l d li u l i t ng
lên, ph ng pháp gi i quy t l i này không th dùng c.
• Th c hi n x lí d li u sau khi t t c các l i d li u ã cs a
Ph ng pháp gi i quy t l i này c dùng n u nó c gi i quy t trong u ki n r t
nghiêm ng t và không m t l i nào c phép xu t hi n (ch ng h n d li u ng kí).
Tuy nhiên công vi c này bao g m vi c s a l i d li u r t t n th i gian.
• Ch dùng d li u úng và ti p t c x lí d li u
Ch dùng d li u úng thì vi c x lí d li u có th c ti p t c. Sau khi c hoàn t t,
các l i d li u c s a, và c g p v i d li u úng. Ti n trình chính, b t u khi t t
các d li u ã c làm thành s n có.
3.4 Thi t k vào ra chi ti t 123
ƒ Ph ng pháp ki m tra d li u
Hình 3-4-3 a ra các ph ng pháp ki m tra d li u chính.
Hình 3-4-3 Các ph ng pháp ki m tra d li u
Ph ng pháp ki m tra d li u Các v n c n ki m tra
Ki m tra nh d ng li u c t o theo nh d ng c th
Ki m tra tính h p
ng máy tính
Ki m tra chu i li u c s p x p theo chu i phù h p v i chu n cho phép
Ki m tra s d Các s bên có và bên n ph i phù h p
Ki m tra d li u th c t ph i phù h p v i s d li u trong máy tính
Ki m tra b ng m t li u a ra ph i c ki m tra tìm các l i d li u
Các ch c n ng GUI c xây d ng bên trong h u hành c a máy tính cá nhân. Tuy nhiên,
trong tr ng h p c a UNIX, các ch c n ng GUI ph i c cài t thêm. Các bi u di n, ý
ngh a và các thao tác trên các bi u t ng là khác nhau tu theo GUI c dùng. B i vì vi c
chu n hoá ã c th c hi n cho t ng GUI, nên n ng su t thi t k ã c i ti n và s l i ã c
gi m i.
„ H p tho i
p tho i c dùng nêu ra thông tin ph n h i cho ng i dùng và l i nh c ng i dùng
126 Ch ng 3 Thi t k trong
Ph n t c i dung
chu n hoá
Tính liên tác Ph m vi v n hành c ch ra sao cho ng i dùng có
th ch n l a và a ra h ng d n. u mong mu n là
màn hình có tính n ng thao tác tr c ti p cho phép áp
ng ngay l p t c.
Tính u Tính nh t quán hay tính u ph i c m b o theo
cách cùng ch c n ng c hi n th và v n hành nh
nhau (các bi u t ng ch ng h n)
Hi n th Tr ng thái v n hành bao gi c ng nên c hi n th và
thông tin c n thi t c cung c p m t cách thích h p
sao cho ng i dùng có th có c m giác ch ng.
Ch c n ng Các ch c n ng tr giúp tr c tuy n, ch c n ng khôi
ph c, phím l i t t v.v. nên c xây d ng trong màn
hình v i xem xét c nêu cho m c ng i dùng thành
th o.
Thu t ng , Thu t ng có th d hi u cho ng i dùng nên cs
us c ng. M u s c nên c ch n l a không ch c t c
hay làm m t ng i dùng.
3.4 Thi t k vào ra chi ti t 127
Hình 3-4-11.)
<Nh ng m quan tr ng>
- Các nút "back" và "next" nên c t vào, vì có th x y ra là t t c các d li u không
th bi u th c h t lên màn hình do gi i h n kích th c c a màn hình.
- Nút "print" nên có cho phép ng i dùng b t u in nh ng th có trên màn hình.
- M u s c và kh i l ng d li u c hi n th trên màn hình nên c gi i h n cho
li u c hi n th có th trông rõ ràng.
Hình 3-4-13 Bi u d
Tên mã nh n d ng thông p
Mã thông p Thông p Mô t
ME000001 Phím nh n là khóa ch c n ng không Nh n khóa ch c
pl ng sai
MG000002 Sau khi ki m tra d li u nh p vào, Thúc y ng i
nh n khóa th c hi n dùng ki m tra d
li u
ME000001 Khóa ã t n t i Khóa sai c thi t
p s d ng?
MI000002 t gi y lên máy in Gi y không t
trong máy in
ME000003 D li u c làm n i b t trong video Nh p d li u ch a
o ng c ch a các l i i
132 Ch ng 3 Thi t k trong
PRG0100 *** Danh sách b n ghi sinh viên (toàn nhóm) ***
1 Tháng 12, 2000 Trang 1
Phòng L p S tham d Tên Ph n c ng Ph n m m L p trình Th ng m i
s DK01 01 Ichiro Suzuki A B B B
nt ng t
nh trên ς ς ς ς ς ς
ng t DK02 01 Yoshio Yamamoto B A B A
nh trên ng t
ς ς ς ς ς ς
nh trên
Phòng h th ng JS01 01 Tokuaki Honda B B A A
ng t
thông tin nh trên
ς ς ς ς ς ς
ng t JS02 01 Tsuyoshi Hashimoto A B B A
nh trên ng t ς ς ς ς ς ς
nh trên
136 Ch ng 3 Thi t k trong
(2) Th vi n l p
Trong phát tri n h ng i t ng, các i t ng c bao b c nh ng thay i c a m t i
ng này không nh h ng t i các i t ng bao quanh. Có th duy trì tính c l p c a t ng
i t ng. Do ó, các i t ng có th c dùng l i nh các b ph n d dàng h n các b ph n
trong ch ng trình c phát tri n b ng vi c dùng ngôn ng th t c. Ch ng h n trong tr ng
p ngôn ng Java, các i t ng th ng c dùng c t p h p trong th vi n l p. B ng vi c
dùng th vi n l p, th i gian và lao ng c n cho phát tri n ch ng trình có th c ti t ki m.
3.6 T o ra tài li u thi t k trong 137
ho ch ki m th
Hi u n ng h th ng
u hình t p
trí báo cáo vào/ra
trí màn hình
Ch c n ng ch ng trình
u hình h th ng
Chính sách thi t k trong
Tài li u thi t k trong
(2) C u hình h th ng
Trong c u hình h th ng, mô t cho các chi ti t v h th ng và h con c nêu sau ây.
• T ng quan h th ng (lu ng h th ng)
Trong t ng quan h th ng, mô t cho lu ng h th ng m i (DFD h th ng m i) c t o ra b i
phân tích h th ng. N u thay i c th c hi n trong lu ng h th ng m i do vi c c u trúc
hay phân ho ch ch c n ng trong thi t k h th ng thì c n mô t cho lu ng h th ng m i ã
thay i.
‚S c u trúc h th ng (bi u n i dung)
Bi u các n i dung c a ra trong Hình 3-2-13.
ƒ Giao di n gi a các ch ng trình
Bi u nêu ra cái vào cho t i cái ra t m t ch ng trình c v ra. S d ng bi u lu ng d
li u (DFD), l u v.v... (Xem Hình 3-2-14.)
„ Bi u quan h ch ng trình
Th ng a ra lu ng ti n trình bi u th cho trình t th c hi n c a ch ng trình.
… B n in ch ng trình
n chu n b b n in ch ng trình ch ra tên c a ch ng trình c dùng trong h th ng, t ng
quan v n hành v.v...
(3) Ch c n ng ch ng trình
Trong các ch c n ng ch ng trình có mô t v các ch ng trình ã c phân chia b ng vi c
dùng bi u cái vào x lí cái ra (IPO).
• Bi u chung
Mô t m t t ng quan v các h con và ch ng trình.
‚ Bi u chi ti t
Mô t các chi ti t c a t ng n v ch c n ng riêng (ch ng trình).
(6) C u hình t p
Danh sách các t p c dùng trong h th ng, nh ng gi i thích chi ti t v t ng t p và cách b trí
p c g n v i c u hình t p. (Xem Hình 3-3-4.)
Tên t p, dung l ng t p, tên th vi n và v trí (s hi u a) c mô t trong danh sách các t p.
ng t nh v y, c t cho các b ng c dùng trong h th ng c ng c ính kèm.
(7) Hi u n ng h th ng
Hi u n ng h th ng c tính toán và ánh giá d a trên hi u n ng máy tính, dung l ng b nh
và hi u n ng c a thi t b nh , b n thân ph n m m h th ng và x lí, môi tr ng h th ng v.v.
Mô t cho hi u n ng h th ng ã c tính toán.
<Tính hi u n ng h th ng >
- Kh i l ng trung bình các d li u c sinh ra và kh i l ng d li u trong gi cao m
- Th i gian x lí d li u (cho m t kho n m c hay trong m t th i kì xác nh)
(8) K ho ch ki m th
Mô t k ho ch ki m th tích h p.
- Kh i l ng d li u
3.6.3 Ki m m thi t k
Vi c ki m m c ti n hành trong giai n thi t k c a ti n trình phát tri n ph n m m c
i là ki m m thi t k . Nó bao g m các c t thi t k . B i vì ch t l ng s n ph m c xác
nh theo c t thi t k , nên cu c h p ki m m là r t quan tr ng c i ti n ch t l ng ph n
m.
(1) Ph ng pháp ki m m
Ki m m thi t k ch y u c ti n hành vào ti n trình thi t k h th ng và thi t k ch ng
trình. Các tài li u là ch cho cu c h p ki m m thi t k bao g m nh ng tài li u sau:
- Tài li u thi t k trong
- Bi u quan h ch ng trình
- Các h ng d n v ch c n ng ch ng trình
- Tài li u thi t k màn hình chi ti t
- Tài li u thi t k báo cáo chi ti t
- Tài li u thi t k t p chi ti t
- Tài li u thi t k d li u ki m th
(2) H th ng ki m m
Nh ng ng i c nêu d i ây óng vai trò trung tâm trong vi c th c hi n ki m m thi t k :
- Nh ng ng i thi t k có cùng m c k n ng k thu t nh nh ng ng i tr c ti p ch u trách
nhi m cho vi c t o ra ch ng trình trong giai n thi t k trong
- Nh ng nhân viên liên quan t i ti n trình thi t k
Nh ng ng i c p cao h n ng i thi t k và nh ng nhân viên liên quan không nên tham gia vào
cu c ki m m thi t k . u này là vì h p ki m m thi t k nh m ánh giá các tài li u,
không ánh giá kh n ng c a ng i th c hi n ki m m thi t k .
3.6 T o ra tài li u thi t k trong 141
Bài t p
Q5 Trong xem xét c nêu d i ây v thi t k màn hình trong các giai n thi t
ngoài và trong, xem xét nào là xem xét không thích h p?
a. Vi c chuy n màn hình nên c thi t k v i vi c xem xét không ch vi c l a t ng b c
ng vi c dùng m t menu, mà còn v i truy nh p tr c ti p vào màn hình mong mu n cho
ng i dùng ã thành th o.
b. T ng kho n m c mà d li u c a vào trên màn hình ph i c bao trong ngo c
vuông, nh n m nh r ng nó là tr ng a vào d li u.
c. Cách b trí màn hình ph i c thi t k theo cách các kho n m c c n tham chi u c
thu x p t trái sang ph i, và t trên xu ng d i.
d. hoàn thành ti n trình ang di n ra, màn hình ph i c thi t k ng n c n ng i
dùng kh i b vi c a vào d li u, hay tr l i màn hình tr c ó.
e. B trí màn hình ph i c chu n hoá; các qui t c v v trí cho hi n th tiêu và thông
báo ph i c thi t l p.
4 Thi t k ch ng
trình
c ích c a ch ng
Thi t k ch ng trình là m t ti n trình quan tr ng vì nó
làm cho các nhi m v l p trình c trôi ch y.
u m t ch ng trình c phát tri n v i giao di n rõ
ràng và các mô un c thi t k nh nh ng h p en, thì
các b ph n c a ch ng trình này có th c dùng l i
hay chúng có th c dùng t o ra ch ng trình m i.
Có th có kh n ng xây d ng h th ng ch t l ng cao
ng vi c t h p n gi n các mô un ch t l ng cao.
Ch ng này mô t t ng nhi m v thi t k ch ng trình
ng nh các s n ph m công vi c trong giai n thi t k
ch ng trình.
Gi i thi u
Thi t k ch ng trình là ti n trình cu i cùng trong toàn th giai n thi t k .
ng th i hay song song v i vi c l p trình, tài li u thi t k ch ng trình c chu n b trong
quá kh . Tuy nhiên, v i qui mô ngày càng t ng c a vi c phát tri n h th ng, nhu c u t ng n ng
su t và s d ng các b ph n, vi c thi t k ch ng trình không còn là công vi c ph cho l p trình
a, bây gi nó c coi nh m t trong nh ng ti n trình phát tri n h th ng.
Trong giai n thi t k trong, h con c phân chia thành các n v ch ng trình ch c n ng.
Trong giai n thi t k ch ng trình, công vi c chính là phân ho ch mô un. T ng n v
ch ng trình ch c n ng c xác nh b i thi t k trong, c phân ho ch ra b ng vi c dùng
ph ng pháp thi t k có c u trúc theo các mô un, nh ng n v nh nh t có th c so n th o
ra. V i vi c phân ho ch ch ng trình thành các mô un, m t ch ng trình có th c làm cho
hi u h n và d b o trì h n. H n n a, làm cho nh ng mô un ó là m t ph n c a ch ng
trình m i phát tri n trong t ng lai, c n có vi c phân ho ch logic.
Trong giai n thi t k ch ng trình, n i dung c a tài li u thi t k trong tr c h t ph i c
hi u m t cách th u áo, và sau ó m c ích và th t c ph i c thi t l p làm nh ng nhi m
thi t k ch ng trình có hi u qu .
con con
Ch ng trình Ch ng trình
Mô un Mô un Mô un
ng trình
Thi t k
n n n n n
ch
Các mô un bao g m:
- n v d ch trong ngôn ng c p cao
- Các kho n m c ch c n ng c a ch ng trình
- Kho n m c n v menu
- Ch ng trình g c có t 10 t i 300 câu l nh
- Các nhi m v (ti n trình) x trí d i vi c qu n lí nhi m v (ti n trình)
- n v mô un n p
- S v t c dùng trong vi c phát tri n h ng s v t
- n v bi n c giao di n ng i dùng ho (GUI)
mô un.
- Xác nh ch c n ng (ph i làm gì)
- Thông tin vào ( a vào cái gì)
- X lí (ki u x lí nào c n th c hi n)
- Cái ra ( a ra cái gì)
(2) Phân ho ch mô un
Vi c phân ho ch mô un là công vi c phân ho ch các ch c n ng ch ng trình thành các n v
biên d ch, b ng cách dùng ph ng pháp thi t k có c u trúc. Nó là thi t k ch ng trình lõi.
y chi c xe làm ví d gi i thích cho vi c phân ho ch mô un.
Hình 4-1-2 Phân ho ch xe
(3) Chu n b c t mô un
n xác nh n i dung c a vi c x lí c th c hi n b i t ng mô un. c t mô un ph i c
4.1 M c ích và nhi m v c a thi t k ch ng trình 147
(5) Chu n b c t ki m th
c t ki m th c chu n b t ng ng theo m c ích c a t ng ki m th . Ki m th ch ng
trình c phân lo i thành các ki m th n v và ki m th tích h p.
(6) Ki m m thi t k
c ích c a ki m m thi t k là:
- Làm h p l vi c tho mãn yêu c u ng i dùng
- Ki m ch ng s nh t quán v i thi t k trong, và s n sàng cho vi c chuy n sang công vi c
p trình
u ý t i nh ng m c ích này, c n ph i ti n hành ki m m thi t k . Các cu c h p ki m m
là quan tr ng t t c các giai n. K t qu c a vi c ki m m thi t k c ti n hành trên n i
dung c a thi t k ch ng trình có nh h ng l n t i công vi c l p trình.
<Nh ng m quan tr ng c n xét t i khi ti n hành ki m m thi t k >
- N i dung c a tài li u thi t k ch ng trình ph i c ki m tra.
- N i dung c a tài li u thi t ch ng trình ph i c so sánh v i n i dung c a tài li u thi t k
trong. C n ch ra các ch c n ng thi u và các khi m khuy t.
- Xác nh n r ng không có các ch c n ng có liên quan t i mô un mà b thi u.
- Xác nh n r ng vi c phân ho ch mô un ã c làm úng
- Tính nh t quán c a giao di n gi a các mô un ph i c ki m ch ng. C ng v y, ph i ki m
tra xác nh n r ng không có giao di n nào b thi u.
148 Ch ng 4 Thi t k ch ng trình
Phân tích ch c n ng c a
i module
Ch n ph ng pháp phân
ho ch
Phân ho ch ch ng trình
thành các module
Xác nh giao di n gi a
các module
Có Phân ho ch l i
module
Không
t thúc
Chi ti t v t ng b c là nh sau:
hi n d dàng.
- S các mô un c ch a m t m c (phân c p b c) nên là m i hay ít h n.
- Chi u sâu nên là b n m c hay ít h n.
Hình 4-2-2 a ra m t tr ng h p trong ó ch ng trình c phân ho ch úng, và tr ng h p
khác nó c phân ho ch không úng.
Thi t b Nh p / xu t d li u
vào / t thi t b u cu i
u cu i
1
áp ng yêu c u
v n chuy n
2 3
c nêu trong (3) ph i c ch n làm l i nó theo cách trên xu ng. N u làm nh v y, nhi u
ph ng pháp có th c dùng t h p v i nhau khi c n.
Phân ho ch STS
Phân ho ch TR
Phân ho ch ch c n ng thông th ng
Xác nh lu ng d li u, và k t h p m i b c
theo các ch c n ng c th
Xác nh m tr u
ng t i a
Không
Kh n ng phân
t thúc
ho ch l i
Có
Phân ho ch l i
152 Ch ng 4 Thi t k ch ng trình
Ch p nh n
yêu c u
m cc u o các
Th c hi n trúc trong câu h i a ra
câu h i tìm
t c các yêu c u d li u
ki m
tìm ki m Chia thành các
ch c n ng Thu c Tìm c s
li u li u
Module m c cao
Ch p nh n o các
Tìm c s Thu c Hi n th
yêu c u câu h i tìm
li u li u d li u
ki m
Yêu c u Yêu c u
tìm ki m tìm ki m
3. Nh n di n m tr u t ng t i a
Nh n di n m tr u t ng n i d li u có th không còn c xem xét là d li u vào ( m
vào tr u t ng t i a ), và m mà d li u b t u thành hình nh d li u a ra ( m a
ra tr u t ng t i a ), nh c nêu trong Hình 4-2-8.
Hình 4-2-8 m tr u t ng t i a
o các
Ch p nh n Tìm c s Thu c a ra
câu h i tìm
yêu c u li u li u d li u
ki m
Lu ng d li u chính a ra
m m
vào tr u ra tr u
ng t i a ng t i a
3. Xác nh các mô un c p d i tr c ti p
u trúc, và liên k t các mô un (k c mô un c p cao) ã c phân ho ch thành cái vào,
lí và cái ra, nh c nêu trong Hình 4-2-9.
4.2 Thi t k có c u trúc cho ch ng trình 153
1 -Tìm ki m câu h i
(không) - B n yêu c u
- a ch cu i
- Mã l i
2 - B n thông tin
- Mã l i
3 . B n thông tin - Mã l i
. B n yêu c u
. a ch cu i
6. Ki m tra kh n ng phân ho ch l i
Ki m tra xem li u có mô un nào ph i c phân ho ch l i không. N u có, ti p t c phân
ho ch các mô un.
‚ Ph ng pháp phân ho ch TR (ph ng pháp phân ho ch giao tác)
u ki u giao tác có th c xác nh b ng ki u c a d li u, thì nên dùng ph ng pháp phân
ho ch TR g p nhóm (làm mô un hoá) cho các mô un theo ki u giao tác. Ph ng pháp này
ph thu c d li u.
p nh t
t p chính
Ki m tra d li u p nh t a ra t p
nh p vào chính
lý lý ng vào t p
trong kho ngoài kho chính
: Ph n chia c x lý b i phân ho ch TR c a
ra kèm theo hình ch nh t c tô.
Trong ví d c nêu trong Hình 4-2-11, các ki u giao tác c phân ho ch theo các ki u d
li u vào (x lí trong kho, x lí ngoài kho, b sung vào t p chính). Khi c n x lí m t ki u d
li u nào ó, m t giao tác t ng ng c a nh ng giao tác ã c phân ho ch này s cl a
ra.
154 Ch ng 4 Thi t k ch ng trình
Hi n th thông
pl i
E
B C D G H I
• Y u t : Các k t c u không th c phân chia thêm n a
Ví d : Kho n m c d li u, câu l nh, v.v...
• Tu n t : K t c u bao g m các k t c u con; m i k t c u con xu t hi n tu n t ch
t l n.
Ví d : B n ghi (nhi u kho n m c d li u), trình x lí tu n t , v.v.
• L p (*): M t k t c u xu t hi n l p i l p l i.
Ví d : T p tu n t , câu l nh PERFORM, v.v...
• Tuy n l a (°): Bao g m nhi u k t c u con; m t trong chúng c l a l y.
Ví d : N -Có, câu l nh EVALUATE v.v...
4.2 Thi t k có c u trúc cho ch ng trình 155
t m t n ghi
nh n ti n
In biên b n v s ti n nh n
c d a trên t p nh p vào
In biên b n nh n ti n t
m i khách hàng
In dòng ghi t ng s
ti n nh n c
‚ Ph ng pháp Warnier
Ph ng pháp Warnier là k thu t thi t k mô un có c u trúc d a trên lí thuy t t p h p. Nó
c s d ng r ng rãi phân ho ch các mô un cho vi c x lí t p và các ng d ng nghi p v
khác.
c tr ng c a ph ng pháp Warnier>
- Phân tích d li u là c s c a ph ng pháp này.
- Ph ng pháp này d a trên "khi nào, âu và bao nhiêu l n." Vi c phân tích c th c
4.2 Thi t k có c u trúc cho ch ng trình 157
ng trình
10020 CR 620401 80 000 lý nhóm
10010 SR 620403 50 000 khách hàng (n l n)
Nhóm
Ch
10010 PR 620401 100 000
khách hàng Ph n k t thúc (m t l n)
S hi u L p Ngày Ti n
khách b n ghi nh n c
IR: B n ghi ti n nh n c
Cùng c u trúc nh c nêu trong Hình 4-2-14 c tham kh o t i ây. C u trúc logic
a ch ng trình t ng ng bao g m các t p con sau:
- Ph n b t u
- Ph n nhóm khách hàng
- Ph n k t thúc
(N: s l n l p, 0 và 1: ho c c l a)
Ví d c nêu trong Hình 4-2-18 ch ra r ng vi c x lí cho nhóm khách hàng ti p t c cho
i khi vi c x lí cho t t c các t p c hoàn t t.
3. V l u .
u c v ra d a trên Hình 4-2-18, 4-2-19 và 4-2-20 c nêu trong Hình 4-2-21.
Hình 4-2-21 L u
t u
Ph n b t u m c
ch ng trình
Ph n b t u
nhóm khách hàng
Ph n b t u
n ghi khách hàng
M c b n ghi khách hàng
không Xác nh Có
M c nhóm khách hàng
ng trìn
b n ghi: IR
lý b n ghi
M c ch
nh n ti n
t thúc ph n
n ghi khách hàng
Có
Xác nh xem
không
x lý b n ghi khách hàng có
hoàn thành hay không
Ph n cu i nhóm
khách hàng
Có
Ph n cu i m c
ch ng trình
t thúc
4.2 Thi t k có c u trúc cho ch ng trình 159
Hình chóp
Ph n
phân chia
Ph n
phân chia
Mô hình
duy nhât
Mô hình chung
Hình 4-2-23 cung c p t ng quan v các k thu t phân ho ch mô un, hay các k thu t thi t k
160 Ch ng 4 Thi t k ch ng trình
thu t phân ho ch mô un
Ph ng pháp Jackson
Ph ng pháp Warnier
(1) b n mô un
b n mô un là m t trong nh ng h ng d n mà ta có th tham chi u t i khi xác nh các mô
un trong ti n trình thi t k . Các ki u b n mô un c xem xét t khía c nh c a vi c dùng
i mô un, khuynh h ng l i, tính c l p, tính b o trì c, tính m r ng c v.v.. c bi t,
chúng c xem xét theo tr t t nh ng hi u qu không mong mu n cho t i hi u qu c mong
mu n, c t o ra b i t ng ki u b n mô un.
4.2 Thi t k có c u trúc cho ch ng trình 161
Hình 4-2-24 b n mô un
Th p
ng trùng h p
ng logic
ng th i gian
ng theo th t c
ng trùng h p
ng lan truy n
ng thông tin
ng ch c n ng cl p
Cao
• b n trùng h p ng u nhiên
u b t kì u ki n nào trong nh ng u ki n sau mà áp d ng c cho m t mô un b n
ang ki m tra, b n c a mô un nh v y c g i là b n trùng h p ng u nhiên :
- Các ch c n ng c a mô un không th c xác nh.
- Mô un có nhi u ch c n ng không liên quan l n nhau.
c d u ng i l p trình s không ch ý t o ra mô un nh v y, u ó có th c t o ra m t
cách không ch ý trong nh ng hoàn c nh sau ây:
- N u mô un c phân ho ch thành nh ng ph n tu ti n g i chèn l p.
- N u ng i l p trình ph i áp ng yêu c u r t nghiêm kh c, ch ng h n “s các câu l nh
trong t ng mô un ph i là 50 t i 60".
Mô un c t o ra trong nh ng hoàn c nh nh v y không th c dùng l i chút nào; nó có
th gây ra vi c gi m sút tính b o hành c c ng nh tính m r ng c c a ch ng trình.
Ng i ta cho r ng ch ng trình b phân ho ch thành các mô un có b n trùng h p ng u
nhiên còn t i h n ch ng trình không c phân ho ch chút nào.
Hình 4-2-25 a ra m t ví d v b n trùng h p ng u nhiên .
Ch c n ng 2-3 0
1300 Ch c n ng 3 Trùng h p
1600 Ch c n ng 3-1 500
Ch c n ng 4
2000 Ch c n ng 3 - 2 0
Ch ng trình tr c khi Trùng h p
Ch c n ng 4
c phân ho ch 500
i module sau khi
‚ b n logic hoàn thành phân ho ch
Mã ch c n ng
i 1)
Ch c n ng 1 Ch c n ng 2 Ch c n ng 3 Ch c n ng 4 Ch c n ng 5
Xóa b ng Thêm m c Xóa m c Tìm b ng Sao chép t i
t ps a
(không i) i 3) i 2) i 3) i 1)
( ( ( ( (
Quay tr l i
ƒ b n th i gian
Mô un th c hi n nhi u ch c n ng tu n t c g i là mô un có b n th i gian. Tuy nhiên,
các ch c n ng này có m i quan h y u v i nhau. Mô un kh i u hay mô un k t thúc thu c
ki u mô un này.
4.2 Thi t k có c u trúc cho ch ng trình 163
Module ban u
m t t p giao d ch
m t t p chính Các m i quan h
t u b ng hình ng m t
In tiêu báo cáo
Hình 4-2-29 b n th t c
Module l i giao d ch
qua t i t p giao d ch ti p theo Các ch c n ng có liên quan
Có tr m ki m soát c a t p chính i ch c n ng khác theo
a ra thông p l i E13 c t ch ng trình
Ch ng trình
Giao d ch
Module nh p
F
ps a
Các module khác
F
† b n ch c n ng
áng ra b n thông tin nên c nói t i ây, n u chúng ta nh tuân theo tr t t c a b n,
nh ng bây gi chúng ta mô t mô un có b n ch c n ng tr c. b n ch c n ng là m nh
nh t trong t t c các ki u b n mô un. M t mô un th c hi n m t ch c n ng duy nh t c
i là mô un có b n ch c n ng. M t mô un không th c phân lo i thành các ki u
n trùng h p, logic, th i gian, th t c và trao i có th c xem là mô un có b n ch c
ng. Cho dù m t mô un có th c hi n hai hay nhi u ch c n ng, nó là mô un có b n ch c
ng n u chúng có th c mô t nh m t ch c n ng.
Hình 4-2-31 a ra m t ví d v b n ch c n ng.
c t p giao d ch
ng h p t p giao d ch
Thêm b n ghi t i b ng t ng h p
óng t p giao d ch
‡ b n thông tin
Ch ng trình c thi t k b ng vi c dùng ch các mô un có b n ch c n ng không nh t
thi t có m c c l p cao nh t. Ch ng h n, ba mô un có b n ch c n ng là mô un thêm m t
kho n m c vào trong b ng kí hi u, mô un xoá kho n m c trong b ng kí hi u và mô un
duy t b ng kí hi u. (Xem Hình 4-2-32.)
c d u ba mô un này là c l p cao v i các mô un khác trong ch ng trình, chúng l i có
quan h g n g i l n nhau vì các ch c n ng c a chúng u ph thu c vào c u trúc d li u c a
ng kí hi u. Do ó, có th d oán tr c r ng n u c n s a i mô un này, thì hai mô un kia
ng ph i c s a i.
4.2 Thi t k có c u trúc cho ch ng trình 165
t thúc
(2) N i mô un
b n mô un quan tâm t i m i quan h bên trong mô un. M t khác, n i mô un quan tâm t i
i quan h gi a các mô un. (Xem Hình 4-2-34.) M i quan h gi a các mô un nh h ng t i
tính c l p c a mô un. Ng i ta ã xét th y là m i quan h gi a các mô un càng l ng, thì
c c l p c a mô un càng tr nên cao h n.
166 Ch ng 4 Thi t k ch ng trình
Hình 4-2-34 N i mô un
nh Th p
i n i dung
i công c ng
i ngoài
i u khi n
id u
i d li u
cl p
u
Cao
Ch c n ng b Ch c n ng b
TR L I
Module A
X
Có th truy c p th m chí Y
u không c n thi t
Gi
Module A
Có th truy c p th m chí X X
u không c n thi t Gi Y
Z Z
Module A
Có th truy c p th m chí Gi
u không c n thi t Y
Z
Module A
Module B X
ây là ch c n ng 1?
… N i d u (stemp coupling)
u có hai mô un không ph i là n i n i dung, c ng không n i công c ng, không n i ngoài
không n i u khi n và n u chúng tham chi u t i cùng c u trúc d li u không toàn c c, thì
i quan h gi a hai mô un này c g i là n i d u. M c d u n i d u là t ng t v i n i
công c ng, s khác bi t là ch các mô un c a n i d u tham chi u t i c u trúc d li u không
toàn c c, không t i c u trúc d li u toàn c c.
Mô un " ánh giá" c nêu trong Hình 4-2-40 c dùng c p nh t "thu nh p hàng n m,"
ng vi c dùng m t b n ghi nhân viên c nh p kh u vào mô un A nh m t i, c ng nh
li u trên "v trí công tác," "n ng su t lao ng" và "s n m công tác" c a m t nhân viên.
4.2 Thi t k có c u trúc cho ch ng trình 169
Ng i ch
Hình 4-2-41 N i d li u
Module A Module A
I ánh giá ng i ch (v trí công tác, n ng su t ánh giá ( v trí công tác, n ng su t lao ng,
C lao ng, s n m công tác, thu nh p hàng n m n m công tác, thu nh p hàng n m)
Thu nh p hàng n m c
p nh t d a trên tên nhân viên
Tên
n m công tác ,
Nhân viên
a ch trí công tác và
ng su t lao ng
B n ghi nhân viên
Phòng ban
trí công tác
Thu nh p
hàng n m trí công tác trí công tác
c
ng su t ng su t lao ng ng su t lao ng
lao ng n m công tác n m công tác
Quá trình
ào t o Thu nh p hàng n m Thu nh p hàng n m
m công tác QUAY L I
Ng i ch
1 1 1
2 2 2 2 2
3 3 3 3
4 4
M c phân c p
5 5
6 6
7 7 7
8 8 8
9 9 9
10 10
‚ Tr i c u trúc c p b c
u c p b c c a các mô un tr i ra quá nhi u, thì lu ng ch ng trình tr thành khó hi u. S
các mô un c p d i mà m t mô un nào ó có th tr c ti p g i n nên c gi i h n quãng
i hay ít h n.
172 Ch ng 4 Thi t k ch ng trình
1 2 3 4 5 6 7 8 9 10
Tr i c u trúc phân b c
4.3 T o ra c t mô un và c t ki m th 173
4.3 o ra c t mô un và c
ki m th
4.3.1 o ra c t mô un
Sau khi ch ng trình c phân ho ch thành các mô un, các chi ti t v x lí c t ng mô un
th c hi n s c xác nh (thi t k logic mô un).
Công vi c vi t mã ph i c th c hi n có chú ý t i các chi ti t t m sao cho không b sót ch c
ng.
(2) Th t c t o ra các c t mô un
Các c t mô un c t o ra theo th t c nêu sau ây.
• Phân tích c u trúc d li u
i vì c u trúc d li u có m i quan h ch t ch v i c u trúc logic c a mô un, nên c u trúc c a
li u vào và ra ph i c phân tích, và m i quan h gi a d li u vào và ra c ng nh các
kho n m c c sinh ra qua vi c x lí ph i c nh n di n và li t kê.
Không x lý lý d li u
u có nhi u d li u a vào thì
th ng s có nhi u d li u c a ra
Tùy thu c vào u ki n mà d li u ra thay i
d ng c u trúc l p x lý
d ng c u trúc l p x lý
Hình 4-3-2 Gi mã
c b n ghi u tiên
DO WHILE trong b n ghi
IF l p = trong kho THEN
X lý trong kho
ELSE
IF l p = ngoài kho THEN
X lý ngoài kho
ELSE
X lý l i
ENDIF
ENDIF
c b n ghi
ENDDO
(3) n và câu l nh
Mô un bao g m các n nh t quán v m t logic. Kích c c a n là t 10 t i 50 câu l nh
(câu, l nh).
n trong m t mô un c phân lo i thành hai ki u c nêu d i ây:
- n u khi n ( n m c cao) u khi n t t c các n
- n gi i quy t/x lí d li u ( n m c th p) th c hi n nhi m v x lí d li u
nh ng nh ng t thúc
<Các n x lý / truy n d li u>
ban u chính nh ng
4.3.2 o ra c t ki m th
Ki m th n v là ki m th c ti n hành trong giai n thi t k ch ng trình. Ch nh c a
phép ki m th này là ki m ch ng c u trúc logic c a mô un ã vi t mã và giao di n gi a các
mô un.
(1) Các ki u ki m th
Ki m th nv u tiên c ti n hành ki m ch ng r ng c u trúc logic c a các mô un
c t o ra theo úng c t mô un. K thu t c dùng trong ki m th này là ki m th h p
tr ng lo i b i các l i và phòng ng a chúng không cho truy n qua các ki m th k ti p.
Ki m th tích h p mô un ti p ó c ti n hành ki m tra giao di n gi a các mô un. c
bi t, các mô un c n i l i xác nh n r ng các tham bi n vào và ra c xác nh trong c
176 Ch ng 4 Thi t k ch ng trình
Mô t kho n m c d li u
c t ki m th
Chi ti t x lí
Bi u c u trúc ch. trình
ng quan ch ng trình
Chính sách thi t k h
Tài li u thi th
t k ngch ng
trình
• Nhi m v thi t k
Mô t nhi m v thi t k .
• Các v n khác
Ph i mô t các b n ghi thay i, chi ti t các cu c ki m m thi t k và các v n khác c n
c xác nh tr c khi b t u thi t k ch ng trình.
Hàm
o t p tr l ng chi ti t
ng k t chi và thu
p d li u p d li u
tháng tháng
GET 20030
lý theo tháng
p d li u
tháng
(4) Chi ti t x lí
Tài li u mô t chi ti t x lí c n c t ng mô un th c hi n c ính kèm v i các chi ti t x lí.
Bi u IPO, v.v.. c ng có ích.
(5) c t ki m th
n k ho ch ki m th mô t nhân viên ki m th , kho n m c ki m th và ph ng pháp ki m
ch ng c n c chu n b ti n hành các ki m th ch ng trình có hi u qu .
4.4.3 p ki m m thi t k
p ki m m thi t k c th c hi n khi công vi c thi t k ch ng trình c hoàn t t, nh
trong tr ng h p c a giai n thi t k trong. (Tham kh o chi ti t Ch ng 3.)
(1) Tài li u c n c ki m m
Tài li u c n c ki m m trong giai n thi t k ch ng trình là:
- Tài li u thi t k ch ng trình
- Bi u c u trúc ch ng trình
- c t ch ng trình
- c t mô un
- Tài li u thi t k tr ng h p ki m th
- Các tài li u khác
180 Ch ng 4 Thi t k ch ng trình
(2) Nhân s ki m m
Các nhân s nêu d i ây gi vai trò trung tâm trong vi c th c hi n bu i ki m m thi t k :
- Nh ng ng i thi t k có cùng m c k n ng k thu t nh ng i tr c ti p ch u trách nhi m
thi t k ch ng trình
- Các nhân s có liên quan t i ti n trình thi t k
p trên c a ng i thi t k và c a các nhân s này không c n tham d vào cu c h p ki m m
thi t k .
Bài t p 181
Bài t p
Q3 Có m t ch ng trình ch p nh n c p nh t tr ti n c b n, c p nh t ti n công
nh t và c p nh t kh u tr và c p nh t t p tính l ng. Ch ng trình này c
phân ho ch thành các mô un, nh c nêu d i ây. Ph ng pháp phân ho ch
mô un nào c dùng?
C p nh t t p
p nh t tr ti n p nh t công p nh t kh u
b n nh t tr
c ích c a ch ng
Trong giai n th c hi n ch ng trình, h th ng thông
tin c thi t k theo các th t c ã c mô t , s c
xây d ng nên.
Ch ng này mô t nh ng m quan tr ng c n chú ý khi
làm vi c l p trình (vi t mã), các ph ng pháp ki m th
và các công c phát tri n khác nhau mà chúng ta có th
dùng.
Gi i thi u
Cài t ch ng trình là cho m t d ng c th c a ch ng trình c thi t k v m t logic. c
bi t nó bao g m ti n trình t o ra ch ng trình d a trên n i dung c a thi t k ch ng trình, và
ti n trình th c hi n nh ng phép ki m th a d ng tr c khi cho ch y ch ng trình nh m t h
th ng.
5.1 p trình
p trình là mô t (vi t mã) trong m t ngôn ng l p trình cho m t th t c (thu t toán) c xác
nh b i thi t k ch ng trình.
i ngôn ng l p trình u gán ngh a riêng c a nó cho các l nh và cú pháp th ng nh t chúng,
và do v y mô t cho các thu t toán theo nh ng cách khác nhau. Do ó, c n có m t chu n chung
(mô th c l p trình) xét t i nh ng c tr ng c a t ng ngôn ng l p trình.
i vì công vi c l p trình c th c hi n b ng nhóm ng i, nên phong cách l p trình rõ ràng là
n thi t m b o s nh t quán bên trong h th ng.
5.1.1 Mô th c l p trình
i ngôn ng l p trình c dùng u có mô th c riêng c a nó. Trong khi làm vi c l p trình,
n hi u t ng mô th c l p trình riêng.
i vì mô th c ph thu c vào t ng ngôn ng l p trình, nên nó ph i c nghiên c u cho t ng
ngôn ng m t. Chúng ta phân l p nó m t cách i th thành b n ki u t ng ng v i vi c phân
p v ngôn ng l p trình:
- Mô th cl p trình th t c
- Mô th cl p trình logic
- Mô th cl p trình hàm
- Mô th cl p trình h ng it ng
(1) Mô th c l p trình th t c
p trình th t c là mô th c c a các ngôn ng l p trình th t c mô t cho gi i pháp v n d i
ng m t chu i các th t c. C và COBOL là i bi u cho các ngôn ng l p trình th t c.
t c tr ng c a ngôn ng l p trình này là l p trình có c u trúc. Khái ni m v l p trình có c u
trúc d nh di n t m i thu t toán b ng vi c dùng ba c u trúc u khi n c s (tu n t , tuy n
ch n và l p). B ng vi c dùng l c l p trình này, chúng ta có th t i thi u vi c dùng câu l nh
go to th ng gây ra s suy gi m trong công tác b o trì.
5.1 L p trình 185
(4) Mô th c l p trình h ng it ng
p trình h ng i t ng là mô th c c a ngôn ng l p trình h ng i t ng dùng i t ng
có d li u và th t c (hành vi) c bao b c l i. Smalltalk và Java là các ngôn ng l p trình
ng i t ng i di n.
Các c tr ng c a ngôn ng l p trình này là:
- Ch c n ng bao b c
Ch c n ng này gi i quy t v i d li u (thu c tính) và th t c ( ng pháp) nh m t th c th .
- Ch c n ng xây d ng th nghi m
Ch c n ng làm th nghi m cho m t l p tr u t ng
- Ch c n ng k th a
Ch c n ng k th a các tính ch t c a m t siêu l p cho l p con
- Ch c n ng truy n thông báo
Ch c n ng truy n thông báo gi a các i t ng.
(2) Tính hi u qu
Tính hi u qu ngh a là d dàng t o ra ch ng trình. làm t ng tính hi u qu , nh ng ph n d
th a c a ch ng trình ph i c lo i b t i a. Tuy nhiên c ng nên l u ý ây r ng tính rõ ràng
a ch ng trình có th c t ng thêm nhi u b ng nh ng ph n b sung vào ch ng trình.
Ch ng h n, m c d u l i chú thích là ph n ph thêm không liên quan t i vi c th c hi n ch ng
trình, nó v n óng góp làm t ng m c rõ ràng c a ch ng trình. Do ó, c n gi tính rõ ràng và
tính hi u qu c cân b ng t t.
Di n gi i/ Ch ng
Th c hi n trình ích
5.2 Ki m th
Ng i ta th ng nói m t ch ng trình m i c t o ra ch a vài l i trong 100 dòng. Trong
nh ng dòng này, l i t ti n trình l p trình và l i t ti n trình thi t k u có c . N u m t ch ng
trình ch a l i c dùng v n hành m t h th ng tr c tuy n, thì nh ng h h ng nghiêm tr ng
phát sinh ra không ch nh h ng t i công ti v n hành h th ng ó, mà còn nh h ng c t i
công chúng l n bên ngoài.
Do ó, vi c ki m th s n ph m ph i c ti n hành tr c khi chuy n giao s n ph m công
nghi p. Vi c ki m th ch ng trình c ng ph i c ti n hành theo m t trình t ki m th c
bi t ki m ch ng r ng ch ng trình và h th ng mà nó u khi n, có th v n hành t ng ng
i các c t . M c d u chúng ta không th m b o hoàn toàn lo i b h t l i trong ch ng trình,
chúng v n có th làm gi m s l i ó t i m c t i thi u nh t n u chúng ta ki m th ch ng trình
theo cách chính xác, hi u qu .
5.2.1 ng quan v ki m th
Trong mô hình thác , ki m th n v , ki m th tích h p, ki m th h th ng và ki m th v n
hành c ti n hành theo th t ó. Phía phát tri n h th ng th c hi n b c u trong ti n hành
ki m th n v , tích h p và h th ng, trong khi b ph n ng i s d ng ch u trách nhi m ti n
hành ki m th v n hành.
Thi t k ngoài
Ki m th h th ng
th ng
Thi t k trong
PG PG
Ki m th tích h p
M M
Thi t k PG
p trình Ki m th nv M M M M
M : Mô un
PG Ch ng trình
5.2.2 Ki m th nv
Ki m th nv c ti n hành t i nh ng giai n s m nh t trong pha ki m th . M c tiêu
ki m th là t ng mô un.
(1) ic ng và m c ích c a ki m th nv
Ki m th nv c ti n hành cho t ng mô un, n v nh nh t bên trong h th ng ang xây
ng. M c ích là ki m ch ng l i công vi c ã c làm trong pha l p trình. Trong ki m th
n v th c t , vi c ki m ch ng c th c hi n xem li u các ch c n ng mô un có t ng ng
i c t mô un hay không.
Sau khi các mô un ã c móc n i và tích h p vào m c h th ng ch ng trình, thì m t s l n
công vi c c n làm là lo i b l i. tránh u này, l i tr c h t ph i c lo i b kh i t ng mô
un trong giai n ki m th n v , tr c khi các mô un c tích h p l i.
5.2.3 Ki m th tích h p
Ki m th tích h p c ti n hành sau khi ki m th nv ã c hoàn t t. Chúng cd
nh ki m ch ng l i nh ng công vi c ã c ti n hành trong các pha thi t k ch ng trình
và thi t k ch ng trình.
Mô un c n ki m th Mô un c n ki m th
Cu ng Cu ng
Mô un c n ki m th Mô un c n ki m th
Mô un ã ki m th Mô un ã ki m th
CALL "S"
<Mô un c n ki m th >
USING X Y
(3) Ki m th t ng d n
Trong ki m th t ng d n, các mô un ã hoàn t t ki m th s c móc n i liên ti p v i các mô
un khác. Ki m th t ng d n c phân lo i i th thành ba ki m th c nêu d i ây:
- Ki m th trên xu ng
- Ki m th d i lên
- Ki m th t h p (ki m th bánh mì k p th t)
< c tr ng>
- Thích h p cho ki m th ch ng trình kích c l n.
- C n dùng các mô un ki m th (mô un câm) nh các cu ng và khi n trình thay cho các
mô un ch a hoàn thành.
- K t qu c a vi c ki m th có th thay i, tu theo các mô un c móc n i vào theo trình
nào.
- D theo dõi d u v t l i v nguyên nhân.
• Ki m th trên xu ng
Ki m th trên xu ng c dùng phát tri n h th ng theo th t t các mô un cao t i mô
un th p ( c g i là l p trình trên xu ng).
Cu ng Cu ng
B C
Mô un ã ki m th
Mô un c n ki m th
Cu ng Cu ng Mô un câm
B C
Cu ng Cu ng
< c tr ng>
- Mô un m c cao nh t (mô un lõi hay mô un có logic) tr c h t c móc n i v i mô
un cao nh t ti p ó và t t c các mô un khác c ng c móc n i gi ng th theo trình t
các mô un t m c cao t i th p.
- Các mô un quan tr ng c ki m th th ng xuyên h n các mô un kém quan tr ng,
5.2 Ki m th 193
‚ Ki m th d i lên
Ki m th d i lên c dùng phát tri n h th ng theo trình t các mô un m c th p t i
c cao ( c g i là l p trình d i lên).
B C
D E
Khi n trình
Mô un ã ki m th
Mô un c n ki m th
B C Mô un câm
D E
Khi n trình
D E
< c tr ng>
- Ki m th c ti n hành b ng vi c móc n i các mô un theo trình t mô un m c th p
i cao.
- Khi ki m th tích h p ã c hoàn t t, thì ch ng trình có th c ki m th theo u
ki n v n hành th c t .
- B i vì các mô un m c th p v i m t s l n ch ng trình là c phát tri n tr c h t,
nên có th làm vi c l p trình, và ti n hành ki m th song song t i giai n kh i u.
- Xem nh h th ng (ch ng trình) ki m th , c n có khi n trình.
- Thích h p cho vi c phát tri n m t phiên b n s a i c a h th ng hi n t i.
194 Ch ng 5 Th c hi n ch ng trình
ƒ Ki m th t h p (ki m th bánh mì k p th t)
Ki m th t h p (ki m th bánh mì k p th t) là vi c t h p c a các ki m th trên xu ng và
i lên. Các ki m th trên xu ng và d i lên c ti n hành ng th i cho t i khi t t i làn
ranh gi i tho hi p ã nh s n.
Hình 5-2-6 Ki m th t h p
Trên xu ng B C
ng t h p>
i lên
D E
c tr ng>
- Các mô un trên ng t h p là ch cho ki m th trên xu ng trong khi các mô un
i ng t h p là ch cho ki m th d i lên.
- Vì các ki m th trên xu ng và d i lên có th c ti n hành ng th i, nên các ki m
th có th c hoàn t t trong th i gian ng n h n nhi u.
- Ph n khung c a ch ng trình có th c ki m th d dàng.
- Xem nh h th ng (ch ng trình) ki m th , thì c cu ng và khi n trình u c c n t i.
(4) Ki m th không t ng d n
Trong ki m th này, t t c các mô un có vi c ki m th nv ã c hoàn t t u c móc
i và cho ch y. Ki m th không t ng i di n là ki m th big bang.
c tr ng>
- Thích h p cho vi c ki m th ch ng trình kích c nh .
- Không c n t i cu ng hay khi n trình.
- N u l i xu t hi n thì khó dò d u v t chúng ng c v nguyên nhân.
• Ki m th Big-bang
Ki m th big-bang dùng k thu t c a vi c th c hi n ki m th n v tr c h t trên m i mô un,
i móc n i chúng t t c l i m t lúc và th c hi n ki m th tích h p toàn b .
5.2 Ki m th 195
B C
D E
B C D E
Cu ng B Cu ng C
Cu ng D Cu ng E
Ki m th tích h p
B C
D E
c tr ng>
- B i vì ki m th này c ti n hành sau ki m th n v nên k t qu có tin c y cao.
- th c hi n ki m th móc n i thì cu ng hay khi n trình là không c n thi t.
- Các mô un có th c ki m th t t c ngay m t lúc.
- N u ki m th n v không c hoàn t t thì không th ti n hành ki m th big bang
c.
- Khó tìm l i trong giao di n gi a các mô un.
- Sau khi tìm c l i, thì vi c g l i l i l ng nh ng.
5.2.4 Ki m th h th ng
Sau khi các mô un c móc n i v i nhau ã c ki m th , thì các ki m th c ti n hành
theo trình t c a t ng ch ng trình, r i ki m th cho t ng h con m t, và cu i cùng ki m th
cho toàn b h th ng.
Các ki m th c ti n hành sau ki m th tích h p c g i là ki m th h th ng.
(1) T ng quan v ki m th h th ng
Ki m th h th ng c ti n hành ki m ch ng s phù h p v i thi t k ngoài. Trong vi c ti n
hành ki m th này, ph n l n chú ý c dành cho giao di n gi a các h con. Ki m th h th ng
c g i là ki m th toàn di n, và c ti n hành b i m t nhóm chuyên ki m th . Nó là ki m
196 Ch ng 5 Th c hi n ch ng trình
Hình 5-2-8 Ph m vi c a ki m th h th ng
th ng
<H con>
Ch.tr Ch.tr Ch.tr Ch.tr Ch.tr: Ch ng trình
(2) Các ki u ki m th h th ng
Ki m th h th ng c ti n hành ki m tra các ch c n ng và hi u n ng t nhi u góc khác
nhau nh c nêu d i ây:
• Ki m th tích h p ch ng trình/h con
Các ch ng trình c móc n i v i nhau, và các h con c móc n i v i nhau, và các h con
và giao di n gi a các ch ng trình c ki m th .
‚ Ki m th ch c n ng
Ki m th này c ti n hành ki m ch ng li u các yêu c u ch c n ng c a ng i dùng có
c áp ng hay không.
ƒ Ki m th hi u n ng
Ki m th này c ti n hành ki m ch ng th i gian áp ng và các kho n m c hi u n ng
khác.
„ Ki m th v n hành
Giao di n con ng i (GUI) và các m khác liên quan t i v n hành c ki m tra và ki m
ch ng.
… Ki m th ph c h i h ng hóc
Cách th c h th ng có th ph c h i t h ng hóc và th c hi n l i các ch c n ng là c ki m
th .
† Ki m th t i
Ki m th này c ti n hành ki m tra hi u n ng và ch c n ng c a h th ng khi m t kh i
ng l n d li u c a vào m t lúc, hay khi m t t i l n c áp vào h th ng.
‡ Ki m th ngo i l
Ki m th này c ti n hành ki m ch ng r ng h th ng có th gi i quy t thích h p cho các
li u không h p l khi c a vào.
ˆ Ki m th ch u ng
Ki m th này c ti n hành ki m ch ng r ng m t h th ng có th ng v ng nhi u gi
làm vi c liên t c.
5.2 Ki m th 197
(1) Ki m th v n hành
ch c c a ng i dùng ch u trách nhi m ti n hành ki m th v n hành. Ki m th v n hành là
ki m th cu i cùng c ti n hành trên h th ng. T ch c c a ng i dùng ph i chu n b các
tr ng h p ki m th , ti n hành ki m th trong u ki n v n hành th c t , và ki m ch ng r ng
th ng tho mãn các c t ã c yêu c u. B i vì ki m th này d nh làm cho h th ng
ã xây d ng c t ch c ng i dùng ch p nh n, nên nó c g i là ki m th ch p thu n hay
ki m th ch p nh n.
i vì ki m th v n hành c ti n hành b ng cách cho ch y ch ng trình trên máy ang c
dùng cho v n hành nghi p v th c t , nên ph i h t s c chu áo ng làm nhi u các ho t ng
nghi p v .
(2) Ki m th rà l i
Ki m th rà l i có liên quan ch t ch v i ho t ng b o trì.
c ích c a ki m th rà l i là ki m ch ng r ng nh ng s a i h th ng c ti n hành trong
công vi c b o trì không nh h ng t i các b ph n ang ho t ng bình th ng c a h th ng.
5.2.6 ho ch và nhi m v ki m th
Các ki m th a d ng c ti n hành trong phát tri n h th ng ã c mô t c r i. M c này
gi i thích các nhi m v ki m th chung và n i dung c a công vi c c làm ti n hành ki m
th .
Chu n b môi tr ng
Ti n hành ki m th
Ki m ch ng k t qu
ki m th
a ch a và c i ti n tài
li u hay ch ng trình
198 Ch ng 5 Th c hi n ch ng trình
Hình 5-2-10 K ho ch ki m th
[K ho ch ki m th ]
p k ho ch c s <Ki m th v n hành>
Thi t k trong
<Ki m th tích h p>
Thi t k ch ng trình
b nh
Trình x
ch p
nhanh
theo dõi v t
Công c sinh d li u
ki m th
Mô ph ng
giao tác
Công c g
i
mô ph ng M« pháng
thiÕt bÞ
Công c ki m th
Mô ph ng l i
t p
Công c ki m
soát ti n trình
a. Thi t k h th ng ki m th
Có nh ng tr ng h p máy c dùng cho các v n hành nghi p v ph i c dùng cho
ch y ch ng trình ki m th . Tuy nhiên, n u máy này l u gi các t p hay c s d li u
n c truy nh p t i trong v n hành hàng ngày, hay n u m t t i l ng l n b áp vào máy
trong khi ki m th , thì vi c s n xu t s b gây r i lo n. Do ó, c n phát tri n hay thi t k
cùng h u hành, t p và c s d li u nh ng s là i t ng c dùng trong vi c ch y
n xu t th c.
b. Thi t k ch ng trình ki m th và d li u ki m th
Ph i thi t k ch ng trình ki m th (cu ng và khi n trình). C ng v y d li u ki m th ph i
c chu n b và các tr ng h p ki m th ph i c thi t k b ng vi c dùng nhi u ph ng
pháp.
Có th dùng công c phát tri n m i có ây d dàng sinh ra d li u ki m th d a trên các
tham bi n n gi n. M t công c nh v y là r t thu n ti n vì d li u sai có th c sinh ra
t cách có ch ý.
c. Thi t t các công c ki m th
Các công c ki m th c n ph i c thi t t. Các ch ng trình ti n ích c a h u hành
200 Ch ng 5 Th c hi n ch ng trình
nói chung c dùng làm công c ki m th . Các gói ph n m m c thi t k làm công c
ki m th bây gi r t s n có. Môi tr ng v n hành c a gói nh v y nên c ki m tra và a
vào làm gi m chi phí phát tri n, và làm t ng tính hi u qu và ch t l ng c a ki m th .
Hình 5-2-11 a ra m t s công c ki m th .
1) Công c g l i
• Trình x ra
Trình x ra a ra n i dung c a b nh hay thanh ghi.
- X b nh : Vi t ra n i dung c a b nh hay thanh ghi khi vi c k t thúc b t th ng
xu t hi n.
- X ch p nhanh: V i m t l nh g r i nhúng trong ch ng trình, và n i dung c a b
nh hay thanh ghi c vi t ra m i l n l nh này c th c hi n
• B dò v t
dò v t c ng còn c g i là ch ng trình dò v t. M i l n m t l nh c th c hi n và
u ki n nào ó c tho mãn, thì b dò v t c kích ho t và ghi l i n i dung c a
thanh ghi và a ch c a vùng b nh c tham chi u.
• Công c sinh d li u ki m th
Công c sinh d li u ki m th t ng sinh ra d li u ki m th d a trên các tham bi n
do ng i dùng cung c p.
• B mô ph ng
- B mô ph ng giao tác mô ph ng cho h th ng x lí giao tác.
- B mô ph ng thi t b mô ph ng cho m t thi t b cu i.
- B mô ph ng h ng hóc mô ph ng cho các hoàn c nh h ng hóc.
• X t p
Ch ng trình x t p ghi ra n i dung c a m t t p c ghi trên thi t b nh nh at
hay b ng t .
„ Ki m tra k t qu c a ki m th
Ki m th c ti n hành t ng ng v i các k ho ch ki m th và c t ki m th , và k t qu
a vi c ki m th ph i c ki m tra l i.
… Phân tích h ng hóc, phân tích hi u n ng
Các l i và h ng hóc b phát hi n ph i c phân tích ch t ch b ng vi c dùng các công c và
các k thu t ki m tra ch t l ng a d ng.
† S a ch a và c i ti n tài li u và ch ng trình g c
u l i hay sai sót thi t k c tìm th y và n u chúng có th c s a ch a ngay l p t c, thì
ch ng trình ngu n ph i c s a ch a hay c i ti n. Ph n c a tài li u thi t k liên quan t i các
i hay sai sót thi t k nh v y c ng ph i c s a ch a. N u ch ch ng trình ngu n c
a ch a, thì s nh t quán gi a ch ng trình ngu n và tài li u thi t k s b m t, và r c r i có
th xu t hi n khi công vi c ki m ch ng các ph n khác hay vi c b o trì c ti n hành.
‡ L y hành ng thích h p sau m t ki m th hoàn t t
Sau khi m t ki m th ã c hoàn t t và ch ng trình ã c s a ch a, thì các hành ng
sau ph i c ti n hành:
a. Qu n lí ti n ki m th và báo cáo
Ng i ch u trách nhi m ph i báo cáo v ti n c a vi c ki m th b ng vi c dùng báo cáo
công vi c hàng tu n hay báo cáo ki m th . Sau khi ki m th c hoàn t t, ng i ó ph i
báo cáo k t qu c a vi c ki m th b ng vi c dùng báo cáo hoàn thành ki m th .
b. Ki m soát d li u liên quan t i h ng hóc
li u v l i hay khi m khuy t c tìm ra trong khi ki m th ph i c tích lu l i. C ng
y, l i xu t hi n trong tình hu ng nào, hành ng s a ch a nào ã ti n hành và các thông
tin chi ti t khác ph i c c t gi .
c. Xem l i tài li u v n hành th ng l u
t sai l m c tìm ra trong giao di n con ng i hay trong các giao di n gi a các h con
có th qui cho thi t k trong, nh c mô t trong m c † trên. Không ch ph n c a
ch ng trình d n t i sai l m ó ph i c s a l i, mà c b n thân tài li u thi t k trong c ng
ph i c ch a l i ng n c n cùng sai l m ó x y ra n a.
ng n c n vi c l p l i các l i gây ra b i m t sai l m ph m ph i trong ti n trình ng c
dòng tr c, m t ch ng trình, hay m t ph n c a tài li u thi t k liên quan t i sai l m ó
ng nh tài li u v n hành t ng ng, ph i c s a l i hay xem xét l i ng n c n s xu t
hi n n a c a cùng sai l m.
202 Ch ng 5 Th c hi n ch ng trình
Bài t p
Q1 Trong khi ti n hành các ki m th trong giai n phát tri n h th ng, các ki m th
c ti n hành theo th t t các n v nh t i n v l n, và k t qu c a vi c
ki m th c tích lu l i nh d li u. Tr t t các ki m th nào sau ây là thích
p nh t?
a. Ki m th h th ng → ki m th tích h p → ki m th nv
b. Ki m th h th ng → ki m th n v → ki m th tích h p
c. Ki m th n v → ki m th tích h p → ki m th h th ng
d. Ki m th n v → ki m th h th ng → ki m th tích h p
6 p nh t v n hành
và phát tri n h th ng
c ích c a ch ng
Hi u thi t k ch ng trình b ng cách s d ng ti p c n
ng i t ng.
Gi i thi u
Giao di n ng i s d ng
Truy nh p d li u
Giao di n ng i s d ng Mi n v n Mi n c s d li u
i t ng i t ng c
a s cha khách hàng d li u s
li u
Các ch c n ng bi n c
Ki m soát i t ng
n ph m
Các ch c n ng bi n c
i t ng
n hàng
206 Tr l i bài t p
u này cho phép vi c n i l ng l o gi a các ph n khác nhau c a ch ng trình b ng vi c chia các nh ngh a
p vào ba mi n này. Giao di n ng i dùng bên máy khách cho phép ng i dùng t ng tác v i h th ng.
Các l p mi n v n c dùng bao b c các qui t c kinh doanh. L p c s d li u c dùng cô l p v
trí c a c s d li u làm cho nó thành trong su t v i h th ng. V trí c a các l p mi n v n có th trên máy
ph c v hay máy khách. Vì t ng máy khách dùng m t t p các giá tr khác nhau, nên trong th c hành u
thông th ng là c p cho các i t ng mi n v n vào máy khách.
(2) L p và it ng
it ng là th nghi m c a l p. B n có th coi l p nh nh ngh a. Các l p c nhóm v i nhau nh m t
gói. Gói
nh ngh a
p g m 2 ph n p
• Thu c tính
Thu c tính ch a nh ngh a d li u cho l p.
‚ Ph ng pháp (Methods)
Ph ng pháp tr thành các ch c n ng trong l p.
Tên l p
Ph ng pháp
Ch c n ng
Vùng truy nh p
Có 3 ki u vùng truy nh p.
a. Công (public)
Truy nh p công ngh a là các ph ng pháp và các thu c tính có th c truy nh p t i t bên ngoài.
p
Thu c tính t
Thu c tính công
Thu c tính t
Thu c tính công
b. Truy nh p t (Private)
u này ngh a là các ph ng pháp hay các thu c tính ch có th c truy nh p b i các ph ng pháp n m
bên trong i t ng. u này ngh a là ngay c các i t ng c a cùng m t l p c ng không th truy nh p
c t i các ph ng pháp t c a các i t ng khác. Vì d li u trong m i l p c qu n lý b i b n thân i
ng này, nên u này có ngh a là các thu c tính th ng là t và các ph ng pháp là công
c. c b o v (Protected)
u này ch áp d ng n u k th a c cài t. Truy nh p c b o v ngh a là các con cháu c a l p này có
th truy nh p các ph ng pháp và các thu c tính ó.
Tr l i bài t p 207
p cha
Thu c tính
cb o v
Ph ng pháp
cb o v
p con
Ph ng pháp
„ Các l p mi n v n
Các l p mi n v n bi u di n cho ng c kinh doanh. Các qui t c kinh doanh c c bao b c trong các
p mi n v n
Tên l p
Các ph ng pháp
it ng i t ng sách
Tr c khi di n ra s
ng i có th m n
ki n m n sách
n
ch b n
n sách
i quan h c t o gi a ng i
n và sách
i l p có vùng trách nhi m riêng c a nó. Khi m t khách hàng c th c tích tr , tiêu chu n truy nh p nh
giá tr khóa c truy n vào m t ph ng pháp trong l p khách hàng (Customer). L p khách hàng s không
210 Tr l i bài t p
Trong truy c p d li u,
i i t ng c
nói t i khôi ph c d
li u c a riêng chúng
ng cách s d ng
các ph ng pháp
c cung c p b i i
ng c s d li u
i t ng
s d li u
(6) L p c s d li u (Database)
p c s d li u c s d ng che gi u v trí c a máy ph c v c s d li u. Nó c x lí gi ng nh
máy u quy n proxy cho máy ph c v . Trong môi tr ng khách/ph c v , l p c s d li u s th c t giao ti p
i máy ph c v c s d li u. Nh c m là giao di n máy khách c s d li u ph i c cài t.
Giao th c c s d li u
ph n u khi n c s d c s d ng
li u ph i c xác nh trong
máy khách
Ngày nay, các ki n trúc a bên ã thành thông d ng h n. Trong ki n trúc a bên, i t ng c s d li u trong
máy khách th c t là m t u quy n proxy s d ng giao th c chu n nh SOAP truy nh p các d ch v web
trên máy ph c v . Sau ó, các d ch v web có th truy nh p máy ph c v c s d li u ho c máy ph c v web
khác i t i máy ph c v c s d li u. Các d ch v web có th c coi nh m t t h p các ph ng pháp
p mi n v n c yêu c u mà ã c a ra s d ng.
Máy ph c v
Máy ph c v Web c s d li u
Máy khách
ph n u khi n c s d li u
không c n trong máy khách
Tr l i bài t p 211
Các l p mi n v n ban u
ch v web
p
ch v web Các
ph ng pháp
Các ph ng pháp p
Các
ph ng pháp
212 Tr l i bài t p
Tr l i bài t p
Tr l i cho Quy n 3 Ch ng 1 (C u trúc d li u)
Danh sách áp án
______________________________________________________________
áp án
Q 1: c Q 2: b Q 3: b Q 4: d Q 5: c
Q 6: c Q 7: d Q 8: b Q 9: a Q 10: c
Q 11: b Q 12: c
Tr l i và mô t
Q1
Tr l i
c. 190
Mô t
trí c a a[5,6] trong m ng nh sau.
Nó v trí th 46.
a ch m t hai c a (a[1,2]) là 100 + 2*1=102
Và a ch m t ba c a (a[1,3]) là 100 + 2*2=104.
Vì v y a ch m t 46 là
100 + 2*45=190
Q2
Tr l i
b. Con tr cho Shizuoka c t là 70 và con tr cho Atami c t là 150
Mô t
Danh sách m t chi u có th c hình dung nh sau:
10 Tokyo-->50 ShinYokohama-->90 Atami-->70 Hamamatsu-->30 Nagoya
Sau khi chèn Shizuoka gi a Atami và Hamamatsu, danh sách m t chi u s nh sau
10 Tokyo-->50 ShinYokohama-->90 Atami-->150 Shizuoka-->70 Hamamatsu-->30 Nagoya
Tr l i bài t p 213
Q3
Tr l i
b. Hàng i
Mô t
Hàng i c g i là h th ng vào tr c ra tr c (FIFO) à ây là câu tr l i
Ng n x p c cho là h th ng vào sau ra tr c (LIFO).
Cây nh phân là lo i c u trúc cây mà th t chèn và th t truy c p là c l p (không gi ng FIFO ho c
LIFO)
ng là lo i cây nh phân.
Q4
Tr l i
A b c d e
1 3 3 3 6
7 4 4 7 4
3 5 6 1 3
Mô t
Ng n x p qu nl ý d li u theo FILO(vào tr c ra sau).
PUSH 1-->PUSH 5-->POP-->PUSH 7-->PUSH 6-->PUSH 4-->POP-->POP-->PUSH 3
PUSH 1-->PUSH 5
5
1
POP
1
POP-->POP
7
1
214 Tr l i bài t p
PUSH 3
3
7
1
Q5
Tr l i
c. 4
Mô t
Ch s Giá tr Con tr 1 Con tr 2
1 200 3 2
2 220 0 0
3 180 5 a
4 190 0 0
5 150 6 0
6 130 0 0
Hình 1 Cây nh phân Hình 2
ng di n t cây nh phân
Q6
Tr l i
c. 13
Mô t
Trong cây nh phân, m i nút ph i th a mãn u ki n sau.
Giá tr khóa l n nh t c a các nút bên trái nút < Giá tr khóa c a nút < Giá tr khóa nh nh t c a các nút
bên ph i nút
Vì v y
Nút có giá tr 12 ph i có giá tr l n h n 10 và nh h n 14.
Tr l i bài t p 215
Q7
Tr l i
d. hicdbjfkgea
Mô t
Tìm ki m là th c hi n s d ng ph ng pháp th t ví tr , ngh a là
m b t u d i cùng bên trái, phía ph i m i nút c theo dõi m t cách tu n t .
Vì v y, h, i và c c a ra tr c.
Q8
Tr l i
b. A + B × C - (D + E) ÷ F
Mô t
+ ÷
A X F
+
B C D E
Ký hi u
Vì v y,
di n t B x C,
di n t A + B x C
216 Tr l i bài t p
Q9
Tr l i
a. Chia ra và g p l i các nút cho phép chi u sâu phân c p tr thành nh nhau.
Mô t
a là úng.
b ph n ánh b m
(b. Nh n di n v trí n i d li u c l u gi b ng vi c dùng m t hàm nào ó và giá tr khoá.)
c mô t các t p truy c p tu n t
(c. Ch có th truy nh p tu n t t i d li u u và d li u ti p ó.)
d di n t các t p t ch c phân ho ch
(d. Có danh m c và m t thành viên. Thành viên là t p c t ch c tu n t .)
Q10
Tr l i
c. 11
Mô t
Trong câu h i này c n tìm v trí A sau khi 7 c chèn vào v trí .
1) i ch 7 và 25 vì 7 < 25
2) i ch 7 và 11 vì 7 < 11
3) i ch 7 và 9 vì 7 < 9.
Tr l i bài t p 217
Q11
Tr l i
b. 2
Mô t
Ch c n ng b m
mod(a1 a2 a3 a4 a5, 13)
mod(54321,13)=mod(5+4+3+2+1,13)=2
Vì v y ch s c a 54321 là 2.
Q12
Tr l i
c. 0.7
Mô t
ng b m v i 10 phân t
Vì v y xác xu t t ng ngh a không x y ra cho các giá tr 5 là
9/10 x 8/10 x 7/10 x 6/10 = 3024/10000
Xác xu t xung t x y ra là
1-0.3024=0.6976
218 Tr l i bài t p
Tr l i và mô t
Q1
Tr l i
a. Tuy n tính
Mô t
a. Tuy n tính
Thu t toán tìm ki m tuy n tính tìm các ph n t tu n t t u t i cu i b ng à ây là câu tr l i
b. Nh phân
Ph ng pháp tìm ki m nh phân là ph ng pháp thu h p d li u ích xu ng trong khi chia vùng tìm
ki m thành hai ph n. Các ph n t không c tìm ki m m t cách tu n t .
c. B m
m là cách s d ng c u trúc d li u ki m m ng. S d ng b m, b n có th truy c p tr c ti p t i d
li u c th s d ng khóa không truy c p d li u b n ghi i x ng m t m t.
d. ng
ng là lo i cây tìm ki m nh phân. Nó là cây nh phân hoàn h o, có m i liên h v kích c gi a nút
cha và nút con. ng khác v i tìm ki m nh phân ch ng không có m i quan h v kích c gi a
các nút anh em.
Tr l i bài t p 219
Q2
Tr l i
d. X = ai
Mô t
Ch s 1 2 3 ... i ... n n+1
Giá tr a1 a2 a3 ... ai ... an X
pl it b c 2 t i b c 4.
Kho ng tr ng di n t u ki n l p.
u ki n t n t i là giá tr c tìm th ho c v trí cu i c tìm .
Vì v trí cu i ho c không c ki m tra trong b c 5, ô tr ng s là giá tr c tìm th , ví d X phù
p v i giá tr ph n t hiên t i. à Câu tr l i là d
Q3
Tr l i
a b
C k + l → lo k - l → hi
Mô t
t u
1 → l0
n → hi
( l 0 + h i) / 2 → k
= A( k ) : x
>
a
a a
b
l0:hi ≤
>
nt ix Không t n t i x
t thúc
220 Tr l i bài t p
Ph ng pháp tìm ki m nh phân là ph ng pháp thu h p d li u ích trong khi chia vùng tìm ki m
thành hai ph n.
1) ch tr ng a
u A(k) < X, chia vùng có n a cao h n thành hai ph n, vì v y k+1 à lo .
2) kho ng tr ng b
u A(k) > X, chia vùng n a th p h n thành hai ph n, vì v y k-1 à hi
Do ó, câu tr l i là c.
Q4
Tr l i
b. 11
Mô t
Trong tìm ki m nh phân, s l n so sánh trung trình và l n nh t v i s các ph n t là N:
-S l n so sánh trung bình là [log2N]
-S l n so sánh l n nh t là [log2N] +1
([ ] là ký t Gaussian và s th p phân c a giá tr a ra trong ký t c b b t.)
l n trung bình là k thì
1 <= 2000/2k < 2
2k <= 2000/2k < 2k+1
ây,
log21024 = log2(2)10=10 <= log22000 < log22048 = log2(2)11=11
Vì v y k = 10 và s l n l n nh t là k+1 = 11
à câu tr l i là b.
Q5
Tr l i
d. N u s d li u là 10 hay nh h n, thì s l n so sánh trung bình mà ph ng pháp duy t
tuy n tính òi h i là nh h n s l n trung bình c a ph ng pháp duy t nh phân.
Mô t
Trong tìm ki m nh phân, s l n so sánh trung bình và l n nh t v i s các ph n t là N:
-S l n trung bình là [log2N]
-S l n l n nh t là [log2N] +1
Trong tìm ki m tuy n tính, s l n so sánh l n nh t là: N u s ph n t là N,
Tr l i bài t p 221
Q6
Tr l i
a b c d
D T ng d n S px p p x p ngoài G p
Mô t
1) a, b
p x p d li u theo th t tu n t t giá tr nh nh t n giá tr l n nh ngh a là
p x p t ng d .
222 Tr l i bài t p
2) c
u dãy d li u ích là l u tr ph , thì ho t ng này g i là p x p ngoài .
c.f. S p x p ngoài ngh a là s p x p d li u trong n v b nh chính. S p x p ngoài
ngh a là d li u l u tr c l u tr trên a t ho c n v l u tr ph khác.
3) d
Tích h p hai ho c nhi u t p c l u tr theo th t trong m t t p c g i là
Q7
Tr l i
e. S p x p n i b t
Mô t
t u
các ph n t →n
Vòng l p
n≤1
1→i
Trao i
i=n
A ( i ) : A (i + 1)
A(i)→w
A(i+1)→A(i )
w → A ( i + 1)
i+1→i
Trao i
n-1→n
pl i
t thúc
Tr l i bài t p 223
Q8
Tr l i
e. 10,000
Mô t
Trong c c u s p x p n i b t, hai ph n t ti p theo m i ph n t trong chu i c so
sánh và n u chu i sai thì i ch .
ph c t p c a máy n toán là n2 (t ng ng v i m t hình vuông có c nh n, n: s
li u)
u s d li u l n g p 100 l n (tr c kia là 1000 và bây gi là 100 000), thì th i gian
c tính s là (100)2 = 10,000 l n so v i tr c kia.
à câu tr l i là e. 10,000.
Q9
Tr l i
d. S p x p vun ng là ph ng pháp s p x p d li u b ng vi c bi u di n m t vùng ch a s p
p nh m t cây con, l y giá tr t i a hay t i thi u t mi n ch a s p, chuy n giá tr t i a
hay t i thi u vào vùng c s p x p và l p l i vi c này thu h p d n mi n ch a s p x p.
Mô t
a. S p x p nhanh Quick sort là ph ng pháp s p x p d li u theo các dãy con bao g m các
kho n m c d li u c l y t các kho ng và s p x p các dãy con nh h n bao g m các
kho n m c d li u c l y t i kho ng nh nh t.
Câu này mô t ph ng pháp s p x p bóc v mà hai y u t d li u c xác nh
ngay t m i y u t t i kho ng th i gian nào ó c ch n ra t dãy d li u.
Q10
Tr l i
c. D li u c chia thành m t nhóm các d li u nh h n m t giá tr tham chi u và nhóm
kia là các d li u l n h n giá tr tham chi u. Trong t ng nhóm, m t giá tr tham chi u m i
c l a ra và d li u gi ng th l i c phân chia thành hai nhóm d a trên giá tr tham
chi u này. Vi c này c th c hi n l p l i.
Mô t
Trong câu h i này c n tìm mô t thích h p v s p x p nhanh.
Ph ng pháp s p x p nhanh do Hoare thi t k . Nó di n t ph ng pháp s p x p
nhanh nh t s d ng ph ng pháp quy.
Giá tr tham chi u ( m th ho c giá tr th ) c ch n t d li u c s p x p. Giá
tr trung bình c a ba ph n t (ph n t trái, chính gi a, ph i) c s d ng th ng
xuyên. Sau ó, ph n t d li u nh h n giá tr chính c chuy n sang trái c a giá tr
chính trong khi nh ng ph n t d li u l n h n giá tr chính c chuy n sang ph i.
t c ph n t d li u c chia thành hai ph n.
Ho t ng phân chia này c th c hi n l p l i cho n khi ch còn l i m t ph n t .
à c. là mô t thích h p v ph ng pháp s p x p nhanh à ây là câu tr l i
Q11
Tr l i
a. TANGO (i) → TANGO (i+1)
Mô t
t u
TANGO ( n ) → TANGO ( 0 )
Vòng l p
i : n 1, -1, 0
Vòng l p
t thúc
Sau khi áp d ng thu t toán này, t trong TANGO(n) gi s c l u tr trong TANGO(1), sau ó
các t còn l i c d ch sang ph i.
METI METI FE SW JITEC JIPDEC
TANGO(0) TANGO(1) TANGO(2) TANGO(3) TANGO(4) TANGO(5)
Q12
Tr l i
b. Nh c th y theo quan m hình h c, ph ng pháp thu l y l i gi i x p x b ng vi c
dùng ng ti p tuy n c a y = f(x).
Mô t
Ph ng pháp thu t toán Newton c mô t nh sau. Nh c ch ra d i ây, nó thu cl i
gi i b ng cách s d ng ng ti p tuy n y=f(x). Vì v y câu tr l i là b.
c1
ng ti p tuy n y = f(x) t i p1( x1, y1) và thu c m x2 là giao c a ng ti p tuy n và
tr c x.
c2
ng ti p tuy n y = f(x) t i p2 (x2, y2) và thu c m x1 là giao c a ng ti p tuy n và
tr c x. Khi b c này c th c hi n l p i l p l i thì ng ti p tuy n chuy n g n t i k t qu .
c3
khác nhau gi a các giá tr x p x g n k nhau thu c trong b c2 c so sánh v i chính
xác c a giá tr h i t c xác nh tr c. Th c hi n l p l i b c 1 và 2 cho t i khi s khác nhau
này nh h n giá tr h i t c xác nh tr c.
Tr l i và mô t
Q1
Tr l i
b. Thi t k d li u v t lý
Mô t
Trong câu h i này c n tìm công vi c th c hi n thích h p nh t trong thi t k trong, nh b ph n c a
ho t ng phát tri n h th ng trong s các l a ch n sau.
a. Thi t k mã b. Thi t k d li u v t lý c. Thi t k ch ng trình theo c u trúc
d. nh ngh a các yêu c u e. Thi t k d li u Logic
Q2
Tr l i
a. cl ng dung l ng và th i gian truy nh p e. Xác nh cách b trí b n ghi
Mô t
Trong câu h i này c n xác nh hai tác v c th c hi n trong thi t k d li u v t lý trong giai n
thi t k trong.
a. c l ng dung l ng và th i gian truy nh p b. Xác nh các y u t d li u
c. Phân tích các m i quan h d li u d. T o các c t t p
e. Xác nh cách b trí b n ghi
Q3
Tr l i
a DFD
Mô t
Trong câu h i này c n xác nh bi u c s d ng trong phân tích c u trúc di n t các ch c
ng và lu ng d li u b ng cách s d ng các ký hi u a ra lu ng d li u, x lý (các ch c n ng),
kho d li u và ngu n ngoài (ngu n d li u c sinh ra và g i i).
a. DFD b. ERD c. S NS d. Bi u chuy n tr ng thái
e. Bi u ò Warnier
a DFD
Chu n DFD cho bi u lu ng d li u: và bi u này mô t trong câu h i. à ây là câu tr l i
b Bi u E-R
Bi u này c s d ng trong mô hình d li u a ra các th c th và m i quan h gi a
chúng.
cS NS
Bi u này c s d ng trong l p trình c u trúc.
d Bi u chuy n tr ng thái
Bi u này di n t các tr ng thái và các giao d ch gi a các tr ng thái.
e Bi u Warnier
230 Tr l i bài t p
Q4
Tr l i
e. M i quan h gi a các b c vào/ra và x lí có th c bi u di n rõ ràng.
Mô t
Trong câu h i này c n xác nh mô t thích h p v HIPO, m t trong các ph ng pháp thi t k c u
trúc.
a. Bi u các n i dung và bi u lu ng d li u c dùng.
b. Thông tin u khi n c truy n qua gi a các kh i x lí c mô t cùng v i các m i tên
trong bi u n i dung.
c. Bi u n i dung ch ra ch c n ng toàn th c a ch ng trình, và các s c a vào
trong các kh i x lí ch ra trình t x lí.
d. Các kí hi u trong l u c dùng ch ra cái gì c ch n và cái gì c l p l i.
e. M i quan h gi a các b c vào/ra và x lí có th c bi u di n rõ ràng.
Q5
Tr l i
d. hoàn thành ti n trình ang di n ra, màn hình ph i c thi t k ng n c n ng i
dùng b d vi c a d li u vào, hay tr l i màn hình tr c ó.
Mô t
Trong câu h i này c n xác nh xem xét không thích h p v thi t k màn hình trong
thi t k trong và thi t k ngoài.
a. Vi c chuy n màn hình nên c thi t k v i vi c xem xét không ch vi c l a t ng b c
ng vi c dùng m t menu, mà còn v i truy nh p tr c ti p vào màn hình mong mu n cho
ng i dùng ã thành th o.
b. T ng kho n m c mà d li u c a vào trên màn hình ph i c bao trong ngo c
vuông, nh n m nh r ng nó là tr ng a vào d li u.
c. Cách b trí màn hình ph i c thi t k theo cách các kho n m c c n tham chi u c thu
p t trái sang ph i, và t trên xu ng d i.
d. hoàn thành ti n trình ang di n ra, màn hình ph i c thi t k ng n c n ng i
Tr l i bài t p 231
Tr l i và mô t
Q1
Tr l i
e. Nên a vào các chú thích úng làm cho d hi u logic bên trong mô un.
Mô t
Trong câu h i này c n xác nh nh n xét không thích h p trong phân ho ch module.
a. S các mô un c p d i mà m t mô un có th g i t i ph i c gi i h n.
b. Mô un ph i c thi t k sao cho nó ch a m t s úng các b c.
c. Trong thi t k c u trúc c p b c mô un này g i t i mô un kia, ph i ý t i vi c gi chi u
sâu trong gi i h n xác nh.
d. Giao di n gi a các mô un ph i c làm n gi n hoá.
e. Nên a vào các chú thích úng làm cho d hi u logic bên trong mô un.
t c a, b, c và d là xem xét thi t k module.
e là th c hành mã úng nh ng không liên quan t i phân ho ch module.
Vì v y, câu tr l i là e.
Q2
Tr l i
Ch c n ng
Vào d li u Ch n s Tính giá tr trung bình Hi n th k t qu
c Ngu n Ngu n Bi n i ch a
Mô t
Trong câu h i này, k t h p úng các c m ch c n ng c a ch ng trình d a trên phân ho ch
STS. Ch ng trình này c d li u, ch n d li u s và a ra giá tr trung bình.
Tr l i bài t p 233
Ch c n ng
Vào d li u Ch n s Tính giá tr trung bình Hi n th k t qu
a ch a B ch a Ngu n Bi n i
b ch a Ngu n Ngu n Bi n i
c Ngu n Ngu n Bi n i ch a
d Ngu n Bi n i Bi n i ch a
e Bi n i B ch a ch a Ngu n
Trong ph ng pháp phân ho ch STS (ho c phân tích), m t ch ng trình c chia thành ba ph n
nh sau
1) Ngu n (Ch c n ng x lý u vào)
2) Bi n i (Ch c n ng x lý d li u)
3) B ch a (Ch c n ng x lý u ra)
Trong ph ng pháp này, m vào tr u t ng hóa l n nh t, n i d li u không th c xem xét
lâu h n d li u u vào và m ra tr u t ng l n nh t, n i d li u b t u mang hình nh d li u
u ra.
Ch ng trình trong câu h i c d li , ch n d li u s và hi n th giá tr trung bình . H n n a
tính d li c ng c th c hi n. u này c ng tính th c t trung bìnhcó th c a ra nh
sau.
Lu ng d li u vào Lu ng d li u ra
m vào m ra tr u
tr u t ng ng l n
n nh t nh t
Ngu n Bi n i ch a
234 Tr l i bài t p
Q3
Tr l i
c. Ph ng pháp phân ho ch giao tác
Mô t
Trong câu h i này c n xác nh tên ph ng pháp phân tích c dùng cho s chia theo ch ng
trình c p nh t t p.
C p nh t t p
p nh t tr ti n p nh t công p nh t kh u
b n nh t tr
Trong tr ng h p trên, khi m i ph n sau khi phân tích di n t m t giao tác khác nhau, câu tr l i là
c. Phân tích giao tác.
Q4
Tr l i
d. Ph ng pháp phân ho ch giao tác
Mô t
Trong câu h i này c n tìm ph ng pháp s d ng chuy n bi u lu ng d li u c t o ra b i
phân tích c u trúc thành bi u c u trúc c s d ng cho thi t k c u trúc?
a. Ph ng pháp KJ b. Ph ng pháp OMT c. Ph ng pháp Jackson d. Ph ng pháp
phân ho ch giao tác
Câu tr l i là d.
Tr l i bài t p 235
Q5
Tr l i
c. Ph ng pháp Jackson
Mô t
Trong câu h i này c n xác nh k thu t phân ho ch module t p trung vào c u trúc d li u.
a. Ph ng pháp phân ho ch ch c n ng chung
b. Ph ng pháp phân ho ch ngu n/bi n i/b ch a (ph ng pháp phân ho ch STS)
c. Ph ng pháp Jackson
d. Ph ng pháp phân ho ch giao tác (ph ng pháp phân ho ch TR)
t c a, b và d là k thu t phân ho ch h ng lu ng d li u.
Vì v y câu tr l i là c, ph ng pháp Jackson ho c JSP (Jackson Structured
Programming.)
Q6
Tr l i
a. Bi u c u trúc c a d li u vào và ra c v v i chú ý chính d n vào c u trúc d li u.
Bi u c u trúc ch ng trình c chu n b d a trên bi u c u trúc d li u vào/ra.
Mô t
Trong câu h i này c n xác nh mô t úng nh t v ph ng pháp Warnier cs
ng t o th t k ch ng trình theo c u trúc.
a. Bi u c u trúc c a d li u vào và ra c v v i chú ý chính d n vào c u trúc d li u.
Bi u c u trúc ch ng trình c chu n b d a trên bi u c u trúc d li u vào/ra.
b. Các ch c n ng trong lu ng d li u c g p nhóm vào trong các lo i ngu n, bi n i và
ch a v i chú ý chính c d n vào lu ng d li u c n gi i quy t.
c. Ph n m m c coi nh m t tuy n t p các d li u và qui trình. Tính c l p mô un c
ng lên b ng cách bao b c nh ng d li u và qui trình này.
d. V i chú ý chính c d n vào c u trúc u khi n c a ch ng trình, logic ch ng trình
c thi t k d a trên lu ng u khi n, bi u l m i quan h g i nhau.
Vì ph ng pháp Warnier là ph ng pháp phân ho ch h ng c u trúc d li u, nên câu
tr l i là a.
236 Tr l i bài t p
Q7
Tr l i
d. N i n i dung
Mô t
Trong câu h i này c n xác nh ki u n i module m nh nh t trong b n l a ch n sau:
a. N i công c ng b. N i d u
c. N i d li u d. N i n i dung
i module
t trong nh ng m c ích c a thi t k module là t i thi u hóa n i module v i các
module khác. Nói cách khác là t o s c l p có th . Có 7 lo i n i module. T lo i có
c l p ít nh t t i lo i có s c l p cao nh t nh sau:
Q8
Tr l i
b. a=3, b=7
Mô t
Trong câu h i này c n xác nh c p ch ng trình sau a ra k t qu bao nhiêu
Main program Subprogram sub (x, y)
a=3 ; x=x+y ;
b=2 ; y=x+y ;
sub (a, b) ; return ;
Tr l i và mô t
Q1
Tr l i
c. Ki m th n v → Ki m th tích h p → Ki m th h th ng
Mô t
Trong câu h i này c n xác nh tr t t ki m th thích h p nh t.
a. Ki m th h th ng → ki m th tích h p → ki m th nv
b. Ki m th h th ng → ki m th n v → ki m th tích h p
c. Ki m th n v → ki m th tích h p → ki m th h th ng
d. Ki m th n v → ki m th h th ng → ki m th tích h p
Th t c a ki m th nh sau. à Câu tr l i là c.
Ki mUnit
th tests
nv
KiIntegration
m th tíchtests
h p
Ki System
m th h tests
th ng
Ki Operation
m th v ntests
hành
Tr l i bài t p 239
Q2
Tr l i
d. Ki m th h p tr ng
Mô t
Trong câu h i này c n tìm thu t ng thích h p nh t cho ki m th c ti n hành v i s chú ý nh t
c dành cho c u trúc bên trong c a ch ng trình và thu t toán.
a. Ki m th h th ng b. Ki m th trên xu ng
c. Ki m th h p en d. Ki m th h p tr ng
e. Ki m th d i lên
Các tr ng h p ki m th cho ki m th h p tr ng c thi t k b ng cách a ra xem xét c bi t
i c u trúc các module trong và lu ng u khi n và logic.
Vì v y, câu tr l i là d.
Q3
Tr l i
b. Ki m th h p en
Mô t
Trong câu h i này c n tìm k thu t chu n b ki m th d li u và ki m th các ch c n ng c a
ch ng trình v i s chú ý nh t c dành cho các m i quan h gi a d li u u vào và k t qu
u ra.
a. Ki m th trên xu ng b. Ki m th h p en
c. Ki m th d i lên d. Ki m th h p tr ng
Trong ki m th h p en, module c xem nh h p en. Sau ó, d li u ki m th c thi t k
ch chú ý t i các giao di n ( u ra và u vào) c a m i module.
Vì v y, câu tr l i là b.
p box
en
u vào
Output
Black
u ra
Input
(module ho c các
(A module or others)
cái khác)
Q4
Tr l i
d. Ki m ch ng r ng không có v n gì v i giao di n gi a các mô un, là các c u ph n c a
ch ng trình
240 Tr l i bài t p
Mô t
Trong câu h i này c n tìm mô t thích h p nh t v ki m th tích h p c ti n hành trong ti n trình
ki m th phát tri n h th ng, ngay sau khi m t n v ki m th (ki m th module) c hoàn
thành.
Trong ki m th tích h p, các ki m th c ti n hành m i ch ng trình c a ra b ng cách
liên k t các module. Các ho t ng c a các ch ng trình và các giao di n gi a các module c
ki m tra.
Q5
Tr l i
a. Ki m th c ti n hành b ng cách móc n i các mô un theo tr t t mô un th p t i cao.
Các khi n trình c c n t i làm cái thay th cho các mô un m c cao ch a hoàn t t.
Mô t
Trong câu h i này c n xác nh gi i thích thích h p h n v ki m th d i lên.
a. Ki m th c ti n hành b ng cách móc n i các mô un theo tr t t mô un th p t i cao.
Các khi n trình c c n t i làm cái thay th cho các mô un m c cao ch a hoàn t t.
b. T ng mô un riêng l c ki m th . Khi t t c các mô un u ã c ki m th , thì
chúng c móc n i và ki m th .
c. Ki m th c ti n hành b ng vi c móc n i các mô un theo th t t mô un cao xu ng
mô un th p. Cu ng c c n t i nh cái thay th cho các mô un c p th p ch a hoàn t t.
d. Các ki m th c ti n hành theo tr t t ki m th n v , tích h p, h th ng và v n hành.
Trong ki m th d i lên, các module c tích h p b ng cách di chuy n lên c p thi t
ch ng trình. à Câu tr l i là a.
b. Mô t ki m th big bang.
c. Mô t ki m th trên xu ng.
d. a ra th t c a ki m th (nh c a ra trong câu 1)
Tr l i bài t p 241
Q6
Tr l i
a. Các tr ng h p ki m th c chu n b tr c, và d li u ki m th có th áp ng các yêu
u c xác nh trong tr ng h p ki m th c chu n b .
Mô t
Trong câu h i này c n tìm mô t thích h p h n v d li u ki m th cs d ng ki m tra
ch ng trình.
a. Các tr ng h p ki m th c chu n b tr c, và d li u ki m th có th áp ng các yêu
u c xác nh trong tr ng h p ki m th c chu n b .
b. Ch d li u ki m th có th c x lí úng m i c chu n b nh các ti n trình ki m
th .
c. Nh d li u c dùng cho ki m th , quãng 20% kh i l ng d li u c n x lí trong các
thao tác th c t m i c chu n b .
d. D li u ki m th b bác b nh l i trong giai n a vào không c n ph i c cung c p.
a. úng à ây là câu tr l i
b,d Các tr ng h p ki m th có th a ra c hai u ki n úng và sai mà m i
u ki n t o quy t nh c th c hi n
Q7
Tr l i
b. Snapshot
Mô t
Trong câu h i này c n xác nh tên k thu t g l i vi t ra n i dung các bi n ho c thanh ghi m i
n m t câu l nh c bi t c th c hi n.
a. Walk-through b. Snapshot
c. B sinh d li u ki m th d. Khi n trình
a Walk-through là m t lo i ph ng pháp xem xét
b Snapshot là sap chép t nh các chuy n ng c bi t t i m t th i m c bi t. Nó ch a các giá
tr bi n, giá tr thanh ghi và v.v... à ây là câu tr l i
c K thu t này t ng sinh d li u ki m th
d K thu t này thay th module g i c s d ng trong ki m th d i lên
242 i chi u thu t ng Anh - Vi t
[A]
abstract data type Ki u d li u tr u t ng
approximation algorithm Thu t toán x p x
array type Ki u m ng
ascending order th t t ng
ASP ASP
assembler h p d ch
[B]
balanced tree Cây cân b ng
basic data structure u trúc d li u c s
basic data type Ki u d li u c s
basic exchange method Ph ng pháp tráo i c s
basic insertion method Ph ng pháp chèn c s
basic selection method Ph ng pháp l a c s
bi-directional list Danh sách hai chi u
big bang test Ki m th Big-bang
binary search method Ph ng pháp duy t nh phân
binary search tree Cây tìm ki m nh phân
binary tree Cây nh phân
bisection method Ph ng pháp phân ôi
black box test Ki m th h p en
bottom-up programming p trình d i lên
bottom-up test Ki m th d i lên
Boyer-Moore method Ph ng pháp Boyer-Moore
branch Nhánh
breadth-first search method Ph ng pháp duy t chi u r ng tr c
B-tree B-cây
bubble chart b t
bubble sort px pn ib t
[C]
cell Ô
chain method Ph ng pháp dây chuy n
character string compression Nén xâu kí t
character string processing lí xâu kí t
character string search Duy t xâu kí t
character type Ki u kí t
child Con
class library Th vi n l p
coding rules (standards) Nh ng qui t c vi t mã (chu n)
coincidental strength b n trùng h p ng u nhiên
collation algorithm Thu t toán x p b
combination line ng t h p
combination test Ki m th t h p
common coupling i chung
i chi u thu t ng Anh Vi t 243
[D]
DASD DASD
data check method Ph ng pháp ki m tra d li u
data coupling i d li u
depth-first search method Ph ng pháp duy t chi u sâu tr c
dequeue y ra d li u t hàng i
descending order p theo th t gi m
design review Ki m m thi t k
development tool Công c phát tri n
DFD Bi u lu ng d li u
dialog box p tho i
Dijkstra search method Ph ng pháp duy t c a Dijkstra
direct access storage device Thi t b nh truy nh p tr c ti p
direct organization file p t ch c tr c ti p
directed graph th có h ng
directory Danh m c
divide-and-conquer method Ph ng pháp chia và tr
document Tài li u
driver Khi n trình
dump routine Trình x ra
dynamic programming method Ph ng pháp qui ho ch ng
[E]
eight-queen question Câu h i tám h u
encapsulation Bao b c
enqueue u gi d li u vào hàng i
enumeration type Ki u li t kê
ESDS
event-driven program Ch ng trình c u khi n theo bi n c
exhaustive search method Ph ng pháp duy t vét c n
external coupling i ngoài
external sorting p x p ngoài
[F]
FIFO FIFO
figure drawing hình
file dump t p
file processing lí t p
file updating p nh t t p
first-in first-out
FIFO
fixed length record n ghi chi u dài c nh
flowchart u
244 i chi u thu t ng Anh Vi t
[G]
gap h ng
garbage Rác
graph th
greedy algorithm method Ph ng pháp thu t toán tham lam
group control Ki m soát nhóm
GUI Giao di n ng i dùng ho
[H]
hash m
hash method Ph ng pháp b m
heap ng
HIPO phân c p c ng v i cái vào x lí cái ra
home record n ghi nhà
[I]
IDE Môi tr ng phát tri n tích h p
incremental test Ki m th t ng d n
index Ch s
index area Vùng ch s
indexed sequential file p tu n t có ch s
information hiding Che gi u thông tin
informational strength b n thông tin
integer type Ki u nguyên
integration test Ki m th tích h p
interfaces between modules Giao di n gi a các mô un
interpreter thông d ch
[J]
Jackson method Ph ng pháp Jackson
[K]
knapsack problem Bài toán ba lô
KSDS KSDS
[L]
language processor x lí ngôn ng
last-in first-out Vào sau ra tr c
LIFO
leaf Lá
LIFO Vào-sau-ra-tr c
linear list Danh sách tuy n tính
linear search Duy t tuy n tính
linear search method Ph ng pháp duy t tuy n tính
list structure u trúc danh sách
logic programming p trình logic
logical strength b n logic
logical type Ki u logic
i chi u thu t ng Anh Vi t 245
[M]
maximum abstraction input point m vào tr u t ng t i a
maximum abstraction output point m a ra tr u t ng t i a
MDI Giao di n a tài li u
member Thành viên
merge sort px pg p
module Mô un
module coupling i mô un
module independence Tính c l p c a mô un
module logical design Thi t k logic mô un
module partitioning Phân ho ch mô un
module strength b n mô un
Monte Carlo method Ph ng pháp Monte Carlo
multiway tree Cây a nhánh
multi-window ac as
[N]
N-ary tree Cây N ngôi
Newton's method Ph ng pháp Newton
node Nút
nonincremental test Ki m th không t ng d n
NULL NULL
numerical integration Tích phân s
[O]
object-oriented programming p trình h ng s v t
OCR
c kí t quang h c
one-dimensional array ng m t chi u
operation test Ki m th v n hành
overflow area Vùng tràn
[P]
parent Cha m
partial type Ki u b ph n
partitioned organization file p t ch c có phân ho ch
peer-review Ki m m l i
perfect binary tree Cây nh phân hoàn ch nh
physical data design Thi t k d li u v t lí
pivot Th
pointer type Ki u con tr
POP t ra
preprocessor ti n x lí
primarity test problem Bài toán ki m th s nguyên t
prime data area Vùng d li u chính
probability algorithm Thu t toán xác su t
probability algorithm with bounded errors Thu t toán xác su t v i sai s b ch n
problem-oriented data structure u trúc d li u h ng v n
procedural programming p trình th t c
246 i chi u thu t ng Anh Vi t
procedural strength b n th t c
process chart u ti n trình
program design document Tài li u thi t k ch ng trình
programming paradigm Mô th c l p trình
programming style Phong cách l p trình
PUSH n vào
[Q]
QC
quality control Ki m tra ch t l ng
queue Hàng i
quick sort p x p nhanh
[R]
real number type Ki u s th c
record type Ki u b n ghi
recursive qui
recursive algorithm Thu t toán qui
recursive call i qui
reduction method Ph ng pháp rút g n
regression test Ki m th rà l i
reuse Dùng l i
ring list Danh sách vòng
root c
RRDS RRDS
[S]
sandwich test Ki m th bánh mì k p th t
SDI Giao di n m t tài li u
segment n
sentinel search method Ph ng pháp duy t lính canh
sequential method Ph ng pháp tu n t
sequential organization file p t ch c tu n t
Shaker sort p x p sàng l c
Shell sort p x p bóc v
short-cut key Phím t t
shortest path problem Bài toán ng i ng n nh t
simple type Ki u n
Simpson's method Ph ng pháp Simpson
spacing chart không gian
SSP SSP
stable marriage problem Bài toán hôn nhân n nh
stable matching i sánh n nh
stack Ch ng
stack pointer Con tr ch ng
stamp coupling id u
state transition diagram Bi u chuy n tr ng thái
structured chart có c u trúc
structured design Thi t k có c u trúc
structured design method Th ng pháp thi t k có c u trúc
i chi u thu t ng Anh Vi t 247
[T]
table ng
table search Duy t b ng
test case design manual Tài li u thi t k tr ng h p ki m th
test data generation tool Công c sinh d li u ki m th
three-dimensional array ng ba chi u
time strength b n th i gian
top-down programming p trình trên xu ng
top-down test Ki m th trên xu ng
total test Ki m th toàn di n
TR partitioning method Ph ng pháp phân ho ch TR
tracer dò v t
trapezoidal rule Qui t c hình thang
tree structure u trúc cây
two-dimensional array ng hai chi u
[U]
undefined length record n ghi chi u dài không xác nh
undirected graph th vô h ng
uni-directional list Danh sách m t chi u
unit test Ki m th nv
[V]
validity Tính h p th c
variable length record n ghi chi u dài bi n thiên
virtual storage organization file p t ch c l u gi o
VSAM file p VSAM
[W]
Warnier method Ph ng pháp Warnier
waterfall model Mô hình thác
web programming p trình Web
weighted graph th có tr ng s
white box test Ki m th h p tr ng
window as
248 i chi u thu t ng Vi t - Anh
ESDS
QC
A
n vào PUSH
ASP ASP
B
Bài toán ba lô knapsack problem
Bài toán ng i ng n nh t shortest path problem
Bài toán hôn nhân n nh stable marriage problem
Bài toán ki m th s nguyên t primarity test problem
m hash
n ghi chi u dài bi n thiên variable length record
n ghi chi u dài c nh fixed length record
n ghi chi u dài không xác undefined length record
nh
n ghi ng ngh a synonym record
n ghi nhà home record
ng table
Bao b c encapsulation
t ra POP
B-cây B-tree
Bi u chuy n tr ng thái state transition diagram
Bi u lu ng d li u DFD
biên d ch compiler
dò v t tracer
c kí t quang h c OCR
h p d ch assembler
thông d ch interpreter
ti n x lí preprocessor
x lí ngôn ng language processor
C
p nh t t p file updating
Câu h i tám h u eight-queen question
u trúc cây tree structure
u trúc danh sách list structure
u trúc d li u c s basic data structure
u trúc d li u h ng v n problem-oriented data structure
Cây cân b ng balanced tree
Cây N ngôi N-ary tree
Cây nh phân binary tree
Cây nh phân hoàn ch nh perfect binary tree
Cây nhi u nhánh multiway tree
Cây tìm ki m nh phân binary search tree
Cha m parent
Che gi u thông tin information hiding
Ch s index
Ch s subscript
i chi u thu t ng Vi t - Anh 249
Hàng i queue
H
phân c p c ng v i cái vào x HIPO
lí cái ra
p tho i dialog box
K
Khi n trình driver
Ki m m l i peer-review
Ki m m thi t k design review
Ki m soát nhóm group control
Ki m th bánh mì k p th t sandwich test
Ki m th Big-bang big bang test
Ki m th nv unit test
Ki m th d i lên bottom-up test
Ki m th h th ng system test
Ki m th h p en black box test
Ki m th h p tr ng white box test
Ki m th không t ng d n nonincremental test
Ki m th rà l i regression test
Ki m th t ng d n incremental test
Ki m th tích h p integration test
Ki m th t h p combination test
Ki m th toàn di n total test
Ki m th trên xu ng top-down test
Ki m th v n hành operation test
Ki m tra ch t l ng quality control
Ki u b n ghi record type
Ki u b ph n partial type
Ki u có c u trúc structured type
Ki u con tr pointer type
Ki u n simple type
Ki u d li u c s basic data type
Ki u d li u tr u t ng abstract data type
Ki u kí t character type
Ki u li t kê enumeration type
Ki u logic logical type
Ki u m ng array type
Ki u nguyên integer type
Ki u s th c real number type
KSDS KSDS
L
Lá leaf
p trình có c u trúc structured programming
p trình d i lên bottom-up programming
p trình hàm functional programming
p trình h ng s v t object-oriented programming
p trình logic logic programming
p trình th t c procedural programming
p trình trên xu ng top-down programming
p trình Web web programming
i chi u thu t ng Vi t - Anh 251
y ra d li u t hàng i dequeue
LIFO last-in first-out
h ng gap
u flowchart
u ti n trình process chart
u gi d li u vào hàng i enqueue
M
ng ba chi u three-dimensional array
ng hai chi u two-dimensional array
ng m t chi u one-dimensional array
Mô un module
Mô un c p d i subordinate module
Mô hình thác waterfall model
Mô th c l p trình programming paradigm
Môi tr ng phát tri n tích h p IDE
t danh m c directory
N
Nén xâu kí t character string compression
Ng n x p stack
Nhánh branch
Nh ng qui t c vi t mã (chu n) coding rules (standards)
i công c ng common coupling
id u stamp coupling
i u khi n control coupling
i d li u data coupling
i mô un module coupling
i ngoài external coupling
i n i dung content coupling
NULL NULL
Nút node
O
Ô cell
P
Phân ho ch mô un module partitioning
Phím t t short-cut key
Phong cách l p trình programming style
Ph ng pháp b m hash method
Ph ng pháp Boyer-Moore Boyer-Moore method
Ph ng pháp chèn c s basic insertion method
Ph ng pháp chia và tr divide-and-conquer method
Ph ng pháp dây chuy n chain method
Ph ng pháp duy t chi u r ng breadth-first search method
tr c
Ph ng pháp duy t chi u sâu depth-first search method
tr c
Ph ng pháp duy t c a Dijkstra Dijkstra search method
Ph ng pháp duy t lính canh sentinel search method
Ph ng pháp duy t nh phân binary search method
Ph ng pháp duy t tuy n tính linear search method
Ph ng pháp duy t vét c n exhaustive search method
252 i chi u thu t ng Vi t - Anh
Tra c u thu t ng
Duy t xâu kí t 51 Ki u li t kê 3
ESDS 118 Ki u logic 3
FIFO 11 Ki u m ng 4
Giao di n a tài li u 125 Ki u nguyên 3
giao di n gi a các mô un 150, 153, 176 Ki u s th c 3
Giao di n m t tài li u 125 KSDS 118
Giao di n ng i dùng ho 123 lá 15
c 12 Lá 12
i qui 49 p trình có c u trúc 185
GUI 123, 126, 127, 128 p trình d i lên 195
hàng i 12 p trình hàm 25
Hàng i 11 p trình h ng s v t 25
phân c p c ng v i cái vào x lí cái ra p trình logic 25
108 p trình th t c 25
th ng vào-sau-ra-tr c 11 p trình trên xu ng 194
HIPO 109, 110 p trình Web 190
p tho i 125 y ra d li u t hàng i 12
khi n trình 193 LIFO 11
ki m m l i 187 h ng 42
ki m m thi t k 100, 140, 141 p 208
ki m soát nhóm 56, 57, 58 p c s d li u 212
Ki m soát nhóm 55 p mi n v n 209
ki m th bánh mì k p th t 194 u 102
Ki m th Big-bang 196 u ti n trình 109
ki m th nv 147 u ti n trình 102
Ki m th d i lên 195 u ti n trình 109
ki m th h th ng 198, 204 u ti n trình 110
ki m th h th ng 191 u gi d li u vào hàng i 12
ki m th h p en 177 ng ba chi u 5
ki m th h p tr ng 176 ng hai chi u 4, 6
Ki m th không t ng d n 196 ng m t chi u 4
Ki m th rà l i 199 MDI 125
Ki m th t ng d n 194 mô un 145, 148, 149, 159, 161, 165
ki m th tích h p 192, 198, 204 mô un c p d i 149
ki m th tích h p 147 Mô hình thác 96
Ki m th t h p 196 Mô th c l p trình 185
ki m th toàn di n 197 Môi tr ng phát tri n tích h p 188
ki m th trên xu ng 177 t danh m c 118
ki m th v n hành 191 nén xâu kí t 54
ki m tra ch t l ng 202 Ng n x p 10
ki u b n ghi 4 nhánh 12
Ki u b n ghi 6 Nhánh 12
Ki u b ph n 3 nh ng qui t c vi t mã (chu n) 186
ki u có c u trúc 4 i công c ng 169
ki u có c u trúc 4 i công c ng 166
ki u con tr 4 id u 169, 170
Ki u con tr 3 id u 168
Ki u n 3 i u khi n 168
Ki u d li u c s 3 i d li u 170
Ki u kí t 3 i d li u 169
256 Tra c u thu t ng
i mô un 160 ph ng pháp tu n t 18
i ngoài 167 Ph ng pháp Warnier 149, 156, 157, 182
i ngoài 167 pop 11
i n i dung 166 POP 11
NULL 10 PUSH 11
Nút 12 quan h 210
Nút 12 qui t c hình thang 74, 75
ô8 Qui t c hình thang 74
OCR 121, 122 rác 9
phân ho ch mô un 97 RRDS 118
Phím t t 129 p theo th t gi m 32
Phong cách l p trình 186 p x p bóc v 42
Ph ng pháp 208 p x p d li u theo th t t ng 44
ph ng pháp b m 117 px pg p 47
Ph ng pháp Boyer-Moore 52 px pg p 47
ph ng pháp chèn c s 39, 40, 42 p x p ngoài 47
ph ng pháp chia và tr 44 p x p nhanh 44
ph ng pháp dây chuy n 18 px pn ib t 34
Ph ng pháp duy t chi u r ng tr c 68 p x p sàng l c 41
Ph ng pháp duy t chi u sâu tr c 67 SDI 125
Ph ng pháp duy t c a Dijkstra 70 b t 104
Ph ng pháp duy t lính canh 30 b t 103
ph ng pháp duy t nh phân 32, 33 có c u trúc 109, 110
ph ng pháp duy t tuy n tính 32 cách 132
Ph ng pháp duy t vét c n 30 không gian 99
Ph ng pháp duy t vét c n 30 STS partitioning method 237
Ph ng pháp Jackson 149, 154, 155, 182, c l p mô un 148, 183
183 Tài li u 98, 99, 140
Ph ng pháp ki m tra d li u 123 Tài li u 108
ph ng pháp l a c s 37, 38 tài li u thi t k ch ng trình 145, 147, 178
ph ng pháp Monte Carlo 86 tài li u thi t k ch ng trình 144
ph ng pháp Newton 72, 73, 82 tài li u thi t k tr ng h p ki m th 192
ph ng pháp phân ôi 71, 72 p t ch c có phân ho ch 118
Ph ng pháp phân ôi 71 p t ch c ghi nh o 117
Ph ng pháp phân ho ch ch c n ng th ng p t ch c l u gi o 118
151 p t ch c tr c ti p 118
Ph ng pháp phân ho ch STS 149, 159, p t ch c tr c ti p 117
182, 183 p t ch c tu n t 118
Ph ng pháp phân ho ch TR149, 153, 159, p t ch c tu n t 117
183 p tu n t có ch s 113
Ph ng pháp qui ho ch ng 89 p tu n t có ch s 117
ph ng pháp rút g n 89 p VSAM 117
ph ng pháp Simpson 77 thành viên 118
Ph ng pháp Simpson 76 thi t b nh truy nh p tr c ti p 117, 118
ph ng pháp thi t k có c u trúc 146 thi t k có c u trúc 109
ph ng pháp thi t k có c u trúc 144 thi t k d li u v t lí 98
ph ng pháp thu t toán tham lam 89 thi t k logic mô un 174
Ph ng pháp thu t toán tham lam 89 Th 44
ph ng pháp tráo i c s 35, 36, 37, 39 th t t ng 34
ph ng pháp tráo i c s 34 Th vi n ch ng trình con 136
Tra c u thu t ng 257