Measuring the quality of UML Designs

Size: px
Start display at page:

Download "Measuring the quality of UML Designs"

Transcription

1 Measuring the quality of UML Designs Author: Mr. Mark Micallef Supervisor: Dr. Ernest Cachia Affiliation: University of Malta ( Keywords Software Quality, Metrics, Object- Oriented Design, UML, Automated Quality Measurement Abstract This paper gives an overview of a research project carried out at the University of Malta that looked into the measurement of the quality of objectoriented designs expressed in the Unified Modeling Language (UML). The project consisted of four parts Firstly, the project was concerned with identifying measurable structures in object-oriented designs. A second goal for the project was to choose a set of metrics to measure the quality of such structures. Thirdly, to develop a methodology for extracting information for these metrics from UML, and finally the implementation of a tool to automatically take metric readings from UML designs, provide graphical representation of these results and also to give advice about the interpretation of metric readings. The implemented tool was built as an extension to an existing open-source project called ARGO-UML Introduction Research shows that the more time it takes to discover a defect in a system, the more expensive it is to fix. Most design defects are not detected and survive through to the coding and testing phases of the development life cycle. This project provides a tool that allows the user to uncover possible flaws in a system before it is even coded. Project Goals Quality assurance should ideally be carried out at every stage of the software development life cycle but this project will concentrate solely on the design stage. More specifically, this project is concerned with: 1. Identifying the structures and characteristics that affect the quality of object-oriented designs. 2. Discovering what software quality attributes these structures influence. 3. Researching metrics that measure these structures. 4. Coming up with a methodology for extracting information for metriccalculation from UML diagrams. Page 1 of 11

2 5. Implementing a tool that analyzes UML diagrams and provides both textual and graphical representation of metric results. The tools should also give advice on interpreting the graphs it generates as well as provide the functionality of comparing results from different projects together. Structures in OO Designs The metrics used in this project should measure principle structures that, if improperly designed, will negatively affect the quality attributes of the design and subsequently the code. The aim of this section is to identify these structures and describe how they may affect the overall quality of the design. In object-oriented design, there are five key structures that should be measured: Classes, Messages, Cohesion, Coupling, and Inheritance. A class is a template from which objects can be created. These objects share a common structure and a common behavior manifested by their set of methods. Classes play a major role in the object-oriented paradigm. The way in which classes are designed will affect the overall understandability of a system making it easier or more difficult to maintain. The reusability of a system could also be affected by the way classes are designed. For example, classes with a large number of methods would tend to be more application-specific thus reducing the reuse value of the overall system. A message is a request that an object makes of another object to perform an operation. The operation executed as a result of receiving a message is called a method. It is important to study the message flow between objects because this will affect the understandability, maintainability and testability of a system. The more complex the message flows between objects are, the less understandable and maintainable the system is. This will also make the system more difficult to test. Cohesion is the degree to which methods within a class are related to one another and work together to provide well-bounded behavior. Effective OO designs maximize cohesion because it promotes encapsulation. The degree of cohesion in a system will affect the system s efficiency and reusability. A high degree of cohesion in a system indicates that most classes are selfcontained thus increasing the efficiency of the system because fewer messages will be passed between objects. Selfcontained classes can easily be plugged in for reuse in another system since they do not depend on other classes to function. Coupling is a measure of the strength of association established by a connection from one entity to another. Coupling between classes occurs through the use of one class methods and attributes by another class and through inheritance. Since good object-oriented design requires a balance between coupling and inheritance, inheritance couplings are usually not taken into account when evaluating the degree of coupling in a system. Coupling will affect the efficiency and reusability of a system. Strong coupling complicates a system, Page 2 of 11

3 thus making it less efficient. A designer should strive to design a system with the weakest possible links between classes. This will also make individual classes within the system more reusable. Inheritance is a mechanism whereby an object acquires characteristics from one or more other objects. Inheritance can reduce the complexity of a system by reducing the number of methods and attributes in child classes, but this abstraction of objects can make maintenance and design difficult. One can look at the inheritance characteristics of a system from two viewpoints: the depth of the inheritance tree and the breadth of the inheritance tree. The deeper a class is in the inheritance tree, the more methods it is likely to inherit thus making it more difficult to predict its behavior. In general, deeper trees constitute greater design complexity but a balance needs to be struck because the greater the use of inheritance, the greater the reuse of methods and attributes in higher-level classes. Analyzing the breadth of the inheritance tree of a project would involve looking at the number of immediate children of particular classes. This is an indicator of the potential influence a class can have on the design and on the system. The more children a class has, the higher the amount of reuse in that design but then again, a large number of children could indicate the improper abstraction of the parent class. Choice of Metrics The chosen metrics are separated into two groups: Structural Metrics and Reuse Metrics. The metrics in the Structural Metrics group measure the structures noted above and evaluate a variety of quality attributes whilst metrics in the Reuse Metrics group are specifically aimed at measuring different types of couplings and are used solely to evaluate the reusability of a design. There is a whole methodology behind the Reusability Metrics, which was invented by Price and Demurijan [PRI97]. This methodology is fully explained in the project report but a brief overview is given below. Structural Metrics Group The Structural Metrics group consists of six metrics that measure the structures manifested in object-oriented designs: Class, Message, Cohesion, Coupling, and Inheritance. There are two metrics for measuring inheritance - one that looks at the depth of the inheritance tree and another that looks at the breadth. The metrics are presented below in a concise way that gives the reader a general idea about them. For further details please consult the project report. The Structural Metrics are as follows: Weighted Methods per Class (WMC) Consider a class C 1, with methods m 1, m n. Let c 1, c n be the static complexity of the methods. Then WMC n ci i 1 The complexity measure used in this project will be Mc.Cabe s Cyclomatic Complexity. WMC analyzes the class structure and the result has a bearing on the Page 3 of 11

4 understandability, maintainability, and reusability of the system as a whole. The number of methods and the complexity involved is a predictor of how much time and effort is required to develop and maintain the class. The larger the number of methods in a class, the greater the potential impact on children, since children inherit all of the methods defined in a class. Classes with large numbers of methods are likely to be more application specific, limiting the possibility of reuse. Depth of Inheritance Tree (DIT) The depth of inheritance of a class is its depth in the inheritance tree. If multiple inheritance is involved, then the depth of the class is the length of the maximum path from the node representing the class to the root of the tree. The root class has a DIT of 0. DIT is essentially a measure of how many ancestor classes can possibly affect this class. It is worth noting that deeper trees constitute greater design complexity, since more methods and classes are involved. However, deeper trees also signify a greater level of internal reuse in the system so a balance between reuse and reduced complexity needs to be struck. Number of Children (NOC) The NOC of a class is simply a count of its immediate children. This gives an indication of the potential influence a class can have on the design and on the system. The greater the number of children, the greater the likelihood of improper parent abstraction, and it may be an indication of sub-classing misuse. Again, there has to be a compromise because a greater number of children indicate a larger degree of internal reuse of the particular class. If a class has a large number of children, it may require more testing of the methods of that class, thus increase the testing time. NOC, therefore, primarily evaluates efficiency, reusability, and testability. Coupling Between Objects (CBO) CBO for a class is a count of the number of non-inheritance related couples with other classes. Excessive coupling between objects outside of the inheritance hierarchy is detrimental to modular design and prevents reuse since the more independent an object is, the easier it is to reuse in a different application. Also, the larger the number of couples a class has, the more sensitive it is to changes in other parts of the design thus making maintenance more difficult. Response for a Class (RFC) RFC = RS where RS is the response set for the class. RS = {M i } {R i } Where: {M i } is the set of methods in the class And: {R i } is the set of methods called by methods in {M i } Basically, RFC is a count of the methods in a particular class and the methods in other classes that are called by the class. This gives an indication of a system s understandability, maintainability, and testability. If a large number of methods can be invoked in response to a message, Page 4 of 11

5 the testing and debugging of the object becomes more complicated. Also, the larger the number of methods invoked by an object, the more complex it is thus decreasing understandability and testability. It is worth noting that worstcase values for possible responses will assist in the appropriate allocation of testing time. Lack of Cohesion of Methods (LCOM) Consider a class C 1 with methods M 1, M 2,, M n. Let { I i } = set of instance variables used by method M i. There are n such sets: { I 1 }, { I n }. LCOM = The number of disjoint sets formed by the intersection of the n sets. LCOM uses the notion of similarity of methods. The number of disjoint sets provides a measure for the disparate nature of methods in a class. Fewer disjoint sets imply greater similarity of methods whilst a higher number of disjoint sets indicate that the methods in the class are not cohesive and that the class can probably be split into two or more subclasses. Cohesiveness of methods within a class is desirable since it promotes encapsulation of objects. Reuse Metrics Group As explained above, the reuse metrics group has a special methodology behind it that is explained fully in the project report. However, it will be explained briefly here. Price and Demurijan make a safe assumption that the designer is in a position to know two types of information: 1. Which classes are reusable. Reusable classes are called General classes and non-reusable classes are termed Specific classes. 2. Which class hierarchies are likely to be reused together in future systems. These are defined to be relatedhierarchies. Once this information is available, a design can be analyzed with respect to what types of couplings exist. There are eight different types and they are depicted in the table below. The terminology G S is read as a general class depending on a specific class. The table also shows whether effect of each type of coupling is positive, negative or neutral to the reusability of the system. Type Definition Effect on Reusability CC1 G G among related hierarchies +ve CC2 G G among unrelated -ve hierarchies CC3 G S among related hierarchies -ve CC4 G S among unrelated -ve hierarchies CC5 S G among related hierarchies Neutral CC6 S G among unrelated Neutral hierarchies CC7 S S among related hierarchies Neutral CC8 S S among unrelated Neutral Page 5 of 11

6 hierarchies The reuse metrics are then defined as summations of the different types of couplings. The designer should strive to structure designs so as to minimize couplings that have a negative effect on the reusability of the design. Extending UML It was found that the information required for most of the metrics was directly obtainable from a combination of 4 types of UML diagrams: Class Diagrams, Activity Diagrams, Sequence Diagrams, and Collaboration Diagrams. However there were certain metrics for which the information required was not entirely extractable from UML: 1. LCOM UML does not show which instance variables each method makes use of. 2. WMC There is no link between methods and the activity diagrams that describe their behavior. This information is needed for calculating complexity. 3. Reuse Metrics The concept of general and specific classes as well as the concept of related hierarchies are not catered for in UML. It was decided that the problems with LCOM and WMC will be solved by the tool requiring the user to manually linking methods to activity diagrams and defining which instance variables each method uses. However, in the case of the reuse metrics, two lightweight UML extensions were defined: 1. In order to specify which classes are general, a new stereotype was defined for use in UML class diagrams: <<General>> 2. In order to specify which class hierarchies are related to each other, a stereotype was defined to be used with associations in class diagrams. The designer can now depict related classes by drawing an association between them and stereotyping it as <<Reuse-Related>>. Extracting Metric Information from UML As explained above, it was found that the information required for most of the metrics was directly obtainable from a combination of 4 types of UML diagrams: Class Diagrams, Activity Diagrams, Sequence Diagrams, and Collaboration Diagrams. This combined with the extensions to UML and the tool support for gathering WMC and LCOM information paved the way for a complete methodology for extracting metric information from designs expressed in UML. A brief explanation will be given about how this is achieved for each metric but a more detailed approach is taken in the project report: The WMC metric requires information from two diagrams: Class Diagrams and Activity Diagrams. A list of methods for each class is obtainable from class diagrams and activity diagrams allow for the calculation of the complexity of each Page 6 of 11

7 method. The tool provides functionality for linking methods to activity diagrams. Wherever an activity diagram is not defined for a method, its complexity is taken to be 1. The DIT and NOC metrics are directly extractable from class diagrams since UML caters for depicting generalizations. Information for the CBO metric is extracted by counting all the noninheritance associations in a class diagram for a class. RFC requires a list of each class methods as well as a list of all the methods that a class can call. The class own methods are easily extractable from class diagrams but knowing what other methods the class calls will require scanning all the sequence diagrams and collaboration diagrams in the project for instances of the class and collecting information about which methods it is calling from other classes. Finally, LCOM will depend almost entirely on tool support for calculation. The user needs to identify which instance variables each method in a class uses. This can be partially aided using class diagrams but the user still has to painstakingly associate variables with methods. number of graphs that can make the job of interpreting metric results much easier. Graphs are interactive in the sense that the user can click on different points, columns etc and get information about what they represent. Below is a list of these graphs with brief explanations for each one. The tool provides advice on how to interpret each graph. This information is documented fully in the project report. 1. Weighted Methods Per Class (WMC) Histogram This graph basically plots complexity ranges against the number of classes in each range. 2. Number of Children (NOC) Scatter Graph This graph plots the number of children of each class against the DIT of that class. Graphical Representation Software development projects would typically contain hundreds of classes. This would make analyzing metric results very impractical if the user is simply presented with hundreds of numbers in a table. The tool provides a Page 7 of 11

8 5. Response for a Class (RFC) Histogram Plots ranges of RFC against the number of classes in each range. 3. Depth of Inheritance Tree (DIT) Histogram This histogram plots the different levels of inheritance against the percentage of classes in each inheritance level. 6. Lack of Cohesion of Methods (LCOM) scatter graph Plots the LCOM of each class against the maximum possible value for that class. 4. Coupling between Objects (CBO) Histogram Plots the different levels of coupling against the number of classes at each level of coupling. 7. Reuse Metrics Pie chart A piechart showing the distribution of the different types of couplings in the design. Slices are color-coded in shades of red (negative), green (positive) and yellow (neutral) to symbolize the affect of the couplings in each slice on the reusability of each design. Page 8 of 11

9 8. Averages Histogram sorted by Average A multi-project graph that plots the average value of a particular metric in all projects evaluated by the system and stored in the metric repository. Columns are displayed from left to right according to the value of the average and the current project is displayed in a different color. Miscellaneous Decisions and Features 1. It was decided that the tool would be built as an extension to an existing open-source UML editor: ArgoUML since creating a UML editor would have had minimal academic value and would have taken up too much time. 2. The tool holds a metric repository stored in XML format. The XML format was chosen because XML files are easily compressed and are standardized so different users of the tools and share metric data with each other. 9. Averages Histogram sorted by Function Points Same as the previous graph but the columns are sorted according to the function points of each project so the user can compare the average to that of projects with similar function point values. 3. The tool facilitates calculation of function points for each project. Function points serve the purpose to the user knowing which projects to meaningfully compare to each other based on their size. 4. The tool provides basic effortprediction features based on function points. The user is allowed to provide variables such as the number of man-hours per function point, the average cost per man-hour, etc. The tool then provides estimations on Page 9 of 11

10 how long the project is expected to take and what it will cost. Problems Encountered It took quite some time to learn the internal representation of UML used by ArgoUML. Also, since ArgoUML is an open-source project, it is constantly undergoing changes and improvements. There were problems encountered with saving/opening UML diagrams, which are as yet unfixed. There were also problems with ArgoUML s Sequence Diagram and Collaboration Diagram editors. Towards the end of the project, the person in charge fixed the sequence diagram editor bugs and I could implement the RFC metric. These are risks you take when depending on other people for the success of a project but the negative results were minimal. Conclusions The tool serves its purpose in the sense that it gives the user a high-level view of the quality of a design from different aspects of the system. On the negative side, it was found during testing that the collection of information for LCOM (defining the set of instance variables used by each method) will prove to be a lengthy process for medium-large projects and may not be feasible. It is recommended that a new metric with fewer overheads be found to measure cohesion. Further improvements could include: 1. Intelligent project-specific advice where the tool will give advice on each particular project it analyzes. 2. The tool could be improved to integrate the design process with the preceding specifications stage by providing a framework for verification of design with specification documents. 3. A repository browser where the user can remove/edit projects and metrics from the metrics repository. Currently, the tool only supports the adding of new data to the repository. 4. Snapshot features where a user will be able to keep a snapshot of metric results at different stages of the project in order to analyze changes in metric results over time. References The following is a list of the most important references used throughout the project. A full list of references is documented in the project report. BOO94 Object Oriented Analysis and Design with Applications Grady Booch KAN99 - Metrics and Models In Software Quality Engineering - Dr. Stephen H. Kan CHI94 - A Metrics Suite for Object- Oriented Design - Chidamber, Shyam and Kemerer, Chris PRI97 - Analyzing and Measuring Reusability in OO Designs - Price M.W., Demurijian S.A. Page 10 of 11

11 HIT96 - Chidamber and Kemerer s Metrics Suite a measurement perspective - Hitz M., Montazeri B. ALH98 UML in a Nutshell - Sinan Si Alhir SHE95 - Foundations of Software Measurement - Martin Shepperd PRE97 - Software Engineering - A Practitioner's Approach Roger S. Pressman ArgoUML webpage: Page 11 of 11

Technical Metrics for OO Systems

Technical Metrics for OO Systems Technical Metrics for OO Systems 1 Last time: Metrics Non-technical: about process Technical: about product Size, complexity (cyclomatic, function points) How to use metrics Prioritize work Measure programmer

More information

CHAPTER 4 HEURISTICS BASED ON OBJECT ORIENTED METRICS

CHAPTER 4 HEURISTICS BASED ON OBJECT ORIENTED METRICS CHAPTER 4 HEURISTICS BASED ON OBJECT ORIENTED METRICS Design evaluation is most critical activity during software development process. Design heuristics are proposed as a more accessible and informal means

More information

Effective Modular Design

Effective Modular Design CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang Metrics sarec.nd.edu/courses/se2017 Department of Computer Science and Engineering Effective Modular Design Modular design Reduces complexity

More information

Application of Object Oriented Metrics to Java and C Sharp: Comparative Study

Application of Object Oriented Metrics to Java and C Sharp: Comparative Study International Journal of Computer Applications (9 888) Volume 64 No., February Application of Object Oriented Metrics to Java and C Sharp: Comparative Study Arti Chhikara Maharaja Agrasen College,Delhi,India

More information

Research Article ISSN:

Research Article ISSN: Research Article [Agrawal, 1(3): May, 2012] IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY Use Of Software Metrics To Measure And Improve The Quality Of The Software Design

More information

Object Oriented Metrics. Impact on Software Quality

Object Oriented Metrics. Impact on Software Quality Object Oriented Metrics Impact on Software Quality Classic metrics Lines Of Code Function points Complexity Code coverage - testing Maintainability Index discussed later Lines of Code KLOC = 1000 Lines

More information

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University and OO OO and OO SE 3S03 - Tutorial 12 Department of Computer Science McMaster University Complexity Lorenz CK Week of Apr 04, 2016 Acknowledgments: The material of these slides is based on [1] (chapter

More information

Risk-based Object Oriented Testing

Risk-based Object Oriented Testing Risk-based Object Oriented Testing Linda H. Rosenberg, Ph.D. Ruth Stapko Albert Gallo NASA GSFC SATC NASA, Unisys SATC NASA, Unisys Code 302 Code 300.1 Code 300.1 Greenbelt, MD 20771 Greenbelt, MD 20771

More information

Using Metrics To Manage Software Risks. 1. Introduction 2. Software Metrics 3. Case Study: Measuring Maintainability 4. Metrics and Quality

Using Metrics To Manage Software Risks. 1. Introduction 2. Software Metrics 3. Case Study: Measuring Maintainability 4. Metrics and Quality Using Metrics To Manage Software Risks 1. Introduction 2. Software Metrics 3. Case Study: Measuring Maintainability 4. Metrics and Quality 1 1. Introduction Definition Measurement is the process by which

More information

Reusability Metrics for Object-Oriented System: An Alternative Approach

Reusability Metrics for Object-Oriented System: An Alternative Approach Reusability Metrics for Object-Oriented System: An Alternative Approach Parul Gandhi Department of Computer Science & Business Administration Manav Rachna International University Faridabad, 121001, India

More information

Principal Component Analysis of Lack of Cohesion in Methods (LCOM) metrics

Principal Component Analysis of Lack of Cohesion in Methods (LCOM) metrics Principal Component Analysis of Lack of Cohesion in Methods (LCOM) metrics Anuradha Lakshminarayana Timothy S.Newman Department of Computer Science University of Alabama in Huntsville Abstract In this

More information

Investigation of Metrics for Object-Oriented Design Logical Stability

Investigation of Metrics for Object-Oriented Design Logical Stability Investigation of Metrics for Object-Oriented Design Logical Stability Mahmoud O. Elish Department of Computer Science George Mason University Fairfax, VA 22030-4400, USA melish@gmu.edu Abstract As changes

More information

A Study of Software Metrics

A Study of Software Metrics International Journal of Computational Engineering & Management, Vol. 11, January 2011 www..org 22 A Study of Software Metrics Gurdev Singh 1, Dilbag Singh 2, Vikram Singh 3 1 Assistant Professor, JIET

More information

Towards Cohesion-based Metrics as Early Quality Indicators of Faulty Classes and Components

Towards Cohesion-based Metrics as Early Quality Indicators of Faulty Classes and Components 2009 International Symposium on Computing, Communication, and Control (ISCCC 2009) Proc.of CSIT vol.1 (2011) (2011) IACSIT Press, Singapore Towards Cohesion-based Metrics as Early Quality Indicators of

More information

Importance of Software Metrics to Quantify of Software Design and Source Code Quality

Importance of Software Metrics to Quantify of Software Design and Source Code Quality Importance of Software Metrics to Quantify of Software Design and Source Code Quality Siddharth Jain, Pradeep Baniya Asstistant. Professors, IIST-II Abstract-The vital role of software process improvement

More information

Software Quality Analysis by Object Oriented Approach in Design Phase Using UML

Software Quality Analysis by Object Oriented Approach in Design Phase Using UML Software Quality Analysis by bject riented Approach in Design Phase Using UML Anand Handa Abstract- Software Quality is the degree to which a finished product conforms to its specifications. The earlier

More information

Quantify the project. Better Estimates. Resolve Software crises

Quantify the project. Better Estimates. Resolve Software crises Quantify the project Quantifying schedule, performance,work effort, project status Helps software to be compared and evaluated Better Estimates Use the measure of your current performance to improve your

More information

Enhancing Object Oriented Coupling Metrics w.r.t. Connectivity Patterns

Enhancing Object Oriented Coupling Metrics w.r.t. Connectivity Patterns Enhancing Object Oriented Coupling Metrics w.r.t. Connectivity Patterns Thesis submitted in partial fulfillment of the requirements for the award of degree of Master of Engineering in Software Engineering

More information

Object Oriented Measurement

Object Oriented Measurement Object Oriented Measurement Diego Chaparro González dchaparro@acm.org Student number: 59881P 17th January 2003 Abstract This document examines the state of art in software products measurement, with focus

More information

Analysis of Reusability of Object-Oriented System using CK Metrics

Analysis of Reusability of Object-Oriented System using CK Metrics Analysis of Reusability of Object-Oriented System using CK Metrics Brij Mohan Goel Research Scholar, Deptt. of CSE SGVU, Jaipur-302025, India Pradeep Kumar Bhatia Deptt. of CSE., G J University of Science

More information

Moonzoo Kim CS Division of EECS Dept.

Moonzoo Kim CS Division of EECS Dept. Chapter 15 Product Metrics Moonzoo Kim CS Division of EECS Dept. KAIST 1 Overview of Ch15. Product Metrics 15.1 Software Quality 15.2 A Framework for Product Metrics 15.3 Metrics for the Analysis Model

More information

PREDICTION OF SOFTWARE DEFECTS USING OBJECT-ORIENTED METRICS

PREDICTION OF SOFTWARE DEFECTS USING OBJECT-ORIENTED METRICS International Journal of Civil Engineering and Technology (IJCIET) Volume 9, Issue 1, January 2018, pp. 889 899, Article ID: IJCIET_09_01_087 Available online at http://http://www.iaeme.com/ijciet/issues.asp?jtype=ijciet&vtype=9&itype=1

More information

EVALUATING IMPACT OF INHERITANCE ON OBJECT ORIENTED SOFTWARE METRICS

EVALUATING IMPACT OF INHERITANCE ON OBJECT ORIENTED SOFTWARE METRICS CHAPTER-4 EVALUATING IMPACT OF INHERITANCE ON OBJECT ORIENTED SOFTWARE METRICS 4.1 Introduction Software metrics are essential to software engineering for measuring software complexity and quality, estimating

More information

An Object-Oriented Metrics Suite for Ada 95

An Object-Oriented Metrics Suite for Ada 95 An Object-Oriented Metrics Suite for Ada 95 William W. Pritchett IV DCS Corporation 133 Braddock Place Alexandria, VA 22314 73.683.843 x726 wpritche@dcscorp.com 1. ABSTRACT Ada 95 added object-oriented

More information

Report and Opinion 2014;6(10) Measurement Of Software Complexity In Object Oriented Systems Abstract

Report and Opinion 2014;6(10)   Measurement Of Software Complexity In Object Oriented Systems Abstract Measurement Of Software Complexity In Object Oriented Systems Abstract Hari Om Sharan 1, Garima 1, Md. Haroon 1, and Rajeev Kumar 2 1 Deptt. of Computer Science, COE, Teerthankar Mahaveer University, Moradabad,

More information

FOR0383 Software Quality Assurance

FOR0383 Software Quality Assurance This method seems much, much bigger than all the other methods. FOR0383 Software Quality Assurance Lecture 15 Code metrics "You cannot control what you cannot measure." Tom DeMarco 2/11/2009 Dr Andy Brooks

More information

Empirical Evaluation and Critical Review of Complexity Metrics for Software Components

Empirical Evaluation and Critical Review of Complexity Metrics for Software Components Proceedings of the 6th WSEAS Int. Conf. on Software Engineering, Parallel and Distributed Systems, Corfu Island, Greece, February 16-19, 2007 24 Empirical Evaluation and Critical Review of Complexity Metrics

More information

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity Vragen Intra-modular complexity measures Wat wordt bedoeld met het ontwerpsprincipe: Anticipate obsolence? Wat is het voordeel van strong cohesion en weak coupling? Wat is het gevolg van hoge complexiteit

More information

Class Break Point Determination Using CK Metrics Thresholds

Class Break Point Determination Using CK Metrics Thresholds P a g e 73 Vol.10 Issue 14 (Ver.1.0) November 2010 Class Break Point Determination Using CK Metrics Thresholds Dr. E. Chandra 1, P. Edith Linda 2 GJCST Classification D.2.8 Abstract-The design and development

More information

How to Realization Architectural testing model using Measurement Metrics

How to Realization Architectural testing model using Measurement Metrics How to Realization Architectural testing model using Measurement Metrics Lalji Prasad 1, Sarita Singh Bhadauria 2 1 TRUBA College of Engineering & Technology/ Computer Science &Engineering, INDORE, INDIA

More information

J2EE Development Best Practices: Improving Code Quality

J2EE Development Best Practices: Improving Code Quality Session id: 40232 J2EE Development Best Practices: Improving Code Quality Stuart Malkin Senior Product Manager Oracle Corporation Agenda Why analyze and optimize code? Static Analysis Dynamic Analysis

More information

Effectiveness of software metrics for object-oriented system

Effectiveness of software metrics for object-oriented system Available online at www.sciencedirect.com Procedia Technology 6 (2012 ) 420 427 2nd International Conference on Communication, Computing & Security [ICCCS-2012] Effectiveness of software metrics for object-oriented

More information

Introduction to software metics

Introduction to software metics Introduction to software metics Alexander Voigt Version_05_21 Technische Universität Dresden Institut für Kern- und Teilchenphysik /01234/546 78994:!"##$%&'$()*+,%&-,,$)*.$ IKTP Computing Kaffee 12 December

More information

Procedia Computer Science

Procedia Computer Science Procedia Computer Science 00 (2009) 000 000 Procedia Computer Science www.elsevier.com/locate/procedia INSODE 2011 Theoretical Analysis for the Impact of Including Special Methods in Lack-of-Cohesion Computation

More information

Quality Metrics Tool for Object Oriented Programming

Quality Metrics Tool for Object Oriented Programming Quality Metrics Tool for Object Oriented Programming Mythili Thirugnanam * and Swathi.J.N. Abstract Metrics measure certain properties of a software system by mapping them to numbers (or to other symbols)

More information

Influence of Design Patterns Application on Quality of IT Solutions

Influence of Design Patterns Application on Quality of IT Solutions Influence of Design Patterns Application on Quality of IT Solutions NADINA ZAIMOVIC, DZENANA DONKO Department for Computer Science and Informatics Faculty of Electrical Engineering, University of Sarajevo

More information

Application of a Fuzzy Inference System to Measure Maintainability of Object-Oriented Software

Application of a Fuzzy Inference System to Measure Maintainability of Object-Oriented Software Application of a Fuzzy Inference System to Measure Maintainability of Object-Oriented Software Nasib Singh Gill and Meenakshi Sharma Department of Computer Science & Applications Maharshi Dayanand University,

More information

A METRICS SUITE FOR OBJECT ORIENTED DESIGN. Shyam R. Chidamber Chris F. Kemerer

A METRICS SUITE FOR OBJECT ORIENTED DESIGN. Shyam R. Chidamber Chris F. Kemerer A METRICS SUITE FOR OBJECT ORIENTED DESIGN Shyam R. Chidamber Chris F. Kemerer M.I.T. Sloan School of Management E53-315 30 Wadsworth Street, Cambridge, MA 02142 (617)-253-2791 (office) (617)-258-7579

More information

A Critical Analysis of Current OO Design Metrics

A Critical Analysis of Current OO Design Metrics A Critical Analysis of Current OO Design Metrics Tobias Mayer & Tracy Hall Centre for Systems and Software Engineering (CSSE) South Bank University, London, UK Abstract Chidamber and Kemerer (C&K) outlined

More information

Static Metrics. Feature Brief

Static Metrics. Feature Brief SOFTWARE QUALITY ASSURANCE TOOLS & TECHNOLOGY PROFESSIONAL SERVICES ACADEMY P a g e 1 Feature Brief Static Metrics Cantata provides a full and unique suite of intelligent testing capabilities for the efficient

More information

Software Design & Evolution. Lecture 04. You cannot control what you cannot measure. Metrics & Problem Detection. Michele Lanza

Software Design & Evolution. Lecture 04. You cannot control what you cannot measure. Metrics & Problem Detection. Michele Lanza Software Design & Evolution Lecture 04 Michele Lanza Metrics & Problem Detection Metrics? Don t trust them Michele Lanza & Radu Marinescu Object-Oriented Metrics in Practice Using Software Metrics to Characterize,

More information

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

CHAPTER 5 GENERAL OOP CONCEPTS

CHAPTER 5 GENERAL OOP CONCEPTS CHAPTER 5 GENERAL OOP CONCEPTS EVOLUTION OF SOFTWARE A PROGRAMMING LANGUAGE SHOULD SERVE 2 RELATED PURPOSES : 1. It should provide a vehicle for programmer to specify actions to be executed. 2. It should

More information

Analysis of Various Software Metrics Used To Detect Bad Smells

Analysis of Various Software Metrics Used To Detect Bad Smells The International Journal Of Engineering And Science (IJES) Volume 5 Issue 6 Pages PP -14-20 2016 ISSN (e): 2319 1813 ISSN (p): 2319 1805 Analysis of Various Software Metrics Used To Detect Bad Smells

More information

1 Introduction. Abstract

1 Introduction. Abstract An MVC-based Analysis of Object-Oriented System Prototyping for Banking Related GUI Applications Correlationship between OO Metrics and Efforts for Requirement Change Satoru Uehara, Osamu Mizuno, Yumi

More information

09. Component-Level Design

09. Component-Level Design 09. Component-Level Design Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 What is Component OMG UML Specification defines a component as OO view a

More information

A Hierarchical Model for Object- Oriented Design Quality Assessment

A Hierarchical Model for Object- Oriented Design Quality Assessment A Hierarchical Model for Object- Oriented Design Quality Assessment IEEE Transactions on Software Engineering (2002) Jagdish Bansiya and Carl G. Davis 2013-08-22 Yoo Jin Lim Contents Introduction Background

More information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

International Journal of Software and Web Sciences (IJSWS)

International Journal of Software and Web Sciences (IJSWS) International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) ISSN (Print): 2279-0063 ISSN (Online): 2279-0071 International

More information

Effects of Dependency Injection on Maintainability. Kate Razina

Effects of Dependency Injection on Maintainability. Kate Razina Effects of Dependency Injection on Maintainability Kate Razina Overview Introduction Maintainability Dependency Injection Hypothesis Research Measuring Maintainability Data Collection Results Conclusion

More information

Inheritance Metrics: What do they Measure?

Inheritance Metrics: What do they Measure? Inheritance Metrics: What do they Measure? G. Sri Krishna and Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology Bombay Mumbai, 400 076, India Email:{srikrishna,rkj}@cse.iitb.ac.in

More information

An Approach for Quality Control Management in Object Oriented Projects Development

An Approach for Quality Control Management in Object Oriented Projects Development J. Basic. Appl. Sci. Res., 3(1s)539-544, 2013 2013, TextRoad Publication ISSN 2090-4304 Journal of Basic and Applied Scientific Research www.textroad.com An Approach for Quality Control Management in Object

More information

METRIC ATTITUDE PLUG-IN FOR ECLIPSE USER GUIDE

METRIC ATTITUDE PLUG-IN FOR ECLIPSE USER GUIDE METRIC ATTITUDE PLUG-IN FOR ECLIPSE USER GUIDE Metric Attitude Pag. 0 CONTENTS CONTENTS... 1 INTRODUCTION... 2 ECLIPSE... 2 1. INSTALLING ECLIPS FOR WINDOWS SYSTEM... 3 2. INSTALLING METRIC ATTITUDE...

More information

Visualizing Software Metrics for increased Refactoring

Visualizing Software Metrics for increased Refactoring Visualizing Software Metrics for increased Refactoring Paul Steneram Bibby ada08pst@student.lu.se Fredrik Palmquist dat11fpa@student.lu.se March 7, 2016 Keywords: Agile Development, Code Complexity, Refactoring

More information

Analysis of Cohesion and Coupling Metrics for Object Oriented System

Analysis of Cohesion and Coupling Metrics for Object Oriented System 2016 IJSRSET Volume 2 Issue 2 Print ISSN : 2395-1990 Online ISSN : 2394-4099 Themed Section: Engineering and Technology Analysis of Cohesion and Coupling Metrics for Object Oriented System Annushri Sethi

More information

2IS55 Software Evolution. Software metrics (2) Alexander Serebrenik

2IS55 Software Evolution. Software metrics (2) Alexander Serebrenik 2IS55 Software Evolution Software metrics (2) Alexander Serebrenik Administration Assignment 5: Deadline: May 22 1-2 students Next week NO CLASS Next class May 15 / SET / W&I 2-5-2012 PAGE 1 Sources /

More information

Metrics in assessing the quality and evolution of jedit

Metrics in assessing the quality and evolution of jedit Metrics in assessing the quality and evolution of jedit Ilona Bluemke, Rafał Roguski Institute of Computer Science, Warsaw University of Technology Nowowiejska 15/19, 00-665 Warsaw, Poland I.Bluemke@ii.pw.edu.pl

More information

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator. Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad

More information

Inheritance. EEC 521: Software Engineering. Dealing with Change. Polymorphism. Software Design. Changing requirements Code needs to be flexible

Inheritance. EEC 521: Software Engineering. Dealing with Change. Polymorphism. Software Design. Changing requirements Code needs to be flexible Inheritance EEC 521: Software Engineering Software Design Design Patterns: Decoupling Dependencies 10/15/09 EEC 521: Software Engineering 1 Inheritance is the mechanism by which one class can acquire properties/responsibilities

More information

CHAPTER 4 QUANTIFICATION AND EVALUATION OF INTERFACE COMPLEXITY IN COTS BASED SYSTEMS

CHAPTER 4 QUANTIFICATION AND EVALUATION OF INTERFACE COMPLEXITY IN COTS BASED SYSTEMS 74 CHAPTER 4 QUANTIFICATION AND EVALUATION OF INTERFACE COMPLEXITY IN COTS BASED SYSTEMS 4.1 Introduction 4.2 Scope and Goal of the Chapter 4.3 Related Work 4.3.1 Complexity Metrics for Basic Software

More information

Kostis Kapelonis Athens Greece, March 2010

Kostis Kapelonis Athens Greece, March 2010 Quality Metrics: GTE, CAP and CKJM Kostis Kapelonis Athens Greece, March 2010 Menu More Quality metrics: Google Testability Explorer (Starter) Code Analysis Plugin (Main Course) CKJM metrics (Dessert)

More information

INTERNAL ASSESSMENT TEST III Answer Schema

INTERNAL ASSESSMENT TEST III Answer Schema INTERNAL ASSESSMENT TEST III Answer Schema Subject& Code: Object-Oriented Modeling and Design (15CS551) Sem: V ISE (A & B) Q. No. Questions Marks 1. a. Ans Explain the steps or iterations involved in object

More information

Evaluation of a Business Application Framework Using Complexity and Functionality Metrics

Evaluation of a Business Application Framework Using Complexity and Functionality Metrics Evaluation of a Business Application Framework Using Complexity and Functionality Metrics Hikaru Fujiwara 1, Shinji Kusumoto 1, Katsuro Inoue 1, Toshifusa Ootsubo 2 and Katsuhiko Yuura 2 1 Graduate School

More information

Usability Evaluation of Software Testing Based on Analytic Hierarchy Process Dandan HE1, a, Can WANG2

Usability Evaluation of Software Testing Based on Analytic Hierarchy Process Dandan HE1, a, Can WANG2 4th International Conference on Machinery, Materials and Computing Technology (ICMMCT 2016) Usability Evaluation of Software Testing Based on Analytic Hierarchy Process Dandan HE1, a, Can WANG2 1,2 Department

More information

Exploring Efficient Ways of Distributing Code Quality Metrics in Cloud

Exploring Efficient Ways of Distributing Code Quality Metrics in Cloud Exploring Efficient Ways of Distributing Code Quality Metrics in Cloud by Dibangku Baruah, B.Sc. Dissertation Presented to the University of Dublin, Trinity College in fulfillment of the requirements for

More information

CHAPTER 4 OBJECT ORIENTED COMPLEXITY METRICS MODEL

CHAPTER 4 OBJECT ORIENTED COMPLEXITY METRICS MODEL 64 CHAPTER 4 OBJECT ORIENTED COMPLEXITY METRICS MODEL 4.1 INTRODUCTION Customers measure the aspects of the final product to determine whether it meets the requirements and provides sufficient quality.

More information

A Comparative Study on State Programming: Hierarchical State Machine (HSM) Pattern and State Pattern

A Comparative Study on State Programming: Hierarchical State Machine (HSM) Pattern and State Pattern A Comparative Study on State Programming: Hierarchical State Machine (HSM) Pattern and State Pattern A. Cüneyd Tantuğ and Özdemir Kavak Abstract State machines can be implemented by using several methods.

More information

SNS College of Technology, Coimbatore, India

SNS College of Technology, Coimbatore, India Support Vector Machine: An efficient classifier for Method Level Bug Prediction using Information Gain 1 M.Vaijayanthi and 2 M. Nithya, 1,2 Assistant Professor, Department of Computer Science and Engineering,

More information

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only Chapter 10 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Appendix H Unified Modeling Language (UML) Preview The Unified Modeling Language (UML) is an object-oriented modeling language sponsored by the Object Management Group (OMG) and published as a standard

More information

ISSN: [Gupta* et al., 6(5): May, 2017] Impact Factor: 4.116

ISSN: [Gupta* et al., 6(5): May, 2017] Impact Factor: 4.116 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY OBJECT ORIENTED DESIGN METRICS FOR DESIGN AND COMPLEXITY ANALYSIS Sonam Gupta*, Prof. Anish Lazrus * Shri Shankaracharya group

More information

HOW AND WHEN TO FLATTEN JAVA CLASSES?

HOW AND WHEN TO FLATTEN JAVA CLASSES? HOW AND WHEN TO FLATTEN JAVA CLASSES? Jehad Al Dallal Department of Information Science, P.O. Box 5969, Safat 13060, Kuwait ABSTRACT Improving modularity and reusability are two key objectives in object-oriented

More information

Object Oriented Programming

Object Oriented Programming Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering

More information

Design Quality Assessment in Practice

Design Quality Assessment in Practice Design Quality Assessment in Practice my two hats... Radu Marinescu radum@cs.upt.ro Associate Professor since 006 Co-Founder and Head since 003 http://www.intooitus.com/ Co-Founder (008) Assessment with

More information

Introduction to ALM, UFT, VuGen, and LoadRunner

Introduction to ALM, UFT, VuGen, and LoadRunner Software Education Introduction to ALM, UFT, VuGen, and LoadRunner This course introduces students to the Application Lifecycle Management line products Introduction to ALM, UFT, VuGen, and LoadRunner

More information

CHAPTER 1. Objects, UML, and Java

CHAPTER 1. Objects, UML, and Java chpt_01.fm Page 1 Tuesday, December 4, 2001 10:24 AM CHAPTER 1 Objects, UML, and Java This book is about object-oriented (OO) software development. Writing real object-oriented programs that are used by

More information

Research Review on Basic Principles of Unified Modelling Language

Research Review on Basic Principles of Unified Modelling Language Research Review on Basic Principles of Unified Modelling Language Agha Salman Haider Sr Lecturer, Jazan University, Saudi Arabia Abstract This paper presents review of concepts, ideas and the introduction

More information

An Empirical Study on Object-Oriented Metrics

An Empirical Study on Object-Oriented Metrics An Empirical Study on Object-Oriented Metrics Mei-Huei Tang Ming-Hung Kao Mei-Hwa Chen Computer Science Department SUNY at Albany Albany, NY 12222 (meitang, kao, mhc)@cs.albany.edu Abstract The objective

More information

Thresholds for Software Quality Metrics in Open Source Android Projects

Thresholds for Software Quality Metrics in Open Source Android Projects Thresholds for Software Quality Metrics in Open Source Android Projects Mile Stojkovski Applied Computer Science Submission date: December 2017 Supervisor: Deepti Mishra, IDI Co-supervisor: Mariusz Nowostawski,

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

Software Metrics and Design Principles. What is Design?

Software Metrics and Design Principles. What is Design? Software Metrics and Design Principles Chapters 5,8 What is Design? Design is the process of creating a plan or blueprint to follow during actual construction Design is a problem-solving activity that

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

Towards the re-usability of software metric definitions at the meta level

Towards the re-usability of software metric definitions at the meta level Towards the re-usability of software metric definitions at the meta level - Position Paper - Jacqueline A. McQuillan and James F. Power Department of Computer Science, National University of Ireland, Maynooth,

More information

USING COMPLEXITY, COUPLING, AND COHESION METRICS AS EARLY INDICATORS OF VULNERABILITIES

USING COMPLEXITY, COUPLING, AND COHESION METRICS AS EARLY INDICATORS OF VULNERABILITIES USING COMPLEXITY, COUPLING, AND COHESION METRICS AS EARLY INDICATORS OF VULNERABILITIES by Istehad Chowdhury A thesis submitted to the Department of Electrical and Computer Engineering in conformity with

More information

ACICE-2013 ISSN: ; e-issn

ACICE-2013 ISSN: ; e-issn A comparative study on different object oriented metrics D.J.SAMATHA NAIDU 1, P.CHITTI BABU 2 1 MCA Department, Annamacharya PG College of Computer Studies, Rajampet, Kadapa,India 2 MCA Department, Annamacharya

More information

KINGS COLLEGE OF ENGINEERING

KINGS COLLEGE OF ENGINEERING KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING ACADEMIC YEAR 2011 2012(ODD SEMESTER) QUESTION BANK Subject Code/Name : CS1310-Object Oriented Analysis and Design Year/IV Sem

More information

Testing Object-Oriented Applications. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Testing Object-Oriented Applications. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only Chapter 19 Testing Object-Oriented Applications Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

More information

On the Actual Use of Inheritance and Interface in Java Projects: Evolution and Implications

On the Actual Use of Inheritance and Interface in Java Projects: Evolution and Implications On the Actual Use of Inheritance and Interface in Java Projects: Evolution and Implications Carlos E. C. Dantas, Marcelo de A. Maia Faculty of Computing Federal University of Uberlândia Uberlândia MG Brazil

More information

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

OBJECT-ORIENTED MODELING AND DESIGN. Introduction OBJECT-ORIENTED MODELING AND DESIGN Introduction Contents: Introduction. Course Relevance Learning Outcomes Overview of the syllabus Introduction to Object Orientation Introduction Object Oriented Approach

More information

Testing Object-Oriented Applications. Slide Set to accompany. Software Engineering: A Practitioner s Approach, 7/e by Roger S.

Testing Object-Oriented Applications. Slide Set to accompany. Software Engineering: A Practitioner s Approach, 7/e by Roger S. Chapter 19 Testing Object-Oriented Applications Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

More information

Taxonomy Dimensions of Complexity Metrics

Taxonomy Dimensions of Complexity Metrics 96 Int'l Conf. Software Eng. Research and Practice SERP'15 Taxonomy Dimensions of Complexity Metrics Bouchaib Falah 1, Kenneth Magel 2 1 Al Akhawayn University, Ifrane, Morocco, 2 North Dakota State University,

More information

ICAD A USE CASE BASED OBJECT-ORIENTED SOFTWARE DESIGN APPROACH USING THE AXIOMATIC DESIGN THEORY

ICAD A USE CASE BASED OBJECT-ORIENTED SOFTWARE DESIGN APPROACH USING THE AXIOMATIC DESIGN THEORY Proceedings of ICAD2006 ICAD-2006-29 A USE CASE BASED OBJECT-ORIENTED SOFTWARE DESIGN APPROACH USING THE AXIOMATIC DESIGN THEORY Andrey Ricardo Pimentel andreyrp@cpgei.cefetpr.br The Federal Technological

More information

Scanner - A tool for collecting object oriented software metrics from C++ class definitions

Scanner - A tool for collecting object oriented software metrics from C++ class definitions Scanner - A tool for collecting object oriented software metrics from C++ class definitions Murray Wong June 2, 1998 1 Introduction This paper presents Scanner, a tool for automating the collection of

More information

CSC207H: Software Design SOLID. CSC207 Winter 2018

CSC207H: Software Design SOLID. CSC207 Winter 2018 SOLID CSC207 Winter 2018 1 SOLID Principles of Object-Oriented Design How do we make decisions about what is better and what is worse design? Principles to aim for instead of rules. e.g. there is no maximum

More information

CHAPTER 3 ROLE OF OBJECT-ORIENTED METRICS IN SOFTWARE MEASUREMENT

CHAPTER 3 ROLE OF OBJECT-ORIENTED METRICS IN SOFTWARE MEASUREMENT CHAPTER 3 ROLE OF OBJECT-ORIENTED METRICS IN SOFTWARE MEASUREMENT 3.1 Introduction 3.2 Object-Oriented Metrics 3.2.1 CK Metrics 3.2.2 Metrics by Li and Henry 3.2.3 Metrics by Li 3.2.4 Metrics by Sharble

More information

CHAPTER 2 LITERATURE REVIEW

CHAPTER 2 LITERATURE REVIEW 26 CHAPTER 2 LITERATURE REVIEW 2.1 CLASSICAL METRICS FOR COMPLEXITY In the field of software metrics there has been research on metrics to predict fault-proneness, change-proneness, identifying refactorable

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : , Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,

More information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information