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

What's hot

Quality attribute scenarios
Quality attribute scenariosQuality attribute scenarios
Quality attribute scenarios
ahsan riaz
 
Software requirements
Software requirementsSoftware requirements
Software requirements
Dr. Loganathan R
 
Non-functional requirements
Non-functional requirements Non-functional requirements
Non-functional requirements
Rohela Raouf
 
Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?
Evgeniy Labunskiy
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
Gang Tao
 
Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21
koolkampus
 
Csse
CsseCsse
Website's functional and non functional requirements
Website's functional and non functional requirementsWebsite's functional and non functional requirements
Website's functional and non functional requirements
OZ Assignment Help Australia
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirments
Taymoor Nazmy
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
Akash Kumar Dhameja
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
koolkampus
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
Mubashir Yasin
 
Depandability in Software Engineering SE16
Depandability in Software Engineering SE16Depandability in Software Engineering SE16
Depandability in Software Engineering SE16
koolkampus
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
Bro Shola Ajayi
 
Requirement and Specification
Requirement and SpecificationRequirement and Specification
Requirement and Specification
sarojsaroza
 
Software (requirement) analysis using uml
Software (requirement) analysis using umlSoftware (requirement) analysis using uml
Software (requirement) analysis using uml
Dhiraj Shetty
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software Architecture
Adnan Masood
 
Functional and non functional
Functional and non functionalFunctional and non functional
Functional and non functional
Dikshyanta Dhungana
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
Zaman Khan
 
6. FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING.ppt
6. FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING.ppt6. FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING.ppt
6. FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING.ppt
PedadaSaikumar
 

What's hot (20)

Quality attribute scenarios
Quality attribute scenariosQuality attribute scenarios
Quality attribute scenarios
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Non-functional requirements
Non-functional requirements Non-functional requirements
Non-functional requirements
 
Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21
 
Csse
CsseCsse
Csse
 
Website's functional and non functional requirements
Website's functional and non functional requirementsWebsite's functional and non functional requirements
Website's functional and non functional requirements
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirments
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Depandability in Software Engineering SE16
Depandability in Software Engineering SE16Depandability in Software Engineering SE16
Depandability in Software Engineering SE16
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Requirement and Specification
Requirement and SpecificationRequirement and Specification
Requirement and Specification
 
Software (requirement) analysis using uml
Software (requirement) analysis using umlSoftware (requirement) analysis using uml
Software (requirement) analysis using uml
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software Architecture
 
Functional and non functional
Functional and non functionalFunctional and non functional
Functional and non functional
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
 
6. FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING.ppt
6. FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING.ppt6. FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING.ppt
6. FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING.ppt
 

Viewers also liked

Designing with tests
Designing with testsDesigning with tests
Designing with tests
Dror Helper
 
Adaptive Object Model - IASA IL Meeting on Software Evolution (3/2014)
Adaptive Object Model - IASA IL Meeting on Software Evolution  (3/2014)Adaptive Object Model - IASA IL Meeting on Software Evolution  (3/2014)
Adaptive Object Model - IASA IL Meeting on Software Evolution (3/2014)
Atzmon Hen-Tov
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical Debt
Hayim Makabee
 
The five expertise of a software architect
The five expertise of a software architectThe five expertise of a software architect
The five expertise of a software architect
Lior Bar-On
 
Quality Attributes Workshop
Quality Attributes WorkshopQuality Attributes Workshop
Quality Attributes Workshop
CS, NcState
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
Himanshu
 
The Role of the Software Architect
The Role of the Software ArchitectThe Role of the Software Architect
The Role of the Software Architect
Hayim Makabee
 
Tdd 4 everyone full version
Tdd 4 everyone full versionTdd 4 everyone full version
Tdd 4 everyone full version
Lior Israel
 
