Bài giảng Đảm bảo chất lượng phần mềm - Chương 4: Các độ đo chất lượng phần mềm cung cấp cho người học các kiến thức: Các định nghĩa, độ đo CLPM (Software Quality Metric), phân loại độ đo phần mềm - Classifications of software metrics,... Mời các bạn cùng tham khảo.
Đảm bảo chất lượng phần mềm Software Quality Assurance Các độ đo chất lượng phần mềm PGS TS Trần Cao Đệ Bộ môn Công nghệ phần mềm Khoa CNTT&TT – Đại học Cần Thơ Năm 2013 Các định nghĩa (Definitions) • Số đo (Measure) CNPM danh từ: số đo cung cấp phạm vi, số lượng, kích thước, khả thuộc tính sản phẩm qui trình • Đo (Measurement): hành động xác định số đo • Độ đo (Metric): – “a quantitative measure of the degree to which a system, component, or process possesses a given attribute” IEEE Standard Glossary – Một số đo định lượng mức độ mà hệ thống, thành phần, qui trình có thuộc tính • Chỉ báo (Indicator): – a metric or combination of metrics that provides insight into the software process, project, or product itself – Một độ đo tổ hợp độ đo cung cấp nhìn sâu vào bên qui trình, dự án sản phẩm Độ đo CLPM (Software Quality Metric) • SQM: độ đo xác định số đo định lượng mức độ mà phần tử có thuộc tính chất lượng cho Một đo lường định lượng • Một hàm mà đầu vào liệu phần mềm đầu giá trị số phản ánh mức độ mà phần mềm có thuộc tính chất lượng • Mục tiêu – – Dễ dàng kiểm sốt, quản lí, lập kế hoạch thực điều chỉnh quản lí, dựa trên: • Điều rút từ thực so với hiệu mong đợi • Điều rút từ thực so với thời gian, ngân sách dự kiến Xác định tình trạng cho cải tiến qui trình phát triển bảo trì phần mềm (các hoạt động ngăn lỗi sửa lỗi) • Ví dụ: tích lũy độ đo nhằm vào hiệu nhóm làm việc Phân loại độ đo phần mềm Classifications of software metrics • Theo giai đoạn phần mềm – Các độ đo liên quan tới qui trình phát triển – Các độ đo liên quan tới qui trình vận hành bảo trì • Theo chủ đề đo – Chất lượng – Thời gian – Hiệu (trong loại bỏ lỗi dùng tài nguyên) Đo lường phần mềm - Software measures • Đo kích thước - Software size measures – KLOC – độ đo kích thước phần mềm cổ điển số ngàn dòng lệnh – Number of function points (NFP) – độ đo cơng sức địi hịi để phát triển phần mềm dựa vào đặc tả phần mềm • Độ đo chất lượng tiến trình phần mềm - Software process quality metrics – Độ đo mật độ lỗi - Error density metrics (software volume + errors counted) – Độ đo nhạy cảm với lỗi - Error sensitivity metrics • Độ đo khung thời gian tiến trình - Software process timetable metrics • Độ đo hiệu việc loại trừ lỗi - Error removal effectiveness metrics • Độ đo hiệu tiến trình - Software process productivity metrics Đo mật độ lỗi - Defect density •Defect density measure – Một báo sức khỏe phần mềm - an important health warning –Một độ đo thực tế : a de-facto measure of software quality Examples of Error density metrics •NCE = The number of code errors detected by code inspections and testing •NDE = total number of development (design and code) errors) detected in the development process •WCE = weighted total code errors detected by code inspections and testing •WDE = total weighted development (design and code) errors detected in development process Xác định độ đo phần mềm Defining software (quality) metrics Thách thức độ đo phần mềm Challenge of Quality Metrics • Mỗi phép đo dựa cách nhìn khác chất lượng độ p0hức tạp hệ thống • Mục tiêu pháp triển nhiều độ đo để nắm bắt thuộc tính khác chì số` chất lượng Tuy nhiên, PP luận khoa học cho việc làm chưa đưa Đo thiết kế giao diện - Interface Design Metrics • Các thực thể trình bày (Layout Entities) - graphic icons, text, menus, windows, • Bố trí thực thể phù hợp - Layout Appropriateness – Vị trí tương đối, vị trí tuyệt đối thực thể trình bày absolute and relative position of each layout entity – Tần suất dùng - frequency used – Giá để chuyển từ thực thể sang thực thể khác - cost of transition from one entity to another • LA = 100 x [(cost of LA-optimal layout) / (cost of proposed layout)] • Thiết kế giao diện cuối nên dựa phản hồi từ giao diện làm mẫu Metrics for Source Code • Software Science Primitives – – – – – – n1 = the number of distinct operators n2 = the number of distinct operands N1 = the total number of operator occurrences N2 = the total number of operand occurrences Length: N = n1log2n1 + n2log2n2 Volume: V = (N1+N2)log2(n1 + n2) – V = Nlog2(n1 + n2) Ví dụ Procedure sort(var x:array; n:integer); Var i,j,save:integer; Begin for i:=2 to n for j:=1 to i if x[i]