Deriving Software Architectures from Problem Descriptions
We show how software architectures (including interface descriptions) can be derived from artifacts set up in the analysis phase of the software lifecycle. The analysis phase consists of six steps, where various models are constructed. Especially, the software development problem is decomposed into simple subproblems. The models set up in the analysis phase form the basis for (i) defining software architectures related to single subproblems, (ii) merging the subproblem architectures to obtain the overall software architecture, and (iii) to define the interfaces between the components of the overall architecture. The approach is based on problem patterns (problem frames) and the architectural style of layered software architectures.
Full Text: PDF