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 in 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 accomodate domain needs, and how the resulting framework layers are integrated without tight coupling. Framework Development for Large Systems.