Relating functional requirements and software architecture: separation and consistency of concerns
Reiko Heckel, Gregor Engels · Journal of Software Maintenance and Evolution Research and Practice · 2002
Abstract In the early stages of most software processes, functional and non‐functional (such as architectural, performance, or security) requirements are expressed separately in different sub‐models. Later these requirements have to be integrated into one overall system design. The integration raises consistency issues between different sub‐models, which have to be resolved in the process. If requirements evolve over time, this leads to changes to the sub‐models concerned. Thus, new consistency issues arise between changed and unchanged sub‐models. In this case, a clear separation of concerns between different sub‐models is required to keep the effect of changes as local as possible. In this paper, we use a relational approach to couple functional and architectural models while keeping them separated in order to simplify change. The approach uses meta modeling to support the static integration and concepts from the theory of graph transformation to formalize the semantic consistency of the dynamic aspects. Copyright © 2002 John Wiley & Sons, Ltd.