𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Evaluating software architectures: methods and case studies

✍ Scribed by Klein, Mark; Kazman, Rick; Clements, Paul


Publisher
Addison-Wesley Professional
Year
2001;2012
Tongue
English
Leaves
362
Series
SEI series in software engineering
Edition
10. print
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


The foundation of any software system is its architecture. Using this book, you can evaluate every aspect of architecturein advance, at remarkably low cost-- identifying improvements that can dramatically improve any system's performance, security, reliability, and maintainability.KEY TOPICS:As the practice of software architecture has matured, it has become possible to identify causal connections between architectural design decisions and the qualities and properties that result downstream in the systems that follow from them. This book shows how, offering step-by-step guidance, as well as detailed practical examples -- complete with sample artifacts reflective of those that evaluators will encounter. The techniques presented here are applicable not only tosoftwarearchitectures, but also tosystemarchitectures encompassing computing hardware, networking equipment, and other elements.MARKET:For all software architects, software engineers, developers, IT managers, and others responsible for creating, evaluating, or implementing software architectures.

✦ Table of Contents


Cover......Page 1
Contents......Page 8
List of Figures......Page 14
List of Tables......Page 16
Preface......Page 18
Acknowledgments......Page 22
Reader’s Guide......Page 24
Chapter 1: What Is Software Architecture?......Page 28
1.1.1 Architecture and Its Effects on Stakeholders......Page 30
1.1.2 Architectural Views......Page 31
1.1.3 Architecture Description Languages......Page 37
1.2 Architecture as the Manifestation of the Earliest Design Decisions......Page 38
1.2.1 Architectural Styles......Page 39
1.3 Architecture as a Reusable, Transferable Abstraction of a System......Page 40
1.4 Summary......Page 41
1.5 For Further Reading......Page 42
1.6 Discussion Questions......Page 43
Chapter 2: Evaluating a Software Architecture......Page 46
2.1 Why Evaluate an Architecture?......Page 50
2.2 When Can an Architecture Be Evaluated?......Page 51
2.3 Who’s Involved?......Page 53
2.4 What Result Does an Architecture Evaluation Produce?......Page 54
2.5 For What Qualities Can We Evaluate an Architecture?......Page 57
2.6 Why Are Quality Attributes Too Vague for Analysis?......Page 59
2.7.1 Outputs from the ATAM, the SAAM, and ARID......Page 61
2.7.2 Outputs Only from the ATAM......Page 62
2.8 What Are the Benefits and Costs of Performing an Architecture Evaluation?......Page 64
2.9 For Further Reading......Page 68
2.10 Discussion Questions......Page 69
Chapter 3 :The ATAMβ€”A Method for Architecture Evaluation......Page 70
3.1 Summary of the ATAM Steps......Page 71
3.2.1 Step 1: Present the ATAM......Page 72
3.2.2 Step 2: Present the Business Drivers......Page 73
3.2.4 Step 4: Identify the Architectural Approaches......Page 74
3.2.5 Step 5: Generate the Quality Attribute Utility Tree......Page 77
3.2.6 Step 6: Analyze the Architectural Approaches......Page 83
3.2.7 Step 7: Brainstorm and Prioritize Scenarios......Page 86
3.2.9 Step 9: Present the Results......Page 95
3.3 The Phases of the ATAM......Page 97
3.3.1 Phase 0 Activities......Page 98
3.3.2 Phase 1 Activities......Page 103
3.3.3 Phase 2 Activities......Page 104
3.3.4 Phase 3 Activities......Page 105
3.5 Discussion Questions......Page 111
Chapter 4: The Battlefield Control Systemβ€”The First Case Study in Applying the ATAM......Page 114
4.1 Preparation......Page 115
4.2.3 Step 3: Present the Architecture......Page 116
4.2.4 Step 4: Identify the Architectural Approaches......Page 117
4.2.6 Step 6: Analyze the Architectural Approaches......Page 119
4.3.1 Step 7: Brainstorm and Prioritize Scenarios......Page 127
4.3.3 Step 9: Present the Results......Page 129
4.4.1 Documentation......Page 130
4.4.2 Requirements......Page 132
4.4.4 Architectural Risks......Page 133
4.6 Discussion Questions......Page 134
Chapter 5: Understanding Quality Attributes......Page 136
5.1 Quality Attribute Characterizations......Page 137
5.1.1 Performance......Page 138
5.1.2 Availability......Page 142
5.1.3 Modifiability......Page 145
5.1.4 Characterizations Inspire Questions......Page 147
5.2 Using Quality Attribute Characterizations in the ATAM......Page 148
5.3 Attribute-Based Architectural Styles......Page 151
5.4 Summary......Page 152
5.6 Discussion Questions......Page 153
Chapter 6: A Case Study in Applying the ATAM......Page 154
6.1 Background......Page 155
6.2 Phase 0: Partnership and Preparation......Page 156
6.2.1 Phase 0, Step 1: Present the ATAM......Page 157
6.2.2 Phase 0, Step 2: Describe Candidate System......Page 159
6.2.3 Phase 0, Step 3: Make a Go/No-Go Decision......Page 161
6.2.4 Phase 0, Step 4: Negotiate the Statement of Work......Page 162
6.2.5 Phase 0, Step 5: Form the Core Evaluation Team......Page 164
6.2.6 Phase 0, Step 6: Hold Evaluation Team Kick-off Meeting......Page 167
6.2.7 Phase 0, Step 7: Prepare for Phase 1......Page 169
6.2.8 Phase 0, Step 8: Review the Architecture......Page 174
6.3 Phase 1: Initial Evaluation......Page 175
6.3.1 Phase 1, Step 1: Present the ATAM......Page 176
6.3.2 Phase 1, Step 2: Present Business Drivers......Page 179
6.3.3 Phase 1, Step 3: Present the Architecture......Page 184
6.3.4 Phase 1, Step 4: Identify Architectural Approaches......Page 189
6.3.5 Phase 1, Step 5: Generate Quality Attribute Utility Tree......Page 191
6.3.6 Phase 1, Step 6: Analyze the Architectural Approaches......Page 199
6.4 Hiatus between Phase 1 and Phase 2......Page 210
6.5.1 Phase 2, Step 0: Prepare for Phase 2......Page 211
6.5.3 Phase 2, Step 7: Brainstorm and Prioritize Scenarios......Page 214
6.5.4 Phase 2, Step 8: Analyze Architectural Approaches......Page 223
6.5.5 Phase 2, Step 9: Present Results......Page 226
6.6 Phase 3: Follow-Up......Page 229
6.6.1 Phase 3, Step 1: Produce the Final Report......Page 230
6.6.2 Phase 3, Step 2: Hold the Postmortem Meeting......Page 231
6.6.3 Phase 3, Step 3: Build Portfolio and Update Artifact Repositories......Page 234
6.8 Discussion Questions......Page 236
Chapter 7: Using the SAAM to Evaluate an Example Architecture......Page 238
7.1 Overview of the SAAM......Page 239
7.1.2 Outputs from a SAAM Evaluation......Page 240
7.2.1 Step 1: Develop Scenarios......Page 241
7.2.2 Step 2: Describe the Architecture(s)......Page 243
7.2.3 Step 3: Classify and Prioritize the Scenarios......Page 244
7.2.5 Step 5: Assess Scenario Interactions......Page 245
7.2.6 Step 6: Create the Overall Evaluation......Page 246
7.3 A Sample SAAM Agenda......Page 247
7.4.1 ATAT System Overview......Page 249
7.4.2 Step 1: Develop Scenarios, First Iteration......Page 250
7.4.3 Step 2: Describe the Architecture(s), First Iteration......Page 251
7.4.4 Step 1: Develop Scenarios, Second Iteration......Page 252
7.4.5 Step 2: Describe the Architecture(s), Second Iteration......Page 254
7.4.6 Step 3: Classify and Prioritize the Scenarios......Page 255
7.4.7 Step 4: Individually Evaluate Indirect Scenarios......Page 258
7.4.8 Step 5: Assess Scenario Interactions......Page 262
7.4.9 Step 6: Create the Overall Evaluationβ€”Results and Recommendations......Page 263
7.5 Summary......Page 265
7.7 Discussion Questions......Page 266
Chapter 8: ARIDβ€”An Evaluation Method for Partial Architectures......Page 268
8.1 Active Design Reviews......Page 269
8.3 The Steps of ARID......Page 272
8.3.2 Phase 2: Review......Page 273
8.4 A Case Study in Applying ARID......Page 275
8.4.1 Carrying Out the Steps......Page 276
8.4.2 Results of the Exercise......Page 278
8.6 For Further Reading......Page 279
8.7 Discussion Questions......Page 280
Chapter 9: Comparing Software Architecture Evaluation Methods......Page 282
9.1.1 Questionnaires and Checklists......Page 284
9.1.2 Scenarios and Scenario-Based Methods......Page 288
9.2 Measuring Techniques......Page 290
9.2.1 Metrics......Page 291
9.2.3 Rate-Monotonic Analysis......Page 292
9.2.4 Automated Tools and Architecture Description Languages......Page 293
9.3.1 Software Performance Engineering......Page 294
9.3.2 The ATAM......Page 295
9.4 Summary......Page 298
9.6 Discussion Questions......Page 300
Chapter 10: Growing an Architecture Evaluation Capability in Your Organization......Page 302
10.2 Growing a Pool of Evaluators......Page 303
10.3.1 Cost and Benefit Data......Page 305
10.3.2 Method Guidance......Page 308
10.3.3 Reusable Artifacts......Page 310
10.5 Discussion Questions......Page 312
11.1 You Are Now Ready!......Page 314
11.3 Why Evaluate Architectures?......Page 315
11.4 Why Does the ATAM Work?......Page 317
11.5 A Parting Message......Page 323
A.1 Problem Description......Page 324
A.3 Architectural Style......Page 325
A.4.1 Reasoning......Page 326
A.4.2 Priority Assignment......Page 327
A.4.4 Blocking Time......Page 328
A.5 For Further Reading......Page 329
References......Page 330
A......Page 334
C......Page 337
E......Page 338
F......Page 339
L......Page 340
N......Page 341
P......Page 342
R......Page 345
S......Page 346
U......Page 349
Z......Page 350

