ABSTRACT

Executive summary: Custom design and manual coding of software applications are intrinsically expensive and error prone. The future of software engineering lies in moving away from custom development and moving to a model of constructing applications using at least 85% reusable materials. The reusable materials will include reusable requirements, reusable design, reusable code, reusable test cases and test scripts, reusable user documents, and even reusable plans. Pattern-based development and model-based development also include software reuse, but not as the main goal. See also feature-based development and product line engineering, which include reuse too.