Monday, May 27, 2013

Data Flow Diagrams (DFD) - Part II


There are only four different symbols that are normally used on a DFD. The elements represented are:

  • External entities
  • Processes
  • Data stores
  • Data flows
External entities

External entities are those things that are identified as needing to interact with the system under consideration. The external entities either input information to the system, output information from the system or both. Typically they may represent job titles or other systems that interact with the system to be built. Some examples are given below in Figure 1.  Notice that the SSADM symbol is an ellipse. If the same external entity is shown more than once on a diagram (for clarity) a diagonal line indicates this.

Processes

Processes are actions that are carried out with the data that flows around the system. A process accepts input data needed for the process to be carried out and produces data that it passes on to another part of the DFD. The processes that are identified on a design DFD will be provided in the final artefact. They may be provided for using special screens for input and output or by the provision of specific buttons or menu items. Each identifiable process must have a well chosen process name that describes what the process will do with the information it uses and the output it will produce. Process names must be well chosen to give a precise meaning to the action to be taken. It is good practice to always start with a strong verb and to follow with not more than four or five words.

Examples of good process names would be :

  • Enter customer details
  • Register new students
  • Validate sales orders
Try to avoid using the verb ‘process’, otherwise it is easy to use this for every process. We already know from the symbol it is a process so this does not help us to understand what kind of a process we are looking at.

Data stores

Data stores are places where data may be stored. This information may be stored either temporarily or permanently by the user. In any system you will probably need to make some assumptions about which relevant data stores to include. How many data stores you place on a DFD somewhat depends on the case study and how far you go in being specific about the information stored in them. It is important to remember that unless we store information coming into our system it will be lost.

Data flows

The previous three symbols may be interconnected with data flows. These represent the flow of data to or from a process. The symbol is an arrow and next to it a brief description of the data that is represented. There are some interconnections, though, that are not allowed.

These are:
  • Between a data store and another data store
    • This would imply that one data store could independently decide to send some of information to another data store. In practice this must involve a process.
  • Between an external entity and a data store
    • This would mean that an external entity could read or write to the data stores having direct access. Again in practice this must involve a process.
Also, it is unusual to show interconnections between external entities. We are not normally concerned with information exchanges between two external entities as they are outside our system and therefore of less interest to us.

DFD Example

















Here are some key points that apply to all DFDs

  • All the data flows are labelled and describe the information that is being carried.
  • It tends to make the diagram easier to read if the processes are kept to the middle, the external entities to the left and the data stores appear on the right hand side of the diagram.
  • The process names start with a strong verb
  • Each process has access to all the information it needs. In the example above, process 4 is required to check orders. Although the case study has not been given, it is reasonable to suppose that the process is looking at a customer’s order and checking that any order items correspond to ones that the company sell. In order to do this the process is reading data from the product data store.
  • Each process should have an output. If there is no output then there is no point in having that process. A corollary of this is that there must be at least one input to a process as it cannot produce data but can only convert it form one form to another.
  • Data stores should have at least one data flow reading from them and one data flow writing to them. If the data is never accessed there is a question as to whether it should be stored. In addition, there must be some way of accumulating data in the data store in the first place so it is unlikely there will be no writing to the data store.
  • Data may flow from
    • External entity to process and vice-versa
    • Process to process
    • Process to data store and vice-versa
  • No logical order is implied by the choice of id for the process. In the example process id’s start at 4. There is no significance to this.
Drawing diagrams like this requires practice. You should not be unduly worried if your diagram does not look exactly like a colleague’s or a model answer. Systems analysis is very rarely done in isolation and you and your working partners and the user will come to some agreement about the final product.

2 comments:

  1. This is unquestionably too hard for the irritating individual to manage and be comfortable with the huge database of an organization, that is the reason the new individuals continually searching for procuring the information man of science who can outline their vast information into a small and justifiable shape, you could check here www.activewizards.com site they can positively get the best information researcher for them.

    ReplyDelete
  2. You need an online video converter administration that will take all videos, regardless of how they vary in document type, estimate, etc, and afterward convert them into a similar record organization, size and perspective proportion. onlineconvertfree.com

    ReplyDelete

Important Notice!

Dear students and friends. When you commenting please do not mention your email address. Because your email address will be publicly available and visible to all. Soon, it will start sending tons of spams because email crawlers can extract your email from feed text.

To contact me directly regarding any inquiry you may send an email to info@bcslectures.website and I will reply accordingly.