Introduction to Software Engineering Design introduces software design with an emphasis on design practice at an introductory level using object-oriented analysis and design techniques and UML 2.0. This text provides comprehensive coverage of software engineering design with a focus on the processes, principles, and practices used to design software products. Readers will learn to design software using a wealth of pedagogical tools that include chapter objectives and orientation diagrams, a large running case study, end-of-section quizzes, team projects and end-of-chapter exercises. Introduces software design in the context of the software life cycle and the design process with an emphasis on design practice at an introductory levelBegins with the discipline of design, generic design processes, and managing designCovers software product design, including analysis activities such as needs elicitation, documentation, and modeling, and requirements development activities such as requirements documentation, use case modeling, and user interface designCovers engineering design analysis, including conceptual modeling, and both architectural and detailed engineering designIntroduces and uses UML2 and several other design notations throughout Includes program examples in JavaContains over 400 exercisesProvides a wealth of pedagogical features that include learning objectives and orientation diagrams, summaries of key concepts, end-of-section quizzes, a large running case study, team projects, glossary of key terms and appendix