SlideShare uma empresa Scribd logo
1 de 33
Requirements 1
Data Flow Diagram and Use
Cases
Requirements 2
Data Flow Modeling
 Widely used; focuses on functions
performed in the system
 Views a system as a network of data
transforms through which the data flows
 Uses data flow diagrams (DFDs) and
functional decomposition in modeling
 The SSAD methodology uses DFD to
organize information, and guide analysis
Requirements 3
Data flow diagrams
 A DFD shows flow of data through the
system
 Views system as transforming inputs to
outputs
 Transformation done through transforms
 DFD captures how transformation occurs
from input to output as data moves through
the transforms
 Not limited to software
Requirements 4
Data flow diagrams…
 DFD
 Transforms represented by named
circles/bubbles
 Bubbles connected by arrows on which
named data travels
 A rectangle represents a source or sink
and is originator/consumer of data (often
outside the system)
Requirements 5
DFD Example
Requirements 6
DFD Conventions
 External files shown as labeled straight lines
 Need for multiple data flows by a process
represented by * (means and)
 OR relationship represented by +
 All processes and arrows should be named
 Processes should represent transforms,
arrows should represent some data
Requirements 7
Data flow diagrams…
 Focus on what transforms happen , how
they are done is not important
 Usually major inputs/outputs shown,
minor are ignored in this modeling
 No loops , conditional thinking , …
 DFD is NOT a control chart, no
algorithmic design/thinking
 Sink/Source , external files
Requirements 8
Drawing a DFD
 If get stuck , reverse direction
 If control logic comes in , stop and restart
 Label each arrows and bubbles
 Make use of + & *
 Try drawing alternate DFDs
Leveled DFDs :
Requirements 9
Data Dictionary
 In a DFD arrows are labeled with data items
 Data dictionary defines data flows in a DFD
 Shows structure of data; structure becomes
more visible when exploding
 Can use regular expressions to express the
structure of data
Requirements 10
Data Dictionary Example
 For the timesheet DFD
Weekly_timesheet – employee_name + id +
[regular_hrs + overtime_hrs]*
Pay_rate = [hourly | daily | weekly] + dollar_amt
Employee_name = last + first + middle
Id = digit + digit + digit + digit
Requirements 11
DFD drawing – common errors
 Unlabeled data flows
 Missing data flows
 Extraneous data flows
 Consistency not maintained during
refinement
 Missing processes
 Too detailed or too abstract
 Contains some control information
Requirements 12
Structured Analysis Method
 Structured system analysis and design
(SSAD) – we will focus only on analysis
 Was used a lot when automating existing
manual systems
 Main steps
 Draw a context diagram
 Draw DFD of the existing system
 Draw DFD of the proposed system and identify the
man-machine boundary
Requirements 13
Context Diagram
 Views the entire system as a transform
and identifies the context
 Is a DFD with one transform (system),
with all inputs, outputs, sources, sinks
for the system identified
Requirements 14
Modeling the Proposed System
 No general rules for drawing the DFD of the
future system
 Use existing system understanding
 DFD should model the entire proposed system
- process may be automated or manual
 validate with the user
 Then establish man-machine boundary
 what processes will be automated and which
remains manual
 Show clearly interaction between automated
and manual processes
Requirements 15
Example – context diagram
Requirements 16
Example – DFD of existing sys
Requirements 17
Example – DFD of proposed system
Requirements 18
Characteristics of an SRS
 Correct
 Complete
 Unambiguous
 Consistent
 Verifiable
 Traceable
 Modifiable
 Ranked for importance and/or stability
Requirements 19
Characteristics…
 Correctness
 Each requirement accurately represents some
desired feature in the final system
 Completeness
 All desired features/characteristics specified
 Hardest to satisfy
 Completeness and correctness strongly related
 Unambiguous
 Each req has exactly one meaning
 Without this errors will creep in
 Important as natural languages often used
Requirements 20
Characteristics…
 Verifiability
 There must exist a cost effective way of checking if sw
satisfies requirements
 Consistent
 two requirements don’t contradict each other
 Traceable
 The origin of the req, and how the req relates to software
elements can be determined
 Ranked for importance/stability
 Needed for prioritizing in construction
 To reduce risks due to changing requirements
Requirements 21
Use Cases Approach
 Traditional approach for fn specs – specify
