The impact of structural complexity on the understandability of UML statechart diagrams

The effectiveness of current software development strategies, such as Model-Driven Development (MDD), depends largely on the quality of their primary artefacts, i.e. software models. As the standard modelling language for software systems is the Unified Modelling Language (UML), quality assurance of UML models is a major research field in Computer Science. Understandability, i.e. a model's ability to be easily understood, is one model quality property that is currently heavily under investigation. In particular, researchers are searching for the factors that determine an UML model's understandability and are looking for ways to manipulate these factors. This paper presents an empirical study investigating the effect that structural complexity has on the understandability of one particular type of UML model, i.e. the statechart diagram. Based on data collected in a family of three experiments, we have identified three dimensions of structural complexity that affect understandability: (i) the size and control flow complexity of the statechart in terms of features such as the number of states, events, guards and state transitions; (ii) the actions that are performed when entering or leaving a state; (iii) the sequence of actions that is performed while staying within a state. Based on these structural complexity dimensions we have built an understandability prediction model using a regression technique that is specifically recommended for data obtained through a repeated measures design. Our test results show that each of the underlying structural complexity dimensions has a significant impact on the understandability of a statechart diagram.

[1]  Lionel C. Briand,et al.  Replicated Case Studies for Investigating Quality Factors in Object-Oriented Designs , 2001, Empirical Software Engineering.

[2]  Mario Piattini,et al.  No-redundant Metrics for UML Class Diagram Structural Complexity , 2003, CAiSE.

[3]  B. J. Winer Statistical Principles in Experimental Design , 1992 .

[4]  Keng Siau L.E.O.: The Incredible Story of the World's First Business Computer , 1997 .

[5]  Shari Lawrence Pfleeger,et al.  Software metrics (2nd ed.): a rigorous and practical approach , 1997 .

[6]  Forrest Shull,et al.  Building Knowledge through Families of Experiments , 1999, IEEE Trans. Software Eng..

[7]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[8]  Mario Piattini,et al.  Managing software process measurement: A metamodel-based approach , 2007, Inf. Sci..

[9]  Mario Piattini,et al.  Building measure-based prediction models for UML class diagram maintainability , 2007, Empirical Software Engineering.

[10]  Keng Siau Information Modeling and Method Engineering: A Psychological Perspective , 1999, J. Database Manag..

[11]  R. Darlington,et al.  Factor Analysis , 2008 .

[12]  Hany H. Ammar,et al.  Dynamic metrics for object oriented designs , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[13]  José Antonio Cruz Lemus A measurement-based approach for assessing uml statechart diagrams understandability , 2007 .

[14]  Julian Padget,et al.  Symbolic model checking of UML statechart diagrams with an integrated approach , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[15]  Axel Uhl,et al.  Model-Driven Architecture , 2002, OOIS Workshops.

[16]  Lionel C. Briand,et al.  Investigating quality factors in object-oriented designs: an industrial case study , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[17]  Keng Siau,et al.  Theoretical and Practical Complexity of UML , 2004, AMCIS.

[18]  Ana M. Moreno,et al.  Lecture Notes on Empirical Software Engineering , 2003, Series on Software Engineering and Knowledge Engineering.

[19]  Motoshi Saeki,et al.  Embedding Metrics into Information Systems Development Methods: An Application of Method Engineering Technique , 2003, CAiSE.

[20]  Lionel C. Briand,et al.  A Controlled Experiment for Evaluating Quality Guidelines on the Maintainability of Object-Oriented Designs , 2001, IEEE Trans. Software Eng..

[21]  James Miller,et al.  Applying meta-analytical procedures to software engineering experiments , 2000, J. Syst. Softw..

[22]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[23]  Khaled El Emam,et al.  The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics , 2001, IEEE Trans. Software Eng..

[24]  Mario Piattini,et al.  Empirical Validation of Metrics for UML Statechart Diagrams , 2003, ICEIS.

