Analyzing an Architecture

Slides:



Advertisements
Similar presentations
ATAM Architecture Tradeoff Analysis Method
Advertisements

1 of 21 Information Strategy Developing an Information Strategy © FAO 2005 IMARK Investing in Information for Development Information Strategy Developing.
Designing an Architecture 1.Design Strategy Decomposition Designing to Architecturally Significant Requirements Generate and Test This generate-and test.
Risk Analysis & Management. Phases Initial Risk Assessment Risk Analysis Risk Management and Mitigation.
Evaluating a Software Architecture By Desalegn Bekele.
Software Architecture – Centric Methods and Agile Development by Craig Castaneda.
CPSC 872 John D. McGregor Session 22 Architecture Design, cont’d.
Active Review for Intermediate Designs [Clements, 2000]
Lecture 17 Architecture Tradeoff Analysis Method ATAM
Software Architecture in Practice Part Two: Creating an Architecture 2nd Ed. Len Bass, Paul Clements, Rick Kazman.
PROJECT EVALUATION. Introduction Evaluation  comparing a proposed project with alternatives and deciding whether to proceed with it Normally carried.
Software architecture evaluation
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman
1 The ATAM A Comprehensive Method for rchitecture Evaluation & The CBAM A Quantitative Approach to Architecture Design Deci $ ion Making CSSE 377 Software.
EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.
Evaluating Architectures: ATAM
CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.
WinCBAM: From Requirements Negotiation to Software Architecture Decisions Hoh In Rick Kazman David Olson Texas A&M SEI/CMU Texas A&M From Software Requirements.
ATAM –Cont’d SEG 3202 N. Elkadri.
Architecture Evaluation Evaluation Factors Evaluation by the designer Every time the designer makes a key design decision or completes a design milestone,
Software Architecture Prof.Dr.ir. F. Gielen
1 Computer Systems & Architecture Lesson 5 9. The ATAM.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
Develop Project Charter
PMP Study Guide Chapter 6: Risk Planning. Chapter 6 Risk Planning Planning for Risks Plan Risk Management Identifying Potential Risk Analyzing Risks Using.
Architecture Evaluation Cost Benefit Analysis Method (CBAM)
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Proprietary & confidential. © Decision Lens 2010 Decision Lens Criteria Development Session PSU ITS Pilot Gina Patel, Senior Client Decision Manager
Overall Evaluation of Software Architecture By Ashwin Somaiah.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
John D. McGregor Architecture Evaluation
Systems Architecture and Engineering. Programming is fun; building quality software is hard. - Phillipe Kruchten.
The ATAM method. The ATAM method (1/2) Architecture Tradeoff Analysis Method Requirements for complex software systems Modifiability Performance Security.
Analyzing an Architecture. Why analyze an architecture? Decide whether it solves the problem Compare to other architectures Assess what needs to change,
Copyright 2015 John Wiley & Sons, Inc. Project Planning Part II.
CpSc 875 John D. McGregor C 12 – Security/ATAM. Attack surface of a product face_Analysis_Cheat_Sheet
Quality Attribute Workshop. Goal: To identify requirements Held early in development Includes stakeholders Outputs: Business Goals Quality Attribute Scenarios.
Lecture 15 Attribute Driven Design Again Topics ATAM – team expertise and experience needed Chapter 24 Next Time: June 22, 2016 CSCE 742 Software Architecture.
Lecture 15 Attribute Driven Design Again Topics ATAM – team expertise and experience needed Chapter 24 Next Time: June 22, 2016 CSCE 742 Software Architecture.
PMP Study Guide Chapter 6: Risk Planning (Unit 8).
Lecture 12 Attribute Driven Design Again
Agenda – week 8 6:00 – 6:10 Questions, announcements, intro
Chapter 21: Architecture Evaluation
Analysis Manager Training Module
CSCE 742 Software Architectures
Software Architecture ATAM Process Presentation
Project Management BBA & MBA
Requirement Prioritization
CIS 210 Systems Analysis and Development
Organization Strategy and Project Selection
THE FEASIBILTY STUDY LECTURE-5.
Organization Strategy and Project Selection
MKT 498 Education for Service-- snaptutorial.com.
MKT 498 Teaching Effectively-- snaptutorial.com
Title: Owner: Ver: Date:
Title: Owner: Ver: Date:
Analyzing an Architecture
Agenda – week 8 6:00 – 6:10 Questions, announcements, intro
Data Migration Assessment Jump Start – Engagement Kickoff
Vanilson Burégio The Battlefield Control System – The First Case Study in Applying the ATAM Chapter 4 of: Clements, Paul et al., Evaluating.
Employee engagement Delivery guide
The ATAM – A Method for Architecture Evaluation
Software Architecture
PLCs at CHS Late start Wednesdays.
Experience with Performing architecture Trade-off Analysis
John D. McGregor C 12 – Security/ATAM
Presentation transcript:

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 Architecture Review

ATAM

ATAM Participants Evaluation Team Project Decision Makers Sponsor, Customer, Management Architecture Stakeholder Developers, Users, Testers, etc.

Evaluation Team Team Leader Evaluation Leader Scenario Scribe Proceedings Scribe Timekeeper Process Observer Process Enforcer Questioner

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

Phases of ATAM 0 - Partnership and Preparation 1 – Evaluation 1 -- 1 day 2 TO 3 WEEKS BREAK HERE! 2 – Evaluation 2 – 2 days 4 – Follow-up -- 1 week

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

Evaluation Steps 3 – Present Architecture (~20 slides; 60 minutes) 4 – Identify Architectural Approaches 5 – Quality Attribute Utility Tree

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 296-297

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?

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

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

Evaluation Steps – Phase 2 7 – Brainstorm and prioritize scenarios 8 - Analyze Architectural Approaches 9 – Present Results

CBAM

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!

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

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

Priorities Prioritize the scenarios in order first The add a weight for each one

Architectural Strategies Expected value of the response (Interpolate on the plot) Effect on other attributes Cost to implement

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

ROI R = B / C

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