ion, selection, and integration of reusable artifacts are still open problems in reuse-based software construction. We investigate how these problems can be solved for one sample domain of system software: database management systems. We propose dimensions for functional subdomains where different design choices are to be made. Strategies are the design choices for dimensions; their application leads to refined architectures and designs. Moreover, they are used to control the integrity of designs. Techniques are classes in the sense of object-oriented programming and implement combinations of strategies; they are reused during subsystem implementation. Through the various levels of abstraction, a designer/implementor of a database management system is guided towards reusable artifacts in all phases of a construction process.