Software metrics.

Slides:



Advertisements
Similar presentations
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Advertisements

1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Project Estimation: Metrics and Measurement
Chapter 4 Software Process and Project Metrics
1 Estimating Software Development Using Project Metrics.
Metrics. A Good Manager Measures measurement What do we use as a basis? size? size? function? function? project metrics process metrics process product.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 4 Software Process and Project Metrics
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 22 Process and Project Metrics
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Process and Project Metrics
Process and Project Metrics
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Metrics for Process and Projects
Metrics for Process and Projects
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Metrics.
Software Engineering II - Topic: Software Process Metrics and Project Metrics Instructor: Dr. Jerry Gao San Jose State University
A Good Manager Measures
Software Process and Product Metrics
Project Metrics Infsy 570 Dr. R. Ocker.
Software Engineering Software Process and Project Metrics.
Chapter 6 : Software Metrics
Software Measurement & Metrics
Product Metrics An overview. What are metrics? “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.”
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CS460 © 2003 Ray S. Babcock Metrics The term metrics refers to any measurement related to software development. ● Lines of Code ● number of defects ● defects.
1 Chapter 4 Software Process and Project Metrics.
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
Software Metrics – part 2 Mehran Rezaei. Software Metrics Objectives – Provide State-of-art measurement of software products, processes and projects Why.
Lecture 4 Software Metrics
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
Chapter 3: Software Project Management Metrics
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
Advanced Software Engineering Lecture 4: Process & Project Metrics.
Chapter 22 Metrics for Process and Projects Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
9/8/99Lecture 51 CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 8, 1999 Marge Holtsinger.
Software Project Management Lecture # 3. Outline Metrics for Process and Projects  Introduction  Software Metrics Process metrics Project metrics Direct.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Test Metrics When you can measure what you are speaking about and express it in numbers, you know something about it; but when you cannot measure,
Objectives Introduce the necessity for software metrics Differentiate between process, project and product metrics Compare and contrast Lines-Of-Code (LOC)
Software Metrics 1.
Chapter 22 Process and Project Metrics
Software Engineering (CSI 321)
Chapter 4 Software Process and Project Metrics
Software Project Sizing and Cost Estimation
Why Do We Measure? assess the status of an ongoing project
Software Planning
Software Project Planning &
Software Engineering Metrics James Gain
Software Metrics “How do we measure the software?”
For University Use Only
Why Do We Measure? assess the status of an ongoing project
Chapter 25 Process and Project Metrics
COCOMO Models.
Process and Project Metrics
Why Do We Measure? assess the status of an ongoing project
Process and Project Metrics
Metrics for process and Projects
Why Do We Measure? assess the status of an ongoing project
Chapter 32 Process and Project Metrics
Chapter 22 Process and Project Metrics
Metrics for Process and Projects
Presentation transcript:

Software metrics

Measurement & Metrics Against: Collecting metrics is too hard ... it’s too time consuming ... it’s too political ... they can be used against individuals ... it won’t prove anything For: In order to characterize, evaluate, predict and improve the process and product a metric baseline is essential. “Anything that you need to quantify can be measured in some way that is superior to not measuring it at all” Tom Gilb

Terminology Measure: Quantitative indication of the extent, amount, dimension, or size of some attribute of a product or process. A single data point Metrics: The degree to which a system, component, or process possesses a given attribute. Relates several measures (e.g. average number of errors found per person hour) Indicators: A combination of metrics that provides insight into the software process, project or product Direct Metrics: Immediately measurable attributes (e.g. line of code, execution speed, defects reported) Indirect Metrics: Aspects that are not immediately quantifiable (e.g. functionality, quantity, reliability) Faults: Errors: Faults found by the practitioners during software development Defects: Faults found by the customers after release

A Good Manager Measures process process metrics project metrics measurement product metrics product What do we “Not everything that can be counted counts, and not everything that counts can be counted.” - Einstein use as a basis? • size? • function?

Process Metrics Focus on quality achieved as a consequence of a repeatable or managed process. Strategic and Long Term. Statistical Software Process Improvement (SSPI). Error Categorization and Analysis: All errors and defects are categorized by origin The cost to correct each error and defect is recorded The number of errors and defects in each category is computed Data is analyzed to find categories that result in the highest cost to the organization Plans are developed to modify the process Defect Removal Efficiency (DRE). Relationship between errors (E) and defects (D). The ideal is a DRE of 1:

Project Metrics Used by a project manager and software team to adapt project work flow and technical activities. Tactical and Short Term. Purpose: Minimize the development schedule by making the necessary adjustments to avoid delays and mitigate problems Assess product quality on an ongoing basis Metrics: Effort or time per SE task Errors uncovered per review hour Scheduled vs. actual milestone dates Number of changes and their characteristics Distribution of effort on SE tasks

Product Metrics Focus on the quality of deliverables Product metrics are combined across several projects to produce process metrics Metrics for the product: Measures of the Analysis Model Complexity of the Design Model Internal algorithmic complexity Architectural complexity Data flow complexity Code metrics

Normalization for Metrics How does an organization combine metrics that come from different individuals or projects? Depend on the size and complexity of the projec Normalization: compensate for complexity aspects particular to a product Normalization approaches: Size oriented (lines of code approach) Function oriented (function point approach)

Typical Normalized Metrics Project LOC FP Effort (P/M) R(000) Pp. doc Errors Defects People alpha 12100 189 24 168 365 134 29 3 beta 27200 388 62 440 1224 321 86 5 gamma 20200 631 43 314 1050 256 64 6 Size-Oriented: errors per KLOC (thousand lines of code), defects per KLOC, R per LOC, page of documentation per KLOC, errors / person-month, LOC per person-month, R / page of documentation Function-Oriented: errors per FP, defects per FP, R per FP, pages of documentation per FP, FP per person-month

Computing Function Points Analyze information domain of the application and develop counts Establish count for input domain and system interfaces Weight each count by assessing complexity Assign level of complexity (simple, average, complex) or weight to each count Assess the influence of global factors that affect the application Grade significance of external factors, F_i, such as reuse, concurrency, OS, ... FP = SUM(count x weight) x C where complexity multiplier C = (0.65+0.01 x N) degree of influence N = SUM(F_i) Compute function points

Exercise: Function Points Compute the function point value for a project with the following information domain characteristics: Number of user inputs: 32 Number of user outputs: 60 Number of user enquiries: 24 Number of files: 8 Number of external interfaces: 2 Assume that weights are average and external complexity adjustment values are not important. Answer: