MỤC LỤC 
Trang 
DANH MỤC CÁC BẢNG . 4
DANH MỤC CÁC HÌNH VẼ, đỒ THỊ. 6
PHẦN 1: MỞ đẦU . 8
Chương 1: Giới thiệu đề tài. 8
1.1. đặt vấn đề . 8
1.2. Mục tiêu luận văn .10
1.3. Cấu trúc luận văn.10
PHẦN 2: HIỆN TRẠNG .12
Chương 2: Các phương pháp ước lượng công thực hiện phần mềm .12
2.1. Sơ lược về ước lượng công thực hiện phần mềm .12
2.2. Nhóm phương pháp ước lượng dựa vào chuyên gia .16
2.3. Nhóm phương pháp ước lượng dựa vào công thức.19
2.4. Nhóm phương pháp ước lượng bằng máy học .25
Chương 3: Các nghiên cứu áp dụng giải thuật di truyền vào ước lượng công thực 
hiện phần mềm .30
3.1. Tinh chỉnh các hệ số của mô hình COCOMO bằng giải thuật di truyền .30
3.2. Tìm năng của lập trình di truyền trong ước lượng công thực hiện phần mềm 36
PHẦN 3: HƯỚNG TIẾP CẬN VÀ GIẢI PHÁP đỀ XUẤT .42
Chương 4: Nhận định về ước lượng công thực hiện phần mềm và đề xuất của luận văn.42
4.1. Nhận định về Tập dữ liệu lịch sử .42
4.2. Nhận định về đơn vị người-tháng .43
4.3. Nhận định về Phương pháp ước lượng dựa trên công thức.44
4.4. Những đề xuất của luận văn.46 
Chương 5: Lập trình di truyền và Phân tích hồi quy .49
5.1. Sơ lược về lập trình di truyền .49
5.2. Những thành phần của lập trình di truyền .52
5.3. Phân tích hồi quy bằng lập trình di truyền.60
Chương 6: Phương pháp xây dựng mô hình ước lượng dựa trên công thức bằng Lập 
trình di truyền .64
6.1. Phương pháp đề xuất .64
6.2. Bộ thư viện EsLib.70
6.3. Ứng dụng Estimator .87
Chương 7: Kiểm nghiệm.93
7.1. Các độ đo mô hình ước lượng.93
7.2. Quy trình kiểm nghiệm.96
7.3. Các thông số kiểm nghiệm.97
7.4. Kết quả kiểm nghiệm trên một số tập dữ liệu lịch sử .100
PHẦN 4: KẾT LUẬN. 109
Chương 8: Kết quả và hướng phát triển .109
8.1. Kết quả đạt được .109
8.2. Hạn chế và Hướng phát triển .110
Tài liệu tham khảo .111
Tiếng Việt.111
Tiếng Anh.111
Phụ lục.113
Phụ lục A: Kết quả kiểm nghiệm trên tập dữ liệu COCOMO81 .113
Phụ lục B: Các tập dữ liệu dùng trong kiểm nghiệm .116
                
              
                                            
                                
            
 
            
                
4 trang | 
Chia sẻ: maiphuongdc | Lượt xem: 2413 | Lượt tải: 3
              
            Bạn đang xem nội dung tài liệu Luận văn Một phương pháp xây dựng mô hình ước lượng công thực hiện phần mềm bằng lập trình di truyền, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
