Software architecture evaluation

Slides:



Advertisements
Similar presentations
ATAM Architecture Tradeoff Analysis Method
Advertisements

Evaluating a Software Architecture By Desalegn Bekele.
Software Architecture – Centric Methods and Agile Development by Craig Castaneda.
Systems Analysis and Design 9th Edition
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
Software Quality Metrics
Active Review for Intermediate Designs [Clements, 2000]
Lecture 17 Architecture Tradeoff Analysis Method ATAM
Business Driven Enterprise Architecture Assessment Methodology Josh Arceneaux August 16, 2011.
Analysis Concepts and Principles
Fundamentals of Information Systems, Second Edition
1 Introduction to System Engineering G. Nacouzi ME 155B.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Science and Engineering Practices
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
Methods and Models for Evaluating Software Product Line Architecture Hyotaeg Jung Computer Science Department Univ. of Texas at Dallas Software Architecture.
Chapter : Software Process
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.
© 2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
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.
Module 4: Systems Development Chapter 13: Investigation and Analysis.
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.
Chapter 6 : Software Metrics
Chapter 12: Systems Investigation and Analysis. Agenda  How to Develop a CBIS?  Systems Development Life Cycle (SDLC)  Prototyping  Join Application.
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.
IT Requirements Management Balancing Needs and Expectations.
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.
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.
Lecture 7: Requirements Engineering
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
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.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Architecture Evaluation Cost Benefit Analysis Method (CBAM)
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Architecture Analysis Techniques
Scenario-Based Analysis of Software Architecture Rick Kazman, Gregory Abowd, Len Bass, and Paul Clements Presented by Cuauhtémoc Muñoz.
Overall Evaluation of Software Architecture By Ashwin Somaiah.
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
Module 4: Systems Development Chapter 13: Investigation and Analysis.
Foundations of Geospatial System Development Todd S. Bacastow Professor of Practice for Geospatial Intelligence John A. Dutton e-Education Institute The.
John D. McGregor Architecture Evaluation
 CMMI  REQUIREMENT DEVELOPMENT  SPECIFIC AND GENERIC GOALS  SG1: Develop CUSTOMER Requirement  SG2: Develop Product Requirement  SG3: Analyze.
Fundamentals of Information Systems, Third Edition2 An Overview of Systems Development: Participants in Systems Development Development team –Responsible.
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,
1 Data Warehouse Assessments What, Why, and How Noah Subrin Technical Lead SRA International April 24, 2010.
CpSc 875 John D. McGregor C 12 – Security/ATAM. Attack surface of a product face_Analysis_Cheat_Sheet
Systems Analysis Lecture 5 Requirements Investigation and Analysis 1 BTEC HNC Systems Support Castle College 2007/8.
 System Requirement Specification and System Planning.
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.
CHAPTER 2 SYSTEM PLANNING DFC4013 System Analysis & Design.
Lecture 12 Attribute Driven Design Again
Chapter 24: Architecture Competence
Principles of Information Systems Eighth Edition
Lecture 17 ATAM Team Expertise
Analyzing an Architecture
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
Presentation transcript:

Software architecture evaluation Supervised By Dr.Hany Ammar. By: Hamda Ebrahim. Ebtsam abd el-Hakam.

Agenda Software architecture evaluation definition. Benefits of Architecture Evaluation. Types of Architecture Evaluation. Software Architecture Evaluation Methods. CBAM, Cost Benefit Analysis Method. CBAM, Case Study. ATAM, Architecture Trade-off Analysis Method. ATAM, Case Study.

Agenda Software architecture evaluation definition. Benefits of Architecture Evaluation. Types of Architecture Evaluation. Software Architecture Evaluation Methods. CBAM, Cost Benefit Analysis Method. CBAM, Case Study. ATAM, Architecture Trade-off Analysis Method. ATAM, Case Study.

Software architecture evaluation The development effort, the time and costs of complex systems are considerably high. Software analysis and evaluation becomes a well-established practice inside the architecting community of the software systems. In order to assess system’s quality against the requirements of its customers, the architects and the developers need methods and tools to support them during the evaluation process.

Agenda Software architecture evaluation definition. Benefits of Architecture Evaluation. Types of Architecture Evaluation. Software Architecture Evaluation Methods. CBAM, Cost Benefit Analysis Method. CBAM, Case Study. ATAM, Architecture Trade-off Analysis Method. ATAM, Case Study.

Benefits of Architecture Evaluation Results in prioritization of conflicting goals Forces clear explanation of architecture Improve quality of architecture documentation Uncovers opportunities for cross-project reuse Results in improved architecture practices

Agenda Software architecture evaluation definition. Benefits of Architecture Evaluation. Types of Architecture Evaluation. Software Architecture Evaluation Methods. CBAM, Cost Benefit Analysis Method. CBAM, Case Study. ATAM, Architecture Trade-off Analysis Method. ATAM, Case Study.

