Software Product Lines : Practices and Patterns - Clements, Paul ((SEI Series in Software Engineering))