SDMetrics home page
The Software Design Metrics tool for the UML

Parsing the XMI Extensions of Enterprise Architect

January 2, 2018, Jürgen Wüst. Category: Announcements,Tips & Tricks

SDMetrics 2.35 introduces a small extension to the XMI parser. Assume we need to access information such as the author or a documentation string from the XMI extension part of Enterprise Architect. This information is encoded as follows: <uml:Model xmi:type=”uml:Model” name=”EA_Model” visibility=”public”> <packagedElement xmi:type=”uml:Package” xmi:id=”4A3564″ name=”test” visibility=”public” /> </uml:Model> <xmi:Extension extender=”Enterprise Architect” extenderID=”6.5″> <elements> <element… [Continue reading]

Counting OCL Expressions in UML Classes

January 9, 2014, Jürgen Wüst. Category: Tips & Tricks

In this post we’ll look at another real-life case study of how to adapt SDMetrics in order to solve a particular measurement problem. An SDMetrics user needed to count the OCL expressions in classes. SDMetrics does not produce this count out of the box, but needs a little tweaking. In the UML2, an OCL expression… [Continue reading]

SDMetrics – Not For UML Models Only

April 8, 2013, Jürgen Wüst. Category: Tips & Tricks

SDMetrics advertizes itself as “The Software Design Metrics tool for the UML”. SDMetrics has a flexible XMI parser to import UML models, as XMI is the most common UML model interchange format. But XMI is not limited to UML model interchange. It can be used to serialize any MOF-based models to XML. Therefore, SDMetrics too… [Continue reading]

Customizing the XMI Import for Enterprise Architect UML Component Diagrams

February 20, 2013, Jürgen Wüst. Category: Tips & Tricks

Recently, some SDMetrics Open Core users approached me with a neat little measurement problem that is ideally suited for this blog. They used Enterprise Architect to create UML 1.3 component diagrams with classifier roles. The XMI output of Enterprise Architect for these diagrams contained several tagged values for the classifier role instances, including two with… [Continue reading]

More Quality Metrics for UML Sequence Diagrams

December 21, 2012, Jürgen Wüst. Category: Tips & Tricks

In a previous post, we have defined a basic set of size and complexity metrics for UML sequence diagrams with SDMetrics. Today, we’ll add a few more sequence diagram metrics that are potentially useful to identify design flaws. I will show how to implement these metrics using the SDMetricsML. 1. Number of “self” messages The… [Continue reading]

Measuring the Size and Complexity of UML Sequence Diagrams

October 25, 2012, Jürgen Wüst. Category: Tips & Tricks

Almost all of the UML metrics that SDMetrics calculates “out of the box” are model-centric, not diagram-centric. For example, class metrics count all attributes, associations, operations, etc. of classes. Whether these elements – or the classes themselves – appear on any diagrams does not matter. They are part of the UML model, and that’s what… [Continue reading]

Checking the Layout of UML Diagrams with SDMetrics

July 18, 2012, Jürgen Wüst. Category: Tips & Tricks

In the previous post we have discussed the problem of diagram interchange between UML modeling tools via XMI. Using the example of Altova UModel, we have shown how to customize SDMetrics to extract tool vendor specific diagram information from XMI files. In this post, we will continue with this example and have SDMetrics automatically check… [Continue reading]

Parsing UML Diagram Information from Altova UModel XMI Files

June 20, 2012, Jürgen Wüst. Category: Tips & Tricks

I may have mentioned it before on this blog, but XMI interchange of UML models is notoriously difficult in practice. A major problem of model interchange concerns diagram information: what diagrams are there, which elements appear on the diagrams, and where are they located on the diagram? While the UML model itself often can be… [Continue reading]

Checking the Multiplicity of Associations on UML Class Diagrams

April 25, 2012, Jürgen Wüst. Category: Tips & Tricks

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]

Calculating Class Design Cohesion Metrics for UML

April 16, 2012, Jürgen Wüst. Category: Tips & Tricks

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]

Older Posts »