Ước lượng dự án trên cơ sở các ca sử dụng

  • Số trang: 124 |
  • Loại file: PDF |
  • Lượt xem: 534 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ DOÃN ĐÌNH LƢƠNG ƢỚC LƢỢNG DỰ ÁN TRÊN CƠ SỞ CÁC CA SỬ DỤNG LUẬN VĂN THẠC SỸ HÀ NỘI - 2010 1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ DOÃN ĐÌNH LƢƠNG ƢỚC LƢỢNG DỰ ÁN TRÊN CƠ SỞ CÁC CA SỬ DỤNG Ngành: CÔNG NGHỆ THÔNG TIN Chuyên ngành: CÔNG NGHỆ PHẦN MỀM Mã số: 60 48 10 LUẬN VĂN THẠC SỸ Ngƣời hƣớng dẫn khoa học PGS.TS. NGUYỄN VĂN VỴ HÀ NỘI - 2010 MỤC LỤC LỜI CAM ĐOAN ................................................................................................ 4 MỤC LỤC .......................................................................................................... 5 BẢNG CÁC CHỮ VIẾT TẮT .............................................................................. 7 DANH MỤC BẢNG BIỂU ................................................................................... 9 DANH MỤC HÌNH VẼ ...................................................................................... 11 MỞ ĐẦU .......................................................................................................... 12 CHƯƠNG 1: TỔNG QUAN VỀ ƯỚC LƯỢNG DỰ ÁN PHẦN MỀM .............. 13 1.1 Khái niệm về ước lượng dự án phần mềm ............................................................ 13 1.2 Ước lượng kích thước .......................................................................................... 16 1.3 Ước lượng công sức ............................................................................................. 18 1.4 Ước lượng tài nguyên .......................................................................................... 20 1.4.1 Tài nguyên con người ................................................................................... 20 1.4.2 Tài nguyên phần cứng ................................................................................... 20 1.4.3 Tài nguyên phần mềm ................................................................................... 21 1.5 Các tiếp cận ước lượng dự án phần mềm.............................................................. 22 CHƯƠNG 2: MỘT SỐ PHƯƠNG PHÁP ƯỚC LƯỢNG DỰ ÁN TRUYỀN THỐNG ............................................................................................................ 23 2.1 Phương pháp Điểm chức năng ............................................................................. 23 2.1.1 Giới thiệu ...................................................................................................... 23 2.1.2 Nội dung của phương pháp ........................................................................... 24 2.1.3 Đánh giá phương pháp .................................................................................. 33 2.2 Các mô hình ước lượng dự án phần mềm ............................................................. 33 2.2.1 Mô hình ước lượng COCOMO ..................................................................... 33 2.2.3 Mô hình ước lượng Putnam ........................................................................... 38 2.2.4 Công cụ ước lượng tự động ........................................................................... 40 2.2.5 Mô hình lập luận theo kinh nghiệm – CBR ................................................... 42 CHƯƠNG 3: PHƯƠNG PHÁP ƯỚC LƯỢNG DỰ ÁN ĐIỂM CA SỬ DỤNG 45 3.1 Giới thiệu............................................................................................................. 45 3.2 Cơ sở của UCP .................................................................................................... 46 3.3 Nội dung phương pháp ........................................................................................ 47 5 3.3.1 Tính trọng số tác nhân ................................................................................... 49 3.3.2 Tính trọng số ca sử dụng ............................................................................... 49 3.3.3 Tính UUCP ................................................................................................... 50 3.3.4 Gán trọng số các yếu tố kỹ thuật và các yếu tố môi trường ............................ 51 3.3.5 Tính UCP...................................................................................................... 52 3.3.6 Ước lượng nỗ lực .......................................................................................... 53 3.4 Đánh giá phương pháp và đề xuất cải tiến ............................................................ 54 3.4.1 Ưu điểm của phương pháp ước lượng điểm ca sử dụng ................................. 54 3.4.2 Nhược điểm của phương pháp này ................................................................ 54 3.4.3 Hướng cải tiến phương pháp ......................................................................... 55 CHƯƠNG 4: PHÁT TRIỂN CHƯƠNG TRÌNH ỨNG DỤNG........................... 58 4.1 Chương trình ứng dụng ........................................................................................ 58 4.1.1 Môi trường phát triển .................................................................................... 58 4.1.2 Các bước tính UCP trong chương trình ......................................................... 58 4.1.3 Thực đơn chính của chương trình .................................................................. 59 4.1.4 Một số giao diện chương trình ...................................................................... 60 4.2 Áp dụng phương pháp ước lượng UCP ................................................................ 63 4.2.1 Mô tả yêu cầu nghiệp vụ ............................................................................... 63 4.2.2 Yêu cầu hệ thống .......................................................................................... 70 4.2.3 Tiến trình ước lượng ..................................................................................... 81 KẾT LUẬN ....................................................................................................... 86 TÀI LIỆU THAM KHẢO .................................................................................... 88 PHỤ LỤC ......................................................................................................... 90 P.1 Bảng chi tiết về trọng số và tham số ước lượng................................................ 90 P.2 Mô hình COCOMO ......................................................................................... 94 6 BẢNG CÁC CHỮ VIẾT TẮT Viết tắt Tên đầy đủ AA Assessment and Assimilation AAF Adaptaion Adjustment Factor AAM Adaptation Adjustment Modifier ACAP Analyst Capability ASCII American Standard Code for Information Interchange CBR Case Based Reasoning CMM Maturity Model COTS Commercial Off The Shelf ECF Environment Complexibility Factor ED Early – Design EI External Input EIF External Logical File EM Effort Multiplier EO External Output EQ External Query ESLOC Equivalent Source Lines Of Code FLEX Development Flexibility FP Function Points GUI Graphical User Interface ILF Internal Logical File KSLOC Thousand of Source Line Of Code LCA Life Cycle Architecture LOC Line Of Code MAF Maintenance Adjustment Factor MCF Maintenance Change Factor PA Post – Architecture PF Productivity Factor 7 PM Persons – month PMAT Process Maturity PREC Precedentedness RESL Architecture/Risk Resolution REVL Requirements Evolution and Volatility RUSE Developed for Reusability SLOC Source Line Of Code SMPEEM Software Maintenance Project Effort Estimation Model SU Software Understanding TCF Technical Complexibility Factor TCP/IP Transmission Control Protocol/Internet Protocol TIME Execution Time Constraint UAW Unadjusted Actors Weight UCP Use Case Points UFP Unadjusted Function Point UML Unified Modeling Language UNFM Requirements Evolution and Volatility UUCP Unadjusted Use Case Point UUCW Unadjusted Use Case Weight VAF Value Adjustment Factor 8 DANH MỤC BẢNG BIỂU Bảng 2.1 Chi số độ phức tạp với số UFP tương ứng ............................................... 24 Bảng 3.1 Phân loại tác nhân ................................................................................... 49 Bảng 3.2 Bảng phân loại ca sử dụng và trọng số .................................................... 50 Bảng 3.3 Yếu tố phức tạp kỹ thuật ......................................................................... 51 Bảng 3.4 Yếu tố phức tạp môi trường (kinh nghiệm) ............................................. 52 Bảng 4. 1 Bảng thống kê phân loại tác nhân của dự án iCoot ................................. 81 Bảng 4.2 Bảng thống kê phân loại ca sử dụng của dự án iCoot .............................. 82 Bảng 4.3 Bảng đánh giá các yếu tố phức tạp kỹ thuật dự án iCoot ......................... 83 Bảng 4.4 Bảng đánh giá các yếu tố phức tạp môi trường dự án iCoot .................... 84 Bảng P.1 Bảng tính toán điểm chức năng không được điều chỉnh .......................... 90 Bảng P.2 Bảng các thừa số điều chỉnh giá trị ......................................................... 90 Bảng P.3 Trọng số các nhóm đặc tính (N = 32) ...................................................... 91 Bảng P.4 Hướng dẫn xác định các tham số cần thiết .............................................. 92 Bảng P.5 Tham chiếu cho các chức năng ............................................................... 93 Bảng P.6 Bảng tính toán điểm chức năng không được điều chỉnh .......................... 93 Bảng P.7 COCOMO cơ sở ..................................................................................... 93 Bảng P.8 COCOMO trung bình ............................................................................. 94 Bảng P.9 Các kiểu chức năng ................................................................................ 98 Bảng P.10 Xác định trọng số theo độ phức tạp của các chức năng ......................... 99 Bảng P.11 Bảng chuyển đổi SLOC/UFP .............................................................. 100 Bảng P.12 Các ràng buộc và hướng dẫn xác định tham số phần mềm được thích ứng ............................................................................................................................ 103 Bảng P.13 Các giá trị hệ số tỉ lệ SFj cho các mô hình COCOMO II ..................... 108 Bảng P.14 Các cấp độ đánh giá tính tiền lệ .......................................................... 109 Bảng P.15 Các cấp độ đánh giá linh hoạt phát triển ............................................. 109 Bảng P.16 Các cấp độ đánh giá hệ số RESL ........................................................ 110 Bảng P.17 Các thành phần đánh giá hệ số TEAM ................................................ 111 Bảng P.18 Các mức độ đánh giá PMAT cho Cấp độ thuần thục về quy trình được ước lượng ............................................................................................................ 112 Bảng P.19 Hệ số chi phí RELY............................................................................ 114 Bảng P.20 Hệ số chi phí DATA ........................................................................... 114 Bảng P.21 Hệ số chi phí RUSE ............................................................................ 115 Bảng P.22 Hệ số chi phí DOCU ........................................................................... 116 Bảng P.23 Hệ số chi phí TIME ............................................................................ 116 Bảng P.24 Các hệ số STOR ................................................................................. 117 Bảng P.25 Hệ số chi phí PVOL............................................................................ 118 9 Bảng P.26 Hệ số chí phí ACAP ........................................................................... 118 Bảng P.27 Hệ số chi phí PCAP ............................................................................ 119 Bảng P.28 Hệ số chi phí PCON ........................................................................... 119 Bảng P. 29 Hệ số chi phí APEX........................................................................... 120 Bảng P.30 Hệ số chi phí PLEX ............................................................................ 120 Bảng P.31 Hệ số chi phí TLEX ............................................................................ 121 Bảng P.32 Hệ số chi phí TOOL ........................................................................... 122 Bảng P. 33 Hệ số chi phí SITE ............................................................................ 122 Bảng P.34 Hệ số chi phí SCED ............................................................................ 123 Bảng P.35 Các hệ số chi phí của mô hình ED và PA ............................................ 124 Bảng P.36 Hệ số chi phí RELY............................................................................ 126 10 DANH MỤC HÌNH VẼ Hình 1.1 Quy trình ước lượng dự án phần mềm ..................................................... 16 Hình 1.2 Phát triển ma trận công sức – chức năng ................................................. 19 Hình 1.3 Tài nguyên .............................................................................................. 20 Hình 2.1 Khái niệm về SMPEEME ........................................................................ 26 Hình 2.2 Phân bố công sức – điểm lớn ................................................................... 39 Hình 2.3 Chu trình lập luận theo kinh nghiệm ........................................................ 43 Hình 3. 1 Tiến trình ước lượng nỗ lực .................................................................... 48 Hình 4.1 Giao diện chương trình ước lượng theo phương pháp UCP (1) ................ 60 Hình 4.2 diện chương trình ước lượng theo phương pháp UCP (2) ........................ 61 Hình 4.3 Giao diện chương trình ước lượng theo phương pháp UCP (3) ................ 61 Hình 4.4 Giao diện chương trình ước lượng theo phương pháp UCP (4) ................ 62 Hình 4.5 Giao diện chương trình ước lượng theo phương pháp UCP (5) ................ 62 Hình 4.6 Giao diện chương trình ước lượng theo phương pháp UCP (6) ................ 63 Hình 4.7 Phác thảo giao diện người dùng 1 (tạo một truy vấn tìm kiếm) ................ 70 Hình 4.8 Phác họa giao diện người dùng 2 (xem các kết quả tìm kiếm) ................. 71 Hình 4.9 Phác họa giao diện người dùng 3 (xem thông tin chi tiết) ........................ 71 Hình 4.10 Phác họa giao diện người dùng 4 (chọn một tiêu đề chỉ mục) ................ 72 Hình 4.11 Phác họa giao diện người dùng 5 (xem thông tin thành viên)................. 72 Hình 4.12 Phác họa giao diện người dùng 6 (xem các Thuê) ................................. 72 Hình 4.13 Phác họa giao diện người dùng 7 (xem các đặt thuê) ............................. 73 Hình 4.14 Phác họa giao diện người dùng 8 (thay đổi mật khẩu) ........................... 73 Hình 4.15 Biểu đồ ca sử dụng hệ thống.................................................................. 75 11 MỞ ĐẦU Ước lượng giá cho một dự án phần mềm luôn là bài toán khó cho những người phát triển phần mềm. Nhưng để triển khai một dự án phần mềm, thì bài toán đầu tiên là ước lượng giá và thời gian thực hiện dự án. Ước lượng giá thấp và thời gian thực hiện ngắn dễ gặp rủi ro và dẫn đến thất bại. Ước lượng quá cao thì có nguy cơ phải từ bỏ dự án vì không đủ nguồn lực. Đây là một bài toán luôn đặt ra mỗi khi cần phát triển một dự án phần mềm và là một thách thức nói chung cho ngành công nghiệp phát triển phần mềm vì tính đa dạng và phức tạp của nó. Trong điều kiện phương pháp phát triển phần mềm hướng đối tượng phát triển mạnh mẽ chục năm lại đây, việc ước lượng các dự án phần mềm phát triển theo hướng này càng đòi hỏi có một phương pháp ước lượng thích hợp. Vì những lý do trên mà đề tài ”Ước lượng dự án phần mềm trên cơ sở các ca sử dụng” được chọn làm đề tài luận văn của tôi. Mục tiêu của đề tài là đi sâu nghiên cứu các phương pháp ước lượng dự án phần mềm, đặc biệt những phương pháp được quan tâm trong thời gian gần đây. Làm rõ cơ sở khoa học và thực tiễn của chúng, những kinh nghiệm áp dụng, so sánh những ưu và nhược điểm của mỗi phương pháp và đề xuất cải tiến cho trường hợp dự án phần mềm hướng đối tượng. Tiếp đó xây dựng một chương trình thử nghiệm cho phương pháp mới nhất và áp dụng để đánh giá một dự án đã cho nhằm trợ giúp cho việc triển khai các dự án phần mềm hướng đối tượng, đồng thời làm rõ những ưu điểm và hạn chế của phương pháp. Luận văn chia làm bốn chương: Chương I: trình bày tổng quan về ước lượng dự án phần mềm. Chương II: trình bày một số phương pháp ước lượng dự án phần mềm truyền thống, đặc biệt là phương pháp COCOMO. Chương III: trình bày phương pháp ước lượng dự án “điểm ca sử dụng”, dành riêng cho các dự án phần mềm phát triển hướng đối tượng. Chương IV: phát triển chương trình ứng dụng dựa trên phương pháp đã trình bày và thử nghiệm với một ví dụ đã cho. Cuối cùng là tài liệu tham khảo và phụ lục. 12 CHƢƠNG 1: TỔNG QUAN VỀ ƢỚC LƢỢNG DỰ ÁN PHẦN MỀM 1.1 Khái niệm về ƣớc lƣợng dự án phần mềm Trong những ngày đầu của tin học, chi phí phần mềm bao gồm một phần trăm nhỏ của toàn bộ chi phí cho hệ thống dựa trên máy tính. Một lỗi lớn trong ước lượng chi phí phần mềm có thể ít ảnh hưởng đến sự thành bại của dự án. Ngày nay, phần mềm là yếu tố tốn kém nhất của nhiều hệ thống dựa trên máy tính. Ước lượng chi phí sai có thể dẫn đến sự thất bại của nhiều dự án phần mềm. Ước lượng chi phí và công sức phần mềm chắc chắn không là một khoa học chính xác. Có quá nhiều tham số (con người, kỹ thuật, môi trường, chính trị…) ảnh hưởng tới chi phí chung cuộc của phần mềm và công sức cần để phát triển nó. Để có được các ước lượng chi phí và công sức tin cậy, một số tùy chọn sau đây được sử dụng:  Trì hoãn việc ước lượng tới giai đoạn sau của dự án (có thể đạt được ước lượng chính xác 100% khi dự án đã hoàn tất).  Dùng các kỹ thuật phân rã để sinh ra ước lượng về chi phí và công sức dự án.  Phát triển mô hình kinh nghiệm cho chi phí và công sức làm phần mềm.  Thu được từ một hay nhiều công cụ ước lượng tự động. Tùy chọn đầu tiên là “hấp dẫn” nhưng lại không thực tế, vì các ước lượng chi phí cần phải được đưa ra ngay từ đầu làm cơ sở cho việc triển khai và quản lý dự án. Ba cách tiếp cận còn lại chỉ có thể cho ước lượng gần đúng đối với dự án phần mềm. Có thể áp dụng các kỹ thuật tùy chọn trên nối tiếp nhau, và mỗi tùy chọn dùng như một phép kiểm tra cho tùy chọn khác. Bằng cách phân rã một dự án thành các chức năng chính và các nhiệm vụ kỹ nghệ phần mềm liên quan, việc ước lượng chi phí và nỗ lực có thể được thực hiện theo từng phần, từng bước. Các mô hình ước lượng theo kinh nghiệm (dựa trên dữ liệu lịch sử) có thể được dùng như một giải pháp bổ sung và cho một cách tiếp cận ước lượng gần với thực tế. Mô hình này có dạng: d = f(vi) 13 d: là một trong một số các giá trị ước lượng (như công sức, chi phí, thời gian,…). vi: các tham biến độc lập được chọn (LOC hoặc FP được ước lượng). Có các công cụ ước lượng tự động cài đặt cho một hay nhiều kỹ thuật phân rã (hay mô hình kinh nghiệm). Khi được tổ hợp với một giao diện tương tác người máy, cho phép chọn một tùy chọn thích hợp cho việc ước lượng. Trong một hệ thống như vậy, các đặc trưng của tổ chức phát triển (như kinh nghiệm, môi trường,…) và phần mềm cần phát triển sẽ được mô tả, các ước lượng chi phí và nỗ lực được suy ra các từ dữ liệu này [20]. Một dự án trước khi thực hiện hoặc lập kế hoạch cần phải đánh giá được quy mô của nó, các tài nguyên cần thiết, lịch trình thực hiện với các cột mốc quan trọng như: lập các kế hoạch, kết thúc một giai đoạn, gửi tài liệu, bàn giao… Thông thường thì giá thành và lịch trình thực hiện một dự án thường mang tính rủi ro cao khi không được ước lượng đúng mức. Một số trong các lý do đó là:  Giá thành và thời hạn thường được các đối tượng ngoài dự án như: khách hàng, chủ đầu tư,… quyết định trước.  Công việc phân tích thiết kế không phải bao giờ cũng bao quát hết các tình huống, các yêu cầu chưa được hiểu hết, hiểu đúng.  Thường thì khách hàng không hiểu được việc phát triển phần mềm là một công việc có tính công nghệ cao với giá thành cao (và tiềm ẩn rủi ro). Quy trình ước lượng chi phí phần mềm dưới đây mô tả các bước cần thiết cho việc bắt đầu đánh giá một vòng đời phần mềm và sau đó là theo dõi, tinh chỉnh thường xuyên những đánh giá có được trong suốt thời gian thực hiện dự án. Thiết lập quy trình này càng sớm sẽ giúp cho việc đánh giá được chính xác hơn, tin cậy hơn, từ đó có thể xác định rõ ràng các nhân tố liên quan tới giá thành, thời gian hoàn thành của dự án để có một cách quản lý phù hợp, đảm bảo sự thành công cho dự án, đặc biệt các giải pháp cho việc quản lý các rủi ro liên quan tới chi phí và lịch trình dự án. Quy trình ước lượng là một quá trình liên tục gồm các hoạt động: 1. Ước lượng kích thước (quy mô phần mềm). 14 2. Ước lượng chi phí và các nỗ lực. 3. Ước lượng lịch trình. 4. Ước lượng các tài nguyên. 5. Đánh giá rủi ro. 6. Kiểm tra/ xác nhận. 7. Theo dõi và báo cáo tiến độ. 8. Đánh giá và cải tiến quy trình. Các hoạt động ước lượng kích thước, nỗ lực và chi phí cần được thực hiện trước khi xây dựng các kế hoạch. Tuy nhiên, việc xây dựng lịch trình thường được bắt đầu thực hiện trước khi hoàn thành tất cả các công việc xác định các nỗ lực. Ngoài ra, việc sớm thiết lập bảng phân rã công việc WBS (Work Breakdown Structure) giúp việc phân chia các các công việc thành các phần việc độc lập để có thể lập lịch và sắp thứ tự ưu tiên thực hiện từng phần việc trong điều kiện cụ thể với sự hạn chế về các tài nguyên. Sơ đồ tổng quát quy trình ước lượng dự án phần mềm cho ở hình 1.1. 15 Hình 1.1 Quy trình ước lượng dự án phần mềm 1.2 Ƣớc lƣợng kích thƣớc Kích cỡ của phần mềm thường được đánh giá bằng số dòng mã lệnh SLOC (Source Lines of Code) hoặc số nghìn dòng mã KSLOC (Thousands of Source Lines of Code). Phần mềm có thể được phát triển bằng cách viết mới hoàn toàn hoặc dùng một hay nhiều môđun có sẵn. Do vậy, việc ước lượng bao gồm việc ước lượng các đoạn mã mới cần viết và cả phần sử dụng lại. Việc ước lượng kích cỡ có thể được đánh giá qua đơn vị điểm chức năng FP (Function Points) dựa trên các chức năng của phần mềm thường nhận được ngay trong pha tìm hiểu yêu cầu. Dòng mã LOC và điểm chức năng FP là những dữ liệu cơ bản để tính ra độ đo hiệu năng phát triển phần mềm. 16 Ước lượng LOC và FP là các kỹ thuật ước lượng tách biệt, nhưng cả hai đều có một số đặc trưng chung. Từ một tuyên bố về phạm vi phần mềm, người lập dự án bắt đầu phân rã phần mềm thành các chức năng nhỏ hơn để có thể được áp dụng riêng biệt. LOC và FP sẽ được ước lượng cho từng chức năng con. Các ước lượng này được tổ hợp lại để tạo ra một ước lượng tổng thể cho toàn bộ dự án. Các ước lượng LOC và FP phụ thuộc vào mức độ chi tiết của bảng phân rã công việc WBS. LOC được ước lượng trực tiếp từ WBS, còn FP được xác định gián tiếp qua số đầu vào, đầu ra, tệp dữ liệu, câu hỏi và giao diện ngoài và sử dụng 14 giá trị điều chỉnh độ phức tạp Fi bằng việc trả lời những câu hỏi sau: 1. Hệ thống có đòi hỏi sao lưu và phục hồi không? 2. Có đòi hỏi trao đổi dữ liệu không? 3. Có chức năng xử lý phân tán không? 4. Có đòi hỏi cao về làm việc tốt không? 5. Hệ thống có chạy trong môi trường mà nặng về vận hành tiện ích không? 6. Hệ thống có đòi hỏi việc vào dữ liệu trực tuyến không? 7. Việc vào dữ liệu trực tuyến có đòi hỏi phải xây dựng thao tác đưa vào và thông qua nhiều màn hình thao tác không? 8. Tệp chính có phải cập nhật trực tuyến không? 9. Đầu vào, đầu ra, tệp, truy vấn có phức tạp không? 10. Xử lý bên trong có phức tạp không? 11. Mã chương trình có được thiết kế để dùng lại không? 12. Việc chuyển đổi và cài đặt có được đưa vào trong thiết kế không? 13. Hệ thống có được thiết kế cho nhiều cài đặt trong các tổ chức khác nhau hay không? 14. Liệu ứng dụng có được thiết kế để làm thuận tiện cho việc thay đổi và dễ dàng cho người dùng không? Bất kể là tham số ước lượng nào được dùng, người lập kế hoạch dự án về cơ bản phải đưa ra một phạm vi các giá trị cho từng chức năng được phân rã. Bằng cách dùng dữ liệu lịch sử hay trực giác, người lập kế hoạch thường dùng 17 ba ước lượng cho LOC hay FP là các giá trị lạc quan (a), có thể nhất (m) và bi quan (b). Ví dụ: E= a  4m  b 6 Số này cho một sự tin cậy nhất định đối với ước lượng và có thể tính đến phân bố xác suất của nó. Tại giai đoạn này, người lập kế hoạch áp dụng một trong hai cách tiếp cận sau: 1. Tất cả giá trị tham số ước lượng của các chức năng con có thể được nhân lên với hiệu năng trung bình lấy từ dữ liệu lịch sử tương ứng với tham số ước lượng đó. Chẳng hạn, giả sử ta đã ước lượng được tổng điểm chức năng là 310 FP và hiệu năng trung bình của FP từ các dự án quá khứ là 5.5 FP/người-tháng thì tổng công sức ước lượng cho dự án sẽ là: Công sức = 310  56 người-tháng 5.5 2. Giá trị ước lượng cho từng chức năng con có thể được nhân với hiệu năng được điều chỉnh dựa vào mức độ phức tạp nhận biết được của các chức năng con: nếu nó có độ phức tạp trung bình, thì dùng độ đo hiệu năng trung bình. Tuy nhiên, độ đo được điều chỉnh lên hay xuống đối với chức năng con cụ thể tùy thuộc vào độ phức của nó cao hơn hay thấp hơn độ phức tạp trung bình. Các ước lượng này có đúng hay không là điều chưa chắc chắn. Vì thế, mọi kỹ thuật ước lượng, cần phải được kiểm tra bằng các cách tiếp cận khác nhau [20]. 1.3 Ƣớc lƣợng công sức Ước lượng công sức là số người-tháng hay người-năm được dùng cho giải pháp của từng nhiệm vụ dự án. Giống như kỹ thuật LOC và FP, ước lượng công sức bắt đầu bằng việc phác họa các chức năng phần mềm thu được từ phạm vi dự án. Các nhiệm vụ của kỹ nghệ phần mềm như phân tích yêu cầu, thiết kế, mã hóa và kiểm thử – phải được thực hiện cho từng chức năng. 18 Hình 1.2 Phát triển ma trận công sức – chức năng Những dữ liệu này chứa trong ma trận trung tâm của bảng. Tỷ lệ lao động (chi phí/ đơn vị công sức) được áp dụng cho từng nhiệm vụ kỹ nghệ phần mềm. Rất có thể là tỷ lệ này sẽ thay đổi theo mỗi loại nhiệm vụ. Như thường thấy: nhân viên cấp cao tham gia nhiều vào việc phân tích yêu cầu và thiết kế, còn các nhân viên tập sự (lương thấp) tham gia vào các nhiệm vụ thiết kế chi tiết, mã hóa và kiểm thử. Chi phí và công sức cho từng chức năng và nhiệm vụ kỹ nghệ phần mềm thường được được tính vào lúc cuối. Nếu chúng thực hiện độc lập với ước lượng LOC và FP thì ta có hai ước lượng cho chi phí và công sức để so sánh. Nếu cả hai tập các ước lượng này có sự phù hợp hợp lý thì ta có lý do để tin rằng, các ước lượng là tin cậy. Trong trường hợp ngược lại cần tiến hành thêm các nghiên cứu và phân tích. Những khác biệt lớn của các ước lượng thường do hai nguyên nhân: 1. Phạm vi của dự án chưa thích đáng hoặc bị hiểu sai. 2. Dữ liệu về hiệu năng lập mã được dùng là không thích hợp đối với ứng dụng hiện tại, do đã lạc hậu hoặc đã bị hiểu sai. Người lập kế hoạch phải xác định được nguyên nhân của sự khác biệt để củng cố lại ước lượng. 19 1.4 Ƣớc lƣợng tài nguyên Hình 1.3 mô tả các tài nguyên cần có cho phát triển phần mềm. Các công cụ – phần cứng và phần mềm – cần phải có để hỗ trợ cho sự phát triển. Ở mức cao hơn, tài nguyên chính là con người. Mỗi tài nguyên đều được xác định với bốn thuộc tính: mô tả tài nguyên, tính có sẵn, thời gian cần có, thời hạn tài nguyên được sử dụng. Hai đặc trưng cuối có thể xem như cửa sổ thời gian. Hình 1.3 Tài nguyên Tính sẵn có của tài nguyên đối với một cửa sổ phải được thiết lập ở giai đoạn thực hành sớm nhất. 1.4.1 Tài nguyên con người Người lập kế hoạch bắt đầu bằng việc ước lượng phạm vi và lựa chọn kỹ năng cần để hoàn thành việc phát triển. Các vị trí trong tổ chức (như người quản lý, kỹ sư phần mềm cấp cao,…), tính chuyên môn (về viễn thông, cơ sở dữ liệu, bộ vi xử lý) và số lượng đều phải xác định rõ. Với những dự án tương đối nhỏ (1 người-năm hay ít hơn), một người có thể thực hiện tất cả các bước kỹ nghệ phần mềm khi có tư vấn của các chuyên gia. Số người cần cho dự án phầm mềm có thể được xác định chỉ khi đã xây dựng được ước lượng nỗ lực phát triển (ngườitháng hay người-năm). 1.4.2 Tài nguyên phần cứng Chúng ta thuờng xem phần cứng như là tiềm năng tính toán. Nhưng nó cũng là một phương tiện cho việc phát triển và vận hành phần mềm. Có ba loại 20 phần cứng cần phải được xem xét tới khi lập kế hoạch dự án phần mềm: hệ thống phát triển, máy đích và các phần tử khác của hệ thống mới. Hệ thống phát triển là một máy tính và các thiết bị ngoại vi có liên quan sẽ được dùng cho phát triển phần mềm. Nó có thể hỗ trợ cho nhiều người dùng, duy trì khối lượng thông tin lớn để dùng chung và hỗ trợ phong phú về công cụ phần mềm. Vì phần lớn các tổ chức phát triển đều có nhiều vị trí cần truy nhập vào hệ thống này nên người lập kế hoạch phải mô tả cẩn thận cửa sổ thời gian cần thiết và kiểm chứng rằng tài nguyên đã sẵn sàng. 1.4.3 Tài nguyên phần mềm Chúng ta dùng phần mềm để hỗ trợ cho việc phát triển phần mềm mới. Ngoài các công cụ để trợ giúp phát triển phần mềm, nói về tài nguyên phần mềm sẽ không đầy đủ nếu không tính đến các phần mềm được sử dụng lại. Các phần mềm này cần được lên danh mục, được chuẩn hóa để dễ tìm kiếm và ứng dụng, và phải được làm hợp lệ cho việc tích hợp. Đã có các thư viện phần mềm được tái sử dụng cho các ứng dụng thương mại, các hệ thống thời gian thực, các vấn đề khoa học và công việc. Tuy nhiên, còn ít các kỹ thuật hệ thống, các giao diện chuẩn để bổ sung cho một thư viện phần mềm dùng lại, vấn đề chất lượng và bảo trì vẫn chưa được giải quyết, và cuối cùng, người phát triển thường không biết về các phần mềm đã có sẵn này. Có hai quy tắc khi xem xét phầm mềm dùng lại như một tài nguyên: 1. Nếu phần mềm hiện có đáp ứng được yêu cầu thì hãy dùng nó, và chi phí để có được chúng bao giờ cũng phải ít hơn chi phí để phát triển một phần mềm tương tự. 2. Nếu phần mềm hiện có đòi hỏi phải sửa đổi trước khi được tích hợp với hệ thống thì chi phí để sửa đổi nó phải nhỏ hơn chi phí phát triển phần mềm tương đương. Trong thực tế, các tài nguyên phần mềm lại hay bị bỏ qua trong khi lập kế hoạch. Cần xác định sớm yêu cầu tài nguyên phần mềm, nhờ đó, việc đánh giá kỹ thuật cho các phương án có thể được tiến hành và thu được kết quả đúng hạn. 21 1.5 Các tiếp cận ƣớc lƣợng dự án phần mềm Việc ước lượng các dự án phần mềm có một số cách tiếp cận khác nhau, và tương ứng với mỗi cách tiếp cận đó là những phương pháp ước lượng tương ứng. Tiếp cận theo định hướng phát triển phần mềm có:  Phát triển phần mềm định hướng cấu trúc. Theo định hướng này, ta có mô hình COCOMO, mà cơ sở của nó là tính điểm chức năng của các chức năng phần mềm [13].  Phát triển phần mềm định hướng đối tượng, ta có phương pháp điểm ca sử dụng, mà cơ sở của nó là tính điểm ca sử dụng dựa trên đặc tả yêu cầu bằng các ca sử dụng [1].  Phát triển phần mềm theo hướng hình thức hóa. Hiện chưa có nhiều dự án được phát triển theo hướng này, nên phương pháp ước lượng dự án phần mềm chủ yếu dựa trên kinh nghiệm dữ liệu các dự án đã có, nên chưa có phương pháp ước lượng được thừa nhận.  Một số phương pháp đưa ra có tính chất nghiên cứu nhiều hạng mục áp dụng rất hạn chế. 22
- Xem thêm -