Architecture Tradeoff Analysis Method
Architecture Tradeoff Analysis Method
Architecture Tradeoff Analysis Method
Architecture Tradeoff
Analysis Method
Arnon Rotem-Gal-Oz
Agenda
Software architecture
ATAM overview
ATAM steps
What’s Architecture
“the fundamental organization of a system,
embodied in its components, their
relationships to each other and the
environment, and the principles governing
its design and evolution”. (IEEE 1471)
Software Architecture
Architecture is important
– it should be analyzed
Architecture can be prescribed
– decisions should be analyzed
Architecture is central for communicating
– it should be documented
Architecture is expensive to change
– it is cheaper to analyze early
Architecture affects the entire project
– many stakeholders should be involved
Requirements can be understood early
– architecture should be designed to meet them
ATAM - Vocabulary
Scenario – A scenario is a short statement describing an
interaction of one of the stakeholders with the system
Stakeholder – An individual, team, or organization (or
classes thereof) with interests in, or concerns relative to,
a system
Architectural view – A representation of a whole system
from the perspective of a related set of concerns
Functional requirements - specify what software has to
do.
Non-functional requirements specify how well it should
be done.
What’s ATAM
Purpose: To assess the consequences of
architectural decisions in light of quality
attribute* requirements.
Primarily a risk identification mechanism
Not a predictor of quality achievement
Benefit
– Financial – saves money
– Forces preparation / documentation / understanding
– Captures rationale
– Catch architectural errors before built
– Make sure architecture meets scenarios
– More general, flexible architecture
– Reduces risk
ATAM Steps
Phase 1 – evaluators and decision makers
– Present
ATAM
Business drivers
Architecture
– Identify architectural approaches
– Generate quality attribute utility tree
– Analyze architectural approaches
Phase 3
– Analyze cost / benefit of ATAM
Step 1: Present ATAM
Evaluation Team presents an overview of the
ATAM
Growth scenario
– Add a new data server to reduce latency in scenario 1 to 2.5
seconds within 1 person-week.
Exploratory scenario
– Half of the servers go down during normal operation without
affecting overall system availability.
Scenarios
Vs.
Architecture
Step 6: Analysis /cont.
Evaluation Team probes architectural approaches
from the point of view of specific quality attributes to
identify risks.
Examples
– Performance
How are priorities assigned to processes?
What are the message arrival rates?
What are transaction processing times?
– Modifiability
Are there any places where layers/facades are circumvented ?
What components rely on detailed knowledge of message formats?
What components are connected asynchronously?
Step 6: Sensitivity & Tradeoffs
Sensitivity – A property of a component that is critical to
success of system.
– The number of simultaneous database clients will affect the number of
transaction a database can process per second. This assignment is a
sensitivity point for the performance
– Keeping a backup database affects reliability
– Power of encryption (Security) sensitive to number of bits of the
key
Tradeoff point- A property that affects more than one
attribute or sensitivity point.
– In order to achieve the required level of performance in the discrete
event generation component, assembly language had to be used
thereby reducing the portability of this component.
– Keeping the backup database affects performance also so it’s a trade-
off between reliability and performance
Steps 6: Risks & Non-Risks
Risk
– The decision to keep backup is a risk if the performance cost is
excessive
– Rules for writing business logic modules in the second tier of
your 3-tier style are not clearly articulated. This could result in
replication of functionality thereby compromising modifiability of
the third tier.
Non Risk
– The decision to keep backup is a non-risk if the performance
cost is not excessive
– Assuming message arrival rates of once per second, a
processing time of less than 30 ms, and the existence of one
higher priority process, a 1 second soft deadline seems
reasonable Performance.
Step 7: Brainstorm & Prioritize
Scenarios
Stakeholders generate scenarios using a
facilitated brainstorming process.