1 CM602: Effective Systems Development Lecture 10: Reuse, Design Patterns & Component-Based Development.