Description: Software Architecture in Practice by Len Bass, Paul Clements, Rick Kazman The Definitive, Practical, Proven Guide to Architecting Modern Software--Fully Updated with New Content on Mobility, the Cloud, Energy Management, DevOps, Quantum Computing, and More Updated with eleven new chapters, Software Architecture in Practice, Fourth Edition, thoroughly explains what software architecture is, why its important, and how to design, instantiate, analyze, evolve, and manage it in disciplined and effective ways. Three renowned software architects cover the entire lifecycle, presenting practical guidance, expert methods, and tested models for use in any project, no matter how complex. Youll learn how to use architecture to address accelerating growth in requirements, system size, and abstraction, and to manage emergent quality attributes as systems are dynamically combined in new ways. With insights for utilizing architecture to optimize key quality attributes--including performance, modifiability, security, availability, interoperability, testability, usability, deployability, and more--this guide explains how to manage and refine existing architectures, transform them to solve new problems, and build reusable architectures that become strategic business assets. Discover how architecture influences (and is influenced by) technical environments, project lifecycles, business profiles, and your own practicesLeverage proven patterns, interfaces, and practices for optimizing quality through architectureArchitect for mobility, the cloud, machine learning, and quantum computingDesign for increasingly crucial attributes such as energy efficiency and safetyScale systems by discovering architecturally significant influences, using DevOps and deployment pipelines, and managing architecture debtUnderstand architectures role in the organization, so you can deliver more value Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details. FORMAT Paperback CONDITION Brand New Author Biography Len Bass, an award-winning author and lecturer, has more than 50 years of advanced software experience, including 25 years at Carnegie Mellon Universitys (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. Table of Contents Preface xvAcknowledgments xvii Part I: Introduction 1Chapter 1: What Is Software Architecture? 1 1.1 What Software Architecture Is and What It Isnt 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 Systems 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 39Chapter 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 Patterns for Usability 203 13.5 For Further Reading 205 13.6 Discussion Questions 205 Chapter 14: Working with Other Quality Attributes 207 14.1 Other Kinds of Quality Attributes 207 14.2 Using Standard Lists of Quality Attributes--Or Not 209 14.3 Dealing with "X-Ability": Bringing a New QA into the Fold 212 14.4 For Further Reading 215 14.5 Discussion Questions 215 Part III: Architectural Solutions 217Chapter 15: Software Interfaces 217 15.1 Interface Concepts 218 15.2 Designing an Interface 222 15.3 Documenting the Interface 228 15.4 Summary 230 15.5 For Further Reading 230 15.6 Discussion Questions 231 Chapter 16: Virtualization 233 16.1 Shared Resources 234 16.2 Virtual Machines 235 16.3 VM Images 238 16.4 Containers 239 16.5 Containers and VMs 241 16.6 Container Portability 242 16.7 Pods 242 16.8 Serverless Architecture 243 16.9 Summary 244 16.10 For Further Reading 245 16.11 Discussion Questions 245 Chapter 17: The Cloud and Distributed Computing 247 17.1 Cloud Basics 248 17.2 Failure in the Cloud 251 17.3 Using Multiple Instances to Improve Performance and Availability 253 17.4 Summary 261 17.5 For Further Reading 262 17.6 Discussion Questions 262 Chapter 18: Mobile Systems 263 18.1 Energy 264 18.2 Network Connectivity 266 18.3 Sensors and Actuators 267 18.4 Resources 268 18.5 Life Cycle 270 18.6 Summary 273 18.7 For Further Reading 274 18.8 Discussion Questions 275 Part IV: Scalable Architecture Practices 277Chapter 19: Architecturally Significant Requirements 277 19.1 Gathering ASRs from Requirements Documents 278 19.2 Gathering ASRs by Interviewing Stakeholders 279 19.3 Gathering ASRs by Understanding the Business Goals 282 19.4 Capturing ASRs in a Utility Tree 284 19.5 Change Happens 286 19.6 Summary 286 19.7 For Further Reading 287 19.8 Discussion Questions 287 Chapter 20: Designing an Architecture 289 20.1 Attribute-Driven Design 289 20.2 The Steps of ADD 292 20.3 More on ADD Step 4: Choose One or More Design Concepts 295 20.4 More on ADD Step 5: Producing Structures 298 20.5 More on ADD Step 6: Creating Preliminary Documentation during the Design 301 20.6 More on ADD Step 7: Perform Analysis of the Current Design and Review the Iteration Goal and Achievement of the Design Purpose 304 20.7 Summary 306 20.8 For Further Reading 306 20.9 Discussion Questions 307 Chapter 21: Evaluating an Architecture 309 21.1 Evaluation as a Risk Reduction Activity 309 21.2 What Are the Key Evaluation Activities? 310 21.3 Who Can Perform the Evaluation? 311 21.4 Contextual Factors 312 21.5 The Architecture Tradeoff Analysis Method 313 21.6 Lightweight Architecture Evaluation 324 21.7 Summary 326 21.8 For Further Reading 327 21.9 Discussion Questions 327 Chapter 22: Documenting an Architecture 329 22.1 Uses and Audiences for Architecture Documentation 330 22.2 Notations 331 22.3 Views 332 22.4 Combining Views 339 22.5 Documenting Behavior 340 22.6 Beyond Views 345 22.7 Documenting the Rationale 346 22.8 Architecture Stakeholders 347 22.9 Practical Considerations 350 22.10 Summary 353 22.11 For Further Reading 353 22.12 Discussion Questions 354 Chapter 23: Managing Architecture Debt 355 23.1 Determining Whether You Have an Architecture Debt Problem 356 23.2 Discovering Hotspots 358 23.3 Example 362 23.4 Automation 363 23.5 Summary 364 23.6 For Further Reading 364 23.7 Discussion Questions 365 Part V: Architecture and the Organization 367Chapter 24: The Role of Architects in Projects 367 24.1 The Architect and the Project Manager 367 24.2 Incremental Architecture and Stakeholders 369 24.3 Architecture and Agile Development 370 24.4 Architecture and Distributed Development 373 24.5 Summary 376 24.6 For Further Reading 376 24.7 Discussion Questions 377 Chapter 25: Architecture Competence 379 25.1 Competence of Individuals: Duties, Skills, and Knowledge of Architects 379 25.2 Competence of a Software Architecture Organization 386 25.3 Become a Better Architect 387 25.4 Summary 388 25.5 For Further Reading 388 25.6 Discussion Questions 389 Part VI: Conclusions 391Chapter 26: A Glimpse of the Future: Quantum Computing 391 26.1 Single Qubit 392 26.2 Quantum Teleportation 394 26.3 Quantum Computing and Encryption 394 26.4 Other Algorithms 395 26.5 Potential Applications 396 26.6 Final Thoughts 397 26.7 For Further Reading 398 References 399About the Authors 415Index 417 Long Description The Definitive, Practical, Proven Guide to Architecting Modern Software--Fully Updated with New Content on Mobility, the Cloud, Energy Management, DevOps, Quantum Computing, and More Updated with eleven new chapters, Software Architecture in Practice, Fourth Edition , thoroughly explains what software architecture is, why its important, and how to design, instantiate, analyze, evolve, and manage it in disciplined and effective ways. Three renowned software architects cover the entire lifecycle, presenting practical guidance, expert methods, and tested models for use in any project, no matter how complex. Youll learn how to use architecture to address accelerating growth in requirements, system size, and abstraction, and to manage emergent quality attributes as systems are dynamically combined in new ways. With insights for utilizing architecture to optimize key quality attributes--including performance, modifiability, security, availability, interoperability, testability, usability, deployability, and more--this guide explains how to manage and refine existing architectures, transform them to solve new problems, and build reusable architectures that become strategic business assets. Discover how architecture in uences (and is influenced by) technical environments, project lifecycles, business profiles, and your own practices Leverage proven patterns, interfaces, and practices for optimizing quality through architecture Architect for mobility, the cloud, machine learning, and quantum computing Design for increasingly crucial attributes such as energy efficiency and safety Scale systems by discovering architecturally significant influences, using DevOps and deployment pipelines, and managing architecture debt Understand architectures role in the organization, so you can deliver more value Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details. Feature Now fully updated: the definitive, practical, empirically proven guide to architecting modern software Guides software architects through gathering requirements, designing, documenting and analyzing architectures, and evolving and managing existing architectures Contains new content on mobility, cloud software, AI/machine learning, deployability, energy management, safety, DevOps, and quantum computing Covers each major software quality attribute that drives design, including performance, modifiability, security, and availability Offers proven models for optimizing software quality through better architecture Part of the world-renowned SEI Series in Software Engineering New Feature Building on three authoritative editions over 20 years, this 4th Edition adds nine new chapters, covering mobility, The Cloud, AI/Machine Learning, deployability, energy management, safety, DevOps, quantum computing, and more. Third edition chapters on architecture recovery, edge computing, and product lines have been removed. Other chapters have been substantially rewritten. Overall, approximately 40-50% of this editions material is new. Details ISBN0136886094 Author Rick Kazman ISBN-10 0136886094 ISBN-13 9780136886099 Edition 4th Format Paperback Imprint Addison Wesley Place of Publication Boston Country of Publication United States Pages 464 Year 2021 AU Release Date 2021-10-07 NZ Release Date 2021-10-07 UK Release Date 2021-10-07 Textbook 1 Publisher Pearson Education (US) Edition Description 4th edition Series SEI Series in Software Engineering Publication Date 2021-10-14 Replaces 9780321815736 DEWEY 658.0551 Audience Professional & Vocational US Release Date 2021-10-14 We've got this At The Nile, if you're looking for it, we've got it. With fast shipping, low prices, friendly service and well over a million items - you're bound to find what you want, at a price you'll love! TheNile_Item_ID:158606928;
Price: 111.18 AUD
Location: Melbourne
End Time: 2024-12-01T06:36:15.000Z
Shipping Cost: 0 AUD
Product Images
Item Specifics
Restocking fee: No
Return shipping will be paid by: Buyer
Returns Accepted: Returns Accepted
Item must be returned within: 30 Days
ISBN-13: 9780136886099
Book Title: Software Architecture in Practice
Item Height: 238 mm
Item Width: 178 mm
Author: Len Bass, Paul Clements, Rick Kazman
Publication Name: Software Architecture in Practice
Format: Paperback
Language: English
Publisher: Pearson Education (Us)
Subject: Computer Science
Publication Year: 2021
Type: Textbook
Item Weight: 960 g
Number of Pages: 464 Pages