Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 8: Hoạch định và ước lượng
Nội dung:
? Hoạch định và tiến trình phần mềm
? Ước l-ợng giá thành
? Ước l-ợng thời gian
? Đo kích th-ớc sản phẩm
? Các kỹ thuật -ớc l-ợng giá thành
? Mô hình COCOMO trung gian
? Mô hình COCOMO II
? Khung kế hoạch quản lý phần mềm
? Công cụ CASE cho hoạch định và -ớc l-ợng
litiy 1.42 1.17 1.00 0.86 0.70 Virtual machine experience* 1.21 1.10 1.00 0.90 Programming language experiences 1.14 1.07 1.00 0.95 Project Attributes Use of modern programming pratices 1.24 1.10 1.00 0.91 0.82 Use of software tools 1.24 1.10 1.00 0.91 0.83 Required development schedule 1.23 1.08 1.00 1.04 1.10 * The underlying virtual machine: độ phức tạp về phần cứng hoặc phần mềm để hoàn thành công việc Hình 8.6 Các hệ số nhân của mô hình COCOMO trung gian [Boehm, 1984b] (â1984 IEEE) Huỳnh Xuân Hiệp - CNPM 100 Ví dụ về phần mềm xử lý truyền thông trên microprocessor với: 10 KDSI và là dạng dự án lớn: NE = 2.8 ì (10)1.20 = 44 ng−ời-tháng với hệ số nhân kết quả có đ−ợc từ Hình 8.7 lμ 1.35 ta đ−ợc: NE = 1.35 ì 44 = 59 ng−ời-tháng Cost Drivers Situation Rating Effort Multiplier Required software reliability Serious financial consequences of software fault High 1.15 Database size 20,000 bytes Low 0.94 Product complexity Communications processing Very high 1.30 Execution time constraint Will use 70% of available time High 1.11 Main storage constraint 45K of 64K store (70%) High 1.06 Virtual machine volatility* Based on commercial microprocessor hardware Nominal 1.00 Computer turnaround time Two hour average turnaround time Nominal 1.00 Analyst capabilities Goo senior analyst High 0.86 Applications experiences Three years Nominal 1.00 Programmer capabilitiy Good senior programmers High 0.86 Virtual machine experience* Six months Low 1.10 Programming language experiences Twelve months Nominal 1.00 Use of modern programming pratices Most techniques in use over one year High 0.91 Use of software tools At basic minicomputer tool level Low 1.10 Required development schedule Nine months Nominal 1.00 Hình 8.7 Các hệ số nhân cho phần mềm truyền thông trên microprocessor [Boehm, 1984b] (â1984 IEEE) Huỳnh Xuân Hiệp - CNPM 101 8.8 Mô hình COCOMO II (COCOMO II) Bối cảnh lịch sử của COCOMO: ra đời năm 1981 chỉ có duy nhất mô hình thác n−ớc về chu trình sống của phần mềm thực thi trên các máy mainframes không nhận biết đ−ợc một số công nghệ mới nh−: h−ớng đối t−ợng, mô hình khách-chủ COCOMO II [Boehm et al., 1995] đ−ợc xây dựng trên cơ sở xem xét lại toàn bộ COCOMO và phức tạp hơn: nhận biết các công nghệ mới t−ơng thích với các dạng chu trình sống của phần mềm hiện đại nhận biết các ngôn ngữ lập trình thuộc thế hệ thứ 4 dựa trên 3 mô hình chính, thay đổi thông số liên quan đến Hình 8.5 17 hệ số nhân, trong đó có 7 hệ số nhân mới,… đ−ợc sử dụng trong 83 dự án trên nhiều lĩnh vực khác nhau Còn quá mới để đánh giá kết quả ứng dụng Huỳnh Xuân Hiệp - CNPM 102 8.9 Theo dõi các −ớc l−ợng về thời gian và giá thành (tracking duration and cost estimate) PhảI đối chiếu kết quả có đ−ợc sau khi hoàn thành với dự đoàn PhảI điều chỉnh ngay khi dự đoán sai ảnh h−ởng đến tiến trình dự án VD: dành cho giai đoạn đặc tả là 3 tháng và 7 ng−ời nh−ng đến 4 tháng với 10 ng−ời mà vẫn ch−a hoàn thành. Theo dõi sát sao mức độ ảnh h−ởng đến tiến trình chung trong toàn bộ quá trình sử dụng việc −ớc l−ợng Huỳnh Xuân Hiệp - CNPM 103 8.10 Các thành phần của kế hoạch quản lý dự án phần mềm (components of a software project management plan - SPMP) Một SPMP có 3 thành phần chính công việc sắp thực hiện các nguồn tài nguyên: con ng−ời (giữ vai trò quan trọng nhất), phần cứng và phần mềm tiền phải trả cho toàn bộ dự án Mức tiêu thụ tài nguyên theo thời gian [Norden, 1958] cho các dự án lớn với công thức tính xấp xỉ theo thời gian t (phân phối Rayleigh): T i ê u t h ụ t à i n g u y ê n 22 2/ 2 kt c ek tR −= với: (0 ≤ t ≤ ∞) k Thời gian Hình 8.8 Đ−ờng cong Rayleigh thể hiện sự tiêu hao tài nguyên theo thời gian Huỳnh Xuân Hiệp - CNPM 104 8.11 Khung kế hoạch quản lý dự án phần mềm (software project management plan framework) 1. Introduction 1.1 Project Overview 1.2 Project Deliverables 1.3 Evolution of the Software Project Management Plan 1.4 Reference Materials 1.5 Definitions and Acronyms 2. Project Organization 2.1 Process Model 2.2 Organizational Structure 2.3 Organizational Boudaries and Interfaces 2.4 Projects Responsibilities 3. Managerial Process 3.1 Management Objectives and Priorities 3.2 Assumptions, Depedencies, and Constraints 3.3 Risk Management 3.4 Monitoring and Controlling Mechanisms 3.5 Staffing Plan 4. Technical Process 4.1 Methods, Tools, and Techniques 4.2 Software Documentation 4.3 Project Support Function 5. Work Packages, Schedules, and Budget 5.1 Work Packages 5.2 Dependencies 5.3 Resources Requirements 5.4 Budget and Resource Allocation 5.5 Schedule Additional Components Hình 8.9 Các thành phần trong kế hoạch quản lý dự án phần mềm của IEEE [IEEE 1058.1, 1987] (â 1987 IEEE.) Huỳnh Xuân Hiệp - CNPM 105 8.12 Kế hoạch quản lý dự án phần mềm theo IEEE (IEEE software project management plan - SPMP) 1. Giới thiệu Cung cấp cái nhìn tổng quan về dự án và sản phầm sắp phát triển 1.1 Khái quát về dự án: Mô tả tóm tắt các mục tiêu của dự án, sản phẩm sẽ đ−ợc phân phối, các hoạt động, các sản phẩm kết quả trong từng công việc Liệt kê các giai đoạn quan trọng: các yêu cầu về tài nguyên, lịch làm việc chính và ngân sách chung 1.2 Phân phối sản phẩm: danh sách các mục sẽ đ−ợc phân phối đến khách hàng và các ngày phân phối t−ơng ứng 1.3 Phát triển của SPMP: các cập nhật th−ờng xuyên liên quan đến khách hàng và công ty phát triển phần mềm trên các vấn đề kinh nghiệm và các thay đổi. Mô tả các hình thức thủ tục và cách thức để thay đổi kế hoạch chung 1.4 Tμi liệu tham khảo: liệt kê các tàI liệu tham khảo sử dụng trong SPMP 1.5 Các định nghĩa vμ từ viết tắt: chứa đựng các thông tin nhằm làm cho mọi ng−ời hiểu rõ SPMP 2. Tổ chức dự án Chỉ rõ sản phẩm sẽ đ−ợc phát triển nh− thế nào theo quan điểm của tiến trình xử lý phần mềm và cấu trúc tổ chức của các nhà phát triển. 2.1 Mô hình xử lý: Các hoạt động: thiết kế của sản phẩm,kiểm thử trên sản phẩm. Các chức năng của sản phẩm: quản lý dự án hoặc quản lý cấu hình. Huỳnh Xuân Hiệp - CNPM 106 Đặc tả các khía cạnh mấu chốt nh− các giai đoạn quan trọng, các mốc ranh giới, các xem xét lại, các công việc của sản phẩm và các phân phối. 2.2 Cấu trúc tổ chức: mô tả cấu trúc quản lý để tổ chức phát triển sản phẩm, quan trọng là chỉ rõ quyền hạn và trách nhiệm của tổ chức bên trong 2.3 Tổ chức các ranh giới vμ giao diện: Các thành viên của dự án phải giao tiếp với khách hàng và các thành viên khác ở cơ quan của khách hàng Trong các dự án lớn nên có thêm một số hợp đồng con Ranh giới quản lý và quản trị giữa dự án và các thực thể khác phải đ−ợc dự kiến Trong các dự án có nhiều kiểu nhóm khác nhau thì ranh giới quản lý và quản trị cũng phải đ−ợc định nghĩa rõ ràng 2.4 Trách nhiệm trong dự án: mỗi chức năng hay hoạt động của dự án phải có xác định cá nhân chịu trách nhiệm cụ thể 3. Quy trình quản lý 3.1 Quản lý các mục đích vμ các quyền −u tiên: Mô tả mục đích và quyền −u tiên dành cho quản lý, cơ chế và tần xuất báo cáo, độ −u tiên t−ơng đối giữa các yêu cầu Kế hoạch làm việc và ngân sách cho dự án, các thủ tục quản lý rủi ro. 3.2 Sự đảm đ−ơng, phụ thuộc vμ rμng buộc: các đảm đ−ơng và ràng buộc trong tài liệu đặc tả 3.3 Quản lý rủi ro: liệt kê các nhân tố gắn liền với dự án và cơ chế lần vết các yếu tố rủi ro 3.4 Các cơ chế giám sát vμ điều khiển: mô tả chi tiết các cơ chế báo cáo, xem xét và sổ sách kế toán 3.5 Kế hoạch nhân sự: liệt kê số l−ợng và kiểu nhân lực và thời gian làm việc Huỳnh Xuân Hiệp - CNPM 107 4. Quy trình kỹ thuật 4.1 Các ph−ơng thức, công cụ vμ kỹ thuật: mô tả chi tiết các khía cạnh phần cứng, phần mềm, hệ điều hành dùng cho phát triển sản phẩm cũng nh− hệ thống đích mà sản phẩm sẽ thực thi trên đó. Một số khía cạnh khác nh− các kỹ thuật phát triển, các kỹ thuật kiểm thử, cấu trúc nhóm làm việc, các ngôn ngữ lập trình, các công cụ CASE. Các chuẩn kỹ thuật về tài liệu và mã lệnh, các tham khảo đến các tài liệu khác cũng nh− thủ tục để phát triển và sửa đổi các công việc sản phẩm. 4.2 Tμi liệu phần mềm: tài liệu phân tích yêu cầu, các mốc quan trọng, các vạch ranh giới và các xem xét 4.3 Các chức năng hỗ trợ dự án: kế hoạch chi tiết hỗ trợ các chức năng nh− quản lý cấu hình, đảm bảo chất l−ợng và kế hoạch kiểm thử 5. Các gói công việc, kế hoạch và ngân sách 5.1 Các gói công việc: đặc tả các gói công việc và các công việc t−ơng ứng đã đ−ợc chia thành các hoạt động và nhiệm vụ 5.2 Các phụ thuộc: phụ thuộc giữa các gói công việc và các sự kiện bên ngoài 5.3 Yêu cầu tμi nguyên: mô tả tất cả các yêu cầu về tài nguyên 5.4 Ngân sách vμ việc phân bổ tμi nguyên: trình bày ngân sách cho từng thành phần, tài nguyên, các chức năng, các hoạt động và các nhiệm vụ 5.5 Kế hoạch lμm việc: kế hoạch làm việc chi tiết cho mỗi thành phần, kế hoạch tổng thể để đảm bảo cho dự án đ−ợc thực hiện đúng thời gian Các thành phần bổ sung Cần thiết trong một số dự án Kế hoạch quản lý các thầu phụ, kế hoạch an ninh, kế hoạch đào tạo, kế hoạch mua phần cứng, kế hoạch cài đặt và kế hoạch bảo trì Huỳnh Xuân Hiệp - CNPM 108 8.13 Công cụ CASE cho hoạch định và −ớc l−ợng (CASE tools for planning and estimating) CPM (crotical path management) PERT (program evaluation review techniques) [Moder, Phillips và Davis, 1983] F A B E H J D G C 3 ngày 2 ngày 4 ngày 6 ngày 2 ngày 4 ngày 7 ngày 16 ngày 5 ngày 11 ngày 5 ngày 3 ngày Hoạt động tới hạn Hình 8.10 Mô hình PERT với các thời gian hoạt động và đ−ờng tới hạn Huỳnh Xuân Hiệp - CNPM 109 Hoạt động đầy đủ Hình 8.10 Mô hình PERT đ−ợc cập nhật với tại ngày thứ 17 Hoạt động tới hạn A B E H J D G C 3 ngày 17 ngày 4 ngày 6 ngày 3 ngày 6 ngày 7 ngày 16 ngày 5 ngày 11 ngày 4 ngày 3 ngày F
File đính kèm:
- Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 8 Hoạch định và ước lượng.pdf