scenario-based analysis of software architecture

20
Scenario-Based Analysis of Software Architecture Rick Kazman, Gregory Abowd, Len Bass, and Paul Clements Presented by Cuauhtémoc Muñoz

Upload: aneko

Post on 06-Jan-2016

31 views

Category:

Documents


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

Page 1: 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

Page 2: Scenario-Based Analysis of Software Architecture

Outline

• Software Architecture Analysis Method Overview

• Software Architecture Analysis Method Activities

• WRCS: Case Study• Advantages of SAAM• Conclusion

Page 3: Scenario-Based Analysis of Software Architecture

SAAM Overview

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

• Why Scenarios?– Quality attributes and roles

Page 4: Scenario-Based Analysis of Software Architecture

SAAM Activities

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

Page 5: Scenario-Based Analysis of Software Architecture

SAAM

Page 6: Scenario-Based Analysis of Software Architecture

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.

Page 7: Scenario-Based Analysis of Software Architecture

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.

Page 8: Scenario-Based Analysis of Software Architecture

WRCS Case Study (3/11)

Page 9: Scenario-Based Analysis of Software Architecture

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.

Page 10: Scenario-Based Analysis of Software Architecture

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.

Page 11: Scenario-Based Analysis of Software Architecture

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).

Page 12: Scenario-Based Analysis of Software Architecture

WRCS Case Study (7/11)

Page 13: Scenario-Based Analysis of Software Architecture

WRCS Case Study (8/11)

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

Page 14: Scenario-Based Analysis of Software Architecture

WRCS Case Study (9/11)

Page 15: Scenario-Based Analysis of Software Architecture

WRCS Case Study (10/11)

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

requirements and preferences of the SAAM user.

Page 16: Scenario-Based Analysis of Software Architecture

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.

Page 17: Scenario-Based Analysis of Software Architecture

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

Page 18: Scenario-Based Analysis of Software Architecture

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:

Page 19: Scenario-Based Analysis of Software Architecture

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.

Page 20: Scenario-Based Analysis of Software Architecture

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.