How do we begin to construct Data Flow Diagrams (DFDs)?

A data flow diagram (DFD) is a graphical representation of the “flow” of data through an information system, modeling its process aspects. A DFD is often used as a preliminary step to create an overview of the system, which can later be elaborated.

Data flow diagram is a popular way to visualize the major steps and data involved in software system processes. This is not the same as business process modeling; DFDs were usually used to show data flows in a computer system, although they could in theory be applied to business process modeling. DFDs were useful to document the major data flow or to explore a new high-level design in terms of data flow. (more…)


Tutorial on How to draw Data Flow Diagram – Train and Air Ticket Reservation System – Example

Train Ticket reservation system is a very complicated system. It is complicated because it consists of more number of entities and processes. Data in this system should be collected from more number of entities and need to be processed within more number of processes. Example of this type of system is explained below: (more…)


Understanding Online Appointment System – Data Flow Diagram – Tutorials

What is an Online Appointment system?

An Online Appointment System is an information system generally based on web from where a client can make an appointment with the person of his interest. In a simple sense it is the information system you use to make an appointment to any organization or institute or personnel like Hospital, Doctors, Attorney, Consultant, Teachers, Schools and Universities. It can be done by making a phone call to the reception or customer care or even via Internet.

How does an Online Appointment System Works?

A very simple tutorial model of how an online appointment system function is shown by the figure below.

Figure: Description of Online Appointment System

Description of Online Appointment System

Description of Online Appointment System, How it works?

Description of Online Appointment System

In above figure, it describes clients can make an appointment by calling to the customer care of the organization or by calling to the reception on office or even by visiting the official website of particular institution. In this system a client is given to fill a form or order a ticket or s/he can also select the parties for the appointment. Agents like customer care, reception and web forms helps clients to communicate easy with the online appointment system.

See more: Issuing out book from Library; Library Management System

Data Flow Diagrams: Online Appointment System

Using the general symbols of DFD I have prepare a context diagram and Level-1 DFD so that you can understand the system in broad.

Context Diagram of Online Appointment System

Context Diagram of Online Appointment System

Figure 1: Context Diagram of Online Appointment System

In this context diagram, you can see only one process named ‘Online appointment System’, with two external interactions or entities namely Clients and Reception/Web Forms.

Level-1 DFD of Online Appointment System

Level-1 DFD of Online Appointment System

Figure 2: Level-1 DFD of Online Appointment System

In above Data Flow Diagram, there are three different process one which ‘Interact with Clients’, next that ‘Generate Clients Ids’ and another that ‘Fetch Appropriate Date/Time’. External Entities in this Level-1 DFD are Clients, Reception/ Web Forms and Organization/ Personnel.

I hope this DFD will become advantage to explore your knowledge about how online appointment system works. But, remember this system is just an example and it only describes a simple model so, there can be many other models for online appointment system.


Tutorial on How to draw Data Flow Diagrams – Withdraw Mark-sheet from University – Example

Withdraw mark-sheet from University – Data Flow Diagram – Example

System for withdrawing mark-sheet from the University is a very simple system. When it comes to design model of this system by using Symbols of DFD then we might have to work with our mind. Here, I have posted an example of withdrawing mark-sheet from university.

Explanation:

This mark-sheet withdrawing system consist of three entities; namely Student, Administrator and Accountant. Student are the one to withdraw mark-sheet from the system, Administrator plays role in providing mark-sheet to the student after the confirmation of the data and Accountant confirms the account clearance of the student. These three entities are bounded by one or multiple process in the system with flow of data.

This Data Flow Diagram was taken directly from my notes so if you have any problems in understanding it, you are kindly requested to leave comment below.

The standard of naming process-name is; process name should be action verb that specifies the operation(see on: How do we begin to construct Data Flow Diagrams? ). Advantage of preparing this DFD can be; proper knowledge of Data flow, effects of external entities in the system, determination of process in the overall system.

In the context diagram of DFD; general symbols of DFD are used to prepare a simple model. Three different entities are bounded by the data flow within the process Withdraw Mark-sheet. Whenever a student desire to withdraw mark-sheet then he gives his information and at the same time pays the bills if any of it is due, accountant checks for account clearance of the system and confirms no due remains and with this confirmation administrator processes for mark-sheet to be given for student.

Mark-sheet Withdrawing System; Context Diagram

Mark-sheet Withdrawing System; Context Diagram

Figure: Mark-sheet withdrawing system; Context Diagram

Similarly, in Level 1 DFD entities are same but process is broken down into other sub processes which would help to clarify the system in better way. In this model, Withdraw Marksheet process is further divided into three respective processes; namely Student Records, Check Account Clearance and Get Marksheet. Besides processes there are three databases; namely student_db, account_db and marks_db for storage of student details, account information and marks in different subjects respectively.

Mark-sheet Withdrawing System; Level 1 DFD

Mark-sheet Withdrawing System; Level 1 DFD

Figure: Mark-sheet withdrawing System; Level 1 DFD

All three processes do their different jobs and integrate to a system so as to withdraw mark-sheet. From a successful run of the process finally a student can withdraw his/her marksheet.

