Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 10: Dự án, xác định dự án
Xác minh (Verification)
Kiểm tra xem phần mềm làm ra có dúng đặc tả (yêu
cầu, thiết kế) hay không
Thẩm định (Validation)
kiểm tra xem phần mềm có đáp ứng yêu cầu ng-ời
dùng không
?éây là2 hoạt động cốt yếu để đảm bảo chất l-ợng
phần mềm, diễn ra suốt quá trình phát triển
g loại này là “suy luận hợp lý theo ca kinh nghiệm”(khoa CNTT, ĐHCN) Ưu: chính xác khi có đủ dữ liệu cụ thể Nhược: Không thể thực hiện khi không có dự án tương tự Bộ môn Công nghệ phần mềm – ĐHCN 26 NguyễnVănVỵ Ví dụ: Phương pháp kinh nghiệm Bài toán: triển khai 1 phần mềm cập nhập 4 loại báo cáo sai hỏng trong sản xuất của các cơ sở và đưa ra 4 báo cáo: tổng hợp, phân loại và phân tích sai hỏng theo kỳ. Bảng phân tích ước lượng Giai đoạn Xác định yêu cầu Phân tích thiết kế Lập trình k.thử Cài đặt, bảo trì Tông cộng Kinh nghiệm 20% 30% 30% 20% 100% Dự án 10% 40% 40% 10% 100% Ngày công 6Æ8 24 24 6 62 lương bình quân 6tr/tháng, làm 20 ngày Æ 300.000đ/ngày Chi phí dự án: 300ng x 62ngày x 130% = 24.180.000đ Bộ môn Công nghệ phần mềm – ĐHCN 27 NguyễnVănVỵ Phân tích điểm chức năng (FPA) A. Albrecht thuộc IBM đã phát triển phương pháp phân tích điểm chức năng (FPA- function point analysys) Mục đích: ước lượng số dòng lênh - LOC (lines of code) của hệ thống: LOC của hệ thống = FPs của hệ thống x LOC/FP của ngôn ngữ Trong đó: FPs- điểm chức năng LOC/FP: số dòng lệnh cho 1 chức năng theo ngôn ngữ Bộ môn Công nghệ phần mềm – ĐHCN 28 NguyễnVănVỵ Phương pháp điểm chức năng (FPs) Bao gồm các bước: 1.Tính điểm chức năng của 5 loại tiêu biểu: y Số kiểu người dùng nhập vào: I y Số kiểu người dùng xuất ra: O y Số kiểu người dùng yêu cầu: E y Số giao diện ngoại vi: F y Số files liên quan: L Bộ môn Công nghệ phần mềm – ĐHCN 29 NguyễnVănVỵ Ví dụ: tính điểm chức năng Một thành phần của hệ thống quản lý kho bao gồm chức năng ‘thêm 1 bản ghi’,’ xóa 1 bản ghi’, hiển thị 1 bản ghi’,’ sửa 1 bản ghi’, ‘in 1 bản ghi’, như vậy có: 3 kiểu nhập vào 1 kiểu xuất ra (hiển thị) 1 giao diện ngoài (in) các điểm chức năng này được gắn với độ phức tạp tương ứng cho mỗi loại chức năng Bộ môn Công nghệ phần mềm – ĐHCN 30 NguyễnVănVỵ 2. Với mỗi kiểu chức năng, ước lượng độ phức tạp & nhân với số đặc trưng rồi cộng lại. • Độ phức tap có 3 mức: Đơn giản, Trung bình, Phức tạp • Xác định và tính trọng số điều chỉnh cho mỗi loại (Fi) • Tính tổng toàn bộ số điều chỉnh điểm chức năng (ΣFi) Phương pháp điểm chức năng Hệ số phức tạp Các kiểu chức năng Thấp Tr.bình Cao kiểu nhập vào 3 4 6 kiểu xuất ra 4 5 7 File chương trình 7 10 15 Giao tiếp ngoài 5 7 10 Tìm kiếm 3 4 6 Bộ môn Công nghệ phần mềm – ĐHCN 31 NguyễnVănVỵ Tính tổng các điểm chức năng của ví dụ: Ví dụ: tính điểm chức năng Kiểu chức năng số lượng hệ số phức tạp điểm ch.năng kiểu nhập vào 3 x 3 4 7 5 Tìm kiếm 0 x 3 = 0 = 9 kiểu xuất ra 1 x = 4 File chương trình 1 x = 7 Giao tiếp ngoài 1 x = 5 Tổng FPs 25 Bộ môn Công nghệ phần mềm – ĐHCN 32 NguyễnVănVỵ 3. Để tính FPs, trước hết xác định các Fi . Khi trả lời câu hỏi đối với ví dụ, ta xác định được: F4 = 4, F10 = 4, các Fi còn lại gán giá trị 0, nên: ΣFi = 4 + 4 = 8 4. Tính điểm chức năng theo công thức FPs = tổng điểm x (0,65+0.01xΣFi) Trong đó 0.65 và 0.01 là hệ số theo kinh nghiệm. Phương pháp điểm chức năng Nếu hệ thống sử dụng ngôn ngữ C (hệ số= 128), ta có ước lượng số dòng lệnh: LOC = 128 x { 25(0,65+0.01x 8)} = 128x18,25 = 2336 Bộ môn Công nghệ phần mềm – ĐHCN 33 NguyễnVănVỵ Điểm đối tượng (OP:object point) OP thay cho điểm chức năng khi dùng 4GL đối tượng ở đây ≠ ngôn ngữ hướng đối tượng Là sự đánh giá tổng hợp của các yếu tố (đối tượng) trong phần mềm, số màn hình độc lập (giao diện), số các báo cáo cần tạo (yêu cầu), số các module cần phải phát triển bằng 4GL Nó dễ dàng đánh giá từ đặc tả yêu cầu, nên có thể ước lượng từ giai đoạn sớm của dự án Bộ môn Công nghệ phần mềm – ĐHCN 34 NguyễnVănVỵ Mô hình ước lượng COCOMO COCOMO (COstructive COst Model) dùng ước lượng công sức, thời gian, số người phát triển dựa trên kích cỡ phần mềm (LOC). Sử dụng cho các phần mềm lớn Cơ sở của mô hình: y Công sức: E = a * Lb y Thời gian: T = c * Ed y Sô ngươi : N = E/T Trong đó: L: số dòng lệnh (KLOC) a, b, c, d: tham số Bộ môn Công nghệ phần mềm – ĐHCN 35 NguyễnVănVỵ COCOMO: các bước tiến hành 1. Xác định kiểu dự án (cơ sở chọn tham số): organic: cấu trúc rõ ràng, môi trường quen: dễ semi-detached: nhiều ràng buộc chức năng, môi trường & ứng dụng lạ: khó hơn embeded: hệ thống gồm cả cưng-mềm, phức tạp, ràng buộc chặt chẽ, cần nhiều kinh nghiệm: khó 2. Phân rã môđun chức năng & ước lượng số dòng lệnh từng môđun 3. Tính lại số dòng lệnh trên cơ sở tái sử dụng 4. Tính nỗ lực phát triển E cho từng mô đun Bộ môn Công nghệ phần mềm – ĐHCN 36 NguyễnVănVỵ 5. Tính lại E dựa trên độ phức tạp của dự án, độ tin cậy, độ lớn CSDL & yêu cầu về tốc độ, bộ nhớ 6. Tính thời gian và số người tham gia Đặc trưng ứng dụng a b c d organic 3.2 1.05 2.5 0.38 semi-detached 3.0 1.12 2.5 0.35 embeded 2.8 1.2 2.5 0.32 Bảng tham số cơ sở COCOMO: các bước tiến hành Bộ môn Công nghệ phần mềm – ĐHCN 37 NguyễnVănVỵ Ví dụ về COCOMO Ví dụ: Phần mềm có kích cỡ 33.3 KLOC, mức khó là tương đối (semi-detached), nên Chọn: a = 3.0 b = 1.12 c = 2.5 d = 0.35 Tính toán ta được: E = 3.0 * 33.31.12 = 152 người-tháng T = 2.5 * E0.35 = 14.5 tháng N = E/T = ~ 11 người Bộ môn Công nghệ phần mềm – ĐHCN 38 NguyễnVănVỵ Khó khăn trong ước lượng y áp dụng các mô hình khác nhau y tiến hành ước lượng nhiều lần y ước lượng lại khi dự án tiến triển y thảo luận, lấy ý kiến chung Các thông số không trực quan Khó đánh giá tính đúng đắn của tham số Không có mô hình tổng quát Các kỹ thuật ước lượng đang thay đổi Thiếu tham số tham khảo (số thống kê) Bộ môn Công nghệ phần mềm – ĐHCN 39 NguyễnVănVỵ Độ chính xác của ước lượng 4x . . XuÊt phÈm x.®.yªu cÇu ThiÕt kªKh¶ thi M∙ ho¸ 2x 0.25x 0.5x Bộ môn Công nghệ phần mềm – ĐHCN 40 NguyễnVănVỵ Đánh giá khả thi về kinh tế Phân tích khả thi về kinh tế được thực hiên thông qua phân tích chi phí - lợi nhuận của dự án được chọn. Quá trình phân tích tiến hành qua 3 bước: Nhận biết và ước lượng các khoản mục chi phí và thu nhập của việc thực hiện dự án Biểu diễn bằng đơn vị có thế so sánh được Tính các chỉ tiêu hiệu quả, so sánh & đánh giá Bộ môn Công nghệ phần mềm – ĐHCN 41 NguyễnVănVỵ Phân tích chi phí và lợi nhuận Thu nhập hệ thống mang lại chỉ khi nó vận hành. nên cần tính cho mỗi năm (5 năm). Thu nhập chia làm 3 loại: Thu nhập trực tiếp thấy được (tangible) Thu nhập gián tiếp có thể đánh giá được và Thu nhập tiềm năng (không nhìn thấy-intangible) Khi phân tích hiệu quả kinh tế thường chỉ có thể tính đươc 2 loại đầu tiên. Lợi nhuận = thu nhập – chi phí Bộ môn Công nghệ phần mềm – ĐHCN 42 NguyễnVănVỵ Một chỉ tiêu quan trọng của đầu tư là hệ số hoàn vốn (return on investment – ROI) ROI = hay thời gian hoàn vốn: T (hoàn vốn) = năm Các số này được đem so sánh với số trung bình tương ứng của ngành. Nếu lớn hơn hoặc bằng thì dự án đầu tư là có hiệu quả 1 ROI Hệ số hoàn vốn Lợi nhuận bình quân năm Tổng đầu tư Bộ môn Công nghệ phần mềm – ĐHCN 43 NguyễnVănVỵ Ví dụ: phân tích chi phí-lợi nhuân Loại hình Công việc thực hiện Số tiền($) Chi phí 1 lần Phát triển 65.000 Chi phí 1 lần Phần cứng 50.000 Chi phí hoạt động Bảo trì 2.000/năm Tiết kiệm (thu) Liên quan đến tự động đặt hàng 12.000/năm Tiết kiệm (thu) Tính toán chính xác chuyên chở 15.000/năm Tiết kiệm (thu) Quản lí thông tin, tài nguyên tốt hơn 12.000/năm Bảng chi phí và thu nhập của dự án lựa chọn Bộ môn Công nghệ phần mềm – ĐHCN 44 NguyễnVănVỵ Ví dụ: phân tích chi phí- lợi nhuận NămChỉ tiêu 0 1 2 3 4 5 - Thu nhập - Hệ số chuyển đổi (tỷ lệ chiết khấu 12%) Thu nhập quy đổi 0 1 0 39,000 0.89286 34,821 39,000 0.79719 65,912 39,000 0.71778 93,671 39,000 0.63552 118,457 39,000 0.56759 140,586 140,586 - Chi phí 1 lần - Chi phí bảo trì - hệ số chuyển đổi (tỷ lệ chiết khấu 12%) - Chi phí quy đổi năm Tổng chi phí tích luỹ 115,000 0 1 115,000 2,000 0.89287 1,786 116,786 2,000 0.79714 1,594 118,380 2,000 0.71178 1,424 119,804 2,000 0.63352 1,271 121,075 2,000 0.56743 1,135 122,210 122,210 Thu nhập ròng/năm 33,04 64,32 92,25 117,2 139,5 446,237 Hệ số hoàn vốn 0.24 tổng cộng Bộ môn Công nghệ phần mềm – ĐHCN 45 NguyễnVănVỵ Đánh giá hiệu quả kinh tế Như vậy, sau hơn 4 năm hòa vốn (ROI =0,24). Lợi ích thấy được chưa đưa vào là giảm lao động Lợi ích không thấy được: tăng chất lượng quản lý, đáp ứng được với quy mô tăng lên không cần đầu tư BIỂU ĐỒ TÍNH ĐIỂM HÒA VỐN 0 20 40 60 80 100 120 140 160 1 2 3 4 5 năm $ thu nhập chi phí t.lũy Bộ môn Công nghệ phần mềm – ĐHCN 46 NguyễnVănVỵ Những mốc lớn lịch trình dự án Mốc lớn lịch trình cần chỉ ra: Thời gian kết thúc dự án Các giai đoạn chính đánh dấu bằng việc kết thúc 1 giai đoạn với sản phẩm của nó và thời gian lịch tương ứng Các mốc lớn thường được chọn lập lịch là: Kỹ nghệ hệ thống Xác định yêu câu Thiết kế Lập trình-kiểm thử đơn vi Kiểm thử thẩm định Cài đặt và vận hành Bộ môn Công nghệ phần mềm – ĐHCN 47 NguyễnVănVỵ Ví dụ: lịch trình dự án Lịch trình phát triển hệ thống quản lý kho(bản đầu tiên) Thiết kế vật lý 2 12 tuần 28/7/97 17/10/97 Mã hoá 3 6 tuần 20/10/97 28/11/97 Kiểm thử 4 3 tuần 1/12/97 19/12/97 Làm tài liệu 5 1 tuần Đào tạo 6 1 tuần Chuyển đổi/vận hành 7 4 tuần 21/12/97 17/01/98 Thiết kế lôgic 1 4 tuần 30/6/97 25/7/97 Bộ môn Công nghệ phần mềm – ĐHCN 48 NguyễnVănVỵ C©u hái «n tËp 1. Dù ¸n lμ g×? c¸c ®Æc tr−ng? 2. Môc tiªu, ph−¬ng ch©m qu¶n lý dù ¸n lμ gi? 3. C¸c ho¹t ®éng vμ c¸c chøc n¨ng qu¶n lý dù ¸n? 4. Nªu tiến tr×nh x¸c định dự ¸n - b¶n ®Ò xuÊt dù ¸n? 5. Néi dung cña b¶n ®Ò xuÊt dù ¸n? 6. C¸c b−íc ®Ó chän dù ¸n? 7. Nõu c¸c −íc l−îng cña dù ¸n vμ ph−¬ng ph¸p x¸c ®Þnh chóng? 8. §¸nh gi¸ kh¶ thi gồm nh÷ng kh¶ thi nμo? 9. C«ng cô vμ chØ tiªu g× luận chøng kh¶ thi kinh tÕ? 10. C«ng cô g× ®Ó luận chøng tá kh¶ thi thêi gian? Bộ môn Công nghệ phần mềm – ĐHCN 49 NguyễnVănVỵ C©u hái và thảo luận
File đính kèm:
- Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 10 Dự án, xác định dự án.pdf