Dr. Amir Tomer, PMP, CSEP 
Head of Department 
Software and Information Systems Engineering 
amir@amirtomer.com
Quality Attributes 
Quality Attributes & Constraints 
(Non-functional Requirements) 
• Define the solution quality 
– How well does the system carry out its 
functional requirements? 
• Performance 
• Availability 
• Security 
• Interoperability 
• … 
Functional Requirements 
• Define the solution contents 
– What is the system required to 
do? 
Quality Attributes & Constraints 
Design / 
Implementation 
Functional Requirements 
Solution Domain 
Dr. Amir Tomer, ISQ Conference, 2014 2 Extracting Quality Scenarios from Functional Scenarios
The Conflict 
• System specifications concentrate mainly on functional 
requirements 
– They describe the purpose of the system 
– They are conceptual (implementation-free) 
– They remain valid even when quality attributes change 
Whereas… 
• The system architecture is driven mainly by quality attributes, e.g. 
– Using redundancy to improve availability 
– Using load-balancing to improve performance 
– Using fire walls to improve security 
– … 
These do not affect the 
basic functionality, 
but may impose 
additional functionality to 
provide quality 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 3 Quality Scenarios from Functional Scenarios
Car Navigation System 
Define Trip 
Locate Self 
Send Report 
Driver 
Navigate along 
Route 
Maps Provider 
Get Map 
Get Road Status 
GPS 
Deviation from 
Route 
Reports Provider 
Calculate Route 
«include» 
«include» 
«include» 
«include» 
«include» 
«include» 
«extend» 
Use Cases as Functional Scenarios 
• Functional Scenarios are often specified as Use Cases 
• A Use Case is a service (function) performed by a system through interaction with a set 
of external Actors, of two kinds 
– Primary Actors, who initiate Use Cases to achieve their goals 
– Supporting Actors, with whom the system interacts for accomplishing the Primary 
Actors’ goal 
• UML’s Use Case Diagram depicts the set 
of Use Cases within a system and their 
associated Actors 
• A single Use Case may have various scenarios, 
but these are not depicted in the 
Use Case Diagram 
Example: 
Use Case Diagram of a 
Car Navigation System 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 4 Quality Scenarios from Functional Scenarios
Use Case Specifications (Functional Scenarios) 
• The various courses of interaction through a certain Use Case are captured in 
a Use Case Specification, which comprises the following ingredients: 
UC-# UC Name 
Actors & Goals Primary actors and their stated goals 
Supporting actors and their roles 
Other 
Stakeholders 
Stakeholders that are not actors and their interests (business benefits, quality attributes) in this 
specific UC 
Pre-conditions Conditions/presumptions which must hold to enable the use case 
Post-Conditions Desirable (success) results after use case completion 
Trigger The event (either by a primary actor or by the system itself) that “starts-up” the UC 
Main Success 
Scenario (MSS) 
A set of steps which describe the “most straightforward” interaction to achieve the post-conditions 
Branches Other possible scenarios which may lead either to success (alternatives) or failure (exceptions) 
in fulfilling the post-conditions 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 5 Quality Scenarios from Functional Scenarios
Functional Analysis and Functional Architecture 
• From the system’s point of view, a functional scenario is a sequence of 
applying system functions 
• Functional Analysis is the process of identifying system functions and 
allocating each function to one or more functional components 
• The set of functional components, their internal and external interface can be 
considered as Functional Architecture 
• For example, let us consider a simple car navigation system, arranged in a 
client-server architecture, as follows: 
Car Unit Maps & Reports Server 
GPS Satellite 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 6 Quality Scenarios from Functional Scenarios
Functional Scenario – Example 
• A typical Main Success Scenario (MSS) of the “Navigate Along 
Route” use-case might look as follows: 
Trigger The driver presses the “Start Navigation” button 
Main Success Scenario 
(MSS) 
1. The system enters “Navigate” Mode 
2. The system retrieves the pre-defined route (See “Define Trip” UC) 
3. The system retrieves a relevant map area 
4. If the locally stored map data is missing – the system downloads map data from the 
server 
5. The system displays the map and route 
6. The system gets the current location from the GPS 
7. If the location is off route – the system re-calculates the route (See “Calculate Route” UC) 
8. Back to step 4 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 7 Quality Scenarios from Functional Scenarios
Functional Analysis and Functional Architecture – Example 
• Applying the Functional Analysis process to the navigation scenario 
might yield the following functional architecture: 
GPS Signals 
User 
Commands 
User 
Displays 
Locator 
GUI 
Map 
Download 
Nav igation App 
Map Serv ices 
Allocated Function 
(Extracted from the 
functional scenario): 
“download map data 
from the server” 
Maps 
Location 
Commands 
Displays 
Static Binding 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 8 Quality Scenarios from Functional Scenarios
Quality Scenarios* 
• Quality Scenarios specify how to prevent 
a fault from becoming a failure 
*Bass, L., Clements, P. and Kazman, R., Software Architecture in Practice, 3rd Edition, Addison-Wesley, 2012 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 9 Quality Scenarios from Functional Scenarios
Relations between Functional Scenarios and Quality Scenarios 
• Quality scenarios do not stand by themselves 
– They usually occur during functional scenarios 
– Therefore it would be beneficial to associate the ingredients of quality 
scenarios with those of functional scenarios (use cases) as follows: 
• Actors 
• Pre-conditions 
• Trigger 
• Main Success 
Scenario 
• Branches 
– Alternatives 
– Exceptios 
• Post-conditions 
Source • 
Environment • 
Stimulus • 
Response • 
Response Measurement • 
Artifact • 
Any system element 
To which the relevant 
Functionality is allocated 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 10 Quality Scenarios from Functional Scenarios
Discovering Quality Attributes in the Functional Scenario 
• Quality attributes can be discovered in the functional scenarios by 
applying the “how well?” questions to the functions in the scenario 
– For example: 
Trigger The driver presses the “Start Navigation” button 
Main Success Scenario 
(MSS) 
Is the driver aware? 
(usability) 
1. The system enters “Navigate” Mode 
2. The system retrieves the pre-defined route (See “Define Trip” UC) 
3. The system retrieves a relevant map area 
4. If the locally stored map data is missing – the system downloads map data from the 
server 
5. The system displays the map and route 
6. The system gets the current location from the GPS 
7. If the location is off route – the system re-calculates the route (See “Calculate Route” UC) 
8. Back to step 4 
Does the server respond 
within TBD seconds? 
(availability) 
Is the location precise? 
(performance) 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 11 Quality Scenarios from Functional Scenarios
Applying Response Tactics 
• Regarding the server availability issue of the last example 
– A stimulus (fault) occurs by getting no response from the server within TBD 
seconds 
– One of the tactics for handling availability is redundancy 
• So the server may be multiplied 
– This may add a branch (alternative) to the scenario, as follows: 
Trigger The driver presses the “Start Navigation” button 
Main Success Scenario 
(MSS) 
1. The system enters “Navigate” Mode 
2. The system retrieves the pre-defined route (See “Define Trip” UC) 
3. The system retrieves a relevant map area 
4. If the locally stored map data is missing – the system downloads map data from the 
server 
5. The system displays the map and route 
6. The system gets the current location from the GPS 
7. If the location is off route – the system re-calculates the route (See “Calculate Route” UC) 
8. Back to step 4 
Branch A Alternative in step 4 of MSS: The server did not respond within TBD seconds 
4A1. The system suggests an alternative server 
4A2. Back to step 4 A new function! 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 12 Quality Scenarios from Functional Scenarios
Back to Functional Analysis 
• The newly discovered function should now be allocated to a functional 
component 
– If none of the components can handle this function, a new functional component 
may be added 
• The following modified architecture applies 3 architecture techniques 
– Redundancy 
– Mediation (“broker”) pattern 
– Late binding 
GPS Signals 
User 
Commands 
User 
Displays 
Locator 
GUI 
Map 
Download 
Nav igation App 
Map Broker 
Status 
1..* 
Map Serv ices 
Static Binding 
Map Requests 
Dynamic Binding 
Maps 
Displays 
Location 
Commands 
Mediation 
Redundancy 
Dynamic 
Binding 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 13 Quality Scenarios from Functional Scenarios
Conclusion 
• Quality Scenarios can be extracted from Functional (use-case) 
scenarios 
– They are added as branches to the existing scenario 
– They may impose architectural changes 
• This process is applied iteratively during architectural design 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 14 Quality Scenarios from Functional Scenarios
References 
1. Jacobson I., Christerson M., Jonsson P., Övergaard G., Object- 
Oriented Software Engineering - A Use Case Driven Approach, 
Addison-Wesley, 1992 
2. Cockburn, A., Writing Effective Use Cases. Addison-Wesley, 2001. 
3. Writing Use Case Scenarios for Model Driven Development, 
http://www.sparxsystems.com/downloads/quick/writing-structured- 
use-case-scenarios-mdd.pdf 
4. Bass, L., Clements, P. and Kazman, R., Software Architecture in 
Practice, 3rd Edition, Addison-Wesley, 2012. 
5. Bachmann, F., Use Cases Quality Attribute Scenarios, SEI, Carnegie- 
Mellon University, 
http://www.cac.cornell.edu/VW/usecases/default.aspx 
Dr. Amir Tomer, ISQ Conference, 2014 Extracting 15 Quality Scenarios from Functional Scenarios
Any questions? 
amir@amirtomer.com 
052-8890202 
16 Extracting Dr. Amir Tomer, ISQ Conference, 2014 Quality Scenarios from Functional Scenarios

