Introduction to software engineering design processes, principles, and patterns with UML2 - Fox, Christopher John (Pearson Education/Addison-Wesley, 2007)
Introduction to Software Engineering Design emphasizes design practice at an introductory level using object-oriented analysis and design techniques and UML 2.0. Readers will learn to use best practices in software design and development. Pedagogical features include learning objectives and orientation diagrams, summaries of key concepts, end-of-section quizzes, a large running case study, team projects, more than 400 end-of-chapter exercises, and a glossary of key terms.