Practical Software Reuse (Wiley Series in Software Engineering Practice)