Design Quality Assessment in Practice
|
|
- Randolph Heath
- 6 years ago
- Views:
Transcription
1 Design Quality Assessment in Practice my two hats... Radu Marinescu Associate Professor since 006 Co-Founder and Head since Co-Founder (008)
2 Assessment with pictures Assessment with metrics Assessment with metrics 3 Assessment with tools Software is complex. 9% Succeeded forward engineering 8% Failed 53% Challenged The Standish Group, 004
3 forward engineering When, due to constraints, I design quickly and dirty, my project is loaded with technical debt. W.Cunningham, 99 actual development How can I control this...? You cannot control what you cannot measure. Tom de Marco
4 Metrics compress traits into numbers. Let s see some examples... Examples of metrics LOC - number of lines of code CYCLO - cyclomatic complexity of a function NOF - number of functions FANOUT - outgoing coupling... NOA - number of attributes DIT - depth of inheritance tree TCC - tight class cohesion Lorenz, Kidd, 994 Chidamber, Kemerer, 994
5 Trouble in paradise... Trouble : Thresholds
6 Metric Value LOC 3575 NOM? 368 NOC 384 CYCLO 5579 NOP 9 FANOUT 8590 Are these numbers normal? We need means to compare. We need comparable metrics.
7 Overview Pyramid provides a metrics overview. Marinescu, Lanza Overview Pyramid provides a metrics overview. Marinescu, Lanza Inheritance 0.5 CYCLO 9.7 LOC 9.4 NOM ANDC 0.3 AHH NOP 9 NOC NOM CALLS 0.56 FANOUT 0.5 CYCLO 9.7 LOC 9.4 NOM ANDC 0.3 AHH NOP 9 NOC NOM CALLS 0.56 FANOUT Size Communication Size Overview Pyramid provides a metrics overview. Marinescu, Lanza LOW Java AVG HIGH LOW C++ AVG HIGH CYCLO/LOC CYCLO 9.7 LOC 9.4 NOM ANDC 0.3 AHH NOP 9 NOC NOM CALLS 0.56 FANOUT LOC/NOM NOM/NOC OSS projects LOC
8 The Overview Pyramid provides a metrics overview. Marinescu, Lanza The Overview Pyramid provides a metrics overview. Marinescu, Lanza 0.5 CYCLO 9.7 LOC 9.4 NOM ANDC 0.3 AHH NOP 9 NOC NOM CALLS 0.56 FANOUT 0.5 CYCLO 9.7 LOC 9.4 NOM ANDC 0.3 AHH NOP 9 NOC NOM CALLS 0.56 FANOUT close to high close to average close to low The Overview Pyramid provides a metrics overview. Marinescu, Lanza Trouble : Granularity close to high close to average close to low
9 Metrics are aggregated in quality models... Problem: we don t reason in terms of metrics, but in terms of design principles? McCall, 977
10 Capture violations of design principles & best practices in an automatic manner... An example... Detection Strategies are metric-based queries to detect design flaws. Marinescu God Classes tend to centralize the intelligence of the, to do everything and to use data from small data-classes. A.Riel, 996 Rule METRIC > Threshold AND Quality problem Rule METRIC < Threshold
11 God Classes tend to centralize the intelligence of the, to do everything and to use data from small data-classes. God Classes centralize the intelligence of the, do everything and use data from small data-classes. God Classes are complex, are not cohesive, access external data. A God Class centralizes too much intelligence in the. Class uses directly more than a few attributes of other classes ATFD > FEW Marinescu, Lanza Compose metrics into queries using logical operators Functional complexity of the class is very high WMC VERY HIGH Class cohesion is low AND GodClass TCC < ONE THIRD
12 Shotgun Surgery Marinescu, Lanza Shotgun Surgery Marinescu, Lanza uses is Feature Envy Data Class (partial) Feature Envy uses Data Class Intensive Coupling Dispersed Coupling God Class Brain Class Brain Method Significant Duplication Intensive Coupling Dispersed Coupling God Class Brain Class is is Brain Method is partially Significant Duplication Refused Parent Bequest Tradition Breaker Refused Parent Bequest is Tradition Breaker (subclass) Futile Hierarchy Futile Hierarchy Identity Disharmonies Collaboration Disharmonies Classification Disharmonies Identity Disharmonies Collaboration Disharmonies Classification Disharmonies Measure quality deficit based on design problems Measure quality deficit based on design problems Quality Understandability Changeability Reusability Reusability Hierarchies uses is Shotgun Surgery Cohesion (partial) Feature Envy uses Data Class Size & Complexity Encapsulation Coupling Cohesion Hierarchies Quality Understand dability Changeability Size & Complexity Encapsulation Coupling Intensive Coupling Dispersed Coupling Refused Parent Bequest God Class Brain Class is is is Tradition Breaker Futile Hierarchy is partially Brain Method (subclass) Significant Duplication
13 Analysis name Impact class Analysis name Impact class Relative Impact level (L/H) SCOMP ENC CPL COH HIE Blob Class Significant External Duplication Significant Hierarchy Duplication Significant Internal Duplication God Class Data Class Data Clumps Intensive Coupling Dispersed Coupling Shotgun Surgery Cyclic Dependencies (ADP Breakers) Unnecessary Coupling Unstable Dependencies (SDP Breakers) Schizophrenic Class (SRP, ISP) Feature Envy Refused Parent Bequest (LSP) Tradition Breaker (SRP) SAP Breakers (DIP) Distorted Hierarchy (deep and narrow) class hierarchy class class class class hierarchy hierarchy hierarchy Blob Class Significant External Duplication Significant Hierarchy Duplication Significant Internal Duplication God Class Data Class Data Clumps Intensive Coupling Dispersed Coupling Shotgun Surgery Cyclic Dependencies (ADP Breakers) Unnecessary Coupling Unstable Dependencies (SDP Breakers) Schizophrenic Class (SRP, ISP) Feature Envy Refused Parent Bequest (LSP) Tradition Breaker (SRP) SAP Breakers (DIP) Distorted Hierarchy (deep and narrow) class H L L H L L hierarchy H L L H class H L H H H L L L H L L L H class H L H H H H H H L H L H class H L H H class L H H L L hierarchy H H H hierarchy H L L H L L H hierarchy H L H Impact class Weight class hierarchy 3 5 Impact class Weight class hierarchy 3 5 Impact level Weight L H Stay tuned for the infusion demo incode demos! Assessment with pictures Assessment with metrics 3 Assessment with tools
14 Assessment with pictures Polymetric views show up to 5 metrics Use metrics in a visual context! Height metric Position metrics Width metric Lanza, Ducasse, 003 Color metric System Complexity shows class hierarchies Example attributes methods lines
15 000+ classes in one picture classes in one picture... ArgoUML, 004 Java JDK.5, 0 Trouble in paradise... Trouble : Heterogeneity
16 Trouble : Edges are a pain... They are simply too many...
17 Edges work only in demos and research papers. :-) Beyond polymetric views... Polymetric Maps Visualize various design concerns. Reuse the layout!
18 Package Map: Layout Example: Package Maps Eclipse-JDT, 00 Package Map: Design Problems Package Map: Coupling none many client (uses other classes) no severe affected by design problems Eclipse-JDT, 00 none many provider (is used by other classes) Eclipse-JDT, 00
19 Package Map: Coupling A picture is worth a thousand words Interactive! Eclipse-JDT, 00 3 A demo is worth a thousand pictures Assessment with tools Proverb
20 infusion infusion Quality Deficit becomes quantifiable Detection of well-know design problems 3 Meaningful contextual advices 4 Interactive visualizations 3.5 MLOC A demo is worth a thousand pictures It s demo time!
21 Try out infusion yourself! Design Quality Assessment in Practice Radu Marinescu
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 informationSoftware Metrics and Problem Detection
Software Metrics and Problem Detection Oscar Nierstrasz Yuriy Tymchuk Selected material by Mircea Lungu Roadmap > Software Metrics Size / Complexity Metrics Quality Metrics > Metric-Based Problem Detection
More informationWhat are Metrics?! Functions, that assign a precise numerical value to. Detecting Design Problems using Metrics
Detecting Design Problems using Metrics What are Metrics?! Functions, that assign a precise numerical value to! Products (Software)! Resources (Staff, Tools, Hardware)! Processes (Software development).
More informationWhat and Why? Reverse Engineering. I. First Contact: the Forces. The Reengineering Life-Cycle
What and Why? Reverse Engineering Definition Reverse Engineering is the process of analyzing a subject system! to identify the system s components and their interrelationships and! create representations
More informationObject 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 informationA Systematic Review of Bad Smells Metrics. Luiz Paulo Coelho Ferreira
A Systematic Review of Bad Smells Metrics Luiz Paulo Coelho Ferreira Motivation One of the main goals in Software Engineering is to transform software development in a process predictable and controlled.
More informationTechnical 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 informationAn experience report on using code smells detection tools
Università degli Studi di Milano Bicocca DISCo Dipartimento di Informatica, Sistemistica e Comunicazione Francesca Arcelli Fontana, Elia Mariani Andrea Morniroli, Raul Sormani, Alberto Tonello RefTest
More informationRestructuring. What is restructuring? Tudor Gîrba Reengineering life cycle. What? forward engineering. reverse engineering
Restructuring Tudor Gîrba www.tudorgirba.com Reengineering life cycle Reengineering... is the examination and alteration of a subject system to reconstitute it in a new form and the subsequent implementation
More informationObject 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 informationRisk-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 informationSoftware Wartung und Evolution Modeling History with Metamodels. Harald Gall Institut für Informatik Universität Zürich
Software Wartung und Evolution Modeling with Metamodels Harald Gall Institut für Informatik Universität Zürich http://seal.ifi.unizh.ch Modeling to Understand Software Evolution 2007, Tudor Gîrba 13 27
More informationQuantify 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 informationSoftware Design and SOLID Principles
TCSS 360: SOFTWARE DEVELOPMENT AND QUALITY ASSURANCE OBJECTIVES Software Design and SOLID Principles Wes J. Lloyd Institute of Technology University of Washington - Tacoma SessionMgr read_from_db() store_in_db()
More informationMeasuring the quality of UML Designs
Measuring the quality of UML Designs Author: Mr. Mark Micallef (mmica@cs.um.edu.mt) Supervisor: Dr. Ernest Cachia (eacaci@cs.um.edu.mt) Affiliation: University of Malta (www.um.edu.mt) Keywords Software
More informationInfluence 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 informationMaintainability and Agile development. Author: Mika Mäntylä
Maintainability and Agile development Author: Mika Mäntylä ISO 9126 Software Quality Characteristics Are the required functions available in the software? How easy is it to
More informationSingle Responsibility Principle
Single Responsibility Principle Class should have only one responsibility which means class should be highly cohesive and implement strongly related logic. Class implementing feature 1 AND feature 2 AND
More informationCHAPTER 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 informationSoftware Visualization Applied S. Ducasse rmod.lille.inria.fr / stephane.ducasse.free.fr
Software Visualization Applied S. Ducasse rmod.lille.inria.fr / stephane.ducasse.free.fr Working on more than program visualization... Code analysis Software metrics Quality model Dynamic analysis Refactorings
More informationResearch Article An Empirical Study of the Effect of Power Law Distribution on the Interpretation of OO Metrics
ISRN Software Engineering Volume 213, Article ID 198937, 18 pages http://dx.doi.org/1.1155/213/198937 Research Article An Empirical Study of the Effect of Power Law Distribution on the Interpretation of
More informationSoftware Engineering
Software Engineering CSC 331/631 - Spring 2018 Object-Oriented Design Principles Paul Pauca April 10 Design Principles DP1. Identify aspects of the application that vary and separate them from what stays
More informationSoftware Metrics for Package Remodularisation
Software Metrics for Package Remodularisation (Des métriques logicielles pour la remodularisation de packages) Deliverable: 1.1 - Cutter ANR 2010 BLAN 0219 02 Stéphane Ducasse, Nicolas Anquetil, Usman
More informationVisualizing 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 informationEasyChair Preprint. Software Metrics Proposal for Conformity Checking of Class Diagram to SOLID Design Principles
EasyChair Preprint 508 Software Metrics Proposal for Conformity Checking of Class Diagram to SOLID Design Principles Intan Oktafiani and Bayu Hendradjaya EasyChair preprints are intended for rapid dissemination
More informationEvolving Software. CMSC 433 Programming Language Technologies and Paradigms Spring Example. Some Motivations for This Refactoring
CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Refactoring April 24, 2007 Lots of material taken from Fowler, Refactoring: Improving the Design of Existing Code 1 Evolving Software
More informationApplication 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 informationSOLID Principles. Equuleus Technologies. Optional Subheading October 19, 2016
SOLID Principles Optional Subheading October 19, 2016 Why SOLID Principles? The traits of well designed software are as follows Maintainability - The ease with which a software system or component can
More informationAdministrivia. Programming Language Fall Example. Evolving Software. Project 3 coming out Midterm October 28. Refactoring October 14, 2004
CMSC 433 Programming Language Fall 2004 Project 3 coming out Midterm October 28 Administrivia Refactoring October 14, 2004 Lots of material taken from Fowler, Refactoring: Improving the Design of Existing
More informationSoftware metrics for Java and C++ practices. Référencement des métriques utiles à la caractérisation des pratiques sensibles pour Java et C++
Software metrics for Java and C++ practices Référencement des métriques utiles à la caractérisation des pratiques sensibles pour Java et C++ Workpackage: 1.1 31 March 2010 This deliverable is available
More informationDoes Your Code Measure Up?
Does Your Code Measure Up? By: Adam Culp Twitter: @adamculp https://joind.in/13300 2 About me PHP 5.3 Certified Consultant at Zend Technologies Organizer SoFloPHP (South Florida) Organized SunshinePHP
More informationCHAPTER 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 informationMetrics 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 informationResearch 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 informationEffective 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 informationKostis 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 informationARiSA First Contact Analysis
ARiSA First Contact Analysis Applied Research In System Analysis - ARiSA You cannot control what you cannot measure Tom DeMarco Software Grail Version 1.3 Programming Language Java 1.4 Date 2 nd of December,
More informationJ2EE 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 informationMETRIC 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 information6 Detection of Architecturally-Relevant Code Anomalies with Architectural-Sensitive Information
6 Detection of Architecturally-Relevant Code Anomalies with Architectural-Sensitive Information Chapters 4 and 5 discussed how code anomalies (Fowler et al., Chapter 3) can be related to architectural
More informationThresholds 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 informationLanguage Independent Metric Support towards Refactoring Inference
Language Independent Metric Support towards Refactoring Inference Yania Crespo 1, Carlos López 2, Esperanza Manso 1, and Raúl Marticorena 2 1 University of Valladolid Department of Computer Science, Valladolid
More informationPatterns in Software Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 10 Refactoring Patterns Part 1 1 Refactoring: Definition Refactoring: A change made to the internal structure of software to make it easier
More informationFOR0383 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 informationA Measurement-Based Approach for Detecting Design Problems in Object-Oriented Systems
A Measurement-Based Approach for Detecting Design Problems in Object-Oriented Systems M. J. Munro Technical Report EFoCS-57-2005 Department of Computer and Information Sciences University of Strathclyde
More informationAnalysis 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 informationSimilar Characteristics of Internal Software Quality Attributes for Object-Oriented Open-Source Software Projects
Similar Characteristics of Internal Software Quality Attributes for Object-Oriented Open-Source Software Projects Mariana Santos, Rodrigo Amador, Paulo Henrique de Souza Bermejo, Heitor Costa DCC - UFLA
More informationOn the Impact of Refactoring Operations on Code Quality Metrics
On the Impact of Refactoring Operations on Code Quality Metrics Oscar Chaparro 1, Gabriele Bavota 2, Andrian Marcus 1, Massimiliano Di Penta 2 1 University of Texas at Dallas, Richardson, TX 75080, USA
More informationPrinciples of Object-Oriented Design
Principles of Object-Oriented Design Part II 1 The Law of Demeter Any object receiving a message in a given method must be one of a restricted set of objects. 1. Strict Form: Every supplier class or object
More informationLecture 24 Software Visualization and Metrics Polymetric Views. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim
Lecture 24 Software Visualization and Metrics Polymetric Views Today s Agenda (1) Discussion on Practical Applications of Software Evolution Research Concern Graph Delta Debugging Regression Test Selection
More informationMetrics 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 informationThe Evolution and Impact of Code Smells: A Case Study of Two Open Source Systems
The Evolution and Impact of Code Smells: A Case Study of Two Open Source Systems Steffen Olbrich Dept. of Computer Sciences, University of Applied Sciences, Mannheim, Germany solbrich@gmail.com Daniela
More information2IS55 Software Evolution. Software metrics (3) Alexander Serebrenik
2IS55 Software Evolution Software metrics (3) Alexander Serebrenik Sources / SET / W&I 19-3-2013 PAGE 1 From imperative to OO All metrics so far were designed for imperative languages Applicable for OO
More informationInheritance Usage Patterns in Open-Source Systems. Jamie Stevenson and Murray Wood. University of Strathclyde, Glasgow, UK
Inheritance Usage Patterns in Open-Source Systems Jamie Stevenson and Murray Wood University of Strathclyde, Glasgow, UK Aims of Study: To investigate how inheritance is used in practice To close the gap
More informationCHAPTER 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 informationPrincipal 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 informationCatalogue of Metrics Used in the Book
A Catalogue of Metrics Used in the Book In this appendix you will find definitions of the metrics used throughout this book. These metrics are neither the best in the world, nor magic. We chose them in
More informationTowards 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 informationA 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 informationMoonzoo 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 informationReusability 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 informationHangMan PBL - Refactoring Use yourupdated (best) version of Hangman(with a dictionary of words).
Use yourupdated (best) version of Hangman(with a dictionary of words). 1. Detect potential problems: a. Metric values out of bounds? (Your code should pass this?) b. Poor object oriented design that gives
More informationCOURSE 2 DESIGN PATTERNS
COURSE 2 DESIGN PATTERNS CONTENT Fundamental principles of OOP Encapsulation Inheritance Abstractisation Polymorphism [Exception Handling] Fundamental Patterns Inheritance Delegation Interface Abstract
More informationSoftware metrics for policy-driven software development life cycle automation
Software metrics for policy-driven software development life cycle automation Leonid Borodaev Faculty of mathematics and natural sciences, University of Groningen Groningen, The Netherlands Leo.borodaev@gmail.com
More informationAbstraction. Design fundamentals in OO Systems. Fundamental Software Development Principles
Abstraction Design fundamentals in OO Systems Tool for abstraction: object Object structure: properties and values for those properties operations to query and update those properties We refer to the collection
More informationObject-Oriented Metrics in Practice
Object-Oriented Metrics in Practice Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems Bearbeitet von Michele Lanza, Radu Marinescu, S Ducasse 1. Auflage
More informationIntroduction 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 informationEffectiveness 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 informationVisually Localizing Design Problems with Disharmony Maps
Visually Localizing Design Problems with Disharmony Maps Richard Wettel and Michele Lanza REVEAL @ Faculty of Informatics - University of Lugano, Switzerland Abstract Assessing the quality of software
More informationEVALUATING 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 informationSoftware Quality Estimation through Object Oriented Design Metrics
100 Software Quality Estimation through Object Oriented Design Metrics Deepak Arora, Pooja Khanna and Alpika Tripathi, Shipra Sharma and Sanchika Shukla Faculty of Engineering, Department of Computer Science,
More informationPatterns in Software Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 14 Reengineering Patterns Part 2 1 Reengineering Patterns: Detecting Duplicated Code 2 Detecting Duplicated Code: Compare Code Mechanically
More informationInheritance 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 informationAnalyzing Java Software by Combining Metrics and Program Visualization
Analyzing Java Software by Combining Metrics and Program Visualization Tarja Systä Software Systems Laboratory Tampere University of Technology P.O. Box 553, FIN-33101 Tampere, Finland tsysta@cs.tut.fi
More informationSOFTWARE ASSESSMENT USING OBJECT METRICS
Key words: object metrics, metrics measuring tools, software assessment, software evolution Ilona BLUEMKE*, Rafał ROGUSKI* SOFTWARE ASSESSMENT USING OBJECT METRICS Adequate metrics of object-oriented software
More information1 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 informationRefactoring. Chen Tang March 3, 2004
Refactoring Chen Tang March 3, 2004 What Is Refactoring (Definition) Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet
More informationObject-Oriented Concepts and Design Principles
Object-Oriented Concepts and Design Principles Signature Specifying an object operation or method involves declaring its name, the objects it takes as parameters and its return value. Known as an operation
More informationEnhancing 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 informationChapter 8: Class and Method Design
Chapter 8: Class and Method Design Objectives Become familiar with coupling, cohesion, and connascence. Be able to specify, restructure, and optimize object designs. Be able to identify the reuse of predefined
More informationKeywords: 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 informationDevelopment By The Numbers
Development By The Numbers We Are Going To Measure Complexity Why Should We Care About Complexity? "The Central Enemy Of Reliability is Complexity" - Geer et al. Complexity And Quality Are Strongly
More informationApplication 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 informationInvestigation 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 information2IS55 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 informationComponent-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 informationSNS 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 informationISSN: [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 informationQuality-oriented Move Method Refactoring
Quality-oriented Move Method Refactoring Christian Marlon Souza Couto Department of Computer Science Federal University of Lavras Lavras, Brazil Email: christiancouto@posgrad.ufla.br Henrique Rocha Inria
More informationObject-Oriented Design Quality Models A Survey and Comparison
Object-Oriented Design Quality Models A Survey and Comparison Mohamed El-Wakil Ali El-Bastawisi Mokhtar Boshra Information Systems Department {Mohamed.elwakil@acm.org, ali.elbastawisi@link.net, mbriad@cu.edu.eg}
More informationAn Empirical Investigation of Inheritance Trends in Java OSS Evolution. by Emal Nasseri
An Empirical Investigation of Inheritance Trends in Java OSS Evolution A Thesis submitted for a degree of Doctor of Philosophy by Emal Nasseri Department of Information Systems, Computing and Mathematics
More informationCredit where Credit is Due. Lecture 25: Refactoring. Goals for this lecture. Last Lecture
Credit where Credit is Due Lecture 25: Refactoring Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2002 Some of the material for this lecture and lecture 26 is taken
More informationRefactorings. Refactoring. Refactoring Strategy. Demonstration: Refactoring and Reverse Engineering. Conclusion
Refactorings Refactoring What is it? Why is it necessary? Examples Tool support Refactoring Strategy Code Smells Examples of Cure Demonstration: Refactoring and Reverse Engineering Refactor to Understand
More informationMetrics, Do They Really Help?
Metrics, Do They Really Help? Serge Demeyer and Stéphane Ducasse Software Composition Group, Institut für Informatik (IAM), Universität Bern Neubrückstrasse 10, CH-3012 Bern, Switzerland {demeyer,ducasse}@iam.unibe.ch,
More informationEmpirical Software Engineering. Empirical Software Engineering with Examples! is not a topic for examination. Classification.
Empirical Software Engineering Empirical Software Engineering with Examples is not a topic for examination a sub-domain of software engineering focusing on experiments on software systems devise experiments
More informationHow 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 informationACICE-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 information17.11 Bean Rules persistent
17.10 Java Beans Java beans are a framework for creating components in Java. AWT and Swing packages are built within this framework Made to fit in with graphic development environments such as Jbuilder
More informationCode Smells & Refactoring
Material and some slide content from: - Mehdi Amoui Kalareh SERVICES COMPONENTS OBJECTS MODULES Code Smells & Refactoring Reid Holmes Lecture 21 - Thursday November 25 2010. Program restructuring Software
More informationPREDICTION 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