Nhập môn Công nghệ phần mềm - Chương 10: Một số chủ đề nâng cao
Bạn đang xem tài liệu "Nhập môn Công nghệ phần mềm - Chương 10: Một số chủ đề nâng cao", để 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:
- nhap_mon_cong_nghe_phan_mem_chuong_10_mot_so_chu_de_nang_cao.pdf
Nội dung text: Nhập môn Công nghệ phần mềm - Chương 10: Một số chủ đề nâng cao
- MỘT SỐ CHỦ ĐỀ KHÁC NHẬP MÔN • Ước lượng chi phí phần mềm (SE Cost Estimation) CÔNG NGHỆ PHẦN MỀM 1. Năng suất (Productivity) 2. Các kỹ thuật ước lượng (Estimation Techniques) (INTRODUCTION TO SOFTWARE 3. Mô hình chi phí thuật toán (Algorithmic Cost Model) ENGINEERING) 4. Nhân lực và thời gian dự án (Project duration and staffing) • Quản lý chất lượng (Quality Management) • Cải tiến quy trình (Process Improvement) • Khác 1 2 1 2 2. Các kỹ thuật ước lượng 1. Năng suất (Productivity) (Estimation Techniques) • Năng suất là số đơn vị đầu ra trên số giờ làm • Mô hình chi phí thuật toán: sử dụng các thông việc tin có tính lịch sử (thường là kích thước) • Trong SE, năng suất có thể ước lượng bởi một – Ý kiến chuyên gia số thuộc tính chia cho tổng số nỗ lực để phát – Đánh giá tương tự: chỉ áp dụng khi có nhiều dự án triển: trong cùng một lĩnh vực – Số đo kích thước (thí dụ số dòng lệnh) – Luật Parkinson: chi phí phụ thuộc thời gian và số nhân công – Số đo chức năng (số chức năng tạo ra trên 1 khoảng thời gian ) – Giá để thắng thầu: phụ thuộc khả năng KH SE-VI.3 SE-VI.4 3 4
- 3. Mô hình chi phí thuật toán a. Mô hình COCOMO (Boehm 1981) (Algorithmic Cost Model) • Nguyên tắc: Dùng một phương trình toán học để dự • Mô hình COCOMO tuân theo PT trên, với các đoán (Kitchenham 1990a) dạng: Cố gắng = C x PMs x M với: lựa chọn sau: – C là độ phức tạp – Đơn giản: PM = 2,4 (KDSI)1,05 x M – PM là số đo năng suất – Khiêm tốn: PM = 3,0 (KDSI)1,12 x M – M là hệ số phụ thuộc và quá trình, năng suất – s được chọn gần với 1, phản ánh độ gia tăng của yêu cầu – Lồng nhau: PM = 3,6 (KDSI)1,20 x M với các dự án lớn • với KDSI (kilo delivered source instructions) là số • Chú ý: lệnh nguồn theo đơn vị nghìn – Rất khó dự đoán PM vào giai đoạn đầu – Việc dự đoán C và M là khách quan và có thể thay đổi từ người này sang người khác. SE-VI.5 SE-VI.6 5 6 c. Mô hình chi phí thuật toán trong b. Mô hình định cỡ (calibrate model) lập kế hoạch dự án • Sử dụng một mô hình ước đoán có hiệu quả, • Dùng để đánh giá chi phí đầu tư nhằm giảm chi phí • Có 3 thành phần phải xem xét trong khi tính chi phí DA. do vậy cần có 1 CSDL về phân lịch và các cố – Chi phí phần cứng của HT gắng của một dự án trọn vẹn. – Chi phí phương tiện, thiết bị (máy tính, phần mềm) trong phát triển HT • Có thể dùng kết hợp với mô hình COCOMO – Chi phí của các nỗ lực yêu cầu • Chi phí phần mềm (Software Cost) được tính: – SC = Basic Cost x RELY x TIME x STOR x TOOL x EXP x lương TB 1 người/tháng với: STOR là không gian lưu trữ, TIME là thời gian cần thiết, TOOL là công cụ, EXP là kinh nghiệm, RELY là độ tin cậy (có thể chọn là 1,2) 7 SE-VI.8 7 8
- 4. Nhân lực và thời gian dự án MỘT SỐ CHỦ ĐỀ KHÁC (Project duration and staffing) • Mô hình COCOMO cũng dự đoán lịch cho một • Ước lượng chi phí phần mềm (SE Cost Estimation) DA trọn vẹn: • Quản lý chất lượng (Quality Management) 1. Đảm bảo chất lượng quá trình – Dự án đơn giản: TDEV = 2.5 (PM)0.38 2. Xem xét lại chất lượng – Dự án trung bình: TDEV = 2.5 (PM)0.35 3. Các chuẩn phần mềm – Dự án lồng: TDEV = 2.5 (PM)0.32 4. Các chuẩn tài liệu 5. Độ đo phần mềm với TDEV là tổng thời gian cần thiết cho một DA 6. Độ đo chất lượng sản phẩm • Cải tiến quy trình (Process Improvement) • Khác SE-VI.9 10 9 10 1. Đảm bảo chất lượng quy trình Đảm bảo chất lượng quy trình(tiếp) • Đảm bảo chất lượng quy trình là một khái niệm đa chiều. chưa có định nghĩa rõ ràng. Nhìn chung khái niệm này có thể xem như là phát triển SP phải đáp ứng Định nghĩa Phát triển KĐ chất lượng được đặc tả của nó (Crossby, 1979) Quá trình sản phẩm sản phẩm • Đặc tả phải hướng về đặc trưng SP mà KH muốn • Chúng ta không biết đặc tả thế nào về chất lượng • Đặc tả phần mềm luôn luôn không đầy đủ K • Quản lý chất lượng là đáp ứng 3 loại hoạt động sau: Quá trình Chất lượng Quá trình • Đảm bảo chất lượng cải tiến chuẩn hoá • Kế hoạch chất lượng: chọn thủ tục tương ứng, chuẩn và kích thước C • Điều khiển chất lượng: các thủ tục và chuẩn phải được tôn trọng Chất lượng dựa vào quá trình SE-VI.11 SE-VI.12 11 12
- 2. Xem xét lại chất lượng 3. Các chuẩn phần mềm • Là phương pháp chính để khẳng định chất lượng của quá trình sản xuất • Vai trò quan trọng của ĐBCLPM là chuẩn hoá • 3 kiểu xem xét: các sản phẩm và quá trình – Thanh tra thiết kế hay chương trình – Xem xét tiến triển • Tầm quan trọng: – Xem xét chất lượng xem xét – Cung cấp SP tương ứng và thực tế đầy đủ Lựa chọn đội ngũ – Cung cấp các framework để cài đặt cá quá trình ĐBCL Xem xét Sắp xếp vị trí – Đảm bảo tính liên tục: công việc thực hiện bởi 1 và thời gian người có thể thực hiện tiếp bởi người khác Phân bố tài liệu SE-VI.13 SE-VI.14 13 14 4. Các chuẩn tài liệu 5. Độ đo phần mềm (Software Metric) • Tài liệu là 1 phần quan trọng trong SE để theo • Độ đo phần mềm là một kiểu độ đo liên quan dõi, để hiểu và để làm đến HT phần mềm, quá trình hay TL, Thí dụ • 3 kiểu chuẩn tài liệu: như số dòng lệnh, số thông báo lỗi khi cung – Các chuẩn của quá trình lập tài liệu: Qui định cấp SP chuẩn khi tạo tài liệu • Hai lớp độ đo: Độ đo ĐK và độ đo dự đoán – Chuẩn TL: Chuẩn để quản trị chính TL đó Quá trình PM Sản phẩm PM – Chuẩn trao đổi TL: Dùng trong trao đổi qua E-mail, Độ đo ĐK Độ đo Dự đoán copy hay lưu trữ trong CSDL Các quyết định QL SE-VI.15 SE-VI.16 15 16
- 6. Độ đo chất lượng SP MỘT SỐ CHỦ ĐỀ KHÁC • Việc biểu diễn, đánh giá độ đo bằng các số liệu • Ước lượng chi phí phần mềm (SE Cost Estimation) hơn là kinh nghiệm • Quản lý chất lượng (Quality Management) • Độ đo chất lượng thiết kế • – tính liên kết Cải tiến quy trình (Process Improvement) – độ liên kết 1. Chất lượng quy trình và sản phẩm – dễ hiểu 2. Mô hình hoá và phân tích quy trình – thích hợp 3. Độ đo • Độ đo chất lượng chương trình 4. Mô hình thuần thục khả năng SEI – chiều dài mã 5. Phân loại quy trình – Độ phức tạp • Khác – Mức lồng điều kiện SE-VI.17 18 17 18 Sơ đồ khái quát của Mở đầu Quá trình cải tiến quy trình Xác định • Cải tiến quy trình có nghĩa hiểu quy trình tồn tại các thay đổi và thay đổi quy trình này để nâng cao chất lượng Phân tích Xác định Hiệu chỉnh SP hay giảm chi phí & thời gian phát triển Quy trình Các cải tiến Đào tạo Các thay đổi đội ngũ • Không đơn giản là chấp nhận 1 phương pháp hay công cụ đặc biệt nào hay sử dụng 1 mô hình quy Mô hình Lập Kế hoạch Mô hình Phản hồi trình đã sử đâu đó Quy trình kế hoạch đào tạo xem xét lại • Cải tiến quy trình phải được xem xét như 1 hoạt Phân tích quy trình: xem xét quy trình đã tồn tại, tạo Xác định thay đổi: Thiết lập các thủ tục, phương ra mô hình quy trình để lập TL và hiểu quy trình đó pháp, công cụ mới và tích hợp với các cái đã tồn tại động đặc biệt trong 1 tổ chức hoặc 1 phần của tổ Xác định cải tiến: sử dụng kết quả phân tích để xác Đào tạo: không đào tạo quy trình sẽ thất bại định chất lượng, lập lịch hay chi phí những pha gay Hiệu chỉnh thay đổi: các thay đổi có tác dụng ngay chức lớn cấn với HT SE-VI.19 SE-VI.20 19 20
- 1. Chất lượng quy trình và sản phẩm 2. Mô hình hoá và phân tích quy trình • Xem chương trước • Vai trò: nghiên cứu các quy trình đang tồn tại và phát triển mô hình trừu tượng cho các quy trình này (thâu tóm các đặc trưng) • Phân tích là nghiên cứu để hiểu mối liên quan giữa các phần của quy trình. Điểm xuất phát là mô hình hình thức đã sử dụng • Kỹ thuật: – Hỏi và phỏng vấn – Kỹ thuật Ethnographic: dùng để hiểu bản chất của phát triển phần mềm như các hoạt động của con người 21 SE-VI.22 21 22 Mô hình hoá (tiếp) 3. Độ đo quy trình • Các ký pháp dùng trong mô hình: • Độ đo của 1 quy trình là các dữ liệu định lượng về – Activity (hoạt động): biểu diễn bởi hình chữ nhật tròn quy trình phần mềm (Tập các độ đo là chủ yếu – Process (quá trình): tập các hoạt động, biểu diễn bởi hình cho quá trình cải tiến quy trình –Humphey, chữ nhật tròn có bóng mờ 1989). – Deliverable (phân phối): biểu diễn bởi 1 hình chữ nhật có • bóng mờ. Nó là đầu ra của 1 hoạt động Phân loại: – Condition (điều kiện): biểu diễn bởi 1 hình chữ nhật. Nó là – Thời gian để thực hiện 1 quy trình đặc biệt tiền hay hậu điều kiện – Tài nguyên yêu cầu cho 1 quy trình đặc biệt – Role (vai trò): biểu diễn bởi hình tròn – Số các biến cố – Exception (Ngoại lệ): Hộp bao kép. Việc thay đổi do một • sự kiện nào đó Khó khăn: Cái nào là cần định lượng đo đếm. Tuy – Communication (Giao tiếp): Biểu diễn trao đổi thông tin nhiên có thể xem: mục đích (Goals, Câu hỏi, Độ giữa con người với nhau hay với HT đo) SE-VI.23 SE-VI.24 23 24
- 4. Mô hình thuần thục khả năng (của Mô hình thuần thục khả năng SEI SEI) (tiếp) • Viện CNPM (SEI) Carnegie-Melon-University đề xuất. – Mức được quản trị: 1 tổ chức đã định nghĩa các Mô hình SEI phân quá trình phần mềm thành 5 mức khác nhau: quá trình và 1 CT để thu thập dữ liệu về chất – Mức khởi đầu: 1 tổ chức không quản lý thực sự các thủ tục lượng. Số đo quá trình và thủ rục được sưu tập hay DA. Phần mềm có thể phát triển song không thể dự cho quá các hoạt động của quá trình cải tiến đoán trước (ngân sách, thời gian, . . .) – Mức lặp: 1 tổ chức có thể có quản lý hình thức về đảm – Mức tối ưu: Đã thoả thuận tiếp tục quá trình cải bảo chất lượng, các thủ tục điều khiển cấu hình. Tổ chức tiến. Quá trình này có ngân sách và kế hoạch để có thể lặp lại các DA cùng kiểu thực hiện và là phần tích hợp của quá trình tổ – Mức có định nghĩa: ở mức này, một tổ chức có định nghĩa các qua trình của mình mà như vậy có 1 cơ sở cho quá chức trình cải tiến chất lượng. Các thủ tục hình thức đảm bảo rằng các quá trình đã định là sẽ được tuân thủ SE-VI.25 SE-VI.26 25 26 5. Phân loại quy trình MỘT SỐ CHỦ ĐỀ KHÁC • Việc phân loại độ chín của các quy trình như trên • Ước lượng chi phí phần mềm (SE Cost Estimation) thường áp dụng cho các DA lớn • Quản lý chất lượng (Quality Management) • • Cải tiến quy trình (Process Improvement) Phân loại: • Khác – Quy trình không hình thức : các quá trình mà mô hình 1. Phương pháp hình thức (Formal methods) không định nghĩa 1 cách chặt chẽ 2. Công nghệ học phần mềm phòng sạch (Cleanroom SE) – Quy trình được quản lý: mô hình quá trình được định 3. CNHPM hướng thành phần (CBSE) nghĩa (định hướng) 4. CNHPM khách/chủ (Client/Server SE) 5. Kỹ nghệ Web (Web Engineering) – Quy trình có phương pháp: một số phương pháp phát 6. Tái kỹ nghệ (Re-engineering) triển đã được định nghĩa 7. CNHPM dựa trên máy tính (CASE) – Quy trình cải tiến: 8. (Chi tiết xem trong các tài liệu) SE-VI.27 28 27 28
- Tái kỹ nghệ phần mềm Phát triển và tái kỹ nghệ (Software Re-engineering) • Dịch chuyển mã nguồn Thiết kế và Đặc tả hệ thống Hệ thống mới • Cấu trúc lại CT Cài đặt • Tái lập DL Forward Engineering • Kỹ nghệ ngược Hiểu và dịch Hệ thống chuyển Hệ thống đang tồn tại Hệ thống được tái tạo Tái kỹ nghệ phần mềm 29 SE-VI.30 29 30 Một số chủ đề nâng cao • Tập đề thi tự luận • Ước lượng chi phí phần mềm (SE Cost • Tập hợp về bộ câu hỏi trắc nghiệm Estimation) • Tập hợp các projects. • Quản lý chất lượng (Quality Management) • Tìm hiểu, biên tập lại (thầy TrungTT). • Cải tiến quy trình (Process Improvement) • Khác 31 32 31 32
- Ước lượng chi phí phần mềm (SE Cost Quản lý chất lượng (Quality Estimation) Management) 1. Năng suất (Productivity) 1. Đảm bảo chất lượng quá trình 2. Các kỹ thuật ước lượng (Estimation Techniques) 2. Xem xét lại chất lượng 3. Mô hình chi phí thuật toán (Algorithmic Cost 3. Các chuẩn phần mềm Model) 4. Các chuẩn tài liệu 4. Nhân lực và thời gian dự án (Project duration and 5. Độ đo phần mềm staffing) 6. Độ đo chất lượng sản phẩm 33 34 33 34 Cải tiến quy trình (Process Các chủ đề khác Improvement) 1. Phương pháp hình thức (Formal methods) 1. Chất lượng quy trình và sản phẩm 2. Công nghệ học phần mềm phòng sạch (Cleanroom SE) 2. Mô hình hoá và phân tích quy trình 3. CNHPM hướng thành phần (CBSE) 3. Độ đo 4. CNHPM khách/chủ (Client/Server SE) 4. Mô hình thuần thục khả năng SEI 5. Kỹ nghệ Web (Web Engineering) 5. Phân loại quy trình 6. Tái kỹ nghệ (Re-engineering) 7. CNHPM dựa trên máy tính (CASE) 8. (Chi tiết xem trong các tài liệu) 35 36 35 36