each function
 Use cases is a newer technique for specifying
behavior (functionality)
 I.e. focuses on functional specs only
 Though primarily for specification, can be
used in analysis and elicitation
 Can be used to specify business or org
behavior also, though we will focus on sw
 Well suited for interactive systems
Requirements 22
Use Cases Basics
 A use case captures a contract
between a user and system about
behavior
 Basically a textual form; diagrams are
mostly to support
 Also useful in requirements elicitation
as users like and understand the story
telling form and react to it easily
Requirements 23
Basics..
 Actor: a person or a system that interacts with the
proposed system to achieve a goal
 Eg. User of an ATM (goal: get money); data entry operator;
(goal: Perform transaction)
 Actor is a logical entity, so receiver and sender actors
are different (even if the same person)
 Actors can be people or systems
 Primary actor: The main actor who initiates a UC
 UC is to satisfy his goals
 The actual execution may be done by a system or another
person on behalf of the Primary actor
Requirements 24
Basics..
 A UC is a collection of many such
scenarios
 A scenario may employ other use cases
in a step
 I.e. a sub-goal of a UC goal may be
performed by another UC
 I.e. UCs can be organized hierarchically
Requirements 25
Basics…
 UCs specify functionality by describing
interactions between actors and system
 Focuses on external behavior
 UCs are primarily textual
 UC diagrams show UCs, actors, and
dependencies
 They provide an overview
 Story like description easy to understand by
both users and analysts
 They do not form the complete SRS, only the
functionality part
Requirements 26
Example – An auction site
 Use Case1: Put an item for auction
 Primary Actor: Seller
 Precondition: Seller has logged in
 Main Success Scenario:
 Seller posts an item (its category, description, picture,
etc.) for auction
 System shows past prices of similar items to seller
 System specifies the starting bid price and a date when
auction will close
 System accepts the item and posts it
 Exception Scenarios:

-- 2 a) There are no past items of this category
* System tells the seller this situation
Requirements 27
Example – auction site..
 Use Case2: Make a bid
 Primary Actor: Buyer
 Precondition: The buyer has logged in
 Main Success Scenario:
 Buyer searches or browses and selects some item
 System shows the rating of the seller, the starting bid, the
current bids, and the highest bid; asks buyer to make a bid
 Buyer specifies bid price, max bid price, and increment
 Systems accepts the bid; Blocks funds in bidders account
 System updates the bid price of other bidders where needed,
and updates the records for the item
Requirements 28
 Exception Scenarios:
 -- 3 a) The bid price is lower than the current
highest
* System informs the bidder and asks to rebid
 -- 4 a) The bidder does not have enough funds in
his account
* System cancels the bid, asks the user to get
more funds
Requirements 29
Example –auction site..
 Use Case3: Complete auction of an item
 Primary Actor: Auction System
 Precondition: The last date for bidding has been
reached
 Main Success Scenario:
 Select highest bidder; send email to selected bidder and seller
informing final bid price; send email to other bidders also
 Debit bidder’s account and credit seller’s account
 Transfer from seller’s account commission amount to
organization’s account
 Remove item from the site; update records
 Exception Scenarios: None
Requirements 30
Example – summary-level Use Case
 Use Case 0 : Auction an item
 Primary Actor: Auction system
 Scope: Auction conducting organization
 Precondition: None
 Main Success Scenario:
 Seller performs put an item for auction
 Various bidders make a bid
 On final date perform Complete the auction of
the item
 Get feed back from seller; get feedback from
buyer; update records
Requirements 31
Requirements with Use Cases
 UCs specify functional requirements
 Other req identified separately
 A complete SRS will contain the use
cases plus the other requirements
 Note – for system requirements it is
important to identify UCs for which the
system itself may be the actor
Requirements 32
Developing Use Cases
 UCs form a good medium for
brainstorming and discussions
 Hence can be used in elicitation and
problem analysis also
 UCs can be developed in a stepwise
refinement manner
 Many levels possible, but four naturally
emerge
Requirements 33
Requirements Validation
 Lot of room for misunderstanding
 Errors possible
 Expensive to fix req defects later
 Must try to remove most errors in SRS
 Most common errors
 Omission - 30%
 Inconsistency - 10-30%
 Incorrect fact - 10-30%
 Ambiguity - 5 -20%

