written 8.5 years ago by | • modified 8.5 years ago |
Mumbai University > Computer engineering > Sem 7 > Software Architecture.
Marks: 10 M
Year: May 12
written 8.5 years ago by | • modified 8.5 years ago |
Mumbai University > Computer engineering > Sem 7 > Software Architecture.
Marks: 10 M
Year: May 12
written 8.5 years ago by |
The Architectural Trade-off Analysis Method (ATAM) is a human centric process for identifying risks in a software design early in the development life cycle. ATAM focuses on the quality attributes or non-functional properties of modifiability, security, performance and reliability. Its objective is to reveal how well architecture satisfies given quality goals and also how those goals trade off against each other.
There are two key inputs into ATAM process- business drivers and the system’s software architecture.
Business Drivers
The system’s business drivers include:
The quality attributes become a basis of extracting a set of representative scenarios that will help ensure the system’s satisfaction of those attributes
There are three scenarios categories in ATAM: - Use-case scenarios, which describe how the system is envisioned by the stakeholders to be used - Growth scenarios, which describe planned and envisioned modifications to the architecture. - Exploratory scenarios, which try to establish the limits of architecture’s adaptability by postulating major changes to the system’s functionality, operational profiles and underlying execution platforms.
Once the scenarios are classified are identified, they are prioritized in terms of importance by the system’s stakeholders.
Software Architecture
Another thread of activity in ATAM involves the project’s architects presenting the key facets of the architecture. This includes- - Technical constraints, like the required hardware platforms, operating systems, middleware, etc. - Any other systems with which the system under development must interact. - Architectural approaches that have been used to meet the quality requirements.
An architectural approach in ATAM refers to any set of architectural design decisions made to solve the problem. Architectural approaches are typically patterns and styles.
The key step in ATAM is analysis of the architectural approaches in the context of the identified scenarios, with the primary goal of establishing the relationship between the approaches and quality attributes. For each architectural approach, a set of analysis questions are formulated that are specific to the quality attribute and architectural approach under consideration. The system’s architects engage with the ATAM evaluation team to answer these questions. The answers particularly focus on the architectural approach’s ‘known risks’, ‘non-risks’, ‘sensitivity points’ and ‘quality trade-off points’.
Finally, the risks identified in the given iteration of ATAM are distilled into risk themes and are fed back to the ATAM inputs of software architecture and business driver. The objective is to repeat the above process until all major architectural risks are properly mitigated.