8 
PHẦN 1: MỞ ðẦU 
Chương 1: Giới thiệu ñề tài 
1.1. ðặt vấn ñề 
Sản xuất phần mềm ngày nay ñã trở thành một ngành công nghiệp rộng lớn và năng 
ñộng, ñòi hỏi nhân lực ở trình ñộ cao. Sản phẩm phần mềm ngày càng trở nên phức 
tạp, khó dự ñoán và khó kiểm soát hơn bao giờ hết. Những thập niên vừa qua ñã 
chứng kiến nhiều công trình nghiên cứu trong lĩnh vực phần mềm nhằm ñưa quá 
trình sản xuất phần mềm vào quy cũ, dễ quản lý hơn và có thể tiên liệu ñược. ðặc 
biệt, hướng nghiên cứu về ước lượng công thực hiện phần mềm luôn ñược quan 
tâm, với số lượng các công trình nghiên cứu khoa học ngày càng gia tăng trong 
khoảng thời gian gần ñây [14]. 
Trong quá trình phát triển phần mềm, việc ước lượng chi phí phần mềm trước khi 
phát triển là rất cần thiết. ðiều này cung cấp một cái nhìn trước về sản phẩm phần 
mềm, giúp cho việc hoạch ñịnh ngân sách, ñấu thầu dự án, lên kế hoạch phát triển, 
phân bổ nhân lực và giảm thiểu những rủi ro. Chi phí phần mềm bao gồm hai loại: 
chi phí sản xuất và chi phí môi trường. Trong ñó, chi phí môi trường có thể chiếm 
ñến hơn 2/3 chi phí phần mềm, nhưng nó phụ thuộc nhiều vào những yếu tố kinh tế 
khó dự ñoán trước như: giá cả, biến ñộng thị trường, kỹ năng ñàm phán, … ðiều 
này làm cho việc ước lượng trước chi phí môi trường là ñiều bất khả. Vì vậy những 
nghiên cứu về ước lượng phần mềm tập trung vào việc ước lượng công thực hiện 
phần mềm. ðây là một cơ sở quan trọng ñể tính toán chi phí sản xuất phần mềm. 
Hiện tại, các phương pháp ước lượng công thực hiện phần mềm có thể ñược phân 
vào ba nhóm chính: nhóm ước lượng dựa vào chuyên gia, nhóm ước lượng dựa vào 
công thức, và nhóm ước lượng dựa vào máy học. Trong số ñó, nhóm phương pháp 
ước lượng dựa vào công thức hiện ñược sử dụng rộng rãi với hai mô hình ước lượng 
9 
nổi tiếng ñược bán dưới dạng sản phẩm thương mại là COCOMO và SLIM. Ý 
tưởng chính của phương pháp ước lượng dựa vào công thức là dùng một phương 
trình toán học ở dạng hàm nhiều biến ñể biểu diễn mối liên hệ giữa ñại lượng công 
và các thông số của dự án phần mềm cần ước lượng. Ưu ñiểm của phương pháp này 
là tính khách quan của nó. Với cùng một bộ thông số ñầu vào như nhau, công thức 
tính công của mô hình ước lượng luôn cho ñầu ra kết quả như nhau. Kết quả này 
không phụ thuộc vào người thực hiện công việc ước lượng và có thể dễ dàng ñược 
kiểm chứng. Một ưu ñiểm nữa của phương pháp ước lượng dựa vào công thức là tốc 
ñộ và giá thành. Thời gian ñưa ra kết quả ước lượng nhanh chóng và ít tốn kém hơn 
rất nhiều so với việc thuê chuyên gia. 
Tuy nhiên, phương pháp ước lượng dựa vào công thức cũng có một vài hạn chế. 
Hạn chế lớn nhất của nó là những mô hình ước lượng ñược xây dựng dựa trên một 
tập dữ liệu lịch sử cục bộ của một ñội ngũ phát triển nào ñó do tác giả mô hình sưu 
tầm ñược. Các công thức tính công của mô hình thường không chính xác khi áp 
dụng vào thực tế từng công ty với từng loại dự án cụ thể. Trong trường hợp ñó, 
phần lớn các mô hình ước lượng ñều cung cấp một cách thức ñể tinh chỉnh lại công 
thức tính công cho phù hợp với tập dữ liệu lịch sử của riêng từng công ty. Nhưng 
trong ña số trường hợp, tập dữ liệu lịch sử sẵn có của công ty không chứa ñầy ñủ 
những thông số mô hình quy ñịnh, hoặc chứa những thông số mang ý nghĩa hoàn 
toàn khác. Các công ty phần mềm bấy giờ phải lựa chọn: hoặc ñiều chỉnh lại những 
thông số trong tập dữ liệu lịch sử của mình cho phù hợp, hoặc thu thập lại tập dữ 
liệu lịch sử mới từ ñầu thỏa quy ñịnh của mô hình. Cả hai lựa chọn này ñiều tốn rất 
nhiều thời gian và công sức của công ty muốn áp dụng mô hình. 
Một hạn chế nữa ñối với phương pháp ước lượng dựa vào công thức, ñó là bộ thông 
số tính công của các mô hình ước lượng là cố ñịnh, không thay ñổi theo thời gian. 
Bộ thông số này phản ánh những yếu tố liên quan ñến công thực hiện dự án phần 
mềm cần ước lượng như: kích thước, ñộ phức tạp, quy trình phát triển, các yếu tố 
10 
môi trường, … Và theo thời gian, với sự phát triển không ngừng của công nghệ, và 
với sự biến ñổi khôn lường của môi trường làm phần mềm, bộ thông số này có khả 
năng trở nên lạc hậu, không còn phản ánh chính xác những yếu tố của dự án phần 
mềm nữa. 
Tóm lại, bên cạnh những ưu ñiểm vượt trội so với những phương pháp khác, 
phương pháp ước lượng dựa vào công thức có những hạn chế lớn làm giảm hiệu quả 
sử dụng của nó. 
1.2. Mục tiêu luận văn 
Với những ưu ñiểm và hạn chế của phương pháp ước lượng dựa vào công thức nêu 
trên, mục tiêu của luận văn là ñưa ra một phương pháp cải tiến các mô hình ước 
lượng dựa vào công thức nhằm khắc phục những hạn chế của nó, trong khi vẫn phát 
huy ñược những ưu ñiểm của loại mô hình này. 
Hướng tiếp cận của luận văn là thay vì sử dụng cách thức tinh chỉnh riêng của từng 
mô hình ñể tinh chỉnh lại mô hình ước lượng dựa vào công thức cho phù hợp với 
tập dữ liệu lịch sử trước khi sử dụng, luận vặn ñề xuất giải pháp xây dựng mô hình 
ước lượng hoàn toàn mới dựa trên tập dữ liệu lịch sử của người dùng. ðể thực hiện 
ñược việc này, luận văn sử dụng công cụ lập trình di truyền, một nhánh nhỏ của giải 
thuật di truyền, áp dụng vào phân tích hồi quy ñể tạo ra công thức tính công cho mô 
hình ước lượng mới. Công cụ lập trình di truyền do luận văn xây dựng có tính linh 
ñộng cao, cho phép người dùng can thiệp vào quá trình phát sinh công thức, thêm 
vào những tùy biến ñể thu ñược công thức tính công theo những dạng thức hay có 
những tính chất theo ý muốn chủ quan của mình. 
1.3. Cấu trúc luận văn 
Luận văn ñược chia làm bốn phần: 
11 
Phần 1, mở ñầu luận văn, gồm chương 1, cung cấp một cái nhìn tổng thể về luận 
văn, tóm tắt những mục tiêu luận văn ñề ra. Cấu trúc và cách thức trình bày các 
chương trong luận văn cũng ñược ñề cập trong phần này. 
Phần 2, hiện trạng và các nghiên cứu trong lĩnh vực ước lượng công thực hiện phần 
mềm, bao gồm hai chương 2 và 3. Chương 2, phần ñầu giới thiệu những khái niệm 
cơ bản về ước lượng công thực hiện phần mềm như: ước lượng, chi phí phần mềm, 
công thực hiện, thông số dự án, ñơn vị người-tháng, …, phần còn lại mô tả những 
nhóm phương pháp ñược sử dụng phổ biến trong việc ước lượng công thực hiện dự 
án phần mềm. Chương 3 trình bày những nghiên cứu và kết quả ñạt ñược trong việc 
áp dụng giải thuật di truyền vào ước lượng công thực hiện phần mềm trong thời 
gian gần ñây. 
Phần 3, hướng tiếp cận và giải pháp ñề xuất của luận văn, bao gồm bốn chương 4, 5, 
6 và 7. Chương 4 trình bày những nhận ñịnh của luận văn về ước lượng công thực 
hiện phần mềm, từ ñó nêu ra những vẫn ñề gặp phải và ñề xuất phương hướng giải 
quyết. Do hướng tiếp cận của luận văn là lập trình di truyền nên chương 5 sẽ ñề cập 
ñến giải thuật di truyền, lập trình di truyền và việc áp dụng lập trình di truyền vào 
phân tích hồi quy. Chương 6 tập trung mô tả về phương pháp do luận văn ñề xuất, 
phương pháp xây dựng mô hình ước lượng dựa trên công thức bằng lập trình di 
truyền. Cấu trúc bộ thư viện EsLib, phần cốt lõi của bộ phát sinh công thức dùng 
trong phương pháp ñề xuất cũng ñược trình bày chi tiết. Chương 7 giới thiệu sơ 
lược các ñộ ño mô hình ước lượng, trình bày quá trình kiểm nghiệm cũng như 
những kết quả ñạt ñược trên các tập dữ liệu công cộng thu thập ñược. 
Phần 4, kết luận của luận văn, gồm chương 8, trình bày những kết quả ñạt ñược của 
luận văn, cũng như những mặt hạn chế và hướng phát triển của luận văn trong 
tương lai.