Measuring and Assessing Object-oriented Design Principles

Johannes Bräuer

Research output: ThesisDoctoral thesis

Abstract

Software has become a ubiquitous part of our daily life and its quality has always been a critical success factor. The internal design quality of a software product, as the quality viewpoint that defines internal quality attributes for code and design quality, has a strong impact on the maintainability and understandability of the product. Determining the design quality of software, in particular object-oriented software, has emerged various approaches that measure and assess certain quality aspects based on static code analysis and combined with the analysis of design metrics. Design metrics, however, often do not identify the root of the design flaw and they are inappropriate in guiding software developers concerning concrete design enhancements. To address this issue, this thesis proposes a design quality model that builds on object-oriented design principles, which carry important design knowledge and foster the development of software with quality in focus. Since design principles are too coarse-grained to be directly applicable, concrete design best practices were systematically derived. These design best practices can be operationalized by MUSE, a self-developed measurement tool for object-oriented source code. In this thesis, the design quality model is investigated by applying a survey and focus group research method. Whereas the survey aimed at the investigation of the importance of the design best practices, the focus group research examined the relationship between design principles and their associated design best practices. On the basis of these empirical findings, a portfolio-based assessment approach has been derived from the design quality model.
Original languageEnglish
Supervisors/Reviewers
  • Plösch, Reinhold, Supervisor
Publication statusPublished - Dec 2017

Fields of science

  • 202005 Computer architecture
  • 202017 Embedded systems
  • 102 Computer Sciences
  • 102002 Augmented reality
  • 102006 Computer supported cooperative work (CSCW)
  • 102011 Formal languages
  • 102015 Information systems
  • 102020 Medical informatics
  • 102022 Software development
  • 102027 Web engineering
  • 201305 Traffic engineering
  • 202022 Information technology
  • 207409 Navigation systems
  • 502032 Quality management
  • 502050 Business informatics

JKU Focus areas

  • Computation in Informatics and Mathematics
  • Management and Innovation

Cite this