Types of Architecture Evaluation Technical: Evaluation against system quality attributes, e.g. performance, security and modifiability, Suitability of design decisions, E.g. Architecture Tradeoff Analysis Method (ATAM). Economic: Biggest tradeoffs in large complex systems usually have to do with economics, cost and benefits associated with architectural design decisions, E.g. Cost Benefit Analysis Method (CBAM)

Agenda Software architecture evaluation definition. Benefits of Architecture Evaluation. Types of Architecture Evaluation. Software Architecture Evaluation Methods. CBAM, Cost Benefit Analysis Method. CBAM, Case Study. ATAM, Architecture Trade-off Analysis Method. ATAM, Case Study.

Software Architecture Evaluation Methods ATAM, Architecture Trade-off Analysis Method. CBAM, Cost Benefit Analysis Method. SAAM, Software Architecture Analysis Method. ALMA, Architecture Level Modifiability Analysis. FAAM, Family – Architecture Analysis Method.

Agenda Software architecture evaluation definition. Benefits of Architecture Evaluation. Types of Architecture Evaluation. Software Architecture Evaluation Methods. CBAM, Cost Benefit Analysis Method. CBAM, Case Study. ATAM, Architecture Trade-off Analysis Method. ATAM, Case Study.

Cost-Benefit Analysis Method (CBAM) CBAM an architecture-centric method for analyzing the costs, benefits and schedule implications of architectural decisions. SAAM and ATAM considered the design decisions with respect to architectural quality attributes like modifiability, performance, availability, usability, and so on. CBAM is different from the former methods, it add the costs (and implicit budgets or money) as quality attributes.

Context of CBAM

Prerequisites and Inputs for CBAM Inputs in a CBAM evaluation session are: - The business goals presentation. - The architectural decisions and possible tradeoffs resulted in a former ATAM session. - The quality attributes expectation level and economical constraints. (Budget)

CBAM Steps

CBAM Outcomes and Strengths The method provides values as a basis for a rational decision making process in applying certain architectural strategies The method provides a business measure that can determine the level of return on investment of a particular change to the system. The method will help organizations in analyzing and pre-evaluating the resource investment in different directions by adopting those architectural strategies that are maximizing the gains and minimize the risks.

Agenda Software architecture evaluation definition. Benefits of Architecture Evaluation. Types of Architecture Evaluation. Software Architecture Evaluation Methods. CBAM, Cost Benefit Analysis Method. CBAM, Case Study. ATAM, Architecture Trade-off Analysis Method. ATAM, Case Study.

Case Study: The NASA ECS Project The Earth Observing System is a constellation of NASA satellites that gathers data about the Earth for the U.S. The Earth Core System (ECS) collects data from various satellite downlink stations for further processing. The mission of the ECS is to process the data into higher-form information and make it available in searchable form to scientists around the world. The goals are to provide a common way to store and process data and to provide a public mechanism for introducing the new data formats and processing algorithms needed, thus making the information widely available to the scientific community at large. The long-term nature of the project also makes modifiability an important requirement.

Step 1: Collate Scenarios

Step 2: Refine Scenarios

Step 3: Prioritize Scenarios

Step 4: Assign Utility

Step 5: Develop ASs for Scenarios and Determine Their Expected Response Levels

Step 6: Determine Expected Utility Levels by Interpolation

Step 7: Calculate the Total Benefit Obtained from an AS

Step 8: Choose ASs Based on ROI Subject to Cost Constraints

Agenda Software architecture evaluation definition. Benefits of Architecture Evaluation. Types of Architecture Evaluation. Software Architecture Evaluation Methods. CBAM, Cost Benefit Analysis Method. CBAM, Case Study. ATAM, Architecture Trade-off Analysis Method. ATAM, Case Study.

Architecture Trade-off Analysis Method (ATAM) ATAM is a scenario-based architecture method for assessing quality attributes such as: modifiability, portability, Variability, and Functionality ATAM analyses how well software architecture satisfies particular quality goals. It also provides insight into quality attribute interdependencies meaning how they trade-off against each other. ATAM is based on Software Architecture Analysis Method (SAAM).

Prerequisites and Inputs for ATAM The evaluators must understand the system architecture, recognize the architectural parameters, define their implications with respect to the system quality attributes. Problem areas were so called “sensitivity points”, “tradeoff points” and risks. These must be carefully identified. ATAM is a context-based evaluation method in which quality attributes of the system must be understood. This can be achieved employing descriptive scenarios for evaluating the quality attributes. Inputs: The initial requirements of the system. The software architecture description of the system.

ATAM Phases

ATAM Outcomes and Strengths The general strengths of an ATAM session are: Stakeholders understand more clearly the architecture. Improved software architecture documentation. Enhanced communication among the stakeholders. In terms of practical outcome ATAM delivers: Quality scenarios produced by stakeholders based on the quality attributes requirements.

