analyzing an architecture

24
Analyzing an Architecture

Upload: fern

Post on 20-Jan-2016

27 views

Category:

Documents


0 download

DESCRIPTION

Analyzing an Architecture. 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. Methods. ATAM – Architecture Trade-off Analysis CBAM – Cost Benefit Analysis - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Analyzing an Architecture

Analyzing an Architecture

Page 2: Analyzing an Architecture

Why analyze an architecture?

Decide whether it solves the problemCompare to other architecturesAssess what needs to change, given some major requirements changeFind a problem

Page 3: Analyzing an Architecture

MethodsATAM – Architecture Trade-off AnalysisCBAM – Cost Benefit AnalysisArchitecture Review

Page 4: Analyzing an Architecture

ATAM

Page 5: Analyzing an Architecture

ATAM ParticipantsEvaluation TeamProject Decision Makers Sponsor, Customer, Management

Architecture Stakeholder Developers, Users, Testers, etc.

Page 6: Analyzing an Architecture

Evaluation TeamTeam LeaderEvaluation LeaderScenario ScribeProceedings ScribeTimekeeperProcess ObserverProcess EnforcerQuestioner

Page 7: Analyzing an Architecture

OutputsConcise presentation of the ArchitectureArticulation of Business GoalsQuality Requirements – collection of scenariosMapping of Architectural decisions to qualitiesIdentified sensitivity and trade-off pointsSet of risks and non-risksSet of risk themes

Page 8: Analyzing an Architecture

Phases of ATAM0 - Partnership and Preparation1 – Evaluation 1 -- 1 day 2 TO 3 WEEKS BREAK HERE!

2 – Evaluation 2 – 2 days4 – Follow-up -- 1 week

Page 9: Analyzing an Architecture

Evaluation Steps – Phase 11 - Present the ATAM2 - Present Business Drivers Most important functions Constraints – technical, economic,

political Business goals Major stakeholders Architectural drivers

Page 10: Analyzing an Architecture

Evaluation Steps3 – Present Architecture (~20 slides; 60 minutes)

4 – Identify Architectural Approaches

5 – Quality Attribute Utility Tree

Page 11: Analyzing an Architecture

Quality attribute utility treeTop level: quality attributesSecond level: attribute sub-categories (or, scenario groupings if you think bottom-up)Third level: quality attribute scenariosFor each scenario, two priority rankings (H/M/L): Importance Architect’s estimate of difficulty

See pp 296-297

Page 12: Analyzing an Architecture

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?

Page 13: Analyzing an Architecture

Evaluation Steps6 – 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

Page 14: Analyzing an Architecture

Sensitivities and tradeoffs: examples

Sensitivities 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

Page 15: Analyzing an Architecture

Evaluation Steps – Phase 27 – Brainstorm and prioritize scenarios

8 - Analyze Architectural Approaches

9 – Present Results

Page 16: Analyzing an Architecture

CBAM

Page 17: Analyzing an Architecture

CBAMGoal of CBAM is quantifying decisionsUtility – a measure of valueCost – to implement a given strategyUse outputs of ATAM

This is a subjective process!

Page 18: Analyzing an Architecture

ScenarioFor each scenario of ATAM: Generate a set of scenarios The set has a range of responses The response measure needs to be

quantified

Page 19: Analyzing an Architecture

Assign Utility ValuesThis 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

Page 20: Analyzing an Architecture

PrioritiesPrioritize the scenarios in order firstThe add a weight for each one

Page 21: Analyzing an Architecture

Architectural StrategiesExpected value of the response (Interpolate on the plot)

Effect on other attributesCost to implement

Page 22: Analyzing an Architecture

BenefitBi = j(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

Page 23: Analyzing an Architecture

ROIR = B / C

Page 24: Analyzing an Architecture

SummaryATAM and CBAM provide structureCBAM can be hard, since quantification is called for!Next week we consider a less structured alternative.