Browsing by Author "Jolak, Rodi"
Now showing 1 - 2 of 2
- Results Per Page
- Sort Options
Item Understanding and Supporting Software Design in Model-Based Software Engineering(2020-02-10) Jolak, RodiModel-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.Item Understanding Software Design for Creating Better Design Environments(Chalmers University of Technology and Göteborg University, 2017) Jolak, Rodi; Department of Computer Science & Engineering, Division of Software Engineering, Chalmers University of Technology and Göteborg UniversityContext: 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 are a means to describe complex systems at several levels of abstraction and from a diversity of perspectives. Surprisingly, most of the current software design environments are not based on understanding of real needs of software designers in practice. Objective: As a first step towards supporting realistic software design processes, this thesis focuses on understanding software design practices, as well as on proposing and assessing of a new generation of software design environments. Method: To achieve the objective of this research, design science and empirical methods are employed. In particular, a new generation software design environment, called OctoUML, is created. Furthermore, to understand whether there is a need to improve modeling tools, the modeling process is analyzed in order to reveal 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). Result: This thesis describes two areas of contributions: On the one hand, OctoUML is perceived a usable environment in terms of ease of use, efficiency and user satisfaction. Moreover, it seems that OctoUML supports the design process by bridging the gap between early-phase design process and later on documentation and formalization process. Further results show that OctoUML was not only enjoyed by the designers, but also enhanced the efficiency of the software design process. On the other hand, we proposed experiments to increase our understanding of the software design process. We elicit many issues that need to be considered in such experiments. Our initial findings suggest that the majority of the modeling effort is devoted on design thinking. However, the effort spent on using modeling tools should be reduced by investigating better modeling-tool support.