Understanding Software Design for Creating Better Design Environments
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 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.
Chalmers University of Technology and Göteborg University
Showing items related by title, author, creator and subject.
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 ...
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 ...
Jolak, Rodi (2020-02-10)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 ...