Johannes Bräuer: Measuring and Assessing Object-oriented Design Principles, Dissertation, Institut für Wirtschaftsinformatik/ Software Engineering, Johannes Kepler Universität Linz, Dezember 2017.
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. Its practical applicability is demonstrated in a feasibility study used throughout the thesis. The results of the studies show the benefits of using the proposed design quality model in combination with the portfolio-based approach for design quality specification, measurement, and assessment. For future research, activities will concentrate on the application of the approach in a real project environment and the analysis of the influence of possible design quality improvement actions on design quality attributes such as software maintainability or understandability.