Quality attributes testing. From Architecture to test acceptance
Quality attributes testing. From Architecture to test acceptanceQuality attributes testing. From Architecture to test acceptance
Quality attributes testing. From Architecture to test acceptance
IT Weekend
 
July 2013 Talk, What Industry Needs from Architecture Description Languages
July 2013 Talk, What Industry Needs from Architecture Description LanguagesJuly 2013 Talk, What Industry Needs from Architecture Description Languages
July 2013 Talk, What Industry Needs from Architecture Description Languages
grossd18
 
Hierarchical Composable Optimization of Web Pages
Hierarchical Composable Optimization of Web PagesHierarchical Composable Optimization of Web Pages
Hierarchical Composable Optimization of Web Pages
Hayim Makabee
 
An Event-Driven Approach for the Separation of Concerns
An Event-Driven Approach for the Separation of ConcernsAn Event-Driven Approach for the Separation of Concerns
An Event-Driven Approach for the Separation of Concerns
Hayim Makabee
 
Aliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in IsraelAliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in Israel
Hayim Makabee
 
Introduction to Event Sourcing and CQRS (IASA-IL)
Introduction to Event Sourcing and CQRS (IASA-IL)Introduction to Event Sourcing and CQRS (IASA-IL)
Introduction to Event Sourcing and CQRS (IASA-IL)
Vladik Khononov
 
Agile archiecture iltam 2014
Agile archiecture   iltam 2014Agile archiecture   iltam 2014
Agile archiecture iltam 2014
Dani Mannes
 
Resource Adaptive Systems
Resource Adaptive SystemsResource Adaptive Systems
Resource Adaptive Systems
Tom Mueck
 
Watch-It-Next: A Contextual TV Recommendation System
Watch-It-Next: A Contextual TV Recommendation SystemWatch-It-Next: A Contextual TV Recommendation System
Watch-It-Next: A Contextual TV Recommendation System
Raz Nissim
 
Antifragile Software Design
Antifragile Software DesignAntifragile Software Design
Antifragile Software Design
Hayim Makabee
 
The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)
Hayim Makabee
 
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard WorkTaming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Joseph Yoder
 

Viewers also liked (20)

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

Similar to Extracting Quality Scenarios from Functional Scenarios

AugCog Overview
AugCog OverviewAugCog Overview
AugCog Overview
Polly Tremoulet
 
2.1 usecase diagram
2.1 usecase diagram2.1 usecase diagram
2.1 usecase diagram
Ashenafi Workie
 
Chapter 1 - Basic Concepts
Chapter 1 - Basic ConceptsChapter 1 - Basic Concepts
Chapter 1 - Basic Concepts
Neeraj Kumar Singh
 
VTU 5TH SEM CSE SOFTWARE ENGINEERING SOLVED PAPERS - JUN13 DEC13 JUN14 DEC14 ...
VTU 5TH SEM CSE SOFTWARE ENGINEERING SOLVED PAPERS - JUN13 DEC13 JUN14 DEC14 ...VTU 5TH SEM CSE SOFTWARE ENGINEERING SOLVED PAPERS - JUN13 DEC13 JUN14 DEC14 ...
VTU 5TH SEM CSE SOFTWARE ENGINEERING SOLVED PAPERS - JUN13 DEC13 JUN14 DEC14 ...
vtunotesbysree
 
What is Platform Observability? An Overview
What is Platform Observability? An OverviewWhat is Platform Observability? An Overview
What is Platform Observability? An Overview
Kumar Kolaganti
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise Applications
SAIL_QU
 
Chapter 3 - Performance Testing in the Software Lifecycle
Chapter 3 - Performance Testing in the Software LifecycleChapter 3 - Performance Testing in the Software Lifecycle
Chapter 3 - Performance Testing in the Software Lifecycle
Neeraj Kumar Singh
 
IoT Evolution Expo- Machine Learning and the Cloud
IoT Evolution Expo- Machine Learning and the CloudIoT Evolution Expo- Machine Learning and the Cloud
IoT Evolution Expo- Machine Learning and the Cloud
Value Amplify Consulting
 
