Please ensure that you are using only the appropriate UML symbology for DFD and that all diagramming rules are followed.
Data Flow Diagram Exercise System Analysis and Design ISM4113
This exercise gives you some practice with modeling information system’s data exchange between processes
and entities (data sinks/sources).
Based on chapter 7 and the description below, use a computer tool to generate two diagrams – Context diagram
and Diagram 0 (or Diagram 0 and 1 in LucidChart terminology).
Use any computer diagramming tool, some possibilities for a computer tool to draw the diagram are
www.lucidchart.com , draw.io, staruml.io or www.visualparadigm.com (standard edition, not community
Submit the diagram as a pdf to Canvas. If exporting to pdf is unavailable in your tool, submit a screen shot as a
png/jpg. Please make sure the diagrams are legible and of an appropriate size, and rotated to correctly display
on the screen.
Thorn Kites, Inc. sells a range of kitesurfing equipment via its website. The order fulfillment is to be handled by a
new information system called the Ordering System (OS). Use a data flow diagram to model the requirements
for the new system. Create a Context diagram and Diagram 0 (one level below the context diagram).
Customer can place an online order through a customer-facing part of the Ordering System (OS) which checks
the customer data in the Customer file datastore and then checks with the Warehouse system if products are
available. Warehouse sends back the status of the requested product to the OS which communicates the status
of the order back to the customer together with the data about the invoice. The customer sends payment
information and the OS creates a pending order by saving the order in the Order file datastore. The Ordering
system also sends a shipping information to the Warehouse system for the order to be shipped. Once the
product ships, the Warehouse system sends shipping confirmation to the OS, which changes the pending order
to a completed order in the Order File datastore.
The Manager can access the Order file datastore and modify the data. Similarly, the manager an access the
Customer file datastore and modify its data.
Draw a context diagram showing what data external entities exchange with the Ordering system (OS). Draw the
data flows and label them. There are 3 entities: Customer, Warehouse system, and Manager. Make sure that the
data flows match those from diagram 0.
Diagram 0 shows more details of the system. This is one possible interpretation of the description above. More
or less details is possible, as well as different division of responsibilities among the sub-processes.
The sub-process that handles all communication with the customer is positioned between the customer entity
and the rest of the system. It handles formatting of messages for the customer. This process accesses the
Customer file datastore (bidirectional for read/write).
There is a process that initiates the creation of a new order by first checking with the warehouse about
availability of the products. It then sends the response to the customer-facing process, along with invoice details
(it also accesses the Customer file for invoicing details such as discounts). The process forwards the order details
to another process that generates the shipping information and records the order as a pending order in the
Once the products are shipped, the warehouse system sends a confirmation to a process that is in charge of
completing the order by updating the pending order to a completed order in the Order file.
Finally, there is the capability for the manager to read and modify the order file as well as the customer file.
You may make additional assumptions regarding this model. The information below is a guide and it is not the
only appropriate way to model this situation.
“1.0 Communicate with customer” receives order information and payment from the customer and sends status
information and invoice to the customer. It transforms the data into system-specific format and sends the order
details, payment details to 2.0 Initiate order. It also reads and writes customer data from/to Customer file
“2.0 Initiate order” receives the order details and payment details from 1.0 and sends a product query message
to the warehouse. The warehouse response called product availability is forwarded as availability details to 1.0.
Also, invoice details are sent to 1.0 based on invoicing data read from the Customer file datastore. Finally,
customer and order details are send to 3.0 Generate shipping order.
“3.0 Generate shipping order” sends shipping information to the warehouse system for actual shipping of the
products. It makes a record in the Order file datastore by sending it pending order details. Order details are also
sent to 4.0 Complete order process once requested by it upon shipping of products.
“4.0 Complete order” receives a shipping confirmation from the warehouse once products ship. It receives the
order details from 3.0 and reads the pending order details from the Order file datastore. It changes the order to
completed by storing completed order details in the Order file datastore.
“5.0 Manage customers and orders” is a process that allows the Manager entity to read and modify the data in
the Customer file and Order file datastores. It sends/receives Customer data and Order data to/from the
Manager and handles the interaction with the datastores via Customer details and order details data flows.