Architectural evaluation Flashcards
What is The Architectural Tradeoff Analysis Method (ATAM)?
What is architectural Software Quality Assurance (aSQA)?
What is architectural evaluation?
Architecture is such an important contributor to the success of a system and software engineering project that it makes sense to pause and make sure that the architecture you’ve designed will be able to provide all that’s expected of it. That’s the role of evaluation.
When do we evaluate the architecture?
Typically when architecture is designed, but design not implemented.
I.e., early in a cycle in an iteration – where we can still change things.
E.g., “We have designed this architecture will it possibly fit the quality requirements?”
…
Could also be earlier – when we do not have a design…
E.g., “Will any architecture meet these quality requirements?”
…
Could also be later – when we have an implementation…
E.g., ”We have these requirements; could this COTS system be customized to fulfill them?”
Evaluate architecture for existing system.
Possible purchase, redesign, evolution, …
Who performs the evaluation?
Evaluation team
* Preferably not process staff (objectivity reasons)
* Often architect himself…
Project stakeholders
*Articulate requirements
etc.. etc..
Needs depend on the actual type of evaluation. From little stakeholder involvement to continuous involvement
What three forms can evaluation usually take?
- Eveluation by the designer within the design process
- Evaluation by peers within the design process
- Analysis by outsiders once the architecture has been designed
After architectural analysis, what questioning techniques exist to move over to Architectural evaluation?
Analytical
*Any project artifact
*Typically in the form of a review
*Any state of completeness
Subtypes
*Questionnaires
*Checklists
* Scenario-based methods
What are the questionaires pros and vons?
- Interview-based list of relatively open questions
- Generic questions that can be reused/adopted
- Focus on both process and product questions
Pros:
* Apply to all architectures
* Can already be used early in the design
Cons:
* Abstract input (can) result to unconcreted results
* The quality of the review relies on the ability of
the stakeholders
What are the checklis pros and cons?
- Pre-defined checklist Interview-based list of
relatively open questions
Pros:
* Validated and proven method
* Time & resource efficient – value for money
Cons:
* Specific to a domain or focus area
* Fail to identify issues in the intersection of fields
What is a scenario in scenario-based methods?
Description of interaction with system from the point of view of a stakeholder.
System-specific – developed as part of project.
What types of scenario-based methods exists?
Quality Attribute Workshops (QAW)
* Structured way of involving stakeholders in scenario generation and prioritization
Architecture Tradeoff Analysis Method (ATAM)
* Creates utility trees to represent quality attribute requirements
* Analysis of architectural decisions to identify sensitivity points, tradeoffs, and risks
Software Architecture Analysis Method (SAAM)
* Brainstorming of modifiability and functionality scenarios
* Scenario walkthrough to verify functionality support and estimate change costs
Active Reviews for Intermediary Designs (ARID)
Survivable Network analysis method (SNA)
What are measurement techniques used for?
May answer specific quality attribute scenarios. Cf. experimental vs. exploratory prototyping
What are the prerequisitie of starting to use measurement techniques?
Artifacts to do measurements on…
After architectural analysis, what measurement techniques exist to move over to Architectural evaluation?
Metrics
Simulation, prototypes, experiments.
Domain-specific analyses. E.g., Rate-Monotonic Analysis
ADL-based.
What are the goals of ATAM? (Architectecture Tradeoff analysis method)
Reveal how well architecture satisfies quality goals
Insight into tradeoffs among quality attributes
Identify risks