SlideShare a Scribd company logo
1 of 34
SCENARIO-BASED
METHODS
UNIT-II
OCTOBER
2021
CONTENTS
Requirements Analysis
Overall Objectives and Philosophy
Analysis Rules of Thumb
Domain Analysis
Requirements Modeling Approaches
Scenario-Based Modeling
Creating a Preliminary Use Case
Refining a Preliminary Use Case
Writing a Formal Use Case
UML Models That Supplements the Use Case
Developing an Activity Diagram
Swimlane Diagrams 2
3
Requirements analysis results in the specification of software’s operational
characteristics, indicates software’s interface with other system elements,
and establishes constraints that software must meet.
“Any one ‘view’ of requirements is insufficient to understand or describe the desired behavior of a
complex system.”
Alan M. Davis
QUOT
E:
REQUIRMENTS ANALYSIS
4
The requirements modeling action results in one or more of the following
types of models :
• Scenario-based models of requirements from the point of view of
various system “actors”
• Data models that depict the information domain for the problem
The analysis model and requirements specification provide a means for assessing quality once the
software is built.
Key Point:
REQUIRMENTS ANALYSIS
5
The requirements modeling action results in one or more of the following
types of models :
• Class-oriented models that represent object-oriented classes
(attributes and operations) and the manner in which classes collaborate
to achieve system requirements
• Flow-oriented models that represent the functional elements of the
system and how they transform data as it moves through the system
• Behavioral models that depict how the software behaves as a
consequence of external “events”
REQUIRMENTS ANALYSIS
6
The requirements model must achieve three primary objectives:
• to describe what the customer requires
• to establish a basis for the creation of a software design
• to define a set of requirements that can be validated once the software
is built.
REQUIRMENTS ANALYSIS :
Overall Objectives and Philosophy
“Requirements are not architecture. Requirements are not design, nor are they the user interface.
Requirements are need.”
- Andrew Hunt and David Thomas
Quote:
7
The analysis model bridges the gap between a system-level description that
describes overall system or business functionality as it is achieved by
applying software, hardware, data, human, and other system elements and a
software design that describes the software’s application architecture, user
interface, and component-level structure.
REQUIRMENTS ANALYSIS :
Overall Objectives and Philosophy
The analysis model should describe what the customer wants, establish a basis for design, and
establish a target for validation.
Key Point:
8
REQUIRMENTS ANALYSIS :
Overall Objectives and Philosophy
Fig: The requirements model as a bridge between the system description
and the design model
9
REQUIRMENTS ANALYSIS :
Overall Objectives and Philosophy
• It is important to note that all elements of the requirements model will be directly
traceable to parts of the design model.
• A clear division of analysis and design tasks between these two important
modeling activities is not always possible.
• Some design invariably occurs as part of analysis, and some analysis will be
Conducted during design.
10
REQUIRMENTS ANALYSIS :
Analysis Rules of Thumb
Arlow and Neustadt [Arl02] suggest a number of worthwhile rules of thumb that
should be followed when creating the analysis model:
• The model should focus on requirements that are visible within the problem or
business domain. The level of abstraction should be relatively high.
• Each element of the requirements model should add to an overall
Understanding of software requirements and provide insight into the information
domain, function, and behavior of the system.
• Delay consideration of infrastructure and other nonfunctional models until
design.
11
REQUIRMENTS ANALYSIS :
Analysis Rules of Thumb
Arlow and Neustadt [Arl02] suggest a number of worthwhile rules of thumb that
should be followed when creating the analysis model:
• Minimize coupling throughout the system.
• Be certain that the requirements model provides value to all stakeholders.
• Keep the model as simple as it can be.
“Problems worthy of attack, prove their worth by hitting back.”
- Piet Hein
Quote:
12
REQUIRMENTS ANALYSIS :
Domain Analysis
Firesmith [Fir93] describes domain analysis in the following way:
Software domain analysis is the identification, analysis, and specification of common
Requirements from a specific application domain, typically for reuse on multiple
Projects within that application domain.
Domain analysis doesn’t look at a specific application, but rather at the domain in which the application
resides. The intent is to identify common problem solving elements that are
applicable to all applications within the domain.
Key point:
13
REQUIRMENTS ANALYSIS :
Domain Analysis
Firesmith [Fir93] describes domain analysis in the following way:
[Object-oriented domain analysis is] the identification, analysis, and specification
of common, reusable capabilities within a specific application domain, in terms of
common objects, classes, subassemblies, and frameworks.
14
REQUIRMENTS ANALYSIS :
Domain Analysis
The “specific application domain” can range from avionics to banking, from
Multimedia video games to software embedded within medical devices.
The goal of domain analysis is straightforward: to find or create those analysis
classes and/or analysis patterns that are broadly applicable so that they may be
reused.
15
REQUIRMENTS ANALYSIS :
Domain Analysis
Input and output for domain analysis
16
REQUIRMENTS ANALYSIS :
Requirements Modeling Approaches
• One view of requirements modeling, called structured analysis, considers data and
the processes that transform the data as separate entities.
• Data objects are modeled in a way that defines their attributes and relationships.
• Processes that manipulate data objects are modeled in a manner that shows
how they transform data as data objects flow through the system.
“…analysis is frustrating, full of complex interpersonal relationships, indefinite, and difficult. In a word, it
is fascinating. Once you’re hooked, the old easy pleasures of system building are
never again enough to satisfy you.” - Tom DeMarco
Quote:
17
REQUIRMENTS ANALYSIS :
Requirements Modeling Approaches
Elements of the analysis model
18
SCENARIO-BASED MODELING:
Creating a Preliminary Use Case
Alistair Cockburn characterizes a use case as a “contract for behavior”
[Coc01b].
The “contract” defines the way in which an actor uses a computer-based
system to accomplish some goal.
In essence, a use case captures the interactions that occur between
producers and consumers of information and the system itself.
“[Usecases] are simply an aid to defining what exists outside the system(actors) and what should be
performed by the system (Use cases)- Ivar Jacobson
Quote:
19
SCENARIO-BASED MODELING:
Creating a Preliminary Use Case
What to Write About ?
Requirements-gathering meetings, quality function deployment (QFD),
and other requirements engineering mechanisms are used to identify
stakeholders, define the scope of the problem, specify overall operational
goals, establish priorities, outline all known functional requirements and
describe the things (objects) that will be manipulated by the system.
“[Usecases] are simply an aid to defining what exists outside the system(actors) and what should be
performed by the system (Use cases)- Ivar Jacobson
Quote:
20
SCENARIO-BASED MODELING:
Creating a Preliminary Use Case
What to Write About ?
To begin developing a set of use cases, list the functions or activities
performed by a specific actor. You can obtain these from a list of required
system functions, through conversations with stakeholders, or by an
evaluation of activity diagrams developed as part of requirements
modeling.
In some situations, use cases become the dominant requirements engineering mechanism. However,
this does not mean that you should discard other modeling methods when they are appropriate.
Advice:
21
SCENARIO-BASED MODELING:
Creating a Preliminary Use Case
The SafeHome home surveillance function (subsystem) discussed in the
sidebar
identifies the following functions (an abbreviated list) that are performed
by the
homeowner actor:
• Select camera to view.
• Request thumbnails from all cameras.
• Display camera views in a PC window.
• Control pan and zoom for a specific camera.
• Selectively record camera output.
• Replay camera output.
• Access camera surveillance via the Internet.
Example
:
22
SCENARIO-BASED MODELING:
Creating a Preliminary Use Case
Use case: Access camera surveillance via the Internet—display camera
views
(ACS-DCV)
Actor: homeowner
1. The homeowner logs onto the SafeHome Products website.
2. The homeowner enters his or her user ID.
3. The homeowner enters two passwords (each at least eight
characters in length).
4. The system displays all major function buttons.
5. The homeowner selects the “surveillance” from the major function
buttons.
Example
:
23
SCENARIO-BASED MODELING:
Creating a Preliminary Use Case
Use case: Access camera surveillance via the Internet—display camera
views
(ACS-DCV)
Actor: homeowner
6. The homeowner selects “pick a camera.”
7. The system displays the floor plan of the house.
8. The homeowner selects a camera icon from the floor plan.
9. The homeowner selects the “view” button.
10. The system displays a viewing window that is identified by the
camera ID.
11. The system displays video output within the viewing window at one
frame per second.
Example
:
24
SCENARIO-BASED MODELING:
Refining a Preliminary Use Case
A description of alternative interactions is essential for a complete
understanding of the function that is being described by a use case.
Therefore, each step in the primary scenario is evaluated by asking the
following questions [Sch98a]:
• Can the actor take some other action at this point?
• Is it possible that the actor will encounter some error condition at this
point? If so, what might it be?
• Is it possible that the actor will encounter some other behavior at this
point (e.g., behavior that is invoked by some event outside the actor’s
control)? If so, what might it be?
25
SCENARIO-BASED MODELING:
Refining a Preliminary Use Case
Cockburn [Coc01b] recommends using a “brainstorming” session to derive
a
reasonably complete set of exceptions for each use case. In addition to the
three generic questions suggested earlier in this section, the following
issues should also be explored:
• Are there cases in which some “validation function” occurs during this
use case?
• Are there cases in which a supporting function (or actor) will fail to
respond appropriately?
• Can poor system performance result in unexpected or improper user
actions?
26
SCENARIO-BASED MODELING:
Refining a Preliminary Use Case
The list of extensions developed as a consequence of asking and
answering these questions should be “rationalized” [Co01b] using the
following criteria:
• an exception should be noted within the use case if the software can
detect the condition described and then handle the condition once it
has been detected.
• In some cases, an exception will precipitate the development of
another use case (to handle the condition noted).
27
SCENARIO-BASED MODELING:
Writing a Formal Use Case
Every modeling notation has limitations, and the use case is no exception.
Like any other form of written description, a use case is only as good as its
author(s). If the description is unclear, the use case can be misleading.
A use case focuses on functional and behavioral requirements and is
generally inappropriate for nonfunctional requirements.
28
SCENARIO-BASED MODELING:
Writing a Formal Use Case
Example
:
29
UML MODEL THAT SUPPLEMENT THE
USE CASE: Developing an Activity Diagram
The UML activity diagram supplements the use case by providing a
graphical representation of the flow of interaction within a specific scenario.
Similar to the flowchart, an activity diagram uses rounded rectangles to
imply a specific system function, arrows to represent flow through the
system, decision diamonds to depict a branching decision (each arrow
emanating from the diamond is labeled), and solid horizontal lines to
indicate that parallel activities are occurring.
A UML activity diagram represents the actions and decisions that occur as some function
is performed.
Key
Point:
30
UML MODEL THAT SUPPLEMENT THE
USE CASE: Developing an Activity Diagram
Example
:
31
UML MODEL THAT SUPPLEMENT THE
USE CASE: Swimlane Diagrams
The UML swimlane diagram is a useful variation of the activity diagram and
allows us to represent the flow of activities described by the use case and at
the same time indicate which actor (if there are multiple actors involved in a
specific use case) or analysis class has responsibility for the action
described
by an activity rectangle.
Responsibilities are represented as parallel segments that divide the
diagram vertically, like the lanes in a swimming pool.
A UML swimlane diagram represents the flow of actions and decisions and indicates
which actors perform each.
Key
Point:
32
UML MODEL THAT SUPPLEMENT THE
USE CASE: Swimlane Diagrams
Example
:
33
REFRENCES
Software Engineering A Practioner’s Approach by Roger S Pressmen
THANK
YOU!
JOSHUA
Medium
https://medium.com/@joshuaudayagiri
Email
Joshua537.nit@gmail.com