We hope by this DFD you are clear the method of withdrawing mark-sheet from the university, now you can implement this idea onto your projects. This type of model will be very helpful for the projects like University Management System, Result Publication System and any other mark-sheet withdrawing system.

Although this example was taken from one of my daily assessment, I hope this example will definitely help you in modeling your projects and assessments. You can also add other processes, entities, data attributes and data objects to make the system clearer and board. Find more examples of DFD.


Returning a book to library – Data Flow Diagram – Example

Returning a book to library – Data Flow Diagram – Example

After issuing a book from library, it is arbitrary to return the book in time. In this example we will discuss about the model of returning a book to library.

Explanation:

This system need to accept student information as input. Student information may contain student name, student id, and registration number and so on. The best can be student ID number that is usually not repeated (although registration number is not repeated, for now I choose student Id number). Yes, not only student information is sufficient input for this system, system should also accept the name to the book to be submitted/ returned. Advantage of preparing this DFD can be; proper knowledge of Data flow, effects of external entities in the system, determination of process in the overall system.

This Data Flow Diagram was taken directly from my notes so if you have any problems in understanding it, you are kindly requested to leave comment below.

In this context diagram of DFD; general symbols of DFD are used to prepare a simple model. Students, Librarian and Head of Library are the external entities. Process name is Returning Books to Library.

Returning a book to library; Context Diagram

Returning a book to library; Context Diagram

Figure: Returning a book to Library; Context Diagram

The standard of naming process-name is; process name should be action verb that specifies the operation(see on: How do we begin to construct Data Flow Diagrams? ). Data Flow contains the data to be exchanged throughout the system from external entities to data stores through process. And obviously, entities are real objects that take part in the system.

Similarly, in Level 1 DFD external entities are same but processes are break down into two or more process; so as to clarify each of the operation separately. The process is broken into two processes; Check Book on Library and Generate Report.

Returning a book to library; Level 1 DFD

Returning a book to library; Level 1 DFD

 

Figure: Returning a Book to Library; Level 1 DFD

In Level 1 DFD we show the database objects used. Here we use two database; book_db and issue_db. Book_db stores the data of book_name, book_to_return and books_on_rack. Similarly, issue_db stores data like books_left_to_return, book_submitted and submission_date. Both the process uses data form data base for records and data manipulation.

We hope by this DFD you are clear the method of returning a book to the library, now you can implement this idea onto your projects. This type of model will be very helpful for the projects like Library Management System.


Issuing Item from Department Store – Data Flow Diagram – Example

Issuing Item from Departmental Store

Explanation:

This system is a sub system of Departmental Store Management System. It can work as a single function. This function/system takes inputs form customers. A customer gives item_name and item_quantity as inputs. At the same time the system check the availability of the item and ask for payment from customers. Customer pays and receives bills. Bills are generated by the system. Vendor in this system acts as secondary users they also give item_name and item_quantity as inputs to the process, confirms the payment made and process for bills to be generated.

This Data Flow Diagram was taken directly from my notes so if you have any problems in understanding it, you are kindly requested to leave comment below.

A simple context diagram of this system can be drawn as below with the general symbols used in DFD. This context diagram describes the flow of inputs to the system. A process is named as Issuing Items. External entities such as customer and vendor take part in this system.

Issuing items form Departmental Store DFD

Issuing items form Departmental Store Context Diagram DFD

Figure 1 Context diagram of DFD Issuing Item from a departmental store

Similarly, Level 1 DFD is drawn to explain the system in detail. Above context diagram is broken into small functions to give a prefect vision how the system works. For this system, we broke the process into four different functions. For the storage of data we have used three different data stores, now external entities are customer, vendor/cashier and manager.

Issuing Items from Departmental Store Level - 1 DFD

Issuing Items from Departmental Store Level – 1 DFD

Figure 2 Level-1 DFD for Issuing Item from a departmental store

Description of Level – 1 DFD

The whole system is initialized by the action of Customer (external entity). In Level – 1 DFD there are four processes, namely Check Item Rates, Create Bills, Update Sales and Generate Report. Data are stored in Data Stores namely, Items_db, Sales_db, and Bills_db. As in a departmental store when a customer wants to buy something s/he first looks at the item rate and then decides whether or not to buy that good. In same way, our system also takes the item_name and item_quantity as inputs form customers and checks for the item rate and calculate the sum, to check item rate system fetches data form Items_db data-store. This is done by Check Item Rate process. When an item is to be issued, the system checks on the data store for the availability of items. Customer pays for item issued, when payment is confirmed by cashier then bills are created by Create Bills process. Sales are updated by Update Sales process. Lastly, reports are generated by Generate Reports Process. Reports are to be checked by head of store/ or manager.

Different from Issuing books from Library, this data flow diagram will surely help you when developing Departmental Store Management System and it’s idea will definitely help in designing similar other DFDs. In you have any problem understanding this DFD you can leave it in comments below.

 


Issuing out a book from a library – Data Flow Diagram – Example

 Issuing out a book from a library

Explanation:

