ATAM Architecture Trade-off Analysis Method with case study Bart Venckeleer, inno.com.

Slides:



Advertisements
Similar presentations
ATAM Architecture Tradeoff Analysis Method
Advertisements

Leverage MarkITS for agile solutions delivery that balances strategic thinking with tactical execution for “Business & Technology Convergence” MarkITS.
PROJECT RISK MANAGEMENT
HP Quality Center Overview.
ITIL: Service Transition
Evaluating a Software Architecture By Desalegn Bekele.
Software Architecture – Centric Methods and Agile Development by Craig Castaneda.
Lecture 5 Themes in this session Building and managing the data warehouse Data extraction and transformation Technical issues.
Chapter 7 CASE Tools and Joint and Rapid Application Development.
02/12/00 E-Business Architecture
The Architecture Design Process
Active Review for Intermediate Designs [Clements, 2000]
Lecture 17 Architecture Tradeoff Analysis Method ATAM
SE 464: Industrial Information systems Systems Engineering Department Industrial Information System LAB 02: Introduction to SAP.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 2 Introduction to Database Development.
Introduction to Database Development. 2-2 Outline  Context for database development  Goals of database development  Phases of database development.
Business Intelligence Dr. Mahdi Esmaeili 1. Technical Infrastructure Evaluation Hardware Network Middleware Database Management Systems Tools and Standards.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Lecture Nine Database Planning, Design, and Administration
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Overview of Database Languages and Architectures.
Effort in hours Duration Over Weeks Or Months Inception Launch Web Lifecycle Methodology Maintenance Phases Copyright Wonderlane Studios.
Software architecture evaluation
National Manager Database Services
Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman
Software Architecture in Practice (3rd Ed) Introduction
Chapter 1 Overview of Databases and Transaction Processing.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
What is Business Analysis Planning & Monitoring?
EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.
Chapter 9 Database Planning, Design, and Administration Sungchul Hong.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 3 – 10 – 2011 College Of Computer Science and Information, Information Systems.
Database Design, Application Development, and Administration, 5 th Edition Copyright © 2011 by Michael V. Mannino All rights reserved. Chapter 2 Introduction.
Evaluating Architectures: ATAM
CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.
ATAM –Cont’d SEG 3202 N. Elkadri.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
McGraw-Hill/Irwin Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 7 CASE Tools and Joint and Rapid Application Development.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
Intro – Part 2 Introduction to Database Management: Ch 1 & 2.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Requirement Handling
9 Systems Analysis and Design in a Changing World, Fourth Edition.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Chapter Sixteen Managing Network Design and Implementation.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Evaluating Architectures. Quality Control Rarely fun, but always necessary 1.
TSS Database Inventory. CIRA has… Received and imported the 2002 and 2018 modeling data Decided to initially store only IMPROVE site-specific data Decided.
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.
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.
Quality Attributes Workshop
Analyzing an Architecture. Why analyze an architecture? Decide whether it solves the problem Compare to other architectures Assess what needs to change,
Chapter 1 Overview of Databases and Transaction Processing.
CpSc 875 John D. McGregor C 12 – Security/ATAM. Attack surface of a product face_Analysis_Cheat_Sheet
ITIL: Service Transition
N-Tier Architecture.
CASE Tools and Joint and Rapid Application Development
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Analyzing an Architecture
Database Systems Instructor Name: Lecture-2.
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
System Reengineering Restructuring or rewriting part or all of a system without changing its functionality Applicable when some (but not all) subsystems.
Presentation transcript:

ATAM Architecture Trade-off Analysis Method with case study Bart Venckeleer, inno.com

2 SEI – Software Architecture Tools and Methods  Active Reviews for Intermediate Designs (ARID)  Architecture-Based System Evolution  Architecture Competence Assessment  Architecture Expert (ArchE)  Architecture Tradeoff Analysis Method (ATAM)  Attribute-Driven Design (ADD) Method  Cost Benefit Analysis Method (CBAM)  Mission Thread Workshop  Quality Attribute Workshop (QAW)  Views and Beyond Approach to Architecture Documentation

