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