SWEN 5430 Software Metrics Slide 1 Quality Management u Managing the quality of the software process and products using Software Metrics.

Slides:



Advertisements
Similar presentations
Advanced Information Systems Development (SD3043)
Advertisements

Chapter 24 Quality Management.
Influxive Quality Management
Software Quality Management
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
Figures – Chapter 24.
March 25, R. McFadyen1 Metrics Fan-in/fan-out Lines of code Cyclomatic complexity Comment percentage Length of identifiers Depth of conditional.
Nov R. McFadyen1 Metrics Fan-in/fan-out Lines of code Cyclomatic complexity* Comment percentage Length of identifiers Depth of conditional.
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
March R. McFadyen1 Software Metrics Software metrics help evaluate development and testing efforts needed, understandability, maintainability.
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.
SE 450 Software Processes & Product Metrics Activity Metrics.
Software Metrics portions ©Ian Sommerville 1995
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 27 Slide 1 Quality Management.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24Slide 1 Quality Management l Managing the quality of the software process and products.
Chapter 24 - Quality Management 1Chapter 24 Quality management.
Software Process and Product Metrics
Chapter 24 - Quality Management 1Chapter 24 Quality management.
Software maintenance Managing the processes of system change.
Chapter 24 - Quality Management Lecture 1 1Chapter 24 Quality management.
Software Reengineering 2003 년 12 월 2 일 최창익, 고광 원.
Software Re-engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24Slide 1 Quality Management l Managing the quality of the software process and products.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Lecture 17 Software Metrics
Chapter 24 Quality Management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
This chapter is extracted from Sommerville’s slides. Text book chapter
Product Metrics An overview. What are metrics? “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.”
1Software Measurement Advanced Software Engineering COM360 University of Sunderland © 2001.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 23 Instructor Paulo Alencar.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Software Quality Metrics
Concepts of Software Quality Yonglei Tao 1. Software Quality Attributes  Reliability  correctness, completeness, consistency, robustness  Testability.
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
©Ian Sommerville 2004 Software Engineering. Chapter 21Slide 1 Chapter 21 Software Evolution.
Quality Management 6/5/2016ICS 413 – Software Engineering1.
Quality Management Managing the quality of the software process and products.
Quality Management Managing the quality of the software process and products.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
 To introduce the quality management process and key quality management activities  To explain the role of standards in quality management  To explain.
通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬. Communication Overview System Architecture Overview Performance and Reliability Operation, Administration,
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Software Metrics.
Measurement and quality assessment Framework for product metrics – Measure, measurement, and metrics – Formulation, collection, analysis, interpretation,
SWEN 5231 FORMAL METHODS Slide 1 System models u Abstract presentations of systems whose requirements are being analyzed.
Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa SOFTWARE PRODUCT QUALITY Today: - Software quality -
Chapter 24 - Quality Management Lecture 2 1Chapter 24 Quality management.
Chapter 24 - Quality Management 1Chapter 24 Quality management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
CS223: Software Engineering Lecture 21: Unit Testing Metric.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
1 Week 7 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
Chapter 24 Quality Management.
Chapter 24 - Quality Management
Software Metrics 1.
Quality Management chapter 27.
IS301 – Software Engineering V:
Chapter 24 - Quality Management
Chapter 13 Quality Management
Chapter 24 - Quality Management
Software metrics.
Measurement What is it and why do it? 2/23/2019
Software Metrics SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Chapter 24 - Quality Management
Presentation transcript:

SWEN 5430 Software Metrics Slide 1 Quality Management u Managing the quality of the software process and products using Software Metrics

SWEN 5430 Software Metrics Slide 2 Objectives u To explain how software metrics may be used in quality management

SWEN 5430 Software Metrics Slide 3 Topics covered u Software metrics u Product quality metrics

SWEN 5430 Software Metrics Slide 4 u Any type of measurement which relates to a software system, process or related documentation Lines of code in a program, the Fog index, number of person- days required to develop a component u Allow the software and the software process to be quantified u Measures of the software process or product u Should be captured automatically if possible Software metrics

SWEN 5430 Software Metrics Slide 5 Predictor and control metrics

SWEN 5430 Software Metrics Slide 6 u A software property can be measured u The relationship exists between what we can measure and what we want to know u This relationship has been formalized and validated u It may be difficult to relate what can be measured to desirable quality attributes Metrics assumptions

