PublicaHier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.
From architecture to source code
How to ensure architecture compliance in the implemented system
Software architecture is the key factor for efficient communication, planning, development, maintenance, and hence, the overall success of the development project. Architecting is an upfront investment made by development organizations to assure that the resulting system(s) will meet the required quality criteria in time and effort. Among others, the architecture captures the envisioned structure of the system at development (i.e., the decomposition of the system in manageable units like components). Verifying this planned decomposition late in the lifecycle of the software system reveals - too often - that the implemented system is not compliant to specified structure. Consequently, efforts spent for architecting were made in vain because the decision and assumption made are no longer reliable and useful. To pro-actively prevent this structural decay, we propose constructive architecture compliance checking, which constantly monitors the modifications made by several (teams of)developers from day one of the implementation phase. Whenever structural violation is detected, the particular developer receives live feedback on the violation allowing its prompt removal of the violations, ensures compliance of the implemented system with the architecture, and hence, sustains the investment made into architecting.