ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM

202 583 1
ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM P T IT Bài giảng cho sinh viên ngành Công nghệ thông tin Phan Thị Hoài Phương Hà Nội - 2010 Giới thiệu Trước thách thức trình phát triển phần mềm, việc đảm bảo chất lượng phần mềm (Software Quality Assurance-SQA) quan trọng, đòi hỏi phải nghiên cứu cách nghiêm túc để thực thi hiệu Tài liệu cung cấp kiến thức chất lượng phần mềm, đảm bảo chất lượng dự án phát triển phần mềm Qui trình xây dựng hệ thống đảm bảo chất lượng phần mềm trình bày nội dung giảng Qua đó, sinh viên hiểu cách thức xây dựng hệ thống đảm bảo chất lượng phần mềm vai trò thành viên hệ thống Một số chuẩn đảm bảo chất lượng giới thiệu chương cuối Thông qua nội dung giảng sinh viên nắm kỹ rà soát kiểm thử phần mềm Tài liệu soạn phần lớn dựa sách Software Quality Assurance From Theory to Implementation Daniel Galin số tài liệu kỹ nghệ phần mềm, nhằm hỗ trợ cho sinh viên gặp khó khăn đọc tài liệu nguyên gốc tiếng Anh IT Nội dung giảng xây dựng bảy chương: Chương Khái niệm chất lượng phần mềm yếu tố chất lượng phần mềm T Những khái niệm mở đầu tài liệu giới thiệu chương Bắt đầu với khái niệm phần mềm, chất lượng phần mềm đảm bảo chất lượng phần mềm, phần phân tích yếu tố chất lượng phần mềm P Chương Các thành phần chất lượng phần mềm tiền dự án Chương trình bày nội dung liên quan đến thành phần đảm bảo chất lượng phần mềm tiền dự án bao gồm việc rà soát hợp đồng, kế hoạch phát triển dự án phần mềm kế hoạch chất lượng phần mềm Chương Các thành phần SQA vòng đời dự án Chương đề cập đến thành phần đảm bảo chất lượng phần mềm vòng đời dự án phần mềm Những nội dung trình bày chương bao gồm : phân tích số mô hình phát triển phần mềm phổ biến, phương pháp rà soát, bảo trì phần mềm công cụ CASE Riêng kiểm thử phần mềm bước quan trọng trình bày riêng chương Chương Kiểm thử phần mềm Chương đề cập đến kiểm thử phần mềm Những nội dung trình bày chương bao gồm : khái niệm bản, mức kiểm thử, kỹ thuật kiểm thử, trình kiểm thử Chương Phân loại phần mềm phục vụ kiểm Chương đề cập đến loại thành phần dùng kiểm thử phần mềm Những nội dung trình bày chương bao gồm : phần mềm phục vụ kiểm thử thư viện JUnit sử dụng rộng rãi kiểm thử đơn vị cho ngôn ngữ lập trình Java Chương Các thành phần chất lượng phần mềm Các thành phần chất lượng phần mềm bao gồm thủ tục (procedure), dẫn (instruction), khuôn mẫu (templates), checklists (danh mục kiểm tra) Đó nội dung trình bày phần đầu chương Phần trình bày hoạt động đảm bảo chất lượng phần mềm khác : đào tạo cấp chứng chỉ, ngăn ngừa sửa lỗi, quản lý cấu hình kiểm soát tài liệu Chương Các thành phần quản lý chất lượng phần mềm IT Ngoài yếu tố kỹ thuật, dự án phát triển phần mềm đại, yếu tố quản lý đóng vai trò quan trọng Chương trình bày vấn đề liên quan đến quản lý chất lượng phần mềm : điều khiển tiến độ dự án, độ đo chất lượng phần mềm, chi phí chất lượng phần mềm Chương Các chuẩn, chứng hoạt động đánh giá P T Chương đề cập tới chuẩn quản lý chất lượng ISO 9001 ISO 9000-3, CMM CMMI chuẩn tiến trình dự án IEEE/EIA Std 12207, IEEE Std 1012, IEEE Std 1028 Chương Tổ chức để đảm bảo chất lượng Trong tổ chức lớn, quản lý nguồn nhân lực yếu tố định thành công Chương đề cập đến tác nhân tham gia vào hệ thống đảm bảo chất lượng phần mềm, vai trò, trách nhiệm tác nhân phân tích cụ thể đề mục chương Phụ lục Trình bày lỗi thường gặp viết chương trình P T IT MỤC LỤC Giới thiệu   Chương   Khái niệm chất lượng phần mềm yếu tố chất lượng phần mềm   1.1   Đặc điểm phần mềm môi trường phát triển phần mềm   1.2   Khái niệm phần mềm 11   1.3   Lỗi phần mềm phân loại nguyên nhân gây lỗi phần mềm 12   1.3.1   Lỗi phần mềm 12   1.3.2   Nguyên nhân gây lỗi phần mềm 12   1.4   Định nghĩa chất lượng phần mềm đảm bảo chất lượng phần mềm 15   1.5   Những mục tiêu đảm bảo chất lượng phần mềm 15   1.6   Phân loại yêu cầu phần mềm ứng với yếu tố chất lượng phần mềm 16   Chương   Các thành phần chất lượng phần mềm tiền dự án 20   2.1   Rà soát hợp đồng 20   2.1.1   Tiến trình rà soát hợp đồng bước thực 20   2.1.2   Các mục tiêu rà soát hợp đồng 21   2.1.3   Thực thi rà soát hợp đồng 24   2.1.4   Những khó khăn thực xem lại hợp đồng cho đề xuất 25   2.1.5   Khuyến cáo cho việc thực duyệt lại hợp đồng 26   2.1.6   Các đối tượng rà soát hợp đồng 27   2.1.7   Rà soát hợp đồng cho dự án nội 27   2.2   Các kế hoạch phát triển kế hoạch chất lượng 30   2.2.1   Những mục tiêu kế hoạch phát triển kế hoạch chất lượng 31   2.2.2   Các thành phần kế hoạch phát triển 31   2.2.3   Các thành phần kế hoạch chất lượng 35   2.2.4   Các kế hoạch phát triển kế hoạch chất lượng cho dự án nhỏ dự án nội 38   Chương   Các thành phần SQA vòng đời dự án 41   3.1   Tích hợp hoạt động chất lượng vòng đời dự án 41   3.1.1   Phương pháp phát triển phần mềm truyền thống phương pháp khác 41   3.1.2   Các yếu tố ảnh hưởng hoạt động đảm bảo chất lượng phần mềm 51   3.1.3   Xác minh, thẩm định đánh giá chất lượng 52   3.2   Rà soát 53   3.2.1   Mục tiêu rà soát 53   3.2.2   Những rà soát thiết kế hình thức 54   3.2.3   Các rà soát ngang hàng (peer review) 56   3.2.4   Các ý kiến chuyên gia 57   3.3   Đảm bảo chất lượng thành phần bảo trì phần mềm 59   3.3.1   Giới thiệu 59   3.3.2   Cơ sở cho chất lượng bảo trì cao 61   3.3.3   Các thành phần chất lượng phần mềm tiền bảo trì 64   3.3.4   Các công cụ đảm bảo chất lượng bảo trì phần mềm 68   3.4   Các CASE tool ảnh hưởng lên chất lượng phần mềm 77   3.4.1   Khái niệm CASE tool 77   3.4.2   Đóng góp CASE tool cho chất lượng sản phẩm phần mềm 79   3.4.3   Đóng góp CASE tool cho chất lượng bảo trì phần mềm 81   3.4.4   Đóng góp CASE tool cho quản lý dự án 82   P T IT 3.5   Đảm bảo chất lượng phần mềm yếu tố bên tham gia 82   3.5.1   Những thành phần bên đóng góp vào dự án phần mềm 82   3.5.2   Rủi ro lợi ích giới thiệu người tham dự 83   3.5.3   Những mục tiêu đảm bảo chất lượng đóng góp người tham gia bên 84   3.5.4   Các công cụ đảm bảo chất lượng đóng góp thành viên đóng góp bên 85   Chương   Kiểm thử phần mềm 86   4.1   Một số khái niệm 86   4.1.1   Ví dụ lỗi phần mềm 86   4.1.2   Đặc tả lỗi phần mềm: 87   4.1.3   Kiểm thử tiến trình kiểm thử 88   4.1.4   Các mức kiểm thử 90   4.1.5   Một số thuật ngữ 91   4.2   Các cấp độ kiểm thử 94   4.2.1   Kiểm thử đơn vị - Unit Testing 95   4.2.2   Kiểm thử tích hợp - Integration Testing 95   4.2.3   Kiểm thử hệ thống - System Testing 100   4.2.4   Kiểm thử chấp nhận - Acceptance Testing 101   4.3   Các kỹ thuật kiểm thử 102   4.3.1   Kiểm thử hộp đen - Black-box Testing 102   4.3.2   Kiểm thử hộp trắng - White-box Testing (WBT) 108   4.3.3   Kiểm thử gia tăng - Incremental Testing 116   4.3.4   Thread Testing 116   4.3.5   Bảng tóm tắt Testing Levels/ Techniques 116   4.4   Quá trình kiểm thử 116   4.4.1   Xác định tiêu chuẩn chất lượng phần mềm phù hợp 116   4.4.2   Lập kế hoạch cho test 119   4.4.3   Thiết kế kiểm thử (test design) 121   4.4.4   Tiến trình test 124   4.4.5   Thiết kế trường hợp kiểm thử (Test Case Design) 125   Chương   Phân loại phần mềm phục vụ kiểm thử 127   5.1   Phần mềm phục vụ kiểm thử 127   5.1.1   Phần mềm hỗ trợ viết tài liệu 127   5.1.2   Phần mềm quản lý lỗi 127   5.1.3   Công cụ kiểm thử tự động 129   5.2   Unit test thư viện JUnit 133   5.2.1   Tổng quan Unit Testing 133   5.2.2   Tổng quan thư viện Junit 135   Chương   Các thành phần chất lượng phần mềm 139   6.1   Thủ tục, dẫn thiết bị hỗ trợ chất lượng 139   6.1.1   Các thủ tục dẫn 139   6.1.2   Chuẩn bị, thực thi cập nhật thủ tục dẫn 142   6.1.3   Khuôn mẫu (templates) 143   6.1.4   Danh mục kiểm tra (Checklists) 146   6.2   Đào tạo đội ngũ cấp chứng 148   P T IT 6.2.1   Mục tiêu đào tạo cấp chứng 149   6.2.2   Tiến trình đào tạo cấp chứng 149   6.2.3   Xác định yêu cầu kiến thức chuyên môn cần thiết đào tạo cập nhật 150   6.2.4   Xác định nhu cầu đào tạo cập nhật (updating) 150   6.2.5   Lên kế hoạch đào tạo chương trình cập nhật 151   6.2.6   Định nghĩa vị trí yêu cầu cấp chứng 151   6.2.7   Lên kế hoạch tiến trình cấp chứng 152   6.2.8   Phân phối chương trình đào tạo cấp chứng 153   6.2.9   Những công việc việc đào tạo cấp chứng 153   6.3   Các hành động sửa lỗi phòng ngừa 154   6.3.1   Định nghĩa hoạt động sửa lỗi phòng ngừa 154   6.3.2   Tiến trình hành động sửa lỗi phòng ngừa 154   6.3.3   Thu thập, phân tích thông tin 155   6.3.4   Phát triển giải pháp thực thi 155   6.3.5   Tổ chức hành động phòng ngừa sửa lỗi 156   6.4   Quản lý cấu hình 157   6.4.1   Các thành phần cấu hình phần mềm 157   6.4.2   Quản lý cấu hình phần mềm 157   6.4.3   Kiểm soát thay đổi phần mềm 157   6.4.4   Kiểm soát quản lý cấu hình phần mềm 158   6.4.5   Các công cụ máy tính quản lý cấu hình phần mềm 159   6.5   Kiểm soát tài liệu 159   6.5.1   Các tài liệu kiểm soát ghi chất lượng 159   6.5.2   Danh sách tài liệu kiểm soát 160   6.5.3   Chuẩn bị, phê chuẩn, lưu trữ thu hồi tài liệu kiểm soát 160   Chương   Các thành phần quản lý chất lượng phần mềm 163   7.1   Điều khiển tiến độ dự án 163   7.1.1   Các thành phần điều khiển tiến độ dự án 163   7.1.2   Điều khiển tiến độ dự án nội thành phần bên 163   7.1.3   Thực thi kiểm soát tiến độ dự án 163   7.1.4   Các công cụ kiểm soát tiến độ phần mềm 164   7.2   Độ đo chất lượng phần mềm 165   7.2.1   Các mục tiêu đo lường phần mềm phân loại độ đo 166   7.2.2   Các độ đo tiến trình 167   7.2.3   Các độ đo sản phẩm 170   7.2.4   Thực đo chất lượng phần mềm 172   7.2.5   Những giới hạn độ đo phần mềm 173   7.3   Giá thành chất lượng phần mềm 174   7.3.1   Các mục tiêu tính giá thành độ đo chất lượng phần mềm 174   7.3.2   Mô hình truyền thống tính giá chất lượng phần mềm 174   7.3.3   Mô hình mở rộng tính giá chất lượng phần mềm 175   7.3.4   Các vấn đề áp dụng tính giá độ đo chất lượng phần mềm 177   Chương   Các chuẩn, chứng hoạt động đánh giá 178   8.1   Các chuẩn quản lý chất lượng 178   8.1.1   Phạm vi chuẩn quản lý chất lượng 178   P T IT 8.1.2   ISO 9001 ISO 9000-3 178   8.1.3   Các mô hình tăng trưởng khả – phương pháp đánh giá CMM CMMI 180   8.2   Các chuẩn tiến trình dự án SQA 181   8.2.1   IEEE/EIA Std 12207- tiến trình vòng đời phần mềm 182   8.2.2   IEEE Std 1012 – xác minh thẩm định 184   8.2.3   IEEE Std 1028 – rà soát 185   Chương   Tổ chức để đảm bảo chất lượng 187   9.1   Giới thiệu 187   9.1.1   Cơ cấu tổ chức phát triển phần mềm 187   9.1.2   Khung tổ chức phát triển phần mềm 187   9.2   Quản lý vai trò quản lý đảm bảo chất lượng phần mềm 188   9.2.1   Các hoạt động đảm bảo chất lượng quản lý mức cao 188   9.2.2   Những trách nhiệm quản lý phòng ban 190   9.2.3   Những trách nhiệm quản lý dự án 191   9.3   Đơn vị SQA tác nhân khác hệ thống SQA 192   9.3.1   Đơn vị SQA 192   9.3.2   Những ủy viên SQA nhiệm vụ 193   9.3.3   Hội đồng SQA nhiệm vụ 194   9.3.4   Nhiệm vụ phương thức hoạt động diễn đàn SQA 194   Tài liệu tham khảo 197   Phụ lục 198   Chương Khái niệm chất lượng phần mềm yếu tố chất lượng phần mềm 1.1 Đặc điểm phần mềm môi trường phát triển phần mềm Có thể nói phần mềm sản phẩm đặc biệt, không giống sản phẩm công nghiệp khác nên người ta thường gọi phát triển phần mềm Để phân biệt khác sản phẩm phần mềm với sản phẩm khác ta xem xét ba đặc điểm sau : (1) Độ phức tạp sản phẩm : Độ phức tạp sản phẩm đo số lượng phương thức vận hành sản phẩm Một sản phẩm công nghiệp chí máy tiên tiến không cho phép nhiều vài trăm phương thức vận hành Trong đó, gói phần mềm có tới hàng triệu khả vận hành Do đó, vấn đề đảm bảo vô số khả vận hành xác định phát triển thách thức công nghiệp phần mềm T IT (2) Tính trực quan sản phầm : Trong sản phẩm công nghiệp nhìn thấy được, sản phẩm phần mềm vô hình Hầu hết nhược điểm sản phầm công nghiệp phát tiến trình sản xuất Hơn nữa, dễ dàng nhận thấy khuyết thiếu phần sản phẩm công nghiệp ( ví dụ : ôtô cửa sổ ) Trái lại, nhược điểm sản phẩm phần mềm (được lưu trữ đĩa mềm hay CD) không nhìn thấy được, vậy, thực tế phẩn gói phần mềm thiếu từ đầu P (3) Tiến trình sản xuất phát triển phần mềm : Các pha tiến trình sản xuất sản phẩm - Phát triển sản phẩm : sản xuất công nghiệp, người thiết kế nhân viên đảm bảo chất lượng kiểm tra nguyên mẫu để phát khuyết điểm cuả chúng Trong sản xuất phần mềm, chuyên gia đảm bảo chất lượng đội phát triển có xu hướng tìm lỗi sản phẩm vốn có Kết cuối pha nguyên mẫu phê chuẩn, sẵn sàng để sản xuất - Lập kế hoạch sản xuất sản phẩm : pha này, ngành công nghiệp, tiến trình sản xuất công cụ thiết kế chuẩn bị Một số dòng sản phẩm đặc biệt cần phải thiết kế xây dựng Do đó, pha tạo thêm hội xem xét sản phẩm, phát khuyết điểm bị người rà soát kiểm thử bỏ qua pha phát triển Ngược lại, pha không yêu cầu tiến trình sản xuất phần mềm, việc sản xuất copy phần mềm in sách hướng dẫn phần mềm thực tự động Điều áp dụng cho sản phẩm phần mềm nào, từ nhỏ tới lớn - Sản xuất : Trong pha này, thủ tục đảm bảo chất lượng sản xuất công nghiệp áp dụng để phát lỗi sản xuất Các khuyết điểm sản phẩm phát giai đoạn trình sản xuất hiệu chỉnh thay đổi thiết kế sản phẩm nguyên liệu, hay công cụ sản xuất Nhờ tránh khuyết điểm sản phẩm sản xuất tương lai Ngược lại, nói phần trước, việc sản xuất phần mềm đơn giản chép sản phẩm in sách hướng dẫn, việc phát khuyết điểm sản phẩm khó khăn IT Kỹ nghệ phần mềm có bước phát triển đáng kể vượt qua nhiều giai đoạn khủng hoảng Những kết nghiên cứu kỹ nghệ phần mềm giúp tổ chức phát triển phần mềm cách chuyên nghiệp Môi trường phát triển phần mềm mang nét đặc trưng riêng Với bảy đặc trưng sau ta hiểu rõ môi trường phát triển môi trường bảo trì phần mềm chuyên nghiệp: (1) Các điều kiện hợp đồng : Là kết cam kết điều kiện hợp đồng nhà phát triển phần mềm khách hàng, họat động bảo trì phát triền phần mềm cần đương đầu với vấn đề : Một danh sách yêu cầu chức xác định mà phần mềm phát triển công việc bảo trì phải thực - Ngân sách dự án - Thời gian biểu dự án P T - Nhà quản lý việc phát triển phần mềm bảo trì dự án cần nỗ lực lớn việc giám sát hoạt động để đạt yêu cầu hợp đồng (2) Mối quan hệ khách hàng – nhà cung cấp : Trong suốt trình phát triển bảo trì phần mềm, hoạt động nằm giám sát khách hàng Đội dự án phải hợp tác liên tục với khách hàng : để xem xét yêu cầu thay đổi, để thảo luận khách hàng không lòng khía cạnh khách dự án, để đạt chấp thuận cho thay đổi theo sáng kiến đội phát triển (3) Yêu cầu làm việc theo nhóm : nhân tố thường thúc đẩy việc thành lập đội dự án thay giao dự án cho chuyên gia : - Các yêu cầu thời gian biểu Nói cách khác, khối lượng công việc thực suốt thời kỳ dự án đòi hỏi tham gia nhiều người nều muốn dự án hoàn thành thời hạn - Để thực dự án cần có nhiều chuyên ngành khác - Sự rà soát lại hỗ trợ lẫn chuyên gia làm tăng chất lượng dự án (4) Hợp tác phối hợp với đội phần mềm khác : Để thực dự án, đặc biệt dự án có quy mô lớn, cần nhiều đội dự án Đây điều phổ biến công nghiệp phần mềm Trong trường hợp thế, đòi hỏi phải hợp tác với : Các đội phát triển phần mềm khác tổ chức - Các đội phát triển phần cứng tổ chức - Các đội phát triển phần cứng phần mềm nhà cung cấp khác - Các đội phát triển phần cứng phần mềm khách hàng – người tham gia phần vào phát triển dự án IT - T (5) Các giao diện với hệ thống phần mềm khác : Ngày nay, hầu hết hệ thống phần mềm có giao diện với gói phần mềm khác Các giao diện cho phép liệu dạng điện tử “chảy” hệ thống phần mềm Có thể định nghĩa loại giao diện sau : Các giao diện đầu vào – nơi hệ thống phần mềm khác truyền liệu tới hệ thống phần mềm bạn - Các giao diện đầu – nơi hệ thống phần mềm bạn truyền liệu xử lý tới hệ thống phần mềm khác - Các giao diện đầu vào đầu tới bảng điều khiển máy, hệ thống kiểm soát thí nghiệm hệ thống y tế, thiết bị chế biến kim loại P - (6) Sự cần thiết phải tiếp tục thực dự án thành viên đội có thay đổi : Việc thành viên đội rời khỏi đội thời gian phát triển dự án phổ biến, việc thăng chức với công việc cấp cao hơn, chuyển sang thành phố khác Người lãnh đạo đội phải thay thành viên đội nhân viên khác nhân viên tuyển dụng Không kể đến nỗ lực cần đầu tư vào việc đào tạo thành viên mới, việc thay đổi thành viên kéo theo thời gian thực dự án thay đổi 10 9.2 Quản lý vai trò quản lý đảm bảo chất lượng phần mềm 9.2.1 Các hoạt động đảm bảo chất lượng quản lý mức cao IT Bên cạnh trách nhiệm khác,ban quản lý cấp cao có trách nhiệm chất lượng phần mềm.Toàn trách nhiệm tóm tắt sau: • Đảm bảo chất lượng sản phẩm phần mềm công ty dịch vu bảo trì phần mềm • Truyền đạt quan trọng chất lượng sản phầm dịch vụ với hài long khách hang tới nhân viên mức (truyền đạt tới toàn nhân viên) • Đảm bảo hài long chức toàn long với yêu cầu khách hang • Đảm bảo mục tiêu chất lượng thiết lập cho hệ thống SQA tổ chức mục tiêu thực • Bắt đầu lên kế hoạch quan sát việc thực thi thay đổi cần thiết để tích hợp vào hệ thống SQA thành phần bên thay đổi bên có lien quan đến khách hang,sự cạnh tranh kỹ thuật tổ chức • Can thiệp cách xác để giải lúc gặp khủng hoảng giảm thiểu thiệt hại • Đảm bảo tính sẵn sang tài nguyên yêu cầu hệ thống SQA P T công cụ sẵn có để người quản lý cấp cao hoàn thành trách nhiệm: (1) Thiết lập cập nhật sách đảm bảo chất lượng tổ chức (2) Chỉ định công việc thực thi vấn đề chất lượng phần mềm cho người ( ví dụ Phó giám đốc chuyên SQA) (3) Điều khiển việc rà soát quản lý hiệu suất liên quan đến vấn đề chất lượng phần mềm Chúng ta xem xét công cụ a Các sách chất lượng phần mềm Chính sách chất lượng mục đích mục tiêu tổ chức vấn đề chất lượng quy định người quản lý.(Pressman 2004) Theo chuẩn ISO-9003,chính sách chất lượng xác định sách mô tả quan điểm tổ chức vấn đề chất lượng Chính sách chất lượng phần mềm tổ chức,thông qua nội dung chung phát biểu họ,phải truyền đạt đầy đủ yêu cầu sau: (1) Phù hợp với mục đích mục tiêu tổ chức (2) Cam kết khái niệm khung đảm bảo chất lượng phần mềm (3) Cam kết chuẩn chất lượng thông qua tổ chức b Việc thực thi đảm bảo chất lượng phần mềm Trách nhiệm thực vấn đề chất lượng phần mềm phân chia sau: (5) Trách nhiệm chuẩn bị chương trình hoạt động ngân sách cho SQA hang năm (6) Trách nhiệm chuẩn bị kế hoạch phát triển hệ thống SQA 188 P T IT (7) Kiểm soát toàn việc cài đặt chương trình hoạt động SQA lên kế hoạch cho dự án phát triển SQA (8) Đưa ủng hộ vấn đề SQA để quản lý việc thực thi Chi tiết trách nhiệm: (1) Trách nhiệm chuẩn bị chương trình hoạt động ngân sách cho SQA hàng năm Yêu cầu thực hiện: (5) Đưa mục tiêu SQA hệ thống năm tới (6) Xem xét lại đề xuất chuẩn bị đơn vị SQA cho hoạt động hàng năm xác minh đề xuất có khả hoàn thành mục tiêu cho hệ thống SQA (7) Xác định chương trình hoạt động thích hợp với đặc điểm phạm vi dịch vụ nhà thầu phụ lên kế hoạch mua sắm năm tới (8) Xác định nguồn lực tài nguyên khác để lên kế hoạch cài đặt chương trình SQA (9) Phê chuẩn phiên cuối chương trình hoạt động ngân sách cho SQA (2) Trách nhiệm chuẩn bị kế hoạch phát triển hệ thống SQA (1) Xem xét lại xu hướng mong đợi cải thiện chất lượng phần mềm tổ chức tương lai gần (2) Xem xét lại đề xuất tích hợp SQA.Ví dụ,việc cố gắng để thử mua sắm dẫn đến công cụ phát triển phần mềm cần tuân theo chuẩn chất lượng phần mềm mà không công ty chấp nhận trước đó.Việc tích hợp vào hệ thống SQA bao gồm: Chuẩn bị thủ tục thích hợp với công cụ chuẩn SQA Chuẩn bị chương trình tập huấn cho nhóm phát triển phần mềm kỳ cựu (veteran )và thành viên Phát triển việc đo lường chất lượng phần mềm thích hợp với phát triển công cụ chuẩn thành công chương trình tập huẩn Phê chuẩn phiên cuối dự án phát triển SQA lên kế hoạch,bao gồm lịch biểu ngân sách (3) Kiểm soát toàn việc cài đặt chương trình dự án lên kế hoạch hang năm Giám sát chung chương trình hoạt động hang năm Xem xét lại tiến trình tích hợp dự án SQA Giám sát chung hoạt động tin tưởng hoàn thành mục tiêu nhóm (dựa sở báo cáo định kỳ) Tiếp tục tuân theo lịch biểu ngân sách phát triển dự án phần mềm Tiếp tục tuân theo điều khoản bảo trì chất lượng dịch vụ cho khách hàng (4) Đưa ủng hộ vấn đề SQA Để đẩy mạnh chất lượng giải khó khăn hệ thống SQA yêu cầu: & Đưa phê chuẩn cuối chương trình hoạt động ngân sách hàng năm 189 Đưa phê chuẩn cuối dự án tích hợp SQA lên kế hoạch với ngân sách & Tạo đạo họp “rà soát quản lý” định kỳ sách chất lượng phần mềm tổ chức vấn đề hệ thống SQA,tóm tắt lại thành báo cáo & Tạo thảo luận cấp quản lý vấn đề chất lượng phần mềm đặc biệt,ví dụ lỗi cảnh báo chất lượng ảnh hưởng tới thành công dự án việc thiếu chuyên gia,thiếu nhà quản lý đơn vị SQA… c Rà soát quản lý Rà soát quản lý cách gọi nhóm họp định kì cho phép người điều hành có nhìn khái quát quản lý chất lượng phần mềm tổ chức họ Rà soát quản lý thực lần năm Một báo cáo rà soát quản lý, chuẩn bị đơn vị quản lý chất lượng phần mềm, định giai đoạn để thảo luận cách cung cấp điều khoản , thể đề tài thảo luận họp Những mục đích việc rà soát quản lý để đánh giá chấp nhận hệ thống SQA với sách chất lượng tổ chức, để: o Đánh giá thành tựu mục đích chất lượng xây dựng cho hệ thống quản lý chất lượng phần mềm tổ chức o Khởi đầu sửa đổi cải tiến hệ thống quản lý chất lượng phần mềm mục tiêu o Phác thảo hướng dẫn để bù đắp thiếu hụt SQA vấn đề quản lý chất lượng phần mềm o Phân bố nguồn bổ sung cho hệ thống quản lý chất lượng phần mềm Những giải làm cho việc rà soát quản lý thời đạt kinh nghiệm để dẫn điều khiển hoạt động hệ thống quản lý chất lượng phần mềm cho giai đoạn tiếp theo, kết thúc việc rà soát P T IT & 9.2.2 Những trách nhiệm quản lý phòng ban Những trách nhiệm đảm bảo chất lượng giám đốc quản lý phận bao gồm: quản lý hệ thống SQA(các công việc liên quan đến hệ thống chất lượng) công việc liên quan đến dự án dịch vụ thực đơn vị hay đội quyền hạn xác định nhà quản lý (các công việc liên quan đến dự án) Những trách nhiệm liên quan đến hệ thống chất lượng: Bao gồm hoạt động đảm bảo chất lượng: & Chuẩn bị chương trình hoạt động SQA ngân sách hàng năm dựa chương trình được đưa chuẩn bị phận SQA & Chuẩn bị kế hoạch phát triển hệ thống SQA dựa vào kế hoạch được đưa chuẩn bị phận SQA & Điều khiển hiệu chương trình hoạt động SQA hàng năm dự án phát triển & Trình bầy vấn đề SQA cho người quản lý cấp cao-người chịu trách nhiệm thực thi chất lượng phần mềm Những trách nhiệm liên quan đến dự án Những trách nhiệm thay đổi theo thủ tục tổ chức phân quyền, gồm: 190 10 Điều khiển công việc để thỏa mãn thủ tục đảm bảo chất lượng đơn vị phận này, bao gồm CAB, SCM SCCA Chi tiết kết rà soát hợp đồng tán thành đề xuất Rà soát hiệu hoạt động rà soát lên kế hoạch, tán thành tài liệu dự án hoàn thành pha dự án Xác định việc kiểm tra phần mềm kết kiểm tra; chấp nhận sản phẩm phầm mềm Xác định tiến triển kế hoạch lên lịch biểu dự án phát triển phần mềm chênh lệch ngân sách Ý kiến đóng góp hỗ trợ người quản lý dự án việc định lên lịch biểu, ngân sách khó khăn có liên quan đến khách hàng Xác định chất lượng dịch vụ bảo trì Chi tiết rủi ro dự án biện pháp để giải rủi ro Sự phù hợp dự án với yêu cầu khách hàng thỏa mãn hài long khách hàng Chấp nhận yêu cầu thay đổi lớn phần mềm chênh lệch từ đặc tả dự án 9.2.3 Những trách nhiệm quản lý dự án & & & & & & & & Những tác vụ thực hành chuyên nghiệp Chuẩn bị,câp nhật dự án kế hoạch chất lượng Tham gia ban kết nối khách hàng-nhà cung cấp Chốt lại vấn đề nhân đội dự án, bao gồm việc tham gia vào tuyển dụng, huấn luyện truyền đạt kiến thức P T IT Hầu hết trách nhiệm người quản lý dự án định nghĩa thủ tục thị công việc.Người quản lý dự án người có trách niệm đảm bảo tất thành viên đội tuân theo thủ tục tài liệu xây dựng Công việc người quản lý dự án bao gồm tác vụ thực hành chuyên nghiệp quản lý công việc Những tác vụ quản lý: Người quản lý dự án phải được: Việc thực thi hoạt động rà soát điều chình, bao gồm việc tham gia vào vài rà soát Sự phát triển phần mềm bảo trì khía cạnh phát triển, tích hợp hoạt động kiểm thử hệ thống hoạt động sửa chữa kiểm thử hồi quy Thực acceptance tests Cài đặt phần mềm cho khách hàng chạy hệ thống phần mềm Huấn luyện dẫn đảm bảo chất lượng phần mềm cho thành viên dự án Lên lịch biểu tài nguyên phân phối cho hoạt động dự án Các yêu cầu khách hàng hài lòng khách hàng Luận rủi ro phát triển dự án, áp dụng giải pháp điều khiển rủi ro 191 9.3 Đơn vị SQA tác nhân khác hệ thống SQA IT Mô hình cấu trúc tổ chức đơn vị SQA 9.3.1 Đơn vị SQA Nhiệm vụ trưởng phận SQA phân thành loại sau: ■ Lập kế hoạch Chuẩn bị chương trình hoạt động chi phí dự toán thường niên cho phận − Lập kế hoạch cập nhật hệ thống quản lý chất lượng phần mềm tổ chức − Chuẩn bị chương trình hoạt động SQA thường niên khuyến nghị cho P T − phận phát triển bảo trì phần mềm; yêu cầu hỗ trợ từ phận SQA thực nhiệm vụ ■ Quản lý phận: - Quản lý hoạt động đội SQA - Giám sát thực thi chương trình hoạt động SQA - Chỉ định, bổ nhiệm thành viên nhóm, thành viên ủy ban SQA ủy viên SQA - Chuẩn bị báo cáo đặc biệt định kỳ, ví dụ: tình trạng vấn đế chất lượng phần mềm tổ chức báo cáo thi hàng tháng ■ Các nhiệm vụ liên quan đến giao dịch với khách hàng tổ chức bên khác: - Các địa khách hàng cho vấn đề chất lượng phần mềm 192 - Liên lạc với khách hàng, quan tâm đến chất lượng sản phẩm dịch vụ phần mềm cung cấp - Đại diện cho tổ chức trước tổ chức bên khác có quan tâm đến vấn đề chất lượng phần mềm - Dự thảo báo cáo quản lý cho họp đánh giá công tác quản lý - Các vấn đề vể tổ chức SQA, chuẩn bị tài liệu cần thiết… cho định mức cao quản lý (được thực trưởng phận chất lượng phần mềm) ■ Các công việc SQA chuyên ngành: Tham gia vào dự án joint committees - Tham gia đánh giá thiết kế thức - Đánh giá phê chuẩn sai khác so với đặc tả (khi thủ tục yêu cầu) - Bàn bạc với nhà quản lý dự án trưởng nhóm - Tham gia vào diễn đàn ủy ban SQA IT - 9.3.2 Những ủy viên SQA nhiệm vụ T Nhiệm vụ SQA trustee phân thành loại sau: Ủy viên SQA nhân viên, người quan tâm nhiều chất P lượng phần mềm, họ tình nguyện dành phần thời gian họ để nâng cao chất lượng Họ thường xuyên hướng dẫn chủ đề quan tâm SQA Như đại diện SQA, uỷ viên kỳ vọng đưa hỗ trợ nội cần thiết cho việc cài đặt thành công thành phần SQA Các nhiệm vụ SQA uỷ khác với tổ chức Những nhiệm vụ liên hệ đơn vị và/hoặc tổ chức, bao gồm hoạt động sau 9.3.2.1 Các công việc liên quan đến đơn vị ■ Hỗ trợ đồng nghiệp để giải khó khăn phát sinh việc triển khai thủ tục phần mềm chất lượng thị công việc ■ Trợ giúp đơn vị quản lý hoạt động SQA ( ví dụ chuẩn bị dự án hướng dẫn làm việc , tập hợp liệu để tính toán độ đo SQA ) 193 ■ Thúc đẩy việc tuân thủ giám sát công việc triển khai thực thủ tục SQA, hướng dẫn làm đồng nghiệp ■ Báo cáo không tuân thủ có hệ thống kiện tới đơn vị SQA ■ Báo cáo chất lượng phần mềm thất bại nghiêm trọng tới đơn vị SQA 9.3.2.2 Các công việc liên quan đế cấu tổ chức ■ Tiến hành thay đổi cập nhật thủ tục thị công việc organization-wide SQA ■ Tiến hành cải tổ chức năng, phát triển cải tiến quy trình bảo trì ứng dụng vào CAB cho giải pháp giả thất bại quan sát đơn vị họ ■ Xác định tổ chức SQA cần huấn luyện phù hợp đề xuất chương trình huấn luyện hay dẫn thích hợp thực đơn vị SQA 9.3.3 Hội đồng SQA nhiệm vụ IT Các uỷ ban SQA thường trực đặc biệt Các chủ đề cần xử lý thẩm quyền phân chia nhiệm vụ uỷ ban thường trực đặc biệt T tổ chức khác theo thời gian 9.3.3.1 Ủy ban thường trực: P ■ Thường giải SCC (điều khiển thay đổi phần mềm), CA (các công việc sửa chữa), thủ tục công cụ phát triển phần mềm, thước đo chất lượng ■ Là phận kết hợp khung làm việc tổ chức SQA ■ Công việc ủy ban thường trực thường quy định thủ tục SQA tổ chức 9.3.3.2 Ủy ban không thức (ad-hoc committee): ■ Được thành lập dựa vấn đề ngắn hạn ■ Các thành viên định người điều hành có trách nhiệm giải vấn đề chất lượng phần mềm (trưởng phận SQA, phận SQA con, ủy viên SQA…) 9.3.4 Nhiệm vụ phương thức hoạt động diễn đàn SQA Đặc điểm: 194 Những diễn đàn SQA thành phần không thức khung tổ chức SQA, chúng thành lập người tự nguyện thể đặc điểm cộng đồng Các diễn đàn thường hoạt động cách tự mà không bị lệ thuộc vào yêu cầu thủ tục tiêu chuẩn Những chủ đề, hoạt động người tham gia vào diễn đàn đa dạng Thông thường tổ chức thu lợi từ hoạt động diễn đàn SQA mà diễn đàn hoạt động độc lập có liên hệ cộng tác với tổ chức Những thành viên diễn đàn SQA thường định phạm vi chức hoạt động (hạn chế rộng lớn), gặp gỡ thường xuyên không thường xuyên, định cách thức liên lạc ưa thích (Internet, intranet, …) Những diễn đàn SQA tập trung vào: ■ Cải thiện triển khai thủ tục SQA ■ Những độ đo chất lượng IT ■ Hoạt động sửa lỗi – phân tích trường hợp thất bại thành công ■ Những vấn đề chất lượng hệ thống – phát triển triển khai công cụ ■ Những vấn đề quản lý chất lượng – vấn đề chất lượng phần mềm hoạt động thường T ngày bàn đến trước người quản lý chất lượng mức độ Sự tham gia diễn đàn SQA đóng (ví dụ giới hạn với người quản lý gồm: P chất lượng) mở với tất người Thành viên diễn đàn mở bao ■ Thành viên đơn vị SQA ■ Ủy viên quản trị SQA ■ Nhân viên phát triển bảo trì phần mềm ■ Tư vấn/ chuyên gia SQA công nghệ phần mềm ■ Đại diện khách hàng Diễn đàn trì lựa chọn công bố Sự công bố bao gồm thư đến thành viên, định kỳ xem xét lại vấn đề SQA, báo cáo nhóm chuyên gia thành viên diễn đàn đặc biệt Thêm vào việc mô tả phân tích vấn đề chất lượng, báo cáo bao gồm tư vấn cho hoạt động sửa lỗi Diễn đàn định dựa danh sách phân tán, công bố giới hạn thành viên hay mở rộng đến thành viên khác tổ chức hay không? 195 196 IT T P Tài liệu tham khảo [1] Daniel Galin, Software Quality Assurance – From Theory to Implemtation, Addion Wesley, 2004 [2] Ian Sommerville Software Engineering, Sixth Edition, Addion Wesley, 2001 [3] Gerald D Everett, Raymond McLeod, Jr., Software Testing Testing Across the Entire Software Development Life Cycle, IEEE press, Wiley-interscience , A John Wiley&Sons, Inc, Publication, 2007 P T IT [4] Glenford J Myers The Art of Software Testing - Second Edition John Wiley & Sons, Inc, Publication, 2004 197 Phụ lục Một số lỗi thường mắc phải trình phát triển phần mềm, đặc biệt pha cài đặt trích từ sách “The art of software testing” cho Lỗi tham chiếu - Data reference Error Biến tham chiếu gán giá trị trước khởi tạo? Đây lỗi thường xảy Với truy cập mảng, số có nằm biên cho phép hay không? Với truy cập mảng, số có nhận giá trị nguyên hay không? IT Với tham chiếu dùng trỏ biến tham chiếu, ô nhớ tham chiếu xác định chưa? Đây gọi “dangling reference” Nó xảy thời gian tồn trỏ dài thời gian tồn ô nhớ tham chiếu Trường hợp khác trỏ tham chiếu tới biến địa phương hàm, giá trị trỏ gán cho tham số bên ngoài, biến toàn cục, hàm kết thúc (giải phóng ô nhớ tham chiếu), sau chương trình dùng giá trị trỏ T Khi đặt nhiều tên (alias) cho vùng nhớ với thuộc tính khác , liệu giá trị liệu vùng nhớ có thuộc tính tham chiếu theo tên? Ví dụ, chương trình FORTRAN chưa biến thực A nguyên B; biến alias cho vùng nhớ sử dụng câu lệnh EQUIVALENCE Nếu chương trình lưu giá trị vào A sau truy cập tới biến B; lỗi xuất máy tính dùng biểu diễn số floating point nhớ số nguyên P Liệu giá trị biến có kiểu thuộc tính khác với trình biên dịch đặt ra? Tình xảy chương trình C, C++ đọc ghi vào nhớ truy cập tới thông qua cấu trúc, nhiên biểu diễn vật lý ghi khác với định nghĩa cấu trúc Vấn đề địa chỉ? liệu đơn vị vùng nhớ cấp phát máy tính chạy có nhỏ đơn vị vùng nhớ định nghĩa Ví dụ, với số môi trường, xâu bit có độ dài cố định không cần bắt đầu byte biên, địa chỉ tới byte biên Nếu chương trình tính địa xâu bit sau tham chiếu tới xâu thông qua địa này, ta truy cập vào vùng nhớ không xác Tình xảy truyền đối số xâu bit cho chương trình Nếu biến trỏ biến tham chiếu dùng, liệu vùng nhớ tham chiếu có thuộc tính trình biên dịch mong muốn? Một ví dụ lỗi trỏ C++ trỏ tới địa cấu trúc liệu khác với cấu trúc liệu Nếu cấu trúc liệu tham chiếu nhiều hàm, thủ tục, liệu cấu trúc có định nghĩa thống thủ tục không? 198 Khi đánh số cho xâu/mảng, liệu có giới hạn số kết thúc xâu/mảng phạm vi cho phép không? Với ngôn ngữ lập trình hướng đối tượng, liệu tất yêu cầu thừa kế có thoả mãn cài đặt class? Lỗi khai báo liệu (Data-Declaration Errors ) Liệu biến có khai báo xác? Một failure trường hợp lỗi, khởi nguồn cho nhiều vấn đề Ví dụ, hàm nhận tham số mảng, không định nghĩa tham số mảng thành công, tham chiếu tới mảng (ví dụ C=A(I) dịch thành lời gọi hàm, dẫn tới máy tính cố gắng thực mảng chương trình Thêm nữa, biến không định nghĩa cách rõ ràng thủ tục, khối lệnh, liệu ta hiểu biến dùng chung hay không? ) T IT Nếu tất thuộc tính biến không quy định rõ ràng lúc định nghĩa, liệu giá trị mặc định có hiểu rõ? Ví dụ, thuộc tính mặc định nhận Java thường nguồn ngạc nhiên lớn Khi biến khởi tạo câu lệnh khai báo, liệu có khởi tạo đúng? Trong nhiều ngôn ngữ, khởi tạo mảng xâu phức tạp có xu hướng gây lỗi Liệu biến có gán với độ dài kiểu? P Liệu khởi tạo biến có đồng với kiểu memory? Ví dụ, biến hàm FORTRAN cần khởi tạo lại lần gọi hàm, phải khửoi tạo câu lệnh gán câu lệnh DATA Liệu có tên biến tương tự (ví dụ VOLT VOLTS)? Đây không thiết lỗi, ta nên đặt tên khác phòng nhầm lẫn Lỗi tính toán (Computation Errors) Liệu có tính toán sử dụng biến với kiểu liệu không phù hợp? Liệu có tính toán mixed-mode (kết hợp kiểu) không? Ví dụ cộng biến floating point cho biến integer Cần hiểu rõ luật chuyển đổi kiểu để tránh sai sót Ví dụ, đoạn mã Java sau có lỗi rouding (làm tròn) thực với số integers int x=1; int y=2; 199 int z=0; z=x/y; System.out.println ("z="+z); OUTPUT: z = Liệu có tính toán sử dụng biến có kiểu độ dài khác nhau? Liệu kiểu biến đích phép gán nhỏ kiểu kết biểu thức vế phải? Liệu có xảy lỗi overflow underflow (tràn) tính toán biểu thức? Chẳng hạn, kết giá trị hợp lệ, kết trung gian lớn nhỏ so với kiểu cho phép ngôn ngữ lập trình Liệu có phép thực chia cho 0? Nếu máy biểu diễn biến số nhị phân, liệu có chuỗi tính toán cho kết sai hay không? Chẳng hạn, 10 x 0.1 không 1.0 thực số nhị phân IT Khi đưa vào ứng dụng, liệu giá trị biến có khoảng có nghĩa Với biểu thức chứa nhiều phép toán, liệu giả thiết thứ tự ưu tiên phép toán có xác? P T Có phép toán không hợp lệ liên quan tới số integer không, đặc biệt phép chia? Ví dụ, i biến integer, biểu thức 2*i/2 == i phụ thuộc vào i số chẵn hay lẻ phép nhân hay chia thực trước? Lỗi so sánh (Comparison Errors) Có phép so sánh biến với kiểu khác không, ví dụ so sánh xâu kí tự với địa chỉ, ngày, số? Liệu có so sánh mixed-mode không so sánh biến với độ dài khác nhau? Nếu có, cần đảmm bảo luật biến đổi phải hiểu xác Các phép so sánh có xác? Lập trình viên thường bị nhầm quan hệ at most, at least, greater than, not less than, less than or equal Liệu biểu thức Boolean có giá trị mong đợi? Lập trình viên thường mắc lỗi viết biểu thức logic chứa and, or, not Liệu toán hạng phép toán Boolean có giá trị Boolean? Phép so sánh phép toán Booleans thường dùng xen kẽ Hành động dễ dẫn tới lỗi Ví dụ, ta cần xác 200 định i có nằm khoảng từ tới 10 hay không, biểu thức < i < 10 sai; biểu thức (2x)||(i>y) Nếu ta muốn so sánh số có hay không, biểu thức (a==b==c) cho kết khác với mong đợi Nếu muốn kiểm tra quan hệ x>y>z, biểu thức phải (x>y)&&(y>z) Liệu có phép so sánh số phẩy tĩnh số phẩy động (floating point) hệ số 2? Đây nguồn lỗi lỗi làm tròn biểu diễn xấp xỉ số số hệ số 10 Với biểu thức chứa nhiều phép toán boolean, quy ước thứ tự thực phép toán có xác? Ví dụ, với biểu thức (if((a==2) && (b==2) || (c==3)), phép and hay or thực trước cần quy định rõ ràng Liệu cách thức trình biên dịch tính toán giá trị biểu thức Boolean có ảnh hưởng tới chương trình? Ví dụ, câu lệnh : if((x==0 && (x/y)>z) IT chấp nhận với trình biên dịch kết thúc kiểm tra điều kiện vế and false, dẫn tới lỗi division-by-zero (chia cho 0) với trình biên dịch khác T Lỗi luồng điều khiển (Control-Flow Errors) P Nếu chương trình chứa nhánh nhiều hướng, chẳng hạn phép tính GO TO, liệu biến số có phạm vi nhánh? Ví dụ câu lệnh GO TO (200, 300, 400), i liệu i có nằm số giá trị 1, 2, 3? Liệu vòng lặp có kết thúc? Chứng minh vòng lặp kết thúc Chương trình, module, hàm có kết thúc? Với vòng lặp điều khiển biểu thức điều kiện (ví dụ vòng lặp tìm kiếm), iteration, what are the consequences of loop fall-through? Ví dụ, với giả mã: DO I=1 to TABLESIZE WHILE (NOTFOUND) chuyện xảy NOTFOUND không false? 201 Lỗi giao diện (Interface Errors) Liệu số tham số module có với số đối số lời gọi hàm Liệu thứ tự đối số có xác? Liệu thuộc tính (chẳng hạn kiểu liệu, kích thước) tham số có tương thích với thuộc tính đối số tương ứng? Liệu đơn vị tham số có tương thích với đơn vị đối số tương ứng? Ví dụ, tham số dùng đơn vị degrees, đối số lại dùng đơn vị radians? Liệu số đối số truyền module cho module khác có số tham số expected by that module? Nếu hàm built-in gọi, liệu số, thuốc tính thứ tự đối số có xác? Lỗi Input/Output Nếu files định nghĩa, liệu thuộc tính có xác? IT Liệu thuộc tính câu lệnh OPEN file có xác? Liệu định dạng file có khớp với câu lệnh I/O? Có đủ nhớ để chứa file mà chương trình đọc? T Các files mở trước dùng? P Các files đóng sau dùng? Điều kiện end-of-file có phát quản lý xác? Các điều kiện lỗi I/O quản lý xác? Các xuất lỗi tả, cú pháp đoạn văn có in/hiển thị ? Các kiểm tra khác Nếu trình biên dịch đưa danh sách thuộc tính, kiểm tra thuộc tính biến để đảm bảo thuộc tính mặc định không mong muốn gán giá trị Nếu chương trình dịch thành công, máy tính đưa cảnh báo (“warning”), ta cần kiểm tra chúng cẩn thận Cảnh báo ám trình biên dịch phát bạn làm việc gây nghi vấn Các nghi vấn cần kiểm tra lại Liệu chương trình hay module có kiểm tra validity cho đầu vào 202 [...]... Những mục tiêu đảm bảo chất lượng phần mềm Phát triển phần mềm luôn đi đôi với bảo trì, vì vậy các hoạt động bảo đảm chất lượng phần mềm đều có mối liên quan chặt chẽ đến bảo trì Những mục tiêu đảm bảo 15 chất lượng phần mềm tương ứng với giai đoạn phát triển và bảo trì được xác định cụ thể như sau : - Phát triển phần mềm (hướng tiến trình) 1 Đảm bảo một mức độ chấp nhận được rằng phần mềm sẽ thực hiện... động bảo trì phần mềm sẽ đáp ứng IT được các yêu cầu về lịch biểu và ngân sách 3 Thiết lập và quản lý các hoạt động để cải thiện và nâng cao hiệu quả của bảo trì phần mềm T 1.6 Phân loại yêu cầu phần mềm ứng với các yếu tố chất lượng phần mềm Đã có nhiều tác giả nghiên cứu về các yếu tố chất lượng phần mềm từ các yêu cầu P cả nó Theo thời gian có thể quan niệm về việc đảm bảo chất lượng phần mềm có phần. .. chia sẻ vấn đề bảo trì phần mềm trong suốt thời kỳ dịch vụ của hệ thống phần mềm 1.2 Khái niệm phần mềm Phần mềm bao gồm những thành phần sau đây: - Chương trình máy tính - Các thủ tục - Tài liệu liên quan - Dữ liệu cần thiết cho sự vận hành của hệ thống IT Mỗi thành phần phần mềm đều có chức năng riêng và chất lượng của chúng đóng góp vào chất lượng chung của phần mềm và bảo trì phần mềm như sau: P... trong thời gian bảo trì Cần nhấn mạnh rằng tất cả các nguyên nhân gây ra lỗi đều là con người, công việc của các nhà phân tích hệ thống, lập trình, kiểm thử phần mềm, các chuyên gia tài liệu, và thậm chí cả các khách hàng và đại diện của họ IT 1.4 Định nghĩa chất lượng phần mềm và đảm bảo chất lượng phần mềm Theo IEEE, chất lượng phần mềm được định nghĩa như sau : T Chất lượng phần mềm là: ! Mức độ... triển cần tối ưu hóa công tác quản lý Theo Daniel Galin, khái niệm đảm bảo chất lượng phần mềm được xác định như sau : Đảm bảo chất lượng phần mềm là một tập các hoạt động đã được lập kế hoạch và có hệ thống, cần thiết để cung cấp đầy đủ sự tin cậy vào quy trình phát triển phần mềm hay quy trình bảo trì phần mềm của sản phẩm hệ thống phần mềm phù hợp với các yêu cầu chức năng kỹ thuật cũng như với các... mã nguồn hoặc dữ liệu phần mềm đã từng xảy ra và những loại sự cố phần mềm nào có thể được lường trước 11 1.3 Lỗi phần mềm và phân loại nguyên nhân gây ra lỗi phần mềm 1.3.1 Lỗi phần mềm Có nhiều nguyên nhân gây ra lỗi phần mềm, biểu hiện của các lỗi cũng khác nhau ở mỗi giai đoạn phát triển phần mềm Có ba loại lỗi phần mềm chính : - Error: Là các phần của code mà không đúng một phần hoặc toàn bộ như... modul hiện đang được phát triển Tái sử dụng phần mềm sẽ tiết kiệm tài nguyên phát triển, rút ngắn thời gian phát triển và tạo ra các moduls chất lượng cao hơn Chất lượng modul cao hơn là dựa trên giả định rằng hầu hết các lỗi phần mềm đều được phát hiện bởi các hoạt động đảm bảo chất lượng phần mềm thực hiện trên phần mềm ban đầu, bởi những người sử dụng phần mềm ban đầu và trong suốt những lần tái sử... cầu chức năng 2 Đảm bảo một mức đọ cấp nhận được rằng phần mềm sẽ đáp ứng được các yêu cầu về lịch biểu và ngân sách 3 Thiết lập và quản lý các hoạt động để cải thiện và nâng cao hiệu quả của phát triển phần mềm và các hoạt động SQA - Bảo trì phần mềm (hướng sản phẩm) 1 Đảm bảo một mức độ chấp nhận được rằng các hoạt động bảo trì phần mềm sẽ đáp ứng được các yêu cầu chức năng 2 Đảm bảo một mức đọ cấp... Chương 2 Các thành phần chất lượng phần mềm tiền dự án 2.1 Rà soát hợp đồng Một hợp đồng tồi chắc chắn là khó có thể chấp nhận được Từ quan điểm của SQA, một hợp đồng tồi – thường mô tả các yêu cầu không chặt chẽ và đưa ra kế hoạch cũng như ngân sách phi thực tế - thì sẽ dẫn đến một phần mềm có chất lượng tồi Vì thế, một chương trình SQA cần được thực hiện để đảm bảo chất lượng phần mềm bằng cách rà... bản chất này thường được tham gia vào một ngân sách bổ sung đáng kể 2.2.3 Các thành phần của kế hoạch chất lượng Tất cả hay một số mục sau đây, tùy thuộc vào các dự án, bao gồm các thành phần của một kế hoạch quản lý chất lượng dự án : (1) Những mục tiêu của quản lý chất lượng IT Thuật ngữ “quality goals” dùng để chỉ các yêu cầu chất lượng thực chất của việc phát triển hệ thống phần mềm Đơn vị định lượng

Ngày đăng: 06/06/2016, 03:44

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan