MELO, I. V. A.; http://lattes.cnpq.br/4574109536760919; MELO, Izabela Vanessa de Almeida.
Resumo:
Since the 90’s a big effort has been applied in the academy to study and evolve aspects related to Software Architecture, increasing the amount of publications from 1999 to the
present-day. The significant rise in the number of publications in the last few years shows
how much importance and concern academia gives to this particular area. However, after
discussing what has been experienced by researchers and professionals of this area, it is possible to notice that the industry does not know/use what is proposed in the academy. The theoretical context about software architecture, architectural documentation and architectural conformance checking is already known. However, what about the practical/industrial context? How do the professionals define “software architecture”? How do they document (if they do) the architecture? How do they perform (if they do) architectural conformance checking? What do they think about support tools for architectural conformance checking? Aiming to answer these questions, we performed a 3-step qualitative study. Firstly, we applied an exploratory survey with the goal of understanding the practical environment and having a better notion about the context of our study. We sent the survey to 149 professionals and 4 discussion groups, getting 24.1% of response rate. In the second phase we interviewed 14 volunteered professionals who responded the exploratory survey (response rate of 40%). In this phase we wanted to deeply understand the context of your study. Finally, the last phase consisted of a confirmatory survey which goal was to confirm our findings. We sent the survey to GitHub users with public e-mails and more than 100 followers, getting 7.74%
of response rate. As main results we observed that there is not a single definition of“software architecture” and that it depends on several factors, as the professional’s experience and the company in which he/she works. The architecture is sometimes documented but, most of the time, the documentation is incomplete, informal and outdated. In many cases, architectural conformance checking is not performed or it is performed manually. The main reasons for not documenting or verifying the architecture are lack of time and/or need. Finally, the support tools for architectural conformance checking are not often used and not well known.