Agenda Software architecture evaluation definition. Benefits of Architecture Evaluation. Types of Architecture Evaluation. Software Architecture Evaluation Methods. CBAM, Cost Benefit Analysis Method. CBAM, Case Study. ATAM, Architecture Trade-off Analysis Method. ATAM, Case Study.

Evaluation of the Hoover's architecture using ATAM Hoover’s Architecture is an Event Architecture that provides “Event Services” that then utilized in an event-driven application component in a system. Phase 1: Presentation Step 1: Present the ATAM general info. About ATAM, analysis Techniques and expected values Step 2: Present the business drivers provides info. the main function of the sys., and the major stakeholders (the end user, the architect and the app. developer) Step 3: Present the architecture to be evaluated

Hoover’s Architecture

Hoover’s Architecture Evaluation (cont.) Phase 2: Investigation and Analysis Step 1: Identify the architectural approaches the architectural team explains the flow of control of the architecture and provides a proper explanation of how and whether the critical goal is met. * Modifiability, Functionality, Variability, and Reliability Step 2: Generate the quality Attribute Utility tree the system’s most important quality attribute goals are identified, prioritized and refined. Stage 1: Scenario Generation Stage 2: Utility Tree Generation

Phase 2 Step 2 Stage 1: Scenario Generation

Phase 2 Step 2 Stage 2 Generate the quality Attribute Utility tree

Phase 2 Step 3 Step 3: Analyze the Architectural Approaches Identify the quality attributes that have the high degree of prioritization. (Variability, Reliability, Conceptual integrity, Functionality and Modifiability) Stage 1: Investigation of architectural approach determine how the architecture support these quality attributes Stage 2: Creation of analysis questions Stage 3: Answers to the analysis Questions Stage 4: Find the risks, non-risks, sensitivity points and trade-off points

Phase 2 Step 3 Stage 2 Creation of analysis questions Can the components of the architecture reused for future projects? (variability) Will the system handle any input given by the user and handle invalid input? (reliability) Is the architecture consistent in behavior? (conceptual integrity) Can any new application-specific functionality be added to the architecture? (modifiability) Do the components interact properly? (functionality)

Phase 2 Step 3 Stage 3 Answers to the analysis Questions Does the system handle any input given by the user and handle invalid input? Although the flawed input is identified at a later stage, the system handles all the input given by the user and handles any invalid input. Do the components interact properly? The components in this architecture interact in a well defined manner.

Phase 2 Step 3 Stage 4 Find the risks, non-risks, sensitivity points and trade-off points The handling of incorrect input is sensitive to number of event types in the application Trade-off points Modifiability and Reliability vs Performance

Hoover’s Architecture Evaluation (cont.) Phase 3: Testing Step 1: Brainstorm and Prioritize Scenarios prioritized the scenarios with according to all stakeholders (tables) Step 2: Analyze the architectural approaches the same as in Phase 2 Step 3 but in more for the higher voted quality attributes

Phase 3 Step 1 Brainstorm and Prioritize Scenarios User Scenarios Architecture’s growths Extreme growths

Phase 3 Step 1 Brainstorm and Prioritize Scenarios Merge the scenarios with the same QA. Each stakeholder has 5 votes to cast on any scenario of their choice Number of votes = 30%* # Sc. =.3*16=5

Phase 3 Step 1 Brainstorm and Prioritize Scenarios The scenarios are ordered by the vote total

Hoover’s Architecture Evaluation (cont.) Phase 4: Report the ATAM The ATAM team presents their findings to the group of stakeholders. The main findings of the ATAM team usually include: - A utility tree - Set of generated scenarios - Set of analysis questions - Set of identified risks and non-risks - The identified architectural approaches

Summary Software Architecture Evaluation Methods. ATAM, CBAM, SAAM, ALMA, FAAM. CBAM, Cost Benefit Analysis Method. CBAM an architecture-centric method for analyzing the costs, benefits and schedule implications of architectural decisions. ATAM, Architecture Trade-off Analysis. ATAM an architecture method evaluation for analyzing the quality attributes of the system.

References K.Rick, A.Jai, K.Mark: “Making Architecture Design Decisions: An Economic Approach”. CMU/SEI-2002-TR-035, 2002. Mugurel T. Ionita1, Dieter K. Hammer and Henk Obbink: “Scenario-Based Software Architecture Evaluation Methods: An Overview”. Department Software Architectures, Philips Research, , Mathematics and Computing Science, Technical University 2002. Book chapter : Evaluating Software Architecture. Mildred N. Ambe, Frederick V.: "Evaluation of two architecture using the architecture tradeoff analysis method (ATAM)" April 29, 2002. “Software Architecture Evaluation: A Key to System Success”, http://interactive.sei.cmu.edu Paul Clements, Rick Kazman and Mark Klein, “Evaluating Software Architectures: Methods and Case Studies”, SEI Series in Software Engineering.

Questions??