Softwarearchitecture in practice unit1 2
Softwarearchitecture in practice unit1 2Softwarearchitecture in practice unit1 2
Softwarearchitecture in practice unit1 2
sush-sushma
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
BootNeck1
 
A Runtime Evaluation Methodology and Framework for Autonomic Systems
A Runtime Evaluation Methodology and Framework for Autonomic SystemsA Runtime Evaluation Methodology and Framework for Autonomic Systems
A Runtime Evaluation Methodology and Framework for Autonomic Systems
IDES Editor
 
Functional Safety in ML-based Cyber-Physical Systems
Functional Safety in ML-based Cyber-Physical SystemsFunctional Safety in ML-based Cyber-Physical Systems
Functional Safety in ML-based Cyber-Physical Systems
Lionel Briand
 
A SIMULATION APPROACH TO PREDICATE THE RELIABILITY OF A PERVASIVE SOFTWARE SY...
A SIMULATION APPROACH TO PREDICATE THE RELIABILITY OF A PERVASIVE SOFTWARE SY...A SIMULATION APPROACH TO PREDICATE THE RELIABILITY OF A PERVASIVE SOFTWARE SY...
A SIMULATION APPROACH TO PREDICATE THE RELIABILITY OF A PERVASIVE SOFTWARE SY...
Osama M. Khaled
 
Chapter 4 - Performance Testing Tasks
Chapter 4 - Performance Testing TasksChapter 4 - Performance Testing Tasks
Chapter 4 - Performance Testing Tasks
Neeraj Kumar Singh
 
Applicants Qualification Filtering System
Applicants Qualification Filtering SystemApplicants Qualification Filtering System
Applicants Qualification Filtering System
Siti Nabilah Ismail
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
Benazir Fathima
 
Introduction to simulation and modeling
Introduction to simulation and modelingIntroduction to simulation and modeling
Introduction to simulation and modeling
antim19
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
Lionel Briand
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.ppt
Shashikanth
 
Performance evaluation of a multi-core system using Systems development meth...
 Performance evaluation of a multi-core system using Systems development meth... Performance evaluation of a multi-core system using Systems development meth...
Performance evaluation of a multi-core system using Systems development meth...
Yoshifumi Sakamoto
 

Similar to Extracting Quality Scenarios from Functional Scenarios (20)

AugCog Overview
AugCog OverviewAugCog Overview
AugCog Overview
 
2.1 usecase diagram
2.1 usecase diagram2.1 usecase diagram
2.1 usecase diagram
 
Chapter 1 - Basic Concepts
Chapter 1 - Basic ConceptsChapter 1 - Basic Concepts
Chapter 1 - Basic Concepts
 
VTU 5TH SEM CSE SOFTWARE ENGINEERING SOLVED PAPERS - JUN13 DEC13 JUN14 DEC14 ...
VTU 5TH SEM CSE SOFTWARE ENGINEERING SOLVED PAPERS - JUN13 DEC13 JUN14 DEC14 ...VTU 5TH SEM CSE SOFTWARE ENGINEERING SOLVED PAPERS - JUN13 DEC13 JUN14 DEC14 ...
VTU 5TH SEM CSE SOFTWARE ENGINEERING SOLVED PAPERS - JUN13 DEC13 JUN14 DEC14 ...
 
What is Platform Observability? An Overview
What is Platform Observability? An OverviewWhat is Platform Observability? An Overview
What is Platform Observability? An Overview
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise Applications
 
Chapter 3 - Performance Testing in the Software Lifecycle
Chapter 3 - Performance Testing in the Software LifecycleChapter 3 - Performance Testing in the Software Lifecycle
Chapter 3 - Performance Testing in the Software Lifecycle
 
