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.

Slides:



Advertisements
Similar presentations
SPEC Workshop 2008 Laboratory for Computer Architecture1/27/2008 On the Object Orientedness of C++ programs in SPEC CPU 2006 Ciji Isen & Lizy K. John University.
Advertisements

Metrics for OO Design Distinct & measurable characteristics of OO design:- Size:-it is defined as – population,volume,length & functionality Population.
CLUSTERING SUPPORT FOR FAULT PREDICTION IN SOFTWARE Maria La Becca Dipartimento di Matematica e Informatica, University of Basilicata, Potenza, Italy
Software Metrics for Object Oriented Design
Binder Object-Oriented Testing Metrics. Lack of Cohesion in Methods b b In order to calculate the lack of Cohesion in methods, the Software Engineer must.
Software Metrics Software Engineering.
Prediction of fault-proneness at early phase in object-oriented development Toshihiro Kamiya †, Shinji Kusumoto † and Katsuro Inoue †‡ † Osaka University.
Figures – Chapter 24.
Metrics for Object Oriented Design Shyam R. Chidamber Chris F. Kemerer Presented by Ambikadevi Damodaran.
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.
Design Metrics Software Engineering Fall 2003 Aditya P. Mathur Last update: October 28, 2003.
Object-Oriented Metrics
March R. McFadyen1 Software Metrics Software metrics help evaluate development and testing efforts needed, understandability, maintainability.
1 Complexity metrics  measure certain aspects of the software (lines of code, # of if-statements, depth of nesting, …)  use these numbers as a criterion.
Predicting Class Testability using Object-Oriented Metrics M. Bruntink and A. van Deursen Presented by Tom Chappell.
Object Oriented Metrics XP project group – Saskia Schmitz.
Software Metrics.
Chidamber & Kemerer Suite of Metrics
INFO 631 Prof. Glenn Booker Week 4 – Testing and Object-Oriented Metrics 1INFO631 Week 4.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Refactoring.
Object-Oriented Metrics Alex Evans Jonathan Jakse Cole Fleming Matt Keran Michael Ababio.
Japan Advanced Institute of Science and Technology
Paradigm Independent Software Complexity Metrics Dr. Zoltán Porkoláb Department of Programming Languages and Compilers Eötvös Loránd University, Faculty.
CHAPTER 13 Creating a Workbook Part 2. Learning Objectives Work with cells and ranges Work with formulas and functions Preview and print a workbook 2.
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 Engineering: A Practitioner’s Approach, 6/e Chapter 15b: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Chapter 17 GRASP: Designing Objects with Responsibilities. 1CS6359 Fall 2011 John Cole.
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.
1 OO Metrics-Sept2001 Principal Components of Orthogonal Object-Oriented Metrics Victor Laing SRS Information Services Software Assurance Technology Center.
Concepts of Software Quality Yonglei Tao 1. Software Quality Attributes  Reliability  correctness, completeness, consistency, robustness  Testability.
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 1 Evaluation of a Business Application Framework Using Complexity.
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.
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.
Measurement and quality assessment Framework for product metrics – Measure, measurement, and metrics – Formulation, collection, analysis, interpretation,
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology Mining Source Code Elements for Comprehending Object- Oriented.
Object-Oriented (OO) estimation Martin Vigo Gabriel H. Lozano M.
Ontology Support for Abstraction Layer Modularization Hyun Cho, Jeff Gray Department of Computer Science University of Alabama
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
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.
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,
Design Metrics CS 406 Software Engineering I Fall 2001 Aditya P. Mathur Last update: October 23, 2001.
What if analysis By: Fatimah Alotaibi.
Object Oriented Metrics
Course Notes Set 12: Object-Oriented Metrics
Design Characteristics and Metrics
Towards a Multi-paradigm Complexity Measure
McCall’s Quality Factors
Object-Oriented Metrics
CS427: Software Engineering I
Design Metrics Software Engineering Fall 2003
Design Metrics Software Engineering Fall 2003
Lorenz and Kidd Operation-Oriented Metrics Suite
Lorenz and Kidd Metrics Suite
Information flow-Test coverage measure
Mei-Huei Tang October 25, 2000 Computer Science Department SUNY Albany
Software Metrics SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Software Metrics using EiffelStudio
Process Exchange Transactions Activity
Lorenz and Kidd OOP Metrics Suite
Chapter 8: Design: Characteristics and Metrics
Personal Annual Summary CLICK TO ADD UP TITLE HERE
Presentation transcript:

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 methods for the given class. In order to complete this process, the software engineer must do the following, –Compute the complexity of the method, using a specific complexity measure. Please see links for more information on complexity metrics. –Input the value into the text box. –Click the Add button. –Continue process until all methods have been completed.

Depth of Inheritance Tree b In order to calculate this metric, the Software Engineer must consult their Inheritance tree. b An Example of this is as follows, b To find this, the Software Engineer must traverse the tree until the deepest child has been visited. It is then this number that should be entered. b In the preceding example, the number to be entered into the cell would be 4.

Number of Children b In order to calculate this metric, the Software Engineer must consult their Inheritance Tree. b An Example of this is as follows, b To calculate this metric, the Software Engineer must calculate the number of children that are one level below the class under calculation. b In the preceding example, the number of children for C2 is 3 (C21, C22, C23).

Coupling between Object Classes b In order to find the coupling between object classes, the Software Engineer must consult his/her set of CRC cards. b To find this value, the Software Engineer must do the following, –Obtain the class under calculation CRC index card. –Count the number of collaborations listed for the class. –Input this number into the cell.

Response for a Class b In order to calculate responce for a class, the Software Engineer must do the following, –Consult the classes CRC index card. –Take the first message and count the number of methods that can potentially be executed in response to this message –Record this number, and repeat this process for all methods. –When finished, input the greatest number into the cell.

Lack of Cohesion in Methods b In order to calculate the lack of Cohesion in methods, the Software Engineer must consult their CRC index cards. They should then do the following, –Pick the first attribute. –Go through the list of CRC cards and count the number of cards that access that particular attribute picked in step one. –Record this number and repeat until all attributes have been processed. –Take the greatest number and input this number into the cell.

Example of CK Metrics b For the first box enter 0.76, 0.76, 0.79 the hit ok after each one. b For the remaining boxes enter 5 b Formula for calculations  WMC =  C i b Weighted Metrics Class = Sum Classes

CK Metrics Summary b b Weighted Methods Per Class (WMC): 0.77 b b Depth of Inheritance Tree (DIT): 5 b b Number of Children (NOC): 5 b b Coupling between Object Classes (CBO): 5 b b Response for a Class (RFC): 5 b b Lack of Cohesion in Methods (LCOM): 5

CK Metrics Suggestions b b 1. Your Weighted Methods Per Class Metric is high thus limiting the potential reuse of this class. b b Therefore, you may want to reduce the number of methods and/or their complexity b b 2. The Depth of Inheritance Tree is high thus increasing the design complexity. b b Therefore, you may want to reduce the use of Inheritance. b b 3. The Number of Children for this class is high thus diluting the abstraction of the parent class and increasing the amounf of testing. b b Therefore, you may want to reduce the number of children. b b 4. The Coupling between object classes is high thus reducing the reusability of a class and complicating modifications and testing b b Therefore, you may want to reduce the number of collaborator class by combining similar collaborators. b b 5. The Response for a class is high thus increasing the testing effort, test sequence and the overall design complexity of the class b b Therefore, you may want to reduce the number of operations that maybe execute in response to a message recieved b b 6. The Lack of Cohesion in Methods is high thus increasing the complexity of class design b b Therefore, you may want to reduce the lack of cohesion in methods by breaking down the class into two or more seperate classes.