Evaluating Software Architectures: Methods and Case Studies (Hardcover)
暫譯: 評估軟體架構:方法與案例研究 (精裝版)

Paul Clements, Rick Kazman, Mark Klein

  • 出版商: Addison Wesley
  • 出版日期: 2001-10-22
  • 售價: $2,475
  • 貴賓價: 9.5$2,351
  • 語言: 英文
  • 頁數: 368
  • 裝訂: Hardcover
  • ISBN: 020170482X
  • ISBN-13: 9780201704822
  • 相關分類: 軟體架構
  • 立即出貨 (庫存=1)

買這商品的人也買了...

相關主題

商品描述

Table of Contents

List of Figures.
List of Tables.
Preface.
Acknowledgments.
Reader's Guide.
1. What Is Software Architecture?

Architecture as a Vehicle for Communication among Stakeholders.
Architecture and Its Effects on Stakeholders.
Architectural Views.
Architecture Description Languages.

Architecture as the Manifestation of the Earliest Design Decisions.
Architectural Styles.

Architecture as a Reusable, Transferable Abstraction of a System.
Summary.
For Further Reading.
Discussion Questions.


2. Evaluating a Software Architecture.

Why Evaluate an Architecture?
When Can an Architecture Be Evaluated?
Who's Involved?
What Result Does an Architecture Evaluation Produce?
For What Qualities Can We Evaluate an Architecture?
Why Are Quality Attributes Too Vague for Analysis?
What Are the Outputs of an Architecture Evaluation?
Outputs from the ATAM, the SAAM, and ARID.
Outputs Only from the ATAM.

What Are the Benefits and Costs of Performing an Architecture Evaluation?
For Further Reading.
Discussion Questions.


3. The ATAM—A Method for Architecture Evaluation.

Summary of the ATAM Steps.
Detailed Description of the ATAM Steps.
Step 1: Present the ATAM.
Step 2: Present the Business Drivers.
Step 3: Present the Architecture.
Step 4: Identify the Architectural Approaches.
Step 5: Generate the Quality Attribute Utility Tree.
Step 6: Analyze the Architectural Approaches.
Step 7: Brainstorm and Prioritize Scenarios.
Step 8: Analyze the Architectural Approaches.
Step 9: Present the Results.

The Phases of the ATAM.
Phase 0 Activities.
Phase 1 Activities.
Phase 2 Activities.
Phase 3 Activities.

For Further Reading.
Discussion Questions.


4. The Battlefield Control System—The First Case Study in Applying the ATAM.

Preparation.
Phase 1.
Step 1: Present the ATAM.
Step 2: Present the Business Drivers.
Step 3: Present the Architecture.
Step 4: Identify the Architectural Approaches.
Step 5: Generate the Quality Attribute Utility Tree.
Step 6: Analyze the Architectural Approaches.

Phase 2.
Step 7: Brainstorm and Prioritize Scenarios.
Step 8: Analyze the Architectural Approaches.
Step 9: Present the Results.

Results of the BCS Evaluation.
Documentation.
Requirements.
Sensitivities and Tradeoffs.
Architectural Risks.

Summary.
Discussion Questions.


5. Understanding Quality Attributes.

Quality Attribute Characterizations.
Performance.
Availability.
Modifiability.
Characterizations Inspire Questions.

Using Quality Attribute Characterizations in the ATAM.
Attribute-Based Architectural Styles.
Summary.
For Further Reading.
Discussion Questions.


6. A Case Study in Applying the ATAM.

Background.
Phase 0: Partnership and Preparation.
Phase 0, Step 1: Present the ATAM.
Phase 0, Step 2: Describe Candidate System.
Phase 0, Step 3: Make a Go/No-Go Decision.
Phase 0, Step 4: Negotiate the Statement of Work.
Phase 0, Step 5: Form the Core Evaluation Team.
Phase 0, Step 6: Hold Evaluation Team Kick-off Meeting.
Phase 0, Step 7: Prepare for Phase 1.
Phase 0, Step 8: Review the Architecture.

Phase 1: Initial Evaluation.
Phase 1, Step 1: Present the ATAM.
Phase 1, Step 2: Present Business Drivers.
Phase 1, Step 3: Present the Architecture.
Phase 1, Step 4: Identify Architectural Approaches.
Phase 1, Step 5: Generate Quality Attribute Utility Tree.
Phase 1, Step 6: Analyze the Architectural Approaches.
Hiatus between Phase 1 and Phase 2.

