Bài giảng Công nghệ phần mềm: Thẩm định và kiểm định được biên soạn nhằm mục tiêu giúp cho các bạn biết được khái niệm thẩm định và kiểm định phần mềm; quy trình kiểm tra chương trình và vai trò của nó trong thẩm định và kiểm định; kĩ thuật kiểm định phân tích tĩnh. | Công nghệ phần mềm Thẩm định và kiểm định Mục tiêu Thẩm định và kiểm định phần mềm là gì? Phân biệt Quy trình kiểm tra chương trình và vai trò của nó trong thẩm định và kiểm định Kĩ thuật kiểm định phân tích tĩnh Các chủ đề Lập kế hoạch thẩm định và kiểm định Software inspections Phân tích tĩnh được tự động hóa Source: Steve Easterbrook, 2008. CSC320, Uni of Toronto Thẩm định và kiểm định– V&V Thẩm định - Validation: "Are we building the right product?” Phát biểu bài toán có phản ánh chính xác bài toán thực hay không? Ta đã xét đến nhu cầu của tất cả các stakeholder chưa? Kiểm định - Verification: "Are we building the product right?” Thiết kế có tuân theo theo đặc tả không? Cài đặt có thỏa mãn đặc tả không? Hệ thống được giao cho khách hàng có thực hiện đúng những gì mà ta nói là nó sẽ làm? Các mô hình yêu cầu của ta có nhất quán với nhau không? Quy trình V&V Quy trình kéo dài toàn bộ chu trình sống V&V phải được áp dụng tại từng bước trong quy trình phần mềm Hai . | Công nghệ phần mềm Thẩm định và kiểm định Mục tiêu Thẩm định và kiểm định phần mềm là gì? Phân biệt Quy trình kiểm tra chương trình và vai trò của nó trong thẩm định và kiểm định Kĩ thuật kiểm định phân tích tĩnh Các chủ đề Lập kế hoạch thẩm định và kiểm định Software inspections Phân tích tĩnh được tự động hóa Source: Steve Easterbrook, 2008. CSC320, Uni of Toronto Thẩm định và kiểm định– V&V Thẩm định - Validation: "Are we building the right product?” Phát biểu bài toán có phản ánh chính xác bài toán thực hay không? Ta đã xét đến nhu cầu của tất cả các stakeholder chưa? Kiểm định - Verification: "Are we building the product right?” Thiết kế có tuân theo theo đặc tả không? Cài đặt có thỏa mãn đặc tả không? Hệ thống được giao cho khách hàng có thực hiện đúng những gì mà ta nói là nó sẽ làm? Các mô hình yêu cầu của ta có nhất quán với nhau không? Quy trình V&V Quy trình kéo dài toàn bộ chu trình sống V&V phải được áp dụng tại từng bước trong quy trình phần mềm Hai mục tiêu chính Phát hiện các khiếm khuyết trong một hệ thống; Đánh giá xem hệ thống có hữu ích và dùng được trong một tình huống vận hành hay không. Static and dynamic V&V Software inspections Requirement specification High-level design Formal specification Detailed design Program Program testing Software inspections Kiểm định Kiểu truyền thống (code verification) Kiểm thử chương trình – testing Duyệt chương trình – inspection, reviews Dựa vào mô hình (model-based verification) Các use case có thỏa mãn yêu cầu không? – goal analysis Mô hình lớp đối tượng có thỏa mãn các use case không? – robustness analysis Mã chương trình có nhất quán với mô hình hay không? – consistency checking Source: Steve Easterbrook, 2008. CSC320, Uni of Toronto Các kĩ thuật thẩm định Lựa chọn kĩ thuật Lập kế hoạch V&V V&V là quy trình rất tốn kém, có thể chiếm đến 50% tổng chi phí Lập kế hoạch tốt để thu được hiệu quả cao nhất của các quy trình kiểm thử (testing) và duyệt (inspection) Cần bắt