210 likes | 451 Views
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
E N D
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
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 (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 (8/11) • 4. Reveal scenario interactions • Focus on scenarios with the most interactions.
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.