✦ Subjects


Architecture;Science;Computer Science


πŸ“œ SIMILAR VOLUMES


Program Evaluation: Methods and Case Stu
✍ Emil J. Posavac; Kenneth J. Linfield πŸ“‚ Library πŸ“… 2018 πŸ› Routledge 🌐 English

This text provides a solid foundation in program evaluation, covering the main components of evaluating agencies and their programs, how best to address those components, and the procedures to follow when conducting evaluations. Different models and approaches are paired with practical techniques, s

Software Architecture: A case Based Appr
✍ Varma, Vasudeva πŸ“‚ Library πŸ“… 2009;2013 πŸ› Pearson 🌐 English

This book discusses the discipline ofSSoftware Architecture using real-world case studies and posing pertinent questions that arouse objective thinking. It encourages the reader to think about the subject in the context of problems that software architects solve, the tools they use and the constrain

Evaluating Project Decisions: Case Studi
✍ Carol L. Hoover, Mel Rosso-Llopart, Gil Taran πŸ“‚ Library πŸ“… 2009 πŸ› Addison-Wesley Professional 🌐 English

Effective decisions are crucial to the success of any software project, but to make better decisions you need a better decision-making process. In Evaluating Project Decisions, leading project management experts introduce an innovative decision model that helps you tailor your decision-making proces

Evaluating Project Decisions: Case Studi
✍ Carol L. Hoover, Mel Rosso-Llopart, Gil Taran πŸ“‚ Library πŸ“… 2009 πŸ› Addison-Wesley Professional 🌐 English

<P style=''MARGIN: 0px''>Effective decisions are crucial to the success of any software project, but to make better decisions you need a better decision-making process. In <B> <I>Evaluating Project Decisions</I> </B> <B> <I>,</I> </B> leading project management experts introduce an innovative decisi

Evaluating Project Decisions: Case Studi
✍ Hoover, Carol L πŸ“‚ Library πŸ“… 2009 πŸ› Addison-Wesley Professional 🌐 English

Effective decisions are crucial to the success of any software project, but to make better decisions you need a better decision-making process. In<b><i>Evaluating Project Decisions</i></b><b><i>,</i></b>leading project management experts introduce an innovative decision model that helps you tailor y