SWEN 5430 Software Metrics Slide 7 Internal and external attributes

SWEN 5430 Software Metrics Slide 8 Data collection u A metrics program should be based on a set of product and process data u Data should be collected immediately (not in retrospect) and, if possible, automatically u Three types of automatic data collection Static product analysis Dynamic product analysis Process data collation

SWEN 5430 Software Metrics Slide 9 Automated data collection

SWEN 5430 Software Metrics Slide 10 Data accuracy u Don’t collect unnecessary data The questions to be answered should be decided in advance and the required data identified u Tell people why the data is being collected It should not be part of personnel evaluation u Don’t rely on memory Collect data when it is generated not after a project has finished

SWEN 5430 Software Metrics Slide 11 Measurement analysis u Not always obvious what data means. Analyzing collected data is very difficult u Professional statisticians should be consulted if available u Data analysis must take local circumstances into account

SWEN 5430 Software Metrics Slide 12 u A quality metric should be a predictor of product quality. u Most quality metrics are design quality metrics and are concerned with measuring the coupling or the complexity of a design. u The relationship between these metrics and quality as judged by a human may hold in some cases but it is not clear whether or not it is generally true. Product quality metrics

SWEN 5430 Software Metrics Slide 13 Product measurement process

SWEN 5430 Software Metrics Slide 14 Design maintainability u Cohesion How closely are the parts of a component related u Coupling How independent is a component u Understandability How easy is it to understand a component’s function u Adaptability How easy is to change a component

SWEN 5430 Software Metrics Slide 15 u Associated with Yourdon's 'Structured Design'/ Measures 'fan-in and fan-out' in a structure chart. u High fan-in (number of calling functions) suggests high coupling because of module dependencies. u High fan-out (number of calls) suggests high coupling because of control complexity. Coupling metrics

SWEN 5430 Software Metrics Slide 16 Structural fan-in and fan-out

SWEN 5430 Software Metrics Slide 17 u The approach based on the calls relationship is simplistic because it ignores data dependencies. u Informational fan-in/fan-out takes these into account. Number of local data flows + number of global data structures updated. Data-flow count subsumes calls relation. It includes updated procedure parameters and procedures called from within a module. u Complexity = Length * (Fan-in * Fan-out)2 Length is any measure of program size such as LOC. Henry and Kafura’s modifications

SWEN 5430 Software Metrics Slide 18 u Some studies with Unix found that informational fan-in/fan-out allowed complex and potentially fault components to be identified. u Some studies suggest that size and number of branches are as useful in predicting complexity than informational fan-in/fan-out. u Fan-out on its own also seemed to be a better quality predictor. u The whole area is still a research area rather than practically applicable. Validation of quality metrics

SWEN 5430 Software Metrics Slide 19 Program quality metrics u Design metrics also applicable to programs u Other metrics include Length. The size of the program source code Cyclomatic complexity. The complexity of program control Length of identifiers Depth of conditional nesting u Anomalous metric values suggest a component may contain an above average number of defects or may be difficult to understand

SWEN 5430 Software Metrics Slide 20 Metric utility u Length of code is simple but experiments have suggested it is a good predictor of problems u Cyclomatic complexity can be misleading u Long names should increase program understandability u Deeply nested conditionals are hard to understand. May be a contributor to an understandability index

SWEN 5430 Software Metrics Slide 21 u Cyclomatic complexity is a measure of control structure complexity u Metric has two drawbacks It is inaccurate for data-driven programs as it is only concerned with control constructs. It places the same weight on nested and non-nested loops. Deeply nested structures, however, are usually harder to understand. u Oviedo's metric modifies this to take data references into account C = aE +bN Complexity metrics

SWEN 5430 Software Metrics Slide 22 Documentation quality metrics u Readability of documentation is important u Gunnings Fog index is a simple measure of readability Based on length of sentences and number of syllables in a word u However, this can be misleading when applied to technical documentation

SWEN 5430 Software Metrics Slide 23 u Metrics still have a limited value and are not widely collected u Relationships between what we can measure and what we want to know are not well- understood u Lack of commonality across software process between organizations makes universal metrics difficult to develop Metrics maturity

SWEN 5430 Software Metrics Slide 24 Key points u Metrics gather information about both process and product u Control metrics provide management information about the software project. Predictor metrics allow product attributes to be estimated u Quality metrics should be used to identify potentially problematical components