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 a data flow diagram show?
A How data moves between users, processes, storage and external services
B The exact lines of code a program runs, in order
2. Which one is an external entity in a login system?
A The step that checks the password
B The user who types in a username and password
3. Which one is a data store in a data-saving system?
A A student typing in a form
B A user accounts database
4. Which label is best for an arrow from the user to the login process?
A Username and password
B Data
5. What is a process in a data flow diagram?
A A step that takes in data and changes it or makes a decision, like 'Check login'
B A place where data is stored permanently, like a database

Match the Pairs

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

Left columnRight column
1[Student] --> (Check login) A[Student] -- username + password --> (Check login)
2=Accounts DB= BA data store, which is where the system keeps data such as user accounts so it can be used later
3Every arrow in a data flow diagram must be labelled with the data it carries CAn entity (the student) sends data into a process, shown as an arrow from the entity to the process
4A process that saves data sends it to a data store, and the arrow shows what is saved D(Save score) -- new score --> =Scores DB=
5[Student] --> =Accounts DB= EThe flow has no arrowhead, so the direction of the data is unclear. Every data flow needs an arrow showing which way the data moves.
6(Check login) -- login result -- [Student] FAn entity is sending data straight into a data store with no process in between and no label on the arrow. Data should pass through a process, and the flow should be labelled.

Definitions

data flow diagram

Fill in the Blanks

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

1.
______: Student process: Log in store: Accounts
2.
entity: Student _______: Log in store: Accounts
3.
entity: Student process: Save score _____: Scores
4.
Student -> Log in : login details Log in __ Accounts : look up user
5.
Student -> Log in : login details Log in -> Accounts : look up user ________ -> Log in : user record

Spot the Error

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

Question 1
A [User] -> (Login): username
B (Login) -> {Accounts}: check
C {Accounts} -> [User]: record
D (Login) -> [User]: result
Question 2
A [Student] -> (Save): file
B (Save) -> {Files}
C (Save) -> [Student]: receipt
Question 3
A [Shopper] -> (Order): details
B [Shopper] -> {Orders}: order
C (Order) -> [Shopper]: receipt
Question 4
A [Member] -> (Sign up): details
B (Sign up) -> {Members}: save
C (Sign up) -> [Mailer]: address
D [Mailer] -> [Member]: welcome
Question 5
A [Teacher] -> (Marks): grades
B (Marks) -> {Results}: save
C (Report) -> {Results}: marks
D (Report) -> [Teacher]: report

Answer Key

Data flow diagram of a system
Section A: Quick Questions
Q1
A — How data moves between users, processes, storage and external services
Q2
B — The user who types in a username and password
Q3
B — A user accounts database
Q4
A — Username and password
Q5
A — A step that takes in data and changes it or makes a decision, like 'Check login'
Section B: Match the Pairs
Q1
[Student] --> (Check login) → An entity (the student) sends data into a process, shown as an arrow from the entity to the process
Q2
=Accounts DB= → A data store, which is where the system keeps data such as user accounts so it can be used later
Q3
Every arrow in a data flow diagram must be labelled with the data it carries → [Student] -- username + password --> (Check login)
Q4
A process that saves data sends it to a data store, and the arrow shows what is saved → (Save score) -- new score --> =Scores DB=
Q5
[Student] --> =Accounts DB= → An entity is sending data straight into a data store with no process in between and no label on the arrow. Data should pass through a process, and the flow should be labelled.
Q6
(Check login) -- login result -- [Student] → The flow has no arrowhead, so the direction of the data is unclear. Every data flow needs an arrow showing which way the data moves.
Section C: Definitions
Q1
data flow diagram — A diagram that shows how data moves between users, processes, data stores and external services in a system, using labelled arrows for each flow.
Section D: Fill in the Blanks
Q1
entity: Student process: Log in store: Accounts
Q2
entity: Student process: Log in store: Accounts
Q3
entity: Student process: Save score store: Scores
Q4
Student -> Log in : login details Log in -> Accounts : look up user
Q5
Student -> Log in : login details Log in -> Accounts : look up user Accounts -> Log in : user record
Section E: Spot the Error
Q1
C — Data cannot flow straight from a data store to an entity. It must pass through a process. The line should be {Accounts} -> (Login): record.
Q2
B — Every data flow arrow needs a label that names the data moving along it. This line should be (Save) -> {Files}: file data.
Q3
B — An entity cannot write straight into a data store. A process must handle the data first. The line should be (Order) -> {Orders}: save.
Q4
D — Data should not flow directly between two external entities, because the system is not involved. The welcome message should come from the (Sign up) process.
Q5
C — The arrow is the wrong way round. The report process needs to read marks from the store, so it should be {Results} -> (Report): marks.