SlideShare a Scribd company logo
Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5



                         Systems Analysis and Design
                          Learning Module Series #3
                                       Document version

                               Data Flow Diagrams
                                                  Part 1
  Creating an Intersection Table in a Relational Database

Overview
In this tutorial we will explain the basic symbols used in a data flow diagram, initialize a new diagram and
create a context diagram depicting a Reservation System.

What is a Data Flow Diagram (DFD)?
A data flow diagram is a graphical process model that shows all the main requirements an information system in
on diagram. It depicts  Inputs  Outputs  Processes, and  Data Storage entities.

A key advantage of a DFD is that it easy to read and understand with minimal training or technical background.

The symbols used in a DFD are as follows:




                                                      1
Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5


City Lights Bed and Breakfast – Case Study
Potential visitors to the Twin Cities call up City Lights Bed and Breakfast to inquire as to available locations to
stay in over their visit to Minneapolis/St. Paul, MN. Each caller is interviewed over the phone by a bookings
clerk. If the caller is interested in using the reservation service, the bookings clerk records the inquiry (the
desired dates of arrival and departure, location and accommodation preferences) as a reservation request for the
potential guest.

The bookings clerk then identifies host accommodations that may be suitable to fulfill the reservation request.
Accommodations are referenced against the current host location bookings schedule to determine if they are
available during the time period that the potential guests intend to stay in the Twin Cities. After finding suitable
host accommodations that appear to be available at the requested time period, the bookings clerk contacts the
host to verify if the desired accommodations are available and confirm that guest demographics (as described
during the initial intake survey) contain no disqualifying criteria and meet with the hosts approval.

If all conditions are satisfactory, i.e. the dates are available and the host is willing to approve their stay, the
bookings clerk now contacts the potential guests to confirm that the location is suitable and the guest wishes to
authorize completion of the reservation transaction. With the guest’s approval, the clerk submits the guest’s
credit card information to initialize a reservation transaction.

After confirming the credit card information electronically (via the Credit Card Bureau) and recording the
reservation, the bookings schedule is updated and notification is sent to the host confirming the booking, along
with the details of the stay. Concurrently, a final reservation confirmation (letter or fax) is dispatched the guest.


Creating a Context Diagram
Five steps are involved:

   1. Identify one process that will be placed in the middle of the diagram to represent the total information
      processing system. This central information process, contained within an automation boundary, will be
      called the System Process.

   2. Identify all potential actors from the case study narrative that produce or consume data from the system.
      These actors are called External Entities.

   3. Identify primary potential stores of data used by the system its transactions. These are called Data
      Stores.

   4. Brainstorm and elaborate all potential streams of data that flow to and from the System Process, i.e. to
      or from the External Entities and Data Stores). These are called Data Flows and must always flow into
      or out of a process.

   5. Eliminate those external entities which do not have any Data Flows connecting them to the System
      Process.


                                                          2
Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5




Bird’s eye view of completed model




   How to Create our DFD in MS Visio

   1. Open MS Visio. From the Menu bar, click File and select: New… Flowchart… Data Flow Diagram
      (US units).




                                                   3
Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5




The System Process

Since this is a context diagram, our first step is to insert a single System Process in the center of our
diagram. This automation boundary will represent the total reservation system of City Lights B&B.

2. From the Shapes Window Pane, drag the Data Process item to the center of the workspace grid.
   Double-click on the shape to name it City Lights B&B Reservation System.




                                                      4
Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5


The External Entities

DFD also contains “External Entities” that are producers and consumers of data transformed by processes.
A context DFD depicts all the significant External Entities that either input Data Flows for the system to
process, or consume Data Flows that are output from the system.

In our Case Study narrative, there are three such actors or External Entities: The (potential) Guest, the Host,
and the Bookings Clerk (who mediates and facilitates between the other two).


3. Drag three External Entity items from the Shapes Window Pane to the workspace grid. Double-click on
   the shapes, one at a time, labeling them Guest, Clerk and Host respectively.




                                                                                      .


The Data Stores

DFD’s also contain “Data Stores” that represent flows of data that have been stored for a while prior to
being used again, or more simply data flows in storage. (Think of them like a database or file cabinet). If we
identify the Data Stores in our case study, we find that we there are two: The Host Location Booking
Schedule (mentioned explicitly), and the Credit Card Bureau (implied in the process of payment
confirmation from an external source).


