SlideShare una empresa de 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%

Más contenido relacionado

La actualidad más candente

Lecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxLecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxYaseenNazir3
 
Chapter12 designing databases
Chapter12 designing databasesChapter12 designing databases
Chapter12 designing databasesDhani Ahmad
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling Benazir Fathima
 
Fundamentals of Database system
Fundamentals of Database systemFundamentals of Database system
Fundamentals of Database systemphilipsinter
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagramnethisip13
 
Chapter13 designing forms and reports
Chapter13 designing forms and reportsChapter13 designing forms and reports
Chapter13 designing forms and reportsDhani Ahmad
 
Requirement Elicitation and Analysis.pptx
Requirement Elicitation and Analysis.pptxRequirement Elicitation and Analysis.pptx
Requirement Elicitation and Analysis.pptxRojipRai
 
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
 
Data flow diagram
Data flow diagramData flow diagram
Data flow diagramFizza Khan
 
HSC Context and data flow diagrams ( DFD )
HSC Context and data flow diagrams ( DFD )HSC Context and data flow diagrams ( DFD )
HSC Context and data flow diagrams ( DFD )greg robertson
 
Online auction system srs riport
Online auction system srs  riportOnline auction system srs  riport
Online auction system srs riportDilip Prajapati
 
Understanding Data Flow Diagram
Understanding Data Flow DiagramUnderstanding Data Flow Diagram
Understanding Data Flow DiagramAnkur Biswas
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 

La actualidad más candente (20)

Data dictionary
Data dictionaryData dictionary
Data dictionary
 
Lecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxLecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptx
 
Chapter12 designing databases
Chapter12 designing databasesChapter12 designing databases
Chapter12 designing databases
 
Oracle 10g Introduction 1
Oracle 10g Introduction 1Oracle 10g Introduction 1
Oracle 10g Introduction 1
 
Requirements elicitation
Requirements elicitationRequirements elicitation
Requirements elicitation
 
Database design
Database designDatabase design
Database design
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Fundamentals of Database system
Fundamentals of Database systemFundamentals of Database system
Fundamentals of Database system
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
Chapter13 designing forms and reports
Chapter13 designing forms and reportsChapter13 designing forms and reports
Chapter13 designing forms and reports
 
Requirement Elicitation and Analysis.pptx
Requirement Elicitation and Analysis.pptxRequirement Elicitation and Analysis.pptx
Requirement Elicitation and Analysis.pptx
 
Deductive databases
Deductive databasesDeductive databases
Deductive databases
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
Data flow diagram
Data flow diagramData flow diagram
Data flow diagram
 
DBMS
DBMSDBMS
DBMS
 
HSC Context and data flow diagrams ( DFD )
HSC Context and data flow diagrams ( DFD )HSC Context and data flow diagrams ( DFD )
HSC Context and data flow diagrams ( DFD )
 
Online auction system srs riport
Online auction system srs  riportOnline auction system srs  riport
Online auction system srs riport
 
Understanding Data Flow Diagram
Understanding Data Flow DiagramUnderstanding Data Flow Diagram
Understanding Data Flow Diagram
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 

Similar a Data Flow Diagram and Use Cases Guide

Similar 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
 

Más 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
 

Más 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

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
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
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 

Último (20)

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
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...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 

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%