Difference between revisions of "Architecture Evaluation"
From Suhrid.net Wiki
Jump to navigationJump to searchLine 34: | Line 34: | ||
* Recognises that an arch. decision tends to affect more than one quality attribute and provides insight into how quality goals trade-off against each other. | * Recognises that an arch. decision tends to affect more than one quality attribute and provides insight into how quality goals trade-off against each other. | ||
− | = Participants in ATAM = | + | == Participants in ATAM == |
* Evaluation team - Group is external to the project whose arch. is being evaluated. Should be competent, unbiased outsiders. | * Evaluation team - Group is external to the project whose arch. is being evaluated. Should be competent, unbiased outsiders. | ||
Line 40: | Line 40: | ||
* Architecture stakeholders - Developers, Testers, Users, Maintainers. They are needed to articulate the specific quality attribute goals. | * Architecture stakeholders - Developers, Testers, Users, Maintainers. They are needed to articulate the specific quality attribute goals. | ||
− | = Goals of ATAM = | + | == Goals of ATAM == |
* Elicit and refine a precise statement of the architecture’s driving quality attribute requirements | * Elicit and refine a precise statement of the architecture’s driving quality attribute requirements | ||
Line 46: | Line 46: | ||
* Evaluate the architectural design decisions to determine if they satisfactorily address the quality requirements | * Evaluate the architectural design decisions to determine if they satisfactorily address the quality requirements | ||
− | = Outputs of ATAM = | + | == Outputs of ATAM == |
* A concise presentation of the architecture. Requirement is to be concise - so that it is understandable. | * A concise presentation of the architecture. Requirement is to be concise - so that it is understandable. | ||
Line 58: | Line 58: | ||
* A set of risk themes. | * A set of risk themes. | ||
− | = Phases of ATAM = | + | == Phases of ATAM == |
* Partnership and preparation phase - Eval team and project decision makers. | * Partnership and preparation phase - Eval team and project decision makers. | ||
Line 65: | Line 65: | ||
* Follow up - Eval team and eval client. | * Follow up - Eval team and eval client. | ||
− | = Evaluation phase steps = | + | == Evaluation phase steps == |
− | == 1. Present the ATAM == | + | +== 1. Present the ATAM === |
* Eval leader presents the ATAM to the project team. | * Eval leader presents the ATAM to the project team. | ||
− | == 2. Present Business Drivers == | + | === 2. Present Business Drivers === |
* Project decision maker presents a system overview from a business perspective. | * Project decision maker presents a system overview from a business perspective. | ||
Line 77: | Line 77: | ||
* Architectural Drivers. | * Architectural Drivers. | ||
− | == 3. Present Architecture == | + | === 3. Present Architecture === |
* Lead architect makes a presentation describing the arch. | * Lead architect makes a presentation describing the arch. | ||
Line 83: | Line 83: | ||
* Uses views to describe the architecture. | * Uses views to describe the architecture. | ||
− | == 4. Identify Architectural Approaches == | + | === 4. Identify Architectural Approaches === |
* Evaluation team lists and catalogues all the patterns and approaches that are evident from the architects presentation. | * Evaluation team lists and catalogues all the patterns and approaches that are evident from the architects presentation. | ||
− | == 5. Generate Quality Attribute Tree == | + | === 5. Generate Quality Attribute Tree === |
* Identify, prioritize and refine the system's most important quality attributes. | * Identify, prioritize and refine the system's most important quality attributes. | ||
Line 96: | Line 96: | ||
* The tree tells the ATAM team where to spend its time. | * The tree tells the ATAM team where to spend its time. | ||
− | == 6. Analyse Architectural Approaches == | + | === 6. Analyse Architectural Approaches === |
* Examines the highest ranked scenarios one at a time. | * Examines the highest ranked scenarios one at a time. | ||
Line 102: | Line 102: | ||
* e.g. no of DB clients affects TPS. Assignment of clients is thus a sensitivity point. | * e.g. no of DB clients affects TPS. Assignment of clients is thus a sensitivity point. | ||
− | == Hiatus and start of Phase 2 == | + | === Hiatus and start of Phase 2 === |
* Evaluation team summarizes the learning and communicates with architect. | * Evaluation team summarizes the learning and communicates with architect. | ||
* Questions and clarifications answered. | * Questions and clarifications answered. | ||
− | == 7. Brainstorm and prioritise scenarios == | + | === 7. Brainstorm and prioritise scenarios === |
* Create and analyse scenarios that represent the various stakeholders’ interests to understand quality attribute requirements and their relative importance. | * Create and analyse scenarios that represent the various stakeholders’ interests to understand quality attribute requirements and their relative importance. | ||
Line 114: | Line 114: | ||
* Compare scenario list from this exercise with those from the utility tree exercise. | * Compare scenario list from this exercise with those from the utility tree exercise. | ||
− | == 8. Analyse Architectural Approaches == | + | === 8. Analyse Architectural Approaches === |
* Analyse highly ranked brainstormed scenarios from previous steps in same manner as step 6. | * Analyse highly ranked brainstormed scenarios from previous steps in same manner as step 6. | ||
* i.e. identify sensitivity points, tradeoffs, risks. | * i.e. identify sensitivity points, tradeoffs, risks. | ||
− | == 9. Present Results == | + | === 9. Present Results === |
* All collected info from ATAM needs to be summarized and presented to stakeholders. | * All collected info from ATAM needs to be summarized and presented to stakeholders. | ||
* Arch approaches, utility tree, discovered risks, non risks, sensitivity points and trade-offs. | * Arch approaches, utility tree, discovered risks, non risks, sensitivity points and trade-offs. | ||
* Value addition by grouping risks into risk themes and relate them to business drivers. | * Value addition by grouping risks into risk themes and relate them to business drivers. |
Revision as of 14:38, 9 April 2012
Contents
- 1 Intro
- 2 SAAM
- 3 ATAM
- 3.1 Participants in ATAM
- 3.2 Goals of ATAM
- 3.3 Outputs of ATAM
- 3.4 Phases of ATAM
- 3.5 Evaluation phase steps
- 3.5.1 2. Present Business Drivers
- 3.5.2 3. Present Architecture
- 3.5.3 4. Identify Architectural Approaches
- 3.5.4 5. Generate Quality Attribute Tree
- 3.5.5 6. Analyse Architectural Approaches
- 3.5.6 Hiatus and start of Phase 2
- 3.5.7 7. Brainstorm and prioritise scenarios
- 3.5.8 8. Analyse Architectural Approaches
- 3.5.9 9. Present Results
Intro
- Design decisions, patterns are used because of the effects they have on the system.
- Hence, these choices are analysable.
- Design must be evaluated continuously during the life cycle, especially early on.
- There are many benefits to evaluation:
- Financial.
- Early detection of problems.
- Captured rationale - Documented design rationale is important so that implications of modifications can be assessed.
- Validation of requirements - opens up the requirements themselves for discussion. e.g. conflicting requirements.
- Improved architectures.
- Use scenarios as vehicles for asking probing questions about how the arch. responds to various situations.
- Propose scenarios against a quality attribute.
- For e.g. against performance - give usage profiles that stretch the system.
SAAM
- Software Architecture Analysis Method.
- Steps:
- Develop scenarios
- Describe candidate architecture
- Classify scenarios - direct (arch directly support) or indirect.
- Perform scenario evaluations - For each indirect scenario, changes to the architecture that are necessary for it to support the scenario.
- Reveal scenario interaction - When 2 or more indirect scenarios require change to a single component - they are said to interact in that component. Areas of high scenario interaction
can indicate poor separation of concerns in a system component.
- Overall evaluation : Tabulation, weighting of scenarios, rating architecture support. To compare candidate architectures.
ATAM
- Architectural Tradeoff Analysis Method.
- ATAM is a refinement of SAAM.
- ATAM reveals how well an architecture satisfies particular quality goals.
- Recognises that an arch. decision tends to affect more than one quality attribute and provides insight into how quality goals trade-off against each other.
Participants in ATAM
- Evaluation team - Group is external to the project whose arch. is being evaluated. Should be competent, unbiased outsiders.
- Project decision makers - Speak on behalf of the project or have authority to make changes to it. The architect must always be included.
- Architecture stakeholders - Developers, Testers, Users, Maintainers. They are needed to articulate the specific quality attribute goals.
Goals of ATAM
- Elicit and refine a precise statement of the architecture’s driving quality attribute requirements
- Elicit and refine a precise statement of the architectural design decisions
- Evaluate the architectural design decisions to determine if they satisfactorily address the quality requirements
Outputs of ATAM
- A concise presentation of the architecture. Requirement is to be concise - so that it is understandable.
- Articulation of business goals.
- Quality requirements in terms of a collection of scenarios.
- Mapping of architectural decisions to quality requirements.
- A set of identified sensitivity and trade-off points.
- Senstivity : Where small changes have big impact on QA's.
- Tradeoff : Where more than 1 QA is affected.
- A set of risks and non-risks.
- A set of risk themes.
Phases of ATAM
- Partnership and preparation phase - Eval team and project decision makers.
- Evaluation phase 1 - Eval team and project decision makers.
- Evaluation phase 2 - Eval team and project decision makers and stakeholders.
- Follow up - Eval team and eval client.
Evaluation phase steps
+== 1. Present the ATAM ===
- Eval leader presents the ATAM to the project team.
2. Present Business Drivers
- Project decision maker presents a system overview from a business perspective.
- Business goals, major stakeholders.
- Architectural Drivers.
3. Present Architecture
- Lead architect makes a presentation describing the arch.
- Describes patterns used, tactics, styles. Describes constraints.
- Uses views to describe the architecture.
4. Identify Architectural Approaches
- Evaluation team lists and catalogues all the patterns and approaches that are evident from the architects presentation.
5. Generate Quality Attribute Tree
- Identify, prioritize and refine the system's most important quality attributes.
- Level 0 - Root node - utility, overall expression of how good the system is.
- Level 1 - Quality attributes e.g. performance, modifiability, security.
- Level 2 - Specific quality attribute refinements e.g. - Performance is divided into 1) latency and 2) transaction throughput
- Level 3 - Scenarios. Each scenario is given a priority - Importance, Difficulty of achieving e.g. (High, High), (Medium, Low ), (Low, Low)
- The tree tells the ATAM team where to spend its time.
6. Analyse Architectural Approaches
- Examines the highest ranked scenarios one at a time.
- Probe the architectural approaches in order to identify risks, sensitivity points, and tradeoffs. Document these.
- e.g. no of DB clients affects TPS. Assignment of clients is thus a sensitivity point.
Hiatus and start of Phase 2
- Evaluation team summarizes the learning and communicates with architect.
- Questions and clarifications answered.
7. Brainstorm and prioritise scenarios
- Create and analyse scenarios that represent the various stakeholders’ interests to understand quality attribute requirements and their relative importance.
- Eval team asks stakeholders to brainstorm scenarios.
- Scenarios must be prioritized. Stakeholders vote.
- Compare scenario list from this exercise with those from the utility tree exercise.
8. Analyse Architectural Approaches
- Analyse highly ranked brainstormed scenarios from previous steps in same manner as step 6.
- i.e. identify sensitivity points, tradeoffs, risks.
9. Present Results
- All collected info from ATAM needs to be summarized and presented to stakeholders.
- Arch approaches, utility tree, discovered risks, non risks, sensitivity points and trade-offs.
- Value addition by grouping risks into risk themes and relate them to business drivers.