/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package br.uff.ic.oceano.core.tools.metrics.expression; /** * * @author DanCastellani */ public class QMOOD { // -- METRICS ACRONYMS public static final String DSC = "DSC"; public static final String NOH = "NOH"; public static final String ANA = "ANA"; public static final String DAM = "DAM"; public static final String DCC = "DCC"; public static final String CAM = "CAM"; public static final String MOA = "MOA"; public static final String MFA = "MFA"; public static final String NOP = "NOP"; public static final String CIS = "CIS"; public static final String NOM = "NOM"; // -- METRICS public static final String METRIC_DESIGN_SIZE_IN_CLASSES = "Design Size In Classes"; public static final String METRIC_NUMBER_OF_HIERARCHIES = "Number Of Hierarchies"; public static final String METRIC_AVERAGE_NUMBER_OF_ANCESTORS = "Average Number Of Ancestors"; public static final String METRIC_DATA_ACCESS = "Data Access"; public static final String METRIC_DIRECT_CLASS_COUPLING = "Direct Class Coupling"; public static final String METRIC_COHESION_AMONG_METHODS_IN_CLASS = "Cohesion Among Methods In Class"; public static final String METRIC_MEASURE_OF_AGGREGATION = "Measure Of Aggregation"; public static final String METRIC_MEASURE_OF_FUNCTIONAL_ABSTRACTION = "Measure Of Functional Abstraction"; public static final String METRIC_NUMBER_OF_POLYMORPHIC_METHODS = "Number Of Polymorphic Methods"; public static final String METRIC_CLASS_INTERFACE_SIZE = "Class Interface Size"; public static final String METRIC_NUMBER_OF_METHODS = "Number Of Methods"; // -- DESIGN PROPERTIES public static final String DESIGN_SIZE = DSC; public static final String HIERARCHIES = NOM; public static final String ABSTRACTION = ANA; public static final String ENCAPSULATION = DAM; public static final String COUPLING = DCC; public static final String COHESION = CAM; public static final String COMPOSITION = MOA; public static final String INHERITANCE = MFA; public static final String POLYMORPHISM = NOP; public static final String MESSAGING = CIS; public static final String COMPLEXITY = NOM; // -- QUALITY ATTRIBUTES public static final String QUALITY_ATTRIBUTE_REUSABILITY = "-0.25*" + COUPLING + "+0.25*" + COHESION + "+0.5*" + MESSAGING + "+0.5*" + DESIGN_SIZE; public static final String QUALITY_ATTRIBUTE_FLEXIBILITY = "0.25*" + ENCAPSULATION + "-0.25*" + COUPLING + "+0.5*" + COMPOSITION + "+0.5*" + POLYMORPHISM; public static final String QUALITY_ATTRIBUTE_UNDERSTANDABILITY = "-0.33*" + ABSTRACTION + "+0.33*" + ENCAPSULATION + "-0.33*" + COUPLING + "+0.33*" + COHESION + "-0.33*" + POLYMORPHISM + "-0.33*" + COMPLEXITY + "-0.33*" + DESIGN_SIZE; public static final String QUALITY_ATTRIBUTE_FUNCTIONALITY = "0.12*" + COHESION + "+0.22*" + POLYMORPHISM + "+0.22*" + MESSAGING + "+0.22*" + DESIGN_SIZE + "+0.22*" + HIERARCHIES; public static final String QUALITY_ATTRIBUTE_EXTENDABILITY = "0.5*" + ABSTRACTION + "-0.5*" + COUPLING + "+0.5*" + INHERITANCE + "+0.5*" + POLYMORPHISM; public static final String QUALITY_ATTRIBUTE_EFFECTIVENESS = "0.2*" + ABSTRACTION + "+0.2*" + ENCAPSULATION + "+0.2*" + COMPOSITION + "+0.2*" + INHERITANCE + "+0.2*" + POLYMORPHISM; // -- QUALITY ATTRIBUTE NAMES public static final String QA_REUSABILITY = "Reusability"; public static final String QA_FLEXIBILITY = "Flexibility"; public static final String QA_UNDERSTANDABILITY = "Understandability"; public static final String QA_FUNCTIONALITY = "Functionality"; public static final String QA_EXTENDABILITY = "Extendability"; public static final String QA_EFFECTIVENESS = "Effectiveness"; //all metrics public static final String[] QMOOD_METRICS = {METRIC_DESIGN_SIZE_IN_CLASSES, METRIC_NUMBER_OF_HIERARCHIES, METRIC_AVERAGE_NUMBER_OF_ANCESTORS, METRIC_DATA_ACCESS, METRIC_DIRECT_CLASS_COUPLING, METRIC_COHESION_AMONG_METHODS_IN_CLASS, METRIC_MEASURE_OF_AGGREGATION, METRIC_MEASURE_OF_FUNCTIONAL_ABSTRACTION, METRIC_NUMBER_OF_POLYMORPHIC_METHODS, METRIC_CLASS_INTERFACE_SIZE, METRIC_NUMBER_OF_METHODS}; // -- Quality Attributes public static final String[] QMOOD_QUALITY_ATTRIBUTES = {QA_REUSABILITY, QA_FLEXIBILITY, QA_UNDERSTANDABILITY, QA_FUNCTIONALITY, QA_EXTENDABILITY, QA_EFFECTIVENESS}; }