Metrics for Object Oriented Design - PowerPoint PPT Presentation

About This Presentation
Title:

Metrics for Object Oriented Design

Description:

Important properties Coupling and Cohesion are derived based on the above representations. ... Depth of inheritance of the class is the DIT metric for the class. ... – PowerPoint PPT presentation

Number of Views:86
Avg rating:3.0/5.0
Slides: 11
Provided by: defst
Category:
Tags: design | dit | metrics | object | on | oriented

less

Transcript and Presenter's Notes

Title: Metrics for Object Oriented Design


1
Metrics for Object Oriented Design
  • Shyam R. Chidamber Chris F. Kemerer
  • Presented by
  • Ambikadevi Damodaran.

2
Introduction
  • Existing OO Design metrics are subject to one or
    more criticism.
  • There are lot of ongoing research for new suite
    of metrics for OO design.
  • Four Major steps involved in Object Oriented
    Design are
  • 1.Identifying Classes.
  • 2.Identifying the semantics of classes.
  • 3.Identifying relationships between Classes.
  • 4.Implementation of classes.

3
Different Representations of OOD
  • 1.D (A,R1Rn, O1..Om)
  • A is a set of Object-elements,
  • R1..Rn are relations,
  • O1..Om are operations on A.
  • 2.Viewed as collection of things with properties.
  • Important properties Coupling and Cohesion are
    derived based on the above representations.

4
Metric 1. Weighted Methods Per Class(WMC)
  • Let a class be C1 with methods M1..Mn. Let c1cn
    be the complexity of the methods. Then
  • WMC Summation of complexity c1cn
  • View Points
  • 1.The Number of methods and complexity of methods
    involved is a predicator of how much time and
    effort is required to develop and maintain the
    class.
  • 2.The larger the number of methods in a class the
    greater the potential impact on children, since
    children will inherit all the methods defined in
    the class.
  • 3.Classes with large numbers of methods are
    likely to be more application specific, limiting
    the possibility of reuse.

5
Metric 2. Depth of Inheritance(DIT)
  • Depth of inheritance of the class is the DIT
    metric for the class. DIT is a measure of how
    many ancestor classes can potentially affect this
    class.
  • View points
  • 1.The deeper a class is in the hierarchy, the
    greater the number of methods it is likely to
    inherit making it more complex.
  • 2.Deeper trees constitute greater design
    complexity, since more methods and classes are
    involved.
  • 3.The deeper a particular class is in the
    hierarchy, the greater the potential reuse of
    inherited methods.

6
Metric 3. Number of Children
  • It is a measure of how many subclasses are going
    to inherit the methods of the parent class.
  • Viewpoints
  • 1.Greater the number of children, greater the
    reuse, since the inheritance is a form of reuse.
  • 2.Greater the number of children, the greater the
    likelihood of improper abstraction of the parent
    class. If a class has a large number of children,
    it may be a case of misuse of sub classing.
  • 3. The number of children gives an idea of the
    potential influence a class has on the design. If
    a class has a large number of children, it may
    require more testing of the methods in that
    class.

7
Metric 4. Coupling between object classes
  • Objects are coupled if one of them acts on the
    other.
  • Viewpoints
  • 1.More independent the class is, the easier it is
    to reuse.
  • 2.The larger the number of couples, the
    maintenance is more difficult.
  • 3.The higher the inter-object class coupling the
    testing is more rigorous.

8
Metric 5. Response for a class(RFC)
  • The response set of a class is a set of methods
    that can potentially be executed in response to a
    message received by an object of that class.
  • View points
  • 1.With more number of methods, testing and
    debugging is more complicated.
  • 2.The larger the number of methods that can be
    invoked from a class, the greater the complexity
    of the class.

9
Metric 6 Lack of Cohesion in Methods(LCOM)
  • Lack of cohesion means, classes are not properly
    encapsulated, so it means the classes can be
    split into one or more subclasses.
  • View Points
  • 1.Low cohesion means increased complexity.
  • 2.Low cohesion also increases the likelihood of
    errors.

10
Conclusion
  • 1.These metrics reflects the viewpoints of OO
    developers.
  • 2.These metrics can be used as a vehicle to
    address consistency of entire application.
  • 3.By applying metrics, the areas that needs more
    testing can be identified.
  • 4.Any one of the metrics can be chosen depending
    on the needs of the organization.
Write a Comment
User Comments (0)
About PowerShow.com