Scenario-Based Analysis of Software Architecture

Post on 06-Jan-2016

31 views 3 download

description

Scenario-Based Analysis of Software Architecture. Rick Kazman , Gregory Abowd , Len Bass, and Paul Clements Presented by Cuauhtémoc Muñoz. Outline. Software Architecture Analysis Method Overview Software Architecture Analysis Method Activities WRCS: Case Study Advantages of SAAM - PowerPoint PPT Presentation

Transcript of Scenario-Based Analysis of Software Architecture

Scenario-Based Analysis of Software Architecture

Rick Kazman, Gregory Abowd, Len Bass, and Paul Clements

Presented by Cuauhtémoc Muñoz

Outline

• Software Architecture Analysis Method Overview

• Software Architecture Analysis Method Activities

• WRCS: Case Study• Advantages of SAAM• Conclusion

SAAM Overview

• Software Architecture Analysis Method (SAAM)– Scenarios– Quality attributes

• Why Scenarios?– Quality attributes and roles

SAAM Activities

• Describe the candidate architecture• Develop Scenarios• Evaluate each scenario• Reveal scenario interactions• Weight scenarios and scenarios interactions• * Dependencies

SAAM

WRCS: Case Study (1/11)

• WRCS– Version control/configuration management

system.– Functions: create projects, compare files, check

files in and out, create releases, back up to old versions, etc.

WRCS Case Study (2/11)

• Applying SAAM:1. Describe candidate architecture:– Reverse engineering.– Level of abstraction above source code.– Architectural description done iteratively. Three

iterations in this case.

WRCS Case Study (3/11)

WRCS Case Study (4/11)

2. Develop scenarios– Stakeholder representations (e.g. customer).– For the user role:• Compare binary file representations.• Compare binary files generated by other products.• Configure the toolbar.• Manage multiple projects

– For the maintainer role:• Port to another operating system.• Modify the user interface in minor ways.

WRCS Case Study (5/11)

– For the administrator role:• Change access permissions for a project.• Integrate WRCS functionality with a new development

environment.• Port to a different network-management system.

WRCS Case Study (6/11)

3. Evaluate each scenario– Direct and indirect scenarios• Focus on indirect scenarios.

– Estimate the cost of indirect scenarios• Minimal cost (e.g. modifications to a resource file).• Moderate cost (e.g. recompilation).• Considerable cost (e.g. restructuration of code).

WRCS Case Study (7/11)

WRCS Case Study (8/11)

• 4. Reveal scenario interactions– Focus on scenarios with the most interactions.

WRCS Case Study (9/11)

WRCS Case Study (10/11)

5. Weight scenarios and scenario interactions– Prioritize scenarios based on organizational

requirements and preferences of the SAAM user.

WRCS Case Study (11/11)

• Results:– Severe limitations in achieving portability and

modifiability.– SAAM exposed specific product’s limitations in a

simple, straightforward, and cost effective way.

Advantages of SAAM (1/3)

• Enhanced communication– Scenarios.– Visualizations

• Improvement of traditional metrics– Coupling and cohesion• Low coupling, high cohesion.

• Proper description level– Higher level of abstraction

Advantages of SAAM (2/3)

– Mapping of scenarios onto the structure• Highlight components and connections that will be

affected by the change the scenario implies.• Architectural evaluation.• Validation of scenario interaction.• Appropriate level of architectural representation.

– Example:• A case in which multiple indirect scenarios affect a

single module. Three possibilities:

Advantages of SAAM (3/3)

• The scenarios are of the same class.• The scenarios are of different classes and you can

further divide the module.• The scenarios are of different classes and you cannot

further divide the module.

• Efficient scenario generation– Like software testing.

Conclusion

• SAAM has been applied to large-scale industrial systems such as “Global Information System” and “Air Traffic Control System.”

• Future plans include the extension of this technique from maintainability and modifiability to execution-based measures such as performance and reliability.