
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
------------------------------------------------------
LUẬN VĂN THẠC SỸ KHOA HỌC
ỨNG DỤNG LẬP TRÌNH LINH HOẠT TRONG
QUY TRÌNH CỘNG TÁC PHẦN MỀM
NGÀNH: CÔNG NGHỆ THÔNG TIN
MÃ SỐ:
AN VĂN MINH
Người hướng dẫn khoa học: TS. HUỲNH QUYẾT THẮNG
HÀ NỘI - 2006

LỜI CAM ĐOAN
Em xin cam đoan luận văn tốt nghiệp này là kết quả nghiên cứu của
bản thân, dưới sự hướng dẫn của thầy giáo, TS.Huỳnh Quyết Thắng. Nếu có
gì sai phạm em xin hoàn toàn chịu trách nhiệm.
Người làm cam đoan
An Văn Minh

2
MỤC LỤC
DANH SÁCH BẢNG ....................................................................................... 5
DANH SÁCH CÁC HÌNH VẼ......................................................................... 5
LỜI CẢM ƠN ................................................................................................... 6
LỜI NÓI ĐẦU .................................................................................................. 7
Chương 1. TỔNG QUAN VỀ LẬP TRÌNH “LINH HOẠT” VÀ “QUY
TRÌNH CỘNG TÁC PHẦN MỀM”............................................................... 10
1.1. PHƯƠNG PHÁP LẬP TRÌNH LINH HOẠT...................................... 10
1.1.1. Lập trình “linh hoạt” là gì?.............................................................10
1.1.2. Tại sao sử dụng XP?.......................................................................11
1.1.3. Lịch sử phát triển của XP...............................................................11
1.1.4. Các mục tiêu của XP......................................................................12
1.1.5. Các giá trị của XP...........................................................................13
1.1.6. Các quy tắc của XP ........................................................................15
1.1.7. Các hoạt động theo XP...................................................................16
1.2. QUY TRÌNH CỘNG TÁC PHẦN MỀM ............................................ 19
1.2.1. Giới thiệu quá trình cộng tác phần mềm........................................ 20
1.2.2. Các yếu tố liên quan đến CSP........................................................ 23
1.2.3. Các yếu tố cơ bản ........................................................................... 27
1.2.4. Định nghĩa quá trình cộng tác phần mềm ...................................... 29
1.3. KẾT HỢP XP TRONG CSP ĐỂ PHÁT TRIỂN PHẦN MỀM ........... 38
Chương 2. CÁC “THÔNG LỆ” TRONG XP ................................................. 40
2.1. TỔNG QUAN VỀ CÁC THÔNG LỆ TRONG XP ............................. 40
2.2. CÁC THÔNG LỆ TRONG XP ............................................................ 41
2.2.1. Tiêu chuẩn mã hoá .........................................................................41
2.2.2. Sở hữu chung mã lệnh....................................................................41
2.2.3. Sự kết hợp thường xuyên ...............................................................41

3
2.2.4. Cải tiến thiết kế..............................................................................42
2.2.5. Thiết kế đơn giản............................................................................ 42
2.2.6. Các bước hoàn thiện nhỏ................................................................42
2.2.7. Tốc độ làm việc vừa phải ............................................................... 43
2.2.8. Hệ thống trong suốt........................................................................43
2.2.9. Lập trình theo cặp...........................................................................43
2.2.10. Lập kế hoạch dự án ...................................................................... 44
2.2.11. Phát triển hướng vào việc kiểm tra .............................................. 49
2.2.12. Làm việc theo nhóm..................................................................... 49
2.3. CẢI TIẾN MÃ LỆNH .......................................................................... 50
2.3.1. Giới thiệu về “cải tiến mã lệnh”..................................................... 50
2.3.2. Làm tài liệu cải tiến mã lệnh.......................................................... 51
2.3.3. Các đoạn mã lệnh tồi...................................................................... 52
2.3.4. Các kỹ thuật cơ bản sử dụng để cải tiến mã lệnh........................... 53
2.3.5. Cải tiến mã lệnh trong quá trình phát triển phần mềm .................. 54
2.3.6. Lợi ích của cải tiến mã lệnh ...........................................................55
2.3.7. Các vấn đề cần lưu ý khi cải tiến mã lệnh......................................57
2. 4. KẾT LUẬN .........................................................................................58
Chương 3. ỨNG DỤNG LẬP TRÌNH LINH HOẠT TRONG QUY TRÌNH
CỘNG TÁC PHẦN MỀM.............................................................................. 59
3.1. Ý TƯỞNG LẬP TRÌNH LINH HOẠT TRONG QUY TRÌNH CỘNG
TÁC PHẦN MỀM....................................................................................... 59
3.2. QUY TRÌNH PHÁT TRIỂN PHẦN MỀM ỨNG DỤNG XP TRONG
CSP .............................................................................................................. 59
3.2.1. Mức 0: Điểm xuất phát...................................................................59
3.2.2. Mức 1: Quản lý chất lượng cộng tác.............................................. 63
3.3. ĐÁNH GIÁ SO SÁNH.........................................................................72

4
3.3.1. So sánh với quy trình cộng tác phần mềm ..................................... 72
3.3.2. So sánh với phương pháp lập trình linh hoạt ................................. 72
3.4. KẾT LUẬN........................................................................................... 72
Chương 4. THỬ NGHIỆM QUY TRÌNH TRONG ĐÀO TẠO VÀ TRONG
PHÁT TRIỂN PHẦN MỀM ...........................................................................73
4.1. THỬ NGHIỆM LẬP TRÌNH LINH HOẠT TRONG GIẢNG DẠY
MÔN HỌC “LẬP TRÌNH TRÊN WINDOWS”......................................... 73
4.1.1. Giới thiệu nội dung và mục đích môn học.....................................73
4.1.2. Phương pháp giảng dạy truyền thống ............................................74
4.1.3. Áp dụng phương pháp XP vào việc giảng dạy môn học “Lập trình
trên windows”........................................................................................... 76
4.2. THỬ NGHIỆM QUY TRÌNH ĐỂ PHÁT TRIỂN ỨNG DỤNG
“QUẢN LÝ NHÂN SỰ” CHO CÔNG TY HỒNG HÀ ............................. 81
4.2.1. Giới thiệu hệ thống......................................................................... 81
4.2.2. Phương pháp phát triển hệ thống ...................................................82
4.2.3. Xây dựng hệ thống .........................................................................83
4.2.4. Đánh giá hiệu quả việc ứng dụng “Lập trình linh hoạt” trong “Quy
trình cộng tác phần mềm” ........................................................................ 92
4.3. KẾT LUẬN........................................................................................... 93
TỔNG KẾT.....................................................................................................95
PHỤ LỤC........................................................................................................ 98
TÀI LIỆU THAM KHẢO............................................................................. 103