Download presentation
Presentation is loading. Please wait.
Published byEugene Hall Modified over 9 years ago
1
Software Engineering Software Process and Project Metrics
2
Objectives Define software metrics Why is it important to measure? Software measurement Metrics for software quality
3
Measurement & Metrics... collecting metrics is too hard... it's too time-consuming... it's too political... it won't prove anything... Anything that you need to quantify can be measured in some way that is superior to not measuring it at all.. Tom Gilb These courseware materials are used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
4
Software Metrics Are quantitative measures that give an insight into the efficacy of a process and the projects which use it. A set of such measures is called a work product. With measurement better estimates can be made and true improvement can be achieved over time.
5
Why is it important to measure? To characterize, i.e., gain understanding of processes, products, and resources. To evaluate and determine the status of project development with respect to plans. To predict relationships between processes, products, and models needed for planning. To improve by identifying inefficiencies and other opportunities.
6
Measures, Metrics and Indicators A measure is established when data is collected on a single data point e.g. measures used for an automobile might be its weight and horsepower. A software metric relates individual measures in a meaningful way e.g. max speed per quarter mile. An indicator is a metric or combination of metrics that become useful information e.g. cost per vehicle at manufacture.
7
Process Vs. Project Vs. Product Metrics Process metrics are used to assess the activities that are used to engineer and build computer software e.g. defect removal efficiency etc. Project metrics are used to monitor progress during software development and to control product quality e.g. effort/time per SE task, errors uncovered per review hour, scheduled vs. actual milestone dates etc.
8
Process Vs. Project Vs. Product Metrics Product metrics focus on the qualities of deliverables e.g. complexity of the design, code metrics etc.
9
Software Measurement Direct measures of the S.E. process include cost and effort applied. of the product include lines of code (LOC) produced, execution speed, memory size, etc. Indirect measures of the product include, quality, complexity, reliability, maintainability, etc.
10
Size-Oriented Metrics Size-oriented metrics are derived by normalizing quality or productivity measures over the product size. Examples: Errors per KLOC (thousand LOC), defects per KLOC, $ per LOC, etc. Accepted as the best way to measure the process of software development.
11
Function-Oriented Metrics Methods that indirectly measure the functionality delivered by the application. They make use of other direct measures. Examples: errors per FP (thousand lines of code), $ per FP, etc. Function points (FP) can be used to normalize software. These are easier to compute prior to implementation.
12
Computing Function Points Analyze information domain of the application and develop counts Weight each count by assessing complexity Assess influence of global factors that affect the application Compute function points Establish count for input domain and system interfaces Assign level of complexity or weight to each count Grade significance of external factors, F such as reuse, concurrency, OS,... degree of influence: N = F i complexity multiplier: C = (0.65 + 0.01 x N) function points = (count x weight) x C where: i These courseware materials are used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
13
Computing Function Points These courseware materials are used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
14
Metrics for Software Quality Factors that define software quality: Correctness - the degree to which a program operates according to specification Maintainability - the degree to which a program is amenable to change Integrity – the degree to which a program is vulnerable to outside attack Usability - the degree to which a program is easy to use
15
Defect removal efficiency (DRE) is an important software quality metric. DRE = E / (E+D) the ideal value for DRE is 1. E = # of errors before delivery D = # of defects found after delivery
16
Metrics Guidelines Provide regular feedback to the individuals and teams who have worked to collect measures and metrics. Don’t use metrics to appraise individuals. Work with practitioners and teams to set clear goals and metrics that will be used to achieve them. Never use metrics to threaten individuals or teams. Metrics data that indicate a problem area should not be considered “negative.” These data are merely an indicator for process improvement.
17
Remember… If developers do not measure they have no means for determining whether they are improving or not. Process improvement is essential to remain competitive economically. Small and large organizations alike can benefit economically from the intelligent use of software metrics.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.