What is software architecture to practitioners: A survey
MetadataShow full item record
Software architecture has been proposed in the nineties as a high-level software design method for specifying software systems in terms of components and their relation. Since then, software architectures have become an indispensable part of software design. However, it remains dubious to what extent practitioners use software architectures in their software design. To better understand this, we conduct a survey study among a number of practitioners from both industry and academia and aim at understanding their level of knowledge and experience in software architectures. Our survey consists of a questionnaire of 20 questions, presented in four distinct sections. We run our survey on 50 participants, 11 of whom are from academia and the rest 39 are from industry. As a result of our analysis, we reached the following conclusion: while software architecture is highly crucial for practitioners given the nature of their software projects, practitioners' knowledge on software architectures is too limited. Practitioners use Unified Modelling Language (UML), which views software architectures as a method of communicating system structures. However, other aspects such as architectural analysis are equally crucial in detecting design errors and verifying software designs for quality properties.