More Related Content

What's hot

Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramKumar
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1Siddharth Ayer
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23koolkampus
 
Spm unit2
Spm unit2Spm unit2
Spm unit2sweetyammu
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)Arun Shukla
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testingHaris Jamil
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesionSutha31
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modelingramyaaswin
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering NotesNavjyotsinh Jadeja
 
System testing
System testingSystem testing
System testingSifat Hossain
 
Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)ShudipPal
 
Software Metrics
Software MetricsSoftware Metrics
Software Metricsswatisinghal
 
Chapter 7 software reliability
Chapter 7 software reliabilityChapter 7 software reliability
Chapter 7 software reliabilitydespicable me
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metricsIndu Sharma Bhardwaj
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factorsNancyBeaulah_R
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metricsSHREEHARI WADAWADAGI
 

What's hot (20)

unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23
 
Spm unit2
Spm unit2Spm unit2
Spm unit2
 
RMMM Plan
RMMM PlanRMMM Plan
RMMM Plan
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesion
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering Notes
 
System testing
System testingSystem testing
System testing
 
Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Chapter 7 software reliability
Chapter 7 software reliabilityChapter 7 software reliability
Chapter 7 software reliability
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 
Unit1
Unit1Unit1
Unit1
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factors
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 

Similar to Scenario based methods

Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.pptAnishNarayan4
 
