TY - BOOK AU - Clements,Paul TI - Evaluating Software Architectures SN - 9788131741771 U1 - 005.1 23rd KW - Electronic books N1 - Cover -- Contents -- List of Figures -- List of Tables -- Preface -- Acknowledgments -- Reader's Guide -- Chapter 1: What Is Software Architecture? -- 1.1 Architecture as a Vehicle for Communication among Stakeholders -- 1.1.1 Architecture and Its Effects on Stakeholders -- 1.1.2 Architectural Views -- 1.1.3 Architecture Description Languages -- 1.2 Architecture as the Manifestation of the Earliest Design Decisions -- 1.2.1 Architectural Styles -- 1.3 Architecture as a Reusable, Transferable Abstraction of a System -- 1.4 Summary -- 1.5 For Further Reading -- 1.6 Discussion Questions -- Chapter 2: Evaluating a Software Architecture -- 2.1 Why Evaluate an Architecture? -- 2.2 When Can an Architecture Be Evaluated? -- 2.3 Who's Involved? -- 2.4 What Result Does an Architecture Evaluation Produce? -- 2.5 For What Qualities Can We Evaluate an Architecture? -- 2.6 Why Are Quality Attributes Too Vague for Analysis? -- 2.7 What Are the Outputs of an Architecture Evaluation? -- 2.7.1 Outputs from the ATAM, the SAAM, and ARID -- 2.7.2 Outputs Only from the ATAM -- 2.8 What Are the Benefits and Costs of Performing an Architecture Evaluation? -- 2.9 For Further Reading -- 2.10 Discussion Questions -- Chapter 3 :The ATAM-A Method for Architecture Evaluation -- 3.1 Summary of the ATAM Steps -- 3.2 Detailed Description of the ATAM Steps -- 3.2.1 Step 1: Present the ATAM -- 3.2.2 Step 2: Present the Business Drivers -- 3.2.3 Step 3: Present the Architecture -- 3.2.4 Step 4: Identify the Architectural Approaches -- 3.2.5 Step 5: Generate the Quality Attribute Utility Tree -- 3.2.6 Step 6: Analyze the Architectural Approaches -- 3.2.7 Step 7: Brainstorm and Prioritize Scenarios -- 3.2.8 Step 8: Analyze the Architectural Approaches -- 3.2.9 Step 9: Present the Results -- 3.3 The Phases of the ATAM -- 3.3.1 Phase 0 Activities -- 3.3.2 Phase 1 Activities; 3.3.3 Phase 2 Activities -- 3.3.4 Phase 3 Activities -- 3.4 For Further Reading -- 3.5 Discussion Questions -- Chapter 4: The Battlefield Control System-The First Case Study in Applying the ATAM -- 4.1 Preparation -- 4.2 Phase 1 -- 4.2.1 Step 1: Present the ATAM -- 4.2.2 Step 2: Present the Business Drivers -- 4.2.3 Step 3: Present the Architecture -- 4.2.4 Step 4: Identify the Architectural Approaches -- 4.2.5 Step 5: Generate the Quality Attribute Utility Tree -- 4.2.6 Step 6: Analyze the Architectural Approaches -- 4.3 Phase 2 -- 4.3.1 Step 7: Brainstorm and Prioritize Scenarios -- 4.3.2 Step 8: Analyze the Architectural Approaches -- 4.3.3 Step 9: Present the Results -- 4.4 Results of the BCS Evaluation -- 4.4.1 Documentation -- 4.4.2 Requirements -- 4.4.3 Sensitivities and Tradeoffs -- 4.4.4 Architectural Risks -- 4.5 Summary -- 4.6 Discussion Questions -- Chapter 5: Understanding Quality Attributes -- 5.1 Quality Attribute Characterizations -- 5.1.1 Performance -- 5.1.2 Availability -- 5.1.3 Modifiability -- 5.1.4 Characterizations Inspire Questions -- 5.2 Using Quality Attribute Characterizations in the ATAM -- 5.3 Attribute-Based Architectural Styles -- 5.4 Summary -- 5.5 For Further Reading -- 5.6 Discussion Questions -- Chapter 6: A Case Study in Applying the ATAM -- 6.1 Background -- 6.2 Phase 0: Partnership and Preparation -- 6.2.1 Phase 0, Step 1: Present the ATAM -- 6.2.2 Phase 0, Step 2: Describe Candidate System -- 6.2.3 Phase 0, Step 3: Make a Go/No-Go Decision -- 6.2.4 Phase 0, Step 4: Negotiate the Statement of Work -- 6.2.5 Phase 0, Step 5: Form the Core Evaluation Team -- 6.2.6 Phase 0, Step 6: Hold Evaluation Team Kick-off Meeting -- 6.2.7 Phase 0, Step 7: Prepare for Phase 1 -- 6.2.8 Phase 0, Step 8: Review the Architecture -- 6.3 Phase 1: Initial Evaluation -- 6.3.1 Phase 1, Step 1: Present the ATAM; 6.3.2 Phase 1, Step 2: Present Business Drivers -- 6.3.3 Phase 1, Step 3: Present the Architecture -- 6.3.4 Phase 1, Step 4: Identify Architectural Approaches -- 6.3.5 Phase 1, Step 5: Generate Quality Attribute Utility Tree -- 6.3.6 Phase 1, Step 6: Analyze the Architectural Approaches -- 6.4 Hiatus between Phase 1 and Phase 2 -- 6.5 Phase 2: Complete Evaluation -- 6.5.1 Phase 2, Step 0: Prepare for Phase 2 -- 6.5.2 Phase 2, Steps 1-6 -- 6.5.3 Phase 2, Step 7: Brainstorm and Prioritize Scenarios -- 6.5.4 Phase 2, Step 8: Analyze Architectural Approaches -- 6.5.5 Phase 2, Step 9: Present Results -- 6.6 Phase 3: Follow-Up -- 6.6.1 Phase 3, Step 1: Produce the Final Report -- 6.6.2 Phase 3, Step 2: Hold the Postmortem Meeting -- 6.6.3 Phase 3, Step 3: Build Portfolio and Update Artifact Repositories -- 6.7 For Further Reading -- 6.8 Discussion Questions -- Chapter 7: Using the SAAM to Evaluate an Example Architecture -- 7.1 Overview of the SAAM -- 7.1.1 Inputs to a SAAM Evaluation -- 7.1.2 Outputs from a SAAM Evaluation -- 7.2 Steps of a SAAM Evaluation -- 7.2.1 Step 1: Develop Scenarios -- 7.2.2 Step 2: Describe the Architecture(s) -- 7.2.3 Step 3: Classify and Prioritize the Scenarios -- 7.2.4 Step 4: Individually Evaluate Indirect Scenarios -- 7.2.5 Step 5: Assess Scenario Interactions -- 7.2.6 Step 6: Create the Overall Evaluation -- 7.3 A Sample SAAM Agenda -- 7.4 A SAAM Case Study -- 7.4.1 ATAT System Overview -- 7.4.2 Step 1: Develop Scenarios, First Iteration -- 7.4.3 Step 2: Describe the Architecture(s), First Iteration -- 7.4.4 Step 1: Develop Scenarios, Second Iteration -- 7.4.5 Step 2: Describe the Architecture(s), Second Iteration -- 7.4.6 Step 3: Classify and Prioritize the Scenarios -- 7.4.7 Step 4: Individually Evaluate Indirect Scenarios -- 7.4.8 Step 5: Assess Scenario Interactions; 7.4.9 Step 6: Create the Overall Evaluation-Results and Recommendations -- 7.5 Summary -- 7.6 For Further Reading -- 7.7 Discussion Questions -- Chapter 8: ARID-An Evaluation Method for Partial Architectures -- 8.1 Active Design Reviews -- 8.2 ARID: An ADR/ATAM Hybrid -- 8.3 The Steps of ARID -- 8.3.1 Phase 1: Rehearsal -- 8.3.2 Phase 2: Review -- 8.4 A Case Study in Applying ARID -- 8.4.1 Carrying Out the Steps -- 8.4.2 Results of the Exercise -- 8.5 Summary -- 8.6 For Further Reading -- 8.7 Discussion Questions -- Chapter 9: Comparing Software Architecture Evaluation Methods -- 9.1 Questioning Techniques -- 9.1.1 Questionnaires and Checklists -- 9.1.2 Scenarios and Scenario-Based Methods -- 9.2 Measuring Techniques -- 9.2.1 Metrics -- 9.2.2 Simulations, Prototypes, and Experiments -- 9.2.3 Rate-Monotonic Analysis -- 9.2.4 Automated Tools and Architecture Description Languages -- 9.3 Hybrid Techniques -- 9.3.1 Software Performance Engineering -- 9.3.2 The ATAM -- 9.4 Summary -- 9.5 For Further Reading -- 9.6 Discussion Questions -- Chapter 10: Growing an Architecture Evaluation Capability in Your Organization -- 10.1 Building Organizational Buy-in -- 10.2 Growing a Pool of Evaluators -- 10.3 Establishing a Corporate Memory -- 10.3.1 Cost and Benefit Data -- 10.3.2 Method Guidance -- 10.3.3 Reusable Artifacts -- 10.4 Summary -- 10.5 Discussion Questions -- Chapter 11: Conclusions -- 11.1 You Are Now Ready! -- 11.2 What Methods Have You Seen? -- 11.3 Why Evaluate Architectures? -- 11.4 Why Does the ATAM Work? -- 11.5 A Parting Message -- Appendix A: An Example Attribute-Based Architectural Style -- A.1 Problem Description -- A.2 Stimulus/Response -- A.3 Architectural Style -- A.4 Analysis -- A.4.1 Reasoning -- A.4.2 Priority Assignment -- A.4.3 Priority Inversion -- A.4.4 Blocking Time -- A.5 For Further Reading -- References -- Index -- A -- B -- C; D -- E -- F -- G -- H -- I -- J -- K -- L -- M -- N -- O -- P -- Q -- R -- S -- T -- U -- V -- W -- Z UR - https://ebookcentral.proquest.com/lib/cethalassery/detail.action?docID=5125521 ER -