You are on page 1of 5

Question 2.

0 The Architecture Tradeoff Analysis


Method (ATAM) to address the stakeholders
requirements for a chosen case study
This section, we discuss a particular method for software architecture evaluation, the
Architecture Tradeoff Analysis Method (ATAM), and how it can be applied to the
chosen case study. We first present the standard approach for conducting an ATAM
evaluation followed by a discussion of considerations for its use in the chosen case
study to address the stakeholders’ requirements or goals (quality attributes). ]. <<NOT
REQUIRED!!!! reminder or recap no definitions required as far as possible>>>

2.1 The Architecture Tradeoff Analysis Method


The ATAM is a useful technique for analyzing and evaluating software architectures. The SEI
developed and refined this method over the past six years [Kazman 00]. It not only can be
used to evaluate architectural decisions against specific quality attributes, it also allows
engineering tradeoffs to be made among possibly conflicting system quality goals. In this
way, the ATAM evaluation can detect areas of potential risk in meeting quality goals within
the architecture of a complex software-intensive system. Clements, Kazman, and Klein
provide details and examples of the ATAM (and other software architecture evaluation
methods) [Clements 02a]. <<NOT REQUIRED!!!! reminder or recap no definitions
required as far as possible>>>

The ATAM has several advantages. It can be done early, quickly, and inexpensively. The
method involves project decision makers, other stakeholders (including managers,
developers, maintainers, testers, re-users, end users, and customers), and a software
architecture evaluation team. These groups collaborate to determine the critical quality
attributes of the system and effectively evaluate the consequences of architectural decisions
in light of specified quality attributes and business goals. The method helps to ensure that the
right questions are asked to uncover

 risks – software architecture decisions that might create future problems in some
quality attribute
 sensitivity points – properties of one or more components (and/or component
relationships) that are critical for achieving a particular quality attribute response (That
is, a slight change in a property can make a significant difference in a quality
attribute.)
 tradeoffs – decisions affecting more than one quality attribute

There are nine specific steps in the basic ATAM evaluation that fall into four general types of
activities: presentation, investigation and analysis, testing, and reporting.
]. <<NOT REQUIRED!!!! reminder or recap no definitions required as far as possible>>>
CASE STUDY:
MyCloth.com.my
MyCloths is a leading Malaysia local retail and distributor for all kinds of Malaysian traditional
cloths. The following are the named stakeholders of MyCloth.com.my: -

i. Customers
ii. Front Desk Staff
iii. Call Centre Help Desk
iv. Inventory Manager
v. Inventory Store Clerk
vi. Suppliers of cloth
vii. Banks (credit card/debit card/cash)
viii. Payment Gateway organization
ix. Logistics organization, eg. GRAB, LALLAMOVE,

They currently serve walk-in customers in their shop located at KLCC. They also receive call and
email orders from customers and deliver the cloths to their doorstep. As their business GROWS,
MyCloths would like to have a better management of their orders, inventory, and relationship with
the customers. MyCloth currently is facing several issues, such as :-
- poor performance which translates to poor throughput and response time
- restricted operational hours (10:00 – 5:00)
- the Pandemic and loss of business
- Lack of penetration to the world market
- lack of important information including inputs, outputs, or stored data
- rising operational cost as the business grows
- poor controls resulting security issues such as theft, fraud, data privacy
- current system not compatible to other systems
- efficiency that effort required for a given task is excessive
-

The vision or goal of MyCloths is to be a market leader in the use of technology to provide the best
possible customer service with the broadest range of Malaysian traditional cloths. In view of the
growing number of customers, MyCloths is planning to establish an online store by OCT 2021.
2.1.1 Presentation <<all of below is required in the context of the case study>>

Step 1. Present the ATAM. The method is described to the assembled stakeholders (typically
customer representatives, the architect or software architecture team, user representatives,
maintainers, administrators, managers, testers, integrators, etc.).
What should you do here ???, name all your stakeholders as per your chosen case study
for example:
i. Customers
ii. Front Desk Staff
iii. Call Centre Help Desk
iv. Inventory Manager
v. Inventory Store Clerk
vi. Suppliers of cloth
vii. Banks (credit card/debit card/cash)
viii. Payment Gateway organization

Step 2. Present business drivers. The project manager describes the business goals that
are motivating the development effort and hence the primary software architecture drivers
(e.g., broad availability, time to market, high security).
What should you do here????
Project manager (Consultant/in-house IS manager, or Systems Analyst) will express the
business goals and or the current issues that are motivating this project, which become the
primary software architecture drivers, look at the case study chosen, in this example the
following is identified:-
i. Growth and wanting to become the market leader(perhaps in the region or world)
in wholesale traditional clothes
ii. Maintain security, fraud, data privacy
iii. Performance, high throughput, and response time
iv. High availability
Refer to pg 46 step 2

