Abstract
IT Architecture work is demanding and includes, inter alia, identifying architectural significant requirements, designing and selecting solutions for these requirements, and ensuring that the solutions are implemented according to the architectural design. The research presented here, contributes to the advancement of the effectiveness of IT architecture work by means of
... read more
the development and improvement of supporting instruments and tools. In the domain of software architecture, the research focuses on modular architectures and architecture compliance checking (ACC) support. An important requirement in the presented research concerns the support of semantically rich modular architectures (SRMA). The term SRMA is used for an expressive modular architecture description, composed of semantically different types of modules (e.g., layers, subsystems, components), which are constrained by different types of rules, such as basic dependency constraints, constraints related to layers, and naming constraints. In practice and literature, many architectures can be labeled as SRMA. However, a comparative tool tests revealed that only limited support was available for SRMAs in ACC-tools, and that solutions are needed to bridge the gap between modular architectures in software architecture documents on one side, and module and rule models in ACC-tools on the other side. Subsequently, an approach of design science research resulted in a metamodel for SRMA support, and an ACC-tool that provides extensive and configurable SRMA support. To validate our approach, we have performed ACCs with our tool on professional systems and open source systems. Another requirement regarding ACC support concerns the accuracy of dependency detection. Ten tools were tested and compared by means of a custom-made test application. In addition, the code of an open source system was used to compare these tools on the number and precision of reported violation and dependency messages. The test results show large differences between the tools, but the main conclusion is that all tools could improve the accuracy of the reported dependencies and violations. Based on the test results, ten hard-to-detect dependency types and four challenges in dependency detection are identified. To substantiate the relevance of the findings, the results of a frequency analysis of the hard-to-detect dependencies in five open source systems are presented. Layers are commonly used in modular software architectures, but many layered architectures are poorly designed and documented, especially with respect to the assignment of responsibilities. To support the design of layered architectures of high quality, two novel instruments are proposed and illustrated: the Typology of Software Layer Responsibility and the complementary Responsibility Trace Table. In the domain of enterprise architecture, this dissertation proposes an assessment instrument that can be used to measure and improve the EA management function's ability to realize its goals: the Enterprise Architecture Realization Scorecard. The instrument with its metamodel and metrics are presented, as well as the accompanying method. Furthermore, two assessment cases are discussed to illustrate the use of the instrument.
show less