Data flow diagram of a system

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

Data flow diagram of a system

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. What does an arrow in a data flow diagram show?
A The order in which staff are paid
B Data moving from one part of the system to another
2. Which is the best label for an arrow from a student to a login process?
A Username and password
B Data
3. In a school app, which part is a data store?
A The database of student grades
B The student typing on a keyboard
4. In a data flow diagram of an online shop, what is the payment service (like a card processor) known as?
A An external service
B A data store
5. Which one is a user in a data flow diagram?
A The orders table
B A customer who places an order

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1Student --> (Login Process) A(Payment Process) -- card details --> {Bank API}
2(Login Process) --> [Database] BStudent -- username + password --> (Login Process)
3An external service is outside your system, so data flowing to it must be shown with an arrow CA flow of data from a process into a data store where it is saved or checked
4Every arrow in a data flow diagram needs a label that says what data is moving DThe user is connected straight to the data store with no process and no label, so we can't see what data moves or what handles it.
5Student --> [Database] EThe arrow has no label, so it is unclear whether a password, a code or a name is being sent to the external service.
6(Login Process) --> {Email Service} FA labelled arrow showing data flowing from a user into a process

Definitions

data flow diagram

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
USER: Student PROCESS: Login _____: Users DB
2.
PROCESS: Login ________: Email service FLOW: Login -> Email service : code
3.
USER: Student PROCESS: Login FLOW: Student __ Login : password
4.
PROCESS: Login STORE: Users DB FLOW: Login -> ________ : new password
5.
USER: Student PROCESS: Login ____: Student -> Login : password

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A [User] --password--> (Login)
B (Login) --> =Accounts=
C =Accounts= --result--> (Login)
Question 2
A [User] --order--> (Checkout)
B (Checkout) --card--> <Payment>
C [User] --order--> =Orders=
D <Payment> --OK--> (Checkout)
Question 3
A [User] --email--> (Sign Up)
B (Sign Up) --details--> =Users=
C <Mailer> --email--> (Sign Up)
Question 4
A [User] --photo-- (Upload)
B (Upload) --file--> =Photos=
C =Photos= --image--> (Gallery)
D (Gallery) --view--> [User]
Question 5
A (User) --location--> (Weather)
B (Weather) --place--> <Met API>
C <Met API> --data--> (Weather)
D (Weather) --report--> [User]

Answer Key

Data flow diagram of a system
Section A: Quick Questions
Q1
B — Data moving from one part of the system to another
Q2
A — Username and password
Q3
A — The database of student grades
Q4
A — An external service
Q5
B — A customer who places an order
Section B: Match the Pairs
Q1
Student --> (Login Process) → A labelled arrow showing data flowing from a user into a process
Q2
(Login Process) --> [Database] → A flow of data from a process into a data store where it is saved or checked
Q3
An external service is outside your system, so data flowing to it must be shown with an arrow → (Payment Process) -- card details --> {Bank API}
Q4
Every arrow in a data flow diagram needs a label that says what data is moving → Student -- username + password --> (Login Process)
Q5
Student --> [Database] → The user is connected straight to the data store with no process and no label, so we can't see what data moves or what handles it.
Q6
(Login Process) --> {Email Service} → The arrow has no label, so it is unclear whether a password, a code or a name is being sent to the external service.
Section C: Definitions
Q1
data flow diagram — A diagram showing how data moves between users, processes, data stores and external services, using labelled arrows to show what data flows where.
Section D: Fill in the Blanks
Q1
USER: Student PROCESS: Login STORE: Users DB
Q2
PROCESS: Login EXTERNAL: Email service FLOW: Login -> Email service : code
Q3
USER: Student PROCESS: Login FLOW: Student -> Login : password
Q4
PROCESS: Login STORE: Users DB FLOW: Login -> Users DB : new password
Q5
USER: Student PROCESS: Login FLOW: Student -> Login : password
Section E: Spot the Error
Q1
B — Every arrow in a data flow diagram needs a label that names the data being moved. This line should be (Login) --query--> =Accounts=.
Q2
C — A user cannot write straight into a data store. The data must pass through a process. The line should be (Checkout) --order--> =Orders=.
Q3
C — The arrow points the wrong way. Sign Up sends the email to the external mail service, so it should be (Sign Up) --email--> <Mailer>.
Q4
A — A flow must have an arrowhead to show which way the data moves. It should be [User] --photo--> (Upload).
Q5
A — A user is an external entity, not a process. It should be drawn as [User], not (User).