Session 20 CH 13 DataFlow Diagrams DFDs
Session 20 CH 13 DataFlow Diagrams DFDs
1
Data Flow Diagrams
The data flow diagram (DFD) is the use of a set of
symbols in a diagram to represent the processes, data
sources, data flows, and process sequences of a current
or proposed system.
Strengths:
Simplicity, and therefore potential for good communication with
business people
Weaknesses:
Not in itself an adequate basis for designing and implementing a
computerised information system, because the data is not
modelled
There is a part-question which will ask you to draw a
level 1 DFD
DFD structure
Source:
https://eternalsunshineoftheismind.wordpress.com/2013/03/09/data-flo
w-diagrams-and-security-requirements/
accessed 04/05/2021.
Source:
https://online.visual-paradigm.com/diagrams/templates/gane-sarson-d
iagram/gane-sarson-dfd-example/
accessed 404/05/2021
Data Flow Diagram Symbol Set
These
are the
symbols
used in
the
textbook
5
Data Flow Diagram of Purchases System
There’s a
DFD part-
question
in the
exam
Draw your
answer
6
Data flow diagram symbols - 1
Learn how to make a DFD on paper (essential) and on
computer (if you are using DFDs in assignment).
A data flow diagram shows how data is processed within a
system based on inputs and outputs.
Visual symbols are used to represent the flow of
information, data sources and destinations, and where
data is stored.
Data flow diagrams are often used as a first step toward
redesigning a system.
They provide a graphical representation of a system at
any level of detail (because hierarchical), creating an
easy-to-understand picture of what the system does: how
data is processed.
7
Data flow diagram symbols - 2
A general overview of a system is represented with a
context diagram, also known as a level 0 DFD, which
shows a system as a single process. Not required in the
exam.
A level 1 diagram provides greater detail, focusing on a
system’s main functions. Required in a part-question
in the exam.
Processes on a level 1 diagram may be “exploded”, each
process appearing as a level 2 diagram. Diagrams that
are level 2 or higher illustrate a system’s functioning with
increasing detail. They are not required in the exam.
8
How to draw a DataFlow diagram: the situation
Situation / question: a hypermarket offers a very short term
rental facility to its customers, so that they can hire a van for
a few hours, collect and take home their purchases, and
then return the van to the hypermarket where they bought
their stuff. Draw a level 1 DFD to show this situation
External entities:
Customer
Insurance company
Data flows:
Licence details, rental agreement, post rental assessment
of vehicle state
9
Further details - suggestions
Data stores:
Licence details of renter (datastore)
Rental
Others?
Processes:
Check vehicle availability
Register renter
Allocate vehicle
Sign rental agreement
Return vehicle
Check for defects and charge for them
10
You should try this…
Sketch out on paper a level 1 DFD, take photos
and use them in your answer to the question:
“Q: Draw a level 1 DFD to show this situation”.
Why? There’s a similar part-question in the
exam. You need to practise this.
You need to be able to do this to answer one of
the exam questions.
Here’s my attempt…
11
Drawing DFDs - 1
Draw the external entities. Put any that are
primarily sources on the left, and the others
on the right.
Draw a large system boundary.
Approximately match the main processes to
the external entities, and draw them.
Draw the principal dataflows. They should all
go to or from one (sometimes more)
processes.
Slide 12
Drawing DFDs – 2
Draw the datastores close to a process which
needs that data
For each process, check:
Does it need to read from or write to a data store?
Does it send data to or read it from another
process?
Does the process have access to all the data it
needs?
Check that all datastore and processes have
at least one arrow in and one out - since
otherwise they are “orphans”!
Slide 13
Slide 14
Slide 15
Slide 16
Slide 17
Slide 18
Drawing DFDs – 3
There is a common pattern found within
DFDs
Slide 20
CREATING DFDS ON A
COMPUTER USING
DIAGRAMS.NET
Slide 21
You should have a Google Drive account
Diagrams.net (previously, draw.io) is a software
as a service SaaS product. This means that it is
offered in the cloud and you need a cloud-based
data storage mechanism. I recommend the use of
Google Drive, although there are alternatives.
The easiest way to get a Google Drive account is
to set up a Gmail address.
For a fairly full (19 minutes…) introduction to
Google Drive, see:
https://www.youtube.com/watch?v=82CUzgqUxKU
I’ve created a GS DFD (Gane-Sarson DataFlow
Diagram) template and shared it
How to start with DFDs – do this now
Download the GS DFD custom shape library
://drive.google.com/file/d/1MpX8X9HErlT9Rmnqqan
DNBKdTLyGRL5I/view?usp=sharing
to your computer and save this, e.g. in Downloads
DON’T click on diagrams.net , DO click on Download
Open a sample model from Google Drive:
https://app.diagrams.net/#G1qvHt1_KKHA3qRa2Eu
6tBZiFc1BryZnM7
DO click on diagrams.net
Make a copy: File / Make a copy, then rename it
Insert the GS DFD custom shape library from where
you downloaded it: using File / Open library from /
<place where you stored the custom shape library>
What to do next
If you are asked where you want to save your
diagrams, I recommend choosing Google
Drive. Your diagrams will then be cloud-
accessible and easy to share. This will only
work if you have a Google account (e.g.
GMail).
You should see a copy of the sample model
in the main canvas (work area) on the right,
and the symbol library on the left.
24
DFD symbols and their meanings
Symbol Meaning
Slide 27
The diagram
Drag three external entities onto the canvas. Name them
customer, rental service agency and insurance company.
Drag a boundary onto the Canvas. Resize it if necessary.
Send it to the back so that later symbols are fully visible.
Drag a label onto the canvas. Name it with your student
number and your name.
Start to add processes and datastores.
Slide 28
29
Slide 30
The outcome
https://app.diagrams.net/#G1FIsIuYVz-LiAqswSSW4Fah6vl9UQKvbn Slide 31
How to take screen shots in Windows
Screenshot of a window
Alt +PrtScn
Snip & Sketch tool
Snip & Sketch is the best way to screenshot on
Windows if you're looking to customize, annotate, or
share your screen captures.
To activate Snip & Sketch, use the keyboard
shortcut Windows Key + Shift + S. Your screen will
dim and a mini menu will appear at the top of your
screen, giving you the option to take a rectangular,
free-form, window, or full-screen capture.
32
How to take screen shots in MacOS
See
https://www.cnet.com/how-to/mac-screenshots-
4-ways-to-capture-your-macbooks-screen/
accessed 04/05/2021
33
Suggested rules for DFDs
Don’t stress about these, but…
Process name has form
<imperative-verb><noun phrase>,
e.g. Send Invoice, Check Client Information,
Enrol students
Not “Enrolment” – which is a noun
All processes and data stores must somewhere
have data going in to them and away from them
All data flows must start from or end with a
process - otherwise, what makes them happen?
34
Marking DFDs
I shall not expect perfection!
Good general appreciation, largely but by no
means entirely “correct”, = very high mark for that
part of the question
In general, I’m looking for reasons to award marks
– not to take them away
I often give full marks for a good answer
Practise DFDs on paper, then on computer, if you
have time to do so
35
Model sub-sections