SE322 · Chapter 8 · Annotated SlidesArchitecture Evaluation and ATAM
PDF
Overview

Architecture Evaluation and ATAM

Architecture is shaped by functional requirements, quality requirements and business constraints, and it should be evaluated before construction, when problems are still cheap to fix. Evaluation methods (ATAM, SAAM, ARID) all rest on scenarios and quality attributes. ATAM, the main one, assesses how architectural decisions affect quality goals, with an evaluation team, decision makers and stakeholders working through nine steps: from presenting the method and business drivers, through a quality-attribute utility tree and scenario analysis, to a report of risks, non-risks, sensitivity points and trade-offs. A lightweight ATAM compresses this into a day or less for smaller projects.

Why evaluate

Prioritises conflicting goals, forces a clear explanation, improves documentation, uncovers reuse, improves practices.

Common ground

ATAM, SAAM and ARID all use scenarios and quality attributes.

ATAM’s 9 steps

Present ATAM → business drivers → architecture → identify approaches → utility tree → analyse → brainstorm scenarios → analyse again → present results.

Findings

Risks, non-risks, sensitivity points (decisions that strongly affect one quality) and trade-offs (decisions that affect several qualities in opposite ways).

How the lecture is organized

Exam focus

Final 252 Q8 (5 marks with Chapter 9) asked three questions from this chapter: two benefits of architecture evaluation, the difference between ATAM and lightweight ATAM, and the shared point of all evaluation methods. Learn the nine ATAM steps in order as well.

How to read this page

Every original slide is shown unchanged. Yellow marks on a slide point to a numbered note: hover or tap a mark to jump to its note, and hover a note to see its marks. Questions tagged Past exam appeared on a real paper; Prediction questions are likely angles, not confirmed.

All 31 slides
  1. 1 Slide 1
  2. 2 Lecture Outlines
  3. 3 Software Architecture Evaluation*
  4. 4 Software Architecture Evaluation
  5. 5 Benefits of Architecture Evaluation
  6. 6 Major Architectural Evaluation Methods
  7. 7 ATAM Evaluation Method
  8. 8 Slide 8
  9. 9 ATAM Evaluation Method - Quality attributes Re-visited
  10. 10 Slide 10
  11. 11 ATAM Evaluation - Team Roles
  12. 12 ATAM Evaluation Method Steps
  13. 13 ATAM Evaluation Method Steps
  14. 14 ATAM Evaluation – Phases
  15. 15 ATAM Evaluation Method Output
  16. 16 ATAM Steps in more detail
  17. 17 Step 1. Present the ATAM method
  18. 18 Step 2. Present the business drivers
  19. 19 Step 3. Present architecture
  20. 20 Step 4. Identify architectural approaches
  21. 21 Step 5. Generate quality attribute utility tree
  22. 22 Step 5. Generate quality attribute utility tree
  23. 23 Step 5. Generate quality attribute utility tree
  24. 24 Slide 24
  25. 25 Step 6 – Analyze Architectural Approaches: the analysis form
  26. 26 Step 7 Brainstorm and prioritize scenarios
  27. 27 Slide 27
  28. 28 Step 9 Present Results
  29. 29 A Lightweight ATAM
  30. 30 A Lightweight ATAM - Agenda
  31. 31 Summary
Slide 1 / 31

Slide 1

Slide 1: Slide 1

Notes

  1. Chapter 8 returns to the third key task of architectural design from Chapter 2: evaluating and validating the architecture before it is built.

Slide 2 / 31

Lecture Outlines

Slide 2: Lecture Outlines

Notes

  1. Why architectures are evaluated.

  2. The benefits of evaluation.

  3. The main evaluation methods.

  4. ATAM in detail, and its lightweight version.

Slide 3 / 31

Software Architecture Evaluation*

Slide 3: Software Architecture Evaluation*

Notes

  1. The architecture is the foundation of a system: it defines the structure (components and relationships) and the properties and behaviour exposed to the outside world.

  2. It is shaped by three drivers: functional requirements, non-functional (quality) requirements and business constraints (budget, schedule, regulations). An evaluation checks the architecture against all three.

Exam angle

PredictionQ1

Which of these is NOT one of the three drivers that shape a software architecture?

  1. The programming language’s syntax
  2. Functional requirements
  3. Non-functional requirements
  4. Business constraints
Show answer

A. The programming language’s syntax

Slide 4 / 31

