Visualising Architectural Dependencies
Visibility of technical debt is critical. A lack thereof can lead to significant problems without adequate visibility as part of the system level decision-making processes . Current approaches for analysing and monitoring architecture related debt are based on dependency analysis to detect code level violations of the software architecture [2,3,6]. However, heterogeneous environments with several systems constructed using COTS, and/or several programming languages may not offer sufficient code visibility. Other limiting factors include legal contracts, Intellectual Property Rights or just very large systems. Secondly, the complexity of a software dependency is often greater than simple structural dependencies; including multi-dimensional properties (as argued by ), behavioural dependencies [5,9]; and â€˜implicitâ€™ dependencies (i.e., dependency inter-relatedness ). This paper proposes a simple modelling approach for visualising dependency relationships as an extension of the current approaches; while supporting complex dependencies. The model can be build using existing dependency analysis and general architectural knowledge; thus better suited for heterogeneous environments. We demonstrate the proposed modelling using an exemplar, and two field case studies.
Keywords: technical debt, software architecture, architectural dependency analysis