4. Drag two Data Store items from the Shapes Window Pane to the workspace grid. To add text, click
   Insert on the Menu bar and select Text Box.



                                                     5
Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5




                                                                                              Data Store




The Data Flows

Data Flows operate in one of two directions, and can be considered from different perspectives. The Visitors
perspective includes “Producing” data flows, such as:  Reservation Request and  Payment Information;
as well as “Receiving” data flows, such as:  Potential Booking Options and  Confirmation of a
Completed Booking.

The Host’s perspective includes “Producing” data flows, such as:  Confirmation of host location
availability and  Confirmation of Reservation Suitability; as well as “Receiving” data flows, such as:
  Reservation Request and  Request for Suitability/Availability approval.

“Other” data flows include:  Confirmation of Credit Card information,  Potential availability of Host
Location, and  Completed Reservation.

 ______

 Note: In Visio, data flows can be represented by a curved connector or a straight-lined/angular
 connector. In this tutorial, we will be using the straight-lined/angular which is the default connector that
the connector tool supplies:




To use the connector tool, first, click the button on the toolbar; second, use the mouse to draw the
connection, in the appropriate direction, on Visio work space grid.
                                                       6
Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5


In the next set of steps, we will place data flows onto the diagram, identifying those flows from the
perspectives of each external entity, according to the case narrative:

5. Draw the following data flows from the Guest’s Perspective:

   Reservation Request (guest, producing)
   Payment Information (guest, producing)
   Potential Booking (guest, receiving)
   Confirmation of Completed Booking (guest, receiving)




6. Draw the following data flows from the Host’s Perspective:

   Reservation request Availability Confirmation (host, producing)
   Reservation (location/dates etc.) Suitability Confirmation (host, producing)
   Request for Availability/Suitability confirmation (host, receiving)
   Request for Booking Confirmation (host, receiving)




                                                    7
Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5


Based on our narrative … the potential availability of a Host location is looked up by the Bookings Clerk in
the Host Locations Booking Schedule data store. Similarly, the completed reservation is posted back to the
Schedule by the Clerk.


7. Draw the following Other data flows:

    Reservation request Availability Confirmation (host, producing)
    Reservation (location/dates etc.) Suitability Confirmation (host, producing)
    Request for Availability/Suitability confirmation (host, receiving)
    Request for Booking Confirmation (host, receiving)




However, a closer look at the above diagram reveals that it is in violation of our key rule: All data must
flow to, or from, a process! Stated differently, the DFD only shows data that undergoes transformation.
Both of these data flows are in violation of this rule, since the Clerk does not represent a process, nor does
any data get transformed through him/her.

Therefore, the next step is to Delete the Clerk , and present the data flow, rather as in :




                                                    8
Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5




                                                      




8. Similarly, draw the following Other data flows:

   Confirmation of Credit Card Information (system receiving from external data store)




                                                  9
Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5


The Final Product




   In this tutorial then, we learned how to construct a context data flow diagram.

   In Part II - the next tutorial, we will learn how to construct a Level 0 DFD which depicts the processes and
   data flows at the next granular level of detail; and further refine our context diagram using some advanced
   rules of DFD presentation.




                                                       10
Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5




                    Systems Analysis and Design
                     Learning Module Series #3
                                 Document version

                          Data Flow Diagrams
                                            Part 1
Creating an Intersection Table in a Relational Database




                                               11

More Related Content

What's hot

System analysis and design
System analysis and designSystem analysis and design
System analysis and design
Diana Oommachan
 
Library management system
Library management systemLibrary management system
Library management system
ashu6
 
introduction To Operating System
introduction To Operating Systemintroduction To Operating System
introduction To Operating System
Luka M G
 

What's hot (20)

Hospital management
Hospital managementHospital management
Hospital management
 
restaurant billing system
restaurant billing system restaurant billing system
restaurant billing system
 
Online Shopping System [SE]
Online Shopping System  [SE]Online Shopping System  [SE]
Online Shopping System [SE]
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and design
 
Pharmacy management system Requirement Analysis and Elicitation Document
Pharmacy management system Requirement Analysis and Elicitation Document Pharmacy management system Requirement Analysis and Elicitation Document
Pharmacy management system Requirement Analysis and Elicitation Document
 
