Architecture Evaluation Evaluation Factors Evaluation by the designer Every time the designer makes a key design decision or completes a design milestone,

Slides:



Advertisements
Similar presentations
ATAM Architecture Tradeoff Analysis Method
Advertisements

Designing an Architecture 1.Design Strategy Decomposition Designing to Architecturally Significant Requirements Generate and Test This generate-and test.
PROJECT RISK MANAGEMENT
S Y S T E M S E N G I N E E R I N G.
Evaluating a Software Architecture By Desalegn Bekele.
Software Architecture – Centric Methods and Agile Development by Craig Castaneda.
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
Active Review for Intermediate Designs [Clements, 2000]
Lecture 17 Architecture Tradeoff Analysis Method ATAM
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Software architecture evaluation
Architecture and Requirements
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.
What is Software Architecture?
Software Architecture in Practice (3rd Ed) Introduction
Documenting Software Architectures
EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.
Evaluating Architectures: ATAM
CpSc 875 John D. McGregor Class 5 – Driving requirements.
CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.
ATAM –Cont’d SEG 3202 N. Elkadri.
Architecture Business Cycle
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Software Architecture Prof.Dr.ir. F. Gielen
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
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.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
SOFTWARE ARCHITECT – DESIGN.  Introduction  Architecture Drivers  POS System Architecture  Mapping Between Perspective  Evaluate Architecture  Project.
McGraw-Hill/Irwin Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 3 Identification and Selection of Development Projects.
1 Computer Systems & Architecture Lesson 5 9. The ATAM.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
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?
System Context and Domain Analysis Abbas Rasoolzadegan.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Overall Evaluation of Software Architecture By Ashwin Somaiah.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
CSE 303 – Software Design and Architecture
John D. McGregor Architecture Evaluation
 CMMI  REQUIREMENT DEVELOPMENT  SPECIFIC AND GENERIC GOALS  SG1: Develop CUSTOMER Requirement  SG2: Develop Product Requirement  SG3: Analyze.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
The ATAM method. The ATAM method (1/2) Architecture Tradeoff Analysis Method Requirements for complex software systems Modifiability Performance Security.
Documenting Software Architectures. Outline  Introduction  Uses of Architectural Documentation  Views  Choosing the Relevant Views  Documenting a.
Analyzing an Architecture. Why analyze an architecture? Decide whether it solves the problem Compare to other architectures Assess what needs to change,
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
Lecture 11 Analysis of Software Architectures Architecture Tradeoff & Analysis Method (ATAM) Topics  Why and when Evaluate Archiectures  Analysis of.
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.
Lecture 12 Attribute Driven Design Again
Chapter 21: Architecture Evaluation
CSCE 742 Software Architectures
CSCE 742 Software Architectures
Software Architecture ATAM Process Presentation
Lecture 17 ATAM Team Expertise
Analyzing an Architecture
4.2 Identify intervention outputs
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
The ATAM – A Method for Architecture Evaluation
Software Architecture
John D. McGregor C 12 – Security/ATAM
Presentation transcript:

Architecture Evaluation Evaluation Factors Evaluation by the designer Every time the designer makes a key design decision or completes a design milestone, then chosen and competing alternatives should be evaluated using the analysis techniques. Evaluation by the designer is the “test” part of the “generate-and-test” approach to architecture design. Considerations for evaluating architecture The importance of the decision The number of potential alternatives Good enough as opposed to perfect Evaluation by peers within the design process A peer review can be carried out at any point of the design process where a candidate architecture exists. Steps: 1.The reviewers determine a number of quality attribute scenarios to drive the review. 2.The architect presents the portion of the architecture to be evaluated. 3.For each scenario, the designer walks through the architecture and explains how the scenario is satisfied, and the reviewers ask questions to determine if the scenario is satisfied and its affect on other scenarios. 4.Potential problems are captured.

Architecture Evaluation Evaluation Factors Analysis by outsides once the architecture has been design In principle, an outside team may evaluate a complete architecture, an incomplete architecture, or a portion of an architecture. In practice, because engaging them is complicated and often expensive, they tend to be used to evaluate complete architectures. Context factors What artifacts are available Who sees the results (private or public) Who perform the evaluation Which stakeholders will participate What are the business goals

Architecture Evaluation The Architecture Tradeoff Analysis Method (ATAM) Participants in the ATAM The evaluation team Project decision makers Architecture stakeholders (developers, testers, integrators, maintainers, performance engineers, users, builders of external systems which will communicate this system, etc.

Architecture Evaluation The Architecture Tradeoff Analysis Method (ATAM) Outputs of the ATAM 1. A concise presentation of the architecture 2. Articulation of the business goals 3. Prioritized quality attribute requirements expressed as quality attribute scenarios 4. A set of risks and nonrisks Risk: an architectural decision that may lead to undesirable consequences in light of stated quality attribute requirements. 5. A set of risk themes Risk themes: overarching themes that identify systemic weakness in the architecture or even the architecture process and team. If left untreated, these risk themes will threaten the project’s business goals. 6. Mapping of architectural decisions to quality attributes 7. A set of identified sensitivity and tradeoff points Sensitivity point: decision made for this point in the architecture design will affect satisfaction of certain quality attribute(s). Tradeoff point: tradeoff is needed when making decision to satisfy two or more quality attributes at this point in the architecture design.

Architecture Evaluation The Architecture Tradeoff Analysis Method (ATAM) Phases of the ATAM

Architecture Evaluation The Architecture Tradeoff Analysis Method (ATAM) Steps of the evaluation phases Step 1: Present the ATAM Step 2: Present the business drivers The system’s most important functions Any relevant technical, managerial, economic, or political constraints The business goals and context as they relate to the project the major stakeholders The architectural drivers or ASRs. Step 3: Present the architecture Context diagram Module or layer view Component-and-connector view Deployment view Architectural patterns and tactics employed and associated quality attributes Use of reusable, commercial off-the-shelf (COTS) products 1-3 important use cases 1-3 important change scenarios Architectural issues/risks with respect to meeting the driving architectural requirements

Architecture Evaluation The Architecture Tradeoff Analysis Method (ATAM) Steps of the evaluation phases Step 4: Identify architecture approaches catalog the patterns and tactics that have been identified. Step 5: Generate quality attribute utility tree Step 6: Analyze architectural approaches

Architecture Evaluation The Architecture Tradeoff Analysis Method (ATAM) Steps of the evaluation phases Step 7: Brainstorm and prioritize scenarios Step 8: Analyze architectural approaches (again) After the scenarios have been collected and prioritized, the evaluation team guides the architect in the process of carrying out the highest ranked scenarios. In this step, the evaluation team performs the same activities as in step 6, using the highest- ranked, newly generated scenarios. Typically, this step might cover the top 5-10 scenarios as time permits. Step 9: Present results The evaluation team groups risks into risk themes, based on some common underlying concern or systemic deficiency. For each risk theme, the evaluation team identifies which of the business drivers are affected. The collected information from the evaluation is summarized and presented to stake holders: The architectural approaches documented The set of scenarios and their prioritization form the brainstorming The utility tree The risks discovered The nonrisks documented The sensitivity points and tradeoff points found Rick themes and the business drivers threatened by each one

Architecture Evaluation Lightweight Architecture Evaluation