Design it!: from programmer to software architect
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Raleigh, North Carolina
The Pragmatic Bookshelf
[2017]
|
Schriftenreihe: | The pragmatic programmers
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | xvii, 335 Seiten Illustrationen, Diagramme |
ISBN: | 9781680502091 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV046172926 | ||
003 | DE-604 | ||
005 | 20200707 | ||
007 | t | ||
008 | 190924s2017 a||| |||| 00||| eng d | ||
020 | |a 9781680502091 |9 978-1-68050-209-1 | ||
035 | |a (OCoLC)1004767781 | ||
035 | |a (DE-599)OBVAC13786383 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-473 |a DE-859 |a DE-20 | ||
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
100 | 1 | |a Keeling, Michael |e Verfasser |0 (DE-588)1196879680 |4 aut | |
245 | 1 | 0 | |a Design it! |b from programmer to software architect |c Michael Keeling |
264 | 1 | |a Raleigh, North Carolina |b The Pragmatic Bookshelf |c [2017] | |
264 | 4 | |c © 2017 | |
300 | |a xvii, 335 Seiten |b Illustrationen, Diagramme | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a The pragmatic programmers | |
650 | 0 | 7 | |a Software Engineering |0 (DE-588)4116521-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwarearchitektur |0 (DE-588)4121677-5 |2 gnd |9 rswk-swf |
653 | |a Software architecture | ||
689 | 0 | 0 | |a Software Engineering |0 (DE-588)4116521-4 |D s |
689 | 0 | 1 | |a Softwarearchitektur |0 (DE-588)4121677-5 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m Digitalisierung UB Bamberg - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=031552646&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-031552646 |
Datensatz im Suchindex
_version_ | 1804180532494336000 |
---|---|
adam_text | Contents Acknowledgments............................................................................ xi Foreword.......................................................................................... xiii Welcome!.......................................................................................... xv Part I — Introducing Software Architecture 1. Become a Software Architect.............................................................. 3 What Software Architects Do 3 What Is Software Architecture? 7 Become an Architect for Your Team 11 Build Amazing Software 12 Case Study: Project Lionheart 14 Next Up 14 2. Design Thinking Fundamentals....................................................... 15 The Four Principles of Design Thinking 15 Adopt a Design Mindset 18 Think, Do, Check 21 Next Up 24 Part II — Architecture Design Fundamentals 3. Devise a Design Strategy..................................................................... 27 Find a Design That Satisfices 27 Decide How Much to Design Up Front 29 Let Risk Be Your Guide 32 Create a Design Plan 36 Project Lionheart: The Story So Far... 38 Next Up 38
Contents · vi 4. Empathize with Stakeholders....................................................... 39 Talk to the Right People 39 Create a Stakeholder Map 41 Discover the Business Goals 43 Project Lionheart: The Story So Far... 46 Next Up 47 5. Dig for Architecturally Significant Requirements .... Limit Design Options with Constraints Define the Quality Attributes Look for Classes of Functional Requirements Find Out What Else Influences the Architecture Dig for the Information You Need Build an ASR Workbook Project Lionheart: The Story So Far... Next Up 49 49 51 56 58 59 60 62 62 6. Choose an Architecture (Before It Chooses You) .... Diverge to See Options, Converge to Decide Accept Constraints Promote Desired Quality Attributes Assign Functional Responsibilities to Elements Design for Change Project Lionheart: The Story So Far... Next Up 63 63 66 68 73 75 77 77 7. Create a Foundation with Patterns................................................ 79 What Is an Architecture Pattern? 79 Layers Pattern 80 Ports and Adapters Pattern 82 Pipe-and-Filter Pattern 84 Service-Oriented Architecture Pattern 86 Publish-Subscribe Pattern 88 Shared-Data Pattern 90 Multi-Tier Pattern 92 Center of Competence Pattern 93 Open Source Contribution Pattern 95 Big Ball of Mud Pattern 96 Discover New Patterns 96 Project Lionheart: The Stoiy So Far... 97 Next Up 98
Contents · vii 8. Manage Complexity with Meaningful Models.................................. 99 Reason About the Architecture Design the Meta-Model Build Models into the Code Project Lionheart: The Stoiy So Far... Next Up 9. 99 101 107 Ill 112 Host an Architecture Design Studio..........................................113 Plan an Architecture Design Studio Choose Appropriate Design Activities Invite the Right Participants Manage the Group Work with Remote Teams Project Lionheart: The Stoiy So Far... Next Up 113 119 120 122 124 126 126 10. Visualize Design Decisions...............................................................129 Show the Architecture from Different Views Draw Fantastic Diagrams Project Lionheart: The Story So Far... Next Up 129 136 141 142 11. Describe the Architecture...............................................................143 ТеИ the Whole Stoiy Match the Description Method to the Situation Respect Your Audience Organize Views around Stakeholders’ Concerns Explain the Rationale for Your Decisions Project Lionheart: The Stoiy So Far... Next Up 143 145 149 152 155 156 157 12. Give the Architecture a Report Card..........................................159 Evaluate to Learn Test the Design Host an Evaluation Workshop Evaluate Early, Evaluate Often, Evaluate Continuously Project Lionheart: The Stoiy So Far... Next Up 159 160 166 171 175 176 13. Empower the Architects on Your Team..........................................177 Promote Architectural Thinking Facilitate Decision Making and Foster Skills Growth 177 179
Contents · viii Create Opportunities for Safe Practice Delegate Design Authority Design Architecture Together Project Lionheart: The Epic Conclusion Next Up 179 181 185 186 187 Part III — The Architect s Toolbox 14. Activities to Understand the Problem......................................... 191 Activity 1. Choose One Thing 192 Activity 2. Empathy Map 195 Activity 3. Goal-Question-Metric (GQM) Workshop 199 Activity 4. Interview Stakeholders 202 Activity 5. List Assumptions 205 Activity 6. Quality Attribute Web 207 Activity 7. Mini-Quality Attribute Workshop 210 Activity 8. Point-of-View Mad Lib 215 Activity 9. Response Measure Straw Man 219 Activity 10. Stakeholder Map 221 15. Activities to Explore Potential Solutions...................................225 Activity 11. Personify the Architecture 226 Activity 12. Architecture Flipbook 228 Activity 13. Component Responsibility Collaborator Cards 232 Activity 14. Concept Map 236 Activity 15. Divide and Conquer 239 Activity 16. Event Storming 244 Activity 17. Group Posters 249 Activity 18. Round-Robin Design 252 Activity 19. Whiteboard Jam 255 16. Activities to Make the Design Tangible......................................... 259 Activity 20. Architecture Decision Records 260 Activity 21. Architecture Haiku 263 Activity 22. Context Diagram 265 Activity 23. Greatest Hits Reading List 267 Activity 24. Inception Deck 269 Activity 25. Modular Decomposition Diagram 272 Activity 26. Paths Not Taken 274 Activity 27. Prototype to Learn or Decide 276
Contents · ix Activity 28. Sequence Diagram Activity 29. System Metaphor 278 281 17. Activities to Evaluate Design Options........................................285 Activity 30. Architecture Briefing 286 Activity 31. Code Review 289 Activity 32. Decision Matrix 292 Activity 33. Observe Behavior 295 Activity 34. Question-Comment-Concem 298 Activity 35. Risk Storming 301 Activity 36. Sanity Check 304 Activity 37. Scenario Walkthrough 307 Activity 38. Sketch and Compare 311 Al. Community Contributor Bios...................................................... 315 Bibliography....................................................................................317 Index..................................................................................................321
|
any_adam_object | 1 |
author | Keeling, Michael |
author_GND | (DE-588)1196879680 |
author_facet | Keeling, Michael |
author_role | aut |
author_sort | Keeling, Michael |
author_variant | m k mk |
building | Verbundindex |
bvnumber | BV046172926 |
classification_rvk | ST 230 |
ctrlnum | (OCoLC)1004767781 (DE-599)OBVAC13786383 |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01522nam a2200373 c 4500</leader><controlfield tag="001">BV046172926</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20200707 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">190924s2017 a||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781680502091</subfield><subfield code="9">978-1-68050-209-1</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1004767781</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)OBVAC13786383</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-473</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-20</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Keeling, Michael</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1196879680</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Design it!</subfield><subfield code="b">from programmer to software architect</subfield><subfield code="c">Michael Keeling</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Raleigh, North Carolina</subfield><subfield code="b">The Pragmatic Bookshelf</subfield><subfield code="c">[2017]</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">© 2017</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xvii, 335 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">The pragmatic programmers</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwarearchitektur</subfield><subfield code="0">(DE-588)4121677-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Software architecture</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Softwarearchitektur</subfield><subfield code="0">(DE-588)4121677-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bamberg - ADAM Catalogue Enrichment</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=031552646&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-031552646</subfield></datafield></record></collection> |
id | DE-604.BV046172926 |
illustrated | Illustrated |
indexdate | 2024-07-10T08:37:15Z |
institution | BVB |
isbn | 9781680502091 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-031552646 |
oclc_num | 1004767781 |
open_access_boolean | |
owner | DE-473 DE-BY-UBG DE-859 DE-20 |
owner_facet | DE-473 DE-BY-UBG DE-859 DE-20 |
physical | xvii, 335 Seiten Illustrationen, Diagramme |
publishDate | 2017 |
publishDateSearch | 2017 |
publishDateSort | 2017 |
publisher | The Pragmatic Bookshelf |
record_format | marc |
series2 | The pragmatic programmers |
spelling | Keeling, Michael Verfasser (DE-588)1196879680 aut Design it! from programmer to software architect Michael Keeling Raleigh, North Carolina The Pragmatic Bookshelf [2017] © 2017 xvii, 335 Seiten Illustrationen, Diagramme txt rdacontent n rdamedia nc rdacarrier The pragmatic programmers Software Engineering (DE-588)4116521-4 gnd rswk-swf Softwarearchitektur (DE-588)4121677-5 gnd rswk-swf Software architecture Software Engineering (DE-588)4116521-4 s Softwarearchitektur (DE-588)4121677-5 s DE-604 Digitalisierung UB Bamberg - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=031552646&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Keeling, Michael Design it! from programmer to software architect Software Engineering (DE-588)4116521-4 gnd Softwarearchitektur (DE-588)4121677-5 gnd |
subject_GND | (DE-588)4116521-4 (DE-588)4121677-5 |
title | Design it! from programmer to software architect |
title_auth | Design it! from programmer to software architect |
title_exact_search | Design it! from programmer to software architect |
title_full | Design it! from programmer to software architect Michael Keeling |
title_fullStr | Design it! from programmer to software architect Michael Keeling |
title_full_unstemmed | Design it! from programmer to software architect Michael Keeling |
title_short | Design it! |
title_sort | design it from programmer to software architect |
title_sub | from programmer to software architect |
topic | Software Engineering (DE-588)4116521-4 gnd Softwarearchitektur (DE-588)4121677-5 gnd |
topic_facet | Software Engineering Softwarearchitektur |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=031552646&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT keelingmichael designitfromprogrammertosoftwarearchitect |