promo_download_app_android_2023
Натисніть знайти для пошуку
Software Architecture in Practice (SEI Series in Software Engineering) 4th Edition
Software Architecture in Practice (SEI Series in Software Engineering) 4th Edition
Характеристики та опис

Основні

ВиробникCrucial

Користувальницькі характеристики

ISBN978-0-13-688609-9
АвторLen Bass, Paul Clements, Rick Kazman
Рік2022
ВидавництвоPrint2print
The Definitive, Practical, Proven Guide to Architecting Modern Software--Fully Updated with New Content on Mobility, the Cloud, Energy Management, DevOps, Quantum Computing, and MoreUpdated with eleven new chapters, Software Architecture in Practice, Fourth Edition, thoroughly explains what software architecture is, why it's 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. You'll 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 architecture's role in the organization, so you can deliver more valueLen 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. Table of ContentsPreface xvAcknowledgments xviiPart I: Introduction 1Chapter 1: What Is Software Architecture? 11.1 What Software Architecture Is and What It Isn't 21.2 Architectural Structures and Views 51.3 What Makes a "Good" Architecture? 191.4 Summary 211.5 For Further Reading 211.6 Discussion Questions 22Chapter 2: Why Is Software Architecture Important? 252.1 Inhibiting or Enabling a System's Quality Attributes 262.2 Reasoning about and Managing Change 272.3 Predicting System Qualities 282.4 Communication among Stakeholders 282.5 Early Design Decisions 312.6 Constraints on Implementation 312.7 Influences on Organizational Structure 322.8 Enabling Incremental Development 332.9 Cost and Schedule Estimates 332.10 Transferable, Reusable Model 342.11 Architecture Allows Incorporation of Independently Developed Elements 342.12 Restricting the Vocabulary of Design Alternatives 352.13 A Basis for Training 362.14 Summary 362.15 For Further Reading 372.16 Discussion Questions 37Part II: Quality Attributes 39Chapter 3: Understanding Quality Attributes 393.1 Functionality 403.2 Quality Attribute Considerations 413.3 Specifying Quality Attribute Requirements: Quality Attribute Scenarios 423.4 Achieving Quality Attributes through Architectural Patterns and Tactics 453.5 Designing with Tactics 463.6 Analyzing Quality Attribute Design Decisions: Tactics-Based Questionnaires 483.7 Summary 493.8 For Further Reading 493.9 Discussion Questions 50Chapter 4: Availability 514.1 Availability General Scenario 534.2 Tactics for Availability 554.3 Tactics-Based Questionnaire for Availability 624.4 Patterns for Availability 664.5 For Further Reading 684.6 Discussion Questions 69Chapter 5: Deployability 715.1 Continuous Deployment 725.2 Deployability 755.3 Deployability General Scenario 765.4 Tactics for Deployability 785.5 Tactics-Based Questionnaire for Deployability 805.6 Patterns for Deployability 815.7 For Further Reading 875.8 Discussion Questions 87Chapter 6: Energy Efficiency 896.1 Energy Efficiency General Scenario 906.2 Tactics for Energy Efficiency 926.3 Tactics-Based Questionnaire for Energy Efficiency 956.4 Patterns 976.5 For Further Reading 986.6 Discussion Questions 99Chapter 7: Integrability 1017.1 Evaluating the Integrability of an Architecture 1027.2 General Scenario for Integrability 1047.3 Integrability Tactics 1057.4 Tactics-Based Questionnaire for Integrability 1107.5 Patterns 1127.6 For Further Reading 1147.7 Discussion Questions 115Chapter 8: Modifiability 1178.1 Modifiability General Scenario 1208.2 Tactics for Modifiability 1218.3 Tactics-Based Questionnaire for Modifiability 1258.4 Patterns 1268.5 For Further Reading 1308.6 Discussion Questions 131Chapter 9: Performance 1339.1 Performance General Scenario 1349.2 Tactics for Performance 1379.3 Tactics-Based Questionnaire for Performance 1459.4 Patterns for Performance 1469.5 For Further Reading 1499.6 Discussion Questions 150Chapter 10: Safety 15110.1 Safety General Scenario 15410.2 Tactics for Safety 15610.3 Tactics-Based Questionnaire for Safety 16010.4 Patterns for Safety 16310.5 For Further Reading 16510.6 Discussion Questions 166Chapter 11: Security 16911.1 Security General Scenario 17011.2 Tactics for Security 17211.3 Tactics-Based Questionnaire for Security 17611.4 Patterns for Security 17911.5 For Further Reading 18011.6 Discussion Questions 180Chapter 12: Testability 18312.1 Testability General Scenario 18612.2 Tactics for Testability 18712.3 Tactics-Based Questionnaire for Testability 19212.4 Patterns for Testability 19212.5 For Further Reading 19412.6 Discussion Questions 195Chapter 13: Usability 19713.1 Usability General Scenario 19813.2 Tactics for Usability 20013.3 Tactics-Based Questionnaire for Usability 20213.4 Patterns for Usability 20313.5 For Further Reading 20513.6 Discussion Questions 205Chapter 14: Working with Other Quality Attributes 20714.1 Other Kinds of Quality Attributes 20714.2 Using Standard Lists of Quality Attributes--Or Not 20914.3 Dealing with "X-Ability": Bringing a New QA into the Fold 21214.4 For Further Reading 21514.5 Discussion Questions 215Part III: Architectural Solutions 217Chapter 15: Software Interfaces 21715.1 Interface Concepts 21815.2 Designing an Interface 22215.3 Documenting the Interface 22815.4 Summary 23015.5 For Further Reading 23015.6 Discussion Questions 231Chapter 16: Virtualization 23316.1 Shared Resources 23416.2 Virtual Machines 23516.3 VM Images 23816.4 Containers 23916.5 Containers and VMs 24116.6 Container Portability 24216.7 Pods 24216.8 Serverless Architecture 24316.9 Summary 24416.10 For Further Reading 24516.11 Discussion Questions 245Chapter 17: The Cloud and Distributed Computing 24717.1 Cloud Basics 24817.2 Failure in the Cloud 25117.3 Using Multiple Instances to Improve Performance and Availability 25317.4 Summary 26117.5 For Further Reading 26217.6 Discussion Questions 262Chapter 18: Mobile Systems 26318.1 Energy 26418.2 Network Connectivity 26618.3 Sensors and Actuators 26718.4 Resources 26818.5 Life Cycle 27018.6 Summary 27318.7 For Further Reading 27418.8 Discussion Questions 275Part IV: Scalable Architecture Practices 277Chapter 19: Architecturally Significant Requirements 27719.1 Gathering ASRs from Requirements Documents 27819.2 Gathering ASRs by Interviewing Stakeholders 27919.3 Gathering ASRs by Understanding the Business Goals 28219.4 Capturing ASRs in a Utility Tree 28419.5 Change Happens 28619.6 Summary 28619.7 For Further Reading 28719.8 Discussion Questions 287Chapter 20: Designing an Architecture 28920.1 Attribute-Driven Design 28920.2 The Steps of ADD 29220.3 More on ADD Step 4: Choose One or More Design Concepts 29520.4 More on ADD Step 5: Producing Structures 29820.5 More on ADD Step 6: Creating Preliminary Documentation during the Design 30120.6 More on ADD Step 7: Perform Analysis of the Current Design and Review the Iteration Goal and Achievement of the Design Purpose 30420.7 Summary 30620.8 For Further Reading 30620.9 Discussion Questions 307Chapter 21: Evaluating an Architecture 30921.1 Evaluation as a Risk Reduction Activity 30921.2 What Are the Key Evaluation Activities? 31021.3 Who Can Perform the Evaluation? 31121.4 Contextual Factors 31221.5 The Architecture Tradeoff Analysis Method 31321.6 Lightweight Architecture Evaluation 32421.7 Summary 32621.8 For Further Reading 32721.9 Discussion Questions 327Chapter 22: Documenting an Architecture 32922.1 Uses and Audiences for Architecture Documentation 33022.2 Notations 33122.3 Views 33222.4 Combining Views 33922.5 Documenting Behavior 34022.6 Beyond Views 34522.7 Documenting the Rationale 34622.8 Architecture Stakeholders 34722.9 Practical Considerations 35022.10 Summary 35322.11 For Further Reading 35322.12 Discussion Questions 354Chapter 23: Managing Architecture Debt 35523.1 Determining Whether You Have an Architecture Debt Problem 35623.2 Discovering Hotspots 35823.3 Example 36223.4 Automation 36323.5 Summary 36423.6 For Further Reading 36423.7 Discussion Questions 365Part V: Architecture and the Organization 367Chapter 24: The Role of Architects in Projects 36724.1 The Architect and the Project Manager 36724.2 Incremental Architecture and Stakeholders 36924.3 Architecture and Agile Development 37024.4 Architecture and Distributed Development 37324.5 Summary 37624.6 For Further Reading 37624.7 Discussion Questions 377Chapter 25: Architecture Competence 37925.1 Competence of Individuals: Duties, Skills, and Knowledge of Architects 37925.2 Competence of a Software Architecture Organization 38625.3 Become a Better Architect 38725.4 Summary 38825.5 For Further Reading 38825.6 Discussion Questions 389Part VI: Conclusions 391Chapter 26: A Glimpse of the Future: Quantum Computing 39126.1 Single Qubit 39226.2 Quantum Teleportation 39426.3 Quantum Computing and Encryption 39426.4 Other Algorithms 39526.5 Potential Applications 39626.6 Final Thoughts 39726.7 For Further Reading 398References 399About the Authors 415Index 417

Software Architecture in Practice (SEI Series in Software Engineering) 4th Edition

В наявності
Код: 160275
700 
Способи оплати
Безпечна оплата
  • Як післяплата, тільки без переплат
  • Повернем гроші, якщо щось піде не так
  • Bigl гарантує безпеку
Післяплата
Нова Пошта, Самовивіз
Способи доставки
Нова Пошта — Безкоштовно за умови
Укрпошта — від 35 грн
Самовивіз
Умови повернення
Уточнюйте у продавця
Інші товари продавця
Подібні товари інших продавців
Дивіться також
Новинки в категорії операційні системи та утиліти
Чат