Measurement and quality assessment Framework for product metrics – Measure, measurement, and metrics – Formulation, collection, analysis, interpretation,

Slides:



Advertisements
Similar presentations
Software Metrics for Object Oriented Design
Advertisements

Software Metrics Software Engineering.
Figures – Chapter 24.
Applying and Interpreting Object Oriented Metrics
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.
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
Object-Oriented Metrics. Characteristics of OO ● Localization ● Encapsulation ● Information hiding ● Inheritence ● Object abstraction.
Design Metrics Software Engineering Fall 2003 Aditya P. Mathur Last update: October 28, 2003.
Design Creative Process of transferring the problem into a solution
Designing the system Conceptual design and technical design
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Object-Oriented Metrics
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.
Technical Metrics for Software Chapter 18. Chapter Assistance -- Michael Jager January 9, Chapter Outline D Software Quality D A Framework.
1 Complexity metrics  measure certain aspects of the software (lines of code, # of if-statements, depth of nesting, …)  use these numbers as a criterion.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Metrics.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
Lecture 17 Software Metrics
Chapter 15 Software Product Metrics
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
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 Measurement & Metrics
1. Software Metric- A definition 2. Types of Software metrics 3. Frame work of product metrics 4. Product metrics.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15b: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e 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.”
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.
The CK Metrics Suite. Weighted Methods Per Class b To use this metric, the software engineer must repeat this process n times, where n is the number of.
The CK Metrics Suite. Weighted Methods Per Class b To use this metric, the software engineer must repeat this process n times, where n is the number of.
Software Quality Metrics
Concepts of Software Quality Yonglei Tao 1. Software Quality Attributes  Reliability  correctness, completeness, consistency, robustness  Testability.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 13 Introduction to Classes.
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 Design Design is the process of applying various techniques and principles for the purpose of defining a device, a process,, or a system in sufficient.
1 Metrics and lessons learned for OO projects Kan Ch 12 Steve Chenoweth, RHIT Above – New chapter, same Halstead. He also predicted various other project.
An Automatic Software Quality Measurement System.
CSc 461/561 Information Systems Engineering Lecture 5 – Software 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.
Ontology Support for Abstraction Layer Modularization Hyun Cho, Jeff Gray Department of Computer Science University of Alabama
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Object Oriented Metrics
Chapter : 23 Product Metrics. A Framework For Product Metrics Measure, Metric, And Indicator A measure provides an indication of the extent, amount, dimension,
Software Engineering Lecture 19: Object-Oriented Testing & Technical Metrics.
1 OO Technical Metrics CIS 375 Bruce R. Maxim UM-Dearborn.
Software Engineering Object Oriented Metrics. Objectives 1.To describe the distinguishing characteristics of Object-Oriented Metrics. 2.To introduce metrics.
CS223: Software Engineering Lecture 21: Unit Testing Metric.
1 Week 7 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
Design Metrics CS 406 Software Engineering I Fall 2001 Aditya P. Mathur Last update: October 23, 2001.
Object Oriented Metrics
School of Business Administration
Course Notes Set 12: Object-Oriented Metrics
Design Characteristics and Metrics
Lecture 15: Technical Metrics
Object-Oriented Metrics
Design Metrics Software Engineering Fall 2003
Chapter 30 Product Metrics
Design Metrics Software Engineering Fall 2003
Information flow-Test coverage measure
Mei-Huei Tang October 25, 2000 Computer Science Department SUNY Albany
Chapter 19 Technical Metrics for Software
Software Metrics SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 15 Product Metrics for Software copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 8: Design: Characteristics and Metrics
Presentation transcript:

Measurement and quality assessment Framework for product metrics – Measure, measurement, and metrics – Formulation, collection, analysis, interpretation, feedback – Principles for metrics characterization and validation Metrics for requirements model – Function-based metrics – Metrics for specification quality Metric for design model – Architectural design metrics – Metric for object-oriented design 2

Weighted methods per class (WMC) – n methods of complexity c 1, c 2, … cn for a class C – WMC = ∑c i for i = 1 to n – If complexity increases, more efforts are required – Limited reuse – Counting methods apparently seems straightforward – Consistent counting approach is required Depth of the inheritance tree (DIT) – Maximum length from the node to the root – If DIT grows, lower-level classes inherit many methods – Many methods may be reused – Leads to design complexity 3

Number of Children (NOC) – Immediate subordinate classes – NOC grows Reuse increases Abstraction of parent class may be diluted Testing effort increases Coupling between class objects (CBO) – If coupling increases Reusability decreases Testing and modification complicated – CBO as low as reasonable 4

Response for a class (RFC) – Methods potentially executed in response to message received by a class object – RFC increases, design complexity and testing increases Lack of cohesion in methods (LCOM) – Number of methods that access one or more of the same attributes – If no methods access same attribute, LCOM is zero – If LCOM high, complexity of design increases 5

Metrics for conventional components focus on internal characteristics of a component Cohesion metrics – Data slice Backward walk through a module to look data values – Data tokens Variables defined – Glue tokens Data tokens lies on data slice – Superglue tokens Data tokens common to every data slice – Stickiness The relative stickiness of glue token directly proportional to the number of data slices that it binds 6

Coupling metrics – Data and control flow coupling d i = number of input data parameters c i = number of input control parameters d o = number of output data parameters c o = number of output control data parameters – Global coupling g d = number of global variable used as data g c = number of global variable used as control – Environmental coupling w = number of modules called r = number of modules calling the module – m c = k/M where M = d i + (a * c i ) + d o + (b * c o ) + g d + (c * g c ) + w + r 7

Complexity metrics – Cyclomatic complexity Number of independent logical paths – Variations of cyclomatic complexity 8

Average operation size (OS avg ) – Number of lines of code or number of messages sent by the operation – If number of messages sent increases, most probably responsibilities are not well allocated within a class Operation complexity (OC) – Complexity metrics for conventional software – OC should be kept as low as possible Average number of parameters per operation (NP avg ) – Larger number of parameters, complex collaboration – NP avg should be kept as low as possible 9

Layout complexity – Number of distinct regions defined for an interface Layout region complexity – Average number of distinct links per region Recognition complexity – Average number of distinct items the user must look at before making navigation or data input decision Recognition time – Average time (in seconds) that it takes a user to select the appropriate action for a given task Typing effort – Average number of key strokes required for a specific function 10

Mouse pick effort – Average number of mouse picks per function Selection complexity – Average number of links that can be selected per page Content acquisition time – Average number of words of text per web page Memory load – Average number of distinct data items that the user must remember to achieve specific objective 11

Word count – Total number of words that appear on a page Body text percentage – Percentage of words that are body versus display text (i.e. headers) Emphasized body text % – Portion of body text that is emphasized (e.g., bold, capitalized) Text cluster count – Text areas highlighted with color, bordered regions, rules, or lists Link count – Total links on a page 12

Page size – Total bytes for the page as well as elements, graphics, and style sheets Graphic percentage – Percentage of page bytes that are for graphics Graphics count – Total graphics on a page (not including graphics specified in scripts, applets, and objects) Color count – Total colors employed Font count – Total fonts employed (i.e. face + size + bold + italic) 13

Page wait – Average time required for a page to download at different connection speeds Page complexity – Average number of different types of media used on page, not including text Graphic complexity – Average number of graphics media per page Audio complexity – Average number of audio media per page Video complexity – Average number of video media per page Animation complexity – Average number of animations per page Scanned image complexity – Average number of scanned images per page 14

For static pages Page-linking complexity – Number of links per page Connectivity – Total number of internal links, not including dynamically generated links Connectivity density – Connectivity divided by page count 15

n 1 = number of distinct operators that appear in a program n 2 = number of distinct operands that appear in a program N 1 = total number of operator occurrences N 2 = total number of operand occurrences Overall program length (N) and volume (V) N = n 1 log 2 n 1 + n 2 log 2 n 2 V = N log 2 (n 1 + n 2 ) 16

Lack of cohesion in methods (LCOM) – If LCOM is high, more states must be tested Percent public and protected (PAP) – Percentage of public and protected class attributes – High value for PAP increases the side effects among classes Public access to data members (PAD) – The number of classes (or methods) that access another class’s attributes – Violation of encapsulation 17

Number of root classes (NOR) – The number of distinct class hierarchies – Test should be developed for each root class and corresponding hierarchy – If NOR increases, testing effort also increases Fan-in (FIN) – Indication of multiple inheritance – FIN > 1 should be avoided Number of children (NOC) and depth of inheritance tree (DIT) 18

M T = number of modules in the current release F c = number of modules in the current release that have been changed F a = number of modules in the current release that have been added F d = number of modules from the preceding release that were deleted in the current release Software maturity index SMI = M T - (F a + F c + F d ) / M T 1 indicates the product stability 19

Class-oriented metrics – Weighted methods per class, depth of the inheritance tree, number of children, coupling, response for class, lack of cohesion Component-level design metrics – Cohesion, coupling, and complexity Operation-oriented metrics – Average operation size, operation complexity average number of parameters per operation Design metrics for WebApps Metrics for source code Metrics for object-oriented testing Metrics for maintenance 20