De som köpt den här boken har ofta också köpt Digital Minimalism av Cal Newport (häftad).
Köp båda 2 för 673 krThis new edition is brighter, shinier, more complete, more pragmatic, more focused than the previous one, and I wouldnt have thought it possible to improve on the original. As the field of software architecture has grown over these past decades, t...
The First Complete Guide to DevOps for Software Architects DevOps promises to accelerate the release of new software features and improve monitoring of systems in production, but its crucial implications for software architects and architec...
Len Bass, an award-winning author and lecturer, has more than 50 years of advanced software experience, including 25 years at Carnegie Mellon University's (CMU) Software Engineering Institute (SEI). He now teaches DevOps as an adjunct faculty member at CMU. Dr. Paul Clements, VP of Customer Success with BigLever Software, helps organizations gain value from Product Line Engineering (PLE). As senior member of technical staff at SEI, he led advanced projects in PLE and software architecture. Rick Kazman is Professor, University of Hawaii, and Visiting Researcher at SEI. His interests include software architecture, visualization, design, analysis, and economics. He co-created influential architecture analysis methods and tools, including SAAM, ATAM, CBAM, Dali, and Titan.
Preface xv Acknowledgments xvii Part I: Introduction 1 Chapter 1: What Is Software Architecture? 1 1.1 What Software Architecture Is and What It Isn't 2 1.2 Architectural Structures and Views 5 1.3 What Makes a "Good" Architecture? 19 1.4 Summary 21 1.5 For Further Reading 21 1.6 Discussion Questions 22 Chapter 2: Why Is Software Architecture Important? 25 2.1 Inhibiting or Enabling a System's Quality Attributes 26 2.2 Reasoning about and Managing Change 27 2.3 Predicting System Qualities 28 2.4 Communication among Stakeholders 28 2.5 Early Design Decisions 31 2.6 Constraints on Implementation 31 2.7 Influences on Organizational Structure 32 2.8 Enabling Incremental Development 33 2.9 Cost and Schedule Estimates 33 2.10 Transferable, Reusable Model 34 2.11 Architecture Allows Incorporation of Independently Developed Elements 34 2.12 Restricting the Vocabulary of Design Alternatives 35 2.13 A Basis for Training 36 2.14 Summary 36 2.15 For Further Reading 37 2.16 Discussion Questions 37 Part II: Quality Attributes 39 Chapter 3: Understanding Quality Attributes 39 3.1 Functionality 40 3.2 Quality Attribute Considerations 41 3.3 Specifying Quality Attribute Requirements: Quality Attribute Scenarios 42 3.4 Achieving Quality Attributes through Architectural Patterns and Tactics 45 3.5 Designing with Tactics 46 3.6 Analyzing Quality Attribute Design Decisions: Tactics-Based Questionnaires 48 3.7 Summary 49 3.8 For Further Reading 49 3.9 Discussion Questions 50 Chapter 4: Availability 51 4.1 Availability General Scenario 53 4.2 Tactics for Availability 55 4.3 Tactics-Based Questionnaire for Availability 62 4.4 Patterns for Availability 66 4.5 For Further Reading 68 4.6 Discussion Questions 69 Chapter 5: Deployability 71 5.1 Continuous Deployment 72 5.2 Deployability 75 5.3 Deployability General Scenario 76 5.4 Tactics for Deployability 78 5.5 Tactics-Based Questionnaire for Deployability 80 5.6 Patterns for Deployability 81 5.7 For Further Reading 87 5.8 Discussion Questions 87 Chapter 6: Energy Efficiency 89 6.1 Energy Efficiency General Scenario 90 6.2 Tactics for Energy Efficiency 92 6.3 Tactics-Based Questionnaire for Energy Efficiency 95 6.4 Patterns 97 6.5 For Further Reading 98 6.6 Discussion Questions 99 Chapter 7: Integrability 101 7.1 Evaluating the Integrability of an Architecture 102 7.2 General Scenario for Integrability 104 7.3 Integrability Tactics 105 7.4 Tactics-Based Questionnaire for Integrability 110 7.5 Patterns 112 7.6 For Further Reading 114 7.7 Discussion Questions 115 Chapter 8: Modifiability 117 8.1 Modifiability General Scenario 120 8.2 Tactics for Modifiability 121 8.3 Tactics-Based Questionnaire for Modifiability 125 8.4 Patterns 126 8.5 For Further Reading 130 8.6 Discussion Questions 131 Chapter 9: Performance 133 9.1 Performance General Scenario 134 9.2 Tactics for Performance 137 9.3 Tactics-Based Questionnaire for Performance 145 9.4 Patterns for Performance 146 9.5 For Further Reading 149 9.6 Discussion Questions 150 Chapter 10: Safety 151 10.1 Safety General Scenario 154 10.2 Tactics for Safety 156 10.3 Tactics-Based Questionnaire for Safety 160 10.4 Patterns for Safety 163 10.5 For Further Reading 165 10.6 Discussion Questions 166 Chapter 11: Security 169 11.1 Security General Scenario 170 11.2 Tactics for Security 172 11.3 Tactics-Based Questionnaire for Security 176 11.4 Patterns for Security 179 11.5 For Further Reading 180 11.6 Discussion Questions 180 Chapter 12: Testability 183 12.1 Testability General Scenario 186 12.2 Tactics for Testability 187 12.3 Tactics-Based Questionnaire for Testability 192 12.4 Patterns for Testability 192 12.5 For Further Reading 194 12.6 Discussion Questions 195 Chapter 13: Usability 197 13.1 Usability General Scenario 198 13.2 Tactics for Usability 200 13.3 Tactics-Based Questionnaire for Usability 202 13.4 Pa