How are UML class diagrams built in practice? A usability study of two UML tools: Magicdraw and Papyrus

Abstract Software modeling is a key activity in software development, especially when following any kind of Model Driven Software Engineering (MDSE) process. In this context, standard modeling languages, like the Unified Modeling Language (UML), and tools for supporting the modeling activities become essential. The aim of this study is to analyze how modelers build UML models and how good modeling tools are in supporting this task. Our goal is to draw some useful lessons that help to improve the (UML) modeling process both by recommending changes on the tools themselves and on how UML is taught so that theory and practice of UML modeling are better aligned. Our study employs two research approaches. The main one is an empirical experiment (which analyzes screen recordings registered by undergraduate students during the construction of a UML class diagram). An analytical analysis complements the previous experiment. The study focuses on the most frequent type of UML diagram, the class diagram, and on two tools widely used by the modeling community: MagicDraw and Papyrus.

[1]  Bernhard Rumpe,et al.  The UML as a formal modeling notation , 1998, Comput. Stand. Interfaces.

[2]  Timothy Lethbridge,et al.  A Survey of Tool Use in Modeling Education , 2017, 2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[3]  Marco Torchiano,et al.  How Developers' Experience and Ability Influence Web Application Comprehension Tasks Supported by UML Stereotypes: A Series of Four Experiments , 2010, IEEE Transactions on Software Engineering.

[4]  Ranjna Garg,et al.  A comparative study of UML tools , 2011, ACAI '11.

[5]  David E. Kieras Using the Keystroke-Level Model to Estimate Execution Times , 2003 .

[6]  Anna E. Bobkowska,et al.  Usability of UML Modeling Tools , 2005, Software Engineering: Evolution and Emerging Technologies.

[7]  Lena Khaled A Comparison between UML Tools , 2009, 2009 Second International Conference on Environmental and Computer Science.

[8]  Mik Kersten,et al.  How are Java software developers using the Elipse IDE? , 2006, IEEE Software.

[9]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[10]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[11]  Jan Recker,et al.  "Modeling with tools is easier, believe me" - The effects of tool functionality on modeling grammar usage beliefs , 2012, Inf. Syst..

[12]  Cristina Gómez,et al.  A complete set of guidelines for naming UML conceptual schema elements , 2013, Data Knowl. Eng..

[13]  Marta Indulska,et al.  How do practitioners use conceptual modeling in practice? , 2006, Data Knowl. Eng..

[14]  Muhammad Zohaib Z. Iqbal,et al.  Empirical Evaluation of UML Modeling Tools-A Controlled Experiment , 2015, ECMFA.

[15]  Filippo Ricca,et al.  What are the used UML diagrams? A Preliminary Survey , 2013, EESSMOD@MoDELS.

[16]  Klaus Schmid,et al.  A Comprehensive Survey of UML Compliance in Current Modelling Tools , 2009, Software Engineering.

[17]  Michel R. V. Chaudron,et al.  How effective is UML modeling ? , 2012, Software & Systems Modeling.

[18]  Keng Siau,et al.  Identifying Difficulties in Learning Uml , 2006, Inf. Syst. Manag..

[19]  Miroslaw Staron,et al.  Best Practices for Teaching UML Based Software Development , 2005, MoDELS.

[20]  Marco Torchiano,et al.  Empirical comparison of graphical and annotation-based re-documentation approaches , 2010, IET Softw..

[21]  Mik Kersten,et al.  How are lava software developers using the eclipse IDE , 2006 .

[22]  Jeffrey Parsons,et al.  How UML is used , 2006, CACM.

[23]  Stefano Ceri,et al.  Developing eBusiness Solutions with a Model Driven Approach: The Case of Acer EMEA , 2007, ICWE.

[24]  Foutse Khomh,et al.  Developer Interaction Traces Backed by IDE Screen Recordings from Think Aloud Sessions , 2018, 2018 IEEE/ACM 15th International Conference on Mining Software Repositories (MSR).

[25]  David E. Kieras,et al.  Using GOMS for user interface design and evaluation: which technique? , 1996, TCHI.

[26]  M. N. Shanmukha Swamy,et al.  Graphs: Theory and Algorithms , 1992 .

[27]  Marian Petre,et al.  UML in practice , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[28]  Stefan Biffl,et al.  Explorative UML Modeling - Comparing the Usability of UML Tools , 2007, ICEIS.