Zum Hauptinhalt springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
Designing Software Architectures
A Practical Approach
Taschenbuch von Humberto Cervantes (u. a.)
Sprache: Englisch

57,00 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

Aktuell nicht verfügbar

Kategorien:
Beschreibung

Learn how to create successful architectural designs and improve your current design practices!

Designing Software Architectures, 2nd Edition, provides a practical, step-by-step methodology for architecture design that any professional software engineer can use, with structured methods supported by reusable chunks of design knowledge and rich case studies that demonstrate how to use the methods.

The Attribute-Driven Design method may not have changed since this book's first printing, but almost everything else about the industry has. In this newly updated edition, you will find new chapters on supporting business agility through API-centric design, deployability, cloud-based solutions, and technical debt in design.

Humberto Cervantes and Rick Kazman illuminate best practices for how architects should design complex systems so you can make design decisions in systematic, repeatable, and cost-effective ways. This book will help you become a better, more confident designer who can create high-quality architectures with ease.

The new edition includes:

  • A clear explanation of the Attribute-Driven Design method
  • New chapters focused on the technical environments and contexts of contemporary design
  • Two new case studies on The Hotel Pricing System and Digital Twin Platform
  • Coverage of current architecture topics like cloud computing, DevOps, and large-scale systems
  • Methods to make architecture design agile and achievable

Register your product at [...] for convenient access to downloads, updates, and/or corrections as they become available.

Learn how to create successful architectural designs and improve your current design practices!

Designing Software Architectures, 2nd Edition, provides a practical, step-by-step methodology for architecture design that any professional software engineer can use, with structured methods supported by reusable chunks of design knowledge and rich case studies that demonstrate how to use the methods.

The Attribute-Driven Design method may not have changed since this book's first printing, but almost everything else about the industry has. In this newly updated edition, you will find new chapters on supporting business agility through API-centric design, deployability, cloud-based solutions, and technical debt in design.

Humberto Cervantes and Rick Kazman illuminate best practices for how architects should design complex systems so you can make design decisions in systematic, repeatable, and cost-effective ways. This book will help you become a better, more confident designer who can create high-quality architectures with ease.

The new edition includes:

  • A clear explanation of the Attribute-Driven Design method
  • New chapters focused on the technical environments and contexts of contemporary design
  • Two new case studies on The Hotel Pricing System and Digital Twin Platform
  • Coverage of current architecture topics like cloud computing, DevOps, and large-scale systems
  • Methods to make architecture design agile and achievable

Register your product at [...] for convenient access to downloads, updates, and/or corrections as they become available.

Über den Autor

Humberto Cervantes is a professor at Universidad Autónoma Metropolitana Iztapalapa in Mexico City. His primary research interest is software architecture design process tool development methods. He holds the Software Architecture Professional and ATAM Evaluator certificates from the SEI.

Rick Kazman is the Danny and Elsa Lui Distinguished Professor of Information Technology Management at the University of Hawaii. He was involved in creating the ATAM (Architecture Tradeoff Analysis Method) and the Titan and DV8 tools for architecture analysis.

Inhaltsverzeichnis

Preface xi

Acknowledgments xiii

About the Authors xv

CHAPTER 1: Introduction 1

1.1 Motivations 1

1.2 Software Architecture 2

1.3 The Role of the Architect 6

1.4 A Brief History of ADD 7

1.5 Summary 8

1.6 Further Reading 8

1.7 Discussion Questions 9

CHAPTER 2: Architectural Design 11

2.1 Design in General 11

2.2 Design in Software Architecture 12

2.3 Why Is Architectural Design So Important? 16

2.4 Architectural Drivers 17

2.5 Summary 26

2.6 Further Reading 26

2.7 Discussion Questions 27

CHAPTER 3: Making Design Decisions 29

3.1 Making Design Decisions 29

3.2 Design Concepts: The Building Blocks for Creating Structures 32

3.3 Design Concepts to Support Performance 39

3.4 Design Concepts to Support Availability 41

3.5 Design Concepts to Support Modifiability 46

3.6 Design Concepts to Support Security 49

3.7 Design Concepts to Support Integrability 53

3.8 Summary 57

3.9 Further Reading 57

3.10 Discussion Questions 58

CHAPTER 4: The Architecture Design Process 59

4.1 The Need for a Principled Method 59

4.2 Attribute-Driven Design 3.0 60

4.3 Applying ADD to Different System Contexts 66

4.4 Identifying and Selecting Design Concepts 70

4.5 Producing Structures 74

4.6 Defining Interfaces 77

