MỤC LỤC
MỤC LỤC I
BẢNG KÍ HIỆU VII
CÁC DANH MỤC HÌNH VIII
CÁC DANH MỤC BẢNG XII
LỜI NÓI ĐẦU XIII
CHƯƠNG 1 TỔNG QUAN VỀ CÔNG NGHỆ PHẦN MỀM 1
1.1. Các khái niệm cơ bản 1
Có thể bạn quan tâm!
- Công nghệ phần mềm - Phạm Hùng Phú, Nguyễn Văn Thẩm Biên soạn - 2
- Nhân Tố Con Người Trong Ngành Công Nghiệp Phần Mềm
- Mối Liên Hệ Giữa Dữ Liệu Và Xử Lý
Xem toàn bộ 305 trang tài liệu này.
1.2. Kỹ sư phần mềm 5
1.3. Nhân tố con người trong ngành công nghiệp phần mềm 6
1.4. Phân loại nghề nghiệp 7
1.4.1. Mức độ kinh nghiệm 7
1.4.2. Loại hình công việc 9
1.5. Sản phẩm phần mềm 13
1.5.1. Các đặc tính phần mềm 13
1.5.2. Tính đáp ứng 15
1.5.3. Phân loại phần mềm 15
1.6. Một số mô hình xây dựng phần mềm 18
1.6.1. Mô hình tuyến tính (The linear sequential model) 18
1.6.2. Mô hình chữ V 19
1.6.3. Mô hình mẫu (Prototyping model) 20
1.6.4. Mô hình tiến hóa (Evolutionary model) 21
1.6.5. Mô hình lặp và tăng dần 22
1.6.7. Mô hình phát triển nhanh 23
1.6.8. Mô hình xoắn ốc (The spiral model) 23
1.6.9. Mô hình đài phun nước 24
1.6.10. Mô hình phát triển dựa trên thành phần 24
1.7. Các phương pháp phát triển phần mềm 25
1.8. Vai trò của người dùng trong giai đoạn phát triển phần mềm 26
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 1 28
CHƯƠNG 2 TIÊU CHUẨN CỦA SẢN PHẨM PHẦN MỀM 33
2.1. Mục tiêu của công nghệ phần mềm 33
2.2. Tiêu chuẩn của sản phẩm phần mềm 34
2.2.1. Tính đúng 34
2.2.2. Tính khoa học 36
2.2.3. Tính hữu hiệu 36
2.2.4. Tính tin cậy 37
2.2.5. Tính kiểm thử được 37
2.2.6. Tính sáng tạo 37
2.2.7. Tính an toàn 37
2.2.8. Tính toàn vẹn 38
2.2.9. Tính đối xứng và đầy đủ chức năng 38
2.2.10. Tính tiêu chuẩn và tính chuẩn 38
2.2.11. Tính độc lập 39
2.2.12. Tính dễ phát triển, hoàn thiện 39
2.2.13. Tính thỏa mãn 39
2.2.14. Một số tiêu chuẩn khác 40
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 2 49
CHƯƠNG 3 QUẢN LÝ DỰ ÁN PHẦN MỀM 57
3.1. Định nghĩa quản lý dự án phần mềm 57
3.2. Phân loại dự án phần mềm 57
3.3. Các giai đoạn dự án 58
3.3.1. Chuẩn bị và khởi động dự án 58
3.3.2. Các giai đoạn thực hiện dự án 59
3.3.3. Kết thúc dự án 59
3.4. Lập kế hoạch dự án 60
3.5. Đánh giá khối lượng và lập lịch dự án 64
3.6. Quản lý công việc và tiến độ 67
3.7. Nghiên cứu tính khả thi dự án 68
3.8. Lựa chọn giải pháp 70
3.9. Giám sát và kiểm soát 72
3.10. Hồ sơ dự án 77
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 3 79
CHƯƠNG 4 XÁC ĐỊNH VÀ PHÂN TÍCH YÊU CẦU 80
4.1. Xác định yêu cầu 80
4.1.1. Mô tả yêu cầu 80
4.1.2. Phân loại yêu cầu 81
4.1.3. Quy trình xác định yêu cầu 85
4.2. Thu nhập yêu cầu 92
4.2.1. Đặc tính dữ liệu 92
4.2.2. Các kỹ thuật thu nhập yêu cầu 95
4.2.3. Đánh giá tính phù hợp của các kỹ thuật thu thập yêu cầu 101
4.3. Đánh giá các yêu cầu 104
4.4. Phân tích yêu cầu 105
4.4.1. Mục đích của giai đoạn phân tích yêu cầu 105
4.4.2. Các nguyên lý phân tích 106
4.4.3. Phân tích khả thi 107
4.4.4. Thiết lập mô hình 108
4.4.5. Đặc tả yêu cầu 113
4.4.6. Các công việc vủa cán bộ phân tích 115
4.5. Tư liệu hóa yêu cầu phần mềm 115
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 4 118
CHƯƠNG 5 THIẾT KẾ PHẦN MỀM 124
5.1. Đặc điểm của quá trình thiết kế phần mềm 124
5.2. Chiến lược thiết kế 127
5.2.1. Thiết kế hướng chức năng 127
5.2.2. Thiết kế hướng đối tượng 128
5.3. Thiết kế kiến trúc ứng dụng 129
5.3.1. Khái niệm 129
5.3.2. Các mô hình thiết kế ứng dụng 130
5.4. Thiết kế cơ sở dữ liệu 136
5.4.1. Cách tổ chức lưu trữ dữ liệu 136
5.4.2. Xây dựng sơ đồ logic dữ liệu 138
5.4.3. Cách phương pháp thiết kế cơ sở dữ liệu 139
5.4.4. Yêu cầu về chất lượng thiết kế cơ sở dữ liệu 141
5.5. Thiết kế giao diện 143
5.5.1. Quy trình thiết kế giao diện 143
5.5.2. Kết quả của thiết kế giao diện 144
5.5.3. Phân loại màn hình 147
5.5.4. Thiết kế màn hình chính 148
5.5.5. Thiết kế màn hình giới thiệu 152
5.5.6. Thiết kế màn hình đăng nhập 153
5.5.7. Thiết kế màn hình nhập dữ liệu lưu trữ 158
5.5.8. Thiết kế màn hình xử lý tính toán 166
5.5.9. Thiết kế màn hình kết quả 166
5.5.10. Thiết kế màn hình thông báo 169
5.5.11. Thiết kế màn hình tra cứu 170
5.6. Thiết kế xử lý 174
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 5 179
CHƯƠNG 6 CÀI ĐẶT PHẦN MỀM 184
6.1. Giai đoạn cài đặt phần mềm 184
6.2. Kỹ năng lập trình 184
6.2.1. Tài liệu chương trình 184
6.2.2. Khai báo dữ liệu 185
6.2.3. Xây dựng câu lệnh 185
6.2.4. Kỹ thuật vào ra 185
6.3. Các phương pháp lập trình 186
6.4. Ngôn ngữ lập trình 187
6.4.1. Nền tảng của ngôn ngữ lập trình 187
6.4.2. Các lớp ngôn ngữ lập trình 189
6.4.3. Một số ngôn ngữ lập trình 189
6.4.4. Chọn ngôn ngữ cho ứng dụng 192
6.5. Công cụ trợ giúp và phân loại 193
6.5.1. Công cụ CASE 193
6.5.2. Phân loại các công cụ Case 194
6.5.3. Một số công cụ được cung cấp tự động cho việc sinh mã 197
6.6. Các công việc của cán bộ lập trình 198
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 6 199
CHƯƠNG 7 KIỂM TRA CHẤT LƯỢNG PHẦN MỀM 201
7.1. Chất lượng phần mềm 201
7.2. Độ tin cậy của phần mềm 202
7.2.1. Các lỗi thường gặp 202
7.2.2. Khái niệm độ tin cậy của phần mềm 203
7.2.3. Một số đánh giá về độ tin cậy 203
7.2.4. Lập trình vì độ tin cậy 205
7.3. Các giai đoạn kiểm thử phần mềm 206
7.3.1. Lập kế hoạch kiểm thử (Test plan) 207
7.3.2. Xây dựng các tình huống kiểm thử (Test Case) 208
7.3.3. Xây dựng các thủ tục kiểm thử (Test script) 210
7.3.4. Thực hiện các thủ tục kiểm thử 211
7.3.5. Đánh giá kết quả kiểm thử (Test Result) 212
7.4. Chiến lược kiểm thử phần mềm 212
7.4.1. Kiểm thử Black-box 213
7.4.2. Kiểm thử White-box 221
7.4.3. Kiểm thử Top-down 228
7.4.4. Kiểm thử Bottom-up 229
7.5. Kỹ thuật kiểm thử phần mềm 230
7.5.1. Khái niệm 230
7.5.2. Đặc điểm của kiểm thử 231
7.5.3. Phân loại một số công cụ kiểm thử tự động 232
7.6. Vai trò và công việc của cán bộ kiểm thử (Tester) 234
7.6.1. Vai trò của cán bộ kiểm thử 234
7.6.2. Công việc của cán bộ kiểm thử 234
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 7 235
CHƯƠNG 8 BẢO TRÌ PHẦN MỀM VÀ QUẢN LÝ THAY ĐỔI PHẦN MỀM 245
8.1. Khái niệm bảo trì phần mềm 245
8.2. Hoạt động bảo trì phần mềm 245
8.2.1. Bảo trì hiệu chỉnh 246
8.2.2. Bảo trì tiếp hợp 246
8.2.3. Bảo trì hoàn thiện 247
8.2.4. Bảo trì phòng ngừa 247
8.3. Đặc điểm của bảo trì phần mềm 247
8.3.1. Bảo trì không cấu trúc 248
8.3.2. Bảo trì có cấu trúc 248
8.3.3. Giá thành bảo trì 249
8.3.4. Một số vấn đề khác 250
8.4. Công việc bảo trì phần mềm 251
8.4.1. Cơ cấu bảo trì 251
8.4.2. Báo cáo 251
8.4.3. Lưu giữ các hồ sơ 252
8.4.4. Xác định giá bảo trì 253
8.5. Một số hình thức bảo trì phần mềm 253
8.5.1. Bảo trì mã chương trình xa lạ 253
8.5.2. Công nghệ phản hồi 254
8.5.3. Công nghệ tái sử dụng 254
8.5.4. Bảo trì phòng ngừa 254
8.5.5. Chiến lược phần mềm thành phần 255
8.6. Quản lý thay đổi phần mềm 255
8.6.1. Các thủ tục quản lý thay đổi 256
8.6.2. Ghi quyết định theo thời gian 258
8.6.3. Quản lý thay đổi tài liệu 258
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 8 259
CHƯƠNG 9 ĐÓNG GÓI PHẦN MỀM 262
9.1. Quy trình đóng gói phần mềm 262
9.2. Công cụ đóng gói phần mềm 266
9.2.1. Tạo dự án 267
9.2.2. Thiết lập thông tin ứng dụng 268
9.2.3. Thiết lập kiến trúc ứng dụng 269
9.2.4. Thiết lập tập tin ứng dụng 270
9.2.5. Tạo Short cut cho ứng dụng 271
9.2.6. Thiết lập bản quyền ứng dụng 271
9.2.7. Thiết lập các lựa chọn 272
9.2.8. Đóng gói dữ liệu đi kèm ứng dụng 273
9.3. Viết tài liệu hướng dẫn 275
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 9 276
TÀI LIỆU THAM KHẢO I
BẢNG KÍ HIỆU
Kí hiệu Ý nghĩa
CNTT Công nghệ thông tin
DBA Database Administrator
EIS Excutive Information System
DSS Decision Supports System
GDSS Group DSS
ES Expert Systems
RAD Rapid Application Development
FPA Function point analysis
DFD Data Flow Diagram
ERD Entity - Relation Diagram
FHD Function Hiarachy Diagram
LTCT Lập trình cấu trúc
LTHĐT Lập trình hướng đối tượng
EP Equivalence Partitioning
BVA Boundary Value Analysis
CFG Control Flow Graph
CÁC DANH MỤC HÌNH
Hình 1.1. Mô hình ba tầng 4
Hình 1.2. Tầng quy trình (process) 4
Hình 1.3. Phân loại nghề nghiệp 7
Hình 1.4. Mối liên hệ của con đường nghề nghiệp cho các mức khác nhau 9
Hình 1.5. Mối liên hệ giữa dữ liệu và xử lý 14
Hình 1.6. Mô hình tuyến tính 19
Hình 1.7. Mô hình chữ V 20
Hình 1.8. Mô hình mẫu 20
Hình 1.9. Mô hình tiến hóa 21
Hình 1.10. Mô hình lặp và tăng dần 22
Hình 1.11. Mô hình xoắn ốc 23
Hình 1.12. Mô hình đài phun nước 24
Hình 1.13. Mô hình phát triển dựa trên thành phần 25
Hình 2.1. Bậc thang về tính đúng 35
Hình 2.2. Ví dụ về tính đúng 35
Hình 2.3. Ví dụ về tính khoa học 36
Hình 2.4. Các chức năng đối xứng 38
Hình 2.5. Chương trình giải phương trình bậc nhất 49
Hình 2.6. Chương trình giải phương trình bậc hai 50
Hình 2.7. Chương trình quản lý độc giả 50
Hình 4.1. Phân loại các yêu cầu phi chức năng 84
Hình 4.2. Quy trình xác định yêu cầu 86
Hình 4.3. Mô hình xoắn ốc của quy trình xác định yêu cầu 87
Hình 5.1. Tầm quan trọng của quá trình thiết kế 124
Hình 5.2. Mối liên quan của giai đoạn thiết kế với các giai đoạn khác 125
Hình 5.3. Các giai đoạn thiết kế 125
Hình 5.4. Các giai đoạn thiết kế theo khía cạnh kỹ thuật 126
Hình 5.5. Tiến trình thiết kế 127
Hình 5.6. Mô hình kho dữ liệu 131
Hình 5.7. Kiến trúc của một bộ CASE tích hợp 131
Hình 5.8. Mô hình kho dữ liệu 132
Hình 5.9. Kiến trúc của một thư viện phim và hình ảnh 132
Hình 5.10. Mô hình máy trừu tượng 133
Hình 5.11. Kiến trúc của hệ thống quản lý phiên bản 133
Hình 5.12. Kiến trúc của ứng dụng doanh nghiệp 133
Hình 5.13. Mô hình gọi - trả lời 134