Bsc. Final Project Presentation
Bsc. Final Project PresentationBsc. Final Project Presentation
Bsc. Final Project Presentation
 
File management
File management File management
File management
 
Library Management System
Library Management SystemLibrary Management System
Library Management System
 
Hospital Management Record System Proposal
Hospital Management Record System ProposalHospital Management Record System Proposal
Hospital Management Record System Proposal
 
Pharmacy Management System Proposal
Pharmacy Management System ProposalPharmacy Management System Proposal
Pharmacy Management System Proposal
 
Online Admission System
Online Admission System  Online Admission System
Online Admission System
 
Library management system
Library management systemLibrary management system
Library management system
 
Hospital database management system project report
Hospital database management system project reportHospital database management system project report
Hospital database management system project report
 
Hospital Management System-out patient Detail
Hospital Management System-out patient DetailHospital Management System-out patient Detail
Hospital Management System-out patient Detail
 
Online Hotel Room Booking System
Online Hotel Room Booking SystemOnline Hotel Room Booking System
Online Hotel Room Booking System
 
Ms word Part 1
Ms  word Part 1Ms  word Part 1
Ms word Part 1
 
introduction To Operating System
introduction To Operating Systemintroduction To Operating System
introduction To Operating System
 
Hospital management system
Hospital management systemHospital management system
Hospital management system
 
Decision tree- System analysis and design
Decision tree- System analysis and designDecision tree- System analysis and design
Decision tree- System analysis and design
 
Hospital management system
Hospital management systemHospital management system
Hospital management system
 

Viewers also liked

S6 advanced issues in erd pdf
S6 advanced issues in erd pdfS6 advanced issues in erd pdf
S6 advanced issues in erd pdf
aviy1966
 
Context Diagram
Context DiagramContext Diagram
Context Diagram
Deal Up
 
CCNA Exploration 2 - Chapter 6
CCNA Exploration 2 - Chapter 6CCNA Exploration 2 - Chapter 6
CCNA Exploration 2 - Chapter 6
Irsandi Hasan
 
Dfd examples
Dfd examplesDfd examples
Dfd examples
Mohit
 
Data Flow Diagram Example
Data Flow Diagram ExampleData Flow Diagram Example
Data Flow Diagram Example
Kaviarasu D
 

Viewers also liked (17)

Entity-relation-diagram
Entity-relation-diagramEntity-relation-diagram
Entity-relation-diagram
 
S6 advanced issues in erd pdf
S6 advanced issues in erd pdfS6 advanced issues in erd pdf
S6 advanced issues in erd pdf
 
Apresentação sobre ipv6
Apresentação sobre ipv6Apresentação sobre ipv6
Apresentação sobre ipv6
 
Lecture 10 documentation techniques -transaction processing- james a. hall b...
Lecture 10  documentation techniques -transaction processing- james a. hall b...Lecture 10  documentation techniques -transaction processing- james a. hall b...
Lecture 10 documentation techniques -transaction processing- james a. hall b...
 
Context Diagram
Context DiagramContext Diagram
Context Diagram
 
Sub Netting
Sub NettingSub Netting
Sub Netting
 
IP Address
IP AddressIP Address
IP Address
 
IP Address
IP AddressIP Address
IP Address
 
CCNA Exploration 2 - Chapter 6
CCNA Exploration 2 - Chapter 6CCNA Exploration 2 - Chapter 6
CCNA Exploration 2 - Chapter 6
 
Easy IP Addressing and Subnetting Manual for Starters
Easy IP Addressing and Subnetting Manual for StartersEasy IP Addressing and Subnetting Manual for Starters
Easy IP Addressing and Subnetting Manual for Starters
 
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 )
 
Ip address
Ip addressIp address
Ip address
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
Ip address and subnetting
Ip address and subnettingIp address and subnetting
Ip address and subnetting
 
Dfd examples
Dfd examplesDfd examples
Dfd examples
 
Data Flow Diagram Example
Data Flow Diagram ExampleData Flow Diagram Example
Data Flow Diagram Example
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similar to S3 dfd1 context diagram pdf

