A cognitive model for software architecture complexity



FREE-DOWNLOAD E Bouwers, J Visser, C Lilienthal… – … (ICPC), 2010 research …, 2010
This paper introduces
a Software Architecture Complexity Model (SACM) based on theories from cognitive science
and system attributes that have proven to be indicators of maintainability in practice.

Evaluating the complexity of the architecture ofa software system is a dif?cult task. Many aspects have tobe considered to come to a balanced assessment. Severalarchitecture evaluation methods have been proposed, but veryfew de?ne a quality model to be used during the evaluationprocess. In addition, those methods that do introduce a qualitymodel do not neccesarilly explain why elements of the modelin?uence the complexity of an architecture.In this paper we propose a Software Architecture Complexity Model (SACM) which can be used to reason aboutthe complexity of a software architecture. This model is basedon theories from cognitive science and system attributes thathave proven to be indicators of maintainability in practice.SACM can be used as a formal model to explain existing qualitymodels, and as a starting point within architecture evaluationmethods such as ATAM. Alternatively, it can be used in astand-alone fashion to reason about a software architecture’scomplexity