# Introduction oftware metrics plays a key role in good software engineering. Measurement is used to assess situations, track progress and evaluate effectives of software products. But there exists a huge challenge in the measurement process due to lack of coordinated, comprehensive framework for understanding and using measurement [2]. Object-oriented approach to software development requires some specific set of metrics [3]. Various object-oriented measurements are used to evaluate and predict the quality of software products [4], where the empirical results are used to supports the theoretical validity of the Object-Oriented Software Product metrics [5]. The validity of these metrics needs to facilitate the accuracy that the metric measure what they purport to measure. # II. Software Engineering Metrics and Quality According to Edward V. Berard [6] Metrics are units of measurement that refer to a set of specific measurements taken on a particular item or process. For software engineering metrics are units of measurement used to characterize software engineering products, processes and the people, hence assessing quality. Ahmad S et.al [7] indicated that Software metrics are measures that facilitate software developers and software analyst to preview into the efficiency of the software process and projects that are conducted using Author: UMMA University. e-mail: jneyole434@gmail.com the process as framework. These metrics measures different aspects of software complexity hence play an important role in analysing and improving software quality [8]. Mahfuzul Huda et.al [9] argued that the quality of any object-oriented design is critical as it has a great influence on the overall quality of finally delivered software product. Further he asserts that Software quality is still a vague terminology since it has different meaning to different people, the way one measure quality depends on the viewpoint he/she takes [10]. Acceptable object-oriented design properties and associated metrics are helpful when utilized in the early stage of software development process, since the metrics determination is an important phase in testability estimation process [11]. Quality in the use of Object-Oriented Software Engineering metrics are available when the final product is in use in real conditions. Here the internal quality determines the external quality, while the external quality determines quality in use [12]. According to the GE model for describing software quality, presented by McCall et al. (1977), software quality is organized around three main types of quality characteristic:factors which describe the external view of the software, as viewed by the users, criteria which describe the internal view of the software, as seen by the developer and the metrics which control and are defined and used to provide a scale and method for measurement. With the help of software metric software designers are able to deeper understand the software product in an effective way as they use diverse measurements of computer software in development. Thus, though software metric we are able to measure some property of software's including their components considering that software quality metrics to be subset of software metrics they are helpful [7]. To this end, with the aid of OOD metric therefore, software professionals can then use object oriented metric suite to predict and enhance the maintainability of software with least error and best precision in an object-oriented paradigm [13]. # III. # Issues in Software Engineering Metrics Berard E argued that if used properly, software engineering metrics enables us among others to qualitatively and quantitatively define success and failure by establishing the degree of success or failure and identify and quantify improvement [6]. The objective of the ISO/IEC 9126 standards is to address the human limitations that canadversely affect the final software engineering development project. Some of the issues addressed include the change of focus after the start of a project. The standards provide clarity through agreeing on the project priorities and converting the compliance to measurable output values that can be validated against schema with total zero interventions, the standards therefore facilitate a common understanding of software engineering project's objectives and goals [14] These ISO/IEC 9126 standard further classified into four main parts: -the quality model, external metrics, internal metrics and quality in use metrics. However, the use of these design metrics is limited in practice due to the difficulty of measuring and using a large number of metrics. Fenton and Neil [15] journal indicated that the major problem is in using such metrics in isolation. They argued that it was possible to provide a genuine improved management decision support system based on suchsimplistic metrics, but only by adopting a less isolationist approach. Much as software metrics play an important role in developing high quality software as well as to improve the developer's productivity [16] there comes the problem of identifying the right metrics to be used at a given stage of the OOD process. Emphasis of introducing the metrics during the intimal software development is vital. OO designs are highly involved, often ill-defined, complex and iterative process. Their needs and specifications get more refined only as the design process moves toward its final stages. This therefore calls for effective metric tools that will help the designer make better-informed decisions with proven efficient knowledge representation schemes. IV. # Object-Oriented Design Metrics Aggarwal et.al (2013) indicated that metrics for OO design entails measurements that are applied to the class and design characteristics [17], as they aim achieve quality in software process and product, This OO metrics measurement tools have yet to achieve the needed degree of maturity [18] they therefore need standardization [19]. Chidamber et.al [20] indicated that while metrics for the traditional functional decomposition and data analysis design approach measure the design structure and data structure independently, the objectoriented metrics need to focus on the combination of both the function and data as an integrated object. Despite the metric being traditional or new, it should be able effective to measure at least one or mere OOSD attributes of a software engineering product [21]. There exist various metrics for object Oriented designs otherwise called MOOD (Metrics for Object Oriented Designs). According to F.B. Abreu et al [22] metrics for Object Oriented Designs define the structural models of a software engineering design where they facilitate measurements of OO paradigms such as encapsulation, inheritance, polymorphism and message passing. These metrics are usually expressed to measure where the numerator defines the actual use of a feature for a design namely the method and attributes. The attributes represent the status of object in the system while method is used to maintain or modify the several kinds of status of the object [23]. Sahar et.al [24] stated that the most important measures that need to be considered in any software product is in the design quality. He established that design phase takes only 5-10 % of the total effort but a large part up to 80% of total effort goes into correcting bad design decisions [25]. The MOOD metrics include: -Method Hiding Factor (MHF), the Attribute Hiding Factor (AHF), the Method Inheritance Factor (MIF), the Coupling Factor (COF), the Attribute Inheritance Factor (AIF) and the Polymorphism Factor (PF) [17]. Each MOOD metric is associated with basic structural mechanisms of the object-oriented paradigm [26]. The MOOD metric set enables expression of some recommendations for designers [27]. Malhotra et.al [28] indicated that design of a system plays an essential role in ascertaining the system's reaction to incoming changes, and wellchosen OO design metrics can function as an indicator of changeability. Gupta & Saxena [29] stated thatthe prediction of software defect is possible on the basis of historical data accumulated during implementation of similar or same software projects or it can be developed using design metrics collected during design phase of software development. Chidamber and Kemerer [30] theoretical presentation on OO design metrics for software development life cycle are based upon OOD measurement theories that are used by OO software developers. The key requirements of metric measurements by Chidamber and Kemerer [20] focused on improving the quality of software with the help of a new metrics suite that consists of six design level metrics named WMC, DIT, NOC, CBO, RFC and LCOM [29]. According to Shyam Chidamber and Chris Kemerer [31] on the role of metrics for OOD indicated that the important components of process improvement is the ability to measure the process. Their paper provided the appreciation of development and empirical validation of sets of theoretically-grounded metrics of OO designs. V. # Oodmetrics for Analysis Object Oriented Software Engineering product code is analyzed through object-oriented metrics, two suites of metrics are used, the Chidamber-Kemerer (CK) [20] and MOOD [1] [32] suites. Many of the OOD software's usually fail due to poor quality especially when the estimation of software quality is not prioritized during the software development. Mago et.al [33] indicated that design metrics play an important role in helping developers to appreciate design aspects of software especially to the improvement of software quality. Thus, through the analysis of the OOD metric data one can forecast the quality of the object-oriented system. Boehm et.al [34] stated that to produce highquality Object-Oriented applications a strong emphasis on design aspects is highly necessary. To this end therefore OOD software metrics among other metrics should make it possible for software engineers to measure and predict software processes, necessary resources for a project and products relevant for a software development effort. Software quality for OOD is the degree to which OO software possesses required combinations of attributes such as reliability, maintainability, efficiency, portability, usability and reusability. Object oriented design are intended to capture the fundamental structure of an object-oriented program. The, set of components which can evaluate, represent and implement an object-oriented design include attributes, methods, objects/ classes, relationships and class hierarchies and must be addressed during the whole process of OOSD process. Measuring software quality in the early stages of software development is the key to develop high quality software [33]. During the OOD process analysis of model captures the logical information about the system, while the design model adds details to support efficient information access. This is important; however, the optimizing process must also be considered so as to make the implementation more efficient. Despite this, design optimization should not be extreme since the ease of implementation, maintainability, and extensibility need to be considered. Often a perfectly optimized design is usually more efficient but less readable and reusable. Designers must strike a balance between the two. Factor to be considered in the analysis include: -addition of redundant associations [35], omission of non-usable associations [36], optimization of algorithms [37] and storage of derived attributes to avoid re-computation of complex expressions. # VI. # Internal Metrics Internal events are those that pass from one object to another object within a system. Dubey et.al [38] stated that metrics provide insight necessary to create and design model through the test. It also provides a quantative way to access the quality of internal attributes of the product, thereby it enables the software engineer to access quality before the product is build [39]. OOD metrics are thus crucial source of information through which a software developer takes a decision for design good software. For instance, through the Reliability metrics, the quality of internal product can be measured by the number of bugs in the software and by the duration of software metrics crash. The Class Method Complexity (CMC) metric defined as the summation of the internal structural complexity of all local methods is a theoretical basis and viewpoints. The metrics greatly affect the effort required to design, implement, test and maintain a class [40]. # VII. # External Metrics Punia et.al [40] indicated that the external metrics are used to examine and reuse of an OO system. External events are those events that pass from a user of the system to the objects within the system. For example, mouse click or key?press by the user are external events. For instance, the MPC (Message Pass Coupling) metric addresses the external methods which are the number of send statements defined in a particular OOS class. When a message invokes numerous methods as a response, the class becomes more complicated and more testing and debugging is required [41]. Bidve and Khare [42] indicated that coupling in software has been associated with the maintainability and is used as predictors of external software quality attributes such as fault-proneness, impact analysis, ripple effects of changes, changeability. Shaik et.al [43] stated that external validation involves empirically demonstrating that the product metric is associated with some important external metric. Shaik et.al further states that high cognitive complexity leads to a component exhibiting undesirable external qualities, such as increased fault proneness and reduced maintainability. Accordingly, object-oriented product metrics that affect cognitive complexity will be related with fault-proneness. From the above, the underlying assumption is that such measures can be used as objective measure to predict various external quality aspects of the code or design artifacts [44]. # VIII. # Conclusion Dubey et.al [38] indicated that the popularity of object-oriented design metrics is essential in software engineering for measuring the software complexity, estimating size, quality and project efforts. Objectoriented metrics assures to provide OOD that are reliable, maintainable and reusable software products. The initiation of various OOD metrics during the software initial development process in vital as this will enable designers eliminate bugs and limitations making the software product be of good quality. Increasingly, object-oriented design measurements are being used to evaluate and predict the quality of software [4] through prediction SE are able to improve the software product performance as well as enhance more user requirements during and after the OOS design. * The MOOD Metrics Set FBAbreu ECOOP'95 Workshop on Metrics 1995 * NFenton JBieman Software Metrics: ARigorous and Practical Approach, Third Edition Colorado USA CRC Press-Tayler & Francis Group 2014 * An Overview ofObject-Oriented Design Metrics DRodriguez RHarrison 2001 United Kingdom The University of Reading UK * An Evaluation of the MOOD Set of Object-Oriented Software Metrics RHarrison SJCounsell RVNithi IEEE Transactions on Software Engineering 24 1998 * Validating Object-Oriented Design Metrics on a Commercial Java Application DGlasberg KEEmam WMelo Madhavji National Research Council 44146 01 September 2000 * EVBerard Metrics for Object-Oriented Software Engineering USA The Object Agency, Inc 1998 * A Comparative Study of Software Quality Model FASheikh RBMohd HMohd International Journal of Science, Engineering and Technology Research (IJSETR) 2 1 2013 * Analysis of Static and Dynamic Metrics for Productivity and Time Complexity SManik SGurdev IJCA 30 1 2011 * Testability Quantification Framework of Object-Oriented Software: A New Perspective HMahfuzul AY D S KM H International Journal of Advanced Research in Computer and Communication Engineering 4 1 289302 2015 * Measuring Testability of Object-Oriented Design: A Systematic Review HMahfuzul AY D S KM International Journal of Scientific Engineering and Technology (IJSET) 3 10 2014 * An empirical analysis of a testability model for object-oriented programs AKout FToure MBadri 2011 ACM, Inc 4 * Wikipedia ISO/IEC 9126 5 th April 2017. 2017 Wikimedia Foundation, Inc Access ed 16th July * Application of Group Method of Data Handling model for software maintainability prediction using object-oriented systems MRuchika CAnuradha International Journal of System Assurance Engineering and Management 5 2 2014 * ISO/IEC 9126 and 14598 integration aspects Scalet The Second World Congress on Software Quality Yokohama, Japan 2000 * Software metrics: successes, failures and new directions NFenton MNeil Journal of Systems and Software 47 2-3 1999 * Critical Analysis of Object-Oriented Metrics in Software Development MBansal CP Advanced Computing & Communication Technologies (ACCT) 2014 * An Analytical Study of Object-Oriented Metrics (ASurvey) MAggarwal VKVerma HVMishra International Journal of Engineering Trends and Technology (IJETT) 6 2 2013 * HZuse Software Complexity Measures and Methods Berline Walter de Gruyter 1991 * Foundations of Object-oriented Software Measures HZuse 3rd International Symposium onSoftware Metrics: From Measurement to Empirical Results (METRICS '96 Washington, DC USA IEEE Computer Society 1996 * A Metrics Suite for Object Oriented Design SRChidamber CFKemerer IEEE Transactions onSoftware Engineering 20 1994 * LHRosenberg LEHyatt Software Quality Metrics for Object-Oriented Environments * Greenbelt 1995 Goddard Space Flight Center * Design metrics for OO software system BFAbreu inECOOP'95, Quantitative Methods Workshop 1995 * Avalidation of object-oriented Metrics as Quality Indicators VL V LBasili LBriand WLMelo IEEE Transaction Software Engineering 22 10 1996 * Object oriented design metrics and tools a survey RRSahar AHHany IEEE 2010 * Measurement and Quality in Object oriented design RMarinescu Proceedings 21st IEEE International Conference on Software Maintenance 21st IEEE International Conference on Software MaintenanceUSA 2005 * metrics for object-oriented design (MOOD) to assess java programs JA -JJubair MSKhaireddin 2001 Jordan University of Jordan * Design Quality Metrics for Object-Oriented Software Systems FBAbreu ERCIM News 1000029 * PortugalLisboa 1995 * Investigation ofrelationship between object-oriented metrics and change proneness RMalhotra .MKhanna Int. J. Mach. Learn. & Cyber 10 4 2012 * Software bug prediction using object-oriented metrics DLGupta KSaxena Sadhana-Indian Academy of Sciences 42 5 2016 * Towards a metric suite for object-oriented design SRChidamber CFKemerer OOPSLA'91 Conference Proceedings on Objectoriented Programming Systems, Languages, and Applications New York, USA ACM 1991 * A Metrics Suite for Object-Oriented Design SCChidamberand Kemerer IEEE Transactions on Software Engineering 1994 * Evaluating the Impact of OO Design on Software Quality FBAbreu WMelo Third International Software Metrics Symposium Berlin 1996 * Analysis of Quality of the Design of the Object-Oriented Software using Fuzzy Logic JMago PKaur International Conference on Recent Advances and Future Trends in Information Technology 2012 * Quantitative Evaluation of Software Quality BWBoehm JRBrown MLLipow IEEE -Proceedings of the 2nd International Conference on Software Engineering San Francisco, California, United States 1976 * UML Associations: A Structural and Contextual View GGĂ©nova JLlorens JMFuentes Journal of Object Technology-ETH Zurich 3 7 2004 * Properties of Relationships among objects in Object-Oriented Software Design ZRashidi 2015 Tehran, Iran AmirKabir University of Technology * Optimization of Object-Oriented Design using Coupling Metrics PGandhi PKBhatia International Journal of Computer Applications 27 10 2011 * SKDubey ASharma ARana Comparison Study and Review on Object-Oriented Metrics 12 7 2012 Global Journal of Computer Science and Technology * Metrics for object-oriented design software system: A Survey ACShaik BReddy MPrakashine KDeepti Journal of emerging trend in engineer and applied science (JETEAS) 2010 * A Review of Software Quality Metrics for Object-Oriented Design SKPunia PKumar AGupta International Journal of Advanced Research in Computer Science and Software Engineering 6 8 2016 * Reusability Framework Assessment, and Directions TBiggerstaff CRichter IEEE Software 1987 * Simplified Coupling Metrics for Object-Oriented Software VSBidve AKhare International Journal of Computer Science and Information Technologies (IJCSIT) 3 2 2012 * Investigate the Result of Object-Oriented Design Software Metrics on Fault-Proneness in Object Oriented Systems: A Case Study AShaik NSatyanarayana MHuzaifa NShaik MZNaveed SRao CKReddy Journal of Emerging Trends in Computing and Information Sciences 2 4 2011 * Object Oriented Design Metrics, Frameworks and Quality Models CGDesai 27 November 2013. August 2017