Jump to ContentJump to Main Navigation
Show Summary Details
More options …

Open Computer Science

Editor-in-Chief: van den Broek, Egon

1 Issue per year

Open Access
Online
ISSN
2299-1093
See all formats and pricing
More options …

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

Reinhold Plösch
  • Department of Business Informatics – Software Engineering Johannes Kepler University Linz, Linz, Austria
  • Other articles by this author:
  • De Gruyter OnlineGoogle Scholar
/ Johannes Bräuer
  • Department of Business Informatics – Software Engineering Johannes Kepler University Linz, Linz, Austria
  • Other articles by this author:
  • De Gruyter OnlineGoogle Scholar
/ Christian Körner / Matthias Saft
Published Online: 2016-12-29 | DOI: https://doi.org/10.1515/comp-2016-0016

Abstract

Good 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.

Keywords: software quality; design quality; design best practices; information hiding principle; single responsibility principle

References

  • [1] Chidamber S.R., Kemerer C. F., A metrics suite for object oriented design, IEEE Transactions on Software Engineering, 1994, 20(6), 476–493 CrossrefGoogle Scholar

  • [2] Marinescu R., Ratiu D., Quantifying the quality of objectoriented design: The factor-strategy model, Proceedings of the 11th Working Conference on Reverse Engineering, Delft, The Netherlands, 2004, 192–201 CrossrefGoogle Scholar

  • [3] Fowler M., Beck K., Brant J., Opdyke W., Refactoring: Improving the Design of Existing Code, Addison Wesley, Reading, US, 1999 Google Scholar

  • [4] Moha N., Guéhéneuc Y.G., Duchien L., Le Meur A.F., DECOR: A Method for the Specification and Detection of Code and Design Smells, IEEE Transactions on Software Engineering, 2010, 36(1), 20–36 CrossrefWeb of ScienceGoogle Scholar

  • [5] Samarthyam G., Suryanarayana G., Sharma T., Gupta S., MIDAS: A design quality assessment method for industrial software, Proceedings of the 35th International Conference on Software Engineering (ICSE 2013), San Francisco, US, 2013, 911–920 Google Scholar

  • [6] Kläs M., Heidrich J., Münch J., Trendowicz A., CQML Scheme: A Classification Scheme for Comprehensive Quality Model Landscapes, Proceedings of the 35th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2009), Patras, Greece, 2009, 243–250 Google Scholar

  • [7] Coad P., Yourdon E., Object-Oriented Design, Prentice Hall, London, UK, 1991 Google Scholar

  • [8] Henderson-Sellers B., Constantine L.L., Graham I.M., Coupling and cohesion (toward a valid metrics suite for object-oriented analysis and design), Object Oriented Systems, 1996, 3(3), 143– 158 Google Scholar

  • [9] Dooley J., Object-Oriented Design Principles, in Software Development and Professional Practice, Apress, 2011, 115–136 Google Scholar

  • [10] Sharma T., Samarthyam G., Suryanarayana G., Applying Design Principles in Practice, Proceedings of the 8th India Software Engineering Conference (ISEC 2015), New York, US, 2015, 200–201 Google Scholar

  • [11] Riel A.J., Object-Oriented Design Heuristics, 1st ed, Addison- Wesley Longman Publishing, Boston, US, 1996 Google Scholar

  • [12] BrownW.,Malveau R., McCormick H., Mowbray T., AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis, Wiley and Sons, New York, US, 1998 Google Scholar

  • [13] Gamma E., Helm R., Johnson R., Vlissides J., Design Patterns: Elements of Reusable Object-Oriented Software, Pearson Education India, 1995 Google Scholar

  • [14] Muraki T., Saeki M., Metrics for Applying GOF Design Patterns in Refactoring Processes, Proceedings of the 4th International Workshop on Principles of Software Evolution (IWPSE 2001), New York, US, 2001, 27–36 Google Scholar

  • [15] Boehm B. W., Brown J.R., Kasper M., Lipow M., Macleod G.J., Merrit .M.J., Characteristics of software quality, North-Holland, 1978 Google Scholar

  • [16] Dromey R.G., A model for software product quality, IEEE Transactions on Software Engineering, 1995, 21(2), 146–162 CrossrefGoogle Scholar

  • [17] Al-Kilidar H., Cox K., Kitchenham B., The use and usefulness of the ISO/IEC 9126 quality standard, International Symposiumon Empirical Software Engineering 2005, Queensland, Australia, 2005, 126–132 Google Scholar

  • [18] Mordal-Manet K., Balmas F., Denier S., Ducasse S., Wertz H., Laval J., et al., The squale model - A practice-based industrial quality model, Proceedings of the 25th IEEE International Conference on Software Maintenance (ICSM 2009), Alberta, Canada, 2009, 531–534 Google Scholar

  • [19] Wagner S., Goeb A., Heinemann L., Kläs M., Lochmann K., Plösch R., et al., The Quamoco product quality modelling and assessment approach, in Proceedings of the 34th International Conference on Software Engineering (ICSE 2012), Zurich, Switzerland, 2012, 1133–1142 Google Scholar

  • [20] Bansiya J., Davis C., A hierarchical model for object-oriented design quality assessment, IEEE Transactions on Software Engineering, 2002, 28(1), 4–17 CrossrefGoogle Scholar

  • [21] ISO/IEC 9126-1:2001 - Software engineering – Product quality – Part 1: Quality model, ISO/IEC, ISO/IEC 9126:2001, 2001. Google Scholar

  • [Online]. Available: http://www.iso.org/iso/catalogue_detail.htm? csnumber=22749 Google Scholar

  • [22] Wagner S., Goeb A., Heinemann L., Kläs M., Lampasona C., Lochmann K., et al., Operationalised product quality models and assessment: The Quamoco approach, Information and Software Technology, 2015, 62, 101–123 Google Scholar

  • [23] Martin R.C., Agile software development : principles, patterns and practices, Pearson Education, Upper Saddle River, US, 2003 Google Scholar

  • [24] Dijkstra E.W., On the role of scientific thought. Web of ScienceGoogle Scholar

  • [Online]. Available: http://www.cs.utexas.edu/users/EWD/transcriptions/E WD04xx/EWD447.html Google Scholar

  • [25] Laplante P.A.,What Every Engineer Should Knowabout Software Engineering, CRC Press, Boca Raton, US, 2007 Google Scholar

  • [26] Parnas D.L., Software Aging, in Proceedings of the 16th International Conference on Software Engineering (ICSE 1994), Los Alamitos, US, 1994, 279–287 Google Scholar

  • [27] Hunt A., Thomas D., The Pragmatic Programmer: From Journeyman to Master, Addison-Wesley Longman Publishing, Boston, US, 1999 Google Scholar

  • [28] Mayr A., Plösch R., Klas M., Lampasona C., Saft M., A Comprehensive Code-Based Quality Model for Embedded Systems: Systematic Development and Validation by Industrial Projects, in Proceedings of the 23rd International Symposium on Software Reliability Engineering (ISSRE 2012), Dallas, US, 2012, 281–290 Google Scholar

  • [29] Mayr A., Plösch R., Saft M., Objective Measurement of Safety in the Context of IEC 61508-3, in Proceedings of the 39th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2013), Washington, US, 2013, 45–52 Google Scholar

  • [30] Dautovic A., Automatic Measurement of Software Documentation Quality, PhD thesis, Deptartment for Business Informatics, Johannes Kepler University Linz, Austria, 2012 Google Scholar

  • [31] Plösch R., Bräuer J., Körner C., Saft M., MUSE - Framework for Measuring Object-Oriented Design, Journal of Object Technology, 2016, 15(4), 2:1–29 Google Scholar

  • [32] Barron F.H., Barrett B.E., Decision Quality Using Ranked Attribute Weights, Management Science, 1996, 42(11), 1515–1523 CrossrefGoogle Scholar

  • [33] Edwards W., Barron F.H., SMARTS and SMARTER: Improved Simple Methods for Multiattribute Utility Measurement, Organizational Behavior and Human Decision Processes, 1994, 60(3), 306–325 Google Scholar

  • [34] Gruber H., Plösch R., Saft M., On the Validity of Benchmarking for Evaluating Code Quality, in Proceedings of the Joined International Conferences on Software Measurement IWSM/MetriKon/Mensura 2010, Aachen, Germany: Shaker Verlag, 2010 Google Scholar

  • [35] Bräuer J., Plösch R., Saft M., Measuring Maintainability of OOSoftware - Validating the IT-CISQ Quality Model, in Proceedings of the 2015 Federated Conference on Software Development and Object Technologies (SDOT 2015), Zilina, Slovakia, 2015 Google Scholar

  • [36] Wohlin C., Runeson P., Höst M., Ohlsson M.C., Regnell B., Wesslén A., Experimentation in Software Engineering, Springer, Berlin, Heidelberg, 2012 Google Scholar

About the article

Received: 2016-07-08

Accepted: 2016-10-21

Published Online: 2016-12-29


Citation Information: Open Computer Science, Volume 6, Issue 1, ISSN (Online) 2299-1093, DOI: https://doi.org/10.1515/comp-2016-0016.

Export Citation

©2016 R. Plösch et al.. This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 3.0 License. BY-NC-ND 3.0

Comments (0)

Please log in or register to comment.
Log in