3 ATAM in relationship with other SEI methods Active Reviews for Intermediate Designs (ARID) Architecture Competence Assessment Architecture Tradeoff Analysis Method (ATAM) Cost Benefit Analysis Method (CBAM) Quality Attribute Workshop (QAW) Views and Beyond Approach to Architecture Documentation clarified quality attribute requirements

4 Why Architectural Analysis?  The earlier you find a problem in a software project, the better off you are.  An unsuitable architecture will bring disaster on a project.  Architecture evaluation is a cheap way to avoid disaster.

5 Architecture Trade-off Analysis Method  The ATAM is based upon a set of attribute-specific measures of the system Analytic (performance & availability) Qualitative (modifiability, safety, security)  The ATAM workshops typically takes three days and the involvement of people Evaluators Architects and other system stakeholders  Benefits: clarified quality attribute requirements improved architecture documentation documented basis for architectural decisions identified risks early in the life-cycle increased communication among stakeholders An architecture evaluation doesn’t tell you “yes” or “no” or “6,75 out of 10”. It tells you were the risks are.

6 Risks, Nonrisks, Sensitivity Points and Trade-off Points The latency for processing an important message might be sensitive to the priority of the lowest priority process involved in handling the message. The average number of person-days of effort it takes to maintain a system might be sensitive to the degree of encapsulation of its communication protocols and file formats. If the processing of a confidential message has a hard real-time latency requirement then the level of encryption could be a trade-off point. The rules for writing business logic modules in the second tier of your three-tier client-server style are not clearly articulated. This could result in replication of functionality, thereby compromising modifiability of the third tier (a quality attribute response and its consequences) Assuming message arrival rates of once per second, a processing time of less than 30 milliseconds, and the existence of one higher priority process, then a one-second soft deadline seems reasonable. Risks are potentially problematic architectural decisions. Nonrisks are good decisions that rely on assumptions that are frequently implicit in the architecture. A sensitivity point is a property of one or more components (and/or component relationships) that is critical for achieving a particular quality attribute response. A trade-off point is a property that affects more than one attribute and is a sensitivity point for more than one attribute.

7 Architecture Trade-off Analysis Method  Preparation (elapsed time 20d) Business track  Interview project leader  Interview business representatives  Prepare quality attribute tree  Prepare scenario brainstorm Architecture track  Interview architect  Interview lead developers  Prepare example architecture documentation  Identify approaches Analysis

8 What Result Does an Architecture Evaluation Produce?  Answers to two kind of questions: Is the architecture suitable for the system for which is was designed? Which of two or more competing architectures is the most suitable one for the system at hand? suitable It meets its quality goals Predictable behaviour Performance Modifiable Security The system can be built Staff Budget Legacy Time If the sponsor of a system cannot tell you what any of the quality goals are for the system, then the architecture will do.

9 Summary of the ATAM Steps  Presentation 1.Present the method  Evaluation leader 2.Present business drivers  12 slides; 45 min; guidelines for content; project manager 3.Present architecture  20 slides; 60 min; guidelines for content + checklist with questions; architect  Investigation and Analysis 4.Identify the architectural approaches  architect 5.Generate the quality attribute utility tree  Workshop, templates for utility tree and scenarios 6.Analyse the architectural approaches  workshop, templates for risks, nonrisks, sensitivity points and trade-off points  Testing 7.Brainstorm and prioritise scenarios  Voting workshop 8.Analyse the architectural scenario’s  See step 6  Reporting 9.Present the results  Document template; evaluation team

CASE Study: Purchase2Pay

11 Step 2: Present Business Drivers  Customer presents System overview Business goals Constraints Quality attributes of interest  Evaluation team Define scope Interactions between systems Capture stakeholder interests Pinpoint important quality attributes Identify business goals and constraints  Evaluation leader Public summary 1.List of business goals 2.List of quality attributes of interest 3.Prelimary list of stakeholder roles for phase 2 4.First iteration on scope definition

