Skip to 0 minutes and 1 secondThe data flow diagram gives you a functional description of the system. It consists of four components. The first is called the process. The process is usually represented by a circle, and it is what transforms one or more inputs into one or more outputs. But it means that it changes the data. And as it transforms the data, it is sometimes also called transformation, or it is also called function. And those who are very much use to the diagrams, they sometimes call it simply a bubble. The second component is called the flow, and it is what gets the data in and out the processes. So it is the flow of the data that's where the whole diagram is taking the name from.

Skip to 0 minutes and 52 secondsAnd it is always, on one end, a process. The third component is called the data store. The data stored is where the data rests and nothing is happening to it. The data stores will have predefined structures. It means that the data stores determine the content, which is travelling, because they can only receive the content, or the particular format and get the content that they have out from the data stores. Obviously, it doesn't make much sense to transfer the data only from one data storage to the other. If there is that kind of transfer, then there is always a process in between the two. And finally, we have the terminator.

Skip to 1 minute and 39 secondsThe name is coming from that it is the margin of the system. So the terminator is actually not part of the system. It is something that the system is interacting with. For example, for your computer as a system, you are the terminator, or one of the many terminators. So it also means that you cannot control the terminator the same way as you can control the other components. The only thing that you can do-- you can try to influence them. However, when you have, for example, a system integration, when you are bringing several systems together, then you might also try to bring the terminator inside the system.

Skip to 2 minutes and 19 secondsIf you have two different systems that are interacting with one another, then they will also serve as one another's terminator. So if you are building a data flow diagram, you need to pay a lot of attention to make it logically consistent. And what is sometimes a little bit down-played is to make it intuitively obvious and beautiful. So when you see these kind of technical diagrams, beauty is probably not the first thing that comes to mind. But if you make it really nice, it will be much easier to understand it. And for example, in the example that I will show you, I originally used black and white form of the diagram.

Skip to 3 minutes and 5 secondsSo it was a black and white picture, and the students found it really difficult to understand it. Once I have introduced colours-- so the different components were coloured by different colours-- then it was easier, and then I put the borders on that even further emphasised the same colours. Then they became able to actually interpret the data flow diagram, although usually most of them have not seen data flow diagrams before. The final thing that you need to pay attention to is that there will be some people who will find it difficult to understand the data flow diagram. And it is almost always exactly the same cause for this.

Skip to 3 minutes and 52 secondsI have taught this to probably about 600-700 students, and in every single case, those who did not understand it had the same problem. And it is that they thought about the arrows as processes. This is particularly observable with those who were trained in doing block diagrams when an arrow is a process. So the picture that can help you to imagine how this works is you imagine a workshop with lots and lots of machines. You have the raw material. You get it to the first machine. The machine is doing something to it-- that's the process. And then you move the material to the next machine. That does something else.

Skip to 4 minutes and 35 secondsYou might be moving back to it again and so on, but you have these large workstations that do all sorts of things. And the flow is only moving the material between the machines, but the machines are actually doing the processing. So now let me show you an example, which is about an online bookstore. So we will start from the upper-left corner to look at this. And in the upper-left corner we find the customer. The customer is a terminator, so the customer is not part of the system. However, the customer is interacting with the system, particularly with the process called receive order.

Skip to 5 minutes and 16 secondsSo what happens is that the customer is putting in the order details, and these are sent, so the flow takes the order details to the process called receive order. What the receive order does is checks the data, whether it is your email is in the right format, whether is your phone number is in the right format, and so on. And then if the data does not fit the rules, then they send back the invalid orders to the customer. So this is a small cycle that contains already three of the components. The fourth component comes in once the receive order determines that the data is acceptable-- so does not need to be returned to the customer anymore.

Skip to 6 minutes and 4 secondsThen it will send the various parts of the received data to three different data storages. The first part is that the order details will be sent to the data storage called orders, the customer data will be sent to the data storage called customers, and the billing data will be sent to the data storage called invoices. Now what is the reason that we want to have separate data storage? It is that we will use these data differently in the future. For example, the customer data saved means that you can use it again next time.

Skip to 6 minutes and 42 secondsSo once you have gone through the registration process, for example, what you did in Future Learn, when you started your first course, you had to provide certain details about yourself. Subsequently, when you come to do something in future, then you just need to log in, and all your details are already there. You don't need to enter them again. Now this is how easy it is. So it is really, really intuitively obvious, and you can try to interpret the remainder of the diagram yourself. And it means that if you get back to black and white version later on, you will also find it much easier once you have gone through it in colour. Thank you very much.

Data-flow diagram (DFD)

Dataflow diagrams are functional descriptions of the system (IS or otherwise); i.e. they describe what data are processed and stored, where, how, when and eventually by whom they are modified, where they are stored, how they are moved around, where they are obtained from and where they are sent once processed. Together with the data dictionaries, process specifications and programme structures, they describe the complete data structure of the system (static).

The symbols used in the DFDs are sometimes different but they are structurally identical, i.e. it is always the same 4 components. The most important requirement is logical consistency: you must make sure that all data is retrieved from somewhere, that they are sent where they are required, and that they are appropriately processed. Your IS/ICT cannot be better than your DFD.

Share this video:

This video is from the free online course:

Understanding Information and Technology Today

University of Strathclyde