Description 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.
Features
Introduces software design in the context of the software life cycle and the design process with an emphasis on design practice at an introductory level
Begins with the discipline of design, generic design processes, and managing design
Covers 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 design
Covers engineering design analysis, including conceptual modeling, and both architectural and detailed engineering design
Introduces and uses UML2 and several other design notations throughout
Includes program examples in Java
Contains over 400 exercises
Provides 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
Table of Contents Part I Introduction Chapter 1 A Discipline of Software Engineering Design Chapter 2 Software Design Processes and Management Part II Software Product Design Chapter 3 Context of Software Product Design Chapter 4 Product Design Analysis Chapter 5 Product Design Resolution Chapter 6 Designing with Use Cases Part III Software Engineering Design Chapter 7 Engineering Design Analysis Chapter 8 Engineering Design Resolution Chapter 9 Architectural Design Chapter 10 Architectural Design Resolution Chapter 11 Static Mid-Level Object-Oriented Design: Class Models Chapter 12 Dynamic Mid-Level Object-Oriented Design: Interaction Models Chapter 13 Dynamic Mid-Level State-Based Design: State Models Chapter 14 Low-Level Design Part IV Patterns in Software Design Chapter 15 Architectural Styles Chapter 16 Mid-Level Object-Oriented Design Patterns Chapter 17 Broker Design Patterns Chapter 18 Generator Design Patterns Chapter 19 Reactor Design Patterns