Công nghệ phần mềm - Phạm Hùng Phú, Nguyễn Văn Thẩm Biên soạn - 1



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!

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

Công nghệ phần mềm - Phạm Hùng Phú, Nguyễn Văn Thẩm Biên soạn - 1

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

Xem toàn bộ nội dung bài viết ᛨ

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 28/06/2022