In+Class+DFD+and+Flowchart

The first step in preparing a Data Flow Diagram is to read the narrative (one which you will be given or have had a hand in preparing after careful observation of a business process, interviews, and examination of various records). An example of a narrative is below.

Background
East Orlando Golf Center is located in, well East Orlando and operated by Gary Blaine. Gary is the club manager, golf professional, and co-owner of a private enterprise that sells discounted golf equipment over the web. Gary would like to have an Accounting Information System developed that would support the club operations, the golf shop operations, and the web sales operations. This narrative focuses on the golf shop operations which consist of these member services: Golf Tee times; Guest Green Fees and cart rentals, Golf Club Cleaning and Repair, Golf Lessons, Driving Range, Tennis Court Reservation, and Merchandise Sales. The following narrative is for Tee Time Reservations:

Tee Time Reservations (unmarked):
Members call the golf shop to schedule a tee time. Only members can schedule tee times, guest can only play with members, and all members must provide their membership number to set a tee time. The employee enters the membership number into the system, which accesses the membership database to validate the member's account. If the membership ID is valid, the system displays a valid status and populates the member's information on the employee's computer screen. Past due, and non-existent accounts will result in invalid status. If this occurs, the member will be notified by the employee and the member will be required to contact Club Operations to further discuss account details. Club Operations will also be sent data on the member's attempt to reserve a tee time.

If the member number is accepted, the employee will ask the member to select a preferred date to play. The member will tell the employee the preferred date. The employee will enter the date into the reservation screen of the system. The system will search the reservation database and display the requested day's available tee times. The employee will inform the member of the available times. The member will select a time and the employee will input the requested time in the system, thus placing a block on that time. The employee will then ask the member for the number of guests (if any) and number of holes that will be played (9 vs. 18) and will enter this information into the system completing the reservation.

The system displays the confirmation of the completed reservation to the employee and the employee relays the confirmation number to the member. At the same time, the employee will also remind the member of the rules; that they must approach the employee at the golf shop desk 15 minutes prior to their schedule tee time or they could lose their tee time, and that they must cancel at least 24 hours in advance. Finally the system updates the charges for the round of golf to the members account.

Building the Entities And Activities Table
Examine the narrative and locate the noun and verbs of each sentence. Use that information to create the table, remember some sentences might not be used as they are simply informational and others might create multiple entries in the table. After reading the narrative the next step is to prepare for conversion to a Entity and Activities Table. To do this you need to identify the Entities (both external and internal) and the activities to be modeled in the DFD. To do this you need to find the noun and verb in each sentence of the narrative. For each noun/phrase combination, the noun represents an entity and the verb what the entity is doing - the activity. Below is the narrative from above with noun and verb phrases highlighted. You can mark-up your text in any way that makes sense to you - try using different mark-ups for entities, activities, data and data stores.

Tee Time Reservation (highlighted)
Members call the golf shop to schedule a tee time. Only members can schedule tee times, guest can only play with members, and all **members** must provide their membership number to set a tee time. The **employee** enters the membership number into **the system**, which accesses the membership database to validate the member's account. If the membership ID is valid, **the system** displays a valid status and populates the member's information on **the employee's** computer screen. Past due, and non-existent accounts will result in invalid status. If this occurs, **the member** will be notified by the employee and **the member** will be **required to contact Club Operations** to further discuss account details. **Club Operations** will also be sent data on the member's attempt to reserve a tee time.

If the member number is accepted, **the employee** will ask the member to select a preferred date to play. **The member** will tell the employee the preferred date. **The employee** will enter the date into the reservation screen of the system. **The system** will search the reservation database and display the requested day's available tee times. **The employee** will inform the member of the available times. **The member** will select a time and **the employee** will input the requested time in the system, thus placing a block on that time. **The employee** will then ask the member for the number of guests (if any) and number of holes that will be played (9 vs. 18) and will enter this information into the system completing the reservation.

**The system** displays the confirmation of the completed reservation to the employee and **the employee** relays the confirmation number to the member. At the same time, **the employee** will also remind the member of the rules ; that they must approach the employee at the golf shop desk 15 minutes prior to their schedule tee time or they could lose their tee time, and that they must cancel at least 24 hours in advance. Finally **the system** updates the charges for the round of golf to the members account.

Entities and Activities Table
Once you've marked up the narrative the next step is to put each entity noun in the Entity column and each verb in the activities column, making sure to recognize that some nouns describe data or a data store and should be used to describe the activity. Use this link (Numbers) to view the spreadsheet for the E&A Table:

**Context DFD** The next step is to prepare your Context level DFD. Remember that this DFD is simply meant to show all the external entities and the inputs to the system and outputs from the system. Thus when setting up the context level DFD, you should always start by drawing one and only one system bubble and labeling it with the name of the system or business process being modeled. Next, examine the E&A table and identify which Entities are external to the system (i.e. are simply inputting and/or receiving output to/from the system). Do not just look in the Entities column during this step, but also examine the entities listed as part of an activity to determine if any of those are external to the system. Once you've identified your external entities draw them on your context level DFD. After they have been drawn you simply draw the data-flow in the correct direction to indicate input or output and label them based on the activity description from the E&A table. You will only be modeling those activities associated with an external entity while modeling the context DFD. Make sure to note how many inputs and outputs you have when finished with your model so you can verify that your DFD set is balanced once complete.

media type="custom" key="28547317"