This document discusses software component reuse and architectures to support it. It describes the importance of reuse for reducing costs and development time. Two main architectures are product-line architectures and COTS (commercial off-the-shelf) architectures. Product-line architectures allow developing a collection of similar components from shared assets to build a product line. COTS architectures support reuse through buying existing third-party software components. The document also discusses challenges of COTS reuse related to limited information and testing of third-party components.