12 Purchase2Pay: Business Context and Drivers  Business environment Invoice documents that are received from business units worldwide are centralized in one geographical location: Bratislava. Bratislava is responsible for  Labeling invoices  Scanning invoices  Posting the invoices to SAP Invoice verification is performed by business workers in Europe

13 Purchase2Pay : Business Context and Drivers  Driving requirements Every invoice must get a unique identification Every invoice must be stored electronically in a central repository Every invoice must be submitted to a verification process (review and approval) Posters must make use of the electronic version of the invoice Reviewers and approvers must make use of the electronic version of the invoice The lead time from invoice reception to invoice approval is less than one week

14 Purchase2Pay: Business Context and Drivers  Major stakeholders and users Stakeholders  Procurement  Finance  Legal Users  Scanner  Poster  Reviewer  Approver

15 Purchase2Pay: Business Constraints  Time to market Very fast  User demands Easy to use Fast  Standards SAP Documentum  Cost To be minimized

16 Purchase2Pay: Technical Constraints  COTS SAP Documentum  Integration requirements SAP – Documentum  Hardware requirements Run on current hardware and network infrastructure

17 Purchase2Pay: Quality Attribute Requirements  Usability E-documents can easily be read when displayed on screen  Availability Very High availability during Bratislava business hours High availability 24/7 for other business workers  Performance Throughput  Infrastructure must allow to process at least 400 invoices per hour  every 9 sec a request for a document upload is submitted; there will be a download every 3 sec! UI responsiveness  average 5 s  worse case 10 s

18 Step 3: Present Architecture  Architect describes Technical constraints Other systems involved Attribute specific architectural approaches  Evaluation team notes Architectural approaches used/mentioned Potential risks towards drivers Additional stakeholders mentioned 1.Summary of architecture presentation 2.Updated list of stakeholder roles for phase 2 3.Second iteration on scope definition

19 Purchase2Pay: Driving Architectural Requirements  COTS SAP Documentum  Cost SAP client license cost  Load Bratislava  Avg document upload and download: 1 doc every 9 sec each Europe  Avg document download: 1 doc every 3 sec

20 Purchase2Pay: High-level Architectural View

21 Purchase2Pay: Trace Use case Scenario

22 Purchase2Pay: Trace Use case Scenario

23 Step 4: Identify the Architectural Approaches  Evaluation team Interviews the architect to identify major approaches used ‘Tour de table’ polling for approaches identified  The architect Validates the material gathered 1.List of approaches recorded by scenario

24 Architectural Approaches  Client Server Sap client – Sap server Documentum client – Documentum Server  Multistep process integration Posting tool spawns acrobat viewer Verification tool spawns acrobat viewer  Data consistency integration eConnector creates invoice objects in SAP based on documents posted to Documentum

25 Step 5: Generate the Quality Attribute Utility Tree  Evaluation leader facilitates Identification Prioritization Refinement to scenarios Of most important quality attributes.  Questioners are responsible To highlight important quality attributes Point out difference between generated and presented drivers Listen for additional stakeholders mentioned  Utility Performance  Data latency ―(M, L) Minimize storage latency on customer DB to 200 ms ―(H,M) Deliver video in real time  Transaction throughput ―(M,M) Maximize average throughput to authentication server Modifiability  New Product Categories  Change COTS ―(H,L) change web user interface in < 4 person weeks Availability  Hardware Failure ―(L,M) power output at site 1 requires traffic redirect to site 3 in < 3 s ―(H,M) network failure is detected and recovered in < 1,5 min Security  Data confidentiality ―(L,H) customer database authorisation works 99,999% of time

26 Purchase2Pay: Quality Attribute Tree QA-L1QA- L2BPTPScenario PerformanceLatencyHHOpening a e-invoice for reading takes less that 3 seconds from any site that is in scope of p2p PerformanceThroughputHHOpening documents at a continuous rate of 2 documents per second has average response time better than 3 sec per doc for any of the sites in scope of p2p AvailabilityOverallHHA site that is disconnected due to network failure is re-connected with full bandwidth in less than 2 hours AvailabilityOverallHMHardware failure of one CPU in the infrastructure components (SAP, Documentum) has no effect on realization of QA AvailabilityOverallHHThere will be no more than 4 unavailability situations per year

