This document discusses various techniques for software reuse including application frameworks, software product lines, and COTS product reuse. It defines each technique and compares their benefits and drawbacks. Application frameworks provide reusable structures for common functions but require custom development. Software product lines create families of related applications from shared components. COTS product reuse adapts existing commercial software through configuration or integration, reducing development costs but limiting customization. Overall, the document promotes software reuse as an important approach when feasible to accelerate development and reduce costs.