Sau đây là bài giảng Quản trị dự án phần mềm bài 10: Ước lượng dự án trình bày nội dung về tầm quan trọng của ước lượng dự án, các phương pháp ước lượng, điểm chức năng, mô hình ước lượng thực nghiệm, mô hình cơ bản của cocomo, phương trình phần mềm. Mời các bạn sinh viên và các thầy cô tham khảo.
BÀI GIẢNG QUẢN TRỊ DỰ ÁN PHẦN MỀM BÀI 10 ƯỚC LƯỢNG DỰ ÁN NỘI DUNG Độ đo phần mềm: LOC, FP độ đo dẫn xuất Ước lượng, khâu yếu quản trị dự án TẦM QUAN TRỌNG Ước lượng dự án khâu yếu Không ước lượng dự án dễ vỡ kế hoạch thời gian tài Thực tế khơng dự án ước lượng xác, ước lượng cần thực nhiều vòng Mức ước lượng giai đoạn xác định sai tới 50100%, giai đoạn thiết kế phải giảm tới 25-50%, giai đoạn, giai đoạn thiết kế chi tiết cịn 10-25% Ước lượng xác phân rã vấn đề nhỏ hơn, kỹ thuật chia để trị (divide and conquer) CÁC PHƯƠNG PHÁP ƯỚC LƯỢNG Ước lượng chuyên gia: chuyên gia có kinh nghiệm triển khai dự án phần mềm, trả lời ước lượng khơng phải lúc độ xác đáng tin cậy Đánh giá kinh nghiệm khứ Phải có số liệu khứ, phải hiểu tình hình Đánh giá mơ hình ước lượng thực nghiệm Phải có tham số dự án (các độ đo) ĐỘ ĐO Khái niệm độ đo: số đặc trưng cho khía cạnh Trong cơng nghệ phần mềm có độ đo phần mềm (software metric/software measure), độ đo dự án (project metric) độ đo quy trình phần mềm (process metric) Có độ đo trực tiếp độ đo gián tiếp Độ đo trực tiếp độ đo tình đếm trực tiếp khơng thơng qua độ đo khác (ví dụ độ đo LOC – lines of code), có độ đo gián tiếp độ đo tính qua độ đo khác (ví dụ tỉ lệ lỗi = số lỗi / số dịng mã nguồn Dự án có độ đo, chi phí cho dự án, nang suất dự án, Quy trình phần mềm có độ đo, chẳng hạn tỉ lệ chi phí trung bình cho giai đoạn phát triển phần mềm quy trình thác nước ĐỘ ĐO LOC – METRIC HƯỚNG QUY MÔ PHẦN MỀM LOC (lines of code) hay KLOC (nghìn dịng lệnh) Độ đo xác sau dự án kết thúc Tuy nhiên kinh nghiệm, thống kê tương tự ước lượng đựơc khối lượng mã nguồn phần mềm trước kết thúc dự án LOC sau kết thúc dự án dùng để ước lượng dự án tương tự sau Các độ đo dẫn xuất: số lỗi KLOC, chi phí KLOC, số tài liệu KLOC, suất số KLOC /manmonth LOC phụ thuộc vào mơi trường lập trình nên khó so sánh dự án chúng phát triển mơi trường lập trình khác ĐIỂM CHỨC NĂNG (FUNCTION POINT) METRIC HƯỚNG CHỨC NẰNG Điểm chức (FP) đo độ phức tạp phần mềm Quy mơ phản ánh khía cạnh nhỏ độ phức tạp, chức thể độ phức tạp xác FP tính qua yếu tố 14 yếu tố phụ Các yếu tố – – – – – Số user input (số thành phần liệu đưa vào), số input dùng câu hỏi khác tính riêng re Số user output (xuất report, hình, thơng báo) Các output câu hỏi khác kể riêng rẽ Số truy vấn (inquiry) người sử dụng - số input truy vấn online Số lượng file logic (có thể phần CSDL, tính bảng CSDL) file độc lập Số lượng giao tiếp ngoài: ngoại vi, hệ thống thơng tin khác mà giao tiếp ĐIỂM CHỨC NĂNG (FUNCTION POINT) METRIC HƯỚNG CHỨC NĂNG Mỗi yếu tố gán trọng số, tuỳ theo ảnh hưởng yếu tố tuỳ theo mức độ phức tạp: thường tính theo mức đơn giản, trung bình phức tạp Ví dụ Tham số đo Số đo ĐG TB PT Số input 25 100 Số output 30 150 Số inquiry 20 120 Số file 10 10 15 70 Số tương tác 10 10 70 Tổng 510 ĐIỂM CHỨC NĂNG (FUNCTION POINT) 14 YẾU TỐ ĐIỀU CHỈNH PHỤ Hệ thống đòi hỏi backup hồi phục tin cậy Đòi hỏi liệu truyền thơng Có chức phân tán Hiệu điều quan trọng Yêu cầu sử dụng mơi truờng nặng Hệ thống địi hỏi liệu online Khi địi hỏi liệuonline, cần nhiều hình liệu nhiều xử lý 10 11 12 13 14 Master file cập nhật online Input, output, file, tính toan online phức tạp Q trình xử lý bên phức tạp Mã thiết kế để dùng lại Việc chuyển đổi cài đặt tinh thiết kế Hệ thống thiết kế để cài đặt nhiều lần cho tổ chức khác Ứng dụng thiết kế để dễ thay đổi làm dễ dàng sử dụng cho người dùng Mỗi Fi từ tới điểm tuỳ theo mức độ FP = Điểm yếu tố x[ 0.65 + Ʃ Fi /100] MƠ HÌNH ƯỚC LƯỢNG THỰC NGHIỆM Hầu hết mơ hình thực nghiẹm phải có đầu vào từ độ đo độ phức tạp dự án LOC hay FP Mơ hình E= A + B x Vc E cơng sức đo người x tháng, A, B C số đặc trưng cho mơ hình V LOC hay FP Mơ hình cho thây cơng sức khơng tỉ lệ tuyến tính theo độ phức tạp Một vài ước lượng – – – Waston Felix E = 5.2 + KLOC 0.91 Baley Basil E = 5.5 + 0.73 KLOC 1.16 Matson Barret E= 585.7+15.12xFP MÔ HÌNH ƯỚC LƯỢNG THỰC NGHIỆM COCOMO COCOMO : Constructive Cost Model (Barry Boehm1981) COCOMO II (1996) có phân mức dự án: dự án mức định hướng (làm mẫu,xem xét công nghệ, giao diện, hiệu năng), dự án mức trước thiết kế (khi yêu cầu phần mềm ổn định kiến trúc xác lập) dự án tầng sau kiến trúc (khi phần mềm đựơc xây dựng MƠ HÌNH CƠ BẢN CỦA COCOMO Mơ hình Mơ hình COCOMO sở tính cơng sức phát triển phần mềm (và chi phí) xem hàm kích cỡ chương trình diễn đạt theo số dịng mã ước lượng Mơ hình COCOMO trung bình tính cơng sức phát triển phần mềm hàm kích cỡ chương trình tập "hướng dẫn chi phí" bao hàm đánh giá chủ quan sản phẩm, phần cứng, nhân thuộc tính dự án Mơ hình COCOMO nâng cao tổ hợp tất đặc trưng phiên trung bình với việc đánh giá ảnh hưởng hướng dẫn chi phí lên bước (phân tích, thiết kế ) tiến trình kĩ nghệ phần mềm COCOMO Theo Boehm, mơ hình áp dụng cho ba lớp dự án (1) kiểu tổ chức - dự án phần mềm tương đối nhỏ, đơn giản nhóm nhỏ có kinh nghiệm ứng dụng tốt làm việc với tập yêu cầu chặt chẽ (như chương trình phân tích nhiệt phát triển cho nhóm truyền nhiệt); (2) kiểu nửa gắn - dự án phần mềm trung bình (về kích cỡ độ phức tạp) nhóm với nhiều mức độ kinh nghiệm phải đáp ứng cho yêu cầu chặt chẽ chặt chẽ (như hệ thống xử lý giao tác với yêu cầu cố định cho phần cứng thiết bị đầu cuối phần mềm sở liệu); (3) kiểu nhúng - dự án phần mềm phải phát triển bên tập phần cứng, phần mềm, ràng buộc chặt chẽ (như phần mềm kiểm soát bay máy bay) COCOMO Phương trình COCOMO có dạng sau: E = aKLOCb, D = cEd Trong E cơng sức áp dụng theo người-tháng, D thời gian phát triển theo người tháng, KLOC số ước lượng số dịng mã phải bàn giao Mơ hình sở mở rộng để xem xét tập "thuộc tính hướng dẫn chi phí" thuộc tính sản phẩm, thuộc tính phần cứng, thuộc tính nhân viên thuộc tính dự án Boehm đưa vào nhân tố điều chỉnh công sức (EAF) Giá trị điển hình cho EAF lấy miền từ 0.9 đến 1.4 Phương trình COCOMO trung bình có dạng E = a x KLOC b EAF bi Tổ chức 3.2 1.05 Nửa gắn 3.0 1.12 Nhúng 1.20 2.8 COCOMO Thực tế triển khai, COCOMO chi tiết hoá nhiều, người ta xây dựng phiên phụ thuộc vào điều kiện cụ thể, số tham số COCOMO phải dựa vào số liệu khứ Đã có số phấn mềm ước lượng Người ta tính nỗ lực theo giai đoạn (thiết kế sơ bộ, thiết kế chi tiết, lập trình kiểm thử module, kiểm thư ) Tham số đầu vào COCOMO chi phí hàng tháng cho nhân viên tuỳ theo loại người phân tích, người lập trình, người kiểm thử, nhân viên hành chính, nhân viên làm tài liệu, loại có trọng số để điều chinh PHƯƠNG TRÌNH PHẦN MỀM Putnam (1992) đưa công thức xấp xỉ rút từ 4000 dự án E = [LOC x B 0.333 /P]3/t4 E nỗ lực, B tham số đặc trưng cho kỹ đặc biệt, P tham số suất t thời gian thực Công thức cho thấy nỗ lực không phụ thuộc tuyến tính vào độ lớn phần mềm thời gian HỎI VÀ ĐÁP HẾT BÀI ... đo phần mềm: LOC, FP độ đo dẫn xuất Ước lượng, khâu yếu quản trị dự án TẦM QUAN TRỌNG Ước lượng dự án khâu yếu Khơng ước lượng dự án dễ vỡ kế hoạch thời gian tài Thực tế khơng dự án ước lượng. .. Tuy nhiên kinh nghiệm, thống kê tương tự ước lượng đựơc khối lượng mã nguồn phần mềm trước kết thúc dự án LOC sau kết thúc dự án dùng để ước lượng dự án tương tự sau Các độ đo dẫn xuất: số lỗi... chia để trị (divide and conquer) CÁC PHƯƠNG PHÁP ƯỚC LƯỢNG Ước lượng chuyên gia: chuyên gia có kinh nghiệm triển khai dự án phần mềm, trả lời ước lượng lúc độ xác đáng tin cậy Đánh giá