The Evolution of Role-Stereotypes and Related Design (Anti)Patterns
Abstract
This paper presents a study on how classes based on
the role-stereotypes defined by Wirfs-Brock, change over time in
software systems, and how the occurrence of anti-patterns change
over time in relation to these roles. The aim of the study is to gain
an understanding on how role-stereotypes change as softwaresystems
evolve, and if these changes have possible correlations
to certain anti-patterns.
With an exploratory approach, we performed studies on the
evolution of role-stereotypes and anti-patterns in three open
source projects: Bitcoin Wallet, K9 Mail and Sweet Home
3D. By using descriptive graphs and through observation, we
demonstrate how the distribution of role-stereotypes and the
distribution of anti-patterns evolve over a selected number of
versions of the three projects. Furthermore, we also analyzed
the changes in role-stereotypes in relation to the the occurrence
of anti-patterns in these roles. Additionally, we analyzed if there
are certain roles that are more prone to switch to other roles.
We found that some changes in the occurrence of anti-patterns
seems to be reflective to the changes in the distribution of
role-stereotypes, and that the occurrence of anti-patterns in
specific role-stereotypes seems to have more in common with the
occurrence of anti-patterns in different roles in the same project,
rather than with the occurrence of anti-patterns in the same roles
in different projects. We also found that certain role-stereotypes
are more prone to change role to other certain roles.
Therefore this study brings new insight to software developers
and designers on the behaviour and nature of role-stereotypes
and anti-patterns, when using classes designed based on rolestereotypes.
Degree
Student essay
Collections
View/ Open
Date
2020-12-03Author
Nguyen Ngoc, Duy
Fröding, Fabian
Keywords
Role-stereotypes
anti-patterns
software design
software evolution
Language
eng