1 / 49

Chương 26

Phần mềm dự toán chi phí. Nhóm 13: Huỳnh Ngọc Ân MSSV : 070003T Ngô Thị Mỹ Hạnh MSSV : 070096T Lê Thị Mỹ Hằng MSSV : 070078T. ( Software cost estimation ). Chương 26. Mục Tiêu (Objectives ).

juliet
Télécharger la présentation

Chương 26

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Phần mềm dự toán chi phí Nhóm 13:Huỳnh Ngọc Ân MSSV : 070003TNgô Thị Mỹ Hạnh MSSV : 070096TLê Thị Mỹ Hằng MSSV : 070078T ( Software cost estimation ) Chương 26

  2. Mục Tiêu (Objectives ) • Mục tiêu của chương này là để giới thiệu các kỹ thuật lập dự toán chi phí và nỗ lực cần thiết cho sản xuất phần mềm: • Hiểu được nguyên tắc cơ bản của phần mềm chi phí và lý dotại sao giá của phần mềm có thể không được trực tiếp liên quan đến chi phí phát triển của nó. • Mô tả các số liệu để đánh giá năng suất phần mềm • Giải thích tại sao các kỹ thuật khác nhau nên được sử dụng để ước lượng phần mềm • Hiểu các nguyên tắc của mô hình COCOMO II ,thuật toán dự toán chi phí.

  3. Nội Dung (Contents) • 26.1 Năng suất (Productivity) • 26.2 Các kỷ thuật ước lượng ( Estimation techniques) • 26.3 Mô hình chi phí thuật toán ( Algorithmic cost modelling ) • 26.4 Nhân lực và thời gian dự án (Project duration and staffing)

  4. Nội Dung (Contents) • Dự toán liên quan đến việc trả lời các câu hỏi sau đây: 1. Làm thế nào nhiều nỗ lực là cần thiết để hoàn thành từng hoạt động? 2. Thời gian là cần thiết để hoàn thành một hoạt động? 3. Tổng chi phí của từng hoạt động? • Dự án dự toán và lập kế hoạch dự án thường được tiến hành xen kẽ với nhau. • Tuy nhiên, bạn có thể phải làm một số dự toán chi phí trước khi kế hoạch chi tiết được vẽ lên. • Những ước tính ban đầu có thể được sử dụng để thiết lập một ngân sách cho dự án hoặc để thiết lập một mức giá của phần mềm cho khách hàng.

  5. Các Thành Phần Chi Phí Của Phần Mềm • Có ba thông số liên quan đến việc tính toán tổng chi phí của một dự án phát triển phần mềm:• Chi phí phần cứng và phần mềm • Du lịch và chi phí đào tạo • Chi phí nỗ lực (Mức lương của các kỹ sư tham gia dự án) • Chi phí chiếm ưu thế là chi phí công sức. • Chi phí du lịch phong phú, có thể cần thiết khi dự án được phát triển tại các địa điểm khác nhau, các chi phí đi lại thường là một phần nhỏ trong chi phí công sức. • Máy tính đủ mạnh để phát triển phần mềm là tương đối rẻ.

  6. Các Thành Phần Chi Phí Của Phần Mềm • Các chi phí sau đây là một phần của tổng chi phí nổ lực:1. Chi phí của việc cung cấp hệ thống sưởi ấm và chiếu sáng không gian văn phòng2. Chi phí của các nhân viên hỗ trợ như kế toán, quản trị, quản lý hệ thống và kỹ thuật3. Chi phí kết nối mạng và truyền thông 4. Chi phí của cơ sở trung ương như là một thư viện hoặc cơ sở giải trí5. Chi phí an sinh xã hội lợi ích như lương hưu, bảo hiểm y tế.

  7. Chi Phí Và Giá Cả • Một khi dự án được triển khai, quản lý dự án phải thường xuyên cập nhật chi phí và dự toán kế hoạch. Điều này giúp quá trình lập kế hoạch và sử dụng hiệu quả các nguồn lực. • Nếu chi phí thực tế lớn hơn nhiều so với dự toán, người quản lý dự án phải áp dụng các nguồn lực bổ sung cho dự án, sửa chữa các công việc phải làm. • Phần mềm định giá phải được tiến hành khách quan với mục đích dự đoán chính xác các chi phí phát triển phần mềm. Tuy nhiên, mối quan hệ giữa chi phí dự án và giá tính phí cho khách hàng thường không đơn giản. • Các tổ chức kinh tế, chính trị và kinh doanh được xem xét ảnh hưởng tới giá tính phí.

  8. 26.1 Năng suất (Productivity) • Năng suất là số đơn vị đầu ra trên số giờ làm việc • Hình 26.1 yếu tố ảnh hưởng phần mềm giá cả

  9. Năng suất ước tính thường được đo lường dựa trên các thuộc tính của phần mềm chia cho tổng số nỗ lực cần thiết để phát triển. Các loại số liệu đã được sử dụng: 1. Số đo kích thước ( ví dụ: số dòng lệnh) 2. Số đo chức năng ( ví dụ: số chức năng được tạo ra trên một khoảng thời gian)

  10. 26.1 Năng suất Phần mềm. • Tính tổng số điểm chức năng trong một chương trình bằng cách đo hay đánh giá các tính năng chương trình sau đây: • Hình 26.2 Thời gian phát triển hệ thống

  11. 26.1 Năng suất Phần mềm. • Bạn có thể tính toán số điêm chức năng (UFC) bằng cách nhân mỗi ước tính ban đầu của trọng lượng với tổng hợp tất cả các giá trị. • Số lượng điểm đối tượng trong một chương trình là một ước tính trọng lượng của:1. Số lượng màn hình riêng biệt đó là màn hình hiển thị đơn giản được tính là 1 đối tượng điểm, màn hình phức tạp vừa phải tính là 2, và màn hình rất phức tạp tính là 3 điểm đối tượng.

  12. 26.1 Năng suất Phần mềm. 2. Số lượng các báo cáo được sản xuất đối với báo cáo đơn giản là 2 điểm đối tượng, đối với báo cáo vừa phức tạp là 5, và cho các báo cáo rằng có thể sẽ là khó khăn để sản xuất là 8 điểm đối tượng. 3. Số lượng module bằng các ngôn ngữ lập trình bắt buộc như Java, C++ mà phải được phát triển để bổ sung mã lập trình cơ sở dữ liệu,mỗi một module được tính là 10 điểm đối tượng. • Ưu điểm của điểm đối tượng trên điểm chức năng là được dễ dàng hơn để ước tính từ một đặc điểm kỹ thuật phần mềm cấp cao, điểm đối tượng chỉ quan tâm đến màn hình, báo cáo và các module bằng các ngôn ngữ lập trình thông thường. Không quan tâm đến chi tiết thực hiện, và các yếu tố phức tạp tính toán đơn giản hơn nhiều.

  13. 26.1 Năng suất Phần mềm. • Ước tính kích thước mã cho một ứng dụng được tính nhưsau: • AVC: số dòng mã trung bình • Giá trị của AVC khác nhau 200-300 LOC / FP trong ngôn ngữ lắp ráp, 2-40 LOC / FP cho một ngôn ngữ lập trình cơ sở dữ liệu như SQL. • Năng suất lập trình của các cá nhân làm việc trong một tổ chức bị ảnh hưởng bởi một số yếu tố. Quan trọng nhất trong số này được tóm tắt trong hình 26.3. Code size = AVC x Number of function points (Mã kích thước = AVC x Số điểm chức năng)

  14. Hình 26.3 yếu tố ảnh hưởng đến năng suất công nghệ phần mềm

  15. 26.2 Các kỹ thuật ước lượng(Estimation techniques) • Không có cách nào đơn giản để thực hiện một ước tính chính xác các nỗ lực cần thiết để phát triển một hệ thống phần mềm • Ước tính ban đầu được dựa trên các thông tin không đầy đủ trong yêu cầu người sử dụng. • Các phần mềm có thể chạy trên các máy tính không quen thuộc hoặc sử dụng công nghệ mới. • Những người tham gia trong dự án này có thể chưa biết. • Tất cả những kỹ thuật dựa vào những đánh giá trên kinh nghiệm của người quản lý dự án, sử dụng kiến thức của họ về các dự án trước đây để đi đến ước tính của các nguồn lực cần thiết cho dự án.

  16. 26.2 Các kỹ thuật ước lượng(Estimation techniques) • Tuy nhiên, có thể có sự khác biệt quan trọng giữa các dự án trong quá khứ và tương lai. Nhiều phương pháp phát triển mới và kỹ thuật đã được giới thiệu trong 10 năm qua. Một số ví dụ về những thay đổi có thể ảnh hưởng ước tính dựa trên kinh nghiệm bao gồm: 1. Đối tượng được phân phối hệ thống hơn 2. Sử dụng dịch vụ web3. Sử dụng hệ thống ERP hay cơ sở dữ liệu trung tâm4. Sử dụng phần mềm off-the-shelf 5.Phát triển và tái sử dụng

  17. Hình 26,4 Dự toán chi phí kỹ thuật

  18. 26.2 Các kỹ thuật ước lượng(Estimation techniques) • Bạn có thể giải quyết các cách tiếp cận với ước tính chi phí thể hiện trong hình 26,4 bằng cách sử dụng một cách tiếp cận từ trên xuống hay từ dưới lên. • Top-down • Bắt đầu ở cấp độ hệ thống • Đánh giá tổng thể chức năng hệ thống và cách này được phân phối thông qua hệ thống phụ. • Có thể sử dụng mà không có kiến thức về kiến trúc hệ thống và các thành phần có thể là một phần của hệ thống. • Đưa vào chi phí tài khoản như quản lý cấu hình tích hợp và tài liệu. • Có thể đánh giá thấp chi phí giải quyết khó khăn vấn đề kỹ thuật ở mức độ thấp.

  19. 26.2 Các kỹ thuật ước lượng(Estimation techniques) • Bottom-up • Bắt đầu ở cấp thành phần và dự toán các nỗ lực cần thiết cho mỗi thành phần. • Thêm những nỗ lực để đạt được một ước tính cuối cùng. • Có thể sử dụng khi các kiến trúc của hệ thống được biết đến và các thành phần được xác định. • Có thể là một phương pháp chính xác, nếu hệ thống được thiết kế chi tiết. • Có thể đánh giá thấp các chi phí của hoạt động ở cấp hệ thống như tích hợp và tài liệu.

  20. 26.3 Mô hình chi phí thuật toán (Algorithmic cost modelling ) • Thuật toán xây dựng mô hình chi phí sử dụng một công thức toán học để dự đoán chi phí dự án dựa trên các ước tính của các môt dự án, số lượng kỹ sư phần mềm,.. • Một thuật toán dự toán chi phí cho phần mềm có thể được thể hiện như: Effort =A x SizeB x M (Nỗ lực) A:là một yếu tố hằng số phụ thuộc vào thực tiễn địa phương tổ chức và phần mềm được phát triển.(độ phức tạp) Size: Kích thướt mã phần mềm(số đo năng suất)

  21. 26.3 Mô hình chi phí thuật toán (Algorithmic cost modelling ) B: Giá trị B thường giữa từ 1 đến 1,5 phản ánh các nổ lực không cân xứng cho yêu cầu các dụ án lớn. M: phụ thuộc vào quá trình và năng suất • Hầu hết các mô hình đều tương tự nhưng sử dụng các giá trị A, B, M khác nhau • Chú ý: • Rất khó dự đoán Size trong giai đoạn đầu. • B và M là khách quan và có thể thay đổi từ người này sang người khác.

  22. 26.3.1 Mô hình COCOMO • Mô hình COCOMO là một mô hình thực nghiệm được thực hiện bằng cách thu thập dữ liệu từ một số lượng lớn các dự án phần mềm. • Những dữ liệu này được phân tích để tìm ra công thức phù hợp nhất. • Liên kết các công thức kích thước của hệ thống, sản phẩm dự án, và các yếu tố nỗ lực để phát triển hệ thống. • Phiên bản đầu tiên của mô hình COCOMO (COCOMO 81) là một mô hình ba cấp. Cấp độ đầu tiên (cơ bản) cung cấp một ước tính ban đầu khó khăn.Mức thứ hai sửa đổi lần này bằng cách sử dụng một số dự án và quá trình hệ số và mức độ chi tiết nhất được sản xuất ước tính cho giai đoạn khác nhau của dự án.

  23. Phần mềm hiện nay thường được phát triển bởi

  24. 26.3.1 Mô hình COCOMO • Các mô hình con là một phần của mô hình COCOMO II là: • Một ứng dụng mô hìnhthành phần : được tạo ra từ các thành phần tái sử dụng (hiện có). • Thiết kế mô hình lúc đầu: sử dụng khi yêu cầu được cung cấp nhưng chưa bắt đầu thiết kế. • Tái sử dụng mô hình : được sử dụng để tính toán nỗ lực cần thiết để tích hợp các thành phần tái sử dụng. • Một mô hình kiến trúc, một khi các kiến trúc hệ thống đã được thiết kế, dự toán chính xác hơn về kích thước phần mềm có thể được thực hiện • Hình 26,7 Các mô hình COCOMO II

  25. Dựa trên Số điểm ứng dụng Ứng dụng mô hình thành phần Thử nghiệm các hệ thống phát triển sử dụng kịch bản, DB lập trình, vv Được dùng Cho. Dựa trên Ước lượng nỗ lực ban đầu. dựa vào những yêu cầuhệ thống và những tùy chọn thiết kế. Được dùng Cho. Số điểm chức năng Thiết kế mô hìnhĐầu Dựa trên Số lượng các dòng Mã tái sử dụng hoặc tạo ra Tái sử dụng mô hình Được dùng Cho. Nỗ lực để sử dụng lại các thành phần hoặc tự động tạo ra mã Dựa trên Nỗ lực phát triển dựa trên thiết kế hệ thốngđặc điểm kỹ thuật Được dùng Cho. Số lượng các dòng mã nguồn Mô hình kiến trúc

  26. 26.3.1 Mô hình COCOMO • Ứng dụng mô hình thành phần • Ứng dụng mô hình thành phần được đưa vào COCOMO II hỗ trợ lập dự toán nỗ lực cần thiết để tạo mẫu dự án và cho các dự án phần mềm được phát triển bởi các thành phần tái sử dụng rông rãi. • Nó được dựa trên ước tính trọng điểm ứng dụng (điểm đối tượng) chia cho một ước tính tiêu chuẩn của ứng dụng năng suất điểm. • Dựa trên các ước tính tiêu chuẩn của các nhà phát triển năng suất trong các ứng dụng(đối tượng) điểm / tháng.Có sử dung cng cụ Case. • Hình 26,8 Cho thấy mức độ năng suất của đối tượng điểm được đề xuất bởi các nhà phát triển mô hình (Boehm, et al, 1995.).

  27. 26.3.1 Mô hình COCOMO • Công thức tính nổ lực: PM= (NAP x (1- % reuse/100))/PROD PM: nổ lực người/tháng NAP: số điểm ứng dụng. PROD: năng suất % ước tính số lượng mã được tái sử dụng • Hình 26,8 Đối tượng điểm năng suất

  28. 26.3.1 Mô hình COCOMO • Thiết kế mô hìnhĐầu • Ước tính có thể thực hiện khi các yêu cầu được đồng ý. • Ước tính sản xuất trong giai đoạn này được dựa trên công thức tiêu chuẩn cho các mô hình thuật toán, cụ thể là: B= A x SizeB x M A=2,14 trong hiệu chỉnh ban đầu trong KSLOG M = PERS x RCPX x RUSE x PDIF x PREX x FCIL x SCED B: dao động từ 1,1 đến 1,24 phụ thuộc vào tinh hình dự án, tính linh hoạt trong phát triển và phương pháp tính rủi ro.

  29. 26.3.1 Mô hình COCOMO • Kích thước của hệ thống được thể hiện trong KSLOC, đó là hàng ngàn số dòng mã nguồn. Tính KSLOC bằng cách ước tính số lượng các điểm chức năng trong phần mềm. • Hệ số phản ánh năng lực của nhà phát triển, các chức năng yêu cầu.. • Có thể tăng hoặc giảm các nỗ lực cần thiết. Những đặc điểm này được sử dụng trong thiết kế mô hình ban đầu. • RCPX là sản phẩm đáng tin cậy và phức tạp. • RUSE Tái sử dụng yêu cầu. • PDIF: nền tảng khó khăn. • PERS: năng lực nhân viên. • PREX kinh nghiệm nhân viên. • SCED yêu cầu tiến độ • FCIL: phương tiện hỗ trợ.

  30. 26.3.1 Mô hình COCOMO • Tái sử dụng mô hình • COCOMO II xem xét sử dụng lại mã có hai loại: • Black-box: đưa mã vào hộp đen để tái sử dụng mà không thay đổi, mã được điều chỉnh để tích hợp với mã mới. • White-box: sử dụng lại mã được sửa đổi, một ước tính kích thước tương đương với số dòng mã nguồn mới được tính. • Một số nỗ lực phát triển là cần thiết để tái sử dụng này bởi vì nó phải được hiểu và sửa đổi trước khi nó có thể hoạt động được trong hệ thống. • Đối với các mã được tự động tạo ra, công thức tính toán nỗ lực là: PMAuto = (ASLOC x AT/100) / ATPROD • ASLOC: số lượng các dòng mã được tạo ra. • AT: tỉ lệ % của mã tự động tạo ra. • ATPROD: năng suất các kỹ sư tích hợp các mã này.

  31. 26.3.1 Mô hình COCOMO • Ví dụ :ATPROD được khoảng 2.400 báo cáo source / tháng. Do đó, nếu có một tổng số là 20.000 dòng của hộp màu trắng sử dụng lại mã số trong một hệ thốngvà 30% số này được tự động tạo ra, sau đó các nỗ lực cần thiết để tích hợp mã này được tạo ra là:(20.000 x 30 / 100) / 2400 = 2,5 tháng / người • Các công thức sau đây được sử dụng để tính toán số lượng tương đương các dòng của mã nguồn: ESLOC = ASLOC x (1 - AT/100) x AAM • ESLOC: số lượng tương đương các dòng mã nguồn mới. • ASLOC và AT: như trên • AAM: là sự điều chỉnh phù hợp với hệ số tính toán từ các chi phí của việc thay đổi mã để sử dụng lại, chi phí của việc tích hợp các mã và chi phí của quyết định tái sử dụng.

  32. 26.3.2 Mức độ kiến trúc sau cùng • Sử dụng cùng một công thức như thiết kế mô hình ban đầu. • Ước tính sản xuất ở cấp độ kiến trúc này dựa trên cùng một công thức cơ bản: PM=A x SIZEB x M. • Kích thước mã được ước tính là: • Số lượng các dòng mã mới sẽ được phát triển. • Ước tính số lượng tương đương các dòng mã mới tính toán bằng cách sử dụng các mô hình tái sử dụng. • Ước tính về số lượng các dòng mã phải được sữa đổi theo yêu cầu thay đổi.

  33. Hình 26.9 Miêu tả các yếu tố được sử dụng trong việc tính toán số mũ COCOMO II • Đánh giá các giá trị được sử dụng trong tính toán số mũ là: • Tiền tệ là một dự án mới cho các tổ chức xếp hạng thấp(4). • Phát triển tính linh hoạt không có sự tham gia của khách hàng được đánh giá rất cao (1). • Kiến trúc / nguy cơ giải quyết - Không có phân tích rủi ro -. V. thấp (5). • Nhóm nghiên cứu gắn kết - đội mới - danh nghĩa (3) • Quá trình trưởng thành - một số kiểm soát - danh nghĩa (3)

  34. Hình 26.9 Miêu tả các yếu tố được sử dụng trong việc tính toán số mũ COCOMO II

  35. Hình 26.9 Miêu tả các yếu tố được sử dụng trong việc tính toán số mũ COCOMO II

  36. Hình26.10 Chi phí dự án điều khiển • Các thuộc tính (hình 26.10) được sử dụng để điều chỉnh dự toán ban đầu. Mô hình kiến trúc sau thành bốn nhóm: • 1.Sản phẩm phần mềm được phát triển có thuộc tính liên quan đến các thuộc tính cần thiết. • 2.Các phần mềm bị hạn chế bởi các phần cứng của máy tính. • 3.Các thuộc tính là kinh nghiệm, khả năng của những người làm việc dựa trên các dự án. • 4. Thuộc tính dự án có liên quan với các đặc điểm cụ thể của dự án phát triển phần mềm.

  37. Hình26.10 Chi phí dự án điều khiển

  38. Hình26.10 chi phí dự án điều khiển

  39. Hình26.10 Chi phí dự án điều khiển

  40. Hình 26.11 Ảnh hưởng của điều khiển chi phí dự toán

  41. Hình 26.11 Ảnh hưởng của điều khiển chi phí dự toán • Các mô hình thuật toán chi phí cung cấp một cơ sở chodự án quy hoạch vì chúng cho phép thay thếchiến lược được so sánh. • Hệ thống nhúng tàu vũ trụ : • Phải là đáng tin cậy. • Phải giảm thiểu trọng lượng (số lượng chip). • Hệ số về chế độ tin cậy và máy tính>1. • Chi phí các thành phần: • Mục tiêu phần cứng. • Phát triển nền tảng. • Nỗ lực phát triển.

  42. 26.3.2 Thuật toán chi phí trong dự án quy hoạch • Các chi phí phần mềm (SC) được tính như sau: Sc=Effort estimate x RELY x TIME x STOR x TOOL x EXP x $15000. • Chú thích: • Rely: độ tin cậy. • Stor: không gian lưu trữ. • Time:thời gian cần thiết. • Tool:công cụ. • Exp:kinh nghiệm.

  43. Hình 26.12 Quản lý các tùy chọn

  44. Hình 26.12 Quản lý các tùy chọn A. Sử dụng các phần cứng,phát triển hệ thống vàphát triển đội ngũ B.Xử lý vànâng cấp bộ nhớ Chi phí phần cứng tăngKinh nghiệm giảm C Chỉ nâng cấp bộ nhớ Chi phí phần cứngtăng D.Các nhân viên có kinh Nghiệm. E.Hệ thống mới phát triển Chi phí phần cứng tăngKinh nghiệm giảm F.Nhân viên có kinh nghiệm Phần cứng

  45. Hình 26.13 Quản lý chi phí tùy chọn • Lựa chọn D xuất hiện để cung cấp chi phí thấp nhất cho tất cả các ước tính cơ bản. • Lựa chọn C (nâng cấp bộ nhớ) có tiết kiệm chi phí thấp hơn, nhưng nguy cơ rất thấp. • Nhìn chung, mô hình này cho thấy tầm quan trọng của đội ngũ nhân viên kinh nghiệm phát triển phần mềm.

  46. 26.4 Nhân lực và thời gian dự án • Cũng như nỗ lực lập dự toán, quản lý phải ước tính thời gian lịch yêu cầu để hoàn thành một dự án. • Lịch thời gian có thể được ước tính bằng cách công thứcCOCOMO 2 : TDEV = 3 x (PM)(0.33+0.2*(B-1.01)) • Trong đó: PM là tính toán nỗ lực. B là số mũ. • Tính toán này dự báo lịch trình danh nghĩa của dự án. • Nhân viên không cần thiết có thể được tính bằng cách lặn thời gian phát triển bởi các yêu cầu tiến độ. • Số lượng người làm việc trong một dự án thay đổi tùy theo giai đoạn của dự án. • Thời gian cần thiết là độc lập với số lượng người làm việc trên dự án.

  47. Điểm chính • Hiện không phải là một mối quan hệ đơn giản giữa giá tính phí cho một hệ thống và chi phí của nó phát triển. • Các yếu tố ảnh hưởng đến năng suất bao gồm năng khiếu cá nhân, kinh nghiệm miền, các dự án phát triển, quy mô dự án, hỗ trợ công cụ và môi trường làm việc. • Phần mềm có thể có giá để đạt được một hợp đồng và các chức năng điều chỉnh giá. • Các kỹ thuật khác nhau của dự toán chi phí nên được sử dụng khi lập dự toán chi phí. • Mô hình COCOMO có dự án, sản phẩm, nhân viên và các thuộc tính phần cứng vào tài khoản khi dự đoán nỗ lực cần thiết. • Các mô hình thuật toán chi phí hỗ trợ phân tích định lượng tùy chọn vì chúng cho phép các chi phí của các tùy chọn khác nhau để so sánh. • Thời gian để hoàn thành một dự án không tỷ lệ thuận với số người làm việc trên dự án.

More Related