Uớc lượng là công việc tính toán gần đúng một đại lượng nào đó dựa trên tập dữ liệu liên quan đến đại lượng đó. Tập dữ liệu này thường được thu thập trong điều kiện thiếu, nhiễu hoặc chỉ có giá trị gần đúng. Khi tập dữ liệu ở trong điều kiện hoàn hảo hay đầy đủ thông tin thì ước lượng trở thành tính toán chính xác.
18 trang |
Chia sẻ: vietpd | Lượt xem: 3514 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Các phương pháp ước lượng công thực hiện phần mềm, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
12
PHẦN 2: HIỆN TRẠNG
Chương 2: Các phương pháp ước lượng công thực hiện
phần mềm
2.1. Sơ lược về ước lượng công thực hiện phần mềm
2.1.1. Khái niệm ước lượng công thực hiện phần mềm
Uớc lượng là công việc tính toán gần ñúng một ñại lượng nào ñó dựa trên tập dữ
liệu liên quan ñến ñại lượng ñó. Tập dữ liệu này thường ñược thu thập trong ñiều
kiện thiếu, nhiễu hoặc chỉ có giá trị gần ñúng. Khi tập dữ liệu ở trong ñiều kiện
hoàn hảo hay ñầy ñủ thông tin thì ước lượng trở thành tính toán chính xác.
Trong bất cứ ngành nghề sản xuất nào làm ra sản phẩm có ñộ phức tạp cao, việc
ước lượng những yếu tố liên quan ñến sản phẩm trước khi ñưa vào sản xuất ñều cần
thiết. Những yếu tố này cung cấp cho nhà sản xuất một cái nhìn trước về sản phẩm,
từ ñó giúp cho việc hoạch ñịnh ngân sách, lên kế hoạch sản xuất, phân bổ nhân lực
và giảm thiểu rủi ro. Trong ngành công nghiệp sản xuất phần mềm, yếu tố ước
lượng ñược quan tâm nhiều nhất là chi phí phần mềm. Chi phí ở ñây bao gồm hai
loại:
- Chi phí sản xuất: chi phí gốc ñể phát triển dự án phần mềm, chi phí này ñược
tính dựa trên công thực hiện dự án của ñội ngũ phát triển phần mềm.
- Chi phí môi trường: những chi phí phát sinh xung quanh quá trình phát triển,
bao gồm: chi phí tài nguyên, chi phí ñi lại, chi phí bảo trì, chi phí ngoại giao,
…
Chi phí môi trường có thể chiếm ñến hơn 2/3 chi phí phần mềm và phụ thuộc vào
nhiều yếu tố như: giá cả, lạm phát, xu hướng thị trường, kỹ năng ñàm phán, …
Những yếu tố này nằm ngoài lĩnh vực phần mềm và thường xuyên biến ñộng, làm
13
cho việc ước lượng trước chi phí môi trường là ñiều không khả thi. Trong khi ñó,
chi phí sản xuất ñược tính toán dựa trên công thực hiện là ñại lượng hoàn toàn có
thể ước lượng ñược với ñộ chính xác tương ñối cao. Biết trước công thực hiện sẽ
giúp cho việc lập kế hoạch và phân bố nhân lực tham gia vào quá trình phát triển
phần mềm ñược tốt hơn. Vì những lý do này, ước lượng công thực hiện phần mềm
là một công việc quan trọng ñược thực hiện ở hầu hết các dự án phần mềm nghiêm
túc.
Việc ước lượng công ñược tiến hành xuyên suốt quá trình thực hiện dự án, trãi qua
từng giai ñoạn của quy trình phần mềm. Ở giai ñoạn ñầu, dự án còn ở dạng sơ khai,
những thông tin xung quanh dự án còn chưa rõ ràng, công thực hiện ước lượng
ñược trong giai ñoạn này có ñộ chính xác không cao và thường ñược dùng làm cơ
sở ñể báo giá, ñấu thầu dự án phần mềm. Càng về những giai ñoạn sau, các chi tiết
của dự án ñã ñược làm rõ dần, ñộ chính xác của ước lượng càng tăng, công thực
hiện ñược dùng ñể ñiều chỉnh ngân sách, chỉnh sửa kế hoạch cho phù hợp với
những giai ñoạn tiếp theo.
Hình 2.1. Sai số của ước lượng qua từng giai ñoạn của dự án phần mềm [16].
14
2.1.2. Các thông số ước lượng
ðầu vào của quá trình ước lượng công thực hiện dự án phần mềm là các thông số
ước lượng (Cost Driver). Mỗi thông số là một yếu tố ảnh hưởng ñến công thực hiện
của dự án. Những thông số này chia làm ba loại
- Thông số về sản phẩm (Product Factors): những yếu tố của sản phẩm phần
mềm ảnh hưởng ñến công thực hiện dự án, như: ñộ lớn, ñộ phức tạp, loại
phần mềm, …
- Thông số về môi trường phát triển (Environment Factors): những yếu tố của
môi trường phát triển phần mềm ít nhiều làm thay ñổi công thực hiện, như:
ngôn ngữ lập trình, quy trình phát triển, công nghệ triển khai, công cụ, tài
nguyên hỗ trợ quá trình phát triển, …
- Thông số về ñội ngũ phát triển (People Factors): những yếu tố của cá nhân
tham gia vào quá trình phát triển dự án, như: trình ñộ kỹ thuật, kinh nghiệm,
mức ñộ quen thuộc, năng suất làm việc, kỹ năng làm việc nhóm, …
Trước khi thực hiện việc ước lượng, giá trị các thông số ước lượng của dự án phần
mềm ñược tính bằng cách cho ñiểm dựa vào kinh nghiệm của người thực hiện công
tác ước lượng. Công việc này mang tính chủ quan, phụ thuộc rất nhiều vào yếu tố
con người. Hiện nay, có những nghiên cứu áp dụng logic mờ (Fuzzy Logic) ñể mờ
hóa các giá trị ñiểm số nhằm giảm mức ñộ cảm tính trong việc cho ñiểm [8].
Hình 2.2. Biểu diễn giá trị các thông số ước lượng bằng logic mờ.
Một thông số ước lượng rất ñược quan tâm là yếu tố về ñộ lớn của phần mềm. Yếu
tố này ñược cho là ảnh hưởng rất lớn ñến công thực hiện phần mềm. Thông thường,
15
ñộ lớn phần mềm ñược ño bằng ñơn vị dòng-mã-nguồn (SLOC - Source Line Of
Code). Nhưng trong phần lớn các giai ñoạn của quy trình phát triển, khi phần mềm
chưa ñược hoàn thành, thông số ñộ lớn ño bằng ñơn vị dòng-mã-nguồn thường phải
phỏng ñoán nên không tránh khỏi những sai sót. ðể khắc phục hạn chế này, ñơn vị
ñiểm-chức-năng (FP - Function Point) thường ñược dùng thay thế [7]. ðơn vị này
ñược tính toán dựa trên các yêu cầu chức năng và phi chức năng của dự án phần
mềm nên mang tính thực tế hơn. Trong vài năm trở lại ñây, một ñơn vị khác cũng
ñược sử dụng là ñiểm-ñối-tượng (OP – Object Point) [7]. ðây là ñơn vị ñược tính
toán dựa trên các yêu cầu về màn hình và báo biểu của phần mềm. Nó thường ñược
dùng ñể ño ñộ lớn phần mềm trong giai ñoạn sơ khởi của dự án, khi những yêu cầu
chi tiết dùng ñể tính ñiểm-chức-năng chưa ñược làm rõ.
2.1.3. ðại lượng công thực hiện phần mềm
Kết quả của quá trình ước lượng là công thực hiện dự án phần mềm. ðại lượng công
thể hiện công sức cần thiết bỏ ra ñể ñội ngũ phát triển ñể hoàn thành dự án phần
mềm. Hay nói cách khác, ñây là ñại lượng ñược dùng ñể ño khối lượng công việc
cần thực hiện của dự án. ðại lượng công ñược tính bằng ñơn vị người-tháng
(Person-Month) hoặc người-giờ (Person-Hour).
Công thực hiện là tiền ñề ñể tính toán chi phí sản xuất phần mềm thông qua chi phí
trung bình cho một ñơn vị công người-tháng. Một công ty phần mềm có thể dễ dàng
tính toán ñược chi phí này thông qua phân tích thống kê số liệu trong quá khứ. Sau
khi tính toán, chi phí sản xuất sẽ ñược dùng làm cơ sở ñể hoạch ñịnh ngân sách, báo
giá sản phẩm cho khách hàng, ñấu thầu dự án, …
Ngoài ra, công thực hiện cũng là tiền ñề ñể lên kế hoạch thời gian và nhân lực cho
dự án. Một công thức kinh nghiệm thường ñược dùng ñể tối ưu hóa thời gian và
nhân lực dựa vào công thực hiện.
16
ETP ≈≈
Công thức 2.1. Tính thời gian và nhân lực dự án từ ñại lượng công.
Trong ñó:
- E: công thực hiện dự án phần mềm ước lượng ñược, ñơn vị người-tháng.
- P: nhân lực dự kiến thực hiện dự án, ñơn vị người.
- T: thời gian dự kiến hoàn thành dự án, ñơn vị tháng.
2.2. Nhóm phương pháp ước lượng dựa vào chuyên gia
Là một nhánh trong ngành khoa học về dự báo, ước lượng là một công việc phức
tạp và ẩn chứa nhiều rủi ro. Ước lượng công thực hiện phần mềm ñặc biệt phức tạp
vì phần mềm là một sản phẩm trí tuệ, khó có thể cân ño ñong ñếm ñước. Vì vậy,
những phương pháp ñầu tiên ñược sử dụng ñể ước lượng công thực hiện phần mềm
là dựa vào con người, những chuyên gia có nhiều kinh nghiệm và am hiểu về lĩnh
vực của dự án phần mềm. Kết quả ước lượng ñược ñưa ra dựa trên cơ sở phân tích,
ñánh giá, và nhận ñịnh từ các chuyên gia này. Và ñến nay, mặc dù ñã xuất hiện
nhiều phương pháp khác thay thế, việc tham khảo ý kiến chuyên gia ñể ñưa ra kết
quả ước lượng vẫn ñược dùng khá phổ biến. Nhận ñịnh của các chuyên gia vẫn luôn
ñáng ñược quan tâm xem xét.
ðiểm yếu của các phương pháp ước lượng dựa vào chuyên gia là kết quả ước lượng
thường là chủ quan và cảm tính, không thể kiểm chứng khi dự án chưa hoàn thành.
Ngoài ra, thời gian ra quyết ñịnh thường kéo dài và giá thành thuê chuyên gia tốn
kém cũng là một hạn chế không nhỏ của nhóm phương pháp này.
Hai trong số những phương pháp thường ñược các chuyên gia sử dụng ñể ước lượng
công thực hiện phần mềm là: phương pháp tương ñồng và phương pháp Wide-band
Delphi sẽ ñược trình bày ở ñây.
17
2.2.1. Phương pháp tương ñồng [6][7]
ðây là phương pháp ước lượng ñơn giản, ñược thực hiện dựa trên nguyên tắt
“những dự án phần mềm tương ñồng nhau thường có công thực hiện gần giống
nhau”. Theo ñó, công thực hiện dự án phần mềm mới sẽ ñược ước lượng dựa trên
những dự án phần mềm cũ tương ñồng ñã ñược thực hiện trước ñó.
Quy trình ước lượng của phương pháp tương ñồng bao gồm ba bước:
- Bước 1 (Analysis): phân tích, ñánh giá những thông số của dự án phần mềm
mới.
- Bước 2 (Comparing): so sánh dự án phần mềm mới với những dự án phần
mềm trong tập dữ liệu lịch sử ñể tìm ra dự án tương ñồng.
- Bước 3 (Scaling): xem xét các thông số giữa hai dự án, từ ñó co giãn công
thực hiện của dự án cũ ñể tìm ra công thực hiện dự án mới.
ðể tăng tính chính xác của ước lượng, phương pháp tương ñồng phải ñược thực
hiện bởi chuyên gia có nhiều kinh nghiệm trong lĩnh vực của dự án phần mềm mới
sắp ñược thực hiện. Chuyên gia này cũng cần phải am hiểu về ñội ngũ phát triển và
tình hình hoạt ñộng hiện tại của công ty.
Hạn chế của phương pháp tương ñồng ñó là việc tìm ra dự án cũ tương ñồng với dự
án mới là một công việc không hề dễ dàng. ðiều này ñòi hỏi phải ñề ra ñược những
tiêu chí ñánh giá và công thức ñể tính toán mức ñộ tương ñồng giữa hai dự án phần
mềm, từ ñó mới có thể xác ñịnh ñược dự án cũ nào trong tập dữ liệu lịch sử là tương
ñồng với dự án mới cần ước lượng.
Hơn nữa, sau khi ñã tìm ra ñược dự án tương ñồng với dự án mới, việc so sánh các
thông số giữa hai dự án, rồi sau ñó co giãn công dự án cũ sao cho hợp lý ñể ñưa ra
kết quả cuối cùng là một công việc ñầy cảm tính và dễ gây tranh cãi. ðiều này phụ
18
thuộc rất nhiều vào kinh nghiệm và khả năng phán ñoán của chuyên gia thực hiện
công việc ước lượng.
2.2.2. Phương pháp Wide-band Delphi [6][7][18]
Dựa vào một cá nhân nào ñó ñể ñưa ra con số ước lượng là một quá trình ñầy cảm
tính và rủi ro. Nhằm tăng tính khách quan và ñộ chính xác của kết quả ước lượng,
quy trình Wide-band Delphi thường ñược áp dụng.
Quy trình này do Barry Boehm và John Farquhar phát triển từ quy trình ra quyết
ñịnh Delphi. Thay vì phụ thuộc vào một chuyên gia, kết quả ước lượng giờ ñây
ñược ñưa ra dựa trên sự ñồng thuận của một nhóm các chuyên gia, và tuân theo một
quy trình bài bản gồm năm bước:
- Bước 1 (Preparation): trước hết, một nhóm chuyên gia ñược thành lập, ñiều
phối viên có nhiệm vụ gởi ñến mỗi chuyên gia ñầy ñủ thông tin, dữ kiện của
dự án phần mềm cần ước lượng.
- Bước 2 (Meeting): ñiều phối viên tổ chức một cuộc họp, tại ñây các chuyên
gia thảo luận với nhau về những vấn ñề liên quan ñến dự án phần mềm:
những thông số dự án, môi trường phát triển, ñội ngũ phát triển, …
- Bước 3 (Decision): mỗi chuyên gia ñược phát một phiếu ñể ghi nhận ñịnh và
con số ước lượng của mình một cách ñộc lập.
- Bước 4 (Summary): ñiều phối viên tổng hợp kết quả ước lượng thu ñược từ
các chuyên gia.
- Bước 5 (Loop): nếu kết quả ước lượng của các chuyên gia quá khác biệt,
bước 2 ñược lặp lại cho ñến khi nào có ñược sự ñồng thuận.
Phương pháp Wide-band Delphi tỏ ra khá hiệu quả trong việc ước lượng công thực
hiện của những dự án phần mềm lớn, có nhiều ràng buộc phức tạp, và ñòi hỏi ñộ
chính xác cao. Tuy nhiên, phương pháp này khá tốn kém và thường mất nhiều thời
gian. Các chuyên gia không phải lúc nào cũng có tiếng nói chung. Và ñể tìm ñược
19
sự ñồng thuận giữa họ, quy trình trên có thể phải lặp lại rất nhiều lần. Hơn nữa, việc
tập hợp ñược một nhóm các chuyên gia có kinh nghiệm là không dễ dàng chút nào.
2.3. Nhóm phương pháp ước lượng dựa vào công thức
Nhóm phương pháp này xem việc ước lượng công thực hiện phần mềm là quá trình
tìm kiếm 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. Các phương pháp ước lượng dựa vào công thức biểu diễn mối liên hệ
này bằng một phương trình toán học. ða số những phương trình này ở dạng hàm
nhiều biến, với một bên là các biến số ñại diện cho các thông số của dự án phần
mềm, một bên là ñại lượng công thực hiện dự án.
Những hàm nhiều biến này có thể phân làm hai dạng: tuyến tính và phi tuyến.
- Tuyến tính: ∑+= ii xaaE 0 .
- Phi tuyến: ∏×= i
x
iaaE 0 .
Trong ñó:
- E: công thực hiện dự án phần mềm.
- xi: thông số thứ i của dự án.
- ai: hệ số của từng thông số.
Những công thức này ñược xây dựng dựa trên việc khảo sát một tập dữ liệu lịch sử
bao gồm các dự án phần mềm ñã ñược thực hiện trước ñó. Phương pháp dùng ñể
khảo sát thường là phương pháp phân tích hồi quy (regression analysis).
Ưu ñiểm của ước lượng dựa vào công thức là tính khách quan của nó. Các công
thức ñược xây dựng bằng phương pháp toán học chặt chẽ. Với cùng một bộ thông
số ñầu vào như nhau, các công thức 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.
20
Một ưu ñiểm nữa của ước lượng dựa vào công thức là thời gian ñưa ra kết quả ước
lượng nhanh chóng và ít tốn kém hơn hẳn so với việc thuê chuyên gia.
Tuy nhiên, do ñược xây dựng 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 ñó, các công thức ước lượng thường không phải lúc nào cũng chính
xác khi áp dụng vào từng công ty với từng loại dự án cụ thể. Trong trường hợp ñó,
các công thức cần phải ñược tinh chỉnh lại cho phù hợp.
2.3.1. Mô hình COCOMO [4][5][6]
Mô hình ước lượng công thực hiện phần mềm COCOMO (COst COnstructive
MOdel) do Barry Boehm ñề xuất vào ñầu thập niên 1980. Nó ñã nhanh chóng trở
thành mô hình ước lượng ñược giới công nghiệp phần mềm sử dụng rộng rãi nhất
thời bấy giờ [6]. Nhưng cùng với sự phát triển không ngừng của các quy trình công
nghệ phát triển phần mềm, phiên bản ñầu tiên của mô hình là COCOMO 81 ñã dần
bị lỗi thời, không còn chính xác khi áp dụng cho những dự án phát triển theo quy
trình công nghệ mới. Vì vậy, từ năm 1994 cho ñến năm 2000, Boehm cùng các
ñồng sự ở ñại học Nam California ñã tiếp tục nghiên cứu, phát triển và ñưa ra mô
hình COCOMO II.
Mô hình COCOMO II bao gồm 3 phiên bản (stage) áp dụng vào những thời ñiểm
khác nhau trong quy trình phát triển phần mềm. Mỗi phiên bản ñược dùng với tính
chất và mục ñích riêng. Ba phiên bản này gồm có: Application Composition, Early
Design, và Post-Architecture.
Phiên bản Application Composition ñược dùng ñể ước lượng công thực hiện phần
mềm ở giai ñoạn khởi ñầu của dự án, khi phần mềm chỉ mới ở dạng prototype, chưa
có gì rõ ràng. Kết quả ước lượng thường mang tính tham khảo, dùng trong thương
lượng, ñàm phán hợp ñồng dự án. Công thực hiện ñược tính theo công thức 2.2.
21
PROD
SIZE
E =
Công thức 2.2. Tính công thực hiện theo COCOMO 2000 Application Composition [5].
Trong ñó:
- E: công thực hiện dự án phần mềm, ñơn vị người-tháng (person-month).
- SIZE: kích thước phần mềm tính bằng ñơn vị ñiểm-ñối tượng (object
point), ñược ño bằng cách cho ñiểm dựa trên ñộ phức tạp của từng màn
hình, báo biểu trong phần mềm rồi cộng lại.
- PROD: năng suất thực hiện một ñơn vị ñiểm-ñối tượng của ñội ngũ phát
triển.
Phiên bản Early Design ñược dùng ñể ước lượng công thực hiện phần mềm trong
giai ñoạn ñầu của quá trình thiết kế dự án. Lúc này, các yêu cầu chức năng của dự
án ñã rõ ràng nhưng các yếu tố về cài ñặt chưa ñược biết ñến. Kết quả ước lượng
ñược dùng ñể ñiều chỉnh ngân sách, nhân lực và lên kế hoạch cài ñặt cho dự án.
Công thực hiện ở phiên bản này ñược tính theo công thức 2.3.
∏××= i
B EMSIZEAE
Công thức 2.3. Tính công thực hiện theo COCOMO 2000 Early Design [5].
Trong ñó:
- E: công thực hiện dự án phần mềm, ñơn vị người-tháng (person-month).
- A, B: các hệ số ñiều chỉnh của công thức, phụ thuộc vào môi trường phát
triển phần mềm ở mỗi công ty. Theo tính toán của Boehm, giá trị mặc
ñịnh A = 2.94 và B dao ñộng từ 1.1 ñến 1.24. Tuy nhiên, ñể tăng ñộ chính
xác, ông khuyến cáo người dùng công thức nên tinh chỉnh lại A, B theo
tập dữ liệu lịch sử của riêng mình cho phù hợp.
22
- SIZE: kích thước phần mềm tính bằng ñơn vị ñiểm-chức năng (function
point), ñược ño bằng cách cho ñiểm dựa trên ñộ phức tạp của từng chức
năng trong phần mềm rồi cộng lại.
- EMi: các hệ số của dự án, trong phiên bản Early Design, có 7 hệ số ñược
sử dụng.
Bảng 2.1. Các hệ số dự án dùng trong COCOMO 2000 Early Design [1].
STT Hệ số Ý nghĩa
1 RCPX Product Reliability and Complexity
2 RUSE Required Reuse
3 PDIF Platform Difficulty
4 PERS Personnel Capability
5 PREX Personnel Experience
6 FCIL Facilities
7 SCED Required Development Schedule
Phiên bản Post-Architecture là sự mở rộng của phiên bản Early Design. Nó ñược sử
dụng sau khi giai ñoạn thiết kế của dự án ñã hoàn tất. Lúc này, những thông tin chi
tiết về việc cài ñặt dự án ñã ñược biết rõ ràng và cặn kẽ. Kết quả ước lượng của
phiên bản này ñược dùng ñể tham khảo cho những ñiều chỉnh cuối cùng về ngân
sách và nhân lực của dự án.
Công thức của phiên bản Post-Architecture tương tự phiên bản Early Design. Tuy
nhiên, có một vài ñiểm khác biệt ở công thức 2.4.
∏××= i
B EMSIZEAE
Công thức 2.4. Tính công thực hiện theo COCOMO 2000 Post Architecture [5].
23
Trong ñó:
- SIZE: kích thước phần mềm tính bằng ñơn vị dòng mã nguồn (KSLOC),
thông thường ñể tính ñược số dòng mã nguồn, người ta dựa vào bản tra số
dòng mã nguồn trung bình trên một ñiểm-chức năng.
- EMi: trong giai ñoạn này, khi các thông tin về dự án ñã ñược biết ñầy ñủ,
có tất cả 17 hệ số ñược sử dụng như mô tả ở bảng 2.2.
Bảng 2.2. Các hệ số dự án dùng trong COCOMO 2000 Post Architecture [1].
STT Hệ số Ý nghĩa
1 RELY Required System Reliability
2 CPLX Complexity of System Modules
3 DOCU Extent of Documentation Required
4 DATA Size of Database Used
5 RUSE Required Percentage of Reusable Components
6 TIME Execution Time Constraint
7 PVOL Volatility of Development Platform
8 STOR Memory Constraints
9 ACAP Capability of Project Analysts
10 PCON Personnel Continuity
11 PCAP Programmer Capability
12 PEXP Programmer Experience in Project Domain
13 AEXP Analyst Experience in Project Domain
14 LTEX Language and Tool Experience
15 TOOL Use of Software Tool
16 SCED Development Schedule Compression
17 SITE Extent of Multisite Working and Quality of Intersite
Communications
24
2.3.2. Mô hình SLIM [6]
Mô hình SLIM ñược Putnam ñề xuất vào thập niên 1980, dựa trên những nghiên
cứu của ông về ñường cong Norden/Rayleigh thể hiện sự phân bố nhân lực trong
quá trình phát triển phần mềm. Putnam ñưa ra mô hình sau khi phân tích số liệu của
rất nhiều dự án phần mềm ñã hoàn tất của Bộ Quốc phòng Mỹ. Công thức toán học
chủ ñạo của mô hình SLIM ñược mô tả ở công thức 2.5.
3
4
3
1
tEPRODSIZE ××=
Công thức 2.5. Công thức chủ ñạo của mô hình SLIM [6].
Trong ñó:
- SIZE: kích thước phần mềm, tính bằng ñơn vị dòng mã nguồn (SLOC).
- PROD: năng suất của ñội ngũ phát triển phần mềm.
- E: công thực hiện dự án phần mềm, ñơn vị người-năm (person-year).
- t: thời gian thực hiện dự án, ñơn vị năm.
Ưu ñiểm của mô hình SLIM là có công thức ñơn giản và khả năng tinh chỉnh lại
công thức theo tập dữ liệu lịch sử một cách dễ dàng. Những thông số dự án như
kích thước (SIZE), công thực hiện (E) và thời gian hoàn thành (t) là những dữ liệu
mà ña số các công ty ñều lưu lại sau mỗi dự án. Dựa trên những dữ liệu lịch sử này,
tham số PROD có thể ñược tinh chỉnh một cách dễ dàng. Sau ñó, tham số này ñược
áp dụng lại vào công thức của mô hình ñể ước lượng cho những dự án tương lai.
Tuy nhiên, SLIM không phải là một mô hình ñầy ñủ và công khai. Tập dữ liệu
ñược dùng ñể xây dựng nên mô hình này tới nay vẫn còn ñược dấu kín. Những
thông tin chi tiết về mô hình cũng không ñược cung cấp miễn phí. Hiện tại mô hình
này do công ty QSM (Quality System Management) nắm giữ. Khách hàng của
QSM ña số là những công ty thuộc Bộ Quốc phòng Mỹ.
25
2.4. Nhóm phương pháp ước lượng bằng máy học
Ước lượng công thực hiện dự án phần mềm là một vấn ñề không ñơn giản. Nó vẫn
ñang thu hút rất nhiều nghiên cứu trên thế giới. Hiện nay, các nghiên cứu ñang
hướng ñến việc áp dụng những mô hình tính toán mềm (Soft Computing) hay trí tuệ
nhân tạo vào trong các mô