0% found this document useful (0 votes)
199 views28 pages

Week 7 8 - The Architecture Tradeoff Analysis Method (ATAM)

The document describes the Architecture Tradeoff Analysis Method (ATAM) for evaluating software architectures. It discusses why ATAM is used, the phases of ATAM including generating a utility tree of quality attributes and analyzing scenarios, and implications such as improving architecture documentation and stakeholder communication. ATAM involves stakeholders evaluating an architecture by identifying quality goals, architectural approaches, and tradeoffs between different quality attributes.

Uploaded by

hdsasdad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
199 views28 pages

Week 7 8 - The Architecture Tradeoff Analysis Method (ATAM)

The document describes the Architecture Tradeoff Analysis Method (ATAM) for evaluating software architectures. It discusses why ATAM is used, the phases of ATAM including generating a utility tree of quality attributes and analyzing scenarios, and implications such as improving architecture documentation and stakeholder communication. ATAM involves stakeholders evaluating an architecture by identifying quality goals, architectural approaches, and tradeoffs between different quality attributes.

Uploaded by

hdsasdad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 28

Software Architecture And Testing

CT059-3-2

The Architecture Tradeoff Analysis


Method (ATAM) - A method for
architecture evaluation
Topic & Structure of the lesson

• Why use Architecture Tradeoff Analysis?


• The phases of the ATAM
• Implications of the ATAM

CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 2 Out of 28
Learning Outcomes

• By the end of this lecture, YOU should be


able to :
o Why ATAM is suitable for architecture
evaluation?
o Explain the phases of ATAM
o What is the implications of ATAM?

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

• If you have mastered this topic, you should


be able to use the following terms correctly
in your assignments and exams:
– ATAM
– Utility tree
– Use Case Scenario
– Sensitivity Point
– Tradeoff

CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 4 Out of 28
What is ATAM?

• Architecture Tradeoff Analysis Methods


• Reveals how well an architecture satisfies
particular quality goal
• Provides insight into how those quality
goals interact each other
• Is a structured method for evaluation

CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 5 Out of 28
Why use ATAM?

• For ensuring the right questions is asked


as early as possible – requirement and
design stage
• It guide the stakeholders to look for conflict
• Find a resolution for those conflicts
• Use for analyse legacy systems – Reverse
Engineering.

CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 6 Out of 28
ATAM Qualification

• Result depends on the quality of the


architecture
• Specification of the architecture
– garbage in, garbage out
• Not an attempt to predict quality attributes
• Quality properties that are not easily
expressed
• Quantitatively, such as usability,
interoperability
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 7 Out of 28
ATAM Side-effect

• Improve the architecture documentation.


– Elicit/make precise a statement of the
architecture’s driving quality attribute
requirements
• Process benefit:
– Foster stakeholder communication &
consensus

CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 8 Out of 28
ATAM Preconditions

The ATAM relies critically on:


• Appropriate preparation by the customer
• Clearly-articulated quality attribute
requirements
• Active stakeholder participation
• Active participation by the architect
• Evaluator familiarity with architectural
• Styles and analytic models
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 9 Out of 28
ATAM STEPS

1. Explain the ATAM


2. Present business drivers Presentation

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

Evaluation Team presents an overview of ATAM


• ATAM steps in brief
• Techniques
– Utility tree generation
– Architecture elicitation and analysis
– Scenario brainstorming
• Outputs
– Architectural approaches
– Utility tree
– Scenarios
– Risks and “non-risks”
– Sensitivity points and tradeoffs
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 11 Out of 28
2. Present business drivers

• ATAM customer representative describes the system’s


business drivers including:
– Business context for the system
• Time to market
• Most important functional requirements
• Most important quality attribute requirements
– Architectural drivers:
• Quality attributes that “shape” the architecture
– Critical requirements:
• Quality attributes most central to the system’s success
– High availability, high security,

CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 12 Out of 28
3. Present architecture

• Architect presents an architecture overview


include:
– Technical context of the system
• systems with which the system must interact
• Technical constraints such as an OS, hardware, or
middleware prescribed for use
– Architectural approaches/styles used to
address quality attribute requirements
– Evaluation team begins probing for and
capturing risks
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 13 Out of 28
4. Identify architectural
approaches
• Start to identify parts of the architecture that
are key for realizing quality attribute goals
• Identify any predominant architectural styles,
tactics, guidelines & principles
– Examples:
• 3-tier Client-server
• Watchdog, Redundant hardware

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

H – High, M – Medium, L – Low


CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 16 Out of 28
Scenario

• Scenarios are used to:


– Represent stakeholders’ interests
– Understand quality attribute requirements
• Scenarios should cover a range of:
– Use case scenarios
• anticipated uses
– Evolution scenarios
• anticipated changes; e.g. growth
– Exploratory scenarios
• unanticipated stresses to the system

CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 17 Out of 28
SAMPLE SCENARIO

• Use case scenario


A remote user requests a database report via the Web during peak
period and receives it within 5 seconds
• Evolution 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

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

• Recapitulate steps of the ATAM


• Present ATAM outputs
– Architectural approaches
– Utility tree
– Scenarios
– Risks and “non-risks”
– Sensitivity points and tradeoffs

CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 23 Out of 28
Implications of the ATAM

• ATAM ‘buys’ time to think about an architecture while


development processes are often under time-pressure
• Identification of risks early in the life-cycle
• Focuses on features that are essential for the
stakeholders and not on technical details
• Improved architecture documentation
• Forces stakeholders to:
– think about qualitative requirements
– prioritize qualitative requirements
• Documented basis for architectural decisions
The results are improved architectures
CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 24 Out of 28
Reference
Clements, Kazman & Klein – Evaluating Software Architectures –– Addison-Wesley.

CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 25 Out of 28
Summary of Main Teaching Points

• Why use Architecture Tradeoff Analysis?


• The phases of the ATAM
• Implications of the ATAM

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

• Quality attributes characterizations


• Using Quality attributes
characterizations in the ATAM
• Attributes-based architectural styles

CT059-3-2 Software Architecture And Testing The Architecture Tradeoff Analysis Method (ATAM) Slide 28 Out of 28

You might also like