IoT Evolution Expo- Machine Learning and the Cloud
IoT Evolution Expo- Machine Learning and the CloudIoT Evolution Expo- Machine Learning and the Cloud
IoT Evolution Expo- Machine Learning and the Cloud
 
Softwarearchitecture in practice unit1 2
Softwarearchitecture in practice unit1 2Softwarearchitecture in practice unit1 2
Softwarearchitecture in practice unit1 2
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
A Runtime Evaluation Methodology and Framework for Autonomic Systems
A Runtime Evaluation Methodology and Framework for Autonomic SystemsA Runtime Evaluation Methodology and Framework for Autonomic Systems
A Runtime Evaluation Methodology and Framework for Autonomic Systems
 
Functional Safety in ML-based Cyber-Physical Systems
Functional Safety in ML-based Cyber-Physical SystemsFunctional Safety in ML-based Cyber-Physical Systems
Functional Safety in ML-based Cyber-Physical Systems
 
A SIMULATION APPROACH TO PREDICATE THE RELIABILITY OF A PERVASIVE SOFTWARE SY...
A SIMULATION APPROACH TO PREDICATE THE RELIABILITY OF A PERVASIVE SOFTWARE SY...A SIMULATION APPROACH TO PREDICATE THE RELIABILITY OF A PERVASIVE SOFTWARE SY...
A SIMULATION APPROACH TO PREDICATE THE RELIABILITY OF A PERVASIVE SOFTWARE SY...
 
Chapter 4 - Performance Testing Tasks
Chapter 4 - Performance Testing TasksChapter 4 - Performance Testing Tasks
Chapter 4 - Performance Testing Tasks
 
Applicants Qualification Filtering System
Applicants Qualification Filtering SystemApplicants Qualification Filtering System
Applicants Qualification Filtering System
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Introduction to simulation and modeling
Introduction to simulation and modelingIntroduction to simulation and modeling
Introduction to simulation and modeling
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.ppt
 
Performance evaluation of a multi-core system using Systems development meth...
 Performance evaluation of a multi-core system using Systems development meth... Performance evaluation of a multi-core system using Systems development meth...
Performance evaluation of a multi-core system using Systems development meth...
 

More from Prof. Amir Tomer

Sw arch-2019-tomer
Sw arch-2019-tomerSw arch-2019-tomer
Sw arch-2019-tomer
Prof. Amir Tomer
 
There is a system out there! SW Engineering Education from Programming to Eng...
There is a system out there! SW Engineering Education from Programming to Eng...There is a system out there! SW Engineering Education from Programming to Eng...
There is a system out there! SW Engineering Education from Programming to Eng...
Prof. Amir Tomer
 
Swis modeling
Swis modelingSwis modeling
Swis modeling
Prof. Amir Tomer
 
Swise arc2015
Swise arc2015Swise arc2015
Swise arc2015
Prof. Amir Tomer
 
Sw ise modeling-tomer_2013
Sw ise modeling-tomer_2013Sw ise modeling-tomer_2013
Sw ise modeling-tomer_2013
Prof. Amir Tomer
 
"Just Enough" System Modeling
"Just Enough" System Modeling"Just Enough" System Modeling
"Just Enough" System Modeling
Prof. Amir Tomer
 
Cost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesCost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse Alternatives
Prof. Amir Tomer
 
Software Modeling from Life Cycle Perspective
Software Modeling from Life Cycle PerspectiveSoftware Modeling from Life Cycle Perspective
Software Modeling from Life Cycle Perspective
Prof. Amir Tomer
 
Software Mangineeringment
Software MangineeringmentSoftware Mangineeringment
Software Mangineeringment
Prof. Amir Tomer
 
Applying system thinking to model-based software engineering
Applying system thinking to model-based software engineeringApplying system thinking to model-based software engineering
Applying system thinking to model-based software engineering
Prof. Amir Tomer
 

More from Prof. Amir Tomer (10)

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

Recently uploaded

How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
Ayan Halder
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 

Recently uploaded (20)

How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 

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