scholarly journals Measuring, Assessing and Improving Software Quality based on Object-Oriented Design Principles

2016 ◽  
Vol 6 (1) ◽  
pp. 187-207 ◽  
Author(s):  
Reinhold Plösch ◽  
Johannes Bräuer ◽  
Christian Körner ◽  
Matthias Saft

AbstractGood object-oriented design is crucial for a successful software product. Metric-based approaches and the identification of design smells are established concepts for identifying design flaws and deriving design improvements thereof. Nevertheless, metrics are difficult to use for improvements as they provide only weak guidance and are difficult to interpret. Thus, this paper proposes a novel design quality model (DQM) based on fundamental object-oriented design principles and best practices. In course of discussing DQM, the paper provides a contribution in three directions: (1) it shows how to measure design principles automatically, (2) then the measuring result is used to assess the degree of fulfilling object-oriented design principles, (3) and finally design improvements of identified design flaws in object-oriented software are derived. Additionally, the paper provides an overview of the research area by explaining terms used to describe designrelated aspects and by depicting the result of a survey on the importance of object-oriented design principles. The underlying concepts of the DQM are explained before it is applied on two open-source projects in the format of a case study. The qualitative discussion of its application shows the advantages of the automated design assessment that can be used for guiding design improvements.

Author(s):  
MATHUPAYAS THONGMAK ◽  
PORNSIRI MUENCHAISRI

Maintainability is an important factor that developers should be concerned because two-thirds of software costs involve maintenance. Aspect-oriented programming (AOP) paradigm is aimed to increase the software maintainability. It solves code tangling and code scattering problems by introducing a new modular unit, called "aspect". Various research works are provided to support measuring the object-oriented software, but only few studies are set up to support measuring the aspect-oriented software. This paper proposes aspect-oriented software maintainability metrics and a set of aspect-oriented design guidelines to support the metrics. By combining the proposed guidelines, object-oriented design principles, and aspect-oriented design principles, the metrics are constructed according to the Factor-Strategy (FS) quality model and the Factor-Criteria-Metric (FCM) quality model. Principle violation check definitions in the form of Boolean expressions are also defined to conduct software measurement and to fulfill the metrics. Finally, the aspect-oriented software maintainability metrics are applied to detect design principle violations in fifty AspectJ systems. The results show that for all systems their hidden flaws are exposed. Moreover, the proposed metrics are used to compare the maintainability between two versions of systems written in Java and AspectJ.


2009 ◽  
pp. 2646-2664
Author(s):  
Juan José Olmedilla

The use of object-oriented (OO) architecture knowledge such as patterns, heuristics, principles, refactorings and bad smells improve the quality of designs, as Garzás and Piattini (2005) state in their study; according to it, the application of those elements impact on the quality of an OO design and can serve as basis to establish some kind of software design improvement (SDI) method. But how can we measure the level of improvement? Is there a set of accepted internal attributes to measure the quality of a design? Furthermore, if such a set exists will it be possible to use a measurement model to guide the SDI in the same way software processimprovement models (Humphrey, 1989; Paulk, Curtis, Chrissis, & Weber, 1993) are guided by process metrics (Fenton & Pfleeger, 1998)? Since (Chidamber & Kemerer, 1991) several OO metrics suites have been proposed to measure OO properties, such as encapsulation, cohesion, coupling and abstraction, both in designs and in code, in this chapter we review the literature to find out to which high level quality properties are mapped and if an OO design evaluation model has been formally proposed or even is possible.


Author(s):  
Yann-Gaël Gueheneuc ◽  
Jean-Yves Guyomarc’h ◽  
Khashayar Khosravi ◽  
Hourari Sahraoui

Software quality models link internal attributes of programs with external quality characteristics. They help in understanding relationships among internal attributes and between internal attributes and quality characteristics. Object-oriented software quality models usually use metrics on classes (such as number of methods) or on relationships between classes (for example coupling) to measure internal attributes of programs. However, the quality of object-oriented programs does not depend on classes solely: it depends on the organisation of classes also. We propose an approach to build quality models using patterns to consider program architectures. We justify the use of patterns to build quality models, describe the advantages and limitations of such an approach, and introduce a first case study in building and in applying a quality model using design patterns on the JHotDraw, JUnit, and Lexi programs. We conclude on the advantages of using patterns to build software quality models and on the difficulty of doing so.


2021 ◽  
Vol 12 (3) ◽  
pp. 1-16
Author(s):  
Mokhtaria Bouslama ◽  
Mustapha Kamel Abdi

The cost of software maintenance is always increasing. The companies are often confronted to failures and software errors. The quality of software to use is so required. In this paper, the authors propose a new formal approach for assessing the quality of object-oriented system design according to the quality assessment model. This approach consists in modeling the input software system by an automaton based on object-oriented design metrics and their relationship with the quality attributes. The model exhibits the importance of metrics through their links with the attributes of software quality. In addition, it is very practical and flexible for all changes. It allows the quality estimation and its validation. For the verification of proposed probabilistic model (automaton), they use the model-checking and the prism tool. The model-checking is very interesting for the evaluation and validation of the probabilistic automaton. They use it to approve the software quality of the three experimental projects. The obtained results are very interesting and of great importance.


Sign in / Sign up

Export Citation Format

Share Document