Home   FAQs   New Arrivals   Specials   Pricing & Shipping   Location   Corporate Services   Why Choose Bookware?  
 Search:   
Call our store: 9955 5567 (from within Sydney) or 1800 734 567 (from outside Sydney)
 View Cart   Check Out   
 
Browse by Subject
 TAFE Accounting
 TAFE I.T./Computing
 TAFE - Other
I.T
 .NET
 Windows 8
 Adobe CS6
 Cisco
 CCNA 2012
 CCNP 2012
 Java
 VB
 ASP
 Web Design
 E-Commerce
 Project Management
 ITIL
 Macintosh
 Mobile Devices
 Linux
 Windows Server 2012
 SQL Server 2012
 SAP
Certification
 MCITP
 MCTS
Economics and Business
 Accounting
 Business Information Systems
 Economics
 Finance
 Management
 Marketing
 TAX
 Human Resources
Academic
 Law
 Nursing
 Medical
 Psychology
 Engineering

Evaluating Software Architectures: Methods and Case Studies (The SEI Series in Software Engineering)

by: Paul Clements, Rick Kazman and Mark Klein

Notify me when in stock

On-line Price: $67.95 (includes GST)

Hardcover package 368

20%Off Retail Price

You save: $17.00

OUT OF PRINT. But we may be able to find a copy for you! Please contact Bookware customer service for availability.

Retail Price: $84.95

Publisher: ,12.10.2002

Category: SOFTWARE ENGINEERING Level: I/A

ISBN: 020170482X
ISBN13: 9780201704822

Add to Shopping Cart

'This book provides a practical guide to architecture evaluation using three contemporary evaluation methods. It should prove valuable to practitioners and as a basis for the evolution of architectural evaluation as an engineering practice.' --Rich Hilliard, Chief Technical Officer, ConsentCache, Inc.


  'Successful product development and evolution depends on making right architectural choices. Can you afford not to identify and not to evaluate these choices?' --Alexander Ran, Principal Scientist of Software Architecture, Nokia


  'Software engineers must own this book.' --Joe Maranzano, Former Head of the AT&T Bell Labs Software Technology Center


  Drawing on clearly identified connections between architecture design decisions and resulting software properties, this book describes systematic methods for evaluating software architectures and applies them to real-life cases. It shows you how such evaluation can substantially reduce risk while adding remarkably little expense and time to the development effort (in most cases, no more than a few days). Evaluating Software Architectures introduces the conceptual background for architecture evaluation and provides a step-by-step guide to the process based on numerous evaluations performed in government and industry.


  In particular, the book presents three important evaluation methods:


  Architecture Tradeoff Analysis Method (ATAM)

Software Architecture Analysis Method (SAAM)

Active Reviews for Intermediate Designs (ARID)

Detailed case studies demonstrate the value and practical application of these methods to real-world systems, and sidebars throughout the book provide interesting background and hands-on tips from the trenches.


  All software engineers should know how to carry out software architecture evaluations. Evaluating Software Architectures is the chance to get up to speed quickly by learning from the experience of others.


  

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.

Index