Understanding and Supporting Software Design in Model-Based Software Engineering
Abstract
Model-Based Software Engineering (MBSE) is a software development approach in which models can serve a multitude of purposes. On the one hand, models can be used for ideation, to stimulate creative thinking, and facilitate communication. On the other hand, models can be used as guidelines for documentation, implementation, and code-generation.
There is a discrepancy between empirical findings and developers' beliefs about MBSE. In this research, we address this discrepancy by contributing to the empirical understanding of software design. Moreover, we explore how to better support software design in MBSE.
Our endeavor to understand design activities in MBSE resulted in the following:
- Creating models while designing prompts significant thinking about the design.
- Developers that work on different locations have fewer discussions about design decisions than co-located developers.
- In MBSE projects, coordinating and knowledge sharing take more effort than technical engineering activities.
- Graphical software design representations (GSD) promote more active discussion of design decisions between developers than textual software design representations (TSD). Also, developers have better recall of design details when using GSD than TSD.
In our experience, usability and learning-effort of tools are the most encountered challenges in MBSE. Therefore, we research how to better support the design activities in MBSE by creating two software design environments: OctoUML and OctoBubbles. These tools implement new ways of transitioning from informal- to formal design representations, and novel ways to navigate between implementation-level and design-level in order to ease understanding of systems. Evaluations show enhanced efficiency of the design activities and positive perception of the usability of these environments.
Parts of work
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. ::doi::10.1109/SEAA.2017.55 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. ::doi::10.1109/ICSE-C.2017.19 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 Engineering Languages and Systems (MoDELS), pp. 213-223. 2018. ::doi::10.1145/3239372.3239404 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, Evolution and Re-engineering (SANER), pp. 482-486. 2018. ::doi::10.1109/SANER.2018.8330244 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. ::doi::10.1109/MS.2018.290100920 R. Jolak, M. Savary-Lelanc, M. Dalibor, A. Wortmann, R. Hebig, J. Vincur, I. Polasek, X. Le Pallec, S. Gerard, 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.
Degree
Doctor of Philosophy
University
Göteborgs universitet. IT-fakulteten
Institution
Department of Computer Science and Engineering ; Institutionen för data- och informationsteknik
Disputation
Monday, the 2nd of March 2020 at Jup243, Jupiter building, Hörselgången 5, 41756, Göteborg
Date of defence
2020-03-02
rodi.jolak@cse.gu.se
rodijolak@yahoo.it
Date
2020-02-10Author
Jolak, Rodi
Keywords
Software Engineering
Software Design
Software Modeling
MBSE Efforts and Challenges
Software Design Environments
Collaboration
Communication
Human Aspects
Empirical Studies
Publication type
Doctoral thesis
ISBN
978-91-7833-747-7
Series/Report no.
181D
Language
eng
Metadata
Show full item recordRelated items
Showing items related by title, author, creator and subject.
-
Understanding, Measuring, and Evaluating Maintainability of Automotive Software
Schroeder, Jan (2020-08-17)Context: The importance of software maintainability is well-addressed by software engineering research, in general. Particularly for object-oriented and open-source software, measurements as a means to represent maintainability ... -
Understanding Software Design for Creating Better Design Environments
Jolak, Rodi (Chalmers University of Technology and Göteborg University, 2017)Context: Software design is considered an essential activity to analyze software requirements in order to produce a description of the software's internal structure that will serve as the basis for its construction. Models ... -
Innovation Assessment Challenges In Software Development Projects Within IT Start-ups
Mobtahej, Pooyan (2015-03-30)This research has been conducted to investigate challenges during innovation assessment in software development projects. Successful products based on innovation are a driving force for growth of IT start-ups. Innovation ...