Mais conteúdo relacionado

Mais procurados

Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramKumar
 
file system in operating system
file system in operating systemfile system in operating system
file system in operating systemtittuajay
 
Decision Tree and Tables
Decision Tree and Tables Decision Tree and Tables
Decision Tree and Tables DivyaSure
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered ArchitectureMuhammed Afsal Villan
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12koolkampus
 
Database abstraction
Database abstractionDatabase abstraction
Database abstractionRituBhargava7
 
Client server architecture
Client server architectureClient server architecture
Client server architectureBhargav Amin
 
HCI 3e - Ch 12: Cognitive models
HCI 3e - Ch 12:  Cognitive modelsHCI 3e - Ch 12:  Cognitive models
HCI 3e - Ch 12: Cognitive modelsAlan Dix
 
Database Management System
Database Management SystemDatabase Management System
Database Management SystemNishant Munjal
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitivesStudent
 
Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19koolkampus
 
Hospital Management system Database design
Hospital Management system Database designHospital Management system Database design
Hospital Management system Database designElias Dinsa
 

Mais procurados (20)

Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
file system in operating system
file system in operating systemfile system in operating system
file system in operating system
 
Decision Tree and Tables
Decision Tree and Tables Decision Tree and Tables
Decision Tree and Tables
 
Distributed database
Distributed databaseDistributed database
Distributed database
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Uml Diagrams
Uml DiagramsUml Diagrams
Uml Diagrams
 
Mobile hci
Mobile hciMobile hci
Mobile hci
 
interaction norman model in Human Computer Interaction(HCI)
interaction  norman model in Human Computer Interaction(HCI)interaction  norman model in Human Computer Interaction(HCI)
interaction norman model in Human Computer Interaction(HCI)
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
Database abstraction
Database abstractionDatabase abstraction
Database abstraction
 
Data flow diagrams - DFD
Data flow diagrams - DFDData flow diagrams - DFD
Data flow diagrams - DFD
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
HCI 3e - Ch 12: Cognitive models
HCI 3e - Ch 12:  Cognitive modelsHCI 3e - Ch 12:  Cognitive models
HCI 3e - Ch 12: Cognitive models
 
Structure chart
Structure chartStructure chart
Structure chart
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Database Management System
Database Management SystemDatabase Management System
Database Management System
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
 
Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19
 
Hospital Management system Database design
Hospital Management system Database designHospital Management system Database design
Hospital Management system Database design
 

Semelhante a Data Flow Diagram and Use Cases Guide

Semelhante a Data Flow Diagram and Use Cases Guide (20)

Day01 01 software requirement concepts
Day01 01 software requirement conceptsDay01 01 software requirement concepts
Day01 01 software requirement concepts
 
Chapter 3 requirements
Chapter 3 requirementsChapter 3 requirements
Chapter 3 requirements
 
Requirement specification
Requirement specificationRequirement specification
Requirement specification
 
chapter_5_5.ppt
chapter_5_5.pptchapter_5_5.ppt
chapter_5_5.ppt
 
software requirement and architecture.pdf
software requirement and architecture.pdfsoftware requirement and architecture.pdf
software requirement and architecture.pdf
 
Final use case (1)
Final use case (1)Final use case (1)
Final use case (1)
 
3-Requirements.ppt
3-Requirements.ppt3-Requirements.ppt
3-Requirements.ppt
 
Jar chapter 3
Jar chapter 3Jar chapter 3
Jar chapter 3
 
SE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesSE_Lec 08_UML Use Cases
SE_Lec 08_UML Use Cases
 
Week 5
Week 5Week 5
Week 5
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt
 
VTU - MIS Module 4 - SDLC
VTU - MIS Module 4 - SDLCVTU - MIS Module 4 - SDLC
VTU - MIS Module 4 - SDLC
 
OOAD U1.pptx
OOAD U1.pptxOOAD U1.pptx
OOAD U1.pptx
 
Use case modeling
Use case modelingUse case modeling
Use case modeling
 
conversion-gate02.pptx
conversion-gate02.pptxconversion-gate02.pptx
conversion-gate02.pptx
 
Lecture7 use case modeling
Lecture7 use case modelingLecture7 use case modeling
Lecture7 use case modeling
 
6. ch 5-understanding requirements
6. ch 5-understanding requirements6. ch 5-understanding requirements
6. ch 5-understanding requirements
 
