Frameworks are a key asset in large-scale object-oriented software development. They promise increased productivity, shorter development times, and higher quality of applications. To fulfill this, frameworks should be designed in such a way that they can evolve, be easily reused, adapted and configured. Drawing on experience with large-scale industrial banking projects, we present concepts and techniques for domain partitioning, framework layering, and framework construction. In particular, we discuss how domain aspects relate to framework structure, how frameworks are layered to accommodate domain needs, and how the resulting framework layers are integrated without tight coupling.
['Dirk Bäumer', 'Guido Gryczan', 'Rolf Knoll', 'Carola Lilienthal', 'Dirk Riehle', 'Heinz Züllighoven']
Framework development for large systems