S4 dfd2 detail level diagram pdf
S4 dfd2 detail level diagram pdfS4 dfd2 detail level diagram pdf
S4 dfd2 detail level diagram pdf
aviy1966
 
Data flow diagram
Data flow diagram Data flow diagram
Data flow diagram
Nidhi Sharma
 
Running Head PROJECT DELIVERABLE 31PROJECT DELIVERABLE 310.docx
Running Head PROJECT DELIVERABLE 31PROJECT DELIVERABLE 310.docxRunning Head PROJECT DELIVERABLE 31PROJECT DELIVERABLE 310.docx
Running Head PROJECT DELIVERABLE 31PROJECT DELIVERABLE 310.docx
todd581
 
1. What are the business costs or risks of poor data quality Sup.docx
1.  What are the business costs or risks of poor data quality Sup.docx1.  What are the business costs or risks of poor data quality Sup.docx
1. What are the business costs or risks of poor data quality Sup.docx
SONU61709
 
Week10 Analysing Client Requirements
Week10 Analysing Client RequirementsWeek10 Analysing Client Requirements
Week10 Analysing Client Requirements
hapy
 
Workshop on requirements and modeling at HAE 2015
Workshop on requirements and modeling at HAE 2015Workshop on requirements and modeling at HAE 2015
Workshop on requirements and modeling at HAE 2015
Olivier Béghain
 

Similar to S3 dfd1 context diagram pdf (20)

S4 dfd2 detail level diagram pdf
S4 dfd2 detail level diagram pdfS4 dfd2 detail level diagram pdf
S4 dfd2 detail level diagram pdf
 
Data flow diagram
Data flow diagram Data flow diagram
Data flow diagram
 
Building a data warehouse
Building a data warehouseBuilding a data warehouse
Building a data warehouse
 
Artificially Intelligent Investment Risk Calculation system based on Distribu...
Artificially Intelligent Investment Risk Calculation system based on Distribu...Artificially Intelligent Investment Risk Calculation system based on Distribu...
Artificially Intelligent Investment Risk Calculation system based on Distribu...
 
D017612529
D017612529D017612529
D017612529
 
Understanding IDP: Data Validation and Feedback Loop
Understanding IDP: Data Validation and Feedback LoopUnderstanding IDP: Data Validation and Feedback Loop
Understanding IDP: Data Validation and Feedback Loop
 
Recording Transaction
Recording TransactionRecording Transaction
Recording Transaction
 
Running Head PROJECT DELIVERABLE 31PROJECT DELIVERABLE 310.docx
Running Head PROJECT DELIVERABLE 31PROJECT DELIVERABLE 310.docxRunning Head PROJECT DELIVERABLE 31PROJECT DELIVERABLE 310.docx
Running Head PROJECT DELIVERABLE 31PROJECT DELIVERABLE 310.docx
 
Data flow diagrams dfd
Data flow diagrams dfdData flow diagrams dfd
Data flow diagrams dfd
 
Course Outline Ch 2
Course Outline Ch 2Course Outline Ch 2
Course Outline Ch 2
 
Survey on An effective database tampering system with veriable computation a...
Survey on An effective  database tampering system with veriable computation a...Survey on An effective  database tampering system with veriable computation a...
Survey on An effective database tampering system with veriable computation a...
 
1. What are the business costs or risks of poor data quality Sup.docx
1.  What are the business costs or risks of poor data quality Sup.docx1.  What are the business costs or risks of poor data quality Sup.docx
1. What are the business costs or risks of poor data quality Sup.docx
 
Week10 Analysing Client Requirements
Week10 Analysing Client RequirementsWeek10 Analysing Client Requirements
Week10 Analysing Client Requirements
 
A Holistic Approach to Property Valuations
A Holistic Approach to Property ValuationsA Holistic Approach to Property Valuations
A Holistic Approach to Property Valuations
 
Smarter Document Capture
Smarter Document CaptureSmarter Document Capture
Smarter Document Capture
 
System flow charts @ doms
System flow charts @  domsSystem flow charts @  doms
System flow charts @ doms
 
The Road to Open Data Enlightenment Is Paved With Nice Excuses
The Road to Open Data Enlightenment Is Paved With Nice ExcusesThe Road to Open Data Enlightenment Is Paved With Nice Excuses
The Road to Open Data Enlightenment Is Paved With Nice Excuses
 