Extracting Quality Scenarios from Functional Scenarios

  • 1.
    Dr. Amir Tomer,PMP, CSEP Head of Department Software and Information Systems Engineering amir@amirtomer.com
  • 2.
    Quality Attributes QualityAttributes & Constraints (Non-functional Requirements) • Define the solution quality – How well does the system carry out its functional requirements? • Performance • Availability • Security • Interoperability • … Functional Requirements • Define the solution contents – What is the system required to do? Quality Attributes & Constraints Design / Implementation Functional Requirements Solution Domain Dr. Amir Tomer, ISQ Conference, 2014 2 Extracting Quality Scenarios from Functional Scenarios
  • 3.
    The Conflict •System specifications concentrate mainly on functional requirements – They describe the purpose of the system – They are conceptual (implementation-free) – They remain valid even when quality attributes change Whereas… • The system architecture is driven mainly by quality attributes, e.g. – Using redundancy to improve availability – Using load-balancing to improve performance – Using fire walls to improve security – … These do not affect the basic functionality, but may impose additional functionality to provide quality Dr. Amir Tomer, ISQ Conference, 2014 Extracting 3 Quality Scenarios from Functional Scenarios
  • 4.
    Car Navigation System Define Trip Locate Self Send Report Driver Navigate along Route Maps Provider Get Map Get Road Status GPS Deviation from Route Reports Provider Calculate Route «include» «include» «include» «include» «include» «include» «extend» Use Cases as Functional Scenarios • Functional Scenarios are often specified as Use Cases • A Use Case is a service (function) performed by a system through interaction with a set of external Actors, of two kinds – Primary Actors, who initiate Use Cases to achieve their goals – Supporting Actors, with whom the system interacts for accomplishing the Primary Actors’ goal • UML’s Use Case Diagram depicts the set of Use Cases within a system and their associated Actors • A single Use Case may have various scenarios, but these are not depicted in the Use Case Diagram Example: Use Case Diagram of a Car Navigation System Dr. Amir Tomer, ISQ Conference, 2014 Extracting 4 Quality Scenarios from Functional Scenarios
  • 5.
    Use Case Specifications(Functional Scenarios) • The various courses of interaction through a certain Use Case are captured in a Use Case Specification, which comprises the following ingredients: UC-# UC Name Actors & Goals Primary actors and their stated goals Supporting actors and their roles Other Stakeholders Stakeholders that are not actors and their interests (business benefits, quality attributes) in this specific UC Pre-conditions Conditions/presumptions which must hold to enable the use case Post-Conditions Desirable (success) results after use case completion Trigger The event (either by a primary actor or by the system itself) that “starts-up” the UC Main Success Scenario (MSS) A set of steps which describe the “most straightforward” interaction to achieve the post-conditions Branches Other possible scenarios which may lead either to success (alternatives) or failure (exceptions) in fulfilling the post-conditions Dr. Amir Tomer, ISQ Conference, 2014 Extracting 5 Quality Scenarios from Functional Scenarios
  • 6.
    Functional Analysis andFunctional Architecture • From the system’s point of view, a functional scenario is a sequence of applying system functions • Functional Analysis is the process of identifying system functions and allocating each function to one or more functional components • The set of functional components, their internal and external interface can be considered as Functional Architecture • For example, let us consider a simple car navigation system, arranged in a client-server architecture, as follows: Car Unit Maps & Reports Server GPS Satellite Dr. Amir Tomer, ISQ Conference, 2014 Extracting 6 Quality Scenarios from Functional Scenarios
  • 7.
    Functional Scenario –Example • A typical Main Success Scenario (MSS) of the “Navigate Along Route” use-case might look as follows: Trigger The driver presses the “Start Navigation” button Main Success Scenario (MSS) 1. The system enters “Navigate” Mode 2. The system retrieves the pre-defined route (See “Define Trip” UC) 3. The system retrieves a relevant map area 4. If the locally stored map data is missing – the system downloads map data from the server 5. The system displays the map and route 6. The system gets the current location from the GPS 7. If the location is off route – the system re-calculates the route (See “Calculate Route” UC) 8. Back to step 4 Dr. Amir Tomer, ISQ Conference, 2014 Extracting 7 Quality Scenarios from Functional Scenarios
  • 8.
    Functional Analysis andFunctional Architecture – Example • Applying the Functional Analysis process to the navigation scenario might yield the following functional architecture: GPS Signals User Commands User Displays Locator GUI Map Download Nav igation App Map Serv ices Allocated Function (Extracted from the functional scenario): “download map data from the server” Maps Location Commands Displays Static Binding Dr. Amir Tomer, ISQ Conference, 2014 Extracting 8 Quality Scenarios from Functional Scenarios
  • 9.
    Quality Scenarios* •Quality Scenarios specify how to prevent a fault from becoming a failure *Bass, L., Clements, P. and Kazman, R., Software Architecture in Practice, 3rd Edition, Addison-Wesley, 2012 Dr. Amir Tomer, ISQ Conference, 2014 Extracting 9 Quality Scenarios from Functional Scenarios
  • 10.
    Relations between FunctionalScenarios and Quality Scenarios • Quality scenarios do not stand by themselves – They usually occur during functional scenarios – Therefore it would be beneficial to associate the ingredients of quality scenarios with those of functional scenarios (use cases) as follows: • Actors • Pre-conditions • Trigger • Main Success Scenario • Branches – Alternatives – Exceptios • Post-conditions Source • Environment • Stimulus • Response • Response Measurement • Artifact • Any system element To which the relevant Functionality is allocated Dr. Amir Tomer, ISQ Conference, 2014 Extracting 10 Quality Scenarios from Functional Scenarios
  • 11.
    Discovering Quality Attributesin the Functional Scenario • Quality attributes can be discovered in the functional scenarios by applying the “how well?” questions to the functions in the scenario – For example: Trigger The driver presses the “Start Navigation” button Main Success Scenario (MSS) Is the driver aware? (usability) 1. The system enters “Navigate” Mode 2. The system retrieves the pre-defined route (See “Define Trip” UC) 3. The system retrieves a relevant map area 4. If the locally stored map data is missing – the system downloads map data from the server 5. The system displays the map and route 6. The system gets the current location from the GPS 7. If the location is off route – the system re-calculates the route (See “Calculate Route” UC) 8. Back to step 4 Does the server respond within TBD seconds? (availability) Is the location precise? (performance) Dr. Amir Tomer, ISQ Conference, 2014 Extracting 11 Quality Scenarios from Functional Scenarios
  • 12.
    Applying Response Tactics • Regarding the server availability issue of the last example – A stimulus (fault) occurs by getting no response from the server within TBD seconds – One of the tactics for handling availability is redundancy • So the server may be multiplied – This may add a branch (alternative) to the scenario, as follows: Trigger The driver presses the “Start Navigation” button Main Success Scenario (MSS) 1. The system enters “Navigate” Mode 2. The system retrieves the pre-defined route (See “Define Trip” UC) 3. The system retrieves a relevant map area 4. If the locally stored map data is missing – the system downloads map data from the server 5. The system displays the map and route 6. The system gets the current location from the GPS 7. If the location is off route – the system re-calculates the route (See “Calculate Route” UC) 8. Back to step 4 Branch A Alternative in step 4 of MSS: The server did not respond within TBD seconds 4A1. The system suggests an alternative server 4A2. Back to step 4 A new function! Dr. Amir Tomer, ISQ Conference, 2014 Extracting 12 Quality Scenarios from Functional Scenarios
  • 13.
    Back to FunctionalAnalysis • The newly discovered function should now be allocated to a functional component – If none of the components can handle this function, a new functional component may be added • The following modified architecture applies 3 architecture techniques – Redundancy – Mediation (“broker”) pattern – Late binding GPS Signals User Commands User Displays Locator GUI Map Download Nav igation App Map Broker Status 1..* Map Serv ices Static Binding Map Requests Dynamic Binding Maps Displays Location Commands Mediation Redundancy Dynamic Binding Dr. Amir Tomer, ISQ Conference, 2014 Extracting 13 Quality Scenarios from Functional Scenarios
  • 14.
    Conclusion • QualityScenarios can be extracted from Functional (use-case) scenarios – They are added as branches to the existing scenario – They may impose architectural changes • This process is applied iteratively during architectural design Dr. Amir Tomer, ISQ Conference, 2014 Extracting 14 Quality Scenarios from Functional Scenarios
  • 15.
    References 1. JacobsonI., Christerson M., Jonsson P., Övergaard G., Object- Oriented Software Engineering - A Use Case Driven Approach, Addison-Wesley, 1992 2. Cockburn, A., Writing Effective Use Cases. Addison-Wesley, 2001. 3. Writing Use Case Scenarios for Model Driven Development, http://www.sparxsystems.com/downloads/quick/writing-structured- use-case-scenarios-mdd.pdf 4. Bass, L., Clements, P. and Kazman, R., Software Architecture in Practice, 3rd Edition, Addison-Wesley, 2012. 5. Bachmann, F., Use Cases Quality Attribute Scenarios, SEI, Carnegie- Mellon University, http://www.cac.cornell.edu/VW/usecases/default.aspx Dr. Amir Tomer, ISQ Conference, 2014 Extracting 15 Quality Scenarios from Functional Scenarios
  • 16.
    Any questions? amir@amirtomer.com 052-8890202 16 Extracting Dr. Amir Tomer, ISQ Conference, 2014 Quality Scenarios from Functional Scenarios