Unformatted text preview:

Analysis Techniques Software Architecture Lecture 14 Copyright Richard N Taylor Nenad Medvidovic and Eric M Dashofy All rights reserv Software Architecture Foundations Theory and Practice Architectural Analysis in a Nutshell 2 Software Architecture Foundations Theory and Practice Richard N Taylor Nenad Medvidovic and Eric M Dashofy 2008 John Wiley Sons Inc Reprinted with permission Software Architecture Foundations Theory and Practice Analysis Technique Categories Inspection and review based Model based Simulation based 3 Software Architecture Foundations Theory and Practice Architectural Inspections and Reviews Architectural models studied by human stakeholders for specific properties The stakeholders define analysis objective Manual techniques Can be expensive Useful in the case of informal architectural descriptions Useful in establishing soft system properties E g scalability or adaptability Able to consider multiple stakeholders objectives and multiple architectural properties 4 Software Architecture Foundations Theory and Practice Inspections and Reviews in a Nutshell Analysis Goals any Analysis Scope any Analysis Concern any but particularly suited for non functional properties Architectural Models any but must be geared to stakeholder needs and analysis objectives Analysis Types mostly static and scenario based Automation Level manual human intensive Stakeholders any except perhaps component vendors 5 Software Architecture Foundations Theory and Practice Example ATAM Stands for architectural trade off analysis method Human centric process for identifying risks early on in software design Focuses specifically on four quality attributes NFPs Modifiability Security Performance Reliability Reveals how well an architecture satisfies quality goals and how those goals trade off 6 Software Architecture Foundations Theory and Practice ATAM Process 7 Software Architecture Foundations Theory and Practice Richard N Taylor Nenad Medvidovic and Eric M Dashofy 2008 John Wiley Sons Inc Reprinted with permission Software Architecture Foundations Theory and Practice ATAM Business Drivers The system s critical functionality Any technical managerial economic or political constraints The project s business goals and context The major stakeholders The principal quality attribute NFP goals 8 Software Architecture Foundations Theory and Practice ATAM Scenarios Use case scenarios Describe how the system is envisioned by the stakeholders to be used Growth scenarios Describe planned and envisioned modifications to the architecture Exploratory scenarios Try to establish the limits of architecture s adaptability with respect to system s functionality operational profiles underlying execution platforms Scenarios are prioritized based on importance to stakeholders 9 Software Architecture Foundations Theory and Practice ATAM Architecture Technical constraints Required hardware platforms OS middleware programming languages and OTS functionality Any other systems with which the system must interact Architectural approaches that have been used to meet the quality requirements Sets of architectural design decisions employed to solve a problem Typically architectural patterns and styles 10 Software Architecture Foundations Theory and Practice ATAM Analysis Key step in ATAM Objective is to establish relationship between architectural approaches and quality attributes For each architectural approach a set of analysis questions are formulated Targeted at the approach and quality attributes in question System architects and ATAM evaluation team work together to answer these questions and identify Risks these are distilled into risk themes Non Risks Sensitivity points Trade off points Based on answers further analysis may be performed 11 Software Architecture Foundations Theory and Practice ATAM in a Nutshell Goals Completeness Consistency Compatibility Correctness Scope Subsystem and system level Data exchange Concern Non functional Models Informal Semi formal Type Automation Level Stakeholders Scenario driven Manual Architects Developers Managers Customers Software Architecture Foundations Theory and Practice Richard N Taylor Nenad Medvidovic and Eric M Dashofy 2008 John Wiley Sons Inc Reprinted with permission 12 Software Architecture Foundations Theory and Practice Model Based Architectural Analysis Analysis techniques that manipulate architectural description to discover architectural properties Tool driven hence potentially less costly Typically useful for establishing hard architectural properties only Unable to capture design intent and rationale Usually focus on a single architectural aspect E g syntactic correctness deadlock freedom adherence to a style Scalability may be an issue Techniques typically used in tandem to provide more complete answers 13 Software Architecture Foundations Theory and Practice Model Based Analysis in a Nutshell Analysis Goals consistency compatibility internal correctness Analysis Scope any Analysis Concern structural behavioral interaction and possibly non functional properties Architectural Models semi formal and formal Analysis Types static Automation Level partially and fully automated Stakeholders mostly architects and developers 14 Software Architecture Foundations Theory and Practice Model Based Analysis in ADLs Wright uses CSP to analyze for deadlocks Aesop ensures style specific constraints MetaH and UniCon support schedulability analysis via NFPs such as component criticality and priority ADL parsers and compilers ensure syntactic and semantic correctness E g Rapide s generation of executable architectural simulations Architectural constraint enforcement E g Armani or UML s OCL Architectural refinement E g SADL and Rapide 15 Software Architecture Foundations Theory and Practice ADLs Analysis Foci in a Nutshell Goals Consistency Compatibility Completeness internal Scope Component and connector level Subsystem and system level Data exchange Different abstraction levels Architecture comparison Concern Structural Behavioral Interaction Non functional Models Semi formal Formal Type Automation Level Stakeholders Static Partially automated Automated Architects Developers Managers Customers Software Architecture Foundations Theory and Practice Richard N Taylor Nenad Medvidovic and Eric M Dashofy 2008 John Wiley Sons Inc Reprinted with permission 16 Software Architecture Foundations Theory and Practice Architectural Reliability Analysis Reliability is the probability that


View Full Document

USC CSCI 578 - 14_Analysis_Techniques

Download 14_Analysis_Techniques
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view 14_Analysis_Techniques and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view 14_Analysis_Techniques and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?