pr 005 qa_workshop
DESCRIPTION
Manual for the quTRANSCRIPT
Vakgroep Informatietechnologie – IBCN
Software EngineeringProf.Dr.ir. F. Gielen
Quality Attribute Workshop
Workshop Overview
1. Build the Quality Attribute Tree
2. Elaborate 3 quality attribute scenarios
3. Map to architecture tactics
p. 2 Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Quality Attributes
Quality Attributes are non functional requirements related to the ABC.
They are documented using Quality Attribute Scenarios. (NOT in UML)
p. 3 Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
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).
p. 4 Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Utility Tree Example
p. 5
ROOT LVL 1 LVL 2 LVL 3 Short Scenario:• Stimulus• Context• Response
Importance:• business• technical
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
p. 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
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
p. 7 Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
p. 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
Example : JBOSS Quality Attributes
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 9
Workshop Overview
1. Build the Quality Attribute Tree
2. Elaborate 3 quality attribute scenarios
3. Map to architecture tactics
p. 10 Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Generic QA Scenarios
Every quality attribute has a generic scenario. It contains the characteristics and the common
vocabulary used to describe each of the sections in the specific QA scenario.
Examples: Performance Modifiability Usability Security
p. 11
Performance QAS
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
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
p. 12 Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Performance Generic QAS
p. 13
Source
External
Internal
events
Environment
Normal mode
Overload mode
Reduced Capacity mode
Measure
Latency
Deadline
Throughput
Capacity
Jitter
Miss rate
Response
Change in system mode
or
service level.
Stimulus
Periodic
Sporadic
Stochastic
Bursty
events
Artifact
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Modifiabililty Generic QAS
p. 14
SourceDeveloper
Sys admin
User
Environment- Design
- Build
- Deploy
- Runtime
Measure
# of artifacts
Effort
Time
Cost
Impact
New defects
Response- Change,
- Test
- Deploy
StimulusModify:
- Functions
- Qualities
- Platform
- Technology
- Scale/Scope
ArtifactCode, Data, Interfaces
Components,
Resources, Configs ..
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Example : Public Transport Signage
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 15
Availability QAS :
Q: What is the architectural impact of this requirement ?
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
Workshop Overview
1. Build the Quality Attribute Tree
2. Elaborate 3 quality attribute scenarios
3. Map to architecture tactics
p. 16 Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 17
Performance Tactics: Summary
Performance
Resource
Demand Resource
Management
Resource
Arbitration
Response
generated
within
Time Constraints
Event
Arrives
•Increase computational efficiency
•Reduce computational overhead
•Manage Event Rate
•Control Frequency of Sampling
•Introduce concurrency
•Maintain multiple copies
•Increase available resources
•Scheduling
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 18
Modifiability Tactics: summary
Change
Request
Arrives
Changes made,
Tested and Deployed
on Time,
within Budget
Modifiability
Reduce
SizeIncrease
Cohesion
Defer
Binding Time
Encapsulation
Wrap
Restrict communication paths
Use an intermediary
Split modules
Increase Semantic Coherence
Abstract Common Services
Reduce
Coupling
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
QAW Resources
Quality Attributes Technical Report CMU/SEI-95-TR-021
Summary of generic QA scenario’s
ISO 25010 publication: SQuaRE quality model
p. 20 Vakgroep Informatietechnologie – Onderzoeksgroep IBCN