Table of Contents

Model Quality

Metrics improve development process, understanding of complexity, discovering/predicting faults and estimation of efforts. Often the choice of metrics exceed what is required and therefore it is advised to define what is the purpose of measurement..

Framework for Deciding Metrics

Goal-Question-Metric Framework

A useful framework to derive useful metrics is the Goal-Question-Metric (GQM) paradigm developed by Basili 1). The GQM process is as follows:

  1. Define goals of measurement (for “UML As Sketch” type models then goal is mainly focusing on communication.)
  2. Define questions to which the answers allow the observer to determine whether the goal has been met
  3. Each question is evaluated to determine what metrics are required to support the question's answer.

Krogstie's framework

Krogstie's framework2) is a framework which lays out that quality goals are defined as relations between blocks.

No known empirical evaluation of this framework on models.

Quality Goals

Mohagheghi3) show that there are 6 classes of quality goals for models:

MIT xPRO propose the following “Qualities of Great Models”

Model Metrics

Model Size

Design Metrics

Rationale for the below metrics is to measure the quality of detailed design and implementation

Complexity Metrics

Comprehensibility Metrics

1)
V.R. Basili, G. Caldiera, and H.D. Rombach, “The Goal Question Metric Paradigm”, In Encyclopedia of Software Engineering, volume 2, John Wiley and Sons, 1994, pp. 528-532.
2)
P. Mohagheghi and J. Aagedal, "Evaluating Quality in Model-Driven Engineering" Access on Jul. 2nd, 2020
3)
P. Mohagheghi et al, "Existing Model Metrics and Relations to Model Quality" Accessed on Jul. 4th, 2020
4)
C.F.J. Lange, "Model Size Matters", Proc. Model Size Metrics Workshop, 2006
5)
A.F. Abreu, and W. Melo, “Evaluating the Impact of Object-Oriented Design on Software Quality”, Proc. 3rd International Metric Symposium, 1996, pp. 90-99.
6)
S.R. Chidamber, and C.F. Kemerer, “A Metrics Suite for Object-Oriented Design”, IEEE Trans. on Software Engineering 20(6), 1994, pp. 476–493