Greg Wilson pointed me to the paper A. De Lucia, C. Gravino, R. Oliveto, G. Tortora, An Experimental Comparison of ER and UML Class Diagrams for Data Modelling, Empirical Software Engineering (2010)  (if you cannot access the paper, you may try directly contacting the authors).

The paper presents the results of three sets of controlled experiments aimed at analyzing whether UML class diagrams are more comprehensible than ER diagrams during data models’ maintenance. In particular, the experiments show that when using UML class diagrams subjects achieved 1 – better comprehension levels, 2 – same results in maintenance activities and 3 – better support during verification activities

The reason they give to explain these results is that UML is a more concise graphical notation than ER, in particular regarding the representation of attributes in ER diagrams. I should clarify that the ER notation they use in the study represents attributes as ovals outside the “class” box, as shown in the following image (taken from the Wikipedia description of ER diagrams).

Therefore, the results of this study could differ when using some of the alternative (more compact) notation styles for ER diagrams. Anyway, the fact that UML is not worse than ER diagrams (at least in terms of the properties analyzed in the paper) is very good news, considering that ER could be regarded as a DSL for data modeling and UML is more a general-purpose modeling language. In fact, I used ER diagrams professionally for some years but after UML came out I stopped and replaced them with UML class diagrams, which are easier to integrate with the rest of the (UML) software models (use case diagrams, sequence diagrams,…). Of course, UML is not perfect either. For instance, this is one key modeling feature I miss from the ER language.

 

Want to build better software faster?

Want to build better software faster?

Read about the latest trends on software modeling and low-code development

You have Successfully Subscribed!

Pin It on Pinterest

Share This