Analysis TechniquesArchitectural Analysis in a NutshellAnalysis Technique CategoriesArchitectural Inspections and ReviewsInspections and Reviews in a NutshellExample – ATAMATAM ProcessATAM Business DriversATAM ScenariosSlide 10ATAM ArchitectureSlide 12ATAM AnalysisATAM in a NutshellModel-Based Architectural AnalysisModel-Based Analysis in a NutshellModel-Based Analysis in ADLsADLs’ Analysis Foci in a NutshellArchitectural Reliability AnalysisReliability MetricsAssessing Reliability at Architectural LevelArchitectural Reliability Analysis in a NutshellSimulation-Based AnalysisArchitectural and Simulation ModelsSimulation-Based Analysis in a NutshellExample – XTEAMExample XTEAM ModelExample XTEAM AnalysisXTEAM in a NutshellClosing RemarksCopyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.Analysis TechniquesFoundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture2Architectural Analysis in a NutshellSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture3Analysis Technique CategoriesInspection- and review-basedModel-basedSimulation-basedFoundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture4Architectural Inspections and ReviewsArchitectural models studied by human stakeholders for specific propertiesThe stakeholders define analysis objectiveManual techniquesCan be expensiveUseful in the case of informal architectural descriptionsUseful in establishing “soft” system propertiesE.g., scalability or adaptabilityAble to consider multiple stakeholders’ objectives and multiple architectural propertiesFoundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture5Inspections and Reviews in a NutshellAnalysis Goals – anyAnalysis Scope – any Analysis Concern – any, but particularly suited for non-functional propertiesArchitectural Models – any, but must be geared to stakeholder needs and analysis objectivesAnalysis Types – mostly static and scenario-basedAutomation Level – manual, human intensiveStakeholders – any, except perhaps component vendorsFoundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture6Example – ATAM Stands for architectural trade-off analysis methodHuman-centric process for identifying risks early on in software designFocuses specifically on four quality attributes (NFPs)ModifiabilitySecurityPerformanceReliabilityReveals how well an architecture satisfies quality goals and how those goals trade-ofFoundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture7ATAM ProcessSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture8ATAM Business DriversThe system’s critical functionalityAny technical, managerial, economic, or political constraintsThe project’s business goals and contextThe major stakeholdersThe principal quality attribute (NFP) goalsFoundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture9ATAM ScenariosUse-case scenariosDescribe how the system is envisioned by the stakeholders to be usedGrowth scenariosDescribe planned and envisioned modifications to the architectureExploratory scenariosTry to establish the limits of architecture’s adaptability with respect tosystem’s functionalityoperational profilesunderlying execution platformsScenarios are prioritized based on importance to stakeholdersFoundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture10ATAM ProcessSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture11ATAM ArchitectureTechnical constraintsRequired hardware platforms, OS, middleware, programming languages, and OTS functionalityAny other systems with which the system must interactArchitectural approaches that have been used to meet the quality requirementsSets of architectural design decisions employed to solve a problemTypically architectural patterns and stylesFoundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture12ATAM ProcessSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture13ATAM AnalysisKey step in ATAMObjective is to establish relationship between architectural approaches and quality attributesFor each architectural approach a set of analysis questions are formulatedTargeted at the approach and quality attributes in questionSystem architects and ATAM evaluation team work together to answer these questions and identifyRisks these are distilled into risk themesNon-RisksSensitivity pointsTrade-of pointsBased on answers, further analysis may be performedFoundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture14ATAM in a NutshellGoalsCompletenessConsistencyCompatibilityCorrectness`ScopeSubsystem- and system-levelData exchangeConcern Non-functionalModelsInformalSemi-formalType Scenario-drivenAutomation Level ManualStakeholdersArchitectsDevelopersManagersCustomersSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture15Model-Based Architectural AnalysisAnalysis techniques that manipulate architectural description to discover architectural propertiesTool-driven, hence potentially less costlyTypically useful for establishing “hard” architectural properties onlyUnable to capture design intent and rationaleUsually focus on a single architectural aspectE.g., syntactic correctness, deadlock freedom, adherence to a styleScalability may be an issueTechniques typically
View Full Document