This system need to accept student information as input. Student information may contain student name, roll number, registration number and so on. The best can be roll number that is usually not repeated (although registration number is not repeated, for now I choose roll no). Advantage of preparing this DFD can be; proper knowledge of Data flow, effects of external entities in the system, determination of process in the overall system.(see also Symbols Used in DFD)

This Data Flow Diagram was taken directly from my notes so if you have any problems in understanding it, you are kindly requested to leave comment below.

In this context diagram of DFD; general symbols of DFD are used to prepare a simple model. Students, Librarian and Head of Library are the external entities. Process name is Issuing Books. The thing is, process name should be action verb that specifies the operation. Data Flow contains the data to be exchanged throughout the system from external entities to data stores through process.

Issuing out a book from a library-Context Diagram DFD

Issuing out a book from a library-Context Diagram DFD

Figure: Context Diagram- Issuing Books from library

Similarly, in Level 1 DFD external entities are same but processes are break down so as to clarify the operation separately.

Issuing out a book from a library- Level 1 DFD

Issuing out a book from a library- Level 1 DFD

Figure: Level 1 DFD- Issuing Books from library

We hope by this DFD you are clear the method of issuing out a book from a library, now you can implement this idea onto your projects proposals and case study.

 


Advantages and Disadvantages of the DFD Data Flow Diagrams

Advantages of the Data Flow Diagram

System analyst in some extent, argue Data Flow Diagrams as this procedure takes long time of modeling. But what’s the alternative? The DFD offers the analyst with several distinct advantages. Some of them are shown there in list:

  1. Most fundamentally, it depicts flow and boundary. The essence of knowing boundary is first to understand the extent of the process prior to beginning to define something that may not be complete or accurate.
  2. The concept is typically known as top-down, but the effort can also be conceived as step-by-step. The analyst must first understand the boundary and flows prior to doing anything else. The steps following this will procedurally gather more detailed information until the specification is complete.
  3. Another important aspect of the DFD is that it represents a graphical display of the process and is therefore a usable document that can be shown to both users and programmers, serving the former as process verification and the latter as the schematic (blueprint) of the system from a technical perspective.
  4. It can be used in JAD(Joint Application Design) sessions and as part of the business specification documentation. Most important, it can be used for maintaining and enhancing a process.
  5. Using least numbers of Symbols make design of DFD a easy task.

Disadvantages of the DFD

Besides of those distinct advantages; there are some disadvantages as well. Some of them are listed below:

  1. The biggest drawback of the DFD is that it simply takes a long time to create: so long that the analyst may not receive support from management to complete it. This can be especially true when there is a lot of leveling to be performed. Therefore, many firms shy away from the DFD on the basis that it is not practical.
  2. The other disadvantage of the DFD is that it does not model time-dependent behavior well, that is, the DFD is based on very finite processes that typically have a very definable start and finish. This, of course, is not true of all processes, especially those that are event driven.
  3. The best solution to the time-consuming leveling dilemma is to avoid it as much as possible. That is, you should avoid starting at too high a summary level and try to get to the functional primitive as soon as you can. If in our example, for instance, the analyst had initially seen that the DFD had two processes instead of one, then the parent process could have been eliminated altogether.

This would have resulted in an initial functional primitive DFD at Level 1. The only way to achieve this efficiency on a consistent basis is through practice. Practice will eventually result in the development of your own analysis style or approach. The one-in, one-out principle of the logical equivalent is an excellent way of setting up each process. Using this method, every event description that satisfies one-in, one-out will become a separate functional primitive process. Using this procedure virtually eliminates leveling. Sometimes users will request to see a summary-level DFD. In these cases the functional primitives can be easily combined or “leveled-up.”

Moreover, you can see our article on ” How do we begin to construct Data Flow Diagrams (DFDs)?” for exploring your ideas of designing DFDs.


Difference between Physical and Logical Data Flow Diagrams

A physical DFD shows how the system is actually implemented, either at the moment (Current Physical DFD), or how the designer intends it to be in the future (Required Physical DFD). Thus, a Physical DFD may be used to describe the set of data items that appear on each piece of paper that move around an office, and the fact that a particular set of pieces of paper are stored together in a filing cabinet. It is quite possible that a Physical DFD will include references to data that are duplicated, or redundant, and that the data stores, if implemented as a set of database tables, would constitute an un-normalised (or de-normalised) relational database. In contrast, a Logical DFD attempts to capture the data flow aspects of a system in a form that has neither redundancy nor duplication. [source]

To sharpen more understanding of data flow diagrams go through these two articles on our blog before starting to construct Data Flow Diagrams.

(more…)


Symbols used in Data Flow Diagrams (DFDs)

Symbols used in Data Flow Diagrams (DFDs)

In previous article, we discussed about the concept of Data Flow Diagrams, now it’s time to learn some symbols used in it. Designing of model using concept of DFDs is an easy way because it uses not more than 4 simple notations. Using less number of notations makes it look simple and easily understandable. DFD consists of four notations for four different functions. Functions are processes, data flows (inputs or outputs), external entities and definitely data store. So, let’s explore the symbols used in Data Flow Diagrams. (more…)