Phase 2: Complete Evaluation.
Phase 2, Step 0: Prepare for Phase 2.
Phase 2, Steps 1-6.
Phase 2, Step 7: Brainstorm and Prioritize Scenarios.
Phase 2, Step 8: Analyze Architectural Approaches.
Phase 2, Step 9: Present Results.

Phase 3: Follow-Up.
Phase 3, Step 1: Produce the Final Report.
Phase 3, Step 2: Hold the Postmortem Meeting.
Phase 3, Step 3: Build Portfolio and Update Artifact Repositories.

For Further Reading.
Discussion Questions.


7. Using the SAAM to Evaluate an Example Architecture.

Overview of the SAAM.
Inputs to a SAAM Evaluation.
Outputs from a SAAM Evaluation.

Steps of a SAAM Evaluation.
Step 1: Develop Scenarios.
Step 2: Describe the Architecture(s).
Step 3: Classify and Prioritize the Scenarios.
Step 4: Individually Evaluate Indirect Scenarios.
Step 5: Assess Scenario Interactions.
Step 6: Create the Overall Evaluation.

A Sample SAAM Agenda.
A SAAM Case Study.
ATAT System Overview.
Step 1: Develop Scenarios, First Iteration.
Step 2: Describe the Architecture(s), First Iteration.
Step 1: Develop Scenarios, Second Iteration.
Step 2: Describe the Architecture(s), Second Iteration.
Step 3: Classify and Prioritize the Scenarios.
Step 4: Individually Evaluate Indirect Scenarios.
Step 5: Assess Scenario Interactions.
Step 6: Create the Overall Evaluation—Results and Recommendations.

Summary.
For Further Reading.
Discussion Questions.


8. ARID—An Evaluation Method for Partial Architectures.

Active Design Reviews.
ARID: An ADR/ATAM Hybrid.
The Steps of ARID.
Phase 1: Rehearsal.
Phase 2: Review.

A Case Study in Applying ARID.
Carrying Out the Steps.
Results of the Exercise.

Summary.
For Further Reading.
Discussion Questions.


9. Comparing Software Architecture Evaluation Methods.

Questioning Techniques.
Questionnaires and Checklists.
Scenarios and Scenario-Based Methods.

Measuring Techniques.
Metrics.
Simulations, Prototypes, and Experiments.
Rate-Monotonic Analysis.
Automated Tools and Architecture Description Languages.

Hybrid Techniques.
Software Performance Engineering.
The ATAM.

Summary.
For Further Reading.
Discussion Questions.


10. Growing an Architecture Evaluation Capability in Your Organization.

Building Organizational Buy-in.
Growing a Pool of Evaluators.
Establishing a Corporate Memory.
Cost and Benefit Data.
Method Guidance.
Reusable Artifacts.

Summary.
Discussion Questions.


11. Conclusions.

You Are Now Ready!
What Methods Have You Seen?
Why Evaluate Architectures?
Why Does the ATAM Work?
A Parting Message.


Appendix A: An Example Attribute-Based Architectural Style.

Problem Description.
Stimulus/Response.
Architectural Style.
Analysis.
Reasoning.
Priority Assignment.
Priority Inversion.
Blocking Time.

For Further Reading.


References.

商品描述(中文翻譯)

目錄
圖表清單。
表格清單。
前言。
致謝。
讀者指南。
1. 什麼是軟體架構?
架構作為利益相關者之間的溝通工具。
架構及其對利益相關者的影響。
架構視圖。
架構描述語言。
架構作為最早設計決策的具現化。
架構風格。
架構作為系統的可重用、可轉移的抽象。
摘要。
進一步閱讀。
討論問題。

2. 評估軟體架構。
為什麼要評估架構?
何時可以評估架構?
誰參與其中?
架構評估產生什麼結果?
我們可以評估架構的哪些特性?
為什麼品質屬性對分析來說過於模糊?
架構評估的輸出是什麼?
來自 ATAM、SAAM 和 ARID 的輸出。
僅來自 ATAM 的輸出。
進行架構評估的好處和成本是什麼?
進一步閱讀。
討論問題。

3. ATAM—架構評估的方法。
ATAM 步驟摘要。
ATAM 步驟的詳細描述。
步驟 1:介紹 ATAM。
步驟 2:介紹商業驅動因素。
步驟 3:介紹架構。
步驟 4:識別架構方法。
步驟 5:生成品質屬性效用樹。
步驟 6:分析架構方法。
步驟 7:腦力激盪並優先排序情境。
步驟 8:分析架構方法。
步驟 9:呈現結果。
ATAM 的階段。
階段 0 活動。
階段 1 活動。
階段 2 活動。
階段 3 活動。
進一步閱讀。
討論問題。

