Bài giảng Khó khăn trong xây dựng phần mềm: Chương 4 Quản lý chất lượng phần mềm, cung cấp cho người học những kiến thức như: Thế nào là sản phẩm PM chất lượng; Các tính chất cơ bản của chất lượng phần mềm; Mục tiêu của Quản lý chất lượng PM; Quản lý chất lượng và phát triển phần mềm;...Mời các bạn cùng tham khảo!
CHƢƠNG QUẢN LÝ CHẤT LƢỢNG PHẦN MỀM (SOFTWARE QUALITY MANAGEMENT) 168 Khái niệm Quản lý chất lượng (software quality management): tiến trình liên quan đến việc bảo đảm yêu cầu cấp độ chất lượng (level fo quality) sản phẩm phần mềm Quản lý chất lượng bao gồm định nghĩa tiêu chuẩn chất lượng thủ tục thích hợp đồng thời, bảo đảm việc phát triển phần mềm theo tiêu chuẩn Đối với tổ chức phần mềm hoạt động xây dựng mục tiêu chất lượng sản phẩm trách nhiệm thành viên (quality culture) 169 Thế chất lƣợng ? Chất lượng sản phẩm nghĩa sản phẩm làm phải với chi tiết kỹ thuật Một số khó khăn việc quản lý chất lượng phần mềm: Áp lực đòi hỏi chất lượng khách hàng (hiệu quả, độ tin cậy,…) yêu cầu chất lượng nhà thiết kế (dễ bảo trì, tái sử dụng,…) Một vài yêu cầu chất lượng khó mơ tả cách rõ ràng Đặc tả chi tiết phần mềm thường không đầy đủ thiếu quán 170 Thế sản phẩm PM chất lƣợng ? Đáp ứng yêu cầu kỹ thuật đề Kiểm soát liệu nhập dự tốn liệu nhập khơng hợp lệ Đã kiểm tra thử nghiệm hồn tồn người độc lập Có tài liệu hướng dẫn cụ thể rõ ràng Nhận biết tỉ lệ lỗi 171 Các tính chất chất lƣợng phần mềm An toàn Bảo mật Dễ hiểu Dễ kiểm tra Hiệu cao Ổn định Tái sử dụng Phần mềm có chất lượng Tƣơng thích cao Linh động Dễ học Mạnh mẽ trƣớc công 172 Mục tiêu Quản lý chất lƣợng PM Một hệ thống quản lý chất lượng phần mềm thường có mục tiêu: Mục tiêu thứ nhất: xây dựng chất lượng cho PM từ giai đoạn bắt đầu Điều đồng nghĩa với việc bảo đảm yêu cầu cho PM từ nguồn khác phải định nghĩa, diễn đạt hiểu cách đắn, người đưa yêu cầu người thực yêu cầu Mục tiêu thứ hai: bảo đảm chất lượng PM xuyên suốt trình phát triển 173 Các thỏa thuận chất lƣợng Không cần đợi biết rõ chi tiết sản phẩm cải tiến mà cần ý quản lý chất lượng trước Cần đặt thủ tục cải tiến chất lượng bất chấp chi tiết cịn chưa hồn chỉnh → Quản lý chất lượng không liên quan đến việc giảm tỉ lệ lỗi mà liên quan đến tiêu chuẩn chất lượng sản phẩm khác 174 Các thỏa thuận chất lƣợng Nhận diện tiến trình Định rõ cách quản lý tài liệu dự án Quality Planning Triển khai đảm bảo chất lượng (QA) xem xét kế hoạch quản lý cấu hình, tiêu chuẩn,… QUẢN LÝ CHẤT LƢỢNG Quality Control Ghi nhận phản hồi sửa lỗi Phân phối bảo trì Xét lại QA, tra kiểm thử Thiết kế thực Xem xét tiến trình QA để phù hợp chiến lược tổ chức QM cần độc lập với thực dự án Triển khai QA xét cung cấp cho hoạt động QA Lập kế hoạch 175 Quản lý chất lƣợng phát triển phần mềm (Quality Management and Software Development) Software Development Process D1 D2 D3 D4 D5 Quality Management Process Standard and Proceduces Quality plan Quality review reports 176 10 hoạt động yếu tố Các tiêu chuẩn (Standards) Lập kế hoạch (Planning) Xem xét, xem lại (Reviewing) Kiểm tra (Testing) Phân tích lỗi (Defect analysis) Quản lý cấu hình (Configuration Management) Bảo mật (Security) Đào tạo, huấn luyện (Education/Training) Quản lý người cung cấp, thầu phụ (Vendor Management) 10 Quản lý rủi ro (Risk Management) 177 IEEE 730-1989 Software Quality Assurance Plans Purpose Referenced documents Management Organization Tasks Responsibilities Documentation Purpose Minimum documentation requirements Other Standards, practices, convention and metrics Purpose Content Review and audits Purpose Minimum requirements Other Testing Problem reporting and corrective action Tools, techniques and methodologies 10 Code control 11 Media control 12 Supplier control 13 Records collection, maintenance and retention 14 Tranning 15 Risk management 182 Chất lƣợng phần mềm tiến trình (Process and Product Quality) Chất lượng sản phẩm phần mềm bị ảnh hưởng nhiều chất lượng tiến trình xây dựng sản phẩm Thuộc tính sản phẩm phụ thuộc vào chức tiến trình Việc quan trọng đặc biệt phát triển phần mềm số thuộc tính chất lượng sản phẩm khó đánh giá Đây điều phức tạp khó hiểu mối quan hệ tiến trình phần mềm chất lượng sản phẩm 183 Quản lý chất lƣợng theo tiến trình (Process-based Quality) Có liên kết rõ ràng tiến trình sản phẩm việc sản xuất sản phẩm hàng hóa Đối với sản phẩm phần mềm phức tạp vì: Việc áp dụng kỹ cá nhân kinh nghiệm điều quan trọng đặc biệt việc phát triển phần mềm Những yếu tố bên ngồi (như tính lạ ứng dụng rút ngắn thời gian triển khai) làm hư hại chất lượng sản phẩm 184 Chất lƣợng tiến trình (cơ bản) Định nghĩa trình Đánh giá chất lượng sản phẩm Phát triển sản phẩm Cải tiến trình khơng Yes Đạt? Chuẩn hóa tiến trình 185 Chất lƣợng tiến trình thực tế (Practical process quality) Định nghĩa tiêu chuẩn tiến trình: gồm trình xem xét, quản lý cấu hình,… Quan sát phát triển tiến trình: để đảm bảo tiểu chuẩn thực nghiêm túc Báo cáo tiến trình đến Trưởng dự án (Project Manager) 186 Kiểm soát chất lƣợng (Quality Control) Kiểm tra tiến trình phát triển phần mềm để đảm bảo thủ tục tiêu chuẩn thực Hai phương pháp tiếp cận: Xem xét chất lượng (Quality reviews) Đánh giá qua việc đo phần (assessment via software metrics) mềm 187 Đánh giá lại chất lƣợng (Quality reviews) Đây biện pháp chủ yếu để xác nhận tính hợp lệ chất lượng tiến trình hay sản phẩm Nhóm kiểm tra phần hay tất trình hay hệ thống tài liệu để phát vấn đề tiềm ẩn Có loại reviews khác với mục tiêu khác nhau: Thanh tra để gỡ bỏ lỗi (product) Xem xét để đánh giá tiến triển (product and process) Xem xét chất lượng (product and standards) 188 Quản lý rủi ro (Risk control) Rủi ro kiện xấu chưa có khả xảy cản trở khả hoàn thành dự án Phân loại rủi ro: Về kỹ thuật: Cần hiểu đủ dự án -> đưa giải pháp để giải Về quản lý: gồm rửi ro tài chính, kế hoạch, nhân lực, thay đổi yêu cầu Về vận hành: Huấn luyện không đầy đủ, sử dụng sai chức PM,… Về môi trường: môi trường phát triển, virus,… Về kiểm tra: không đúng, không đủ yêu cầu 189 Quản lý rủi ro (Risk control) Quy trình quản lý rủi ro gồm bước Nhận biết rủi ro Khảo sát mức tác động (bị ảnh hưởng) Xác định giải pháp Giám sát thực thi giải pháp cho rủi ro Phân loại giải pháp Loại bỏ hoàn toàn rủi ro kinh phí thấp hay gây ảnh hưởng nghiêm trọng cho dự án Phòng tránh Giảm thiểu thiệt hại: Chấp nhận: rủi ro không lớn, khả xảy cực thấp 190 Các độ đo phần mềm thuộc tính chất lƣợng (Quality attributes and software metrics) Thuộc tính chất lƣợng Maintainability Nnumber of procedure parameters Cyclomatic complexity Reliability Program size in line of code Portability Number of error messages Usability Length of user manual 191 Tiến trình đo phần mềm (Measurement process) Tiến trình đo phần mềm tiến trình tiến trình kiểm sốt chất lượng Dữ liệu thu thập tồn tiến trình cần lưu trữ tài nguyên Cơ sở liệu đo làm sở để so sánh với dự án khác 192 Độ đo sản phẩm (Product metrics) Tiến trình đo chất lượng sở để xác định chất lượng sản phẩm phần mềm Phân loại độ đo sản phẩm: Dynamic metrics: liên quan trực tiếp đến thuộc tính chất lượng, liệu đo tạo trình thực thi chương trình (thời gian đáp ứng, số lượng lỗi,…) dùng đánh giá tính hiệu tin cậy Static metrics: liên quan gián tiếp đến thuộc tính chất lượng, liệu đo trình biễu diễn hệ thống phần mềm (số dòng mã lệnh) dùng để đánh giá tính phức tạp, tính dễ hiểu khả bảo trì 193 Một số thuật ngữ đo sản phẩm phần mềm (Software Product metrics) 194 Một số thuật ngữ đo sản phẩm phần mềm (Software Product metrics) 195 Kết luận Một HTQLCLPM khơng có quy trình, kiểm tra lệnh, kết hợp gắn bó nhiều yếu tố Mục tiêu sau HTQLCLPM kiểm sốt chất lượng, nâng cao lợi ích công ty đảm bảo chất lượng PM Đây nghề mới, thu hút giới trẻ với thu nhập cao Yêu cầu: khả trình bày, thuyết phục tốt; biết lắng nghe, để thấy cần điều chỉnh điều chỉnh để thuyết phục tốt hơn; kỹ đo lường phân tích số liệu; kỹ làm phần mềm 196 ... phần mềm Quản lý chất lượng bao gồm định nghĩa tiêu chuẩn chất lượng thủ tục thích hợp đồng thời, bảo đảm việc phát triển phần mềm theo tiêu chuẩn Đối với tổ chức phần mềm hoạt động xây dựng. .. retention 14 Tranning 15 Risk management 182 Chất lƣợng phần mềm tiến trình (Process and Product Quality) Chất lượng sản phẩm phần mềm bị ảnh hưởng nhiều chất lượng tiến trình xây dựng sản phẩm... triển phần mềm số thuộc tính chất lượng sản phẩm khó đánh giá Đây điều phức tạp khó hiểu mối quan hệ tiến trình phần mềm chất lượng sản phẩm 183 Quản lý chất lƣợng theo tiến trình (Process-based