Chapter 08
Chapter 08Chapter 08
Chapter 08Nazir Ahmed
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecificationoshin-japanese
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptShashikanth
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Dhairya Joshi
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part iBisrat Girma
 
Lecture 3 OOSE.pdf
Lecture 3 OOSE.pdfLecture 3 OOSE.pdf
Lecture 3 OOSE.pdfamanuel236786
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaSharbani Bhattacharya
 
Topic 19. User Requirements.pptx
Topic 19. User Requirements.pptxTopic 19. User Requirements.pptx
Topic 19. User Requirements.pptxssuserec6f52
 
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTESSOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTESsuthi
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using addJavid iqbal hashmi
 
6. ch 5-understanding requirements
6. ch 5-understanding requirements6. ch 5-understanding requirements
6. ch 5-understanding requirementsDelowar hossain
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdfMuhammad Imran
 
From use case to software architecture
From use case to software architectureFrom use case to software architecture
From use case to software architectureAhmad karawash
 

Similar to Scenario based methods (20)

Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
M azhar
M azharM azhar
M azhar
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecification
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.ppt
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 
Lecture 3 OOSE.pdf
Lecture 3 OOSE.pdfLecture 3 OOSE.pdf
Lecture 3 OOSE.pdf
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Topic 19. User Requirements.pptx
Topic 19. User Requirements.pptxTopic 19. User Requirements.pptx
Topic 19. User Requirements.pptx
 
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTESSOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
 
