2. Workshop Overview
1. Build the Quality Attribute Tree
2. Elaborate 3 quality attribute scenarios
3. Map to architecture tactics
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 2
3. Quality Attributes
Quality Attributes
are non functional
requirements related to the ABC.
They are documented using Quality Attribute
Scenarios. (NOT in UML)
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 3
4. The Utility Tree
Quality Attribute Challenges:
Characterizing, Quantification …
Selection & Priority
The Utility tree is top-down approach for:
characterizing the quality attribute requirements –
make them less abstract.
E.g. the system has to be fast …
selecting the most important quality goals to be
the high-level nodes (performance, security,
availability, modificability, maintanibility)
the leaves of the tree are quality scenarios
evaluated by importance (success of the system)
and difficulty (architect’s assessment).
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 4
5. Utility Tree Example
ROOT LVL 1 LVL 2 LVL 3
Importance: Short Scenario:
• business • Stimulus
• technical • Context
• Response
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 5
6. Generating a Quality Attribute Utility Tree
Quality attributes are articulated in detail:
Goal: Elicit the most important quality attributes as short
scenarios.
Root: Utility is an expression of the benefit to the user
or customer.
Level 1: Quality attributes are the second level. The
initial set comes from the business drivers
Level 2: Attribute Refinements.
Level 3: Short scenarios (stimulus, context, response)
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 6
7. Lvl 2 : Attribute Refinement
Make the quality attribute less abstract by
characterizing them based on attribute
taxonomies and generic QAS.
Info can be found in standards (ISO 25010)
Example : Performance
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 7
8. LvL 3: Short Scenario Prioritisation
1. Describe a number of short scenarios based on
attribute refinements.
2. Project decision makers give a relative ranking based
on importance (business goal).
3. Architect gives a ranking based on difficulty to satisfy
the scenario. (technical goal)
4. Each scenario has a (H,H), (H,M),…(L,M),(L,L)
priority assigned.
5. Based on this a selection of scenarios is made for the
purpose of elaboration.
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 8
9. Example : JBOSS Quality Attributes
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 9
10. Workshop Overview
1. Build the Quality Attribute Tree
2. Elaborate 3 quality attribute scenarios
3. Map to architecture tactics
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 10
11. Generic QA Scenarios
Performance QAS
Every quality attribute has a generic scenario.
Itcontains the characteristics and the common
vocabulary used to describe each of the sections in
the specific QA scenario.
Examples:
Performance
Modifiability
Usability
Security
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 11
12. Specific Scenarios
A Quality Attribute Scenario describes:
SOURCE: who or what
STIMULUS: does something
ARTIFACT: to the system or part of it
ENVIRONMENT: under certain conditions
RESPONES: how the system reacts
MEASURE: how you can measure this
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 12
13. Performance Generic QAS
Artifact
Source Stimulus Environment Response Measure
External Periodic Normal mode Change in Latency
Internal Sporadic Overload mode system Deadline
Reduced mode Throughput
events Stochastic
Capacity mode or Capacity
Bursty service Jitter
events level.
Miss rate
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 13
15. Example : Public Transport Signage
Availability QAS :
SOURCE who or what A random event
STIMULUS does something ... causes a failure
ARTIFACT to the system or part of it ... to the communication system
ENVIRONMENT under certain conditions ...during normal operations
RESPONSE how the system reacts All displays must start showing
scheduled arrival times for all
buses
MEASURE how you can measure this ... Within 30 seconds of failure
detection
Q: What is the architectural impact of this requirement ?
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 15
16. Workshop Overview
1. Build the Quality Attribute Tree
2. Elaborate 3 quality attribute scenarios
3. Map to architecture tactics
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 16
17. Performance Tactics: Summary
Performance
Resource Resource
Demand Resource Arbitration
Event •Increase
Management •Scheduling
Response
computational
Arrives efficiency
•Introduce generated
•Reduce concurrency
computational within
•Maintain
overhead
multiple copies Time Constraints
•Manage
•Increase
Event Rate
available
•Control resources
Frequency of
Sampling
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 17
18. Modifiability Tactics: summary
Modifiability
Reduce Defer
Size Binding Time
Split Increase Reduce Changes made,
Change modules Cohesion Coupling
Request Tested and Deployed
Increase Encapsulation
Arrives Semantic Wrap
on Time,
Coherence
Restrict within Budget
Abstract communication
paths
Common
Services Use an
intermediary
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 18
19. QAW: Quality Attribute Workshop
1. Select the quality attributes that provide
utility to the user. (lvl1):
1. Verify the generic QAS & ISO 25015
2. Refine the attributes of this quality (lvl2):
1. Verify attribute taxonomies (ISO25010)
3. Provide short scenario’s (lvl3)
4. Assign priorities to the scenarios.
5. Elaborate the most important scenarios
(6 parts) .
6. Map to tactics
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 19
20. QAW Resources
Quality
Attributes Technical Report CMU/SEI-
95-TR-021
Summary of generic QA scenario’s
ISO 25010 publication: SQuaRE quality model
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 20