Transcript for:
Understanding Data Flow Diagrams (DFDs)

Hi we're going to be talking about data flow diagrams in this video which are often shortened to just DFDs, so bear in mind the DFD every time you see that stands for data flow diagrams. So these diagrams crop up in a few different places often in reports and planning stages of various systems. Really what a DFD is there for is to show how data is used and most importantly how it moves around a system. That is what flow is in this context it's how things move around. So any computer system has data being stored and it will move around various different components. Maybe think about an organisation, you've got different individuals who deal with data, process data and when the DfD is meant to be mapping out how exactly this process works. And there are some common symbols, I say common not, these are not a set list of symbols, they do vary but these are the kind of common ones I've seen. Okay but bear in mind that you might see a diagram with a little bit looking a little bit different because it's using slightly different symbols but the idea is always the same. So let's say around a rectangle is a process box. A process box is representing what is using the data or what is it doing to the data. So a process does something, it might be a computer system, it might be just a set of steps a human goes through but it's what is happening to the data. The people or again it could be a system really, Actually controlling this or providing or receiving the data is an external entity. An entity is just any object really, in most cases this would be a human being for our purposes. So they are really running the show, they are providing this data or they are receiving it. as the final stage. But the process is representing something actually happening to this data. We often wanna, of course, store data longer term and we represent these using a data store. So this is where data is being held. Often it'll be something like a database or just a file. It's a bit of a weird shape. It's a rectangle but kind of missing an edge usually and usually with another line going down vertically. So it's a little bit funny. It's quite recognizable as a data store. And finally, arrows connect all of this up, which represent the data flow, which is just the transfer of data. Now, that's all a bit confusing, I think, potentially. So let's look at an example of what is actually called a level zero DFD. So a level zero DFD is kind of our biggest summary. And it's a little bit more complicated. It gives an overview, just kind of a rough guide of how the system works. We'll look at level 1 DFD later, which goes into a bit more detail, but level 0 is a very, very high overview. So let's look at an IT related problem. Let's look at a backup system, so backing up some files. Well, this might be started by an IT technician, our entity in this situation. They might use a file manager. This might be a program on a computer. That's what's doing the processing here. we've got our original files and we've got maybe a copy of our files stored on another storage device let's say. Well what might happen as we transfer data around the system, first of all maybe the technician will send a backup request to this system, maybe this is just clicking a button or maybe it is sending an actual comment, it depends on the individual system and the file manager might pass on this message to the database, it might request a certain bunch of files to copy which the technician has requested let's say. Now it might receive back the data from this data store and the file manager might initiate the next transfer it might send the files to this other storage area and to kind of complete this cycle this storage area might send some results back it might say that either worked or there are some errors and the file manager can kind of relay confirmation to the technician. Now in this scenario I'm picturing The technician is a real person, but the file manager is probably software, and our data stores are maybe a database, maybe a storage device. So a kind of very rough guide of how this might work. It might not be exactly how the system works in reality, but it gives you a gist of how this is working. Okay, so rectangle entity, we've got our process and we've got some storage over here. Now actually, like I say, this is giving an overview, so it may not be super duper useful, but we also have a level 1 DfD. A level 1 DfD is a little bit more specific, it goes into more detail than a level 0 DfD. This is potentially an equivalent DfD, data flow diagram, for this backup system. So it looks actually almost completely different to the one before. What I've done is I've added two more process boxes because in my previous one the file manager was a bit vague. It didn't go into detail about what I was doing. So I've tried to break it down into maybe slightly more broken down process boxes. So I might have a web client which might be how I access this backup system. I might have a program running behind the scenes which actually transfers the files across and I might have this confirmation sent via email which might be handled by another program on the computer. So this is a little bit more specific, a little bit more broken down, it goes into a bit more detail. This isn't a perfect DfD to be honest, you could argue that actually you know there should be a couple more process boxes over here, you could argue that and the actual data being transferred might not be the most precise but... it's going into a bit more detail than a level zero DfD. In terms of what could come up in an exam you won't be asked to actually create a DfD from scratch most likely, you'll potentially be asked to look at a completed DfD and interpret it, so follow the steps, maybe recognise the symbols and also because you're not going to be asked to actually make one, they also can ask you questions on certain rules. So for DfD zeros Level zeros, they're not really they haven't really got very strict rules But in some cases there are some set rules for level one DFDs for ones which are a little bit more specific So let me just list these it's it's one of the things you've got to try and just memorize or Try and understand why this is the case. So in your DFD each external entity must have at least one input or output Likewise each process must have at least one input or output which I think is common sense. You know you wouldn't have just a entity set on its own, it's got to receive or send some data. Likewise a process has to do something, it can't just sit on its own with no connections, it needs to have at least one input, at least one output. I mean to be honest a process should have both an input and an output. One thing which I didn't include in my level 0 DFD was this rule. So data should only float in one direction when you've got a level 1 DFD. So something like this, which I had in my level 0 one, if you look back, I had some arrows kind of going back on itself, should not be allowed because they don't really make it clear which direction you're going. Whereas if you only have one direction in your arrow, it's relatively clear how the data is flowing. It's less clear in this case, so we shouldn't have. these sort of double arrows in a level one DfD. We also need to make sure every data flow is labeled which I have done in all of my diagrams put a little description of the data being transferred at each stage. So I'm transferring a file, I'm transferring results, I'm labeling my data flow and lastly it's important that every data flow connects to at least one process. So we shouldn't have something like this, we shouldn't have a manager connecting directly to an employee which to be honest might happen in real life. life and you might put in a level 0 DfD, but in a level 1 DfD we need to be breaking this apart with a process or a data store in some capacity. So these rules, if you are going to have a look at a level 1 DfD maybe you can spot these not always being followed, but these are what we should go for if we're drawing accurate and well constructed level 1 DfDs.