SA Ch 11 – The ATAM - Rose

advertisement
The ATAM
A Comprehensive Method for
rchitecture Evaluation
&
The CBAM
A Quantitative Approach to Architecture Design
Deci$ion Making
CSSE 377
Software Architecture & Design 2
Week 6, Day 1, including
Ch 11 - 12 (opening parts) in Bass’s
book
1
Today –
Feedback on Project 4 so far
Describe to implementers how you are improving
the testing for tomorrow’s retests.
Part 3 Intro on Analyzing Archs
Main topic: Chapter 11 & 12 in SA 
(Opening parts of each chapter)
Tomorrow –
Background:
Red sky at morning
Sailors take warning!
Red sky at night
Sailors’ delight.
Have your implementers try the new testing
process in class.
Vote on Friday for final Project 4 deliverable
Biweekly Quiz # 3
Then… Fall Break!
2
Intro
Analyzing architectures
• Need to know why, when, and where to do
this activity
• Tougher than design review of a program
– who is left, who’s both “knowledgeable” and
“objective” about the overall design?
• We’ll describe Bass’s methods, and how
AT&T did this, for comparison
3
SA Ch 11 – The ATAM
ATAM - What it is
• “A Comprehensive Method for Architecture
Evaluation”
• One of several review methods to “guess”
the success of a design ahead of time
• This one is more in depth than some,
because it also tries to help do the design,
not just critique it
ATAM = Architecture Tradeoff Analysis Method
4
SA Ch 11 – The ATAM
Stolen from older disciplines!
Here’s an
“architecture
review” going on
in architecture.
Other engineers
do similar things.
From www.unrealstockholm.org/drupal/?q=node/100 .
5
SA Ch 11 – The ATAM
Participants in the ATAM
• The Evaluation Team
• Project Decision Makers
• Architecture Stakeholders
– You have to decide carefully on how to
include stakeholders!
– What will their inclusion do to the review?
• Clients
• Users
• Others affected by the system
6
SA Ch 11 – The ATAM
Outputs of the ATAM
• A concise presentation of the architecture
• Articulation of the business goals
• Quality requirements in terms of collection of
scenarios
• Mapping of architectural decisions to quality
requirements
• A set of identified sensitivity and tradeoff points
• A set of risks and non-risks
• A set of risk themes
7
SA Ch 11 – The ATAM
Phases of the ATAM
• Phase 0 – Partnership and presentation
• Phase 1 – Evaluation
• Phase 2 – Evaluation (continued, with
project stakeholders!)
• Phase 3 – Follow-up
 See book for details on each of these
