What is a data flow diagram?
A data flow diagram (DFD) is a graphical description of the ebb and flow of data in a given context. A DFD allows you to identify the transformations that take place on data as it moves from input to output in the system. (DFDs pre-date UML diagrams, but still have a complementary role to play in describing systems.)
The Case Study below provides an example of a DFD used to describe the Open University's eTMA system (electronic Tutor Marked Assignment system). It uses the notation described in Table 1 below.
Data flow diagram levels
Context Level Diagram
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4rb2lDbDRMmc_rylwZ05lCvozQ1mLSyNBiyLhyphenhyphen33WjYHvF7Y7bnW33skqdWZ5zcB-kU-JeSrz-B2hLZIp-Vs0ul4aIEMMzWQ0Dqgi8bFm98PHUDInx9_F1euSMviDaOakERbZXoml7b8X/s320/480px-DFDC.png)
This level shows the overall context of the system and its operating environment and shows the whole system as just one process. It does not usually show data stores, unless they are "owned" by external systems, e.g. are accessed by but not maintained by this system, however, these are often shown as external entities.
Level 1 (High Level Diagram)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzGnM_Jsxa1V4mfW72yiYOJxhowUOgQDJDxbxu81UB9z-zpIiEqQk2DxGbjbC3QtD71dTYNbF6fg5N1yro7LZcL7VlGBN_TA1rS2FPHof09MdditpkV5lKSaTLy4ulZ2Xdk8lZuc5SKJy6/s320/480px-DFD0.png)
This level (level 1) shows all processes at the first level of numbering, data stores, external entities and the data flows between them. The purpose of this level is to show the major high-level processes of the system and their interrelation. A process model will have one, and only one, level-1 diagram. A level-1 diagram must be balanced with its parent context level diagram, i.e. there must be the same external entities and the same data flows, these can be broken down to more detail in the level 1, e.g. the "enquiry" data flow could be spilt into "enquiry request" and "enquiry results" and still be valid
Level 2 (Low Level Diagram )
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA23UMExF4Yom9U0iDwZWk2lQEsMsA6j7mTYVLcXK4QaoIOJUTxAzsmoJ1S7Yd4Xa8cv14ZXat9A_XQ2BFFRYkEyY78IF0lrCkKPPEYttpU7PmumckhkH-VXRd7hya4u9Cc3-6zCORZ8nj/s320/680px-DFD1.png)
This level is a decomposition of a process shown in a level-1 diagram, as such there should be a level-2 diagram for each and every process shown in a level-1 diagram. In this example processes 1.1, 1.2 & 1.3 are all children of process 1, together they wholly and completely describe process 1, and combined must perform the full capacity of this parent process. As before, a level-2 diagram must be balanced with its parent level-1 diagram.
called also data flow diagram (dfd) describe system distribution into module smaller
will make user less will realize computer area to will understand system that be done
consist of one process and describe scope from a system
be level highest from dfd that describe entire input to system and outpour from system
system is limited by boundary (described by line broken offs)
there may not be any storage (storage)
describe process from dfd
give opinion according to comprehensive hit system that handled, show function or principal process, data current and eskternal entity
in level this maked data existence storage
for process is not detailed again in level furthermore so added simbol ‘*’ or ‘p’ by the end of process number
balance input and output (balancing) between diagram 0 with context diagram must be taked care be diagram that elaborate what process is there in diagram zero or level at on it
numberization level in dfd:
every process in dfd must has process specification
in top level method that used to describe process can by using descriptive sentence
in level detailer that is in process most under (functional primitive) want specification structured
process specification will be guide for programmer in will make program (coding)
method that used in process specification: process explanation in the form of story, decision table, decision tree
Something that beyond system, but he gives data into system or give data from system
symbolized with notation box
external entity doesn't belong part from system
nomenclature:
terminal name shaped noun
terminal may not has name same except the object really same
be place currences information
described with straight line that connect component from system
data current is showed with arrow direction and line is given name on data current that flow
data current flows between process, data storage and show data current from data shaped input for system
name gift guide:
data current name that consist of several word currents relateds with line continues
there may not be any data current the name same and name gift must reflect its contents
data current that consist of several elements can be declared with element group
koid word use ‘data’ and ‘information’ to give name in data current
sedapat may be data current name is written complete
rule other:
data current name that come into a process may not equal to secretory data current name from process
data flow that step into or out from data storage unnecessary given whose name:
simple data current and easy understood
data current describes entire item datas
there may not be any data current from terminal to data storage or on the contrary because terminal not part from system, terminal connection with data storage must pass process
![*](file:///C:/DOCUME%7E1/AMY_JE%7E1/LOCALS%7E1/Temp/msohtml1/03/clip_image001.gif)
process is what done by system process can cultivate data or data current enters to be data current out
process functioneds mentransformasi one or several input datas is one or several product datas as according to desirable spesification
every has one process or several inputs with produce one or several products
process often also called bubble
data storage be existing data repository in system
symbolized with a pair parallel line or two lines wrongly one sides side opened
process can take data from or give data to database
name gift guide:
name must reflect data storage
when does the name more than one word so be must be given sign continue
functioned to help system executant to interpret application in detail and mengorganisasi all data element that used system according to exactly so that user and has base explanation same about input, product, storage and process
in analysis stage, data dictionary is used as a means of communication between system analyst with user
in system planning stage, data dictionary is used to design input, report and database
data current in dad has global, explanation detailer visible in data dictionary
data dictionary holds the followings:
data current name: must be registerred so that reader that need furthermore explanation about a data current can look for it easily
alias: alias or name other from data can be written if (there are) any
data form: used to group data dictionary into its use sewaktu system planning
data current: show from which data flows and where does data aim
explanation: give explanation about meaning from data current
data current that come into and out from one process must equal to data current that comes into and out from process details in level/stage at under it
data current name that come into and out from one process must equal to data current name that enters to into and out from process details
total and name entitas outside from a process must equal to total and name entitas outside from process details
matters that must be paced in dfd that has more than one level:
must found balance input and output between one level and level next
balance between level 0 and level 1 seen in input/output from data current to or from terminal in level 0, while balance between level 1 and level 2 seen in input/output from data current to/from process concerned
data current name, data storage and terminal in every level must same if the object same
data current may not from entities outside direct aim entities outside another without pass a process
data current may not from direct data savings aim to entities outside without pass a process
data current may not from direct data savings aim another data savings without pass a process
data current from one direct process aims another process without pass a data savings best/can may be avoided
references :
http://en.wikipedia.org/wiki/Data_flow_diagram
http://openlearn.open.ac.uk/mod/resource/view.php?id=190544