NguyÔn V¨n VþTH M NH VÀ XÁC MINH Ph n III... Software Engineering, a Practitioner’s Approach... NguyÔn V¨n Vþ1.
Trang 1§¹i häc Quèc gia Hμ néi - §¹i häc c«ng nghÖ
Trang 2NguyÔn V¨n Vþ
TH M NH VÀ XÁC MINH
Ph n III
Trang 3NguyÔn V¨n Vþ
̈ Các lo i ki m th
̈ Th m đ nh và xác minh
N i dung – Tài li u
¬ Roger S Pressman Software Engineering, a Practitioner’s
Approach 3th Edition, McGraw-Hill, 1992, B n dich c a Ngô
Trang 6Gây sai?
Trang 8NguyÔn V¨n Vþ
̌ Ch c n ng m c h th ng bao g m các ch c
n ng giao di n, các ch c n ng m c ng i dùng hay đ u ra cu i cùng kh i h th ng
̌ Các ch c n ng này th ng mang tính tích h p
Nên sau khi phát hi n sai ph i quay l i ki m
th t ng ph n c u thành tr c nó
Trang 10̌ Ph c h i có s can thi p c a con ng i Lúc này c n
đánh giá th i gian trung bình đ s a ch a trong gi i
h n cho phép hay không?
Trang 12NguyÔn V¨n Vþ
¸ V nguyên t c: M i đ t nh p là có th n u đ th i gian
và ngu n l c
¸ Bài toán thi t k h th ng an ninh đ t ra là:
̈ làm cho vi c đ t nh p t n phí nhi u h n giá tr thu
đ c do đ t nh p
̈ Công s c b ra xây d ng công c b o v ph i ít
h n giá tr m t đi n u b đ t nh p
Trang 13NguyÔn V¨n Vþ
̌ Các k thu t h p tr ng và h p đen đ c dùng đ đánh
giá ch c n ng và s thi hành c a ch ng trình m cbình th ng
Trang 15NguyÔn V¨n Vþ
¸ Th ng g n li n v i ki m th áp l c vì c hai th ng
đòi h i các d ng c ph n c ng và ph n m m chuyên
d ng Vì c n đo s t ng h p ngu n l c (trong, ngoài)
và Nh d ng c ngo i lai đ giám sát các kho ng v n hành, các s ki n ng t (log) khi nó xu t hi n, có th
l y m u các tr ng thái máy
¸ Có th làm b c l các tình th d n đ n s suy gi m
hi u n ng ho c th t b i h th ng ti m n
Trang 21làm suy gi m h th ng theo th i gian.
h3.1 Ki m th Alpha & Beta 1 khách
Trang 23¸ ki m th alpha đ c ti n hành trong m t môi tr ng
đ c đi u khi n (theo k ho ch c a ng i phát tri n)
¸ D li u cho ki m th Alpha th ng là d li u môph ng
Trang 25NguyÔn V¨n Vþ
̌ K t qu c a ki m th th ng m i ch ra l i và cho th y
nh ng tri u ch ng v n đ c a ph n m m
Nguyên nhân c a l i hay v n đ có th ch a rõ: Bi u
l bên ngoài c a sai & nguyên nhân bên trong c a sai
Trang 26NguyÔn V¨n Vþ
¸ Quá trình g r i luôn d n t i hai kh n ng:
̈ Tìm ra nguyên nhân, ch nh s a và kh đ c l i
̈ Không tìm đ c nguyên nhân
Tr ng h p này c n thi t k m t ca ki m th đ giúp vi c
th m đ nh nghi ng và nh v y công vi c tìm sai l i d n
đ n ti p t c ki m th nh m t vòng l p
a Ti n trình g r i
Trang 27NguyÔn V¨n Vþ
¸ G r i là khó kh n:
̈ Tri u ch ng có th xa nguyên nhân (v không gian)
̈ Tri u ch ng có th t m th i bi n m t khi có m t sai khác đ c s a
̈ Tri u ch ng có th th c gây ra b i sai c a ng i
dùng mà không d theo dõi đ c
̈ Tri u ch ng có th là k t qu c a v n đ th i gian
ch không ph i là v n đ x lý
b Khó kh n c a g r i
Trang 28NguyÔn V¨n Vþ
Có th khó tái th hi n các đi u ki n đ u vào ( ng
d ng th i gian th c, th t đ u vào không xác đ nh)
Tri u ch ng có th là b gián đo n (các h nhúng v i liên k t ph n c ng và ph n m m không tháo r i
đ c)
Tri u ch ng có th do các nguyên nhân đ c phân
b Khó kh n c a g r i
Trang 31NguyÔn V¨n Vþ
¸ Ph ng cách v d ng vô m u là cách chung nh t,
nh ng l i ít hi u qu nh t; Ch áp d ng ph ng sách này khi không còn cách nào khác
¸ Tri t lý “hãy đ cho máy tính tìm ra sai”: xem xét t t c ,
ghi l i t t c v i hy v ng tìm ra trong đ ng thông tin
kh ng l đó cái nguyên nhân c a sai!
¸ M t cách ngh thô thi n, th ng không kh thi
Trang 32NguyÔn V¨n Vþ
¸ Ph ng cách lùi theo v t c c ng là ít thông d ng, và
có th dùng th ng l i trong các ch ng trình nh
¸ B t đ u l n ng c t ch có tri u ch ng sai trong mã
ngu n (b ng tay!) cho t i khi đ nh v đ c sai
¸ Khi s dòng l nh t ng lên thì s con đ ng đi ng c
có th nhi u đ n m c không qu n lý n i
Trang 33NguyÔn V¨n Vþ
¸ Cách làm: t ch c l i d li u liên quan đ n xu t hi n
sai đ cô l p nguyên nhân ti m n
¸ M t gi thi t nguyên nhân đ c đ a ra t d li u trên
đ c dùng đ ch ng t ho c ph n ch ng gi thi t đó
m t danh sách các nguyên nhân ti m n đ c v ch ra
và các ki m th đ c ti n hành đ lo i tr các
nguyên nhân trong danh sách đó
¸ N u ki m th ch ra m t nguyên nhân nào đó có h a
Trang 34NguyÔn V¨n Vþ
¸ M i khi tìm th y l i thì ph i ch nh s a Nh ng s a m t
sai có th gây ra sai khác Làm sao đ s a tri t đ ?
¸ Tr c khi s a nên t h i đ tìm gi i pháp:
̈ Nguyên nhân này có th sinh ra ph n khác c a
ch ng trình hay không? (trong nhi u tình th ,
m t khi m khuy t ch ng trình có th gây ra m t
m u sai logic mà nó có th đ c sinh ra m t
Trang 38b Phân bi t v i b o trì
Trang 40NguyÔn V¨n Vþ
¸ Các kho n m c c u thành lên các thành ph n ph n
m m đ c t o ra nh là nh ng ch tác (artifact) c a
ti n trình k ngh ph n m m đ c t p h p l i trong
m t cái tên chung g i là c u hình ph n m m
¸ Các ch tác này có nhi u m c khác nhau:
̈ B ph n - t ng th (ph m vi)
d C u hình ph n m m
Trang 41NguyÔn V¨n Vþ
¸ ng m c gi i (baseline) là khái ni m đ c đ t ra:
Tr c m c gi i, c u hình có th thay đ i nhanh chóng và không chính th c
Trang 44NguyÔn V¨n Vþ
¸ Các đ c t thi t k (design specification) :
̇ d li u (data design).
̇ ki n trúc (architectural design).
̇ Môđun (modul design).
̇ giao di n (inteface design).
̇ đ i t ng (objject design - n u dùng k
f Các kho n m c c u hình ph n m m
Trang 45̇ Các môđun & mã thi hành đ c
̇ Các môđun đã liên k t
f Các kho n m c c u hình ph n m m
Trang 49NguyÔn V¨n Vþ
1 Làm th nào đ t ch c xác đ nh và qu n lý đ c
nhi u version c a ch ng trình sao cho có th
thay đ i nó đ thích nghi 1 cách hi u qu ?
2 Làm th nào đ t ch c ki m soát đ c các thay
đ i ph n m m tr c và sau khi phân phát cho
khách hàng?
i Câu h i đ t ra cho qu n lý c u hình
Trang 51̇ i t ng h n h p đ c c u thành t các đ i
k Xác đ nh đ i t ng c u hình FM
Trang 54NguyÔn V¨n Vþ
¸ Ki m soát phiên b n = t h p các th t c & các
công c đ qu n lý các phiên b n khác nhau c a
Trang 55¸ M t phiên b n hay bi n th đ c xây d ng c n xác
đ nh thành ph n nào đ c dùng hay c n thay đ i
¸ M t cách khác đ hình thành khái ni m v quan h
gi a các thành ph n, các bi n th , các phiên b n là
m Ki m soát phiên b n
Trang 60NguyÔn V¨n Vþ
l1 Ti n trình ki m soát s thay đ i
̌ Quá trình ki m soát đ i thay nh sau:
Ng i có th m quy n ki m soát thay đ i ra quy t đ nh
X p h ng các yêu c u, sinh ra lênh k ngh
vi c thay đ i (engineering chang order - ECO) …
Trang 62NguyÔn V¨n Vþ
l1 Ti n trình ki m soát s thay đ i(t)
Xem l i các thay đ i s đ c đ a vào trong
l n phân ph i m i Xây d ng l i phiên b n m i c a ph n m m
Rà soát l i s thay đ i c a t t c các kho n m c c u hình (ki m toán)
Trang 63h th ng & lên chi phí d án vì thay đ i đó
¸ K t qu đánh giá v s đ i thay đ c báo cáo cho
ng i có th m quy n ki m soát đ i thay (change
l2 Ho t đ ng ki m soát s thay đ i
Trang 64NguyÔn V¨n Vþ
¸ M nh l nh k ngh thay đ i (ECO) đ c t o ra cho
t ng thay đ i đ c ch p thu n L nh này mô t các
thay đ i c n làm, các ràng bu c ph i tuân theo, các
tiêu chu n rà soát và ki m toán
¸ i t ng c n thay đ i đ c “check out” kh i c s
d li u d án, đ c thay đ i, và các ho t đ ng b o
đ m ch t l ng ph n m m c n đ c áp d ng
l2 Ho t đ ng ki m soát s thay đ i
Trang 65NguyÔn V¨n Vþ
¸ Quá trình “check in” và “check out” nh m th c hi n
hai m c tiêu quan tr ng c a ki m soát đ i thay là: ki m soát truy c p và ki m soát đ ng b :
̈ ki m soát truy c p qu n tr nh ng cái gì mà ng i
k s có th m quy n truy c p và c i biên 1đ i t ng
c u hình c th
̈ ki m soát đ ng b giúp ta b o đ m r ng các thay
đ i đ ng th i, do nh ng ng i khác nhau th c hi n l2 Ho t đ ng ki m soát s thay đ i
Trang 66NguyÔn V¨n Vþ
¸ “check out” m t đ i t ng c u hình d a trên yêu c u
thay đ i đã đ c ch p thu n và l nh k ngh thay đ i cho phép ng i k s ph n m m th c hi n
¸ M t ch c n ng ki m soát truy c p s b o đ m r ng
ng i k s ph n m m có th m quy n “check out” đ i
t ng & các ki m soát đ ng b s khoá đ i t ng đó trong c s d li u d án sao cho không ai có th c p l2 Ho t đ ng ki m soát s thay đ i
Trang 67l2 Ho t đ ng ki m soát s thay đ i
Trang 68NguyÔn V¨n Vþ
¸ đ ng m c đ c t o ra khi đ i t ng đó đã đ c rà
soát k thu t chính th c & đã đ c ch p thu n
¸ Vi c ki m soát đ i thay m c d án đ c th c thi
Trang 69NguyÔn V¨n Vþ
¸ Quá trình ki m soát thay đ i v i quá nhi u th t c
ch t ch có nguy c t o ra s quan liêu
¸ Không t ch c và ki m tra t t, s ki m soát thay đ i
Trang 70NguyÔn V¨n Vþ
¸ Trong 1 s tr ng h p, nhi u th t c chính th c: các
yêu c u, các báo cáo, và các l nh k ngh thay đ i
đ c b qua Tuy nhiên, vi c đánh giá t ng đ i thay
v n đ c ti n hành và t t c các đ i thay v n đ c
theo dõi và đ c rà soát
¸ ki m soát thay đ i chính th c đ c hình thành khi s n
ph m đã đ c phân phát cho khách hàng
l4 Th c ti n ki m soát s thay đ i
Trang 72NguyÔn V¨n Vþ
¸ Minh đ nh, ki m soát phiên b n, ki m soát thay đ i,
giúp cho ng i phát tri n duy trì 1 tr t t , tránh đ c tình th h n đ n
¸ Tuy nhiên, ngay khi các c c u ki m soát thành công
nh t c ng ch theo dõi 1 thay đ i cho đ n khi 1 đ i
t ng c u hình k thu t đ c sinh ra;
¸ làm th nào đ b o đ m s thay đ i đó th c s đ c
n Ki m toán c u hình
(configuration auditing)
Trang 73NguyÔn V¨n Vþ
¸ M t nhân t quan tr ng c a quá trình th m đ nh là rà
soát c u hình (configuration review ) - đôi khi đ c
g i là ki m toán c u hình Rà soát này b o đ m r ng các y u t c a c u hình ph n m m đã th c s đ c phát tri n, l p danh m c, và có các chi ti t c n thi t
đ tr giúp pha b o trì c a vòng đ i ph n m m
n1 Khái ni m ki m toán c u hình
Trang 76NguyÔn V¨n Vþ
¸ Ki m toán = h i và tr l i các câu h i sau:
̇ Thay đ i đ c đ c t trong l nh k ngh thay
đ i đã đ c th c hi n hay ch a? Nh ng c i biên ph nào đã đ c ph i h p?
̇ Rà soát k thu t chính th c đã đ c ti n hành
đ đánh giá s đúng đ n k thu t hay ch a?
n3 Câu h i c a ki m toán c u hình
Trang 77NguyÔn V¨n Vþ
¸ Ki m toán tr l i các câu h i sau (ti p):
º Thay đ i đó đã n i b t lên trong các kho n m c
ph n m m ch a? Có đ c t ngày & tác gi c a thay đ i đó? Các thu c tính c a đ i t ng c u hình đó đã ph n ánh đ c đ i thay đó ch a?
º Các th t c qu n lý c u hình đ giám sát, ghi l i
và báo cáo v nó có đ c tuân th hay không?
n3 Câu h i c a ki m toán c u hình
Trang 78NguyÔn V¨n Vþ
¸ Thông th ng, các câu h i ki m toán nh là 1 ph n
c a rà soát k thu t ph n m m; nh ng khi qu n lý c u hình ph n m m tr thành ho t đ ng chính th c, thì
ki m toán c u hình ph n m m đ c ti n hành tách
riêng cho 1 nhóm b o đ m ch t l ng
n4 Ti n hóa c a ki m toán c u hình
Trang 81NguyÔn V¨n Vþ
¸ Báo cáo hi n tr ng c u hình có th đ c đ t trên
m t c s d li u tr c tuy n đ ng i phát tri n hay
b o trì có th truy c p ngay các thông tin đ i thay
¸ Báo cáo hi n tr ng c u hình đóng m t vai trò c t t
cho th ng l i c a 1 d án phát tri n ph n m m l n
¸ Báo cáo hi n tr ng c u hình giúp lo i tr v n đ b t
c p liên quan đ n nhi u ng i b ng cách c i thi n
giao ti p gi a t t c h
a Khái ni m v báo cáo hi n tr ng