NHẬP MÔN CÔNG NGHỆ
PHẦN MỀM
TÀI LIỆU ĐỌC
HÀ NỘI, 10/2023
TẬP THỂ TÁC GIẢ:
TS. VŨ THỊ HƯƠNG GIANG
TS. BÙI THỊ MAI ANH
TS. NGUYỄN NHẤT HẢI
TS. TRẦN NHẬT HOÁ
TS. TRỊNH THÀNH TRUNG
THS. NGUYỄN MẠNH TUẤN
ĐƠN VỊ: KHOA KHOA HỌC MÁY TÍNH
TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN
THÔNG
ĐẠI HỌC BÁCH KHOA HÀ NỘI
Nhập môn Công nghệ phần mềm – Tài liệu đọc
2
MỤC LỤC
MC LC 2
DANH MC HÌNH V ...........................................................................................5
DANH MC BNG ..............................................................................................10
Chương 1 TNG QUAN V CÔNG NGH PHN MM ...............................11
1.1 Khái niệm và các đặc trưng của phn mm ..............................................11
1.2 Các khái nim trong Công ngh phn mm ..............................................14
1.3 Vai trò ca Công ngh phn mm ............................................................18
1.4 Các vấn đề trong Công ngh phn mm ...................................................23
Chương 2 NG ĐỜI PHN MM ..................................................................28
2.1 Tổng quan vòng đời phn mm ................................................................28
2.2 Tng quan v quy trình phát trin phn mm ...........................................32
2.3 Mt s mô hình phát trin phn mm ph biến ........................................36
Chương 3 PHƯƠNG PHÁP AGILE ...................................................................43
3.1 Tng quan v phương pháp Agile ............................................................43
3.2 Các nguyên lý, nguyên tắc cơ bản ca Agile ............................................49
3.3 Ưu – nhược điểm của phương pháp Agile ................................................53
3.4 Gii thiu v Scrum ..................................................................................57
Chương 4 QUN LÝ D ÁN PHN MM ......................................................63
4.1 Tng quan v qun lý d án phn mm ....................................................63
4.2 Quy trình qun lý d án phn mm ..........................................................75
4.3 Lp kế hoch d án phn mm .................................................................87
4.4 Qun lý ri ro d án phn mm ................................................................94
Chương 5 QUN LÝ CU HÌNH PHN MM .............................................105
5.1 Khái nim qun lý cu hình phn mm ......................................................105
5.2 Quy trình qun lý cu hình phn mm ........................................................116
Nhập môn Công nghệ phần mềm – Tài liệu đọc
3
5.3 Qun lý phiên bn .......................................................................................123
5.4 Ví d và bài tp ...........................................................................................134
Chương 6 K NGH YÊU CU PHN MM ...............................................142
6.1 Khái nim và tm quan trng ca yêu cu phn mm ............................142
6.2 Quy trình phân tích yêu cu phn mm ..................................................147
6.3 Tng quan v mô hình hóa trong phát trin phn mm ..........................151
6.4 Các công c mô hình hoá yêu cu phn mm.........................................154
6.5 ng dn bài tp: Mô hình hoá yêu cu phn mm bng biểu đồ UC .171
6.6 ng dn bài tp: Mô hình hoá yêu cu phn mm bng biểu đồ AD .181
Chương 7 THIT K PHN MM ..................................................................187
7.1 Tng quan v thiết kế phn mm ............................................................187
7.2 Các khái nim trong thiết kế phn mm ................................................195
7.3 Tính móc ni (Coupling) và tính kết dính (Cohesion)............................205
7.4 Thiết kế kiến trúc phn mm ..................................................................206
7.5 Thiết kế chi tiết phn mm .....................................................................212
7.6 Ví d và bài tp .......................................................................................216
7.7 Thiết kế giao diện người dùng ................................................................223
Chương 8 Y DNG PHN MM ..............................................................251
8.1 Các khái nim trong xây dng phn mm ..............................................251
8.2 Phong cách lp trình ...............................................................................260
8.3 Tái cu trúc mã ngun ............................................................................269
8.4 Ví d và bài tp .......................................................................................274
Chương 9 ĐẢM BO CHẤT LƯỢNG PHN MM ......................................280
9.1 Các khái niệm cơ bản v đảm bo chất lượng phn mm ......................280
9.2 Phương pháp kiểm th hp trng ............................................................283
9.3 Bài tp kim th hp trng vi luồng điều khin ...................................289
9.4 Phương pháp kiểm th hộp đen ..............................................................293
9.5 Bài tp kim th hộp đen với phân lớp tương đương .............................295
Nhập môn Công nghệ phần mềm – Tài liệu đọc
4
9.6 Quy trình đảm bo chất lượng phn mm ..............................................298
9.7 Bo trì phn mm ....................................................................................302
TÀI LIU THAM KHO ....................................................................................307
Nhập môn Công nghệ phần mềm – Tài liệu đọc
5
DANH MỤC HÌNH VẼ
Hình 1-1: Các mức độ công việc ngành Công nghệ thông tin.................................... 22
Hình 2-1: Ví dụ các bước trong mô hình truyền thống – thác nước ........................... 29
Hình 2-2: Đặc tính chất lượng theo ISO/IEC JT1/SC2 9126, JIS X0129 - 1994 ....... 33
Hình 2-3: Ví dụ mô tả các bước theo workflow ......................................................... 36
Hình 2-4: Các bước trong mô hình thác nước cải tiến (Modified Waterfall) ............. 38
Hình 2-5: Mô hình mẫu thử (prototyping model) ....................................................... 40
Hình 2-6: Mô hình tăng trưởng (incremental model) ................................................. 41
Hình 2-7: Mô hình phát triển phần mềm nhanh (RAD) ............................................. 42
Hình 3-1: Biểu đồ mức độ ưa chuộng sdụng các phương pháp Agile trong doanh
nghiệp ......................................................................................................................... 50
Hình 3-2: Biểu đồ Value Driven-Development (VDD) ............................................. 52
Hình 3-3: Quy trình của Agile .................................................................................... 53
Hình 3-4: Vai trò của Scrum Master với các đối tượng khác ..................................... 59
Hình 3-5: Vai trò của Scrum Master với các đối tượng khác ..................................... 60
Hình 4-1: Các mức độ thành công của dự án ............................................................. 67
Hình 4-2: Các ràng buộc về chất lượng dự án ............................................................ 68
Hình 4-3: Bài toán quản lý dự án................................................................................ 77
Hình 4-4: Quan hệ giữa các tiến trình quản lý dự án phần mềm ................................ 78
Hình 4-5: quy trình quản lý rủi ro ............................................................................... 98
Hình 5-1: Cấu hình phần mềm ................................................................................. 106
Hình 5-2: Những thay đổi của phần mềm ................................................................ 107
Hình 5-3: Các đối tượng cấu hình phần mềm ........................................................... 111
Hình 5-4: Các baseline trong tiến trình phần mềm ................................................... 112
Hình 5-5: Các mục cấu hình phần mềm (SCIs) và cơ sở dữ liệu dự án ................... 113
Hình 5-6: Kho lưu trữ SCM và các hoạt động .......................................................... 114
Hình 5-7: Các lớp trong quy trình quản lý cấu hình phần mềm ............................... 117
Hình 5-8: Phát triển phần mềm nhiều phiên bản ...................................................... 125
Hình 5-9: Thao tác với kho lưu trữ dự án và không gian làm việc........................... 126