740f02measure17 1 An Evaluation of the MOOD Set of Object-Oriented Software Metrics Harrison, Counsell and Nithi IEEE Trans on Soft Eng June 1998.

Slides:



Advertisements
Similar presentations
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
Advertisements

1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Case Studies Instructor Paulo Alencar.
Prediction of fault-proneness at early phase in object-oriented development Toshihiro Kamiya †, Shinji Kusumoto † and Katsuro Inoue †‡ † Osaka University.
Chapter 8 Inheritance Part 2. © 2004 Pearson Addison-Wesley. All rights reserved8-2 Outline Creating Subclasses Overriding Methods Class Hierarchies Inheritance.
Inheritance Java permits you to use your user defined classes to create programs using inheritance.
Inheritance and object compatibility Object type compatibility An instance of a subclass can be used instead of an instance of the superclass, but not.
CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall
Software Testing and 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.
Software metrics Selected key concepts. Introduction Motivation:  Management:  Appraisal  Assurance  Control  Improvement  Research:  Cause-effect.
1 Inheritance and Polymorphism Inheritance (Continued) Polymorphism Polymorphism by inheritance Polymorphism by interfaces Reading for this lecture: L&L.
Evaluating the impact of refactorings on internal and external quality indicators.
Biological Ontologies Neocles Leontis April 20, 2005.
Object Oriented Metrics XP project group – Saskia Schmitz.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter N - 1 Chapter 13 Polymorphism is-a relationships Interfaces.
8.1 Classes & Inheritance Inheritance Objects are created to model ‘things’ Sometimes, ‘things’ may be different, but still have many attributes.
Inheritance. © 2004 Pearson Addison-Wesley. All rights reserved 8-2 Inheritance Inheritance is a fundamental object-oriented design technique used to.
Systems Analysis and Design in a Changing World, Fifth Edition
C++ Object Oriented 1. Class and Object The main purpose of C++ programming is to add object orientation to the C programming language and classes are.
 Simple payroll application that polymorphically calculates the weekly pay of several different types of employees using each employee’s Earnings method.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
CISC6795: Spring Object-Oriented Programming: Polymorphism.
Object-Oriented Metrics Alex Evans Jonathan Jakse Cole Fleming Matt Keran Michael Ababio.
Software Metrics  The measurement of a particular characteristic of a software program's performance or efficiency. (
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
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.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
1 Chapter 15 Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Concepts of Software Quality Yonglei Tao 1. Software Quality Attributes  Reliability  correctness, completeness, consistency, robustness  Testability.
Object-Oriented Database Processing
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.
OBJECT-ORIENTED PROGRAMMING (OOP) WITH C++ Instructor: Dr. Hany H. Ammar Dept. of Electrical and Computer Engineering, WVU.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Object-Oriented Design Justin Callanan CS 597. Object-Oriented Basics ● Data is stored and processed in “objects” ● Objects represent generalized real.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
1 Metrics validation criteria: How do we know when a metric is worthwhile? Ben Smith Andy Meneely Laurie Williams.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
CS451 - Lecture 2 1 CS451 Lecture 2: Introduction to Object Orientation Yugi Lee STB #555 (816) * Acknowledgement:
Object Oriented Programming
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Inheritance CSI 1101 Nour El Kadri. OOP  We have seen that object-oriented programming (OOP) helps organizing and maintaining large software systems.
Graph Coverage for Design Elements 1.  Use of data abstraction and object oriented software has increased importance on modularity and reuse.  Therefore.
F02measure13 1 Software Measurement Measurement is essential for a science.
Software Measurement: A Necessary Scientific Basis By Norman Fenton Presented by Siv Hilde Houmb Friday 1 November.
Java Software Solutions Lewis and Loftus Chapter 8 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Inheritance -- Introduction.
Measurement - part 5 1 An Evaluation of the MOOD Set of Object-Oriented Software Metrics Harrison, Counsell and Nithi IEEE Trans on Soft Eng June 1998.
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 OO Technical Metrics CIS 375 Bruce R. Maxim UM-Dearborn.
The MOOD Metrics Suite. Number of Methods Inherited b b In order to determine the number of methods inherited, the Software Engineer must do the following,
OBJECT-ORIENTED DESIGN JEAN SIMILIEN. WHAT IS OBJECT-ORIENTED DESIGN? Object-oriented design is the process of planning a system of interacting objects.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Chapter 12: Support for Object- Oriented Programming Lecture # 18.
Software METRICS. Intro Measurement is essential to life economic measurement... clinical measurement... air traffic control... etc., etc., etc....
Object Oriented Metrics
Polymorphism in Methods
Course Notes Set 12: Object-Oriented Metrics
Object-Oriented Metrics
SOFTWARE DESIGN AND ARCHITECTURE
Chapter 30 Product Metrics
Object-Oriented Programming: Polymorphism
The Basic of Measurement
Interfaces.
Figure 8.1 Inheritance: Relationships among timepieces.
Advanced Java Topics Chapter 9
Week 6 Object-Oriented Programming (2): Polymorphism
Evaluate the limit: {image} Choose the correct answer from the following:
Fundaments of Game Design
Software Engineering: A Practitioner’s Approach, 6/e Chapter 15 Product Metrics for Software copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
C++ Object Oriented 1.
Figure 8.1 Inheritance: Relationships among timepieces.
Presentation transcript:

