SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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...
 

Plus de 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
 

Plus de 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
 

Dernier

%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%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
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
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
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
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
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
%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
 

Dernier (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%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
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
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
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
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
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
%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
 

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