Ch7
Ch7Ch7
Ch7
 
Ch7
Ch7Ch7
Ch7
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using add
 
6. ch 5-understanding requirements
6. ch 5-understanding requirements6. ch 5-understanding requirements
6. ch 5-understanding requirements
 
Ch7
Ch7Ch7
Ch7
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdf
 
Building an Information System
Building an Information SystemBuilding an Information System
Building an Information System
 
From use case to software architecture
From use case to software architectureFrom use case to software architecture
From use case to software architecture
 

Recently uploaded

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Recently uploaded (20)

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

Scenario based methods

  • 2. CONTENTS Requirements Analysis Overall Objectives and Philosophy Analysis Rules of Thumb Domain Analysis Requirements Modeling Approaches Scenario-Based Modeling Creating a Preliminary Use Case Refining a Preliminary Use Case Writing a Formal Use Case UML Models That Supplements the Use Case Developing an Activity Diagram Swimlane Diagrams 2
  • 3. 3 Requirements analysis results in the specification of software’s operational characteristics, indicates software’s interface with other system elements, and establishes constraints that software must meet. “Any one ‘view’ of requirements is insufficient to understand or describe the desired behavior of a complex system.” Alan M. Davis QUOT E: REQUIRMENTS ANALYSIS
  • 4. 4 The requirements modeling action results in one or more of the following types of models : • Scenario-based models of requirements from the point of view of various system “actors” • Data models that depict the information domain for the problem The analysis model and requirements specification provide a means for assessing quality once the software is built. Key Point: REQUIRMENTS ANALYSIS
  • 5. 5 The requirements modeling action results in one or more of the following types of models : • Class-oriented models that represent object-oriented classes (attributes and operations) and the manner in which classes collaborate to achieve system requirements • Flow-oriented models that represent the functional elements of the system and how they transform data as it moves through the system • Behavioral models that depict how the software behaves as a consequence of external “events” REQUIRMENTS ANALYSIS
  • 6. 6 The requirements model must achieve three primary objectives: • to describe what the customer requires • to establish a basis for the creation of a software design • to define a set of requirements that can be validated once the software is built. REQUIRMENTS ANALYSIS : Overall Objectives and Philosophy “Requirements are not architecture. Requirements are not design, nor are they the user interface. Requirements are need.” - Andrew Hunt and David Thomas Quote:
  • 7. 7 The analysis model bridges the gap between a system-level description that describes overall system or business functionality as it is achieved by applying software, hardware, data, human, and other system elements and a software design that describes the software’s application architecture, user interface, and component-level structure. REQUIRMENTS ANALYSIS : Overall Objectives and Philosophy The analysis model should describe what the customer wants, establish a basis for design, and establish a target for validation. Key Point:
  • 8. 8 REQUIRMENTS ANALYSIS : Overall Objectives and Philosophy Fig: The requirements model as a bridge between the system description and the design model
  • 9. 9 REQUIRMENTS ANALYSIS : Overall Objectives and Philosophy • It is important to note that all elements of the requirements model will be directly traceable to parts of the design model. • A clear division of analysis and design tasks between these two important modeling activities is not always possible. • Some design invariably occurs as part of analysis, and some analysis will be Conducted during design.
  • 10. 10 REQUIRMENTS ANALYSIS : Analysis Rules of Thumb Arlow and Neustadt [Arl02] suggest a number of worthwhile rules of thumb that should be followed when creating the analysis model: • The model should focus on requirements that are visible within the problem or business domain. The level of abstraction should be relatively high. • Each element of the requirements model should add to an overall Understanding of software requirements and provide insight into the information domain, function, and behavior of the system. • Delay consideration of infrastructure and other nonfunctional models until design.
  • 11. 11 REQUIRMENTS ANALYSIS : Analysis Rules of Thumb Arlow and Neustadt [Arl02] suggest a number of worthwhile rules of thumb that should be followed when creating the analysis model: • Minimize coupling throughout the system. • Be certain that the requirements model provides value to all stakeholders. • Keep the model as simple as it can be. “Problems worthy of attack, prove their worth by hitting back.” - Piet Hein Quote:
  • 12. 12 REQUIRMENTS ANALYSIS : Domain Analysis Firesmith [Fir93] describes domain analysis in the following way: Software domain analysis is the identification, analysis, and specification of common Requirements from a specific application domain, typically for reuse on multiple Projects within that application domain. Domain analysis doesn’t look at a specific application, but rather at the domain in which the application resides. The intent is to identify common problem solving elements that are applicable to all applications within the domain. Key point:
  • 13. 13 REQUIRMENTS ANALYSIS : Domain Analysis Firesmith [Fir93] describes domain analysis in the following way: [Object-oriented domain analysis is] the identification, analysis, and specification of common, reusable capabilities within a specific application domain, in terms of common objects, classes, subassemblies, and frameworks.
  • 14. 14 REQUIRMENTS ANALYSIS : Domain Analysis The “specific application domain” can range from avionics to banking, from Multimedia video games to software embedded within medical devices. The goal of domain analysis is straightforward: to find or create those analysis classes and/or analysis patterns that are broadly applicable so that they may be reused.
  • 15. 15 REQUIRMENTS ANALYSIS : Domain Analysis Input and output for domain analysis
  • 16. 16 REQUIRMENTS ANALYSIS : Requirements Modeling Approaches • One view of requirements modeling, called structured analysis, considers data and the processes that transform the data as separate entities. • Data objects are modeled in a way that defines their attributes and relationships. • Processes that manipulate data objects are modeled in a manner that shows how they transform data as data objects flow through the system. “…analysis is frustrating, full of complex interpersonal relationships, indefinite, and difficult. In a word, it is fascinating. Once you’re hooked, the old easy pleasures of system building are never again enough to satisfy you.” - Tom DeMarco Quote:
  • 17. 17 REQUIRMENTS ANALYSIS : Requirements Modeling Approaches Elements of the analysis model
  • 18. 18 SCENARIO-BASED MODELING: Creating a Preliminary Use Case Alistair Cockburn characterizes a use case as a “contract for behavior” [Coc01b]. The “contract” defines the way in which an actor uses a computer-based system to accomplish some goal. In essence, a use case captures the interactions that occur between producers and consumers of information and the system itself. “[Usecases] are simply an aid to defining what exists outside the system(actors) and what should be performed by the system (Use cases)- Ivar Jacobson Quote:
  • 19. 19 SCENARIO-BASED MODELING: Creating a Preliminary Use Case What to Write About ? Requirements-gathering meetings, quality function deployment (QFD), and other requirements engineering mechanisms are used to identify stakeholders, define the scope of the problem, specify overall operational goals, establish priorities, outline all known functional requirements and describe the things (objects) that will be manipulated by the system. “[Usecases] are simply an aid to defining what exists outside the system(actors) and what should be performed by the system (Use cases)- Ivar Jacobson Quote:
  • 20. 20 SCENARIO-BASED MODELING: Creating a Preliminary Use Case What to Write About ? To begin developing a set of use cases, list the functions or activities performed by a specific actor. You can obtain these from a list of required system functions, through conversations with stakeholders, or by an evaluation of activity diagrams developed as part of requirements modeling. In some situations, use cases become the dominant requirements engineering mechanism. However, this does not mean that you should discard other modeling methods when they are appropriate. Advice:
  • 21. 21 SCENARIO-BASED MODELING: Creating a Preliminary Use Case The SafeHome home surveillance function (subsystem) discussed in the sidebar identifies the following functions (an abbreviated list) that are performed by the homeowner actor: • Select camera to view. • Request thumbnails from all cameras. • Display camera views in a PC window. • Control pan and zoom for a specific camera. • Selectively record camera output. • Replay camera output. • Access camera surveillance via the Internet. Example :
  • 22. 22 SCENARIO-BASED MODELING: Creating a Preliminary Use Case Use case: Access camera surveillance via the Internet—display camera views (ACS-DCV) Actor: homeowner 1. The homeowner logs onto the SafeHome Products website. 2. The homeowner enters his or her user ID. 3. The homeowner enters two passwords (each at least eight characters in length). 4. The system displays all major function buttons. 5. The homeowner selects the “surveillance” from the major function buttons. Example :
  • 23. 23 SCENARIO-BASED MODELING: Creating a Preliminary Use Case Use case: Access camera surveillance via the Internet—display camera views (ACS-DCV) Actor: homeowner 6. The homeowner selects “pick a camera.” 7. The system displays the floor plan of the house. 8. The homeowner selects a camera icon from the floor plan. 9. The homeowner selects the “view” button. 10. The system displays a viewing window that is identified by the camera ID. 11. The system displays video output within the viewing window at one frame per second. Example :
  • 24. 24 SCENARIO-BASED MODELING: Refining a Preliminary Use Case A description of alternative interactions is essential for a complete understanding of the function that is being described by a use case. Therefore, each step in the primary scenario is evaluated by asking the following questions [Sch98a]: • Can the actor take some other action at this point? • Is it possible that the actor will encounter some error condition at this point? If so, what might it be? • Is it possible that the actor will encounter some other behavior at this point (e.g., behavior that is invoked by some event outside the actor’s control)? If so, what might it be?
  • 25. 25 SCENARIO-BASED MODELING: Refining a Preliminary Use Case Cockburn [Coc01b] recommends using a “brainstorming” session to derive a reasonably complete set of exceptions for each use case. In addition to the three generic questions suggested earlier in this section, the following issues should also be explored: • Are there cases in which some “validation function” occurs during this use case? • Are there cases in which a supporting function (or actor) will fail to respond appropriately? • Can poor system performance result in unexpected or improper user actions?
  • 26. 26 SCENARIO-BASED MODELING: Refining a Preliminary Use Case The list of extensions developed as a consequence of asking and answering these questions should be “rationalized” [Co01b] using the following criteria: • an exception should be noted within the use case if the software can detect the condition described and then handle the condition once it has been detected. • In some cases, an exception will precipitate the development of another use case (to handle the condition noted).
  • 27. 27 SCENARIO-BASED MODELING: Writing a Formal Use Case Every modeling notation has limitations, and the use case is no exception. Like any other form of written description, a use case is only as good as its author(s). If the description is unclear, the use case can be misleading. A use case focuses on functional and behavioral requirements and is generally inappropriate for nonfunctional requirements.
  • 28. 28 SCENARIO-BASED MODELING: Writing a Formal Use Case Example :
  • 29. 29 UML MODEL THAT SUPPLEMENT THE USE CASE: Developing an Activity Diagram The UML activity diagram supplements the use case by providing a graphical representation of the flow of interaction within a specific scenario. Similar to the flowchart, an activity diagram uses rounded rectangles to imply a specific system function, arrows to represent flow through the system, decision diamonds to depict a branching decision (each arrow emanating from the diamond is labeled), and solid horizontal lines to indicate that parallel activities are occurring. A UML activity diagram represents the actions and decisions that occur as some function is performed. Key Point:
  • 30. 30 UML MODEL THAT SUPPLEMENT THE USE CASE: Developing an Activity Diagram Example :
  • 31. 31 UML MODEL THAT SUPPLEMENT THE USE CASE: Swimlane Diagrams The UML swimlane diagram is a useful variation of the activity diagram and allows us to represent the flow of activities described by the use case and at the same time indicate which actor (if there are multiple actors involved in a specific use case) or analysis class has responsibility for the action described by an activity rectangle. Responsibilities are represented as parallel segments that divide the diagram vertically, like the lanes in a swimming pool. A UML swimlane diagram represents the flow of actions and decisions and indicates which actors perform each. Key Point:
  • 32. 32 UML MODEL THAT SUPPLEMENT THE USE CASE: Swimlane Diagrams Example :
  • 33. 33 REFRENCES Software Engineering A Practioner’s Approach by Roger S Pressmen