Software Architecture Evaluation

Slide 4: Software Architecture Evaluation

Notes

  1. For a successful project and a high-quality product, the architectural design must be validated in advance.

  2. The earlier a problem is found, the cheaper it is to fix: a wrong decision found on paper costs a meeting; found in code, it costs a rewrite.

  3. So architectural decisions should be evaluated before construction begins.

Slide 5 / 31

Benefits of Architecture Evaluation

Slide 5: Benefits of Architecture Evaluation

Notes

  1. It results in prioritisation of conflicting goals: stakeholders must agree which qualities matter most when they clash.

  2. It forces a clear explanation of the architecture: the architect must be able to present and justify it.

  3. It improves the quality of the architecture documentation, because gaps show up during the review.

  4. It uncovers opportunities for cross-project reuse of components and approaches.

  5. It leads to improved architecture practices in the organisation over time.

Exam angle

Past exam · Final 252 · Q8-1 · 1 markQ1

What are the benefits of architecture evaluation? State two only.

Show answer

Any two: it forces prioritisation of conflicting goals; it forces a clear explanation of the architecture; it improves the quality of architecture documentation; it uncovers opportunities for cross-project reuse; it results in improved architecture practices. (Finding problems early, when they are cheap to fix, is also accepted.)

Slide 6 / 31

Major Architectural Evaluation Methods

Slide 6: Major Architectural Evaluation Methods

Notes

  1. ATAM: the Architecture Tradeoff Analysis Method (the main one in this chapter).

  2. SAAM (Software Architecture Analysis Method) and ARID (Active Reviews for Intermediate Designs) are other established methods.

  3. What they all have in common: they evaluate the architecture using scenarios and quality attributes. They differ in depth and focus, not in the underlying idea.

Exam angle

Past exam · Final 252 · Q8-3 · 1 markQ1

What is the shared, common point between all architecture evaluation methods?

Show answer

All methods (ATAM, SAAM, ARID) are built on the same two ingredients: scenarios and quality attributes. They differ in depth and focus, not in the underlying idea.

Slide 7 / 31

ATAM Evaluation Method

Slide 7: ATAM Evaluation Method

Notes

  1. The Architecture Tradeoff Analysis Method (ATAM) is one of the most widely used evaluation methods.

  2. Its purpose: assess the consequences of architectural decisions in light of the quality-attribute requirements and the business goals.

  3. In practice that means discovering risks: places where an architectural decision affects a quality attribute of interest, often through a trade-off between qualities.

Exam angle

PredictionQ1

What does ATAM stand for, and what is its purpose?

Show answer

Architecture Tradeoff Analysis Method. It assesses the consequences of architectural decisions against the quality-attribute requirements and business goals, discovering risks and trade-offs between quality attributes.

Slide 8 / 31

Slide 8

Slide 8: Slide 8

Notes

  1. The key concept in every evaluation method is the quality attribute (Chapter 3).

  2. In complex systems qualities can never be achieved in isolation: improving one affects others, sometimes negatively (encryption adds security but costs performance), sometimes positively (modularity helps both modifiability and testability).

  3. So architectural decisions are really trade-offs between qualities in support of the business goals, which is exactly what ATAM analyses.

Slide 9 / 31

ATAM Evaluation Method - Quality attributes Re-visited

Slide 9: ATAM Evaluation Method - Quality attributes Re-visited

Notes

  1. End-user perspective: performance, availability, usability, security.

  2. Technical perspective: modifiability, portability, reusability, testability, interoperability.

  3. Business community perspective: time to market, cost and benefits, projected lifetime, project budget.

  4. To evaluate an architecture against them, each must be characterised as a quality attribute scenario (Chapter 3); the scenarios are then used to prioritise the qualities.

Slide 10 / 31

Slide 10

Slide 10: Slide 10

Notes

  1. The evaluation team: three to five experienced architects who run the evaluation.

  2. Project decision makers: people with authority to change the project (project manager, customer, manager).

  3. Architecture stakeholders: people who need a good architecture to do their jobs (developers, testers, integrators, maintainers, performance engineers, users).

Exam angle

PredictionQ1

Name the three groups that take part in an ATAM evaluation.

Show answer

The evaluation team (3–5 experienced architects), the project decision makers (manager, customer), and the architecture stakeholders (developers, testers, integrators, maintainers, users).

Slide 11 / 31

ATAM Evaluation - Team Roles

