Analysis TechniquesArchitectural Analysis in a NutshellAnalysis Technique CategoriesArchitectural Inspections and ReviewsInspections and Reviews in a NutshellExample – ATAMATAM ProcessATAM Business DriversATAM ScenariosATAM ArchitectureATAM 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 TechniquesSoftware ArchitectureLecture 142Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureArchitectural 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.3Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureAnalysis Technique CategoriesInspection- and review-basedModel-basedSimulation-based4Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureArchitectural 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 properties5Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureInspections 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 vendors6Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureExample – 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-off7Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureATAM ProcessSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.8Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureATAM Business DriversThe system’s critical functionalityAny technical, managerial, economic, or political constraintsThe project’s business goals and contextThe major stakeholdersThe principal quality attribute (NFP) goals9Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureATAM 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 stakeholders10Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureATAM 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 styles11Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureATAM 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-off pointsBased on answers, further analysis may be performed12Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureATAM 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.13Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureModel-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 used in tandem to provide more complete answers14Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureModel-Based Analysis in a NutshellAnalysis Goals – consistency, compatibility, internal correctnessAnalysis Scope – any Analysis Concern – structural, behavioral, interaction, and possibly non-functional propertiesArchitectural Models – semi-formal and formalAnalysis Types – staticAutomation Level – partially and fully automatedStakeholders – mostly
View Full Document