Step 3. Present software architecture. The architect describes the proposed


software architecture, focusing on how it addresses the business drivers.
What should you do here??
i. The system analyst(architect) should discuss the technical constraints, OS,hardware,
middleware, other systems to interact with (suppliers, banks, payment gateways….) and
the quality attributes,

2.1.2 Investigation and Analysis


Step 4. Identify architectural approaches. Architectural approaches are identified by the
architect, but they are not analyzed.
What should you do here??
i. Description of the architectural styles briefly, client server, 2-tier or 3-tier, cloud
computing, distributed processing the various components, such as authentication
servers, firewalls, payment gateways, eg. Concurrent pipelines style(see pg 49 of
text book by Paul Clement) how data gets transformed between processes. Another
style is ABAS attribute-based architectural styles…..

Step 5. Generate quality attribute utility tree. The quality attributes that comprise system
“utility” (performance, reliability, security, modifiability, etc.) are elicited. These are
specified down to the level of scenarios, annotated with stimuli and responses, and
prioritized. A scenario is a short statement describing an interaction of a stakeholder with the
system. Scenarios provide a vehicle for making vague qualities concrete.4
What should you do here??
i. All stakeholders, as mentioned above to identify and prioritize, and refine the systems most
important quality attribute goals, such as performance, response time, market penetration
worldwide, throughput, high availability……with the architecture guiding
ii. The output at this stage, draw a UTILITY TREE (see page 51 for eg.) to address the
business requirements in the chosen case study, if none go and change the case study to
include some quality attributes. The assignment requires you to choose at least TWO (2)
evolution scenarios. See book (pg 52 for scenarios examples) and draw the UTILITY
TREE. Here highly important scenarios evaluated with will affect the architecture
decisions

Step 6. Analyze architectural approaches. Based upon the high-priority factors identified in
Step 5, the architectural approaches that address those factors are elicited and analyzed. For
example, an architectural approach aimed at meeting performance goals will be subjected to a
performance analysis. During this step, software architecture risks, sensitivity points, and
tradeoff points are identified.
What should you do?
i. Look at step 5 and prioritize the quality requirements in line with step 4’s architectural
approaches
ii. Here the architectural decision is made with the accompanying risk, nonrisks,
sensitivity points and the tradeoffs are also identified and listed. See page 57 for eg of
risks ( the para starting with For example, assigning processes……..) try and engage
template for analysis on pg 58 & pg 59, you are only require to address at least
TWO(2) scenarios, so two templates lah

2.1.3 Testing
Step 7. Brainstorm and prioritize scenarios. Based upon the example scenarios
generated in the utility tree step, a larger set of scenarios is elicited from the entire group of
stakeholders. This set of scenarios is prioritized via a voting process involving the entire
stakeholder group.
What you should do here?
i. Request stakeholder to brainstorm other scenarios (non-quality attributes)
a. Use case scenarios - Functional requirements
b. Growth scenarios – to cater for growth, expected modifications changes
c. Exploratory scenarios – stress points, high volume data traffic which may
affect response time…..look at scenarios not expressed in the utility tree See
page 60 of book for more examples
d. Then the stakeholder will be asked to vote see page 61 on full illustrations with
eg.

Step 8. Analyze architectural approaches. This step reiterates Step 6; but here, the highly
ranked scenarios from Step 7 are considered to be test cases for software architecture
approaches determined thus far. These test case scenarios may uncover additional software
architecture approaches, risks, sensitivity points, and tradeoff points, which are then
documented.
What to do here?
i. Architecture, pick up the highest ranked scenarios from step 7 and you are to
explain how the architectural decision(Step 4 architectural approach) can address
the scenarios

2.1.4 Reporting
Step 9. Present results. Based upon the information collected during the ATAM evaluation
(styles, scenarios, attribute-specific questions, the utility tree, risks, sensitivity points,
tradeoffs), the evaluation team presents its findings to the assembled stakeholders and details
this information along with any proposed mitigation strategies in a written report.
What to do here?
i. Report on the architectural approach chosen
ii. Scenarios and their prioritization
iii. Set of quality attribute-based questions
iv. Utility tree
v. The risk identified
vi. The no risk identified
vii. The sensitivity points and tradeoff points found

You might also like