Analyzing an Architecture. Why analyze an architecture? Decide whether it solves the problem Compare to other architectures Assess what needs to change,

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]
Chapter 2 Succeeding as a Systems Analyst
Lecture 17 Architecture Tradeoff Analysis Method ATAM
Software Architecture in Practice Part Two: Creating an Architecture 2nd Ed. Len Bass, Paul Clements, Rick Kazman.
Annex I: Methods & Tools prepared by some members of the ICH Q9 EWG for example only; not an official policy/guidance July 2006, slide 1 ICH Q9 QUALITY.
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,
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 4.1.
Software Architecture Prof.Dr.ir. F. Gielen
Semester 2: Lecture 9 Analyzing Qualitative Data: Evaluation Research Prepared by: Dr. Lloyd Waller ©
Software Architecture CS3300 Fall Beware the Fuzzy Front End We are already almost 1/3 of the way done Need to negotiate deliverable schedule: SDP.
1 Computer Systems & Architecture Lesson 5 9. The ATAM.
Insert: Title of Improvement Read Out Date:. 2 Objectives for Today’s Session Share results of improvement effort Demonstrate fact-base, analytical approach.
Chapter 14: Using the Scalable Decision Process on Large Projects The process outlined is meant to be scaleable. Individual steps can be removed, changed,
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.
Ch 10 - Risk Management Learning Objectives You should be able to: List and describe risk management processes, inputs, outputs, and tools List and describe.
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.
Architecture Analysis Techniques
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.
L ECTURE 18 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
John D. McGregor Architecture Evaluation
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Product Design Alternative Generation, Evaluation, and Selection.
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.
Overview of System or Process Design and Improvement 1.
DECISION-MAKING FOR RESULTS HSES- Data Team Training.
Copyright 2015 John Wiley & Sons, Inc. Project Planning Part II.
CPSC 872 John D. McGregor Session 31 This is it..
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
Lecture 14 ATAM Case Study II Earth Observing System
Software Architecture ATAM Process Presentation
THE FEASIBILTY STUDY LECTURE-5.
Analyzing an Architecture
Agenda – week 8 6:00 – 6:10 Questions, announcements, intro
Vanilson Burégio The Battlefield Control System – The First Case Study in Applying the ATAM Chapter 4 of: Clements, Paul et al., Evaluating.
Analyzing an Architecture
Employee engagement Delivery guide
The ATAM – A Method for Architecture Evaluation
Software Architecture
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 day 2 TO 3 WEEKS BREAK HERE! 2 – Evaluation 2 – 2 days 4 – Follow-up -- 1 week

Evaluation Steps – Phase 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

Scenario priority hierarchy (Don’s) HHTop HM, MHSecond level MMTime permitting HL, ML, LLIgnore (you won't have time anyway, and they aren't hard to build) LH, LMWhy would you implement this in the first place?

Evaluation Steps 6 – Analyze Architectural Approaches Focus on top priority scenarios first, then 2 nd 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 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

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

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 B i =  j  (b i,j * W j ) b i,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.