Advanced Software Engineering Lecture 4: Process & Project 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.
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
R&D SDM 1 Metrics How to measure and assess software engineering? 2009 Theo Schouten.
A Good Manager Measures
Software Process and Product Metrics
Project Metrics Infsy 570 Dr. R. Ocker.
Software Metric capture notions of size and complexity.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
Software Engineering Software Process and Project Metrics.
Chapter 6 : Software Metrics
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
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.
Software Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
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
Estimation - Software Metrics Managers frequently have to measure the productivity of software engineers.
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.
Empirical Estimation Models Based upon historic data Basic Structure E = A + B * (ev) C where A, B, c are empirical constants ‘ev’ is the effort in terms.
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
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 Project Management
SPM UNIT 2 - Prof S. S. Deshmukh. Software measurements  Measurement gives us the insight by providing mechanism for evaluation.  There are four reasons.
Software Metrics 1.
Chapter 22 Process and Project Metrics
Software Engineering (CSI 321)
Chapter 4 Software Process and Project Metrics
Lecture 15: Technical Metrics
Software Project Sizing and Cost Estimation
Why Do We Measure? assess the status of an ongoing project
Software Project Planning &
Software Metrics “How do we measure the software?”
Why Do We Measure? assess the status of an ongoing project
Chapter 25 Process and Project Metrics
Software 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
Metrics for Process and Projects
Software Effort Estimation
Presentation transcript:

Advanced Software Engineering Lecture 4: Process & Project Metrics

Today’s Topics l Measurements, measures, metrics & indicators l Size-oriented metrics (LOC) l Function-oriented metrics (FP) l Measuring quality

Measurement Measurement is: “A prerequisite for all science” (Lord Kelvin) A hallmark of all engineering disciplines The foundation for a quantitative, scientific approach to software

Why Do We Measure? l To characterize “How can we characterize the robustness of our system?” l To evaluate “How can we demonstrate we meet our robustness goals?”

Why Do We Measure? [2] l To predict “How will the software behave if the number of current transactions is doubled?” l To improve “What is the gap between current and desired performance?” [From Park, Goethart & Florac 1996]

Software Metrics Information from measurement can be used for: Continuous improvement of a process Estimation Quality control Productivity assessment

Reflective Practice “Those who ignore the past are doomed to repeat it...” Flaws in a product or process will be a source of continual productivity loss Good engineers rarely make the same mistake twice Measurement is a key enabler for CMM process evolution

Measurements, Measures, and Indicators l measurement = action taken “Count the avg. defects / 1K LOC.” l measure = a measurement result “1.2 defects / 1K LOC” l indicator = comparison (trend) “v1.1 has.5 fewer defects / 1K LOC”

Process Indicators l Assess the paradigm l Assess ongoing SE tasks l Assess work products l Evaluate milestones l Adapt / change life-cycle model (or individual process components) “From project to project, what works and what doesn’t?”

Project Indicators l Track task status l Track potential risk factors l Evaluate quality control efforts l Impact: Uncover problem areas early Adjust workflow / tasks / resources “How can I assess the health of my current project?”

Outcome Measures l Errors noted before delivery l Errors noted after delivery l Work products delivered l Human effort expended l Calendar time elapsed l Schedule conformance l Effort on “umbrella” activities

Private vs. Public Measurement l Per individual & per module l Sensitive data: internal to project “Where can we improve?” vs. “Who’s doing poorly?” l PSP - Personal Software Process [Humphrey ‘95] “Software improvement must begin at the individual level”

Statistical Software Process Improvement (SSPI) l Categorize errors by origin (specification, logic, etc.) l Estimate cost to correct l Sort according to frequency l Estimate cost of each error type l Find highest-cost problems l Prioritize debugging efforts

[From SEPA 5/e] Defects and Their Origin

Error Analysis l “Fishbone” diagram used to analyze the causes of defects l The analysis can be used to derive indicators for future improvements [Grady ‘92]

[From SEPA 5/e] Fishbone Diagram

Direct Measures l Cost l Effort applied l LOC (lines of code) l Execution speed l Memory size l Defects reported

Indirect Measures l Functionality l Quality l Complexity l Efficiency l Reliability l Maintainability

Size-Oriented Metrics l Errors per KLOC l Defects per KLOC l $ per KLOC l Documentation pages per KLOC l Errors per person-month l LOC per person-month l $ per documentation page

Size-Oriented Metrics [From SEPA 5/e]

Is LOC a Good Measure? Lines of code are easily counted, but… LOC not necessarily related to quality Programming languages differ widely in LOC per functional requirement Difficult to estimate LOC There is more to SE than writing code!

What LOC Can’t Measure... l People factors (team size, skill) l Problem factors (complexity, change) l Process factors (techniques, tools) l Product factors (reliability, performance) l Resource factors (people, tools)

Function-Oriented Metrics l The function points (FP) metric analyzes the information domain and SW complexity: Number of inputs & outputs Number of user queries / commands Number of files Number of external interfaces [Albrecht, 1979] “Measure functionality, not LOC”

Weighting Factors [From SEPA 5/e]

l Set of 14 questions, answered on a scale from 0 to 10; e.g.: “Does the system require reliable backup and recovery?” “Are there distributed processing functions?” (See full list, page 91, SEPA 5/e) Complexity Adjustment Values

Computing Function Points FP = WF x [ x CAV] Weighting Factor Count Total Complexity Adjustment Value Total Constants (Empirically Determined) An abstract, relative measure (not concrete or absolute!) PRO: Useful way to compare the estimated effort on two different systems, or for projects over time CON: Must be tuned for each organization, domain; e.g.: feature points [Jones, 1991]: algorithmic complexity 3D function points [Whitmire, 1995]: data, function, control

Measures with Function Points l Errors per FP l Defects per FP l $ per FP l Pages of documentation per FP l FP per person-month

Lines of Code Per Function Point [from SEPA 5/e]

Metrics for Software Quality l Software is only as good as the quality of... the requirements description the design of the solution the code / program produced the tests used to find errors l QA = life-cycle task, not just a “finishing” activity l QA must address process, too!

Measuring Quality l Correctness defects per KLOC? errors per inputs processed? l Maintainability mean time to change (MTTC)? (Note: changes to software vary widely in scope and complexity!) l Integrity assess threats, security of software

Measuring Quality (2) l Usability physical / intellectual skill required? slope of the learning curve? net increase in productivity? subjective assessment from users?

[From SEPA 5/e] Integrating Metrics in the Process

Summary l Measurements, measures, metrics & indicators l Size-oriented metrics (LOC) l Function-oriented metrics (FP) l Measuring quality l Individual methods must be adjusted and tuned for a given software domain!