Objectives of quality measurement Classifications of software quality metrics Process metrics Product metrics Implementation of software quality metrics Limitations of software metrics The function point method ppt by cah based on Galin etc 8.1 A quantitative measure of the degree to which an item possesses a given quality attribute A function whose inputs are software data and whose output is a single numerical value that can be interested as the degree to which the software possesses a given quality attribute ppt by cah based on Galin etc 8.2 Facilitate management control, planning and managerial intervention. Based on Deviations of actual from planned performance. Deviations of actual timetable budget performance from planned. Identify situations for development or maintenance process improvements (preventative or corrective actions) Accumulation of metrics information regarding the performance of teams, units, etc. ppt by cah based on Galin etc 8.3 General Requirements Relevant Valid Reliable Comprehensive Mutually exclusive Operative requirements Easy and simple Does not require independent data collection Immune to biased interventions by interested parties ppt by cah based on Galin etc 8.4 1
Classification by phases of software system Process metrics - related to the software development process Product metrics - related to operation and maintenance of software Classification by subjects of measurements Quality Timetable Effectiveness (of error removal and maintenance services) ppt by cah based on Galin etc 8.5 classic metric that measures the size of software by thousands of code lines. Number of function points (NFP) measures the development (human) resources required to develop a program, based on the functionality specified for the software system. ppt by cah based on Galin etc 8.6 Process metrics categories Software process quality metrics Error density metrics (software volume + errors counted) Error sensitivity metrics Software process timetable metrics Error removal effectiveness metrics Software process productivity metrics Calculation of NCE Calculation of WCE Error severity class Number of Errors Relative Weight Weighted Errors a b c D = b x c low severity 42 1 42 medium severity 17 3 51 high severity 11 9 99 Total 70 --- 192 NCE 70 --- --- WCE --- 192 ppt by cah based on Galin etc 8.7 ppt by cah based on Galin etc 8.8 2
formula CED Code Error Density NCE CED = ----------- DED WCED D WCEF F Development Error Density Weighted Code Error Density Weighted Development Error Density Weighted Code Errors per Function Point Weighted Development Errors per Function Point NDE DED = ----------- WCE WCDE = --------- D = --------- WCE WCEF = ---------- NFP F = ---------- NFP formula ASCE Average Severity of WCE ASCE = ----------- Code Errors NCE ASDE Average Severity of Development Errors ASDE = ----------- NDE 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. = total weighted development (design and code) errors detected in development process. ppt by cah based on Galin etc 8.9 ppt by cah based on Galin etc 8.10 TTO Time Table Observance formula MSOT TTO = ----------- MS ADMC Average Delay of Milestone Completion TCDAM ADMC = ----------- MS MSOT = Milestones completed on time. MS = Total number of milestones. TCDAM = Total Completion Delays (days, weeks, etc.) for all milestones. formula DERE Development Errors NDE DERE = ---------------- Removal Effectiveness NDE + DWERE Development Weighted Errors Removal Effectiveness DWERE = ------------------ +WYF 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. = total weighted development (design and code) errors detected in development process. = number software failures detected during a year of maintenance service. WYF = weighted number of software failures detected during a year of maintenance service. ppt by cah based on Galin etc 8.11 ppt by cah based on Galin etc 8.12 3
DevP Development Productivity formula FDevP CRe DocR e Function point Development Productivity Code Reuse Documentation Reuse DevH DevP = ---------- DevH FDevP = ---------- NFP Re Cre = -------------- ReDoc DocRe = ----------- NDoc DevH = Total working hours invested in the development of the software system. Re = Number of thousands of reused lines of code. ReDoc = Number of reused pages of documentation. NDoc = Number of pages of documentation. HD quality metrics: HD calls density metrics - measured by the number of calls. HD calls severity metrics - the severity of the HD issues raised. HD success metrics the level of success in responding to HD calls. HD productivity metrics. HD effectiveness metrics. Corrective maintenance quality metrics. Software system failures density metrics Software system failures severity metrics Failures of maintenance services metrics Software system availability metrics Corrective maintenance productivity and effectiveness metrics. ppt by cah based on Galin etc 8.13 ppt by cah based on Galin etc 8.14 HDD HD calls density Formula NHYC WHDD WHDF Weighted HD calls density Weighted HD calls per function point = Thousands of lines of maintained software code. WHYC = weighted HD calls received during one year of service. = number of function points to be maintained. HDD = -------------- WHYC WHYC = ------------ WHYC WHDF = ------------ ASHC Average severity of HD Formula WHYC calls WHYC = weighted HD calls received during one year of service. ASHC = -------------- NHYC ppt by cah based on Galin etc 8.15 ppt by cah based on Galin etc 8.16 4
HDS HD service success Formula NHYOT HDS = -------------- NHYC NHYNOT = Number of yearly HD calls completed on time during one year of service. HDP HD Productivity Formula HDYH FHDP HDE Function Point HD Productivity HD effectiveness HDP= -------------- KLNC HDYH FHDP = ---------- HDYH HDE = -------------- NHYC HDYH = Total yearly working hours invested in HD servicing of the software system. = Thousands of lines of maintained software code. = number of function points to be maintained. ppt by cah based on Galin etc 8.17 ppt by cah based on Galin etc 8.18 Formula SSFD Software System Failure SSFD = -------------- Density Weighted Software System Failure Density WSSF D WSSFF Weighted Software System Failures per Function point WYF WFFFD = --------- WYF WSSFF = ---------- = number of software failures detected during a year of maintenance service. WYF = weighted number of yearly software failures detected during one year of maintenance service. = number of function points designated for the maintained software. = Thousands of lines of maintained software code. Formula ASSS Average Severity of WYF Software System F Failures ASSSF = -------------- = number of software failures detected during a year of maintenance service. WYF = weighted number of yearly software failures detected during one year. ppt by cah based on Galin etc 8.19 ppt by cah based on Galin etc 8.20 5
MRepF Maintenance Repeated Formula RepYF repair Failure metric - MRepF = -------------- = number of software failures detected during a year of maintenance service. RepYF = Number of repeated software failure calls (service failures). Formula FA VitA Full Availability Vital Availability NYSerH - H FA = ----------------------- NYSerH NYSerH - NYVitFH VitA = ----------------------------- NYSerH NYTFH TUA Total Unavailability TUA = ------------ NYSerH NYSerH = Number of hours software system is in service during one year. H = Number of hours where at least one function is unavailable (failed) during one year, including total failure of the software system. NYVitFH = Number of hours when at least one vital function is unavailable (failed) during one year, including total failure of the software system. NYTFH = Number of hours of total failure (all system functions failed) during one year. H NYVitFH NYTFH. 1 TUA VitA FA ppt by cah based on Galin etc 8.21 ppt by cah based on Galin etc 8.22 Formula CMaiP FCMP CMaiE Corrective Maintenance Productivity Function point Corrective Maintenance Productivity Corrective Maintenance Effectiveness CMaiYH CMaiP = --------------- CMaiYH FCMP = -------------- CMaiYH CMaiE = ------------ CMaiYH = Total yearly working hours invested in the corrective maintenance of the software system. = number of software failures detected during a year of maintenance service. = number of function points designated for the maintained software. = Thousands of lines of maintained software code. ppt by cah based on Galin etc 8.23 ppt by cah based on Galin etc 8.24 6
Budget constraints in allocating the necessary resources. Human factors, especially opposition of employees to evaluation of their activities. Validity Uncertainty regarding the data's, partial and biased reporting. ppt by cah based on Galin etc 8.25 Parameters used in development process metrics:, NDE, NCE. Parameters used in product (maintenance) metrics:, NHYC,. ppt by cah based on Galin etc 8.26 Programming style (). Volume of documentation comments (). Software complexity (, NCE). Percentage of reused code (NDE, NCE). Professionalism and thoroughness of design review and software testing teams: affects the number of defects detected (NCE). Reporting style of the review and testing results: concise reports vs. comprehensive reports (NDE, NCE). ppt by cah based on Galin etc 8.27 7