We often heard about data flow diagrams. What data flow diagrams are all about? Let us learn it in this post.
Data flow diagrams are used to depict how data flows through software components. Data flow diagrams are created as part of software high level design. Once you have created all your software components then you need to provide a design diagram which will show as to how data will flow in the software system through these software components.
At a lower level detail, data flow can be message calls between classes (this kind of functionality is achieved through sequence diagrams). But at a higher level (aggregate level) we do not have details about what methods will be there in the software system. These details become available when lower level software design (at class level) is created.
At high level design we only have software components. The details about these components (methods, variables, class etc.) is not known yet. But we have some information about how these components will interact with each other. From this information, a data flow diagram can be drawn. For example suppose our software product is a website and it has a webpage. This webpage takes user information when the user enters personal information on this webpage. When the user submits this information then the user is registered on this website.
This webpage can be considered as a software component for this software product (website). The data flow for this software component is triggered by the user when the user submits personal information on this webpage. So this user is the initiator for this data flow. The business logic which is written to save user information in the database is the process which takes data from the user. This business logic is part of the software component (webpage). Now this user information needs to be saved in a database. This business logic thus takes user information to a database and writes this information in the database. The database is the final destination of data. Once data is saved in the database then the data flow for this process (let us call it “user registration”) gets completed.
You can create data flows for all the software components which are part of your software product, like described above. Once all your data flows are captured then your data flow diagram will be completed.