4.7 Creating Preliminary Documentation During Design 81

4.8 Tracking Design Progress 85

4.9 Summary 87

4.10 Further Reading 88

4.11 Discussion Questions 89

CHAPTER 5: API-centric Design 91

5.1 Business Agility 91

5.2 API-centric Design 93

5.3 API-centric Design and ADD 107

5.4 Summary 110

5.5 Further Reading 110

5.6 Discussion Questions 111

CHAPTER 6: Designing for Deployability 113

6.1 Deployability Principles and Architectural Design 113

6.2 Design Decisions to Support Deployability 119

6.3 Deployability and ADD 128

6.4 Summary 129

6.5 Further Reading 130

6.6 Discussion Questions 130

CHAPTER 7: Designing Cloud-Based Solutions 133

7.1 Introduction to the Cloud 133

7.2 Drivers and the Cloud 136

7.3 Cloud-Based Design Concepts 139

7.4 ADD in the Design of Cloud-Based Solutions 147

7.5 Summary 148

7.6 Further Reading 148

7.7 Discussion Questions 149

CHAPTER 8: Case Study: Hotel Pricing System 151

8.1 Business Case 151

8.2 System Requirements 153

8.3 Development and Operations Requirements 1 56

8.4 The Software Design Process 158

8.5 Summary 188

8.6 Further Reading 189

8.7 Discussion Questions 189

CHAPTER 9: Case Study: Digital Twin Platform 191

9.1 Business Case 192

9.2 System Requirements 193

9.3 The Design Process 195

9.4 Summary 223

9.5 Further Reading 224

9.6 Discussion Questions 225

CHAPTER 10: Technical Debt in Architectural Design 227

10.1 Technical Debt 227

10.2 The Roots of Technical Debt in Design 228

10.3 Refactoring and Redesign 231

10.4 Technical Debt and ADD 233

10.5 Summary 235

10.6 Further Reading 236

10.7 Discussion Questions 237

CHAPTER 11: Analysis in the Design Process 239

11.1 Analysis and Design 239

11.2 Why Analyze? 242

11.3 Analysis Techniques 243

11.4 Tactics-Based Analysis 244

11.5 Reflective Questions 246

11.6 Scenario-Based Design Reviews 247

11.7 Summary 250

11.8 Further Reading 251

11.9 Discussion Questions 251

CHAPTER 12: The Architecture Design Process in the Organization 253

12.1 Architecture Design and the Development Life Cycle 253

12.2 Architecture Design and the Organization 263

12.3 Summary 268

12.4 Further Reading 269

12.5 Discussion Questions 270

CHAPTER 13: Final Thoughts 273

13.1 On the Need for Methods 273

13.2 Future Directions 275

13.3 Next Steps 276

13.4 Further Reading 277

13.5 Discussion Questions 277

Appendix Tactics-Based Questionnaires 279

Index 301

Details
Erscheinungsjahr: 2024
Genre: Importe, Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
ISBN-13: 9780138108021
ISBN-10: 0138108021
Sprache: Englisch
Einband: Kartoniert / Broschiert
Autor: Cervantes, Humberto
Kazman, Rick
Auflage: 2nd edition
Hersteller: Pearson Education
Verantwortliche Person für die EU: Libri GmbH, Europaallee 1, D-36244 Bad Hersfeld, gpsr@libri.de
Maße: 230 x 176 x 21 mm
Von/Mit: Humberto Cervantes (u. a.)
Erscheinungsdatum: 12.06.2024
Gewicht: 0,544 kg
Artikel-ID: 126828576
Über den Autor

Humberto Cervantes is a professor at Universidad Autónoma Metropolitana Iztapalapa in Mexico City. His primary research interest is software architecture design process tool development methods. He holds the Software Architecture Professional and ATAM Evaluator certificates from the SEI.

Rick Kazman is the Danny and Elsa Lui Distinguished Professor of Information Technology Management at the University of Hawaii. He was involved in creating the ATAM (Architecture Tradeoff Analysis Method) and the Titan and DV8 tools for architecture analysis.

Inhaltsverzeichnis

Preface xi

Acknowledgments xiii

About the Authors xv

CHAPTER 1: Introduction 1

1.1 Motivations 1

1.2 Software Architecture 2

1.3 The Role of the Architect 6

1.4 A Brief History of ADD 7

1.5 Summary 8

1.6 Further Reading 8

1.7 Discussion Questions 9

CHAPTER 2: Architectural Design 11

2.1 Design in General 11

2.2 Design in Software Architecture 12

2.3 Why Is Architectural Design So Important? 16

