This is a practice exercise to get familiar with DFDs and computer drawing tools for UML.

Please complete a Data Flow diagram on a computer and submit as a pdf/jpg/png to canvas. This is a practice exercise to get familiar with DFDs and computer drawing tools for UML. Complete a Context diagram and Diagram 0 (one below context).

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 ,, or (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.

General information:

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.

Context Diagram:

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:

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

Order file.

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.

Sample solution

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.

“Get 15% discount on your first 3 orders with us”
Use the following coupon

Order Now