CIS 2303 LO3 Process Modeling
CIS 2303 LO3 Process ModelingCIS 2303 LO3 Process Modeling
CIS 2303 LO3 Process Modeling
 
Unit ii update
Unit ii updateUnit ii update
Unit ii update
 
SE chapters 6-7
SE chapters 6-7SE chapters 6-7
SE chapters 6-7
 

Mais de Kumar

Graphics devices
Graphics devicesGraphics devices
Graphics devicesKumar
 
Fill area algorithms
Fill area algorithmsFill area algorithms
Fill area algorithmsKumar
 
region-filling
region-fillingregion-filling
region-fillingKumar
 
Bresenham derivation
Bresenham derivationBresenham derivation
Bresenham derivationKumar
 
Bresenham circles and polygons derication
Bresenham circles and polygons dericationBresenham circles and polygons derication
Bresenham circles and polygons dericationKumar
 
Introductionto xslt
Introductionto xsltIntroductionto xslt
Introductionto xsltKumar
 
Extracting data from xml
Extracting data from xmlExtracting data from xml
Extracting data from xmlKumar
 
Xml basics
Xml basicsXml basics
Xml basicsKumar
 
XML Schema
XML SchemaXML Schema
XML SchemaKumar
 
Publishing xml
Publishing xmlPublishing xml
Publishing xmlKumar
 
Applying xml
Applying xmlApplying xml
Applying xmlKumar
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XMLKumar
 
How to deploy a j2ee application
How to deploy a j2ee applicationHow to deploy a j2ee application
How to deploy a j2ee applicationKumar
 
JNDI, JMS, JPA, XML
JNDI, JMS, JPA, XMLJNDI, JMS, JPA, XML
JNDI, JMS, JPA, XMLKumar
 
EJB Fundmentals
EJB FundmentalsEJB Fundmentals
EJB FundmentalsKumar
 
JSP and struts programming
JSP and struts programmingJSP and struts programming
JSP and struts programmingKumar
 
java servlet and servlet programming
java servlet and servlet programmingjava servlet and servlet programming
java servlet and servlet programmingKumar
 
Introduction to JDBC and JDBC Drivers
Introduction to JDBC and JDBC DriversIntroduction to JDBC and JDBC Drivers
Introduction to JDBC and JDBC DriversKumar
 
Introduction to J2EE
Introduction to J2EEIntroduction to J2EE
Introduction to J2EEKumar
 

Mais de Kumar (20)

Graphics devices
Graphics devicesGraphics devices
Graphics devices
 
Fill area algorithms
Fill area algorithmsFill area algorithms
Fill area algorithms
 
region-filling
region-fillingregion-filling
region-filling
 
Bresenham derivation
Bresenham derivationBresenham derivation
Bresenham derivation
 
Bresenham circles and polygons derication
Bresenham circles and polygons dericationBresenham circles and polygons derication
Bresenham circles and polygons derication
 
Introductionto xslt
Introductionto xsltIntroductionto xslt
Introductionto xslt
 
Extracting data from xml
Extracting data from xmlExtracting data from xml
Extracting data from xml
 
Xml basics
Xml basicsXml basics
Xml basics
 
XML Schema
XML SchemaXML Schema
XML Schema
 
Publishing xml
Publishing xmlPublishing xml
Publishing xml
 
DTD
DTDDTD
DTD
 
Applying xml
Applying xmlApplying xml
Applying xml
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
How to deploy a j2ee application
How to deploy a j2ee applicationHow to deploy a j2ee application
How to deploy a j2ee application
 
JNDI, JMS, JPA, XML
JNDI, JMS, JPA, XMLJNDI, JMS, JPA, XML
JNDI, JMS, JPA, XML
 
EJB Fundmentals
EJB FundmentalsEJB Fundmentals
EJB Fundmentals
 
JSP and struts programming
JSP and struts programmingJSP and struts programming
JSP and struts programming
 
java servlet and servlet programming
java servlet and servlet programmingjava servlet and servlet programming
java servlet and servlet programming
 
Introduction to JDBC and JDBC Drivers
Introduction to JDBC and JDBC DriversIntroduction to JDBC and JDBC Drivers
Introduction to JDBC and JDBC Drivers
 