Slide 11: ATAM Evaluation - Team Roles

Notes

  1. Team leader: sets up the evaluation contract with the client, forms the team, and makes sure the final report is produced and delivered. (The garbled text on the slide is overlapping lines in the PDF.)

  2. Evaluation leader: runs the evaluation, facilitates scenario elicitation, runs scenario selection and prioritisation, and facilitates evaluating scenarios against the architecture.

  3. Scenario scribe writes scenarios on the board and captures their agreed wording, stopping discussion until it is exact; the proceedings scribe records everything electronically (scenarios, the issues behind them, how each was resolved) and prints the adopted scenarios.

  4. Questioner: raises issues of architectural interest, usually about the quality attributes they specialise in.

Slide 12 / 31

ATAM Evaluation Method Steps

Slide 12: ATAM Evaluation Method Steps

Notes

  1. Steps 1–3 set the context: present ATAM, present the business drivers, present the architecture.

  2. Steps 4–6 do the first analysis: identify architectural approaches, generate the quality-attribute utility tree, analyse the approaches against its top scenarios.

Exam angle

PredictionQ1

List the nine steps of ATAM in order.

Show answer

1 Present the ATAM method. 2 Present the business drivers. 3 Present the architecture. 4 Identify architectural approaches. 5 Generate the quality attribute utility tree. 6 Analyse architectural approaches. 7 Brainstorm and prioritise scenarios. 8 Analyse architectural approaches (again, with the new scenarios). 9 Present results.

PredictionQ2

In which ATAM step is the quality attribute utility tree generated?

  1. Step 5
  2. Step 2
  3. Step 7
  4. Step 9
Show answer

A. Step 5

Slide 13 / 31

ATAM Evaluation Method Steps

Slide 13: ATAM Evaluation Method Steps

Notes

  1. Steps 7–8 widen the view: all stakeholders brainstorm and prioritise scenarios, and the approaches are analysed again against them.

  2. Step 9: present the results.

Slide 14 / 31

ATAM Evaluation – Phases

Slide 14: ATAM Evaluation – Phases

Notes

  1. Phase 0, partnership and preparation: logistics, planning, recruiting stakeholders, forming the team. Evaluation-team leadership and key decision makers; informal, perhaps over a few weeks.

  2. Phase 1, evaluation steps 1–6: the evaluation team and project decision makers; 1–2 days, followed by a 2–3 week break.

  3. Phase 2, evaluation steps 7–9: the evaluation team, decision makers and stakeholders; 2 days.

  4. Phase 3, follow-up: report generation and delivery, process improvement; evaluation team and client; 1 week.

Slide 15 / 31

ATAM Evaluation Method Output

Slide 15: ATAM Evaluation Method Output

Notes

  1. ATAM must produce at least the documentation of the selected architecture, whose key artefact is the SAD (Software Architecture Document) (Chapter 9).

  2. And an evaluation report that recaps the ATAM process, captures the scenario analysis (quality requirements written as scenarios), and explains the candidate architectures and the rationale for choosing one, with a summary of the work done.

Slide 16 / 31

ATAM Steps in more detail

Slide 16: ATAM Steps in more detail

Notes

  1. Section divider: slides 17–28 go through the nine steps one by one.

Slide 17 / 31

Step 1. Present the ATAM method

Slide 17: Step 1. Present the ATAM method

Notes

  1. Step 1: the evaluation team presents an overview of ATAM: its key steps and techniques (utility-tree generation, architecture elicitation and analysis, scenario brainstorming)…

  2. …and the expected output: architectural approaches, the utility tree, scenarios, risks and sensitivity points.

Slide 18 / 31

Step 2. Present the business drivers

Slide 18: Step 2. Present the business drivers

Notes

  1. Step 2: the project decision maker presents the system from the business point of view.

  2. That covers the business goals and context, and the major stakeholders.

  3. The high-level functional requirements (use cases, user stories) and the most important quality attributes (as quality scenarios) that affect the architecture.

  4. And the constraints: technical, managerial, economic and political.

Slide 19 / 31

Step 3. Present architecture

Slide 19: Step 3. Present architecture

Notes

  1. Step 3: the lead architect presents the architectural approach used to meet the requirements and constraints.

  2. The 4+1 view model (Chapter 2, Lecture 3) is a good way to structure the presentation.

  3. It covers the contextual view (relationships with people and other systems), the logical view (modules, layers), the process view (processes, threads, data flow, events) and the deployment view (CPUs, storage, devices, network).

  4. Finally, the architect describes the risks in meeting the architectural requirements.