740f02measure17 1 An Evaluation of the MOOD Set of Object-Oriented Software Metrics Harrison, Counsell and Nithi IEEE Trans on Soft Eng June 1998

740f02measure17 2 Criteria for Valid Metrics u 1. Must allow different entities to be distinguished u 2. Must obey representation condition u 3. Each unit of attribute contributing to a valid metric is equivalent u 4. Different entities can have the same attribute value

740f02measure17 3 types of measurement u direct –does not depend on other measures u indirect –involves one or more other measures –e.g. density

740f02measure17 4 Indirect metrics u 1. Explicitly defined model u 2. Model must be dimensionally consistent u 3. No unexpected discontinuities u 4. Units and scale types must be correct

740f02measure17 5 MHF definition u Summation over all methods in all classes of 1 minus the V(M) divided by the total number of methods

740f02measure17 6 Model for MHF? u What would be a good abstraction? u Is there a well-understood Empirical Relationship? u Scale Type?

740f02measure17 7 Validation – MHF/AHF u 1. Must allow different entities to be distinguished u 2. Must obey representation condition u 3. Each unit of attribute contributing to a valid metric is equivalent u 4. Different entities can have the same attribute value

740f02measure17 8 Indirect Validation – MHF/AHF u 1. Explicitly defined model u 2. Model must be dimensionally consistent u 3. No unexpected discontinuities u 4. Units and scale types must be correct

740f02measure17 9 Inheritance Factor M d (C i ) = number of methods declared in a class i M i (C i ) = number of methods inherited (and not overridden) in a class i M a (C i ) = M d (C i ) + M i (C i ) = number of methods that can be invoked in association with class i

740f02measure17 10 Model for MIF? u What would be a good abstraction? u Is there a well-understood Empirical Relationship? u Scale Type?

740f02measure17 11 Validation – MIF/AIF u 1. Must allow different entities to be distinguished u 2. Must obey representation condition u 3. Each unit of attribute contributing to a valid metric is equivalent u 4. Different entities can have the same attribute value

740f02measure17 12 Indirect Validation – MIF/AIF u 1. Explicitly defined model u 2. Model must be dimensionally consistent u 3. No unexpected discontinuities u 4. Units and scale types must be correct

740f02measure17 13 Coupling Factor

740f02measure17 14 Model for CF? u What would be a good abstraction? u Is there a well-understood Empirical Relationship? u Scale Type?

740f02measure17 15 Validation – CF u 1. Must allow different entities to be distinguished u 2. Must obey representation condition u 3. Each unit of attribute contributing to a valid metric is equivalent u 4. Different entities can have the same attribute value

740f02measure17 16 Indirect Validation - CF u 1. Explicitly defined model u 2. Model must be dimensionally consistent u 3. No unexpected discontinuities u 4. Units and scale types must be correct

740f02measure17 17 Polymorphism Factor Let M o (C i ) be the number of overriding methods in class i. Let M n (C i ) be the number of new methods in class i. Let DC(C i ) be the number of descendants of class i.

740f02measure17 18 Model for PF? u What would be a good abstraction? u Is there a well-understood Empirical Relationship? u Scale Type?

740f02measure17 19 Validation – PF u 1. Must allow different entities to be distinguished u 2. Must obey representation condition u 3. Each unit of attribute contributing to a valid metric is equivalent u 4. Different entities can have the same attribute value

740f02measure17 20 Indirect Validation - PF u 1. Explicitly defined model u 2. Model must be dimensionally consistent u 3. No unexpected discontinuities u 4. Units and scale types must be correct