Giáo trình Công nghệ phần mềm - Phan Huy Khánh
Mục lục
CHƯƠNG 1 .5 ĐẠI CƯƠNG VỀCÔNG NGHỆPHẦN MỀM
I. KHÁI QUÁT VỀLỊCHSỬLẬP TRÌNH.5
I.1. Lập trình tuyến tính.5
I.2. Lập trình cócấu trúc .6
I.3. Lập trình định hướng đối tượng (ĐHĐT).6
I.4. Lập trình trực quan.7
I.5. Những tư tưởng cách mạng trong lập trình.7
II. CÁC PHƯƠNG DIỆN CỦA CÔNGNGHỆPHẦN MỀM 8
II.1. Công nghệ phâ n mềm làgì?.8
II.2. Những yê u tốchất lượng bên ngoài vàbên trong.8
II.3. Sản phâ m phần mềm làgì ?.9
III. NHỮNGNỘI DUNG CƠ BẢN CỦA CNPM.11
III.1. Tổng quan vềcông nghệ phâ n mềm .11
III.2. Chu kỳsống của phần mềm .12
CHƯƠNG 2 .18 THIẾT KẾPHẦN MỀM
I. NỀN TẢNG CỦA THIẾT KẾPHẦN MỀM.18
II. PHƯƠNG PHÁP LẬP TRÌNH CẤU TRÚC.20
II.1. Khái niệm vềlập trình cấu trúc .22
II.2. Những ýtưởng cơ bản lập trình cấu trúc .22
II.3. Các cấu trúc điều khiển chuẩn .25
II.4. Một sốví dụviết chương trình theo sơ đồ khối .28
III. CẤU TRÚC TỐI THIỂU29
III.1. Các cấu trúc lồng nhau.31
IV. LẬP TRÌNH ĐƠN THỂ32
IV.1. Khái niệm vềđơn thể.32
IV.2. Mối liên hệgiữa các đơn thể.33
IV.2.1. Phân loại đơn thể.33
IV.2.2. Tổchức một chương trình cócấu trúc đơn thể.33
V. PHÁT TRIỂN CHƯƠNG TRÌNH BẰNG TINH CHẾTỪNG BƯỚC.35
V.1. Nội dung phương pháp .35
V.2. Ví dụminh hoạ.36
V.2.1. Ví dụ 1 .36
V.2.2. Bài toán 8 quân hậu .38
V.3. Sửa đổi chương trình.42
VI. PHỤLỤC - ĐƠN VỊ TRONG TURBO PASCAL.50
VI.1. Giới thiệu Unit.50
VI.2. Cấu trúc của Unit.50
VI.3. Cách sử dụng Unit.52
VI.4. Ví dụ vê Unit.53
VI.5. Bài tập .55
CHƯƠNG 3 .57 HỢP THỨC HÓA PHẦN MỀM
I. XÁC MINH VÀHỢP THỨC HÓA PHẦN MỀM .57
II. CHỨNGMINHSỰĐÚNG ĐẮN CỦA CHƯƠNG TRÌNH.58
II.1. Suy luận Toán học .59
II.1.1. Các quy tắc suy luận Toán học .59
II.1.2. Khái niệm vềchứng minh tính đúng đắn của chương trình.60
II.1.3. Tiên đềvàquy tắc suy diễn .61
II.1.4. Quy tắc điều kiện if B thenP.62
II.1.5. Quy tắc điều kiện if B thenP else Q.63
II.1.6. Quy tắc vòng lặp while.63
II.1.7. Các quy tắc khác .64
II.2. Phương pháp của C.A.R.Hoare.66
II.2.1. Phát biểu .66
II.2.2. Chứng minh tính đúng đắn từng phần của Div .66
II.3. Chứng minh dừng .69
II.3.1. Chứng minh dừng của một chương trình.69
II.3.2. Chứng minh dừng của Div .70
II.3.3. Đánh giámột chương trình lặp .71
III. XÂY DỰNG CHƯƠNGTRÌNH.72
III.1. Mở đâ u .72
III.2. Bài toán cờtam tài .73
III.2.1. Lời giải thứ nhất .74
III.2.2. Lời giải thứ hai .75
III.2.3. Chứng minh tính đúng đắn của chương trình (I).76
III.3. In ra một danh sách theothứtự ngược .80
III.3.1. TILDA1.81
IV. CÁCTIÊN ĐỀVÀQUY TẮC SUY DIỄN .82
IV.1. Điều kiện trước yếu nhâ t vàđiều kiện sau mạnh nhâ t của một dãy lệnh .82
IV.1.1. Hàm fppre.83
IV.1.2. Hàm fppost.83
IV.1.3. Sử dụng điều kiện trước yếu nhất vàđiều kiện sau mạnh nhất đểchứng
minh tính đúng đắn của chương trình.84
IV.2. Các tiên đề ga n .86
IV.2.1. Điều kiện trước yếu nhất vàđiều kiện sau mạnh nhất của lệnh gán .86
IV.2.2. Quy tắc tínhtoán điều kiện sau mạnh nhất của một phép gán .87
V. BÀI TẬP .89
CHƯƠNG 4 .90 THỬNGHIỆM CHƯƠNG TRÌNH
I. KHẢO SÁT PHẦN MỀM.90
II. CÁC PHƯƠNG PHÁP THỬNGHIỆM .92
II.1. Định nghĩa vàmục đíchthửnghiệm .92
II.2. Thửnghiệm trong chu kỳsống của phần mềm .94
II.2.1. Thửnghiệm đơn thể.94
II.2.2. Thửnghiệm tích hợp.95
II.2.3. Thửnghiệm hệthống .96
II.2.4. Thửnghiệm hồi quy.97
II.3. Dẫn dă t các thửnghiệm .97
II.4. Thiết kếcác phép thử pha hủy (Defect Testing).98
II.4.1. Các phương pháp dựa trên chương trình .98
II.4.2. Các phương pháp dựa trên đặc tả.100
II.4.3. Kết luận .101
II.4.4. Các tiêu chuẩn kết thúc thửnghiệm .101
II.5. Các phép thửnghiệm thống kê .102
II.5.1. Mởđầu .102
II.5.2. Ước lượng độ ổn định của một phần mềm .104
CHƯƠNG 5 .105 ĐẶC TẢPHẦN MỀM
I. MỞĐẦU ĐẶC TẢ PHẦN MỀM .105
I.1. Khái niệm về đă c tả.105
I.1.1. Đặc tảlàgì ?.105
I.1.2. Các phương pháp đặc tả.105
I.1.3. Các thí dụ minh họa .106
I.2. Đặc tả va lập trình.107
II. ĐẶC TẢ CẤU TRÚC DỮLIỆU .109
II.1. Khái niệm vềCấu trúc dữliệu cơ sởvectơ.109
II.1.1. Dẫn nhập .109
II.1.2. Đặc tảhình thức .110
II.2. Truy nhập một phần tửcủa vectơ.110
II.3. Các thuật toán xửlývectơ.111
II.3.1. Truy tìm tuần tựmột phần tửcủa vectơ (sequential search).111
II.3.2. Tìm kiếm nhị phân (Binary search).113
III. ĐẶC TẢĐẠI SỐ : MÔ HÌNHHÓA PHÁT TRIỂN PHẦN MỀM .117
III.1. Mở đâ u .117
III.2. Phân loại các phép toán .119
III.3. Hạng va biến .120
III.4. Phép thếcác hạng.120
TS. PHANHUYKHÁNH biênsoạn iii
iv Công nghệPhần mềm
III.5. Các thuộc tính của đặc tả.122
III.5.1. Mô hình lập trình (triển khai).122
III.5.2. Mô hình đặc biệt .123
III.5.3. Mô hình đồng dư .123
III.6. Phép chứng minh trong đặc tả đa i số.123
III.6.1. Lýthuyếttương đương.124
III.6.2. Khái niệm vềlýthuyết quy nạp .125
III.6.3. Chứng minh tự động bởi viết lại .126
III.6.4. Phân cấp trong đặc tả đại số.128
IV. ĐẶC TẢHAY CÁCH CỤTHỂHÓA SỰTRỪU TƯỢNG.129
IV.1. Đặc tả phe p thay đổi bộ nhớ.129
IV.2. Hàm .131
IV.3. Hợp thức hóa và phục hồi .134
IV.4. Bắt đầu triển khai thực tiễn .137
IV.5. Phép hợp thành (cấu tạo) .140
IV.6. Triển khai thứhai.141
IV.7. Triển khai thực hiện lần thứ ba .146
IV.8. Đặc tảlàm gì?.149
File đính kèm:
- Giáo trình Công nghệ phần mềm - Phan Huy Khánh.pdf