10
Overall Evaluation of Software Architecture By Ashwin Somaiah

Overall Evaluation of Software Architecture By Ashwin Somaiah

Embed Size (px)

Citation preview

Page 1: Overall Evaluation of Software Architecture By Ashwin Somaiah

Overall Evaluation of Software Architecture

By

Ashwin Somaiah

Page 2: Overall Evaluation of Software Architecture By Ashwin Somaiah

The ATAM – A Method

The name comes from the fact that it not only reveals how well an architecture satisfies particular quality goals but it also provides insight into how quality goals interact with each other - how they trade off against each other.

Page 3: Overall Evaluation of Software Architecture By Ashwin Somaiah

Presentation Step

1) Present the ATAM: The evaluation leader describes the evaluation methods to the team tries to set there expectations and answers questions.

2) Present the business drivers: A project decision maker presents a system overview from a business perspective. What business goals are motivating the development effort and hence what will be the primary architecture drivers.

Page 4: Overall Evaluation of Software Architecture By Ashwin Somaiah

Presentation Step

3) Present the architecture: In this presentation the architecture should cover:

Technical constraints such as operating system, hardware, or middleware prescribed for use.

Other Systems with which the systems must interact. Architectural approaches used to meet quality attribute

requirement.

Page 5: Overall Evaluation of Software Architecture By Ashwin Somaiah

Investigation and Analysis Step

4) Identify the architectural approaches:The architectural approaches define the important structures of the system and describes in which the system can grow, respond to changes, withstand changes, withstand attacks, integrate with other systems and so forth.

5) Generate the quality attribute utility tree: Utility trees provide a mechanism for directly and efficiently translating the business drivers of a system into concrete quality attribute scenarios.

Participants prioritize the utility tree along two dimensions By the importance of scenario to the success of the system. By the degree of difficulty posed by the achievement of the scenario.

Page 6: Overall Evaluation of Software Architecture By Ashwin Somaiah

Investigation and Analysis Step

Page 7: Overall Evaluation of Software Architecture By Ashwin Somaiah

Testing

7) Brainstorm and prioritize Scenarios:

The brainstorming is done based on three kinds of scenarios:

Use case scenarios: The way in which stakeholders expect the system to be used.

Growth Scenario: Revolves around expected modification, changes in performance or availability porting to other platforms, integration with other software and so forth.

Exploratory scenarios: Dramatic new performance or availability requirements.

Page 8: Overall Evaluation of Software Architecture By Ashwin Somaiah

Testing

At this point one of the three things may happen: The scenario will match and essentially duplicate an already

existing leaf node. The scenario will go into a new leaf node of an already existing

branch. The scenario will fit into no branch of the tree because it expresses

a quality attribute not previously accounted for.

8) Analyze the architectural approaches:Once all the scenarios have been collected and analyzed the evaluation team guides the architect in the process of carrying out the highest ranked scenarios from the previous step.

Page 9: Overall Evaluation of Software Architecture By Ashwin Somaiah

Reporting

9) Present the results:Identifying themes and then relating them to specific drivers precipitates two effects:

It brings the evaluation full circle by relating the final results to the initial presentation.

It elevates the risks that were uncovered to the attention of the management.

Page 10: Overall Evaluation of Software Architecture By Ashwin Somaiah

Thank You