For software reuse to become a reality, the concept of reuse must be presented in a practical context. A practical context must focus on the use of reusable components to develop systems in well understood domains.

Write-only

software libraries will do nothing to accomplish the potential gain of reuse. Generic libraries of components will also provide little gain. This paper discusses a five lesson section covering reuse in a software generation and maintenance course. The course is part of a program designed to educate working professionals in software engineering. The reuse lessons focus on all aspects of reusing software components, from the development of a domain model through to the construction of systems. This paper also describes the homework and project tasks used to reinforce the lesson material.