000 03682nam a22004455i 4500
001 978-3-031-28311-6
003 DE-He213
005 20240423125533.0
007 cr nn 008mamaa
008 230724s2023 sz | s |||| 0|eng d
020 _a9783031283116
_9978-3-031-28311-6
024 7 _a10.1007/978-3-031-28311-6
_2doi
050 4 _aQA76.758
072 7 _aUMZ
_2bicssc
072 7 _aCOM051230
_2bisacsh
072 7 _aUMZ
_2thema
082 0 4 _a005.1
_223
100 1 _aHu, Chenglie.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
245 1 3 _aAn Introduction to Software Design
_h[electronic resource] :
_bConcepts, Principles, Methodologies, and Techniques /
_cby Chenglie Hu.
250 _a1st ed. 2023.
264 1 _aCham :
_bSpringer International Publishing :
_bImprint: Springer,
_c2023.
300 _aXIV, 359 p. 121 illus., 33 illus. in color.
_bonline resource.
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
347 _atext file
_bPDF
_2rda
520 _aThis 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.
650 0 _aSoftware engineering.
650 1 4 _aSoftware Engineering.
710 2 _aSpringerLink (Online service)
773 0 _tSpringer Nature eBook
776 0 8 _iPrinted edition:
_z9783031283109
776 0 8 _iPrinted edition:
_z9783031283123
856 4 0 _uhttps://doi.org/10.1007/978-3-031-28311-6
912 _aZDB-2-SCS
912 _aZDB-2-SXCS
942 _cSPRINGER
999 _c179030
_d179030