Lecture 15: Technical Metrics

Slides:



Advertisements
Similar presentations
System Integration Verification and Validation
Advertisements

Design Concepts and Principles
Metrics for Process and Projects
Metrics for Process and Projects
Developed by Reneta Barneva, SUNY Fredonia Product Metrics for Software.
Software Engineering II - Topic: Software Process Metrics and Project Metrics Instructor: Dr. Jerry Gao San Jose State University
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Software project management (intro) Quality assurance.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
R&D SDM 1 Metrics How to measure and assess software engineering? 2009 Theo Schouten.
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.
Technical Metrics for Software Chapter 18. Chapter Assistance -- Michael Jager January 9, Chapter Outline D Software Quality D A Framework.
1 SOFTWARE QUALITY ASSURANCE Basic Principles. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance SW Quality:
Software Metrics.
Software Process and Product Metrics
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 17 Software Quality
Managing Software Quality
1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:
Requirements specification Copyright, 2001 © Jerzy R. Nawrocki Quality Management.
Chapter 15 Software Product Metrics
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered.
Chapter 6 : Software Metrics
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Software Measurement & Metrics
1. Software Metric- A definition 2. Types of Software metrics 3. Frame work of product metrics 4. Product metrics.
Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality.
Version control – Project repository, version management capability, make facility, issue/bug tracking Change control Configuration audit – compliments.
1 Chapter 15 Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Software Quality Metrics
Lecture 4 Software Metrics
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
Measurement and quality assessment Framework for product metrics – Measure, measurement, and metrics – Formulation, collection, analysis, interpretation,
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
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.
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.
Metrics "A science is as mature as its measurement tools."
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
SE513 Software Quality Assurance Lecture12: Software Reliability and Quality Management Standards.
 System Requirement Specification and System Planning.
Chapter 2 Object-Oriented Paradigm Overview
TOTAL QUALITY MANAGEMENT
Software Quality Management
Rekayasa Perangkat Lunak Part-10
Rekayasa Perangkat Lunak
Quality Exercise 2 Instructions
McCall’s Quality Factors
Software Quality Assurance
Software Testing and Quality Assurance
Quality Exercise 2 Instructions
Software Project Sizing and Cost Estimation
Chapter 30 Product Metrics
Software engineering.
مقدمه اي بر مهندسي نيازمنديها
Rekayasa Perangkat Lunak
Charakteristiky kvality
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Managing Software Quality
Software metrics.
Chapter 19 Technical Metrics for Software
Metrics for Process and Projects
Presentation transcript:

Lecture 15: Technical Metrics Software Engineering Lecture 15: Technical Metrics

Today’s Topics Chapter 19 from SEPA 5/e Focus: assessing the quality of the product as it is engineered (Chapter 4 focuses on metrics applied at the process and project level) Qualitative & Quantitative Metrics

Product Quality “Requirements are the foundation for measuring quality; lack of conformance to requirements is lack of quality” Standards define development criteria which should be followed to maximize quality Software must meet implicit as well as explicit requirements

Measuring Quality Direct Measurement factors that can be directly measured e.g. defects per function point Indirect Measurement factors that can only be measured indirectly e.g. usability, maintainability

McCall’s Quality Factors “ability to undergo change” “adaptability to new environments” “operational characteristics” [From SEPA 5/e]

Quality Factors [2] Correctness meets spec & customer’s objectives Reliability performs with required precision Efficiency amount of resources required Integrity control of access to code & data

Quality Factors [3] Usability effort to learn, operate, interpret Maintainability effort to locate & fix errors Flexibility effort to modify an operational program Testability effort required to test a program

Quality Factors [4] Portability effort to switch h/w, s/w platform Reusability effort to reuse all or part of code Interoperability effort to couple with other systems

Measurability Fq = c1 x m1 + c2 x m2 +…+ cn x mn Q: Is it possible to directly measure these quality factors? A: Difficult, sometimes impossible Remedy: indirect formula based on things you can measure Fq = c1 x m1 + c2 x m2 +…+ cn x mn Ci = tuning coefficient mi = measurable metric Quality Factor

Grading Scheme Measurements = grade each dimension on a scale of 0 to 10 Combine metrics with an indirect formula to derive a quality factor Each quality factor is calculated by a subset of the metrics (see table)

Quality Factors Metrics e.g.: ‘Integrity’ is derived from grading on Auditability, Instrumentation, and Security Graded on a 0-10 Scale [From SEPA 5/e]

Other Quality Factors FURPS (HP): Functionality, Usability, Reliability, Performance, Supportability ISO 9126 Standard: Functionality, Reliability, Usability, Efficiency, Maintainability, Portability Can be used as a basis for indirect measurements

Qualitative vs. Quantitative Checklist approach is qualitative (and hence subjective) Lack of precision (two evaluators might assign different scores) Challenge for technical metrics: develop quantitative assessment of software quality

Measurement Principles Formulation derivation of appropriate metrics Collection mechanism used to collect data Analysis computation based on the data Interpretation evaluating the results to gain insight Feedback recommendations to the team

Effective Metrics Are: Simple & computable Empirically & intuitively persuasive Consistent & objective Proper mixes of units & dimensions Language-independent Effective mechanism for feedback ? Some good metrics don’t satisfy all the criteria : e.g. Function Points

Analysis Metrics Metrics based on output of analysis phase E.g., evaluate data flow diagram to determine: number of inputs number of outputs number of user queries number of files number of external interfaces

Analysis Metrics [2] [From SEPA 5/e]

Analysis Metrics [3] [From SEPA 5/e]

Specification Metrics Specificity, Completeness, Correctness, Understandability, Verifiability, Consistency, … Can be made quantitative, e.g. specificity (lack of ambiguity): Qs = nui/nr Requirements interpreted identically by all users Total requirements in specification

Design Metrics “Morphology” (Fenton ‘91) size = |nodes| + |arcs| = 17 + 18 = 35 depth = 4 width = 6 arc/node ratio: r = a/n = 18/17 = 1.06 “connectivity density” (coupling) “Morphology” (Fenton ‘91) [From SEPA 5/e]

Other Design Metrics Card & Glass (1990): Henry & Kafura (1981) Structural Complexity S(i) = fo(i)2 Data Complexity D(i) = v(i)/fo(i)+1 System Complexity C(i) = S(i) + D(i) Henry & Kafura (1981) HKM(i) = length(i) x (fi(i)+fo(i))2

Component-Level Metrics Cohesion (Bieman & Ott, 1994) data slices, glue tokens, stickiness “What % of tokens in the module are relevant to all data slices?” Coupling (Dhama, 1994) data/control flow, global, environmental “How many input/output parameters, accesses to global data, external calls to this module?” Complexity (e.g. Cyclomatic Complexity)

Interface Design Metrics Layout Appropriateness (Sears ‘93) Analyze user actions in terms of frequency of transition, cost of transition (from one GUI element to another) Optimize the LA by minimizing total “cost” of the layout Task performance and perceived satisfaction are highly correlated

Maintenance Metrics Software Maturity Index (SMI) (IEEE Std. 982.1-1988) Inputs: MT = number of modules in release FC = number of modules changed FA = number of modules added FD = number of modules deleted SMI = [MT -(FA+FC+FD)]/MT (tends to 1.0 as product stabilizes)

Summary To be useful, metrics must be simple & computable persuasive, consistent, objective language-independent able to provide useful feedback Based on analysis, design, or component descriptions Metrics for source code, testing, maintenance are less-developed

Questions?