Tool support for Traceability between Architectural Decisions and Design
Master thesis by Michel de Jong
Description of the project
Software architecture involves making architectural design decisions. They are the result of the design process and shape the architecture. The effect of an architectural design decision is mainly visible in the structure of the software architecture, design artifacts (e.g. components and connectors) may be added, modified or removed. When multiple architectural design decisions are made it is often hard to understand how each architectural design decision changed the software architecture. As more architectural decisions are made the connections between those architectural design decisions and the design often become very complex. The lack of explicit integration of architectural decisions with the design makes it harder to estimate the impact of adding, removing or modifying an architectural decision. Creating an explicit link between an architectural decision and the design facilitates planning the enforcement of the architectural decision because the design has a 1:1 coupling with the realization of the design, whereas architectural decisions are more abstract and often cross cutting. The master project discusses the importance of relating architectural decisions to the design. In addition it presents a prototype tool for semi-automatically capturing, documenting and managing the connection between architectural decisions and the design. The tool was implemented as a plugin for the CAISE tool Visual Paradigm and is able to communicate with the open decision repository (see bachelor projects) using web services.