[25]  Mario Piattini,et al.  Integrated Measurement for the Evaluation and Improvement of Software Processes , 2003, EWSPT.

[26]  Claes Wohlin,et al.  Using Students as Subjects—A Comparative Study of Students and Professionals in Lead-Time Impact Assessment , 2000, Empirical Software Engineering.

[27]  Fernando Brito e Abreu,et al.  Object-Oriented Software Engineering: Measuring and Controlling the Development Process , 1994 .

[28]  Javam C. Machado,et al.  The prediction of faulty classes using object-oriented design metrics , 2001, J. Syst. Softw..

[29]  Mario Piattini,et al.  Defining Metrics for UML Statechart Diagrams in a Methodological Way , 2003, ER.

[30]  Ingo Wegener,et al.  Complexity Theory , 2005 .

[31]  Martti Juhola,et al.  On principal component analysis, cosine and Euclidean measures in information retrieval , 2007, Inf. Sci..

[32]  Brian Henderson-Sellers,et al.  Object-oriented metrics: measures of complexity , 1995 .

[33]  Jeffrey C. Carver,et al.  Replicated Studies: Building a Body of Knowledge about Software Reading Techniques , 2003, Lecture Notes on Empirical Software Engineering.

[34]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[35]  Ron Weber,et al.  Should Optional Properties Be Used in Conceptual Modelling? A Theory and Three Empirical Tests , 2001, Inf. Syst. Res..

[36]  Fernando Brito e Abreu,et al.  Using OCL to Formalize Object-Oriented Design Metrics Definitions , 2002 .

[37]  Jonathan I. Maletic,et al.  Assessing the Comprehension of UML Class Diagrams via Eye Tracking , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[38]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

[39]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[40]  Mario Piattini,et al.  Evaluating the effect of composite states on the understandability of UML statechart diagrams , 2005, MoDELS'05.

[41]  Brian Henderson-Sellers,et al.  Sizing Use Cases: How to Create a Standard Metrical Approach , 2002, OOIS.

[42]  N. V. Balasubramanian Object-oriented metrics , 1996, Proceedings 1996 Asia-Pacific Software Engineering Conference.

[43]  Mark Lorenz,et al.  Object-oriented software metrics - a practical guide , 1994 .

[44]  Geert Poels,et al.  Evaluating the effect of inheritance on the modifiability of object-oriented business domain models , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[45]  Michelle Cartwright,et al.  An Empirical Investigation of an Object-Oriented Software System , 2000, IEEE Trans. Software Eng..

[46]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

[47]  Marcela Genero Metrics For Software Conceptual Models , 2005 .

[48]  Geert Poels,et al.  Measures for Assessing Dynamic Complexity Aspects of Object-Oriented Conceptual Schemes , 2000, ER.

[49]  Geert Poels,et al.  Distance-based software measurement: necessary and sufficient properties for software measures , 2000, Inf. Softw. Technol..

[50]  Marcela Genero,et al.  METRICS FOR USE CASES: A SURVEY OF CURRENT PROPOSALS , 2005 .

[51]  Lionel C. Briand,et al.  A Comprehensive Investigation of Quality Factors in Object-Oriented Designs: an Industrial Case Study , 1998 .

[52]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[53]  Geert Poels,et al.  DISTANCE: a framework for software measure construction , 1999 .

[54]  J. L. Myers,et al.  Regression analyses of repeated measures data in cognitive research. , 1990, Journal of experimental psychology. Learning, memory, and cognition.

[55]  Brian Henderson-Sellers,et al.  A conceptual model of cognitive complexity of elements of the programming process , 1995, Inf. Softw. Technol..

[56]  Narasimha Bolloju,et al.  Assisting novice analysts in developing quality conceptual models with UML , 2006, CACM.

[57]  Michele Marchesi OOA metrics for the Unified Modeling Language , 1998, Proceedings of the Second Euromicro Conference on Software Maintenance and Reengineering.