Collaborative Solutions to Software Architecture Challenges Faced by IT Professionals

Collaborative Solutions to Software Architecture Challenges Faced by IT Professionals

Zeeshan Anwar, Nazia Bibi, Tauseef Rana, Seifedine Kadry, Hammad Afzal
DOI: 10.4018/IJHCITP.342839
Article PDF Download
Open access articles are freely available for download

Abstract

Software architecture serves as a crucial link between problem and solution domains in software systems. However, reliance on graphical artifacts for architecture design has limitations, especially in abstract analysis. To overcome these constraints, Architecture Description Languages (ADLs) offer a more formal approach. Yet, our research reveals that ADLs face numerous challenges, as identified through interviews, surveys, and community interactions. By mining content from various sources, including mailing lists and forums, we comprehensively explore the concerns of software engineers. Employing content mining, topic modeling, and grounded theory, we compile a database of real-world issues and solutions in software architecture. Comparing our findings with existing literature, we identify 17 primary issues faced by practitioners. We also compare our results with language models to ascertain areas of agreement and disagreement. Finally, we propose solutions for each identified issue to aid future analysts.
Article Preview
Top

1. Introduction

Perry and Wolf introduced the significance and foundation of software architecture (Taylor et al., 2021). A software system’s architecture is the system’s structure in terms of the program units (components) with externally visible proper- ties and connections between these components (Bass et al., 2003; Hasselbring, 2018). Semantically, the high-level design of a system bridges the gap between the problem space (requirements) and the solution space (implementation). The architecture of a system can be represented in different ways that are (Land, 2002; Malavolta et al., 2013; Hasselbring, 2018): (i) informally by utilizing boxes-and-lines, (ii) semi-formally by utilizing a modeling language (e.g., UML) (Deryugina et al., 2019) and (iii) formally by utilizing an Architectural Description Language (ADL) (Fuxman, 2000).

For software systems, architecture dependent on boxes and lines has constrained expressiveness-ability; henceforth, it’s not valuable for in-depth analysis and documentation. Interestingly, a formal portrayal dependent on an ADL includes further subtle elements and depictions of the design, which can be helpful for various purposes (e.g., better dependency and consistency analyses) (Taylor, 2019). Despite its promising highlights, ADLs are not generally utilized in industry (Fuxman, 2000) due to the trouble of utilization and the absence of tool support. The primary explanations behind this are ADLs are created in confinement (Garlan et al., 2010), ADLs are not general purpose (Woods and Bashroush, 2012), have no standard (Mishra and Dutt, 2005), produced for scholastic viewpoint (Fuxman, 2000) and communication gap among researchers and practitioners (Bradbury et al., 2004). Due to convenience, UML-based representation is being utilized at a wider scale in the industry (Fuxman, 2000; Taylor, 2019). In the software component model survey (OMG, 2007), UML is considered an ADL. Rather than boxes-and-lines portrayal, ADL (and UML) based representation is better for human and machine readability. But UML-based representation does not solve structural and technical issues (Taylor, 2019).

In the existing work, surveys are used to categorize the architecture representations and identify the architecture- related issues. For example, surveys carried out to explore and categorize the features of ADL based representations (Bass et al., 2003; Land, 2002; OMG, 2007; Fuxman, 2000; Kamal and Avgeriou, 2007; Khan et al., 2016; Capilla et al., 2016; Shahin et al., 2014) and identification of architecture related issues (Tian et al., 2019; Tamburri et al., 2019; Othmane and Lamm, 2019; Cai and Kazman, 2019). All these studies are a sort of specialized work as these include findings depending on some pre-defined criteria/ framework. For example, the work in (OMG, 2007; Kamal and Avgeriou, 2007) is carried out for a limited set of ADLs. Tian et al. (Tian et al., 2019) applied grounded theory on 207 Stack Overflow posts to extract architecture smells. In another paper, Tamburri et al. (Tamburri et al., 2019) surveyed and identified 10 architecture smells in an agile environment. A tool DV8 (Cai and Kazman, 2019) was developed to detect architecture anti-patterns and measure modularity. Similarly, Othmane et al. (Othmane and Lamm, 2019) found that architects do not properly document architecture; therefore, a tool based on a gamification mechanism was proposed.

Complete Article List

Search this Journal:
Reset
Volume 15: 1 Issue (2024)
Volume 14: 1 Issue (2023)
Volume 13: 4 Issues (2022): 1 Released, 3 Forthcoming
Volume 12: 4 Issues (2021)
Volume 11: 4 Issues (2020)
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing