SlideShare a Scribd company logo
1 of 16
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 scenariosahsan riaz
 
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 architectureGang 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 SE21koolkampus
 
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 requirementsOZ Assignment Help Australia
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsTaymoor 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 SE5koolkampus
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement EngineeringMubashir Yasin
 
Depandability in Software Engineering SE16
Depandability in Software Engineering SE16Depandability in Software Engineering SE16
Depandability in Software Engineering SE16koolkampus
 
Requirement and Specification
Requirement and SpecificationRequirement and Specification
Requirement and Specificationsarojsaroza
 
Software (requirement) analysis using uml
Software (requirement) analysis using umlSoftware (requirement) analysis using uml
Software (requirement) analysis using umlDhiraj Shetty
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureAdnan Masood
 
Software Requirements
 Software Requirements Software Requirements
Software RequirementsZaman 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.pptPedadaSaikumar
 

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 testsDror 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 DebtHayim 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 architectLior Bar-On
 
Quality Attributes Workshop
Quality Attributes WorkshopQuality Attributes Workshop
Quality Attributes WorkshopCS, NcState
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architectureHimanshu
 
The Role of the Software Architect
The Role of the Software ArchitectThe Role of the Software Architect
The Role of the Software ArchitectHayim Makabee
 
Tdd 4 everyone full version
Tdd 4 everyone full versionTdd 4 everyone full version
Tdd 4 everyone full versionLior 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 acceptanceIT 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 Languagesgrossd18
 
Hierarchical Composable Optimization of Web Pages
Hierarchical Composable Optimization of Web PagesHierarchical Composable Optimization of Web Pages
Hierarchical Composable Optimization of Web PagesHayim 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 ConcernsHayim 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 IsraelHayim 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 2014Dani Mannes
 
Resource Adaptive Systems
Resource Adaptive SystemsResource Adaptive Systems
Resource Adaptive SystemsTom 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 SystemRaz Nissim
 
Antifragile Software Design
Antifragile Software DesignAntifragile Software Design
Antifragile Software DesignHayim 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 WorkJoseph 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

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 OverviewKumar 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 ApplicationsSAIL_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 LifecycleNeeraj 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 CloudValue Amplify Consulting
 
Softwarearchitecture in practice unit1 2
Softwarearchitecture in practice unit1 2Softwarearchitecture in practice unit1 2
Softwarearchitecture in practice unit1 2sush-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 SchedulingBootNeck1
 
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 SystemsIDES 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 SystemsLionel 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 TasksNeeraj Kumar Singh
 
Applicants Qualification Filtering System
Applicants Qualification Filtering SystemApplicants Qualification Filtering System
Applicants Qualification Filtering SystemSiti 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 modelingantim19
 
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 SystemsLionel Briand
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptShashikanth
 
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

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
 
Sw ise modeling-tomer_2013
Sw ise modeling-tomer_2013Sw ise modeling-tomer_2013
Sw ise modeling-tomer_2013Prof. Amir Tomer
 
"Just Enough" System Modeling
"Just Enough" System Modeling"Just Enough" System Modeling
"Just Enough" System ModelingProf. Amir Tomer
 
Cost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesCost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesProf. Amir Tomer
 
Software Modeling from Life Cycle Perspective
Software Modeling from Life Cycle PerspectiveSoftware Modeling from Life Cycle Perspective
Software Modeling from Life Cycle PerspectiveProf. 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 engineeringProf. 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

WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 

Recently uploaded (20)

WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 

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