An Introduction to Software Design: Concepts, Principles, Methodologies, and Techniques
This textbook provides a balanced coverage on software design, including design principles, methodologies, and techniques in contexts of designing modules of small and larger sizes with a multi-paradigm viewpoint emphasizing design trade-off. Commonly used design diagrams and patterns are also covered in terms of the design ideas behind and their effective use. The book also explores what (software) design thinking is, the role it plays in a design process, and ways to promote it. Despite object orientation being still the center of attention, there is a strong promotion throughout the book that software design should consider all appropriate design paradigms and methodologies.

The book is organized in 10 chapters. Chapter 1 is dedicated to an exploration of what software design may be and entail. Next, chapters 2 and 3 are designed to help readers better understand object orientation, and the essentials of object-oriented design. Chapter 4 is then dedicated to the design of methods,while chapters 5, 6, and 8 respectively include topics about the design of objects, modeling with the Unified Modeling Language, and the use of design patterns. Larger software elements are often directly responsible for the formation of software architecture, thus chapter 7 covers four kinds of larger software elements: libraries, components, frameworks, and microservices, and their architectural implications. Chapter 9 finally brings the presentation of software design to an end with a coverage on software architecture focusing on software architectural views. Case studies are important in learning how to design software, hence chapter 10 then gathers some small design case studies that can be used in earlier chapters as appropriate. These case studies can be extended in different ways to provide additional design opportunities.

This textbook book is intended for a junior level undergraduate course on software design, yet the depth of the book makes it also appropriate for a design course at beginning graduate level. Professionals may also find the book useful in their professional development.
1143037658
An Introduction to Software Design: Concepts, Principles, Methodologies, and Techniques
This textbook provides a balanced coverage on software design, including design principles, methodologies, and techniques in contexts of designing modules of small and larger sizes with a multi-paradigm viewpoint emphasizing design trade-off. Commonly used design diagrams and patterns are also covered in terms of the design ideas behind and their effective use. The book also explores what (software) design thinking is, the role it plays in a design process, and ways to promote it. Despite object orientation being still the center of attention, there is a strong promotion throughout the book that software design should consider all appropriate design paradigms and methodologies.

The book is organized in 10 chapters. Chapter 1 is dedicated to an exploration of what software design may be and entail. Next, chapters 2 and 3 are designed to help readers better understand object orientation, and the essentials of object-oriented design. Chapter 4 is then dedicated to the design of methods,while chapters 5, 6, and 8 respectively include topics about the design of objects, modeling with the Unified Modeling Language, and the use of design patterns. Larger software elements are often directly responsible for the formation of software architecture, thus chapter 7 covers four kinds of larger software elements: libraries, components, frameworks, and microservices, and their architectural implications. Chapter 9 finally brings the presentation of software design to an end with a coverage on software architecture focusing on software architectural views. Case studies are important in learning how to design software, hence chapter 10 then gathers some small design case studies that can be used in earlier chapters as appropriate. These case studies can be extended in different ways to provide additional design opportunities.

This textbook book is intended for a junior level undergraduate course on software design, yet the depth of the book makes it also appropriate for a design course at beginning graduate level. Professionals may also find the book useful in their professional development.
59.99 In Stock
An Introduction to Software Design: Concepts, Principles, Methodologies, and Techniques

An Introduction to Software Design: Concepts, Principles, Methodologies, and Techniques

by Chenglie Hu
An Introduction to Software Design: Concepts, Principles, Methodologies, and Techniques

An Introduction to Software Design: Concepts, Principles, Methodologies, and Techniques

by Chenglie Hu

Paperback(1st ed. 2023)

$59.99 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

This textbook provides a balanced coverage on software design, including design principles, methodologies, and techniques in contexts of designing modules of small and larger sizes with a multi-paradigm viewpoint emphasizing design trade-off. Commonly used design diagrams and patterns are also covered in terms of the design ideas behind and their effective use. The book also explores what (software) design thinking is, the role it plays in a design process, and ways to promote it. Despite object orientation being still the center of attention, there is a strong promotion throughout the book that software design should consider all appropriate design paradigms and methodologies.

The book is organized in 10 chapters. Chapter 1 is dedicated to an exploration of what software design may be and entail. Next, chapters 2 and 3 are designed to help readers better understand object orientation, and the essentials of object-oriented design. Chapter 4 is then dedicated to the design of methods,while chapters 5, 6, and 8 respectively include topics about the design of objects, modeling with the Unified Modeling Language, and the use of design patterns. Larger software elements are often directly responsible for the formation of software architecture, thus chapter 7 covers four kinds of larger software elements: libraries, components, frameworks, and microservices, and their architectural implications. Chapter 9 finally brings the presentation of software design to an end with a coverage on software architecture focusing on software architectural views. Case studies are important in learning how to design software, hence chapter 10 then gathers some small design case studies that can be used in earlier chapters as appropriate. These case studies can be extended in different ways to provide additional design opportunities.

This textbook book is intended for a junior level undergraduate course on software design, yet the depth of the book makes it also appropriate for a design course at beginning graduate level. Professionals may also find the book useful in their professional development.

Product Details

ISBN-13: 9783031283109
Publisher: Springer International Publishing
Publication date: 07/25/2023
Edition description: 1st ed. 2023
Pages: 359
Product dimensions: 6.61(w) x 9.45(h) x (d)

About the Author

Chenglie Hu is a Professor of Computer Science at Carroll University (Waukesha WI, USA). He was trained as an applied mathematician (Ph.D.), and switched to teaching computer science in late 1990s. He has published many research papers in scientific computing and numerical analysis, and developed mathematical software used by researchers and practitioners. He also published his viewpoints with ACM Communications, as well as his software-design teaching practices and his view about computational thinking in publications by the ACM Special Interest Group in Computer Science Education.

Table of Contents

- 1. What Is Software Design?. - 2. The Paradigm of Object Orientation and Beyond. - 3. Essentials of Object-Oriented Design. - 4. Design of Methods. - 5. Design of Objects. - 6. Software Modeling Languages and Tools. - 7. Design of Larger Software Elements. - Software Design Patterns. - 9. Software Architecture and Architectural Views. - 10. Design Case Studies.
From the B&N Reads Blog

Customer Reviews