Slide 20 / 31

Step 4. Identify architectural approaches

Slide 20: Step 4. Identify architectural approaches

Notes

  1. Step 4: the evaluation team identifies the key architectural approaches (patterns) used to realise the requirements and constraints.

  2. For example client–server, multi-layer, pipes and filters (Chapter 4).

  3. The team analyses the architecture from step 3 in depth until it knows which patterns and approaches the architect used. These approaches are what the later analysis tests.

Slide 21 / 31

Step 5. Generate quality attribute utility tree

Slide 21: Step 5. Generate quality attribute utility tree

Notes

  1. Step 5: the evaluation team, with the decision maker, identifies, prioritises and refines the most important quality-attribute goals, expressed as scenarios, by building a utility tree.

  2. A utility tree is a top-down way of characterising the quality requirements: the root is “utility”, the next level the most important qualities (performance, security, availability, modifiability, maintainability), and the leaves are concrete quality scenarios.

  3. Each leaf is rated for importance to the system’s success and difficulty to achieve (the architect’s assessment), usually H/M/L. High-importance, high-difficulty (H,H) scenarios are analysed first.

Exam angle

PredictionQ1

What is a quality attribute utility tree, and how are its leaves rated?

Show answer

A top-down tree: utility at the root, important quality attributes as the next level (refined into sub-concerns), and concrete quality scenarios as leaves. Each leaf is rated (H/M/L) for its importance to the system’s success and its difficulty to achieve, so the most important and difficult scenarios are analysed first.

Slide 22 / 31

Step 5. Generate quality attribute utility tree

Slide 22: Step 5. Generate quality attribute utility tree

Notes

  1. A utility tree for a car’s anti-lock braking system (ABS), with three columns: quality attribute → requirement → scenario.

  2. Performance → R1 latency < 50 ms → “the ABS should respond in less than 50 ms after the driver hits the brake”.

  3. Reliability → R2 system reliability > 95% → “fault tolerance of at least 94%” (note the slide’s numbers don’t quite match). Resource consumption → R3 CPU utilisation < 80% → “CPU use of the ABS software below 80%”.

Slide 23 / 31

Step 5. Generate quality attribute utility tree

Slide 23: Step 5. Generate quality attribute utility tree

Notes

  1. The textbook utility tree with ratings (importance, difficulty). Performance: data latency → reduce storage latency on the customer DB to < 200 ms (L,M); transaction throughput → deliver video in real time (M,M).

  2. Modifiability: new products → add CORBA middleware in < 20 person-months (H,H); change COTS → change the web UI in < 4 person-weeks (H,L).

  3. Availability: hardware failure → power outage at site 1 redirects traffic to site 2 in < 3 s (H,H); COTS software failure → network failure detected and recovered in < 1.5 min (H,H).

  4. Security: data confidentiality → credit-card transactions secure 99.999% of the time (H,M); data integrity → customer DB authorisation works 99.999% of the time (H,L). The (H,H) leaves go to step 6 first.

Slide 24 / 31

Slide 24

Slide 24: Slide 24

Notes

  1. Step 6: the evaluation team examines the highest-ranked scenarios one at a time to understand how the architecture supports each one.

  2. For each, it documents the relevant architecture decisions and their rationale, and classifies the findings as risks (decisions that may prevent a quality goal), non-risks (decisions judged safe), sensitivity points (decisions that strongly affect one quality’s response) and trade-offs (decisions that affect several qualities in opposite directions).

  3. The findings are recorded on an analysis form (next slide).

Exam angle

PredictionQ1

In ATAM, what is the difference between a sensitivity point and a trade-off point?

Show answer

A sensitivity point is an architectural decision that strongly affects the response of one quality attribute. A trade-off point is a decision that affects several quality attributes, improving one while degrading another (e.g. encryption: better security, worse performance).

PredictionQ2

A decision that improves one quality attribute while degrading another is recorded in ATAM as a:

  1. Trade-off point
  2. Non-risk
  3. Business driver
  4. Utility tree leaf
Show answer

A. Trade-off point

Slide 25 / 31

Step 6 – Analyze Architectural Approaches: the analysis form

Slide 25: Step 6 – Analyze Architectural Approaches: the analysis form