Workshop on requirements and modeling at HAE 2015
Workshop on requirements and modeling at HAE 2015Workshop on requirements and modeling at HAE 2015
Workshop on requirements and modeling at HAE 2015
 
BigDataCloud Sept 8 2011 Meetup - Big Data Analytics for DoddFrank Regulation...
BigDataCloud Sept 8 2011 Meetup - Big Data Analytics for DoddFrank Regulation...BigDataCloud Sept 8 2011 Meetup - Big Data Analytics for DoddFrank Regulation...
BigDataCloud Sept 8 2011 Meetup - Big Data Analytics for DoddFrank Regulation...
 
The road to open data enlightenment is paved with nice excuses by Toon Vanagt
The road to open data enlightenment is paved with nice excuses by Toon VanagtThe road to open data enlightenment is paved with nice excuses by Toon Vanagt
The road to open data enlightenment is paved with nice excuses by Toon Vanagt
 

Recently uploaded

Recently uploaded (20)

Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 

S3 dfd1 context diagram pdf

  • 1. Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5 Systems Analysis and Design Learning Module Series #3 Document version Data Flow Diagrams Part 1 Creating an Intersection Table in a Relational Database Overview In this tutorial we will explain the basic symbols used in a data flow diagram, initialize a new diagram and create a context diagram depicting a Reservation System. What is a Data Flow Diagram (DFD)? A data flow diagram is a graphical process model that shows all the main requirements an information system in on diagram. It depicts  Inputs  Outputs  Processes, and  Data Storage entities. A key advantage of a DFD is that it easy to read and understand with minimal training or technical background. The symbols used in a DFD are as follows: 1
  • 2. Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5 City Lights Bed and Breakfast – Case Study Potential visitors to the Twin Cities call up City Lights Bed and Breakfast to inquire as to available locations to stay in over their visit to Minneapolis/St. Paul, MN. Each caller is interviewed over the phone by a bookings clerk. If the caller is interested in using the reservation service, the bookings clerk records the inquiry (the desired dates of arrival and departure, location and accommodation preferences) as a reservation request for the potential guest. The bookings clerk then identifies host accommodations that may be suitable to fulfill the reservation request. Accommodations are referenced against the current host location bookings schedule to determine if they are available during the time period that the potential guests intend to stay in the Twin Cities. After finding suitable host accommodations that appear to be available at the requested time period, the bookings clerk contacts the host to verify if the desired accommodations are available and confirm that guest demographics (as described during the initial intake survey) contain no disqualifying criteria and meet with the hosts approval. If all conditions are satisfactory, i.e. the dates are available and the host is willing to approve their stay, the bookings clerk now contacts the potential guests to confirm that the location is suitable and the guest wishes to authorize completion of the reservation transaction. With the guest’s approval, the clerk submits the guest’s credit card information to initialize a reservation transaction. After confirming the credit card information electronically (via the Credit Card Bureau) and recording the reservation, the bookings schedule is updated and notification is sent to the host confirming the booking, along with the details of the stay. Concurrently, a final reservation confirmation (letter or fax) is dispatched the guest. Creating a Context Diagram Five steps are involved: 1. Identify one process that will be placed in the middle of the diagram to represent the total information processing system. This central information process, contained within an automation boundary, will be called the System Process. 2. Identify all potential actors from the case study narrative that produce or consume data from the system. These actors are called External Entities. 3. Identify primary potential stores of data used by the system its transactions. These are called Data Stores. 4. Brainstorm and elaborate all potential streams of data that flow to and from the System Process, i.e. to or from the External Entities and Data Stores). These are called Data Flows and must always flow into or out of a process. 5. Eliminate those external entities which do not have any Data Flows connecting them to the System Process. 2
  • 3. Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5 Bird’s eye view of completed model How to Create our DFD in MS Visio 1. Open MS Visio. From the Menu bar, click File and select: New… Flowchart… Data Flow Diagram (US units). 3
  • 4. Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5 The System Process Since this is a context diagram, our first step is to insert a single System Process in the center of our diagram. This automation boundary will represent the total reservation system of City Lights B&B. 2. From the Shapes Window Pane, drag the Data Process item to the center of the workspace grid. Double-click on the shape to name it City Lights B&B Reservation System. 4
  • 5. Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5 The External Entities DFD also contains “External Entities” that are producers and consumers of data transformed by processes. A context DFD depicts all the significant External Entities that either input Data Flows for the system to process, or consume Data Flows that are output from the system. In our Case Study narrative, there are three such actors or External Entities: The (potential) Guest, the Host, and the Bookings Clerk (who mediates and facilitates between the other two). 3. Drag three External Entity items from the Shapes Window Pane to the workspace grid. Double-click on the shapes, one at a time, labeling them Guest, Clerk and Host respectively. . The Data Stores DFD’s also contain “Data Stores” that represent flows of data that have been stored for a while prior to being used again, or more simply data flows in storage. (Think of them like a database or file cabinet). If we identify the Data Stores in our case study, we find that we there are two: The Host Location Booking Schedule (mentioned explicitly), and the Credit Card Bureau (implied in the process of payment confirmation from an external source). 4. Drag two Data Store items from the Shapes Window Pane to the workspace grid. To add text, click Insert on the Menu bar and select Text Box. 5
  • 6. Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5 Data Store The Data Flows Data Flows operate in one of two directions, and can be considered from different perspectives. The Visitors perspective includes “Producing” data flows, such as:  Reservation Request and  Payment Information; as well as “Receiving” data flows, such as:  Potential Booking Options and  Confirmation of a Completed Booking. The Host’s perspective includes “Producing” data flows, such as:  Confirmation of host location availability and  Confirmation of Reservation Suitability; as well as “Receiving” data flows, such as:  Reservation Request and  Request for Suitability/Availability approval. “Other” data flows include:  Confirmation of Credit Card information,  Potential availability of Host Location, and  Completed Reservation. ______ Note: In Visio, data flows can be represented by a curved connector or a straight-lined/angular connector. In this tutorial, we will be using the straight-lined/angular which is the default connector that the connector tool supplies: To use the connector tool, first, click the button on the toolbar; second, use the mouse to draw the connection, in the appropriate direction, on Visio work space grid. 6
  • 7. Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5 In the next set of steps, we will place data flows onto the diagram, identifying those flows from the perspectives of each external entity, according to the case narrative: 5. Draw the following data flows from the Guest’s Perspective: Reservation Request (guest, producing) Payment Information (guest, producing) Potential Booking (guest, receiving) Confirmation of Completed Booking (guest, receiving) 6. Draw the following data flows from the Host’s Perspective: Reservation request Availability Confirmation (host, producing) Reservation (location/dates etc.) Suitability Confirmation (host, producing) Request for Availability/Suitability confirmation (host, receiving) Request for Booking Confirmation (host, receiving) 7
  • 8. Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5 Based on our narrative … the potential availability of a Host location is looked up by the Bookings Clerk in the Host Locations Booking Schedule data store. Similarly, the completed reservation is posted back to the Schedule by the Clerk. 7. Draw the following Other data flows: Reservation request Availability Confirmation (host, producing) Reservation (location/dates etc.) Suitability Confirmation (host, producing) Request for Availability/Suitability confirmation (host, receiving) Request for Booking Confirmation (host, receiving) However, a closer look at the above diagram reveals that it is in violation of our key rule: All data must flow to, or from, a process! Stated differently, the DFD only shows data that undergoes transformation. Both of these data flows are in violation of this rule, since the Clerk does not represent a process, nor does any data get transformed through him/her. Therefore, the next step is to Delete the Clerk , and present the data flow, rather as in : 8
  • 9. Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5   8. Similarly, draw the following Other data flows: Confirmation of Credit Card Information (system receiving from external data store) 9
  • 10. Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5 The Final Product In this tutorial then, we learned how to construct a context data flow diagram. In Part II - the next tutorial, we will learn how to construct a Level 0 DFD which depicts the processes and data flows at the next granular level of detail; and further refine our context diagram using some advanced rules of DFD presentation. 10
  • 11. Copyright © 2009 Bahn, D., Tang, H. & Yardley, A. All Rights Reserved. ISBN: 978-1-936203-05-5 Systems Analysis and Design Learning Module Series #3 Document version Data Flow Diagrams Part 1 Creating an Intersection Table in a Relational Database 11