Design for large scale software reuse: an industrial case study
Muthu Ramachandran, W. Fleischer · 2002
Reuse of software is an excellent way for saving costs and development efforts. Design for large-scale reuse addresses the need for higher productivity in a domain-specific (telecommunication) product line. This paper presents our approach to design for large-scale reuse. The large-scale granularity of reusable components includes subsystems, building blocks (a collection of object classes) and architectures. The main principles are configurability, conceptual integrity, domain-specific architectures (for a product family), design for reuse, reuse guidelines and rules. We have achieved more than 70% reuse within one product family and more than 40% on a different product family.