
Thesis for The Degree of Doctor of Philosophy Understanding and Supporting Software Design in Model-Based Software Engineering Rodi Jolak Division of Software Engineering Department of Computer Science & Engineering Chalmers University of Technology and University of Gothenburg Gothenburg, Sweden, 2020 Understanding and Supporting Software Design in Model-Based Software Engineering Rodi Jolak Copyright ©2020 Rodi Jolak except where otherwise stated. All rights reserved. ISBN 978-91-7833-746-0 (PRINT) ISBN 978-91-7833-747-7 (PDF) Technical Report No 181D Department of Computer Science & Engineering Division of Software Engineering Chalmers University of Technology and University of Gothenburg Gothenburg, Sweden Cover illustration: The upper part is adapted from Raphael's painting: the school of Athens. It shows Donato Bramante, as Euclid, surrounded by his students. The bottom part shows the process of design thinking. This thesis has been prepared using LATEX. Printed by Chalmers Reproservice, Gothenburg, Sweden 2020. ii \To understand the universe at the deepest level, we need to know not only how the universe behaves, but why." - Stephen Hawking, The Grand Design iv Abstract Context: Model-Based Software Engineering (MBSE) is a software devel- opment approach in which models play a central role and serve a multitude of purposes. On the one hand, models can be used as drafts for problem understanding, ideation, creative thinking, and communication. On the other hand, models can also be used as guidelines for documentation, implementation, and code-generation. Motivation: Several studies claim that modeling in MBSE helps to improve software quality, productivity, and maintainability. However, modeling is frequently believed to be a time consuming approach that requires a lot of effort and often complicates matters. Generally, the entire field of Software Engineering (SE) perceives a discrepancy between empirical findings and prac- titioners' a priori beliefs, which are often based on personal perspectives on the development process. Objective: We aim to address the interplay of belief and evidence in MBSE by contributing to the empirical understanding of software design. Moreover, we aim to support the design activities in MBSE in order to improve the overall process and achievement thereof. Method: To achieve the objective of this research, we first conduct more in-depth empirical studies that investigate the socio-technical nature of MBSE. In particular, we observe practices and investigate challenges to MBSE in order to increase our understanding of this software engineering approach. Based on the results of our empirical investigations, we propose mechanisms and tools to support the design activities of MBSE. Studies: We conduct multiple studies to understand and support software design in MBSE: • We analyze the modeling process in order to understand how much effort is given to designing (i.e. thinking about the design of software systems), and how much effort is given to drawing the model (i.e. tool interaction). • We also investigate development efforts and challenges in MBSE practices. • Moreover, our endeavor to support the design activities of developers resulted in creating two software design environments: OctoUML and OctoBubbles. OctoUML is a collaborative software design environment that supports the mix of informal and formal notations. OctoBubbles is a multi-view interactive environment for concurrent visualization and synchronization of software design and code. vi • Finally, we study the effect of geographic distance and software design representation on design collaboration and communication. Results: By conducting the aforementioned studies, we find the following: • We find that much of the modeling effort is devoted to designing (thinking and pondering of design decisions). • Our inquiry into MBSE efforts shows that the most of MBSE effort is spent on collaboration and communication between developers. Moreover, we find that tool-related challenges are the most encountered challenges in MBSE. We uncover that specific tool-challenges are due to: (i) usability of the tools, (ii) the learning effort of the tool-chain, (iii) the interoperability of various tools, and iv) the installation and configuration of the tools. • Multiple evaluations of OctoUML and OctoBubbles indicate a positive perception of the users regarding the usability of these environments. • By studying the effect of distance on design collaboration, we find that co-located developers do and actively discuss more design decisions in the problem space than distributed developers. • We also find that a graphical software design representation is better than a textual representation in promoting active discussion between developers and improving the recall ability of design details. Suggestions: Our endeavour to understand and support the design activities in MBSE practices suggests that we can enhance MBSE processes by: • Reducing the complexity of MBSE tool-support and enhancing the us- ability thereof. This would let developers spend more time on pondering and thinking of design decisions. • Introducing explicit triggers for effective communication in co-located and distributed MBSE collaborations. This in turn would enhance the efficiency and effectiveness of the collaborative activities of the developers. • Studying the social challenges in MBSE, and accounting for the effect of these challenges on team behavior and development activities. Keywords: Software Engineering, Software Design, Software Modeling, MBSE Efforts and Challenges, Software Design Environments, Collaboration, Com- munication, Human Aspects, Empirical Studies. Acknowledgment I would like to express my sincere gratitude to a number of people who helped me in accomplishing my research goals. To my main supervisor Michel R.V. Chaudron for his continuous support and inspiring discussions. To my co- supervisors: Morten Fjeld and Eric Knauss for their collaboration, feedback, and interesting discussions. To my examiner Ulf Assarsson for his constructive feedback during the follow-up meetings. To professor Matthias Book for giving me helpful and constructive feedback on my licentiate thesis. I would like to thank Professor Andr´eVan der Hoek for being the opponent of my PhD defence. Also, I would like to thank Professors Kurt Schneider, Juan de Lara, and Maryam Razavian for being a part of the grading committee. Special thanks to Boban Vesin, Eric Umuhoza, Marco Brambilla, Truong Ho- Quang, Bilal Karasneh, Grischa Liebel, Dave Stikkolorum, Ramon Schiffelers, Duy Le Khanh, Kaan Sener, Andreas Wortmann, Bernhard Rumpe, Maxime Savary-Lelanc, Manuela Dalibor, Juraj Vincur, Ivan Polasek, Regina Hebig, Xavier Le Pallec, and Sebastien G´erardfor their collaboration and contribution to the papers appended in this thesis. In particular, I would like to thank my office-mate Truong for his support and fruitful discussions. I would like to thank my colleagues (researchers, PhD students, and admins) at the Software Engineering division for their support and help. Finally, I would like to express my sincere gratitude to my family members for their love and continuous encouragement. Rodi Jolak G¨oteborg, 2020 vii List of Publications Included publications This thesis is based on the following publications: (A) R. Jolak, E. Umuhoza, T. Ho-Quang, M.R.V. Chaudron, M. Brambilla \Dissecting Design Effort and Drawing Effort in UML Modeling" In the 43th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 384-391. 2017. (B) R. Jolak, B. Vesin, M.R.V. Chaudron \OctoUML: An Environment for Exploratory and Collaborative Software Design" In the 39th International Conference on Software Engineering Companion (ICSE-C), pp. 7-10. 2017. (C) R. Jolak, T. Ho-Quang, M.R.V. Chaudron, R.R.H. Schiffelers \Model- Based Software Engineering: A Multiple-Case Study on Challenges and Development Efforts” In the 21th ACM/IEEE International Conference on Model Driven Engi- neering Languages and Systems (MoDELS), pp. 213-223. 2018. (D) R. Jolak, K.D. Le, K.B. Sener, M.R.V. Chaudron \OctoBubbles: A Multi-view Interactive Environment for Concurrent Visualization and Synchronization of UML Models and Code" In the 25th IEEE International Conference on Software Analysis, Evolu- tion and Re-engineering (SANER), pp. 482-486. 2018. (E) R. Jolak, A. Wortmann, M.R.V. Chaudron, B. Rumpe \Does Distance Still Matter? Revisiting Collaborative Distributed Software Design" In IEEE Software Journal 35, no. 6: 40-47. 2018. (F) R. Jolak, M. Savary-Lelanc, M. Dalibor, A. Wortmann, R. Hebig, J. Vin- cur, I. Polasek, X. Le Pallec, S. G´erard,M.R.V. Chaudron \Software Engineering Whispers: The Effect of Textual Vs. Graphical Software Design Descriptions on Software Design Communication" In submission to EMSE Journal. Revised version submitted on Dec. 2019. ix x Other publications The following publications were published during my PhD studies, or are currently in submission. However, they are not appended to this thesis, due to contents overlapping that of appended publications or contents not related to the thesis. Conference (Peer reviewed) (a) B. Karasneh, R. Jolak, M.R.V. Chaudron \Using Examples for Teaching Software Design: An Experiment Using a Repository of UML Class Diagrams" In 2015 Asia-Pacific Software Engineering Conference (APSEC). IEEE, pp. 261-268. 2015. (b) R. Jolak, B. Vesin, M.R.V. Chaudron \Using Voice Commands for UML Modeling Support on Interactive Whiteboards: Insights and Experiences" In Proceedings of the 20th Ibero
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages216 Page
-
File Size-