NHIEM VU VA NOI DUNG > Tìm hiểu các phương pháp đã có trên thé giới có liên quan về việc ước lượng công số thực hiện dự án phan mềm va tính toán dự báo kết quả.> Nghiên cứu và phát triển
Trang 1PH M QUANG KHANH
UNG DUNG TH NG KE VÀO CÔNG TAC DỰ TOÁN
CHUYEN NGANH: HE THONG THONG TIN QUAN LY
MA SO CHUYEN NGANH: 60.34.48
LU NVANTH CS
TPH CH MINH, thang 01 nam 2015
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠITRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHQG - HCM
Cán bộ hướng dẫn khoa học: TS Nguyễn Chánh Thành
Cán bộ cham nhận xét 1: TS Nguyễn Tuấn Đăng
Cán bộ chấm nhận xét 2: TS Nguyễn Thanh BìnhLuận văn thạc sĩ được bảo vệ tại trường Đại học Bach Khoa, ĐHQG Tp.HCMNgày 06 tháng 01 năm 2015
Thanh phan hội đồng đánh giá luận văn thạc sĩ gồm:
CHỦ TỊCH HỘI Ð NG TRƯỞNG KHOA KH&KT MT
(Ký tên) (ký tên)
Trang 3D IH CQU CGIATP.HCM CỘNG HÒA XA HỘI CHỦ NGH A VIỆT NAMTRU NGD IH CBACH KHOA Độc Lập — Tự Do — Hanh Phúc
NHIEM VU LU NVANTH CS
Ho và tên học viên: PHAM QUANG KHANH MSHV: 12321064Ngày, thang, năm sinh: 28/05/1974 Noi Sinh: Déng NaiChuyén nganh: Hé théng théng tin quan ly Mã số: 60.34.48
I TEN DE TÀIUNG DUNG THONG KE VAO CONG TAC DU TOAN DU AN PHANIl NHIEM VU VA NOI DUNG
> Tìm hiểu các phương pháp đã có trên thé giới có liên quan về việc ước
lượng công số thực hiện dự án phan mềm va tính toán dự báo kết quả.> Nghiên cứu và phát triển một giải pháp ước lượng công số thực hiện dự án
phần mềm Mô hình kết hợp phương pháp truyền thống về ước lượng kích
thước phần mềm với những mở rộng dựa trên cơ sở phân tích thống kê
các số liệu lịch sử liên quan kinh nghiệm của tô chức.> Tiến hành thử nghiệm đánh giá tính hiệu quả của giải pháp
HI NGÀY GIAO NHIỆM VỤ: 20/01/2014IV NGÀY HOÀN THÀNH NHIỆM VỤ: 14/11/2014v CAN BO HƯỚNG DAN: TS NGUYEN CHÁNH THÀNH
Tp.HCM,ngay tháng nam 2014
CAN BO HUONG DAN TRUONG KHOA
TS Nguyễn Chánh Thanh
Trang 4L ICAMONTrước hết, tôi xin gửi đến thay TS NGUYEN CHÁNH THÀNH long biết ơn
sâu sắc nhất, người đã rất nhiệt tình, tận tâm hướng dẫn để tôi có thể hoàn thànhluận văn này.
Tôi cũng xin chân thành cảm ơn quý thay cô trong khoa Khoa học và Kỹ thuật
Máy tính, quý thay cô trong khoa Quan lý công nghiệp, trường Dai học Bách
khoa Tp.HCM đã truyền đạt những kiến thức quý báu trong suốt khóa học
Cuôi cùng, tôi xin cảm ơn các chuyên gia, đông nghiệp, bạn bè và người thân đãluôn ủng hộ giúp đỡ trong quá trình học tập và hoàn thành luận văn.
Chân thành cảm ơnTp.HCM, ngày 14 tháng II năm 2014
Phạm Quang Khanh
Trang 5TÓM TAT NỘI DUNG LU N VAN
Nghiên cứu nay tổng hop các phương pháp ước lượng chi phí phan mềm
phô biến hiện có từ đó đề xuất một phương pháp ứng dụng cho doanh nghiệp cụthé Phương pháp ước lượng dé xuất ứng dụng thống kê để xây dựng mô hình
hồi quy trên tập dữ liệu lịch sử của doanh nghiệp Tập dữ liệu lịch sử gồm 27 dựán được chia thành 2 tập Tập kiểm định lấy ngẫu nhiên 10% từ tập lịch sử và tậphuấn luyện gồm 90% còn lại Kết quả mô hình xây dựng gém các biến đâu vào
là: kích thước phan mêm; khả năng của đội ngũ tham gia dự án; kinh nghiệm vềngôn ngữ lập trình va các công nghệ sử dụng; độ phức tạp của phan mêm; vàcác công cụ nhằm tăng năng suất như framework va CASE tool Đánh giá hiệuquả của ước lượng qua độ đo MRE và MMRE cho thấy mô hình đề xuất cho kếtquả ước lượng tốt hơn phương pháp hiện có của doanh nghiệp trên tập dữ liệu
kiểm định và toàn tập dữ liệu lịch sử thu thập được
Trang 6This study synthesis widespead methods for estimating the cost ofsoftware then to propose a method for an specific enterprise application Theproposed estimation method bases on statistical regression model and historicaldata set of the business The historical data set consists of 27 projects are dividedinto two sets: Test set is selected randomly 10% from the historical data set; andtraning set consists of 90% remaining The proposed model found somepredictor vairables: size of software; the ability of the team involved in theproject; experience in programming languages and_ technologies used;complexity of software; and framework and CASE tools to increase productivity.Assessing the effectiveness of the measure estimated through MRE and MMREshows that the proposed model is better estimation results than the existingmethod of the business on the test data set and full historical data set.
Trang 7L ICAM DOAN
Tôi xin cam đoan rằng toàn bộ nội dung và số liệu trong luận văn do tôi tựnghiên cứu, khảo sát và thực hiện Những dữ liệu thu thập được xử lý một cáchkhách quan và trung thực.
Trang 8MUC LUC
CHUONG I: MO DAU - <5 SE E3 E11 32151515 12111111115 11011111 r6 |
1.1 GIỚI THIEU DE TÀII 5< 2E SE2E2ESEEEEEEEEEEEEESEEEEEEEEerrkrree |1.2 MỤC TIÊU NGHIÊN CUU 2 2 +2 2+E+E+E£EE+E+EeEErErErrkrerree 4I3 PHAM VI NGHIÊN CỨU - 52 ©2+E+E+EE£E£E+EEEEEEEEEEEEEEErrrrkrree 414 Ý NGHĨA NGHIÊN CỨU - + 2 +2+E+E+EE£E£ESEEEEEESEEEEEEEErrrrkrree 51.5 SƠ LƯỢC VE CÔNG TY NEC VIET NAM .- ¿sec ccccccees 5CHƯƠNG II: PHƯƠNG PHAP UOC LƯỢNG TRUY ÊN THỒNG 6IL.I TONG QUAN VE UOC LƯỢNG DỰ ÁN PHAN MẼM 6I2 K CH THƯỚC PHAN MẼM - 2 2 2252 SE*E+ESEE£EEEEEEEEErrkrkrree 811.2.1 SỐ DÒNG MÃ LENH (SLOC) 6 cv Evsksvserkrerees 911.2.2 PHAN T CH DIEM CHỨC NANG ¿-2+c+cccsceseece2 911.2.3 CHUYỂN DOI GIUA FUNCTION POINT VA SLOC 16
11.2.4 DIEM DOI TƯỢNG (OBJECT POINT) ccceecescssesscscesessessceeees 18
11.3 UGC LƯỢNG CONG SO (EFFORT) ccccccsccscecesesesssescevesesessceceeeeneees 2011.3.1 PHƯƠNG PHAP CHUYỂN GIA 5-52 252+£+ccs+esrsre2 2011.3.2 PHƯƠNG PHÁP TƯƠNG TỰ 5< 52+s+cszccresrered 21IIL3.3_ MÔ HÌNH COCOMO I[ 5252252 E2EEEEEEEeEErkrrerrrkd 2211.3.4 MÔ HÌNH SEER-SEM 5-5252 SSEESESEEEEeEeErkrrerred 3311.3.5 ỨNG DỤNG MẠNG NƠ-RON 5c ccccersrrrrerrrei 3411.3.6 PHAN TICHH IQUY G6 SG S6 S2 SESESEESEEErEekskseeerees 36CHUONG III: PHƯƠNG PHAP UOC LƯỢNG DE XUẤT . 39IILI CAC YEU TO ANH HUGNG DU BAO CONG SỐ 39
Trang 9II2_ XÂY DUNG MO HÌNH 5-5252 2 E21 E2 2121515 1211211 xe 40
II2.I NHAN ĐỊNH VE NĂNG SUAT VÀ DU LIEU LICH SỬ 40
11.2.2 QUY TRINH XÂY DUNG MO HÌNH - 55s: 4511.2.3 MÔ HÌNH NGHIÊN CUU 5-5 2525222 2+E£Ez££zesrsred 46II24_ PHAN T CH ĐỊNH TÍNH - ¿5252252 £22E£Eserrrsrered 4711.2.5 ĐIÊU CHỈNH MO HÌNH - XÂY DUNG THANG ĐO 48
II2.6 THU THẬP DU LIỆU 5-5255 2 22E2E+E£££E£EzErkrserred 52II27 XỬ LÝ DU LIỆU 2555222 2E SE2E2EEeEerrrkrkreee 521.2.8 XAY DUNG MÔ HÌNH 2 2-5-5522 2E+E2E£E£EsErrserrred 53II3 KIEM ĐỊNH CÁC GIA THIẾT - +22 2 2+£+s£2+Ez£zzecszsee 59II.3.1 HE SỐ XÁC ĐỊNH RÔ - 52 S2 SE 3 E211 2121111 errrkd 5911.3.2 KIÊM ĐỊNH DO PHÙ HOP CUA MO HÌNH 60
11.3.3 GIÁ ĐỊNH LIEN HE TUYẾN T NH & PHƯƠNG SAI 61
11.3.4 GIA ĐỊNH PHƯƠNG SAI CUA SAI SỐ KHÔNG ĐỒI 62
11.3.5 GIÁ ĐỊNH PHAN PHOI CHUAN CUA PHAN DƯ 63
11.3.6 GIA ĐỊNH T NH ĐỘC LẬP CUA PHƯƠNG SAI 64
11.3.7 GIA ĐỊNH KHONG CÓ HIỆN TƯỢNG CONG TUYẾN 64
CHƯƠNG IV: ĐÁNH GIÁ MÔ HINH VA UNG DỤNG - 65IV.I DANH GIÁ MÔ HINH - 5-5-5222 E123 221211 E21 2E ckrree 65
IV.1.I ĐỘ ĐO MRE - 5S t2 111211212111 211111111 11111111 errk 65IV.12_ ĐỘ ĐO MMIRE 5S S213 E1 1215112121111 11 1111111 tk 69
IV.2 UNG DỤNG MO PHỎNG - - c1 3 2121111112112 E1 c1 ve 70CHUONG V: KẾT LUẬN VÀ KIÊN NGHỊ - - 2525552 cs+s+zszscsez 75V.1 KẾT QUÁ NGHIÊN CỨU G6 SSEEESESEeEEEEEEEsEskseeerees 75V.1.1 TOM TẮT NỘI DUNG NGHIÊN CỨU 2 5552 75
V12 KẾT LUẬN ĂSĂ 252C tt sesrerereeg 76
Trang 10V2 NHỮNG HAN CHE VÀ KIÊN NGHỊ - 2 2s+ccscs se 76TÀI LIEU THAM KHẢO 5-5225 222% 52521515 E1212115 2171151121211 1 Lee 77PHU LUC A: CÂU HOI THU THẬP DU LIEU - 252-5552 255252 79PHU LUC B: DU LIEU LICH SU CUA 27 DU ÁN - << 82PHU LUC C: BANG GIA TRI THONG KE DURBIN-WATSON
Trang 11Hình II-2: Các thành phân của điểm chức năng chưa hiệu chỉnh (UEP) 11Hình II-3: Tham số đầu vào va ra của mô hình SEER-SEM - 33Hình II-4: Mô hình mạng nƠ-rOII <1 119919 93011 11999 111 kg ke 34Hình II-5: Minh hoa hàm hồi quy tuyến tính đơn biến 5-5 25255552 37Hình III-I: Quy trình xây dựng mồ hình - c1 S9 g k, 45Hình III-2: Phương pháp xây dựng m6 hình - - - - 55c S1 1s se 54Hình II-3: Biểu đồ phân tán phan dưư - - + 2 2+£+E+E+£+££££EzE+E+Eerersrxd 61Hình II-4: Biểu đồ Histogram của phan du -. 5- 52 +52 2+s+£+£+£e£zzscx¿ 63Hình IV-1: Biểu đồ so sánh ty lệ sai lệch ước lượng của 2 mồ hình 69Hình IV-2: Giải thích nhập giá trị cho các biễn đầu vào -555¿ 73
Trang 12DANH MỤC BANG
Bảng I-1: Độ chính xác của ước Ìượng . - <9 1 ng re 2Bảng I-2: Tỷ lệ các nghiên cứu về các phương pháp ước lượng 3Bảng H-1: Bảng đánh giá độ phức tap của ILF và EL,E - «555 55<<<< <2 12Bảng II-2: Bảng tra điểm chức năng chưa hiệu chỉnh UFP của ILF 12
Bảng II-3: Bảng tra điểm chức năng chưa hiệu chỉnh UFP của ELE 13
Bảng H-4: Bang độ phức tạp của EEÌ - (<< + 1113329993111 99 11 1g ke 14Bảng II-5: Bang độ phức tạp của EO, EQ HH ku 14Bảng II-6: Bảng điểm chức năng chưa hiệu chỉnh của EI và EQ 14Bảng II-7: Bảng điểm chức năng chưa hiệu chỉnh của EO -5- 14Bảng II-8: Chuyén đổi giữa FP và SLOC ¿5252252 +xE+EEE£EzEzEsrerrrsred l6Bảng II-9: Bảng xác định độ phức tạp của màn hình «555 ++<<< <2 18Bang II-10: Bảng xác định độ phức tạp của báo biểu (Report) 19Bảng II-11: Bảng trọng số của Screen, Report, 3GL component 19Bảng II-12: Bảng đánh giá năng suất trong mô hình COCOMO II 23
Bảng II-13: Ý nghĩa các tham số Scale Factors - + 25 + 2 2+E+£z£zzszc 25
Bảng II-14: Bảng trọng số của Scale FaCfOFS - ¿52 2-5 E2 ererereở 26Bảng II-15: Bảng mô tả 17 yếu tổ ảnh hưởng đến công số - 26Bảng II-16: Thang đo đánh giá 17 yếu t6 ¿+ 252 52+e+E+E£E£zEzrsrerersred 29Bang I-17: Bang mô tả các Effort Multipliers của mô hình Early Design 3lBảng H-18: Thang đo đánh giá của 7 Effort Multipliers -««- 32Bang III-1: Bang các bién trong mô hình COCOMO II Early Design 46Bang III-2: Mô tả biến trong mô hình dé xuất 5+ 5252 252£+£+££zzzcs2 48Bảng HI-3: Bang minh hoa df liệu xây dựng mồ hình 555 << <<<2 53Bang III-4: Ma trận tương quan giữa các DIGI eececcccescsesseesescessesseesessseseeeees 55Bang III-5: Bảng mô tả thủ tục chọn biét cccececececcecesesessesesesesssesesesessseseesees 56Bang III-6: Bảng thông số tóm tắt của mô hinh ecc cesses - 2 2 2+s+s+£+£e£zzzcx2 57Bảng III-7: Bảng hệ số kết xuất của mô hình hồi quy - - 2 255552 58
Trang 13Bảng LII-S: Bảng phân tích ANOVA HH HH ngà 60Bang III-9: Ma trận hệ số của kiểm định ŠPpearman - - ss Sa 62Bảng IV-1: MRE của mô hình dự báo dé xuất - 2 2 2552s+c+secczscs¿ 66Bảng IV-2:Bảng so sánh MRE trên tập kiểm định 5-5-5 5c+52cc<c5¿ 66Bang IV-3: Bang so sánh MRE trên tập 27 dự án c2 66Bang IV-4: Bang so sánh MMIRE Ặ G G0010 HH ke 70Bảng IV-5: Hệ số của các biến trong sheet Model - ¿555cc czscs¿ 7]Bảng IV-6: Các bién dau vào và công số ước lượng trong sheet Estimator 72
Trang 14SLOCKSLOCFPUFPCOCOMOOP
VAFILFELFEIEO
EQ
DETRETFIR3GL
PMNOPPRODEMSFPRECFLEXRESLTEAMPMATRELY
DANH MUC CHU VIET TAT
Source Line Of Code (số dòng mã nguồn)Thousand Source Lines Of Code (don vị ngàn dòng mã nguồn)
Function Point (điểm chức năng)Unadjusted Function Point (điểm chức năng chưa hiệu chỉnh)
COnstructive COst Model (mô hình chi phí COCOMO)
Object Point (điểm đối tượng)
Value Adjustment Factor (yếu tô điều chỉnh)Internal logical file (tập tin luận lý trong)External logical file (tập tin luận lý ngoài)External Inputs (nhập từ bên ngoài)
External Outputs (kết xuất ngoài)External Inquiry (truy vấn ngoài)Data Element Type (kiêu thành phan dữ liệu)Record Element Type (kiểu thành phan bản ghi)Eile Type Referenced (file được tham chiếu)Third-generation programming language (ngôn ngữ lập trình théhệ 3)
Person-Month (đơn vi người-tháng)
New Object Point (điểm đối tượng mới)
Productivity (năng suất)Effort Multipliers (yếu tổ ảnh hưởng công số)Scale Factors (yếu tố liên quan quy mô)Precedentedness (tính tương tự với dự án cũ)Development Flexibility (khả năng phát triển linh hoạt)Risk Resolution (giải pháp khắc phục rủi ro)
Team Cohesion (mức độ gẵn kết của nhóm)Process Maturity (mức độ trưởng thành của quy trình)Required Software Reliability (mức độ tin cậy của phần mềm)
Trang 15Database Size (độ lớn cua cơ sở đữ liệu)Product Complexity (độ phức tạp của sản phẩm)Developed for Reusability (khả năng tái sử dụng)Documentation (tài liệu)
Execution Time Constraint (ràng buộc về thời gian thực thi)Main Storage Constraint (ràng buộc về lưu trữ chính)
Platform Volatility (tính phức tạp của nền tảng)Analyst Capability (kha nang phân tích)
Programmer Capability (kha năng cua lập trình viên)Personnel Continuity (tinh ồn định của nhân sự)Applications Experience (kinh nghiệm về ứng dụng)Platform Experience (kinh nghiệm về nên tang)Language and Tool Experience (kinh nghiệm về công cụ)Use of Software Tools (mức độ sử dụng công cụ)
Multisite Development (môi trường phát triển phân tán)Required Development Schedule (ràng buộc về thời gian)Personnel Capability (khả năng của nhân sự)
Product Reliability and Complexity (độ phức tap&tin cậy)Platform Difficulty (độ phức tap của nên tang)
Personnel Experience (kinh nghiệm của nhân sự)Facilities (phương tiện hỗ trợ)
Capability Maturity Model (mô hình năng lực trưởng thành)Capability Maturity Model Integration (mô hình năng lực trưởngthành tích hợp)
Trang 16CHƯƠNGI: MỞ ĐẦU
Chương dau tiên của luận văn trình bày tầm quan trọng của ước lượng chiphí dự án phan mém và xu hướng của kỹ thuật ứng dụng trong nghiên cứu ướclượng chi phí Đó cũng là lý do hình thành dé tài và mục tiêu nghiên cứu
L1 GIỚI THIỆU DET IThế ky thứ 20 được đánh dau bởi sự phát triển nhanh chóng của công nghệ,
đặc biệt là công nghệ thông tin Công nghệ thông tin đã tác động sâu rộng đếnnhiều hoạt động của đời sống xã hội và được xác định là một ngành kinh tế mũinhọn trong chiến lược phát triển kinh té của nước ta trong đó có công nghiệpphân mêm.
Sản xuất phan mềm là quá trình gồm nhiều công đoạn trong đó có ướclượng chi phí sản xuất Ước lượng chi phí hợp ly là điều hết sức quan trọng giúpdoanh nghiệp hoạch định ngân sách, lập kế hoạch và phân bổ nguồn lực cho dựán hoặc tham gia đấu thâu đối với các doanh nghiệp nhận gia công Nếu ướclượng quá cao so với thực tế doanh nghiệp sẽ giảm tính cạnh tranh, khó có khảnăng trúng thâu hoặc may mãn trúng thâu thì việc ước lượng cao hơn thực tế dẫnđến bồ trí nguồn lực và ngân sách lãng phí Ngược lại, thấp hơn thực tế dẫn đếnbố trí thiểu nguồn lực cho dự án làm giảm chất lượng sản phẩm và nguy co
không đúng thời hạn cam kết với khách hàng
Ước lượng chi phí thực hiện phần mềm là việc khó khăn và quan trọng, kết
quả ước lượng là cơ sở để lập kế hoạch và quản trị dự án do vậy nó ảnh hưởng
rất lớn đến thành công của dự án Một khảo sát của Kjetil Molékken 2003 [1] chỉra rằng 61%-84% dự án vượt ngân sách, 65%-84% hoàn thành trễ so với kếhoạch trong khi chỉ 10%-14% hoàn thành ít hơn ngân sách hoạch định và chỉ 4%
Trang 17Bang I-1: Độ chính xác cua ước lượng [1]
Vượt quá thời hạn 22%Hoàn thành trễ kê hoạch 65% S0% 84%
Hoàn thành trước kế hoạch 4%
Kết quả khảo sát trên cho thấy việc ước lượng chính xác chi phí phát triểnphân mém là rat quan trong và cân thiệt.
Tầm quan trọng của ước lượng chi phí trong sản xuất phần mém đã thuhút sự quan tâm của các nhà nghiên cứu Cho đến nay, đã có nhiễu nghiên cứu
về các phương pháp ước lượng công phát triển phần mềm với những mô hìnhkhác nhau được đề xuất Nhìn chung, các phương pháp này được chia thành 2
nhóm là nhóm ước lượng băng công thức và không công thức
Nhóm dựa vào công thức nhằm biểu diễn công thực hiện theo các tham sốcủa dự án và các yếu tố ảnh hưởng đến chi phí phát triển theo dạng một phươngtrình hay công thức nào đó Tiêu biểu cho nhóm này là mô hình COCOMO
Nhóm không dựa vào công thức: khác với nhóm dựa vào công thức,phương pháp trong nhóm này dựa trên sự phân tích và suy diễn từ những dữ liệu
Trang 18của dự án trong quá khứ Một số phương pháp trong nhóm này như phương pháptương tự (Analogy), phương pháp chuyên gia.
Theo nghiên cứu tổng hop của Magne Jørgensen va Martin Shepperd
(2007) [3] phương pháp ước lượng dựa trên phân tích hồi quy chiếm tỷ lệ cao
Mo phong 2 (5%) 4 (2%) 4 (4%) 10 (3%)
(Simulation)Mang No-ron 0 (0%) 11 (7%) 11(11%) | 22 (7%)
Theory 20 (49%) | 14 (9%) 5 (5%) 39 (13%)Bayesian 0 (0%) 1(1%) 6 (6%) 7 (2%)
Ket hợp các phương | o yy) 3 (2%) 2 (2%) 5 (2%)
pháp
Khác 2 (5%) 7 (4%) 16 (16%) | 25(8%)
Mặc dù có nhiều mô hình ước lượng được để xuất nhưng mỗi phươngpháp đều có ưu và nhược điểm khác nhau tùy theo môi trường cụ thé của mỗidoanh nghiệp/tổ chức, không có phương pháp nào tốt nhất cho mọi trường hợp
[4]
Trang 19NEC Việt Nam, một công ty chuyên gia công phần mềm cho Nhật bản cũng gặpphải những khó khăn khi thực hiện ước lượng công phát triển phần mềm Vớiđội ngũ 203 nhân viên hoạt động gia công phần mềm, quá trình hoạt động hơn 7
năm, doanh nghiệp này ước lượng chủ yếu dựa vào những người có nhiều kinhnghiệm trong công ty Phương pháp ước lượng này vừa tốn kém vừa khó kiểm
chứng bởi các tham số đâu vào của ước lượng không được tài liệu hóa rõ ràngmà nó phụ thuộc vào các chuyên gia này.
Đề hạn chế những nhược điểm của phương pháp hiện tại, luận văn nghiêncứu đề xuất một mô hình ước lượng thay thé hoặc bổ sung giúp nâng cao độchính xác của ước lượng.
L2 _ MỤC TIỂU NGHIÊN CỨUTổng hop các phương pháp ước lượng công phát triển dự án phần mém phổ
biến từ đó nghiên cứu xây dựng mô hình ước lượng công phát triển dự án phần
mềm trên cơ sở ứng dung phân tích hồi quy trên tập dữ liệu lịch sử các dự án
phần mềm tại công ty NEC Việt Nam
13 PH MVINGHIÊN CUU‹ Phuong pháp ước lượng kích thước phân mềm
o Ước lượng băng số dòng mã lệnh (Source Line Of Code)o _ Ước lượng băng số điểm chức năng (Function Point)o _ Ước lượng băng số điểm đối tượng (Object Point)« - Một số phương pháp ước lượng công phổ biến
o Phương pháp chuyên gia
Trang 20o Phương pháp tương tựo Mô hình COCOMO IIo Mô hình SEER-SEM
o Ứng dụng mang nơ-rono Phương pháp phân tích hồi quy¢ Ung dụng phân tích hồi quy xây dựng mô hình ước lượng công phát triển
phan mềm Dữ liệu xây dựng mô hình được thu thập là các dự án đã hoànthành tại công ty NEC Việt Nam.
IL4 ÝNGH A NGHIÊN CỨU
Ước lượng chi phí phát triển phần mém là công việc khó khăn và phức tạpnhưng rất quan trọng Kết quả của ước lượng ảnh hưởng đến thành bại của dựán Mặc dù có nhiều phương pháp được đề xuất nhưng mỗi phương pháp đều có
ưu và nhược điểm Nghiên cứu này góp phan củng cô thêm luận chứng đối với
phương pháp phân tích hồi quy, là case study trong việc ước lượng chi phí dự ánphân mêm.
L5 SƠ LƯỢC VE CÔNG TY NEC VIET NAM
Công ty TNHH NEC Vietnam được thành lập năm 2006, là công ty con củatập đoàn NEC Nhật Bản Trụ sở chính tại 52 đường Lê Đại Hành, quận Hai BàTrưng, Ha Nội Chi nhánh phía nam tọa lạc tại tang 9, toan nha Etown 3, 364Cộng Hòa, quận Tân Bình, Hồ Chính Minh Ngành nghề kinh doanh gồm pháttriển phần mềm; tích hợp hệ thống: và cung cấp thiết bị và giải pháp phần mềmđóng gói Quy mô công ty hiện khoảng 203 người trong đó phát triển phần mềmchiếm tỷ trọng cao nhất, thị trường chính là Nhật Bản Phương pháp ước lượngcông số phát triển phần mềm chủ yếu là phương pháp chuyên gia
Trang 21Chương I đã giới thiệu lý do chon dé tài, mục tiêu và ý nghĩa nghiên cứu.Tiếp theo, chương này giới thiệu tổng quan về ước lượng công số thực hiện dựán phần mềm va độ lớn hay kích thước phần mềm Độ lớn phan mềm là tham sốdau vào quan trọng của nhiều mô hình ước lượng công số do vậy một số phươngpháp phô biến xác định kích thước phần mềm được giới thiệu trong chương này.
Tiếp theo đó là những phương pháp ước lượng công số truyền thống và mô hình
COCOMO II rất phô bién hiện nay cùng với các mô hình ứng dụng máy học ganđây.
H.1 TONG QUAN VE UOC LUONG DỰ N PHAN MEM
Dự toán dự án phần mém là quá trình xác định chi phi dé sản xuất mộtphần mềm Chi phí sản xuất này gồm nhiều loại chi phí khác nhau gồm chi phínhân công tham gia phát triển phần mềm và các chi phí hoạt động khác củadoanh nghiệp như chi phí mua các công cụ phát triển, chi phí tư van pháp luật,chi phí ngoại giao, chi phí thuê văn phòng, chi phí điện nước, Các loại chi phíhoạt động này phụ thuộc vào mỗi doanh nghiệp và biến động theo môi trườngkinh tế xã hội mà doanh nghiệp hoạt động và không thuộc phạm vi sản xuất phầnmém Do vậy dé đơn giản, các nghiên cứu về ước lượng chi phí phần mềm tập
trung vào ước lượng số giờ/ngày công can thiết dé phát triển một phan mềm bởivì số giờ/ngày công nay là cơ sở quan trong dé tính chi phí của phần mềm
Đâu vào của quá trình ước là các yêu tô ảnh hưởng công sô Các yêu tônày thường được gọi là cost drivers và được chia thành 3 nhóm [5]:
- Nhóm yếu tố liên quan phan mềm (Product Factors): Đây là nhữngyếu tố liên quan đặc tính của phan mềm như: độ lớn, độ phức tạp củaphần mềm, lĩnh vực nghiệp vụ
Trang 22- Nhóm yếu tố liên quan môi trường phát triển (Environment Factors):
Đây là những yếu tố liên quan môi trường phát triển sản phẩm nhưquy trình, công cụ, trang thiết bị và tài nguyên hỗ trợ
- Nhóm yếu tố liên quan đội ngũ tham gia dự án (People Factors): Daylà những yếu tô liên quan con người như trình độ, kỹ nang, năng suấtcủa đội ngũ tham gia dự án,,
Kết quả của quá trình ước lượng là công can thiết dé sản xuất phần mềm
Nó thê hiện công sức bỏ ra của đội ngũ tham gia dự án Don vi thường được sửdụng đo công sô là person-hour hoặc person-month.
Person-hour: là số giờ cần thiết một người cần bỏ ra để phát triển phần mềm.Person-month: là số tháng cân thiết một người cần bỏ ra để phát triển phân mềm
Ước lượng công số không chỉ thực hiện ở giai đoạn đầu của dự án mà nóđược thực hiện xuyên suốt qua quá trình thực hiện dự án Ước lượng ở những
giai đoạn dau dự án là cơ sở dé doanh nghiệp quyết định đầu tư, hoạch định ngân
sách, phân bố nguồn lực hoặc tham gia đấu thầu Khi dự án được vận hành, ước
lượng ở các giai đoạn nay là cơ sở điều chỉnh kế hoạch, phân bố lại nguồn lựccũng như quản trị dự án cho các giai đoạn tiếp theo
Độ chính xác của ước lượng phụ thuộc vào từng giai đoạn của dự án Giai
đoạn dau hình thành dự án, các đặc tả về chức năng của phần mềm thường chưarõ ràng do vậy ước lượng công số thực hiện trong giai đoạn này có độ chính xáckhông cao Càng về các giai đoạn sau, chỉ tiết đặc tả của phân mềm càng rõ ràngkhi đó độ chính xác của ước lượng càng cao Thông tin ước lượng này giúp điều
chỉnh kế hoạch và phân bổ nguồn lực cho các giai đoạn tiếp sau cho đến khi dựán hoàn thành.
Trang 23ay,
<u:
>0.5x0.25x
H.2 K CH THƯỚC PHAN MEM
Độ lớn hay kích thước phần mềm là đại lượng dùng dé chi mức độ lớn/nhỏhay quy mô của phân mêm.
Kích thước phần mềm là tham số đâu vào quan trọng của nhiều mô hình ước
lượng chi phí phố biến hiện nay Có thể hiểu nôm na nó là khối lượng công việc
mà các mô hình ước lượng cân tìm ra số lượng nhân công để giải quyết khốilượng công việc nay Độ lớn phan mềm là yếu tổ gan liền với các đặc tính, chức
năng cụ thê của phân mêm và độc lập với môi trường phát triên phân mêm.
Trang 24Don vị đo độ lớn phố biến hiện nay là số dòng mã lệnh SLOC (Source LineOf Code) của phần mềm hoặc số điểm chức năng FP (Function Point) , hoặc sốđiểm đối tượng OP (Object Poin0).
H21 S DONG MÃ LỆNH (SLOC)SLOC là dai lượng dùng dé đo độ lớn của phân mềm theo số lượng dòng
mã lệnh (không ké số dòng trang và dòng chú thích) Đây là đại lượng được sửdụng dau tiên trong lich sử công nghiệp phan mém dé đo kích thước phần mềm[7] Đối với dự án đã hoàn thành thì việc xác định kích thước theo SLOC khá dễdàng Tuy nhiên để xác định SLOC ở giai đoạn đầu của dự án khi mà các đặc tả
của phân mềm chưa rõ rang, phan mém chưa đến giai đoạn viết code là việc khó
khăn Trường hợp này SLOC thường được ước lượng bằng phương pháp WBS(Work Breakdown Structure) cách chia phần mềm thành những module nhỏ vakết hợp với phương pháp tương tự hoặc phương pháp chuyên gia Với những dự
án đã hoàn thành trong quá khứ ta có thé xác định chính xác SLOC và so sánh
phần mềm mới hoặc module của nó với dữ liệu lịch sử của các dự án này đề đưa
ra ước lượng kích thước Ngoài ra phương pháp tính độ lớn theo điểm chức năng
Function Point cũng có thé sử dụng thay thé để khắc phục hạn chế trong việc xác
định SLOC ở giai đoạn đâu của dự án.H.22 PHAN TÍCH DIEM CHỨC NĂNG [8]
Phân tích điểm chức năng (Function Point Analysis) là phương pháp dođộ lớn của phần mềm được Allan Albrecht dé xuất vào năm 1970 với những kếthừa từ “IBM CIS & A Guideline 313, AD/M Productivity Measurement and
Estimate Validation” của công ty IBM Nam 1988, tổ chức International
Function Point Users Group (IFPUG) giới thiệu phiên ban 2.0 cua phương phápnày và đến năm 1999 cải tiến lên phiên bản 4.1 Phiên bản 4.1 gồm những cải
tiễn tương thích với chuẩn ISO
Trang 25Với phương pháp này, kích thước phan mém được xác định thông qua
phân tích các tính năng, chức năng nghiệp vu thé hiện qua đơn vị đo là điểmchức năng FP (Function Point) Đây là độ đo độc lập với công nghệ phát triển,ngôn ngữ lập trình, khả năng và năng suất của đội ngũ phát triển
Function Point được tính dựa trên chức năng mà ứng dụng cung cấp chongười dùng, mức độ xử lý thông tin với các luồng dit liệu trong hệ thống cũng
như các giao tác với nguồn dữ liệu bên ngoài
Công thức tính độ lớn của phần mềm như sau:
FP = UFP*VAF (II-1)Trong đó:
- FP là độ lớn của phan mềm tính theo đơn vị điểm chức năng(Function Point).
- UFP (Unadjusted Function Point) là số điểm chức năng chưa hiệuchỉnh.
- WAF (Value Adjustment Factor) là hệ số hiệu chỉnh gồm 14 yếu tổliên quan những đặc tính của phần mềm
H.2.2.1 Xác định điểm chức năng chưa hiệu chỉnh UFP
Điểm chức năng chưa hiệu chỉnh UFP có 5 thành phân chính được chiathành 2 nhóm là nhóm chức năng liên quan đến dữ liệu (data functions) và nhóm
chức năng liên quan đến giao tác (transactional functions)
Trang 26Hình II-2: Các thành phân của điểm chức năng chưa hiệu chỉnh (UFP)
a Nhóm chức năng liên quan đến dit liệu (data functions) gồm có:
e Internal logical files (ILF): là dữ liệu có thé nhận biết bởi người sửdụng và được quản lý bên trong ứng dụng.
e External logical files (ELF): là dữ liệu có thé nhận biết bởi ngườisử dụng và được ứng dụng truy xuất đến nhưng được quản lý bởiứng dụng khác.
Mỗi ILF và ELF gồm 2 thành phan để đánh giá độ phức là:
- DET (Data Element Type): là những trường (field) dữ liệu mangười dùng có thé nhận biết
- RET (Record Element Type): là những nhóm thành phân dữ liệucon trong một ILF hoặc ELF.
Trang 27Độ phức tap của ILF va ELF phụ thuộc vào số lượng DET va RET và đượcđánh giá qua bảng sau:
Bang II-1: Bang đánh giả độ phức tạp cua ILF và ELF
1-19 DET 20 - 50 DET Lớn hơn 50 DET
IRET Thấp Thấp Trung bình2-5 RET Thap Trung binh CaoNhiéu hon 6 Trung binh Cao Cao
Vi du- Giả sử ILF có 1 RET va 70 DET, tra bảng trên ta thay độ phức tap
cua ILF là Trung bình (giá tri tai dong 2 cột 4).- Giasu ELF có 7 RET va 25 DET, tra bang trên ta được độ phức tap
cua ELF là Cao (giá tri tại dong 4, cột 3).
Sau khi xác định được độ phức tạp cua ILF va ELF, bước tiếp theo là tínhđiểm chức năng chưa hiệu chỉnh UFP (Unadjusted Function Points) dựa trên
bảng sau:
Bảng II-2: Bang tra điểm chức năng chưa hiệu chỉnh UFP của ILFĐộ phức tạp Số điểm chức năng chưa hiệu chỉnh (UFP)
Thấp 7Trung bình 10
Trang 28Bảng II-3: Bảng tra điểm chức năng chưa hiệu chỉnh UFP của ELFĐộ phức tạp Số điểm chức năng chưa hiệu chỉnh (UFP)
Thấp 5Trung bình 7Cao 10
b Nhóm chức năng liên quan đến giao tác (transactional functions) gồm có:
e External Inputs (EI): là những giao tác từ hệ thống bên ngoài vào
ứng dụng có tương tác với ít nhất một ILF
e External Outputs (EO): là những giao tác kết xuất dữ liệu ra ngoàiứng dụng hoặc truy xuất thông tin ngoài ứng dụng Những giao tácnày phải gồm những tính toán, tạo dữ liệu dẫn xuất từ ít nhất một
ILF.
e External Inquiries (EQ): là những giao tác kết xuất thông tin rangoài hệ thống cho người dùng Những giao tác này truy vấn thôngtin từ ILF hoặc EIF.
Mỗi giao tac EI, EO, EQ đều có 2 phan là DET va FTR Độ phức tapcủa mỗi giao tac được đánh giá thông qua số lượng DET và FTR
- DET (Data Element Type): là những trường (field) dữ liệu màngười dùng có thể nhận biết (Giống như DET đã định nghĩa
của ILF va ELF.)
- FTIR (File Type Referenced): là ILF hoặc ELF ma giao tác naytruy xuất tới
Khi đã đếm được số DET và FTR, tra bảng sau để đánh giá độ phứctạp của môi giao tác.
Trang 29Bang II-4: Bang độ phúc tạp cua EI
1—4DET | 5- 15 DET | Nhiều hơn 16 DET1FTR Thap Thap Trung binh2FTR Thap Trung binh CaoNhiéu hon 3 FTR | Trung binh Cao Cao
Bang II-5: Bang độ phức tạp cua EO, EQ
1-5 DET | 6-19 DET | Nhiéu hơn 20 DET1FTR Thap Thap Trung binh2-3FTR Thap Trung binh CaoNhiéu hon 4 FTR | Trung binh Cao Cao
Sau khi xác định độ phức tạp cua các EI, EO, EQ tra bang sau dé tính
số chức năng chưa hiệu chỉnh UFP.Bảng II-6: Bảng điểm chức năng chưa hiệu chỉnh cua EI va EQ
Độ phúc tạp của EI hoặc Số chức năng chưa hiệu chỉnh UFP
Thấp 3Trung bình 4Cao 6
Bang II-7: Bang điểm chức năng chưa hiệu chỉnh cua EO
Độ phúc tạp của EI hoặc Số chức năng chưa hiệu chỉnh UFP
Thấp 4Trung bình 5Cao 7
Trang 30— Sự liên lạc giữa các dữ liệu (Data Communications)2 Xử lý dữ liệu phân tán (Distributed Data Processing)3 Hiệu năng hoạt động (Performance)
4 Sử dụng nhiều cau hình (Heavily Used Configuration)5 Mật độ giao tác (Transaction Rate)
6 Nhập dữ liệu trực tuyến (Online Data Entry)7 Dễ sử dụng (End-User Efficiency)
8 Cập nhật dữ liệu trực tuyến (Online Update)9 Xử lý phức tạp (Complex Processing)
10 Khả năng tái sử dụng (Reusability)11 Cài đặt dễ dàng (Installation Ease)12 Dễ vận hành (Operational Ease)13 Mức độ triển khai vận hành ở nhiều nơi khác nhau của tổ chức(Multiple Sites)
14 Kha năng dé dàng thay đối (Facilitate Change)
Trang 31Mỗi yếu tố có mức độ ảnh hưởng đến ứng dụng khác nhau Tùy theo mứcđộ ảnh hưởng mà nó được gan giá trị từ 0 đến 5 tương ứng Giá trị thấp nhất là 0
nếu không ảnh hưởng và cao nhất là 5 néu ảnh hưởng mạnh Sau khi đánh giá vàgán giá trị cho 14 yếu tố trên, VAF được tính theo công thức:
VAF = 0.01 * (j2; VAF;) + 0.65 (11-2)Trong đó:
VAE:: là yếu tố thứ ¡ trong 14 yếu tổ trên
H.23 CHUYEN DOI GIỮA FUNCTION POINT VÀ SLOC
Mặc dù SLOC được su dụng làm tham số đầu vào cho nhiều mô hình ướclượng công số nhưng việc xác định SLOC ở giai đoạn đâu khi mà dự án chưaviết code không hé đơn giản Theo Albrecht va Gaffney [9] có sự liên hệ giữa sốlượng dòng mã lệnh và điểm chức năng Nghiên cứu của Albrecht và Gaffney
cũng đề xuất ước lượng kích thước phần mềm nên thực hiện qua 2 bước Bướcthứ nhất là ước lượng điểm chức nang, sau đó ước lượng số SLOC từ điểm chức
năng này QSM, một công ty hàng đầu về ước lượng phần mềm đã đưa ra bảngchuyển đổi giữa điểm chức năng FP và SLOC dựa trên phân tích thông kê 2192dự án đã hoàn thành trong cơ sở dữ liệu hơn 10000 dự án mà họ thu thập được từnăm 1978.
Bảng II-S: Chuyển đổi giữa FP và SLOC [10]
QSM SLOC/FP DataNgôn ngữ
Avg | Median| Low | HighABAP (SAP) 28 18 16 60ASP 51 54 15 69
Assembler 119 98 25 320Brio 14 14 13 16
C 97 99 39 333
Trang 32QSM SLOC/FP DataNgôn ngữ
Avg | Median| Low | HighC++ 50 53 25 80C# 54 59 29 70COBOL 61 55 23 297Cognos Impromptu Scripts 47 42 30 100Cross System Products (CSP) 20 18 10 38Cool:Gen/IEF 32 24 10 82Datastage 7] 65 31 157
Excel 209 19] 131 315
Focus 43 45 45 45FoxPro 36 35 34 38HTML 34 40 14 48J2EE 46 49 15 67Java 53 53 14 134JavaScript 47 53 31 63JCL 62 48 25 221LINC H 29 30 22 38Lotus Notes 23 21 19 40
Powerbuilder 26 28 7 40
REXX 77 S0 50 S0Sabretalk 70 66 45 109SAS 38 37 22 55
Siebel 59 60 51 60
Trang 33QSM SLOC/FP DataNgôn ngữ
Avg | Median| Low | HighSLOGAN 75 75 74 75SQL 21 21 13 37VB.NET 52 60 26 60Visual Basic 42 44 20 60Từ bang trên ta có thé xác định được SLOC ở giai đoạn đầu của dự án khi đãtính được số điểm chức năng FP
11.2.4 DIEMD ITƯỢNG (OBJECT POINT) [11][12]
Trong khi phương pháp điểm chức năng do kích thước phan mềm dựa trêncác chức năng của nó thì điểm đối tượng (Object Point) đo kích thước phần mềmở khía cach khác Điểm đối tượng dựa trên số lượng va độ phức tap của các đốitượng như giao diện mà phần mềm giao tiếp với người dùng hoặc giao tiếp vớicác hệ thống khác; các báo cáo kết xuất; và các khái niệm đối tượng trong ngônngữ lập trình thé hệ 3 (3GL) Mỗi đối tượng được đếm và gan cho trọng số từ 1
tới 10 thể hiện mức độ phức tạp của đối tượng Đây là độ đo được sử dụng làm
tham số đầu vào của độ lớn phần mềm trong mô hình COCOMO II EarlyDesign.
Bang II-9: Bang xác định độ phức tap của màn hình
Trang 34Số lượng section Tong số srvrvà | Tông số srvr và | Tổng số srvr va
trong báo biêu clnt < 4 clnt < § clnt > 8(Report) (<2 srvr; (2 hoặc 3 srvr; (>3 srvr;
3GL component - - 10
Object Points = tổng tat cả trong số của Screen, Report và các đôi tượng 3GL
Số điểm chức năng mới của phan mém được tinh theo công thức sau:
Trang 35NOP = (Object Points) + (100 — %Reuse)
— 100 (H-3)Trong đó:
- NOP: là số điểm chức năng mới của phan mềm
- Object Points: là tổng trọng số của Screen, Report, và các đối tượng 3GL
- Reuse: là ty lệ sử dụng lại cua Screen, Report, và đối tượng 3GL từ các
dự án cũ.
11.3) UOC LUONG CÔNG SO (EFFORT)
Công số (Effort) là nhân công can thiết dé phát triển dự án phan mềm Công
số này thường được đo băng person-hour hoặc person-month Từ kích thước
phần mềm được tính ở bước trên, một số phương pháp phố biến hiện nay có thé
đưa ra ước lượng về công số từ đó dự báo chi phí dé sản xuất phần mềm.11.3.1 PHƯƠNG PH P CHUYEN GIA [4][13]
Phuong pháp nay dựa vào sự phân tích, đánh gia, nhận định cua nhữngchuyên gia có nhiều kinh nghiệm trong sản xuất phần mềm và lĩnh vực nghiệp
vụ cụ thé dé đưa ra ước lượng Kỹ thuật tham vấn chuyên gia có thé thực hiện
như phương pháp Delphi hoặc wideband Delphi Dựa vào nhận định khác nhaucủa các chuyên gia này đê tiên hành điêu chỉnh đưa ra kêt quả cuôi cùng.
Các bước tiên hành:
1 Các chuyên gia được cung cấp đặc tả của phần mềm, các thông tin liên
quan và mẫu ước lượng.2 Thiết lập cuộc hop dé các chuyên gia thảo luận về những van dé liên quan
ước lượng.3 Mỗi chuyên gia sẽ độc lập đánh giá và điều vào mẫu Mẫu này không cần
ghi tên của họ.
Trang 364 Tong hop kết qua ước lượng từ các chuyên gia Nếu kết quả khác biệt, lập
lại bước 2 cho đến khi đạt được sự đồng thuận
s* Nhược điểm:- _ Kết quả của ước lượng rất khó kiêm chứng khi dự án chưa kết thúc
- _ Khó tài liệu hóa các yêu tô ảnh hưởng công sô và phụ thuộc vào cácchuyên gia này.
- _ Mỗi chuyên gia có xu hướng quá lạc quan hoặc bi quan khi đưa ra kết
quả ước lượng.IL32 PHUONG PH P TƯƠNG TỤ [4]
Đây là phương pháp rất hữu dụng trong ước lượng công số phần mềm
Phương pháp này dựa trên những dự án trong quá khứ làm cơ sở cho ước lượngdự án mới thay vì thực hiện ước lượng từ con sỐ không Việc so sánh sự tươngđồng giữa dự án mới và dự án cũ có thé thực hiện ở nhiều cấp độ khác nhau: từcác module nhỏ, các chức năng riêng lẻ cho đến các hệ thống con và toàn bộphần mềm Đây cũng là một dạng của phương pháp chuyên gia bởi vì những
chuyên gia cũng thường dựa vào kinh nghiệm và tìm những yếu tố, tình huốngtương tự để đưa ra nhận định Điều cốt yếu cho sự thành công của phương pháp
này là lựa chọn được đúng những dự án tương tự trong quá khứ.
Các bước tiễn hành:
Trang 371 Thu thập đặc tả/ chức năng của phần mềm.2 Lựa chọn những dự án tương tự đã hoàn thành trong quá khứ3 So sánh những chức nang, module tương đông và đưa ra ước lượng công
số dựa trên công số thực tế của dự án đã hoàn thành
s* Ưu điểm:- Ước lượng dựa trên dự án tương tự đã hoàn thành nên tương đối chính xác
- _ Tận dụng được kinh nghiệm và kiến thức của những người thực hiện ướclượng trên những dự án tương tự.
s* Nhược điểm:- _ Việc xác định tính tương đồng thường khó khăn nhất là khi dự án mới
đang còn sơ khai, các đặc ta phân mêm chưa rõ ràng.
- Ngay cả khi đặc tả của dự án mới được xác định thì việc tìm kiếm dự ántương tự cũng không dễ bởi có quá ít những tính năng giống nhau.0.3.3 MÔ HÌNH COCOMO II [11]
COCOMO là mô hình ước lượng công số và thời gian sản xuất dự án phầnmềm được giới thiệu năm 1981 bởi Tiến sĩ Barry Boehm trong cuốn Software
Engineering Economics Mô hình này được xây dựng dựa trên quy trình phầnmềm tuần tự theo dạng thác nước Tiếp sau đó, năm 1996 mô hình COCOMO IIđược công bố có những cải tiễn thích ứng hơn với các quy trình phần mémkhông phải tuân tự
COCOMO II đưa ra 3 mô hình ước lượng là: Mô hình cấu tạo ứng dụng
(Application Composition model), mô hình trước thiết kế (Early Design model),và mô hình sau kiến trúc (Post-architecture model)
Trang 3811.3.3.1 MÔ HÌNH CÁUT O UNG DỤNG
Mô hình thành phan cấu tạo ứng dụng (Application Composition model)
áp dụng để ước lượng trong giai đoạn đầu hình thành dự án khi mà các thuộc
tính của sản phẩm còn rat chung chung, chưa rõ ràng Dữ kiện dau vào của môhình ở giai đoạn này là kích thước phần mềm tính bằng điểm đối tượng (ObjectPoint) và năng suat cua đội dự án.
Công thức tính công của mô hình như sau:
NOP (H-4)PROD
Trong đó:- PM (Person-Month): là số người làm việc với dự án trong | tháng
- NOP: là số điểm đối tượng của phần mềm
- PROD: là năng suất của đội dự án và được đánh giá tương ứng nhưbảng sau:
Bang I-12: Bảng đánh giá năng suất trong mô hình COCOMO II
Rat thấp | Thấp Trung bình Cao | Rất cao
PROD 4 7 13 25 50
11.3.3.2 MÔ HÌNH SAU KIÊN TRÚC
Mô hình sau kiến trúc (Post-architecture model) áp dụng sau giai đoạnthiết kế Lúc này thông tin về phần mém đã rõ ràng hơn Kết quả ước lượng giai
đoạn này dùng dé điều chỉnh kế hoạch và nhân lực tham gia dự án Mô hình này
khá chi tiết, dir kiện đầu vào gôm 5 tham số liên quan tính quy mô về kinh tế làScale Factors và 17 tham số liên quan đặc tính của phần mềm tác động đến côngsố gọi là Effort Multipliers Công thức tính như sau:
Trang 39PM = A * SizeETM x || EM; (I-5)
1=1
Trong đó:- PM: là công số ước lượng của mô hình tinh theo don vị người-tháng (số
động đên công sô.= Các yêu tô Scale FactorsMỗi Scale Factors được đánh giá từ rất thấp tới rất cao và được gắn cho trọng
số tương ứng Y nghĩa và các mức đánh giá của các Scale Factors này được mô
tả trong bảng sau:
Trang 40Bang II-13: Ý nghĩa các tham số Scale Factors
Precedentedness(PREC)
Biến số này sử dụng để xác định mức độ tương tự củadự án đang ước lượng với các dự án đã hoàn thànhtrong quá khứ PREC được đánh giá càng cao khi mứcđộ tương tự càng cao.
DevelopmentFlexibility (FLEX)
Tham số nay dùng dé đánh giá mức độ linh hoạt trong
quá trình phát triển phan mềm FLEX được đánh giácàng cao nếu quá trình phát triển phần mềm càng linhhoạt.
Architecture / RiskResolution (RESL)
Biến nay dùng dé đánh giá mức độ rủi ro và khả năng
giải quyết rủi ro của dự án và giải pháp về kiến trúcphần mềm RESL được đánh giá càng cao nếu khảnăng giải quyết rủi ro và giải pháp cho kiến trúc càng
cao.
Team Cohesion(TEAM)
Biến số này đánh giá mức độ gắn kết, cộng tác của
những người liên quan trong quá trình phát triển dự ánnhư khách hang, nhóm phát triển dự an, nhà dau tư cho
dự an, TEAM được đánh giá càng cao nếu sự gẵn
kêt càng cao.
Process Maturity(PMAT)
Tham số này đánh giá mức độ thuân thục, trưởng thànhtrong quy trình phát triển phân mềm của công ty
PMAT được đánh giá càng cao nếu quy trình càng
thuần thục PMAT có thể được đánh giá theo 2 cách làdựa trên mức đạt được CMM/CMMI của tô chức hoặc