Introduction to J2EE
Introduction to J2EEIntroduction to J2EE
Introduction to J2EE
 

Último

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
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.
 
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
 
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
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
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
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
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
 
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
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
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
 

Último (20)

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...
 
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
 
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
 
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
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
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
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
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
 
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)
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
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
 

Data Flow Diagram and Use Cases Guide

  • 1. Requirements 1 Data Flow Diagram and Use Cases
  • 2. Requirements 2 Data Flow Modeling  Widely used; focuses on functions performed in the system  Views a system as a network of data transforms through which the data flows  Uses data flow diagrams (DFDs) and functional decomposition in modeling  The SSAD methodology uses DFD to organize information, and guide analysis
  • 3. Requirements 3 Data flow diagrams  A DFD shows flow of data through the system  Views system as transforming inputs to outputs  Transformation done through transforms  DFD captures how transformation occurs from input to output as data moves through the transforms  Not limited to software
  • 4. Requirements 4 Data flow diagrams…  DFD  Transforms represented by named circles/bubbles  Bubbles connected by arrows on which named data travels  A rectangle represents a source or sink and is originator/consumer of data (often outside the system)
  • 6. Requirements 6 DFD Conventions  External files shown as labeled straight lines  Need for multiple data flows by a process represented by * (means and)  OR relationship represented by +  All processes and arrows should be named  Processes should represent transforms, arrows should represent some data
  • 7. Requirements 7 Data flow diagrams…  Focus on what transforms happen , how they are done is not important  Usually major inputs/outputs shown, minor are ignored in this modeling  No loops , conditional thinking , …  DFD is NOT a control chart, no algorithmic design/thinking  Sink/Source , external files
  • 8. Requirements 8 Drawing a DFD  If get stuck , reverse direction  If control logic comes in , stop and restart  Label each arrows and bubbles  Make use of + & *  Try drawing alternate DFDs Leveled DFDs :
  • 9. Requirements 9 Data Dictionary  In a DFD arrows are labeled with data items  Data dictionary defines data flows in a DFD  Shows structure of data; structure becomes more visible when exploding  Can use regular expressions to express the structure of data
  • 10. Requirements 10 Data Dictionary Example  For the timesheet DFD Weekly_timesheet – employee_name + id + [regular_hrs + overtime_hrs]* Pay_rate = [hourly | daily | weekly] + dollar_amt Employee_name = last + first + middle Id = digit + digit + digit + digit
  • 11. Requirements 11 DFD drawing – common errors  Unlabeled data flows  Missing data flows  Extraneous data flows  Consistency not maintained during refinement  Missing processes  Too detailed or too abstract  Contains some control information
  • 12. Requirements 12 Structured Analysis Method  Structured system analysis and design (SSAD) – we will focus only on analysis  Was used a lot when automating existing manual systems  Main steps  Draw a context diagram  Draw DFD of the existing system  Draw DFD of the proposed system and identify the man-machine boundary
  • 13. Requirements 13 Context Diagram  Views the entire system as a transform and identifies the context  Is a DFD with one transform (system), with all inputs, outputs, sources, sinks for the system identified
  • 14. Requirements 14 Modeling the Proposed System  No general rules for drawing the DFD of the future system  Use existing system understanding  DFD should model the entire proposed system - process may be automated or manual  validate with the user  Then establish man-machine boundary  what processes will be automated and which remains manual  Show clearly interaction between automated and manual processes
  • 15. Requirements 15 Example – context diagram
  • 16. Requirements 16 Example – DFD of existing sys
  • 17. Requirements 17 Example – DFD of proposed system
  • 18. Requirements 18 Characteristics of an SRS  Correct  Complete  Unambiguous  Consistent  Verifiable  Traceable  Modifiable  Ranked for importance and/or stability
  • 19. Requirements 19 Characteristics…  Correctness  Each requirement accurately represents some desired feature in the final system  Completeness  All desired features/characteristics specified  Hardest to satisfy  Completeness and correctness strongly related  Unambiguous  Each req has exactly one meaning  Without this errors will creep in  Important as natural languages often used
  • 20. Requirements 20 Characteristics…  Verifiability  There must exist a cost effective way of checking if sw satisfies requirements  Consistent  two requirements don’t contradict each other  Traceable  The origin of the req, and how the req relates to software elements can be determined  Ranked for importance/stability  Needed for prioritizing in construction  To reduce risks due to changing requirements
  • 21. Requirements 21 Use Cases Approach  Traditional approach for fn specs – specify each function  Use cases is a newer technique for specifying behavior (functionality)  I.e. focuses on functional specs only  Though primarily for specification, can be used in analysis and elicitation  Can be used to specify business or org behavior also, though we will focus on sw  Well suited for interactive systems
  • 22. Requirements 22 Use Cases Basics  A use case captures a contract between a user and system about behavior  Basically a textual form; diagrams are mostly to support  Also useful in requirements elicitation as users like and understand the story telling form and react to it easily
  • 23. Requirements 23 Basics..  Actor: a person or a system that interacts with the proposed system to achieve a goal  Eg. User of an ATM (goal: get money); data entry operator; (goal: Perform transaction)  Actor is a logical entity, so receiver and sender actors are different (even if the same person)  Actors can be people or systems  Primary actor: The main actor who initiates a UC  UC is to satisfy his goals  The actual execution may be done by a system or another person on behalf of the Primary actor
  • 24. Requirements 24 Basics..  A UC is a collection of many such scenarios  A scenario may employ other use cases in a step  I.e. a sub-goal of a UC goal may be performed by another UC  I.e. UCs can be organized hierarchically
  • 25. Requirements 25 Basics…  UCs specify functionality by describing interactions between actors and system  Focuses on external behavior  UCs are primarily textual  UC diagrams show UCs, actors, and dependencies  They provide an overview  Story like description easy to understand by both users and analysts  They do not form the complete SRS, only the functionality part
  • 26. Requirements 26 Example – An auction site  Use Case1: Put an item for auction  Primary Actor: Seller  Precondition: Seller has logged in  Main Success Scenario:  Seller posts an item (its category, description, picture, etc.) for auction  System shows past prices of similar items to seller  System specifies the starting bid price and a date when auction will close  System accepts the item and posts it  Exception Scenarios:  -- 2 a) There are no past items of this category * System tells the seller this situation
  • 27. Requirements 27 Example – auction site..  Use Case2: Make a bid  Primary Actor: Buyer  Precondition: The buyer has logged in  Main Success Scenario:  Buyer searches or browses and selects some item  System shows the rating of the seller, the starting bid, the current bids, and the highest bid; asks buyer to make a bid  Buyer specifies bid price, max bid price, and increment  Systems accepts the bid; Blocks funds in bidders account  System updates the bid price of other bidders where needed, and updates the records for the item
  • 28. Requirements 28  Exception Scenarios:  -- 3 a) The bid price is lower than the current highest * System informs the bidder and asks to rebid  -- 4 a) The bidder does not have enough funds in his account * System cancels the bid, asks the user to get more funds
  • 29. Requirements 29 Example –auction site..  Use Case3: Complete auction of an item  Primary Actor: Auction System  Precondition: The last date for bidding has been reached  Main Success Scenario:  Select highest bidder; send email to selected bidder and seller informing final bid price; send email to other bidders also  Debit bidder’s account and credit seller’s account  Transfer from seller’s account commission amount to organization’s account  Remove item from the site; update records  Exception Scenarios: None
  • 30. Requirements 30 Example – summary-level Use Case  Use Case 0 : Auction an item  Primary Actor: Auction system  Scope: Auction conducting organization  Precondition: None  Main Success Scenario:  Seller performs put an item for auction  Various bidders make a bid  On final date perform Complete the auction of the item  Get feed back from seller; get feedback from buyer; update records
  • 31. Requirements 31 Requirements with Use Cases  UCs specify functional requirements  Other req identified separately  A complete SRS will contain the use cases plus the other requirements  Note – for system requirements it is important to identify UCs for which the system itself may be the actor
  • 32. Requirements 32 Developing Use Cases  UCs form a good medium for brainstorming and discussions  Hence can be used in elicitation and problem analysis also  UCs can be developed in a stepwise refinement manner  Many levels possible, but four naturally emerge
  • 33. Requirements 33 Requirements Validation  Lot of room for misunderstanding  Errors possible  Expensive to fix req defects later  Must try to remove most errors in SRS  Most common errors  Omission - 30%  Inconsistency - 10-30%  Incorrect fact - 10-30%  Ambiguity - 5 -20%