0% found this document useful (0 votes)
310 views

Week 10 - Software Architecture Analysis Method (SAAM)

The document describes the Software Architecture Analysis Method (SAAM) for evaluating software architectures. SAAM uses scenarios to analyze an architecture's ability to handle changes. The key steps of SAAM include developing scenarios, describing the architecture, classifying and prioritizing scenarios, evaluating scenarios, assessing scenario interactions, and creating an overall evaluation. SAAM provides a way to systematically analyze an architecture and understand its strengths and weaknesses in handling future changes and needs.

Uploaded by

hdsasdad
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
310 views

Week 10 - Software Architecture Analysis Method (SAAM)

The document describes the Software Architecture Analysis Method (SAAM) for evaluating software architectures. SAAM uses scenarios to analyze an architecture's ability to handle changes. The key steps of SAAM include developing scenarios, describing the architecture, classifying and prioritizing scenarios, evaluating scenarios, assessing scenario interactions, and creating an overall evaluation. SAAM provides a way to systematically analyze an architecture and understand its strengths and weaknesses in handling future changes and needs.

Uploaded by

hdsasdad
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Software Architecture And Testing

CT059-3-2

Using the Software Architecture


Analysis Method (SAAM) to
Evaluate an example architecture
Topic & Structure of the lesson

• Overview of the SAAM


• Steps of a SAAM evaluation
• A sample SAAM agenda

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 2 Out of 21
Learning Outcomes

• By the end of this lecture, YOU should be


able to :
– Apply SAAM for evaluating an architecture
– Understand the steps in SAAM

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 3 Out of 21
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:
– Software Architecture Analysis Method
(SAAM)
– Scenario
– Evaluation
– Direct
– Indirect
CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 4 Out of 21
Software Architecture Analysis
Method (SAAM)

• First promulgated architecture analysis


methods
• Uses quality attributes with the usage of
scenarios
• Can also be used for heuristic evaluation of
other system qualities
• Good start for first time users

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 5 Out of 21
Overview SAAM
• Request scenarios
• Scenarios will scrutinised, prioritised and mapped onto the
representation of the architecture and analyse where
– the problem area where architecture overly complex
– key design details are not encapsulated but rather are distributed
throughout the architecture
• Also indicate areas where architectural documentation is not
correctly presented.
• Allows group work
• Requires many inputs and produces number of outputs

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 6 Out of 21
Inputs to a SAAM Evaluation
• Description of the architecture
• Fine-grained representation of the architecture
• Number of scenarios

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 7 Out of 21
Output from a SAAM Evaluation

• A mapping onto the architecture of


scenarios that represent possible future
changes
• An understanding of the functionality of the
system
• A comparison of multiple architectures with
the respect to the amount of the
functionality that each supports without
modification
CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 8 Out of 21
Steps of a SAAM Evaluation

• Activities and Dependencies in a SAAM


Analysis

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 9 Out of 21
Steps 1 – Develop Scenario

• Illustrate the kinds of activities that the system must support


• Illustrate the kind of changes that the client anticipates
• Capture all major uses of a system
• Users of a system
• Anticipated changes to the system
• Qualities that the system must satisfy

“must represent tasks relevant to all


stakeholder”

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 10 Out of 21
Step 2 – Describe the
Architecture
• Should use the architectural notation that
understand by all parties
• Must indicate the system computation and
data components as well as all relevant
connections.
• Meta-data should be provide for the above
representation

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 11 Out of 21
Step 3 – Classify and Prioritise
the Scenarios
• Use direct scenario
• If not do some changes to the architecture
and classify as indirect scenario
• Should use limited time to evaluate
• Define entire stakeholder and their
concerns

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 12 Out of 21
Step 4 – Individually evaluate
Indirect Scenarios
• Once the scenario is selected, map to the architectural
description
• Show how the architecture would need to be changed to
accommodate the scenario
• This will allow the stakeholders to have in-depth
understanding
• For each scenario the changes to the architecture must
be listed and the costs of performing the change must be
estimated
• End of this task a summary table should be produced
that lists all scenarios (direct and indirect)

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 13 Out of 21
Example of SAAM Scenario
Evaluation

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 14 Out of 21
Step 5 – Assess Scenario
Interactions
• Two or more scenarios require changes to a single
component, it said to have interaction.
• It will exposes the allocation of functionality to the
product’s design.
– Areas of high scenario interaction reveal potentially poor
separation of concerns in the component.
– It leads to structural complexity (coupling and cohesion)
• It reveal that the architecture is not documented to the
right level of structural decomposition.
– When scenarios interact within a component but that component
can actually be decomposed into smaller sub-components that
do not exhibit the scenario interaction

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 15 Out of 21
Step 6 – Create the Overall
Evaluation
• Each scenario will be evaluated and assign a
weight.
• This weight usually ties back to the business
goals that each scenario is supporting
• Assigning weight is subjective process but
should follow some structured fashion whereby
the weights and their rationale are publicly
discussed and debated.

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 16 Out of 21
A Sample SAAM Agenda

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 17 Out of 21
Reference
Clements, Kazman & Klein – Evaluating Software Architectures –– Addison-Wesley.

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 18 Out of 21
Summary of Main Teaching Points

• Overview of the SAAM


• Steps of a SAAM evaluation
• A sample SAAM agenda

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 19 Out of 21
Question and Answer Session

Q&A

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 20 Out of 21
Next Session

• Active design reviews


• Active Review for Intermediate
Design(ARID) – An ARID/ATAM
hybrid
• The steps of ARID

CT059-3-2 Software Architecture And Testing Software Architecture Analysis Method (SAAM) Slide 21 Out of 21

You might also like