2.4 Architectural Drivers 17

2.5 Summary 26

2.6 Further Reading 26

2.7 Discussion Questions 27

CHAPTER 3: Making Design Decisions 29

3.1 Making Design Decisions 29

3.2 Design Concepts: The Building Blocks for Creating Structures 32

3.3 Design Concepts to Support Performance 39

3.4 Design Concepts to Support Availability 41

3.5 Design Concepts to Support Modifiability 46

3.6 Design Concepts to Support Security 49

3.7 Design Concepts to Support Integrability 53

3.8 Summary 57

3.9 Further Reading 57

3.10 Discussion Questions 58

CHAPTER 4: The Architecture Design Process 59

4.1 The Need for a Principled Method 59

4.2 Attribute-Driven Design 3.0 60

4.3 Applying ADD to Different System Contexts 66

4.4 Identifying and Selecting Design Concepts 70

4.5 Producing Structures 74

4.6 Defining Interfaces 77

4.7 Creating Preliminary Documentation During Design 81

4.8 Tracking Design Progress 85

4.9 Summary 87

4.10 Further Reading 88

4.11 Discussion Questions 89

CHAPTER 5: API-centric Design 91

5.1 Business Agility 91

5.2 API-centric Design 93

5.3 API-centric Design and ADD 107

5.4 Summary 110

5.5 Further Reading 110

5.6 Discussion Questions 111

CHAPTER 6: Designing for Deployability 113

6.1 Deployability Principles and Architectural Design 113

6.2 Design Decisions to Support Deployability 119

6.3 Deployability and ADD 128

6.4 Summary 129

6.5 Further Reading 130

6.6 Discussion Questions 130

CHAPTER 7: Designing Cloud-Based Solutions 133

7.1 Introduction to the Cloud 133

7.2 Drivers and the Cloud 136

7.3 Cloud-Based Design Concepts 139

7.4 ADD in the Design of Cloud-Based Solutions 147

7.5 Summary 148

7.6 Further Reading 148

7.7 Discussion Questions 149

CHAPTER 8: Case Study: Hotel Pricing System 151

8.1 Business Case 151

8.2 System Requirements 153

8.3 Development and Operations Requirements 1 56

8.4 The Software Design Process 158

8.5 Summary 188

8.6 Further Reading 189

8.7 Discussion Questions 189

CHAPTER 9: Case Study: Digital Twin Platform 191

9.1 Business Case 192

9.2 System Requirements 193

9.3 The Design Process 195

9.4 Summary 223

9.5 Further Reading 224

9.6 Discussion Questions 225

CHAPTER 10: Technical Debt in Architectural Design 227

10.1 Technical Debt 227

10.2 The Roots of Technical Debt in Design 228

10.3 Refactoring and Redesign 231

10.4 Technical Debt and ADD 233

10.5 Summary 235

10.6 Further Reading 236

10.7 Discussion Questions 237

CHAPTER 11: Analysis in the Design Process 239

11.1 Analysis and Design 239

11.2 Why Analyze? 242

11.3 Analysis Techniques 243

11.4 Tactics-Based Analysis 244

11.5 Reflective Questions 246

11.6 Scenario-Based Design Reviews 247

11.7 Summary 250

11.8 Further Reading 251

11.9 Discussion Questions 251

CHAPTER 12: The Architecture Design Process in the Organization 253

12.1 Architecture Design and the Development Life Cycle 253

12.2 Architecture Design and the Organization 263

12.3 Summary 268

12.4 Further Reading 269

12.5 Discussion Questions 270

CHAPTER 13: Final Thoughts 273

13.1 On the Need for Methods 273

13.2 Future Directions 275

13.3 Next Steps 276

13.4 Further Reading 277

13.5 Discussion Questions 277

Appendix Tactics-Based Questionnaires 279

Index 301

Details
Erscheinungsjahr: 2024
Genre: Importe, Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
ISBN-13: 9780138108021
ISBN-10: 0138108021
Sprache: Englisch
Einband: Kartoniert / Broschiert
Autor: Cervantes, Humberto
Kazman, Rick
Auflage: 2nd edition
Hersteller: Pearson Education
Verantwortliche Person für die EU: Libri GmbH, Europaallee 1, D-36244 Bad Hersfeld, gpsr@libri.de
Maße: 230 x 176 x 21 mm
Von/Mit: Humberto Cervantes (u. a.)
Erscheinungsdatum: 12.06.2024
Gewicht: 0,544 kg
Artikel-ID: 126828576
Sicherheitshinweis

Ähnliche Produkte

Ähnliche Produkte