A recurring quality issue of UML class diagrams concerns the multiplicity on association ends. Modelers can get the multiplicity wrong, or forget to specify it at all. In his book “Elements of UML 2.0 style”, Scott Ambler suggests to always indicate the multiplicity of associations on all ends, even in apparently obvious cases. This demonstrates… [Continue reading]
The Single Best Presentation Slide on OO Metrics, Hands Down
This slide by Natallia Kokash from the Software Engineering course of Fall 2011 at Leiden University discusses the metric NOC from Chidamber and Kemerer’s metric suite for object-oriented design: The entire set of presentations is available here. The above slide is no. 65 from the presentation titled “Software Quality”. Thank you Natallia Kokash!
Calculating Class Design Cohesion Metrics for UML
In an earlier post I have explained why SDMetrics does not feature any class cohesion metrics “out of the box”. In the following, I will show how you can use SDMetrics to calculate class cohesion metrics anyway. The metrics are: CAMC (Cohesion among methods in a class) by Bansiya et al, “A Class Cohesion Metric… [Continue reading]
Quality Assessment and Quality Improvement for UML Models
I came across a PhD thesis titled “Quality Assessment and Quality Improvement for UML Models” by Akhtar Ali Jalbani. It was defended in February 2011 at the University Göttingen, Germany. The title seemed promising, so I checked it out. Here’s my review. Thesis Summary Jalbani defines a quality model for UML that distinguishes three life… [Continue reading]
Overview of the New Features in SDMetrics V2.3
SDMetrics V2.3 was released recently. We have already discussed the improved support for UML2 profile extensions in an earlier post. In this post, we take a closer look at the other new features of SDMetrics V2.3. 1. Custom functions in metric, set, condition expressions The metrics engine of SDMetrics can now be extended with new,… [Continue reading]
Adapting the XMI Import for Modelio SysML Flow Ports
I may have mentioned it before on this blog, but UML model interchange via XMI is difficult in practice. In this post we’ll look at a case study how to adapt SDMetrics’ XMI import to the idiosyncrasies of a modeling tool. For this case study, I used the open source UML tool Modelio 2.1.0, with… [Continue reading]
The Trouble with Structural Cohesion Measurement
Recently someone asked me why SDMetrics features hardly any cohesion measures “out of the box”, and only for packages, not for classes. In this post, we’ll look at the reasons for this apparent deficiency. The first reason is a practical one: many proposed class cohesion measures can’t be applied to UML models. Class cohesion measures… [Continue reading]
Design Quality Metrics for UML2 Profile Extensions
The interchange of UML models between tools via XMI is difficult in practice. This is particularly true for UML models that are extended by UML profiles such as the SysML. In the past, tool vendors often used proprietary XMI extensions to serialize the profile applications, which were not understood by other tools. More and more… [Continue reading]
Welcome to SDMetrics’ UML design quality measurement blog!
On this blog, you will soon find discussions of UML and software design measurement issues, tips and tricks how to effectively customize SDMetrics, reviews of software design measurement papers and books, SDMetrics product news announcements.