4. 戰場控制系統—應用 ATAM 的第一個案例研究。
準備。
階段 1。
步驟 1:介紹 ATAM。
步驟 2:介紹商業驅動因素。
步驟 3:介紹架構。
步驟 4:識別架構方法。
步驟 5:生成品質屬性效用樹。
步驟 6:分析架構方法。
階段 2。
步驟 7:腦力激盪並優先排序情境。
步驟 8:分析架構方法。
步驟 9:呈現結果。
BCS 評估的結果。
文檔。
需求。
敏感性和權衡。
架構風險。
摘要。
討論問題。

5. 理解品質屬性。
品質屬性特徵。
性能。
可用性。
可修改性。
特徵激發問題。
在 ATAM 中使用品質屬性特徵。
基於屬性的架構風格。
摘要。
進一步閱讀。
討論問題。

6. 應用 ATAM 的案例研究。
背景。
階段 0:夥伴關係和準備。
階段 0,步驟 1:介紹 ATAM。
階段 0,步驟 2:描述候選系統。
階段 0,步驟 3:做出 Go/No-Go 決策。
階段 0,步驟 4:協商工作聲明。
階段 0,步驟 5:組成核心評估團隊。
階段 0,步驟 6:舉行評估團隊啟動會議。
階段 0,步驟 7:為階段 1 做準備。
階段 0,步驟 8:審查架構。
階段 1:初步評估。
階段 1,步驟 1:介紹 ATAM。
階段 1,步驟 2:介紹商業驅動因素。
階段 1,步驟 3:介紹架構。
階段 1,步驟 4:識別架構方法。
階段 1,步驟 5:生成品質屬性效用樹。
階段 1,步驟 6:分析架構方法。
階段 1 和階段 2 之間的間歇。
階段 2:完整評估。
階段 2,步驟 0:為階段 2 做準備。
階段 2,步驟 1-6。
階段 2,步驟 7:腦力激盪並優先排序情境。
階段 2,步驟 8:分析架構方法。
階段 2,步驟 9:呈現結果。
階段 3:後續。
階段 3,步驟 1:產出最終報告。
階段 3,步驟 2:舉行事後會議。
階段 3,步驟 3:建立作品集並更新文檔庫。
進一步閱讀。
討論問題。

7. 使用 SAAM 評估範例架構。
SAAM 概述。
SAAM 評估的輸入。
SAAM 評估的輸出。
SAAM 評估的步驟。
步驟 1:開發情境。
步驟 2:描述架構。
步驟 3:分類並優先排序情境。
步驟 4:單獨評估間接情境。
步驟 5:評估情境互動。
步驟 6:創建整體評估。
SAAM 議程範例。
SAAM 案例研究。
ATAT 系統概述。
步驟 1:開發情境,第一次迭代。
步驟 2:描述架構,第一次迭代。
步驟 1:開發情境,第二次迭代。
步驟 2:描述架構,第二次迭代。
步驟 3:分類並優先排序情境。
步驟 4:單獨評估間接情境。
步驟 5:評估情境互動。
步驟 6:創建整體評估—結果和建議。
摘要。
進一步閱讀。
討論問題。

8. ARID—部分架構的評估方法。
主動設計審查。
ARID:ADR/ATAM 混合。
ARID 的步驟。
階段 1:排練。
階段 2:審查。
應用 ARID 的案例研究。
執行步驟。
練習的結果。
摘要。
進一步閱讀。
討論問題。

9. 比較軟體架構評估方法。
質疑技術。
問卷和檢查表。
情境和基於情境的方法。
測量技術。
指標。
模擬、原型和實驗。
速率單調分析。
自動化工具和架構描述語言。
混合技術。
軟體性能工程。
ATAM。
摘要。
進一步閱讀。
討論問題。

10. 在您的組織中建立架構評估能力。
建立組織的支持。
培養評估者的池。
建立企業記憶。
成本和效益數據。
方法指導。
可重用的文檔。
摘要。
討論問題。

11. 結論。
您現在準備好了!
您見過哪些方法?
為什麼要評估架構?
為什麼 ATAM 有效?
告別的訊息。

附錄 A:一個基於屬性的架構風格範例。
問題描述。
刺激/反應。
架構風格。
分析。
推理。
優先級分配。
優先級反轉。
阻塞時間。
進一步閱讀。

參考文獻。