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 cover...

Full description

Bibliographic Details
Main Author: Hu, Chenglie
Format: eBook
Language:English
Published: Cham Springer International Publishing 2023, 2023
Edition:1st ed. 2023
Subjects:
Online Access:
Collection: Springer eBooks 2005- - Collection details see MPG.ReNa
LEADER 03047nmm a2200277 u 4500
001 EB002170126
003 EBX01000000000000001307903
005 00000000000000.0
007 cr|||||||||||||||||||||
008 230808 ||| eng
020 |a 9783031283116 
100 1 |a Hu, Chenglie 
245 0 0 |a An Introduction to Software Design  |h Elektronische Ressource  |b Concepts, Principles, Methodologies, and Techniques  |c by Chenglie Hu 
250 |a 1st ed. 2023 
260 |a Cham  |b Springer International Publishing  |c 2023, 2023 
300 |a XIV, 359 p. 121 illus., 33 illus. in color  |b online resource 
653 |a Software engineering 
653 |a Software Engineering 
041 0 7 |a eng  |2 ISO 639-2 
989 |b Springer  |a Springer eBooks 2005- 
028 5 0 |a 10.1007/978-3-031-28311-6 
856 4 0 |u https://doi.org/10.1007/978-3-031-28311-6?nosfx=y  |x Verlag  |3 Volltext 
082 0 |a 005.1 
520 |a 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.  
520 |a 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 
520 |a 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.