Scenario-Based Analysis of Software Architecture

advertisement
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.
Download