Week 7 8 - The Architecture Tradeoff Analysis Method (ATAM)
Week 7 8 - The Architecture Tradeoff Analysis Method (ATAM)
CT059-3-2
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 2 Out of 28
Learning Outcomes
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 3 Out of 28
Key Terms you must be able to use
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 4 Out of 28
What is ATAM?
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 5 Out of 28
Why use ATAM?
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 6 Out of 28
ATAM Qualification
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 8 Out of 28
ATAM Preconditions
3. Present architecture
4. Identify architectural approaches
Investigation
5. Generate quality attribute utility tree &
Analysis
6. Analyze architectural approaches
7. Brainstorm and prioritize scenarios
Testing
8. Analyze architectural approaches
9. Present results Reporting
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 10 Out of 28
1. Explain the ATAM
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 12 Out of 28
3. Present architecture
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 14 Out of 28
5. Generate quality attribute utility
tree
• Identify, prioritize, and refine the most important
quality attribute goals by building a utility tree
– A utility tree is a top-down vehicle for characterizing the “driving”
attribute-specific requirements
– Select the most important quality goals to be the high-level
nodes (e.g. performance, modifiability, security, availability)
– Scenarios are the leaves of the utility tree
• Output: A characterization and a prioritization of
specific quality attribute requirements
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 15 Out of 28
SAMPLE UTILITY TREE
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 17 Out of 28
SAMPLE SCENARIO
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 18 Out of 28
STIMULI-ENVIRONMENT-
RESPONSES
• ‘Formula’ for scenario’s
– Use case scenario
• Remote user requests a database report via the Web during
peak period and receives it within 5 seconds
– Growth scenario
• Add a new data server during peak hours within a downtime
of at most 8 hours.
– Exploratory scenario
• Half of the servers go down during normal operation without
affecting overall system availability
• A good scenario makes clear what the stimulus is andwhat the
measurable response of interest is
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 19 Out of 28
6. ANALYZE ARCHITECTURAL
APPROACHES
• The evaluation Team probes architectural approaches
with related to specific quality attributes to identify risks
– Identify the approaches that pertain to the highest
priority quality attribute requirements
– Generate quality-attribute specific questions for
highest priority quality attribute requirement
– Ask quality-attribute specific questions
– Identify and record risks and non-risks, sensitivity
points and tradeoffs
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 20 Out of 28
7. BRAINSTORM AND
PRIORITIZE SCENARIOS
• Stakeholders generate scenarios using a facilitated
brainstorming process
– Examples are used to facilitate the step
– The new scenarios are added to the leaves of the utility tree
• Essentially a process step:
– include a larger group of stakeholders
– extend consensus (esp. on priorities)
– extend confidence in completeness of scenario’s
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 21 Out of 28
8. ANALYZE ARCHITECTURAL
APPROACHES
• Identify the architectural approaches impacted by the
scenarios generated in the previous step
• This step continues the analysis started in step 6 using
the new scenarios
• Continue identifying risks and non-risks
• Continue annotating architectural information
• Essentially a process step:
– include a larger group of stakeholders
– extend consensus
– extend confidence in completeness of scenario’s
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 22 Out of 28
9. PRESENT RESULTS
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 23 Out of 28
Implications of the ATAM
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 25 Out of 28
Summary of Main Teaching Points
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 26 Out of 28
Question and Answer Session
Q&A
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 27 Out of 28
Next Session
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 28 Out of 28