This is my first ever DFD that I made after my fair share of learning but I have no way of verifying whether it is correct or not. Although I have taken utmost care to make sure it is right, I may be wrong.

Here is the scenario:

Bebop Records is a mail-order company that distributes CDs and tapes at discount prices to record club members. When an order processing clerk receives an order form, he or she verifies that the sender is a club member by checking the Member file. If the sender is not a member, the clerk returns the order along with a membership application form. If the customer is a member, the clerk verifies the order item data by checking the Item file.

Then the clerk enters the order data and saves it to the Daily Order file. The clerk also prints an invoice and shipping list for each order, which are forwarded to Order Fulfilment.

And here is my diagram:

enter image description here

  • Do you really use DFDs in your job?
    – NoChance
    Aug 29 '12 at 7:46
  • Im a student , so Yeah !
    – Dummy Derp
    Aug 29 '12 at 10:35
  • By any chance, is this a homework assignment? Aug 29 '12 at 13:30
  • 1
    No, it is not. If it was, I could simply copy it from other classmates
    – Dummy Derp
    Aug 29 '12 at 14:07

Tom DeMarco invented Data Flow Diagrams, and described them in his book, "Structured Analysis and System Specification". One of his key points was that they're either right or they're OBVIOUSLY wrong.

Your DFD appears, unfortunately, to fall in the latter category.

Your text spec says that the clerk RETURNS non-member order forms, presumably to the customer, along with a blank membership form.

Your DFD, however, shows a non-member order form as going to Order Fulfillment, having gone through all the stages, just like a member order form.

  • If the sender is not a member, the clerk returns the order along with a membership application form. Clerk returns the order i.e. what has been ordered and not the order form. Assuming what I say is right, is my DFD correct? The story that I understand is: If you are not a privileged member, we will ship you the order albeit at full cost and along with our membership form so that you can avail the discounts by signing up
    – Dummy Derp
    Aug 29 '12 at 10:36
  • 1
    I think you may have misinterpreted the phrase "clerk returns the order". Verification of item data would appear to be required for an order that is going to be filled, and that step apparently is not performed for a non-member order. You might want to ask your customer (or your TA, if this is a homework assignment) for clarification on this one. Aug 29 '12 at 13:32
  • I actually got it from a slideshow that I downloaded from Google. So this, by no chance, is my homework. And he or she verifies that the sender is a club member by checking the Member file will need to be performed for every order, right?
    – Dummy Derp
    Aug 29 '12 at 14:08
  • 1
    You are showing an Item File database and an Available Item database. Non-member orders apparently hit the Available Item database, while member orders hit the Item File database. Why are they distinct? Aug 29 '12 at 15:52
  • I made them as distinct because ItemFile database is a subset of the AvailableItem database. The items that are available to non-members are available to the members at higher price and if an order is placed for such an item then the main database will have to be updated along with the ItemFile database. The same applies to the members. Place an order -> Process the order -> update both the DB. Although I forgot to show the flow of member's order to AvailableItem
    – Dummy Derp
    Aug 29 '12 at 16:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.