CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.

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.
Mahmut Ali GÖKÇEIndustrial Systems Engineering Lecture 2 System Identification ISE102 Spring 2007.
Evaluating a Software Architecture By Desalegn Bekele.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 4: Phase Management - Elaboration.
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
The Design Process. Analysis Think – what should the final design do? List customer requirements Consider constraints – balance tradeoffs Define specifications.
1 Introduction to System Engineering G. Nacouzi ME 155B.
Adaptive Processes Comparing CMMI 1.2 vs. CMMI 1.1 LN Mishra Adaptive Processes Consulting.
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
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
Introduction to Computer Technology
Chapter 10 Architectural Design
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
Evaluating Architectures: ATAM
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,
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
1 Chapter 14 Architectural Design 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
2Object-Oriented Analysis and Design with the Unified Process The Requirements Discipline in More Detail  Focus shifts from defining to realizing objectives.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
A performance evaluation approach openModeller: A Framework for species distribution Modelling.
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.
1 Computer Systems & Architecture Lesson 5 9. The ATAM.
I Power Higher Computing Software Development The Software Development Process.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
Request for Proposal (RFP)
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY © Tomi Männistö, Varvana Myllärniemi, 2008 T Software Architectures.
Architecture Analysis Techniques
Overall Evaluation of Software Architecture By Ashwin Somaiah.
L ECTURE 18 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
John D. McGregor Architecture Evaluation
Architecture Tradeoff Analysis Method Software Engineering Institute Carnegie Mellon University Presented by: Senthil ayyasamy CS 590l- winter 2003.
Switch off your Mobiles Phones or Change Profile to Silent Mode.
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.
1 Lecture 2.3: SE Process (SEF Ch 3) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.
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 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
Software Architecture ATAM Process Presentation
Project Roles and Responsibilities
Analyzing an Architecture
The Design Process.
Chapter 1 (pages 4-9); Overview of SDLC
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
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
Portfolio, Programme and Project
The ATAM – A Method for Architecture Evaluation
John D. McGregor C 12 – Security/ATAM
Presentation transcript:

CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation

Architecture adds value Value is a synonym for desirableness If the value of something increases it is because it has become more desirable for some reason A “value chain” represents a sequence of stages, each of which makes the “thing”, for which this is the value chain, more desirable. The value chain for a software product is the series of activities that craft a solution.

Porter’s Value Chain

Adding value How does architecture add value? (How does it make the product more desirable?) – Increased probability that customers like the product – Increased probability of highly reliable operation – Increased probability that the product will have the qualities desired – Increased predictability of implementation

Adding value - 2 Even architecture evaluation adds value It removes defects making the architecture more desirable as a basis for building a product Question: How do we measure these increases in value?

ttern%20Presentation%20Abstra/ ttern%20Presentation%20Abstra/ andreas.net/software_architecture/pac.html andreas.net/software_architecture/pac.html /04/pac-software-architecture /04/pac-software-architecture

Architecture TradeOff Analysis Method (ATAM) The purpose of the ATAM is to assess the consequences of architectural decisions in light of quality attribute requirements.

Conceptual Flow of ATAM Analysis Architectural Decisions Scenarios Quality Attributes Architectural Approaches Business Drivers Software Architecture Risks Sensitivity Points Tradeoffs Non-Risks impacts Risk Themes distilled into

Phase 0 – Partnership and preparation Phase 1 – Evaluation Phase 2 – Evaluation continued Phase 3 – Follow-up

Phase 0 Logistics are agreed to – Meeting dates – Who must attend – Team membership Agenda is agreed to Collect initial information

Overview of Phase 1 Step 1 – Present the ATAM Step 2 – Present business drivers Step 3 – Present architecture Step 4 – Identify architectural approaches Step 5 – Generate quality attribute utility tree Step 6 – Analyse architectural approaches

Present Business Drivers Describe – 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 (the major quality attribute goals)

Present Architecture Driving architectural requirements, measurable quantities associated with these, standards/models/approaches for meeting these Important architectural information – Context diagram – Module or layer view – Component and connector view – Deployment view

Present Architecture - 2 Architectural approaches, patterns, tactics employed, what quality attributes they address and how they address those attributes Use of COTS and their integration Most important use case scenarios Most important change scenarios Issues/risk w.r.t. meeting the diving requirements

Step 4: identify architectural approaches Catalog the evident patterns and approaches – Based on step 3 – Serves as the basis for later analysis

Quality Attribute Scenario Stimulus Stimulus source Environment Artifact Response Response measure

Quality Attribute Scenario Stimulus – requests computation of a data set Stimulus source – software architect Environment – desktop machine with 4 G memory and dual core processor Artifact – data for a set of products Response – the vector of values is created Response measure – the vector is calculated in less than 30 milliseconds per value

Step 5: Generate quality attribute utility tree Utility tree – Present the quality attribute goals in detail Quality attribute goals are – Identified, prioritised, refined – Expressed as scenarios Utility is an expression of the overall goodness of the system – Quality attributes form the second level being components of utility

Step 5: Generate quality attribute utility tree con’t Scenarios are prioritised – Depending on how important they are and – Depending on how difficult it will be for the architecture to satisfy a scenario

Step 6: Analyse architectural approaches Examine the highest ranked scenarios The goal is for the evaluation team to be convinced that the approach is appropriate for meeting the attribute-specific requirements Scenario walkthroughs Identify and record a set of sensitivity points and tradeoff points, risks and non-risks – Sensitivity and tradeoff points are candidate risks

Phase 2 Step 7 – Brainstorm and prioritise scenarios Step 8 – Analyse architectural approaches Step 9 – Present results

Step 7: Brainstorm and prioritise scenarios Utility tree shows architects view on the quality attributes Here the focus is on the other stakeholders view on the quality attributes and scenarios based on these – Which are the mot meaningful and important scenarios w.r.t. users etc.

Step 8: Analyse architectural approaches Highest ranked scenarios from step 7 are presented to the architect – Explain how relevant architectural decisions contribute to realising each one

Step 9: Present results Outputs: – The architectural approaches documented – The set of scenarios and their prioritisation from the brainstorming – The utility tree – The risks discovered – The non-risks documented – The sensitivity points and tradeoff points found

Conceptual Flow of ATAM Analysis Architectural Decisions Scenarios Quality Attributes Architectural Approaches Business Drivers Software Architecture Risks Sensitivity Points Tradeoffs Non-Risks impacts Risk Themes distilled into