SlideShare a Scribd company logo
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

More Related Content

PPTX
Software Quality Attributes
PPTX
Quality attributes sadhana
PPTX
Functional Specification with Use-Cases
PPT
SharePoint Server and Windows 2008 And SQL 2008 with Joel Oleson and Todd Klindt
PPTX
Quality attributes
PPTX
Quality Attributes In Software Architecture & Design Patterns
PPT
Requirement Analysis - Software Enigneering
PPT
System quality attributes
Software Quality Attributes
Quality attributes sadhana
Functional Specification with Use-Cases
SharePoint Server and Windows 2008 And SQL 2008 with Joel Oleson and Todd Klindt
Quality attributes
Quality Attributes In Software Architecture & Design Patterns
Requirement Analysis - Software Enigneering
System quality attributes

What's hot (20)

DOCX
Quality attribute scenarios
PDF
Software requirements
PDF
Non-functional requirements
PPTX
Functional vs Non-functional Requirements - Which comes first?
PDF
Quality attributes in software architecture
PPT
Critical System Validation in Software Engineering SE21
PPTX
Website's functional and non functional requirements
PPT
Software Engineering Lec 4-requirments
PPTX
SRS(software requirement specification)
PPT
Software Requirements in Software Engineering SE5
PDF
Requirement Engineering
PPT
Depandability in Software Engineering SE16
PPTX
Requirement analysis
PPTX
Requirement and Specification
PDF
Software (requirement) analysis using uml
PPTX
System Quality Attributes for Software Architecture
PPTX
Functional and non functional
PPTX
Software Requirements
PPT
6. FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING.ppt
Quality attribute scenarios
Software requirements
Non-functional requirements
Functional vs Non-functional Requirements - Which comes first?
Quality attributes in software architecture
Critical System Validation in Software Engineering SE21
Website's functional and non functional requirements
Software Engineering Lec 4-requirments
SRS(software requirement specification)
Software Requirements in Software Engineering SE5
Requirement Engineering
Depandability in Software Engineering SE16
Requirement analysis
Requirement and Specification
Software (requirement) analysis using uml
System Quality Attributes for Software Architecture
Functional and non functional
Software Requirements
6. FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING.ppt
Ad

Viewers also liked (20)

PPTX
Designing with tests
PDF
Adaptive Object Model - IASA IL Meeting on Software Evolution (3/2014)
PPTX
Reducing Technical Debt
PPTX
The five expertise of a software architect
PPT
Quality Attributes Workshop
PPTX
Quality attributes in software architecture
PPTX
The Role of the Software Architect
PPTX
Tdd 4 everyone full version
PPTX
Quality attributes testing. From Architecture to test acceptance
PDF
July 2013 Talk, What Industry Needs from Architecture Description Languages
PPTX
Hierarchical Composable Optimization of Web Pages
PPTX
An Event-Driven Approach for the Separation of Concerns
PPTX
Aliyah: Looking for a hi-tech job in Israel
PPTX
Introduction to Event Sourcing and CQRS (IASA-IL)
PDF
Agile archiecture iltam 2014
PDF
Resource Adaptive Systems
PPT
Watch-It-Next: A Contextual TV Recommendation System
PPTX
Antifragile Software Design
PPTX
The Role of the Software Architect (short version)
PDF
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Designing with tests
Adaptive Object Model - IASA IL Meeting on Software Evolution (3/2014)
Reducing Technical Debt
The five expertise of a software architect
Quality Attributes Workshop
Quality attributes in software architecture
The Role of the Software Architect
Tdd 4 everyone full version
Quality attributes testing. From Architecture to test acceptance
July 2013 Talk, What Industry Needs from Architecture Description Languages
Hierarchical Composable Optimization of Web Pages
An Event-Driven Approach for the Separation of Concerns
Aliyah: Looking for a hi-tech job in Israel
Introduction to Event Sourcing and CQRS (IASA-IL)
Agile archiecture iltam 2014
Resource Adaptive Systems
Watch-It-Next: A Contextual TV Recommendation System
Antifragile Software Design
The Role of the Software Architect (short version)
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Ad

Similar to Extracting Quality Scenarios from Functional Scenarios (20)

