Title: The%20ATAM%20
1The ATAM A Method for Architecture Evaluation
- RiSEs Seminars
- Clementss book Chapters 3
- Frederico DurĂ£o
2Summary
- Steps of ATAM
- Step 1- 9
- The Phases of ATAM
- Phases 0 - 3
3ATAM Steps Chapter 3
Summary of ATAM Steps
- Presentation
- Present the ATAM
- Present the business drivers
- Present the architecture
- Investigation and Analysis
- Identify the architecture approaches
- Generate the quality attributes utility tree
- Analyze the architectural approaches
- Testing
- Brainstorming and prioritize scenarios
- Analyze the architectural approaches
- Reporting
- Present the results
4ATAM Steps Chapter 3
- Step 1 Present the ATAM
- The evaluation leader presents the ATAMs steps
to the stakeholders, besides techniques and the
outputs of the evaluation
5ATAM Steps Chapter 3
- Step 2 Present the Business Drivers
- A project decision maker presents a overview from
a business perspective - Business Context/Drivers Presentation (12 slides
/ 45 minutes) - Description of the business environment,
history(3-4 slides) - Description of the business constraints (1-3
slides) - Description of the technical constraints (1-3
slides) - Quality attributes requirements and from what
business needs these are derived (2-3 slides) - Glossary(1 slide)
6ATAM Steps Chapter 3
- Step 3 Present the Architecture
- A lead architect or a architecture team presents
the architecture in the appropriated level of
detail - In this presentation the architect should cover
- Technical constraints such as operating system,
hardware, or middleware prescribed for use - Other systems with which the system must
interact - Architectural approaches used to meet quality
attribute requirements - Architectural Views
- Functional, concurrency, code and physical views
- Architectural Presentation (20 slides60 minutes)
7ATAM Steps Chapter 3
- Step 4 Identify the Architectural Approaches
- The architect identify the architectural
approaches and styles - Architectural styles define important structures
of the system and describe how the system can
grow, respond to changes, withstand attacks,
integrate with other system - Example Concurrent Pipeline Style
- Sequence of data transformation
- Each component can be replaced or modified
- Elements can be reused elsewhere
- Evaluators can reason this style in terms of
performance implications
8ATAM Steps Chapter 3
- Step 5 Generate the Quality Attribute Utility
Tree - The evaluation team works with the project
decision maker to identify, prioritize, and
refine the system most important quality
attribute goals. - Utility trees translate the business drivers of a
system into concrete quality attribute scenarios - Utility
- Performance
- Data Latency
- (M,L) Minimize storage latency
- (H,M) Deliver video in real time
- Transaction Throughput
- (M,M) Maximize average throughput to the
authentication server
9ATAM Steps Chapter 3
- Step 5 Generate the Quality Attribute Utility
Tree 2 - Scenarios
- A short statement describing an interaction of
one of the stakeholders with the system - User, maintainer, developer, product line manager
- Useful in understanding run time qualities such
as performance or availability - Structures
- Stimulus the user interaction
- Environment the system state
- Response how the system should respond to the
system - Types
- Use Case Scenarios
- Growth Scenarios
- Exploratory Scenarios
10ATAM Steps Chapter 3
- Step 5 Generate the Quality Attribute Utility
Tree 3 - Use Case Scenarios
- Describes a users intended interaction with the
completed running system - The user wants to examine budgetary and actual
data under different fiscal years without
reentering project data (usability) - Growth Scenarios
- Represent typical anticipated changes to a system
- Double the maximum number of tracks to be
handled by the system and keep to 200 ms the
maximum latency of track data to the screen
(Performance consequences)
11ATAM Steps Chapter 3
- Step 5 Generate the Quality Attribute Utility
Tree 4 - Exploratory Scenarios
- To expose the limits or boundary conditions of
the current design - Improve the systems availability from 98 to
99,999
12ATAM Steps Chapter 3
- Step 6 Analyze the Architectural Approaches
- At this point there is
- A set of concrete quality requirements a set of
architectural approaches gt Size up how well
suited they are to each other - Now the evaluation team can probe the
architectural approaches that realize the
important quality attributes. - Outputs of this Phase
- The architectural approaches or decisions
relevant to each priority utility tree scenario - The analyst questions associated with each
approach - The architects response to the questions
- The risks, nonriks, sensitivity points and
tradeoff points identified - At the end of this steps, the evaluation team
should have a clear picture of the most important
aspects of the entire architecture
13ATAM Steps Chapter 3
- Step 7 Brainstorm and Prioritize Scenarios
- Use of Scenarios to
- Represent stakeholders interests
- Understand quality attribute requirements
- The evaluation team ask the stakeholders to
brainstorm - Use Case Scenarios
- In this case stakeholder is an end user
- Growth Scenarios
- Modifications, changes in performance or
availability - Exploratory Scenarios
- Limits, dramatic new performance attributes
14ATAM Steps Chapter 3
- Step 7 Brainstorm and Prioritize Scenarios 2
- Once the Scenarios are collected
- The stakeholders merge the similar scenarios
- Then they vote for the most important scenarios
(30 of total scenarios) - Each stakeholders casts his votes publicity
- The evaluation leader orders the scenarios
- The scenario above the line are selected to the
subsequent steps - The result is compared with the utility tree
result - Three things will happen after these steps
- The scenario will match essentially duplicated an
already-existing leaf node - The scenario will go into a new leaf of an
existing branch - The scenario will fit in no branch of the tree
because it expresses a quality attribute no
previously accounted for
15ATAM Steps Chapter 3
- Step 7 Producers of system stakeholders
Stakeholder Definition Interest
SW Architect Person responsible for the architecture of the system and responsible for making tradeoffs among competing quality pressures Moderation and mediation all of the quality concerns of the other stakeholder
Developer Code or designer Clarity of architecture description, high cohesion of parts, limited coupling of parts, clear interconnection mechanisms
Standard Expert Developer responsible for knowing the details of standards (current and future) to which the software must conform Separation of concerns, modifiability, interoperability
Project Manager Person who allocates resources to teams, is responsible for meeting schedule and budget, interfaces with customer Clear structuring architecture to drive team formation, work breakdown structure, milestones and deadlines, etc
Product Line manager or reuse czar Person who has a vision for how this architecture and related assets can be reused further by the organization Reusability, Flexibility
16ATAM Steps Chapter 3
- Step 7 Consumers of the system
Stakeholder Definition Interest
Customer Purchaser on the system Schedule of completion, over all budget, usefulness of the system, meeting customers expectations
End User Use of the implemented system Functionality, usability
- Step 7 Servicers of the system
Stakeholder Definition Interest
System Administrator Person running the system Ease in finding the location that may arise
17ATAM Steps Chapter 3
- Step 8 Analyze the Architectural Approaches
- The architect carry out the highest-ranked
scenarios from step 7 - The evaluation team performs the same activities
as in Step 6 - This Step is a testing activity it is to be
hopped that little new information will be
uncovered
18ATAM Steps Chapter 3
- Step 9 Present the Results
- The collected information from the ATAM needs to
be summarized and presented back to the
stakeholders - Verbal report slides more complete document
written report including - The architectural approaches documented
- A set of scenarios and their prioritization
- The set of attribute-based questions
- The utility tree
- The risk discovered
- The nonrisks documented
- The sensitivity points and tradeoff points found
19ATAM Steps Chapter 3
- The Phases of the ATAM
- Consist of 4 phases
- Phase 0
- Partnership
- Preparation
- Phase 1
- Phase 2
- Phase 3
20ATAM Steps Chapter 3
- The Phases of the ATAM PHASE 0
- Partnership
- Involves the communication with the client, the
sponsor of the evaluation - For that
- The client should have a basic understanding of
the evaluation method - The client should describe the system and
architecture being evaluated - A contracted or statement of work should be
negotiated and signed - Issues of proprietary information should be
resolved - Its a good time to talk about cost and benefits
of architecture evaluation
21ATAM Steps Chapter 3
- The Phases of the ATAM PHASE 0
- Preparation
- Forming the evaluation team
- Holding an evaluation team kickoff meeting
- Making the necessary preparations for Phase 1
- Set the roles for each member
Role Responsibilities Desirable Characteristics
Team Leader Sets up the evaluation coordinates with client Well-organized, with managerial skills
Evaluation Leader Runs evaluation Comfortable in front of an audience.
Questioner Raises issues of architectural interest that perhaps the stakeholders have not considered Good architectural insights Experience with systems in similar domain.
22ATAM Steps Chapter 3
- The Phases of the ATAM PHASE 1
- Concentrates on Steps 1 through 6
- Besides this steps the team needs to determine
- Whether the remainder of the evaluation is
feasible and should proceed - Whether more architectural documentation is
required - Which stakeholders should be present for Phase 2
23ATAM Steps Chapter 3
- The Phases of the ATAM PHASE 2
- New stakeholders add the group that has
participated of Phase 1 - Steps 1 to 6 are encored for the new stakeholders
and - Steps 7 to 9 are carried out.
24ATAM Steps Chapter 3
- The Phases of the ATAM PHASE 3
- The following tasks must be accomplished
- Produce the final report
- Cataloging what you did, found, concluded
- Use of the template
- Collect data for measurement and process
improvement - Improve ideas about what worked particularly well
and what could stand to be improved - Data comes evaluation team and client
- Generation of surveys
- Update the artifact repositories
- Record the cost and benefit information
- Stored scenarios produced
- Store a list of the analysis questions used
25The beauty of the life will never be realized by
the luxury eyes
ATAM Steps Chapter 3
26References
- CLEMENTS, P. Software Product Line.
Springer-Verlag, 2005.