0

From the book Essentials of Systems Analysis and Design by Joseph S. Valacich, Joey F. George, Jeffrey A. Hoffer, we have a study case, with the following 0 DFD :

enter image description here

This diagram raises the following question:

  1. Why do we have the data flow Product Item: Does this flow mean the system is adding a new item to the inventory store? If yes, then how can the Browse Catalog process store such an item without a a source entity to supply the item data to this process?

  2. As a side question, what is the meaning of the slash / in the corner of a symbol? For example, does the / in Customer affect anyhow the Check Out / Customer ID flow?


If deemed useful, here the narrative of the case:

Process Modeling for Pine Valley Furniture’s webstore:
After completing the Joint Application Design (JAD) session, senior systems analyst Jim Woo went to work on translating the WebStore system structure into a DFD.
His first step was to identify the level-0—major system—processes. To begin, he carefully examined the outcomes of the JAD session that focused on defining the system structure of the WebStore system. From this analysis, he identified six high-level processes that would become the foundation of the level-0 DFD. These processes, listed in Table 7-4, were the “work” or “action” parts of the website. Note that each of these processes corresponds to the major processing items listed in the system structure.
Next, Jim determined that it would be most efficient if the WebStore system exchanged information with existing PVF systems rather than capture and store redundant information. This analysis concluded that the WebStore should exchange information with the Purchasing Fulfillment System (a system for tracking orders [see Chapter 3]) and the Customer Tracking System (a system for managing customer information). These two existing systems will be “sources” (providers) and “sinks” (receivers) of information for the WebStore system. When a customer opens an account, his or her information will be passed from the WebStore system to the Customer Tracking System. When an order is placed, information will be stored in the Purchasing Fulfillment System. When a customer requests status information on a prior order, information will be retrieved from the Purchase Fulfillment System.
Finally, Jim found that the system would need to access two additional data sources. First, in order to produce an online product catalog, the system would need to access the inventory database. Second, to store the items a customer wanted to purchase in the Webstore’s shopping cart, a temporary database would need to be created. Once a transaction is completed, the shopping cart data can be deleted.
With this information, Jim was able to develop the level-0 DFD for the Webstore system, which is shown in Figure 7-22. He then felt that he had a good understanding of how information would flow through the Webstore, of how a customer would interact with the system, and of how the Webstore would share information with existing PVF systems. Each of these high-level processes would eventually need to be further decomposed before system design could proceed. Yet, before doing that, he wanted to get a clear picture of exactly what data were needed throughout the entire system. We will discover the outcomes of this analysis activity—conceptual data modeling— in Chapter 8.

enter image description here

Christophe
  • 81,699
AAA
  • 43
  • 5

1 Answers1

4

1. Data flows from and to the data store:

The Gane & Sarson DFD notation, which used in this diagram, tells that there is indeed a flow of data corresponding to Product Item from the process Browse Catalog to a data store called Inventory.

There is an ambiguity in the DFD practice in this regard, concerning the data that is used to query the data store:

  • According to DFD literature, the data that flows to a store is stored therein. For example, in their pioneering book "Structures Systems Analysis", Mr. Gane & Ms. Sarson write page 31:

When a process stores data, the data flow arrow is going into the data store; conversely, when a data store is accessed in a read-only manner, it is enough to show the group of data elements retrieved on the data flow coming out.

If it is necessary to specify search argument, this may be shown on the opposite side of the data flow description; an arrow head indicates that the search argument is passed to the data store from the process: enter image description here

  • However, many DFD practitioners do not know this specific notation (most of the online DFD tutorials don't mention it). They use an ingoing arrow also for the queries.

I suspect that the author of your diagram does exactly this, in view of the flow from the external entity Customer, which sends to the process a Product Item Request and that the process then queries the store for that Product Item, which then returns an Item profile, which is send back to the external entity. All this makes sense, it's just that the notation is wrong.

2.Slashes in the shape corner

The Gane & Sarson notation allows to repeat the same external entity (source/destination) multiple times in the same diagram. The goal is to minimise the need to cross data flows. To avoid any confusion, the / in the corner (in the original notation it's the lower corner), simply means that the entity is duplicated: there are two times the same Customer in this diagram.

Christophe
  • 81,699