+612 9045 4394
 
CHECKOUT
Evaluating Software Architectures : Methods and Case Studies - Paul Clements

Evaluating Software Architectures

Methods and Case Studies

Hardcover

Published: 1st November 2001
Ships: 7 to 10 business days
7 to 10 business days
RRP $229.99
$159.25
31%
OFF
or 4 easy payments of $39.81 with Learn more
if ordered within

The first practical guide to evaluating software and system architectures

-- Quick, low-cost techniques for optimizing any architecture in advance.

-- Ensuring maximum performance, security, reliability, and maintainability.

-- Step-by-step guidance and detailed practical examples based on realistic artifacts.

The foundation of any software system is its architecture. Using this book, you can evaluate every aspect of architecture in advance, at remarkably low cost -- identifying improvements that can dramatically improve any system's performance, security, reliability, and maintainability. 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 to software architectures, but also to system architectures encompassing computing hardware, networking equipment, and other elements. For all software architects, software engineers, developers, IT managers, and others responsible for creating, evaluating, or implementing software architectures.

List of Figuresp. xiii
List of Tablesp. xv
Prefacep. xvii
Acknowledgmentsp. xxi
Reader's Guidep. xxiii
What Is Software Architecture?p. 1
Architecture as a Vehicle for Communication among Stakeholdersp. 3
Architecture and Its Effects on Stakeholdersp. 3
Architectural Viewsp. 4
Architecture Description Languagesp. 10
Architecture as the Manifestation of the Earliest Design Decisionsp. 11
Architectural Stylesp. 12
Architecture as a Reusable, Transferable Abstraction of a Systemp. 13
Summaryp. 14
For Further Readingp. 15
Discussion Questionsp. 16
Evaluating a Software Architecturep. 19
Why Evaluate an Architecture?p. 23
When Can an Architecture Be Evaluated?p. 24
Who's Involved?p. 26
What Result Does an Architecture Evaluation Produce?p. 27
For What Qualities Can We Evaluate an Architecture?p. 30
Why Are Quality Attributes Too Vague for Analysis?p. 32
What Are the Outputs of an Architecture Evaluation?p. 34
Outputs from the ATAM, the SAAM, and ARIDp. 34
Outputs Only from the ATAMp. 35
What Are the Benefits and Costs of Performing an Architecture Evaluation?p. 37
For Further Readingp. 41
Discussion Questionsp. 42
The ATAM--A Method for Architecture Evaluationp. 43
Summary of the ATAM Stepsp. 44
Detailed Description of the ATAM Stepsp. 45
Step 1: Present the ATAMp. 45
Step 2: Present the Business Driversp. 46
Step 3: Present the Architecturep. 47
Step 4: Identify the Architectural Approachesp. 47
Step 5: Generate the Quality Attribute Utility Treep. 50
Step 6: Analyze the Architectural Approachesp. 56
Step 7: Brainstorm and Prioritize Scenariosp. 59
Step 8: Analyze the Architectural Approachesp. 68
Step 9: Present the Resultsp. 68
The Phases of the ATAMp. 70
Phase 0 Activitiesp. 71
Phase 1 Activitiesp. 76
Phase 2 Activitiesp. 77
Phase 3 Activitiesp. 78
For Further Readingp. 84
Discussion Questionsp. 84
The Battlefield Control System--The First Case Study in Applying the ATAMp. 87
Preparationp. 88
Phase 1p. 89
Step 1: Present the ATAMp. 89
Step 2: Present the Business Driversp. 89
Step 3: Present the Architecturep. 89
Step 4: Identify the Architectural Approachesp. 90
Step 5: Generate the Quality Attribute Utility Treep. 92
Step 6: Analyze the Architectural Approachesp. 92
Phase 2p. 100
Step 7: Brainstorm and Prioritize Scenariosp. 100
Step 8: Analyze the Architectural Approachesp. 102
Step 9: Present the Resultsp. 102
Results of the BCS Evaluationp. 103
Documentationp. 103
Requirementsp. 105
Sensitivities and Tradeoffsp. 106
Architectural Risksp. 106
Summaryp. 107
Discussion Questionsp. 107
Understanding Quality Attributesp. 109
Quality Attribute Characterizationsp. 110
Performancep. 111
Availabilityp. 115
Modifiabilityp. 118
Characterizations Inspire Questionsp. 120
Using Quality Attribute Characterizations in the ATAMp. 121
Attribute-Based Architectural Stylesp. 124
Summaryp. 125
For Further Readingp. 126
Discussion Questionsp. 126
A Case Study in Applying the ATAMp. 127
Backgroundp. 128
Phase 0: Partnership and Preparationp. 129
Phase 0, Step 1: Present the ATAMp. 130
Phase 0, Step 2: Describe Candidate Systemp. 132
Phase 0, Step 3: Make a Go/No-Go Decisionp. 134
Phase 0, Step 4: Negotiate the Statement of Workp. 135
Phase 0, Step 5: Form the Core Evaluation Teamp. 137
Phase 0, Step 6: Hold Evaluation Team Kick-off Meetingp. 140
Phase 0, Step 7: Prepare for Phase 1p. 142
Phase 0, Step 8: Review the Architecturep. 147
Phase 1: Initial Evaluationp. 148
Phase 1, Step 1: Present the ATAMp. 149
Phase 1, Step 2: Present Business Driversp. 152
Phase 1, Step 3: Present the Architecturep. 157
Phase 1, Step 4: Identify Architectural Approachesp. 162
Phase 1, Step 5: Generate Quality Attribute Utility Treep. 164
Phase 1, Step 6: Analyze the Architectural Approachesp. 172
Hiatus between Phase 1 and Phase 2p. 183
Phase 2: Complete Evaluationp. 184
Phase 2, Step 0: Prepare for Phase 2p. 184
Phase 2, Steps 1-6p. 187
Phase 2, Step 7: Brainstorm and Prioritize Scenariosp. 187
Phase 2, Step 8: Analyze Architectural Approachesp. 196
Phase 2, Step 9: Present Resultsp. 199
Phase 3: Follow-Upp. 202
Phase 3, Step 1: Produce the Final Reportp. 203
Phase 3, Step 2: Hold the Postmortem Meetingp. 204
Phase 3, Step 3: Build Portfolio and Update Artifact Repositoriesp. 207
For Further Readingp. 209
Discussion Questionsp. 209
Using the SAAM to Evaluate an Example Architecturep. 211
Overview of the SAAMp. 212
Inputs to a SAAM Evaluationp. 213
Outputs from a SAAM Evaluationp. 213
Steps of a SAAM Evaluationp. 214
Step 1: Develop Scenariosp. 214
Step 2: Describe the Architecture(s)p. 216
Step 3: Classify and Prioritize the Scenariosp. 217
Step 4: Individually Evaluate Indirect Scenariosp. 218
Step 5: Assess Scenario Interactionsp. 218
Step 6: Create the Overall Evaluationp. 219
A Sample SAAM Agendap. 220
A SAAM Case Studyp. 222
ATAT System Overviewp. 222
Step 1: Develop Scenarios, First Iterationp. 223
Step 2: Describe the Architecture(s), First Iterationp. 224
Step 1: Develop Scenarios, Second Iterationp. 225
Step 2: Describe the Architecture(s), Second Iterationp. 227
Step 3: Classify and Prioritize the Scenariosp. 228
Step 4: Individually Evaluate Indirect Scenariosp. 231
Step 5: Assess Scenario Interactionsp. 235
Step 6: Create the Overall Evaluation--Results and Recommendationsp. 236
Summaryp. 238
For Further Readingp. 239
Discussion Questionsp. 239
ARID--An Evaluation Method for Partial Architecturesp. 241
Active Design Reviewsp. 242
ARID: An ADR/ATAM Hybridp. 245
The Steps of ARIDp. 245
Phase 1: Rehearsalp. 246
Phase 2: Reviewp. 246
A Case Study in Applying ARIDp. 248
Carrying Out the Stepsp. 249
Results of the Exercisep. 251
Summaryp. 252
For Further Readingp. 252
Discussion Questionsp. 253
Comparing Software Architecture Evaluation Methodsp. 255
Questioning Techniquesp. 257
Questionnaires and Checklistsp. 257
Scenarios and Scenario-Based Methodsp. 261
Measuring Techniquesp. 263
Metricsp. 264
Simulations, Prototypes, and Experimentsp. 265
Rate-Monotonic Analysisp. 265
Automated Tools and Architecture Description Languagesp. 266
Hybrid Techniquesp. 267
Software Performance Engineeringp. 267
The ATAMp. 268
Summaryp. 271
For Further Readingp. 273
Discussion Questionsp. 273
Growing an Architecture Evaluation Capability in Your Organizationp. 275
Building Organizational Buy-inp. 276
Growing a Pool of Evaluatorsp. 276
Establishing a Corporate Memoryp. 278
Cost and Benefit Datap. 278
Method Guidancep. 281
Reusable Artifactsp. 283
Summaryp. 285
Discussion Questionsp. 285
Conclusionsp. 287
You Are Now Ready!p. 287
What Methods Have You Seen?p. 288
Why Evaluate Architectures?p. 288
Why Does the ATAM Work?p. 290
A Parting Messagep. 296
An Example Attribute-Based Architectural Stylep. 297
Problem Descriptionp. 297
Stimulus/Responsep. 298
Architectural Stylep. 298
Analysisp. 299
Reasoningp. 299
Priority Assignmentp. 300
Priority Inversionp. 301
Blocking Timep. 301
For Further Readingp. 302
Referencesp. 303
Indexp. 307
Table of Contents provided by Syndetics. All Rights Reserved.

ISBN: 9780201704822
ISBN-10: 020170482X
Series: SEI Series in Software Engineering
Audience: Tertiary; University or College
Format: Hardcover
Language: English
Number Of Pages: 368
Published: 1st November 2001
Publisher: Pearson Education (US)
Country of Publication: US
Dimensions (cm): 23.5 x 15.88  x 2.54
Weight (kg): 0.65