Download presentation
Presentation is loading. Please wait.
1
Analyzing an Architecture
2
Why analyze an architecture?
Decide whether it solves the problem Compare to other architectures Assess what needs to change, given some major requirements change Find a problem
3
Methods ATAM – Architecture Trade-off Analysis
CBAM – Cost Benefit Analysis Architecture Review
4
ATAM
5
ATAM Participants Evaluation Team Project Decision Makers
Sponsor, Customer, Management Architecture Stakeholder Developers, Users, Testers, etc.
6
Evaluation Team Team Leader Evaluation Leader Scenario Scribe
Proceedings Scribe Timekeeper Process Observer Process Enforcer Questioner
7
Outputs Concise presentation of the Architecture
Articulation of Business Goals Quality Requirements – collection of scenarios Mapping of Architectural decisions to qualities Identified sensitivity and trade-off points Set of risks and non-risks Set of risk themes
8
Phases of ATAM 0 - Partnership and Preparation
1 – Evaluation day 2 TO 3 WEEKS BREAK HERE! 2 – Evaluation 2 – 2 days 4 – Follow-up week
9
Evaluation Steps – Phase 1
1 - Present the ATAM 2 - Present Business Drivers Most important functions Constraints – technical, economic, political Business goals Major stakeholders Architectural drivers
10
Evaluation Steps 3 – Present Architecture (~20 slides; 60 minutes)
4 – Identify Architectural Approaches 5 – Quality Attribute Utility Tree
11
Quality attribute utility tree
Top level: quality attributes Second level: attribute sub-categories (or, scenario groupings if you think bottom-up) Third level: quality attribute scenarios For each scenario, two priority rankings (H/M/L): Importance Architect’s estimate of difficulty See pp
12
Scenario priority hierarchy (Don’s)
HH Top HM, MH Second level MM Time permitting HL, ML, LL Ignore (you won't have time anyway, and they aren't hard to build) LH, LM Why would you implement this in the first place?
13
Evaluation Steps 6 – Analyze Architectural Approaches
Focus on top priority scenarios first, then 2nd level, … Understand the architectural decisions made for the scenario, and the consequences For each architectural decision, generate lists of Sensitivity points (scenarios influenced by the decision) Tradeoff points (one scenario helped, another one hurt) For each sensitivity point and each tradeoff, decide whether it is a risk or non-risk
14
Sensitivities and tradeoffs: examples
Configuration files: good for modifiability Virtual machine: good for portability Virtual machine: bad for performance Virtual machine is also a tradeoff point, because it is good for at least one attribute and bad for at least one other
15
Evaluation Steps – Phase 2
7 – Brainstorm and prioritize scenarios 8 - Analyze Architectural Approaches 9 – Present Results
16
CBAM
17
CBAM Goal of CBAM is quantifying decisions
Utility – a measure of value Cost – to implement a given strategy Use outputs of ATAM This is a subjective process!
18
Scenario For each scenario of ATAM: Generate a set of scenarios
The set has a range of responses The response measure needs to be quantified
19
Assign Utility Values This can be hard!
Look at plots in text (pg. 311) Start by establishing worst-case and best-case limits (0 and 100) They also tried to find a current and desired value
20
Priorities Prioritize the scenarios in order first
The add a weight for each one
21
Architectural Strategies
Expected value of the response (Interpolate on the plot) Effect on other attributes Cost to implement
22
Benefit Bi = Sj (bi,j * Wj)
bi,j expected change in utility with respect to scenario j as a result of using strategy i. W is weight of scenarios
23
ROI R = B / C
24
Summary ATAM and CBAM provide structure
CBAM can be hard, since quantification is called for! Next week we consider a less structured alternative.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.