PPTX
AugCog Overview
PPTX
introduction into Space mission process .pptx
PDF
2.1 usecase diagram
PDF
Chapter 1 - Basic Concepts
PDF
VTU 5TH SEM CSE SOFTWARE ENGINEERING SOLVED PAPERS - JUN13 DEC13 JUN14 DEC14 ...
PPTX
What is Platform Observability? An Overview
PPT
Automated Discovery of Performance Regressions in Enterprise Applications
PPTX
CLOUD RESOURCE MANAGEMENT AND SCHEDULING
PDF
Chapter 3 - Performance Testing in the Software Lifecycle
PPTX
IoT Evolution Expo- Machine Learning and the Cloud
PPTX
Softwarearchitecture in practice unit1 2
PPTX
System Simulation and Modelling with types and Event Scheduling
PDF
A Runtime Evaluation Methodology and Framework for Autonomic Systems
PDF
Functional Safety in ML-based Cyber-Physical Systems
PDF
A SIMULATION APPROACH TO PREDICATE THE RELIABILITY OF A PERVASIVE SOFTWARE SY...
PDF
Chapter 4 - Performance Testing Tasks
PPTX
Applicants Qualification Filtering System
PPT
Analysis modeling & scenario based modeling
PPTX
Introduction to simulation and modeling
PDF
Automated Testing of Autonomous Driving Assistance Systems
AugCog Overview
introduction into Space mission process .pptx
2.1 usecase diagram
Chapter 1 - Basic Concepts
VTU 5TH SEM CSE SOFTWARE ENGINEERING SOLVED PAPERS - JUN13 DEC13 JUN14 DEC14 ...
What is Platform Observability? An Overview
Automated Discovery of Performance Regressions in Enterprise Applications
CLOUD RESOURCE MANAGEMENT AND SCHEDULING
Chapter 3 - Performance Testing in the Software Lifecycle
IoT Evolution Expo- Machine Learning and the Cloud
Softwarearchitecture in practice unit1 2
System Simulation and Modelling with types and Event Scheduling
A Runtime Evaluation Methodology and Framework for Autonomic Systems
Functional Safety in ML-based Cyber-Physical Systems
A SIMULATION APPROACH TO PREDICATE THE RELIABILITY OF A PERVASIVE SOFTWARE SY...
Chapter 4 - Performance Testing Tasks
Applicants Qualification Filtering System
Analysis modeling & scenario based modeling
Introduction to simulation and modeling
Automated Testing of Autonomous Driving Assistance Systems

More from Prof. Amir Tomer (10)

PPTX
Sw arch-2019-tomer
PPTX
There is a system out there! SW Engineering Education from Programming to Eng...
PPTX
Swis modeling
PPTX
Swise arc2015
PPTX
Sw ise modeling-tomer_2013
PPTX
"Just Enough" System Modeling
PPTX
Cost Effectiveness of Software Reuse Alternatives
PPTX
Software Modeling from Life Cycle Perspective
PPTX
Software Mangineeringment
PPTX
Applying system thinking to model-based software engineering
Sw arch-2019-tomer
There is a system out there! SW Engineering Education from Programming to Eng...
Swis modeling
Swise arc2015
Sw ise modeling-tomer_2013
"Just Enough" System Modeling
Cost Effectiveness of Software Reuse Alternatives
Software Modeling from Life Cycle Perspective
Software Mangineeringment
Applying system thinking to model-based software engineering

Recently uploaded (20)

PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
medical staffing services at VALiNTRY
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Nekopoi APK 2025 free lastest update
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
System and Network Administration Chapter 2
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Understanding Forklifts - TECH EHS Solution
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Digital Strategies for Manufacturing Companies
PPT
Introduction Database Management System for Course Database
PTS Company Brochure 2025 (1).pdf.......
Odoo POS Development Services by CandidRoot Solutions
medical staffing services at VALiNTRY
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Online Work Permit System for Fast Permit Processing
Nekopoi APK 2025 free lastest update
Internet Downloader Manager (IDM) Crack 6.42 Build 41
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Operating system designcfffgfgggggggvggggggggg
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
System and Network Administration Chapter 2
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Understanding Forklifts - TECH EHS Solution
How Creative Agencies Leverage Project Management Software.pdf
Digital Strategies for Manufacturing Companies
Introduction Database Management System for Course Database

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 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
  • 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 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
  • 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 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
  • 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 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
  • 11. 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
  • 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 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
  • 14. 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
  • 15. 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
  • 16. Any questions? amir@amirtomer.com 052-8890202 16 Extracting Dr. Amir Tomer, ISQ Conference, 2014 Quality Scenarios from Functional Scenarios