Skip to main content

Software Design: From Programming to Architecture

Software Design: From Programming to Architecture

Eric J. Braude

ISBN: 978-0-471-20459-6

Feb 2003

576 pages

Select type: Paperback

In Stock

$137.95

Description

All Computer Scientists and Software Engineers need to understand software design, but until now there hasn't been one, complete, up-to-date guide to its theory and practice.

Eric Braude's Software Design: From Programming to Architecture begins at the code level with programming issues such as robustness and flexibility in implementation. Increasing in abstraction and scope, the book then moves to mid-level issues, emphasizing a thorough understanding of standard design patterns and components. Finally, the book ends with high-level issues such as architectures, frameworks, and object-oriented analysis and design. In addition, the text contains a prologue on software process, making it versatile enough to use in a software engineering course.

Related Resources

Preface.

Acknowledgments.

Prologue: The Software Process.

PART I: DESIGN PRINCIPLES, THE UNIFED MODELING LANGUAGE, AND CODE-LEVEL DESIGN.

Chapter 1. Programming Review and Introduction to Software Design.

Chapter 2. Object-Orientation.

Chapter 3. The Unified Modeling Language.

Chapter 4. Design Principles I: Correctness and Robustness.

Chapter 5. Design Principles II: Flexibility, Reusability, and Efficiency.

PART II: DESIGN PATTERNS.

Chapter 6. Introduction to Design Patterns.

Chapter 7. Creational Design Patterns.

Chapter 8. Structural Design Patterns.

Chapter 9. Behavioral Design Patterns.

PART III: COMPONENTS.

Chapter 10. Introduction to Components.

Chapter 11. JavaBeans.

Chapter 12. Microsoft Assemblies.

PART IV: OBJECT-ORIENTED ANALYSIS AND DESIGN.

Chapter 13. Requirements and Domain Classes.

Chapter 14. Architectures and Frameworks.

References.

Index.

  • Various design patterns, with detailed explanations, provide essential tools for academic and professional growth.
  • Examples of how to apply all the design patterns covered, with complete Java code for most examples.
  • Chapters on component technology motivate readers with highly engaging topics, such as JavaBeans.
  • Includes an extensive discussion of UML (Unified Modeling Language), with many UML samples and exercises.
  • Reviews the goals and objectives of good software design.
  • Provides chapters on C# and .NET (The book's main language is Java, but the author includes an overview of C# to show the application of Component technology in .NET).
  • Includes an introductory chapter on software process.
  • Web-based "starter" code for many of the exercises enables readers to learn concepts hands-on, without having to start every programming assignment from scratch.