Notes

  1. The analysis form for one scenario. Scenario A12: detect and recover from a hardware failure of the main switch. Attribute: availability; environment: normal operations; stimulus: one of the CPUs fails; response: 0.999999 availability of the switch.

  2. Architectural decisions with their classification: backup CPU(s) (sensitivity S2, risk R8); no backup data channel (S3, trade-off T3, risk R9); watchdog (S4, non-risk N12); heartbeat (S5, N13); failover routing (S6, N14).

  3. Reasoning: different hardware and OS avoid common-mode failure (see risk 8); worst-case rollover is 4 seconds; failure is detected within 2 seconds from the heartbeat and watchdog rates; the watchdog is simple and proven; availability might be at risk without a backup data channel (risk 9). The architecture diagram shows primary and backup CPUs with heartbeat (1 s) to the switch CPU.

Slide 26 / 31

Step 7 Brainstorm and prioritize scenarios

Slide 26: Step 7 Brainstorm and prioritize scenarios

Notes

  1. Step 7: the wider group of stakeholders brainstorms scenarios that matter for their own roles.

  2. The purpose is to take the pulse of the larger stakeholder community: what does success mean for them?

  3. The scenarios are prioritised by voting, then compared with the utility tree from step 5. If they agree, the architect and stakeholders are aligned.

  4. If new driving scenarios appear (they usually do), that may itself be a risk when the gap is large: the architect and stakeholders disagree about the system’s important goals.

Slide 27 / 31

Slide 27

Slide 27: Slide 27

Notes

  1. Step 8: the evaluation team guides the architect through the highest-ranked scenarios from step 7.

  2. The architect explains how the architectural approaches are affected by these new scenarios.

  3. Risks, non-risks, sensitivity points and trade-offs continue to be identified, and architectural decisions are specified. It is step 6 repeated with the stakeholders’ scenarios.

Slide 28 / 31

Step 9 Present Results

Slide 28: Step 9 Present Results

Notes

  1. Step 9: the information generated by ATAM is presented to the stakeholders.

  2. The evaluation team writes a report and presents it with slides.

  3. The lead architect reports the business context and drivers, requirements and constraints.

  4. Plus the documentation of the selected architecture, the prioritised scenarios, the utility tree, and the risks, non-risks, sensitivity points and trade-offs discovered.

Slide 29 / 31

A Lightweight ATAM

Slide 29: A Lightweight ATAM

Notes

  1. A lightweight evaluation method based on ATAM exists for smaller, less risky projects.

  2. It may take a single day or even half a day.

  3. It may be run entirely by people internal to the organisation. Because participants are internal and fewer, giving everyone their say and reaching shared understanding is much faster, and the steps run more quickly.

  4. The cost: a lower level of scrutiny and objectivity, so it may not probe the architecture as deeply as a full ATAM with an external team.

Exam angle

Past exam · Final 252 · Q8-2 · 1 markQ1

What is the main difference between ATAM and lightweight ATAM?

Show answer

Lightweight ATAM keeps the same nine steps but is scaled down for smaller, lower-risk projects: it can be done in about half a day (or a day), using only people inside the organisation. It is faster, but less deep and less objective than a full ATAM run with an external evaluation team.

Slide 30 / 31

A Lightweight ATAM - Agenda

Slide 30: A Lightweight ATAM - Agenda

Notes

  1. The lightweight agenda. Step 1 (present ATAM) takes 0 hours, because participants already know the process; steps 2–4 take 15–30 minutes each, because everyone knows the system (1–2 scenarios are traced through the module and C&C views in step 3).

  2. Step 5 (utility tree) takes 0.5–1.5 hours, often reusing existing scenarios; step 6 (analysis) takes the bulk, 2–3 hours, mapping the top scenarios onto the architecture.

  3. Steps 7 and 8 are dropped (0 hours): the internal stakeholders already contributed scenarios in step 5, and all analysis happens in step 6. Step 9 (results) takes 0.5 hours to review the risks, non-risks, sensitivities and trade-offs. Total: about half a day to a day.

Slide 31 / 31

Summary

Slide 31: Summary

Notes

  1. Recap: why and when to evaluate an architecture, its benefits, the methods (ATAM, SAAM, ARID: all scenario- and quality-based), and ATAM’s participants, nine steps, phases and outputs, plus the lightweight variant.

  2. Next: documenting the architecture (Chapter 9).