Provides a common framework for extending the software life cycle processes to include the systematic practice of software reuse. It specifies the processes, activities, and tasks to be applied during each phase of a software life cycle to enable a software product to be constructed from assets.