27 Step 6: Analyse the Architectural Approaches  Scenario: Detect and recover from HW failure of prim CPU  Attribute(s): Availability  Environment: Normal operations  Stimulus:One CPU fails  Response:99,999% availability  Architectural decisions Arch. decision SensitivityTrade-offRiskNonrisk Backup CPUsS2R8 No backup channel S3T3R9 WatchdogS4N12 HeartbeatS5N13 Failover routing S6N14

28 Step 7: Brainstorm and Prioritise Scenarios  Workshop to generate Use case scenario’s  Expectations on usage of the system Growth scenario’s  Expectations on growth of the system Exploratory scenario’s  Expectations on huge change  Workshop to merge prioritize Merge similar scenarios #Votes = 30% of scenarios rounded up to even number 55 scenario’s  18 votes 1.List of high priority scenario’s 2.List of remaining scenario's 3.Augmented utility tree 4.List of risks, arising from mismatch between high-priority scenario’s and utility tree

29 Step 8: Analyse the scenario’s  See step 6 Arch. decision Sensitivitytrade-offRiskNonrisk Backup CPUsS2R8 No backup channel S3T3R9 WatchdogS4N12 HeartbeatS5N13 Failover routing S6N14

30 Scenario:E-connector looses connection with SAP Attribute:Availability-Overall Availability Stimulus:Temporary network fault Response:The system has an overall availability of 99,25% (max 2 hour down/ month) Architectural decisionSensitivityTrade-offRiskNon-risk DCTM content server runs on a clustered environment with 2 nodes Common mode failure can not be handled Probability of common mode failure is low Integration relationship between SAP and Documentum is 'data consistency‘ and is not protected Human user must report malfunction From complaint to resolution > 2 hours

31 Scenario:Invoice poster needs e-document for data entry in SAP/R3 Attribute:Perfomance-Latency Stimulus:Document request to Documentum Response:Document is available for processing in less than 10 s Architectural decisionSensitivityTrade-offRiskNon-risk E-documents are scanned in color at 200 dpi Size of document is sensitive to quality of scanning Usability vs Perform ance Document too large for roundtrip in 10 s. E-documents are not cached Every document must be fetched from DMTM Develop ment cost vs bandwid th cost Document roundtrip time exceeds 10 s.

32 Step 9: Present Results 1.Introduction 2.Evaluating a Software Architecture 3.ATAM overview 4.The ATAM for 5.Summary of Business Drivers 6.Summary of Architecture Presentation 7.Quality Attribute Utility Tree 8.Scenario Generation, Consolidation, and Prioritisation 9.Analysis of Architectural Approaches 10.Risks, Sensitivities, trade-offs, Nonrisks, and Other Issues 11.Conclusions

33 What Are the Benefits of Performing an Architectural Evaluation?  Puts stakeholders in the same room  Forces an articulation of specific quality goals  Results in prioritization of conflicting goals  Forces a clear explicitation of the architecture  Improves the quality of architectural documentation  Uncovers opportunities for cross project reuse  Results in improved architectural practices

34 Top 3 problematic decisions  Performance (latency) One view  Many small sql statements  Each query optimized  400 x 30 ms = 12 sec  Modifiability ( evolutive maintenance) Monolithic applications Organization of components No test infrastructure to accommodate major refactoring  Security Input validation Functional credentials User management

35 Inno.com experience  ATAM assessments are too often executed when it becomes clear that the project can not be delivered Positive example seen at Alcatel Financial sector started to adopt ATAM recently  In general projects spend little effort during the requirements workflow to specify and analyze quality attribute requirements  The quality of a software system depends largely on de skills and experience of individual developers  The preparation of a quality attribute workshops is extremely important but also difficult and time consuming Brainstorm relevant example quality attribute scenario’s Be prepared to educate stakeholders while moving forward  Architectural documentation is sparse and often inaccurate