Synopses & Reviews
The focus of Introduction to Software Engineering Design is the processes, principles and practices used to design software products. The discipline of design, generic design processes, and managing design are introduced in Part I. Part II covers software product design, use case modeling, and user interface design. Part III of the book is its core and covers enginnering data anyalysis, including conceptual modeling, and both architectural and detailed engineering design. This book is for anyone interested in learning software design.
Synopsis
Software Engineering/Software Design
Introduction to Software Engineering Design, First Edition
Christopher Fox, James Madison University
Table of Contents
Part I | Introduction |
Chapter 1 | A Discipline of Software Engineering Design |
1.1 What Is Software Design? |
1.2 Varieties of Design |
1.3 Software Design in the Life Cycle |
1.4 Software Engineering Design Methods* |
Further Reading, Exercises, Review Quiz Answers |
Chapter 2 | Software Design Processes and Management |
2.1 Specifying Processes with UML Activity Diagrams |
2.2 Software Design Processes |
2.3 Software Design Management* |
Further Reading, Exercises, Review Quiz Answers |
Part II | Software Product Design |
Chapter 3 | Context of Software Product Design |
3.1 Products and Markets |
3.2 Product Planning |
3.3 Project Mission Statement |
3.4 Software Requirements Specification |
Further Reading, Exercises, Review Quiz Answers |
Chapter 4 | Product Design Analysis |
4.1 Product Design Process Overview |
4.2 Needs Elicitation |
4.3 Needs Documentation and Analysis |
Further Reading, Exercises, Review Quiz Answers |
Chapter 5 | Product Design Resolution |
5.1 Generating Alternative Requirements |
5.2 Stating Requirements |
5.3 Evaluating and Selecting Alternatives |
5.4 Finalizing a Product Design |
5.5 Prototyping |
Further Reading, Exercises, Review Quiz Answers |
Chapter 6 | Designing with Use Cases |
6.1 UML Use Case Diagrams |
6.2 Use Case Descriptions |
6.3 Use Case Models |
Further Reading, Exercises, Review Quiz Answers |
Part III | Software Engineering Design |
Chapter 7 | Engineering Design Analysis |
7.1 Introduction to Engineering Design Analysis |
7.2 UML Class and Object Diagrams |
7.3 Making Conceptual Models |
Further Reading, Exercises, Review Quiz Answers |
Chapter 8 | Engineering Design Resolution |
8.1 Engineering Design Resolution Activities |
8.2 Engineering Design Principles |
8.3 Modularity Principles |
8.4 Implementability and Aesthetic Principles |
Further Reading, Exercises, Review Quiz Answers |
Chapter 9 | Architectural Design |
9.1 Introduction to Architectural Design |
9.2 Specifying Software Architectures |
9.3 UML Package and Component Diagrams |
9.4 UML Deployment Diagrams* |
Further Reading, Exercises, Review Quiz Answers |
Chapter 10 | Architectural Design Resolution |
10.1 Generating and Improving Software Architectures |
10.2 Evaluating and Selecting Software Architectures |
10.3 Finalizing Software Architectures |
Further Reading, Exercises, Review Quiz Answers |
Chapter 11 | Static Mid-Level Object-Oriented Design: Class Models |
11.1 Introduction to Detailed Design |
11.2 Advanced UML Class Diagrams |
11.3 Drafting a Class Model |
11.4 Static Modeling Heuristics |
Further Reading, Exercises, Review Quiz Answers |
Chapter 12 | Dynamic Mid-Level Object-Oriented Design: Interaction Models |
12.1 UML Sequence Diagrams |
12.2 Interaction Design Process |
12.3 Interaction Modeling Heuristics |
Further Reading, Exercises, Review Quiz Answers |
Chapter 13 | Dynamic Mid-Level State-Based Design: State Models |
13.1 UML State Diagrams |
13.2 Advanced UML State Diagrams* |
13.3 Designing with State Diagrams |
Further Reading, Exercises, Review Quiz Answers |
Chapter 14 | Low-Level Design |
14.1 Visibility, Accessibility, and Information Hiding |
14.2 Operation Specification |
14.3 Algorithm and Data Structure Specification* |
14.4 Design Finalization |
Further Reading, Exercises, Review Quiz Answers |
Part IV | Patterns in Software Design |
Chapter 15 | Architectural Styles |
15.1 Patterns in Software Design |
15.2 Layered Architectures |
15.3 Other Architectural Styles |
Further Reading, Exercises, Review Quiz Answers |
Chapter 16 | Mid-Level Object-Oriented Design Patterns |
16.1 Collection Iteration |
16.2 The Iterator Pattern |
16.3 Mid-Level Design Pattern Categories |
Further Reading, Exercises, Review Quiz Answers |
Chapter 17 | Broker Design Patterns |
17.1 The Broker Category |
17.2 The Façade and Mediator Patterns |
17.3 The Adapter Patterns |
17.4 The Proxy Pattern* |
Further Reading, Exercises, Review Quiz Answers |
Chapter 18 | Generator Design Patterns |
18.1 The Generator Category |
18.2 The Factory Patterns |
18.3 The Singleton Pattern |
18.4 The Prototype Pattern* |
Further Reading, Exercises, Review Quiz Answers |
Chapter 19 | Reactor Design Patterns |
19.1 The Reactor Category |
19.2 The Command Pattern |
19.3 The Observer Pattern |
Further Reading, Exercises, Review Quiz Answers |
Appendices |
Appendix A | Glossary |
Appendix B | AquaLush Case Study |
Appendix C | References |
Index |