8
SA Ch 11 – The ATAM
Phase 1 - Strategic role of QA’s
• Phase 1, step 5 – The QA’s are a key part of generating a Utility
Tree, ranking by both importance and difficulty of implementation! H,
M, or L for each, as shown:
9
SA Ch 11 – The ATAM
By the way, what’s “Utility”?
• It’s an economics concept:
– Utility is a measure of the relative satisfaction from,
or desirability of, consumption of various goods and
services.
– Utility is an abstract concept rather than a concrete,
observable quantity (like $).
– Utility often suggests a “value” more than cost. E.g.,
in the “importance” variable on the previous slide.
• Probably you know this, if you had:
– SL 151 Principles of Economics
• For more info, see, for example,
http://www.investopedia.com/university/economics/economics5.asp.
10
SA Ch 11 – The ATAM
Next…
• Analyze architectural approaches for
achieving the stand-out items in the tree.
• This takes a lot of time! An external team
sticks around to participate in high-level
design work.
11
SA Ch 11 – The ATAM
In Phase 2…
• Create “scenarios” by brainstorming with stakeholders.
– Like the ones you’ve been doing for QA’s
– Only not as formal
– Like, “At peak load, the system is able to complete 150
normalized transactions per second.”
• Prioritize scenarios by voting!
• Compare to utility tree done by development team’s
decision makers  .
• Analyze arch approaches to these scenarios & present
results.
• Top scenarios (and ways to achieve them) become the
design.
12
SA Ch 11 – The ATAM
Case study – the Nightingale Project
-- Read it yourself.
-- I’ll put one question about it on the biweekly quiz!
-- It’s a real system, but they changed the company
info for confidentiality.
-- It was a system that got the company into a big
market, but it was hard to adapt to new customers.
-- Alternative, tabular form of “Utility Tree,” – pp. 296-7.
13
SA Ch 11 – The ATAM
The AT&T Arch Review Process
• For comparison with ATAM:
– Usually a 2-day event, with a review team of outside
experts and a trained leader.
– A project team presented the problem and their
architectural solution.
• The review team asked questions.
• Everyone wrote issues on “snow cards.”
– The review team huddled, organized the cards, and
decided on criticality.
– They presented their findings back to the project team.
– In a couple weeks, they sent a full report, with
recommendations.
– Projects reported savings of about 10% from this
process.
Ref – p. 263 of Bass’s book.
14
SA Ch 12 – The CBAM
CBAM = “Cost Benefit Analysis Method”
An SEI reference on this:
http://www.tarrani.net/mike/docs/architect-4q01.pdf
Architectural goals:
P = Performance
A = Availability
S = Security
M = Modifiability
etc.
15
SA Ch 12 – The CBAM
Here’s the problem in a nutshell…
This of course is
the WingTite
In software
development, we’re
almost always
confused…
Why?
Basically, our confusion is mostly about both “What to do” and also
“How to do it.” How do you measure the “goodness” of any one feature
you might develop or basic design you might try or tool you might buy?
The answer…
16
SA Ch 12 – The CBAM
Which brings up…
It’s ok to be confused in science & engineering.
Who says so?
Richard Feynman, for example. 
http://www.youtube.com/watch?v=lytxafTXg6c
For more on him, see for example,
www.its.caltech.edu/ ~feynman/plenty.html
Here he is, in 1959, explaining why we should
probably spend a lot of money to develop
microelectromechanical devices. 
17
SA Ch 12 – The CBAM
The most common case!
Convert
everything to
Utility !
The issue shown
here is “how
much” of each
quality attribute
we need. 
Extends the Utility
Tree’s H, M, L
ratings into
quantities.
Question – What’s
the x-axis here?
18
SA Ch 12 – The CBAM
The most common case!
Answer – The xaxis here is
adding successive
scenarios, in order
of priority.
But, when the
book gets to p.
313, it tends to
interpret the x-axis
more traditionally,
as “cost” of
creating these (vs.
the y-axis of
value).
This scenario (a) could then be
interpreted to mean that as
investment cost increases, the
resulting benefits taper off. What
you’d expect most of the time.
19
SA Ch 12 – The CBAM
Besides utility, the
other side is cost.
The formulas –
See p. 313!
Your quality
attribute
scenarios
lead to
decisions
about
“utility.”
They assume you
can really guess
closely enough to
apply them with
any confidence.
Calculating ROI…
Implementing it 
20
SA Ch 12 – The CBAM
From our discussion of reliability (CSSE377 2009 Wk 2 Day 4 Availability-2.ppt, slide 8) –
An example of combining economics and technical expertise:
Deciding “how reliable” different parts of your system should be:
Gold code – Has to be really reliable. The stuff that has to work
right no matter what.
Examples?
Silver code – Typical “high use” code.
Examples?
Bronze code – We want it to test out as working correctly, but if it
has problems, they will be less severe than for other parts of the
system.
Examples?
21
SA Ch 12 – The CBAM
Case study – NASA ECS Project
-- Read it yourself
-- I’ll put one question about it on the biweekly quiz!
-- It’s a real system – Google for it.
22
Today’s daily quiz…
• Put together a quality attribute “tree” for
your project
– Like Slide 9
• If you were your project’s “clients,” what
changes would you recommend!?
• You’ll get it back (to save)
– Use it in next week’s enhancement to your
arch doc.
23
Download