Analyzing Service Oriented Architecture (SOA) in Open Source Products
Analyzing an Architecture
description
Transcript of Analyzing an Architecture
![Page 1: Analyzing an Architecture](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/1.jpg)
Analyzing an Architecture
![Page 2: Analyzing an Architecture](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/3.jpg)
MethodsATAM – Architecture Trade-off AnalysisCBAM – Cost Benefit AnalysisArchitecture Review
![Page 4: Analyzing an Architecture](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/4.jpg)
ATAM
![Page 5: Analyzing an Architecture](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/5.jpg)
ATAM ParticipantsEvaluation TeamProject Decision Makers Sponsor, Customer, Management
Architecture Stakeholder Developers, Users, Testers, etc.
![Page 6: Analyzing an Architecture](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/6.jpg)
Evaluation TeamTeam LeaderEvaluation LeaderScenario ScribeProceedings ScribeTimekeeperProcess ObserverProcess EnforcerQuestioner
![Page 7: Analyzing an Architecture](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/10.jpg)
Evaluation Steps3 – Present Architecture (~20 slides; 60 minutes)
4 – Identify Architectural Approaches
5 – Quality Attribute Utility Tree
![Page 11: Analyzing an Architecture](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/15.jpg)
Evaluation Steps – Phase 27 – Brainstorm and prioritize scenarios
8 - Analyze Architectural Approaches
9 – Present Results
![Page 16: Analyzing an Architecture](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/16.jpg)
CBAM
![Page 17: Analyzing an Architecture](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/20.jpg)
PrioritiesPrioritize the scenarios in order firstThe add a weight for each one
![Page 21: Analyzing an Architecture](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/21.jpg)
Architectural StrategiesExpected value of the response (Interpolate on the plot)
Effect on other attributesCost to implement
![Page 22: Analyzing an Architecture](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/23.jpg)
ROIR = B / C
![Page 24: Analyzing an Architecture](https://reader035.fdocuments.us/reader035/viewer/2022070415/56814f35550346895dbccfe7/html5/thumbnails/24.jpg)
SummaryATAM and CBAM provide structureCBAM can be hard, since quantification is called for!Next week we consider a less structured alternative.