Introduction to Software Engineering Design

Series
Addison-Wesley
Author
Christopher Fox  
Publisher
Pearson
Cover
Softcover
Edition
1
Language
English
Total pages
720
Pub.-date
May 2006
ISBN13
9780321410139
ISBN
0321410130
Related Titles


Product detail

Product Price CHF Available  
9780321410139
Introduction to Software Engineering Design
178.90 approx. 7-9 days

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.  

 

 ** Supporting materials are available on the author's Web site at https://users.cs.jmu.edu/foxcj/Public/ISED/index.htm.

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 

         ** Supporting materials are available on the author's Web site at https://users.cs.jmu.edu/foxcj/Public/ISED/index.htm.

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


 

 

Back Cover

Software Engineering/Software Design

 

Introduction to Software Engineering Design, First Edition

Christopher Fox, James Madison University

ISBN:0-321-41013-0

 

 

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, over 400 end-of-chapter exercises, and a glossary of key terms.

 

 

This text covers all aspects of software design in four parts:

 

Part I introduces the discipline of design, generic design processes, and design management

 

Part II covers software product design, including analysis activities such as needs elicitation and documentation, requirements development activities such as requirements specification and validation, prototyping, and use case modeling

 

Part III covers engineering design analysis, including conceptual modeling and both architectural and detailed design

 

Part IV surveys patterns in software design, including architectural styles and common mid-level design patterns

 

 

 

Addison-Wesley Computing

Leading Authors * Quality Products

Visit aw.com/computing for more information about Addison-Wesley Computing books.

 

 

 

 


Instructor Resources