Describir: Software Reuse Techniques: Adding Reuse to the System Development Proccess