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: 2252 | 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.