Professional Documents
Culture Documents
Goal(s) With This Lecture
Goal(s) With This Lecture
Goal(s) With This Lecture
Architecture Evaluation
Purpose
Do we meet the quality requirements on the system? Increase understanding of system Are all requirements accounted for? Done Early Costly to realise that quality requirements are not met once system is developed Costly to change a system post-facto Leads to patchy systems to change post-facto Identify weak spots in architecture Identify paths to improvements
Different Methods
Early Architecture Evaluation Will we satisfy quality requirements (potential of architecture) Late Architecture Evaluation Hard metrics How did we do? What needs to be improved for the next release?
Inspections
Formal process to review documents (or code) Inspection group identify major and minor faults Example: No compiled code until inspected student project. Cf. Cleanroom software development.
Based on Mathematical Models Often domain-specic (E.g. High-performance computing, real-time systems) ABAS (ATAM) Other Software Inspections
Simulation-based
Build model of architecture Build parts of architecture Simulate system Measure
SAAM
Involves all stakeholders of software architecture Are all interests accounted for in architecture?
Use Architecture Description Languages (ADL) to (formally) describe architecture (build model): Often domain specic Examples: Aesop, ArTek, C2, Darwin, LILEANNA, MetaH, Rapide, SADL, UniCon, Weaves, Wright, ACME.
1. 2. 3. 4.
Develop scenarios Describe Candidate Architecture Classify Scenarios (direct & indirect) Perform Scenario Evaluations (needed changes to support scenario, costs of changes) 5. Reveal Scenario Interaction (scenarios requiring changes in same component of system (may indicate fat components)) 6. Overall Evaluation (Weighting of scenarios)
ATAM
1. 2. 3. 4. 5. 6. 7. 8. 9. Based on SAAM Focus on Quality Attributes Identify trade-offs between quality attributes ??? Present ATAM to stakeholders Present business drivers (context & need of system) Present architecture Identify Architectural Approaches Generate Quality Attribute Utility Tree (develop scenarios) Analyse Architectural Approaches Brainstorm and prioritize scenarios (general scenarios) Analyse architectural approaches (wrt scenarios from step 7) Present Results
Introducing Method
Discuss!
(4)
Differences between Individual Views Different Backgrounds Different Experiences Different Interpretations Better Joint Understanding Avoid differing interpretations later Where they would cause problems
Conclusions
Further Understanding through: Structured way of Expressing Knowledge Focussed Discussions Avoid Problems Later Dene Goal of Architecture Evaluation!