Understanding architecture non-conformance: why is there a gap between conceptual architectural rules and source code dependencies?

SBES'18: PROCEEDINGS OF THE XXXII BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING(2018)

引用 2|浏览16
暂无评分
摘要
Evaluations of approaches and tools that assess the matching between a conceptual software architecture and its implementation show that divergences typically occur. However, there is limited investigation of the nature of these divergences. Such an investigation can reveal underlying problems, e.g. the use of inadequate granularity to document the architecture. In this paper, we evaluate and characterize the divergences between conceptual architectural rules and dependencies among modules implemented in the source code, potentially reflecting implemented rules. This was done by means of a study involving six subject systems, in which we extracted source code dependencies and compared them against architectural rules using an association rule algorithm that provides a metric based on frequency. This allowed us to make a quantitative and qualitative analysis of the rule-dependency conformance. We concluded that, as expected, some systems have a large gap between conceptual architectural rules and implemented dependencies, with divergences between conceptual rules and dependencies ranging from 26.1% to 94.1%. Based on the relationship of implemented dependencies and architectural rules, we identified the occurrence of four types of dependencies, which revealed that large non-conformance is not always due to architectural violations. In some cases, it is due to the coarse-grained representation of the software architecture, which does not capture implemented dependencies that are consistent with conceptual architectural rules-these are the identified intra-module and sub-conceptual dependencies. This indicates that finer-grained architectural documentation is needed to use this information to govern software development and evolution.
更多
查看译文
关键词
software architecture,architectural rules,architecture conformance
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要