-
Empirical Investigation of the Relationship Between Design Smells and Role Stereotypes
Authors:
Daniel Ogenrwot,
Joyce Nakatumba-Nabende,
John Businge,
Michel R. V. Chaudron
Abstract:
During software development, poor design and implementation choices can detrimentally impact software maintainability. Design smells, recurring patterns of poorly designed fragments, signify these issues. Role-stereotypes denote the generic responsibilities that classes assume in system design. Although the concepts of role-stereotypes and design smells differ, both significantly contribute to the…
▽ More
During software development, poor design and implementation choices can detrimentally impact software maintainability. Design smells, recurring patterns of poorly designed fragments, signify these issues. Role-stereotypes denote the generic responsibilities that classes assume in system design. Although the concepts of role-stereotypes and design smells differ, both significantly contribute to the design and maintenance of software systems. Understanding the relationship between these aspects is crucial for enhancing software maintainability, code quality, efficient code review, guided refactoring, and the design of role-specific metrics. This paper employs an exploratory approach, combining statistical analysis and unsupervised learning methods, to understand how design smells relate to role-stereotypes across desktop and mobile applications. Analyzing 11,350 classes from 30 GitHub repositories, we identified several design smells that frequently co-occur within certain role-stereotypes. Specifically, three (3) out of six (6) role-stereotypes we studied are more prone to design smells. We also examined the variation of design smells across the two ecosystems, driven by notable differences in their underlying architecture. Findings revealed that design smells are more prevalent in desktop than in mobile applications, especially within the Service Provider and Information Holder role-stereotypes. Additionally, the unsupervised learning method showed that certain pairs or groups of role-stereotypes are prone to similar types of design smells. We believe these relationships are associated with the characteristic and collaborative properties between role-stereotypes. The insights from this research provide valuable guidance for software teams on implementing design smell prevention and correction mechanisms, ensuring conceptual integrity during design and maintenance phases.
△ Less
Submitted 27 June, 2024;
originally announced June 2024.
-
Design Thinking and Creativity of Co-located vs. Globally Distributed Software Developers
Authors:
Rodi Jolak,
Andreas Wortmann,
Grischa Liebel,
Eric Umuhoza,
Michel R. V. Chaudron
Abstract:
Context: Designing software is an activity in which software developers think and make design decisions that shape the structure and behavior of software products. Designing software is one of the least understood software engineering activities. In a collaborative design setting, various types of distances can lead to challenges and effects that potentially affect how software is designed. Object…
▽ More
Context: Designing software is an activity in which software developers think and make design decisions that shape the structure and behavior of software products. Designing software is one of the least understood software engineering activities. In a collaborative design setting, various types of distances can lead to challenges and effects that potentially affect how software is designed. Objective: To contribute to a better understanding of collaborative software design, we investigate how geographic distance affects its design thinking and the creativity of its discussions. Method: To this end, we conducted a multiple-case study exploring the design thinking and creativity of co-located and distributed software developers in a collaborative design setting. Results: Compared to co-located developers, distributed developers spend less time on exploring the problem space, which could be related to different socio-technical challenges, such as lack of awareness and common understanding. Distributed development does not seem to affect the creativity of their activities. Conclusion: Developers engaging in collaborative design need to be aware that problem space exploration is reduced in a distributed setting. Unless distributed teams take compensatory measures, this could adversely affect the development. Regarding the effect distance has on creativity, our results are inconclusive and further studies are needed.
△ Less
Submitted 26 August, 2021;
originally announced August 2021.
-
The Art of Software Design, a Video Game for Learning Software Design Principles
Authors:
Dave R. Stikkolorum,
Michel R. V. Chaudron,
Oswald de Bruin
Abstract:
This paper introduces our gamification of a part of our software design curriculum. Based on typical design principles a motivating learning game is developed to train students in software design. We use Bloom's taxonomy to determine learning objectives. We keep the player engaged with direct feedback in a challenging level based game with increasing complexity. Players can evaluate their design a…
▽ More
This paper introduces our gamification of a part of our software design curriculum. Based on typical design principles a motivating learning game is developed to train students in software design. We use Bloom's taxonomy to determine learning objectives. We keep the player engaged with direct feedback in a challenging level based game with increasing complexity. Players can evaluate their design actions with the help of the visualisation of control and data flows. The main learning objective: applying design principles, fits the game's main activity. This supports the learning by doing approach of lecturers. A user test indicates possible learning effects and a playable game.
△ Less
Submitted 20 January, 2014;
originally announced January 2014.
-
Details of an Automotive Sub-System: Saab Instrument Cluster Module
Authors:
Ramin Etemaadi,
Kenneth Lind,
Rogardt Heldal,
Michel R. V. Chaudron
Abstract:
The goal of this technical report is to give the details of a real world existing sub-system in the automotive industry. It is produced to be used for reproduction of the same experiment if other researchers are interested in. Hence, it would be possible to compare the results of our published studies with the results of similar tools. The data is collected for the purpose of applying metaheuristi…
▽ More
The goal of this technical report is to give the details of a real world existing sub-system in the automotive industry. It is produced to be used for reproduction of the same experiment if other researchers are interested in. Hence, it would be possible to compare the results of our published studies with the results of similar tools. The data is collected for the purpose of applying metaheuristic optimization approaches. The case study based on these data shows that metaheuristic optimization approaches can find efficient solutions for multiple quality attributes while fulfilling given constraints.
The case study was conducted at Saab Automobile AB in order to evaluate the AQOSA framework in an industrial context. AQOSA (Automated Quality-driven Optimization of Software Architecture) is our architecture optimization framework that supports multiple quality attributes including response time, processor utilization, bus utilization, safety and cost.
To enable validation of the results we selected an existing realization for the Saab 9-5 Instrument Cluster Module ECU (Electronic Control Unit) and the surrounding sub-systems. The goal of the case study is to find a better solution than the current realization while fulfilling the requirements and constraints. The results of the case study and the details of AQOSA framework is reported in a paper from the authors in Journal of Systems and Software, Special Issue on Quality Optimization of Software Architecture and Design Specifications.
△ Less
Submitted 16 June, 2013; v1 submitted 3 June, 2013;
originally announced June 2013.