You are on page 1of 10

Volume 1 No.

2, MAY 2011
ARPN Journal of Systems and Software

©2010-11 AJSS Journal. All rights reserved

http://www.scientific-journals.org

A Formal Model for Data Flow Diagram Rules


1
Rosziati Ibrahim, 2Siow Yen Yen
1,2
Department of Software Engineering, University Tun Hussein Onn Malaysia (UTHM)
Batu Pahat, Johor, malaysia
1
rosziati@uthm.edu.my , 2yenyen0831@hotmail.com

ABSTRACT
A formal model for data flow diagram (DFD) rules is developed by introducing a syntax and semantics for its rules. DFD
has been chosen because it is an approach for specifying, constructing and visualizing the model of a system graphically
and has been in practical use on a very wide basis but still lacks formal and precise understanding. This formal model can
be used to check the correctness of the diagrams and consistency among the diagrams.

Keywords: Context diagram, data flow diagram, formal method, consistency rules

I. INTRODUCTION how consistency check of diagrams is done using the


formal model. Finally, Section 8 gives the evaluation of
System development life cycle (SDLC) is an the approach from the students’ perspective and Section 9
essential process uses during the development of any concludes the paper.
system. SDLC consists of four main phases. They are
planning, analysis, design and implementation. During II. RELATED WORK
analysis phase, context diagram and data flow diagrams
are used to produce the process model of a system. A DFD is widely used during analysis phase to
consistency of the context diagram to lower-level data capture the requirements of any system. The rules for DFD
flow diagrams is very important in smoothing up are simple and not complicated. However, the rules are in
developing the process model of a system. However, plain English without formalism. Furthermore, several
manual consistency check from context diagram to lower- researches stated that no formal language has been used
level data flow diagrams using a checklist is time- for semantic specification of data flow diagram, for
consuming process [1]. At the same time, the limitation of example in ([1], [3], and [4]). However, Tao and Kung [5]
human ability to validate the errors is one of the factors point out that there are few development environments or
that influence the correctness and balancing of the CASE tools provide automated verification facilities that
diagrams [2]. The main problem is due to human ability to can detect inconsistency and incompleteness in a data flow
check the correctness of the diagrams and the consistency diagram specification. France in [6] presents a method for
between the diagrams. In this paper, we handle this associating DFD with formal specification.
problem by presenting a technique for modeling data flow Dixit et al. [7] describe that the concept of data
diagram rules and propose a formalization of its rules. The flow diagram consistency refers to whether or not the
main goal of this work is to provide a formal model for depiction of the system shown at one level of a nested set
DFD rules in order to facilitate the development of the of data flow diagram is compatible with the depictions of
diagrams during the analysis phase of software the system shown at other levels. They also state that a
development life cycle. Then, the correctness and consistency check facility with a CASE tool will be
balancing of the diagrams and the consistency between the helpful for the practitioners. Consistency in process
diagrams can be achieved. decomposition, on the other hand, means that the
The motivation of coming up with the model for precedence relation is faithfully inherited by the child data
DFD rules is because DFD has been used in widely basis flow diagram [7]. Ahmed Jilani et al. [1], on the other
for modeling any system especially in undergraduate hand, state that notations used in the data flow diagram are
courses but still lacking a precise understanding. Most usually graphical and different tools and practitioners
rules for drawing the diagrams are written in plain text interpret their notations differently. Therefore, a well-
without clear meaning of the rules. Therefore, by defined semantics or data flow diagram formalism could
introducing the formal model for DFD rules, it can be used help to reduce inconsistencies and confusion.
to ensure that the diagrams drawn are correct and they are According to Lucas et al. [2], consistency
consistent with each other. Furthermore, the balancing of problems have existed in Information System
the diagrams can be guaranteed. development since its beginning and are usually linked to
The rest of this paper is organized as follows. The the existence of multiple models or views which
discussion on the related works is in Section 2 and the participate in the development process. Tao and Kung [5]
review of DFD is in Section 3. Section 4 discusses the state that a data flow diagram is visual and informal,
syntax and semantics rules of DFD and Section 5 hence, it is easy to learn and use. However, its informality
formalizes the DFD rules. The development of the tool is makes it difficult to conduct formal verification of the
discussed in Section 6 and Section 7 gives an example on
60
Volume 1 No. 2, MAY 2011
ARPN Journal of Systems and Software

©2010-11 AJSS Journal. All rights reserved

http://www.scientific-journals.org

consistency and completeness of a data flow diagram analysts and users to depict the flow of data in an
specification. information system.
Dixit et al. [7], on the other hand, defined data Normally, the system can be physical or logical,
flow diagram consistency is the extent to which manual or computer based. Data flow diagram symbols
information contained on one level of a set of nested data consist of four symbols which are processes, data flows,
flow diagram is also included on other levels. According data stores and external entities. The standard set of
to Tao and Kung [5], the child data flow diagram that symbols that will be used in this paper is devised by Gane
results from decomposition is consistent with the and Sarson symbols in [12]. Table 1 shows these symbols.
precedence relation for the parent process and does not
introduce additional precedence relationships between the Table 1: Symbols for DFD elements in [12]
input and output flows of the parent process. Research
done by Lee and Tan [8] cover the modelling of DFD
Symbol Element
using Petri Net model. In their research, they check
consistency of the DFDs by enforcing constraints on their Name
Petri Net model. Gao et al. [9] present a language called
SOZL (structured methodology + object-oriented
methodology + Z language). They then used their 0
language to present a formalization of the syntax and
semantics of predicate data flow diagram (PDFD). They
use Z notations to define an abstract syntax and constraints
of PDFD notations.
In structured methodology, data flow diagrams Process
Name
are used during analysis phase to capture the requirements
of any system. In object-oriented methodology, Unified
Modelling Language (UML) specification is used to
represent any system requirements. A method for checking
consistency for UML specification, on the other hand, has
been done for example in [2], [10] and [11].
This paper formalizes important DFD rules to Name
address the consistency issues in DFD. Our research
focuses on consistency check between data flow diagrams
and develops a formal model for a consistency check Data Flow
between data flow diagrams based on the formal notations
used for the DFD rules.
D1 Name
III. OVERVIEW OF DFD
SDLC is a process uses during the development Data Store
of software system starting from planning until the
implementation phase. Data flow diagramming, on the
other hand, is used to produce the process model during
the analysis phase [12]. Process model is very important in Name
defining the requirements in a graphical view. Therefore,
the reliability of the process model is the key element to External
improve the performance of the following phases in Entity
SDLC.
SDLC is also used to understand on how an
information system can support business needs, designing
the system, building the system and delivering the system
to users [12]. SDLC consists of four fundamental phases, In data flow diagram, the highest-level view of
which are analysis, design, implement and testing phases. the system is known as context diagram. The next level of
In the analysis phase, requirements of a system are data flow diagram is called the level 0 data flow diagram
identified and refined into a process model. Process model which represents a system’s major processes, data flows
can be used to represent the processes or activities that are and data stores at a high level of detail. Every process in
performed in a system and show the way of data moves the level n-1 data flow diagram would be decomposed into
among the processes. In order to diagram a process model, its lower-level data flow diagram which is level n data
data flow diagramming is needed. Dixit et al. [7] define flow diagram. The key principle in data flow diagram is to
data flow diagram as a graphical tool that allows system ensure balancing which means that the data flow diagram
at one level is accurately represented in the next level data
flow diagram when developing a project. The ideal level
61
Volume 1 No. 2, MAY 2011
ARPN Journal of Systems and Software

©2010-11 AJSS Journal. All rights reserved

http://www.scientific-journals.org

of decomposition is to decompose the system until system The highest-level of data flow diagram is known
analysts and users can provide a detailed description of the as the context diagram. According to Jeffrey et al. [13], a
process whereby the process descriptions is not more than context diagram is a data flow diagram of the 10 scope of
one page. The final set of data flow diagrams is validated an organizational system that shows the system
for ensuring quality. In general, there are two types of boundaries, external entities that interact with the system
problems that can occur in data flow diagrams which are and the major information flows between the entities and
syntax errors and semantics errors. Semantics errors are the system. Dennis et al. [12] state that the context
more complicated than syntax errors due to a set of rules diagram shows the overall business process as just one
that need to be followed in order to identify them. For process and shows the data flows to and from external
example, every process has at least one input data flow entities. Data stores are not usually included on the context
and every process has at least one output data flow. diagram. The context diagram therefore is decomposed
Therefore, understanding the set of rules for data flow into the lower-level diagram which is level 0 data flow
diagrams is important. Once the rules are understand, a diagram. In fact, each process on the level 0 data flow
formal model can be developed based on the rules so that diagram can be decomposed into more explicit data flow
the formal model can be used to perform consistency diagram, called level 1 diagram and can be further
check between context diagram and level 0 data flow decomposed into next lower-level diagram when it is
diagram. The formal model can guarantee that the needed. In general, there are two fundamentally different
correctness and reliability of data flow diagrams can be types of problems that can occur in data flow diagrams
increased. which are syntax errors and semantics errors. Tao and
Kung [5] define the syntax of the data flow diagram is
IV. SYNTAX AND SEMANTIC RULES OF how components are interconnected through data flows
DFD and what components constitute the subsystem being
modeled. The semantics of the data flow diagram, on the
Data flow diagrams are illustrated movement of other hand, is how data flows are interrelated in terms of
data between external entities and the processes and data data transformations. Dennis et al. [12] claim that syntax
stores within a system [13]. According to Donald and Le errors are easier to find and fix than are semantics errors
Vie [14], data flow diagrams are a tool that can reveal because there are clear rules that can be used to identify
relationships among and between the various components them. There is a set of rules that must be followed by
in a program or system. Tao and Kung [5], on the other analysts when drawing data flow diagrams in order to
hand, stated that data flow diagram technique is effective evaluate data flow diagrams for correctness [14]. Rule 2
for expressing functional requirements for large complex until Rule 8 stated these rules.
systems. Rule 1 gives the definition of data flow diagram
where there are four symbols in the data flow diagram Rule 2: Rules of data flow diagrams:
which are processes, data flows, data stores and external
entities (source/sink). In general, there are two commonly  At least one input or output data flow for external
used styles of symbols in data flow diagram as described entity
in [12] and [7]. For our research, we will use Gane and  At least one input data flow and/or at least one output
Sarson symbols as described in [12] which appeared in data flow for a process
Table 1.  Output data flows usually have different names than
input data flows for a process
Rule 1: A Data Flow Diagram consists of:  Data flows only in one direction
 Every data flow connects to at least one process
 Processes
 Data Flows Rule 2 stated the general rules for drawing the
 Data Stores data flow diagrams. For each external entity, there should
 External Entites be at least one input or output for data flow coming in or
where going out from the external entity.

- A process is an activity or a function that is Rule 3: Unique name in data flow diagrams:
performed for some specific business reason;
- A data flow is a single piece of data or a logical  A unique name (verb phase), a number and a
collection of several pieces of information; description for a process
- A data store is a collection of data that is stored in  A unique name that is a noun and a description for a
some way; data flow
- An external entity is a person, organization, or  A unique name that is a noun and a description for
system that is external to the system but interact data store
with it.  A unique name that is a noun and a description for
external entity

62
Volume 1 No. 2, MAY 2011
ARPN Journal of Systems and Software

©2010-11 AJSS Journal. All rights reserved

http://www.scientific-journals.org

Rule 3 stated the important of the unique name  The total number and name of external entities in
used in the diagrams. These unique names apply to all the context diagram are the same as in level 0 DFD
names used in every aspect of data flow diagrams. The  The total number and name of data flows between
consistency issues are addressed in Rule 4 and Rule 5. process and external entity in context diagram are
same as level 0 DFD
Rule 4: Consistency:  The total number and name of external entities in
 Every set of data flow diagrams must have one level 0 DFD are same as context diagram
context diagram.  The total number and name of data flows between
process and external entity in level 0 DFD are the
Rule 5: Consistency Viewpoint: same as in context diagram
 There is a consistency viewpoint for the entire set of
DFDs. The semantics rules described in Rule 10 are used
to perform consistency check from context diagram to
Rule 6: Decomposition: level 0 data flow diagram. We then formalize the DFD
 Every process is wholly and completely described by rules and represented them using mathematical notations
the processes on its children DFDs. in order to better understand the rules. Similar approach
for formalization of DFDs is in [3] and [8], where Tong
Rule 7: Balancing: and Tang [3] use temporal logic language and Lee and Tan
 Every data flow, data store and external entity on a [8] use Petri Net model. Gao and Miao [15], on the other
higher level DFD is shown on the lower-level DFD hand, integrate structured approach with object-oriented
that decomposes it. approach and suggest a formal language using Z notations
for predicate data flow diagram (PDFD). The
Rule 8: Data Store: formalization of DFD rules is discussed in next section.
 For every data store, data cannot move directly from
one data store to another data store. V. FORMALIZATION OF DFD RULES
 Data must be moved by a process.
This section outlines in detail how the formal
Rules 2 until 8 explain the fundamental rules of model of DFD rules is constructed. The model is
data flow diagrams. The consistency between context established using mathematical notations.
diagram and data flow diagram is very important and the
rules for these consistency is captured in Rules 4 and 5. Definition 1:Let D be a data flow diagram, then
Following on the consistency issue, Rule 6 addresses D = {P, F, S, E}
aspect on decomposition of the processes to its lower level
of DFD and Rule 7 addresses aspect of balancing of DFD where
elements to its lower level of DFD. Syntax rules are used P = {p1, p2, p3…, pm} is a finite set of processes;
to verify syntax errors within the DFD. The syntax rules F = {f1, f2, f3…, fm} is a finite set of data flows;
are described in Rule 9. S = {s1, s2, s3…, sm } is a finite set of data stores;
E = {e1, e2, e3…, em } is a finite set of external entities;
Rule 9: Syntax rules of data flow diagram:
Definition 1 defines the data flow diagram. Data flow
 At least one input data flow for a process diagram consists of a set of processes, data flows, data
 At least one output data flow for a process stores and external entities.
 Process from external entity cannot move directly to
another external entity Definition 2: Let C be a context diagram then
 At least one input data flow for a data store C  { ei , f j , p1 ,  p1 , f k , ei },
 At least one output data flow for a data store
 Data from one data store cannot move directly to  f j  f k , 1  i, j , k  m
another data store
Definition 2 defines the context diagram. Context
Based on Rule 9, six syntax rules are used in diagram consists of one process only and a set of external
order to verify the correctness of the context diagram and entities and data flows. Data flow can be connected from
level 0 data flow diagram. However, the syntax rules of external entity to a process and vice versa but the data
data store only applied in level 0 data flow diagram. flow must be a different data flow. Note that, data store
Semantics rules are used to verify semantics errors from can only exist in data flow diagram but not context
context diagram to level 0 data flow diagram. The diagram.
semantics rules are described in Rule 10.
Definition 3: Given D = {P, F, S, E}, then a process p
Rule 10: Semantic rules of data flow diagram: where p  P is unique where

63
Volume 1 No. 2, MAY 2011
ARPN Journal of Systems and Software

©2010-11 AJSS Journal. All rights reserved

http://www.scientific-journals.org

pi , p j  P, pi  p j , 1  i, j  m D  { ei , f j , pi } and
D  { pi , f k , ei } ,  f j  f k ,1  i, j , k  m
From Definition 3, the name of the process is
unique. For any process, no duplication is allowed. The Definition 10 defines that for any data flow that
same rules apply for data flows (Definition 4), data stores connect from external entity to process, another data flow
(Definition 5) and external entities (Definition 6). The can connect from process to external entity but must be
name is unique and duplication of name is not allowed. different from the previous used data flow.

Definition 4: Given D = {P, F, S, E}, then a data flow f Definition 11: Given D = {P, F, S, E}, then
where f  F is unique where
pi , p j , f j , f k  D , then
f i , f j  F , f i  f j ,1  i, j  m

Definition 5: Given D = {P, F, S, E}, then a data store s


D  { pi , f j , p j } and D  { p j , f k , pi }
where s  S is unique where  f j  f k ,1  i, j , k  m
si , s j  S , si  s j ,1  i, j  m
Definition 11 defines that for any data flow that
Definition 6: Given D = {P, F, S, E}, then an external connect from one process to another process, another data
entity e where e  E is unique where
flow can connect from another process to previous process
but must be different from the previous used data flow.
ei , e j  E , ei  e j , 1  i, j  m
Conjecture 1: Given D = {P, F, S, E}, then
Definition 7: Given D = {P, F, S, E} and C is a context
diagram, then ei , e j , f k  D , then
f i  C , f j  D,  f i  f j ,1  i, j  m
D  { ei , f k , e j } , 1  i, j , k  m
Definition 7 indicates that for any data flow that
belongs to context diagram, that data flow must exist in
Conjecture 2: Given D = {P, F, S, E}, then
data flow diagram. The same rule applies to external
entity. That is, for any external entity that belongs to
context diagram, that external entity must exist in data s i , s j , f k  D , then
flow diagram (Definition 8).
D  { si , f k , s j } , 1  i, j , k  m
Definition 8: Given D = {P, F, S, E} and C is a context
diagram, then
Conjecture 1 indicates that for any data flow
ei  C , e j  D,  ei  e j ,1  i, j  m diagram, a data flow cannot connect from one external
entity to another external entity and Conjecture 2 indicates
that a data flow cannot also connect from one data store to
Definition 9: Given D = {P, F, S, E}, then another data store.

pi , si , f j , f k  D , then Conjecture 3: Given D = {P, F, S, E}, then

D  { pi , f j , si } and ei , s j , f k  D , then

D  { si , f k , pi } ,  f j  f k ,1  i, j , k  m D  { ei , f k , s j } and D  { s j , f k , ei } ,
Definition 9 defines that for any data flow that 1  i, j , k  m
connect from process to data store, another data flow can
connect from data store to process but must be different Conjecture 3 indicates that for any data flow
from the previous used data flow. diagram, a data flow cannot connect from one external
entity to data store and a data flow cannot also connect
Definition 10: Given D = {P, F, S, E}, then from one data store to external entity. Section 7 will give
example of using the Conjecture rules.
ei , pi , f j , f k  D , then

64
Volume 1 No. 2, MAY 2011
ARPN Journal of Systems and Software

©2010-11 AJSS Journal. All rights reserved

http://www.scientific-journals.org

VI. THE TOOL to demonstrate the consistency between the diagrams and
the balancing of every data flow and external entity
The tool is introduced in [16]. We develop the between context diagram with level 0 data flow diagram.
tool in order to ease the process of manual consistency Figure 2 shows the example of one context diagram that
check between the diagrams. A graphical layout is used in demonstrates the use of entities and data flows within one
order to use the tool as an editor for drawing the diagrams process.
and as a checker as well to check the correctness of the
diagrams. Figure 1 shows the main interface of the tool.

Figure 2 Example of Context Diagram

In reference to Figure 2, using Rule 2, the context


diagram consists of 1 process, 3 entities and 6 data flows.
That is,
C  { e1 , f 1 , p1 ,  p1 , f 2 , e1 ,  e2 , f 3 , p1 ,
 p1 , f 4 , e2 ,  e3 , f 5 , p1 ,  p1 , f 6 , e3 }

Figure 1: The main Interface of the Tool Then, level 0 data flow diagram can be drawn
which is shown in Figure 3.
From Figure 1, the main interface provides a
platform that allows the user to input both diagrams by
using the data flow diagram elements provided. The main
interface includes four main parts where the top of the
interface is the menu bar consists of five menu functions,
the toolbar of the data flow diagram elements is in the left-
side of the interface, the bottom-right is an error list text
box and a “Consistency Check” button. The rest of
interface is the drawing panel for user to draw the
particular diagram. The five functions in menu bar are
open a new file, open a saved file, save the data flow
diagrams, print the data flow diagrams and open a help
menu. In the toolbar, there are four data flow diagram
elements which are process, external entity, data flow and
data store. User is allowed to drag and drop the data flow
diagram elements on the drawing panel. The text box is
Figure 3 Example of Level 0 Data Flow Diagram
used to add the text for the data flow, data store and entity.
The “Consistency Check” button, on the other hand, is
Based on Figure 3, level 0 data flow diagram
used to perform the consistency check after both diagrams
consists of 3 processes, 3 entities, 1 data store and 11 data
are created. Therefore, the tool serves two purposes. The
flows. That is,
first purpose is as an editor for drawing the context
diagram and level 0 data flow diagram and the second
purpose is as a checker for checking the consistency
D  { e 1 , f 1 , p 1  ,  p 1 , f 2 , e1  ,  e 2 , f 3 , p 2  ,
between context diagram and level 0 data flow diagram.  p1 , f 4 , e 2 ,  e 3 , f 5 , p 3 ,  p 2 , f 6 , e 3  ,
Further details regarding the tool can be found in [16].
 p 1 , f 7 , p 2  ,  p 2 , f 8 , p 3  ,  p 2 , f 9 , s1  ,
 s 1 , f 10 , p 1  ,  p 3 , f 11 , s 1 }
VII. EXAMPLE OF CONSISTENCY
CHECK
However, if any data flow from the original
context diagram is missing, the tool will be able to detect
In this paper, we give one simple example of any
the error of the data flow diagram. For example, if data
system and use the tool to represent the context diagram
and its level 0 of data flow diagram. This example is used flow f 4 is missing in one of the connection
65
Volume 1 No. 2, MAY 2011
ARPN Journal of Systems and Software

©2010-11 AJSS Journal. All rights reserved

http://www.scientific-journals.org

for  p1 , f 4 , e2  , that is if level 0 data flow diagram


consists of the following:

D  { e1 , f 1 , p1 ,  p1 , f 2 , e1 ,  e2 , f 3 , p 2 ,
 e3 , f 5 , p 3 ,  p 2 , f 6 , e3 ,  p1 , f 7 , p 2 ,
 p 2 , f 8 , p 3 ,  p 2 , f 9 , s1 ,  s1 , f 10 , p1 ,
 p 3 , f 11 , s1 }

Since the data flow diagram violates Definition 7,


the tool will be able to pick up the error as shown in
Figure 4. Another example is if data flows f 3 and f 5 are
missing for their connection
of  e2 , f 3 , p 2  ,  e3 , f 5 , p3  , that is if level 0 data
flow diagram consists of the following:

D  { e1 , f 1 , p1 ,  p1 , f 2 , e1 ,  p1 , f 4 , e2 ,
 p 2 , f 6 , e3 ,  p1 , f 7 , p 2 ,  p 2 , f 8 , p 3 ,
Figure 5 Example of Level 0 Data Flow Diagram with
 p 2 , f 9 , s1 ,  s1 , f 10 , p1 ,  p3 , f 11 , s1 } missing data flows

Again, the tool will be able to pick up the error as Figure 6 shows the example of consistency check
shown in Figure 5, since it violates Definition 7 of data using the tool.
flow diagram. igures 4 and 5 show the example of missing
data flows from context diagram to level 0 data flow
diagram. These examples address the issues of balancing
of every data flow from context diagram to level 0 data
flow diagram. Therefore, the consistency between the
diagrams is guaranteed when using the tool for drawing
such diagrams.

Figure 6 Example of Level 0 Data Flow Diagram with


missing data flow using the tool

From Figure 6, the balancing of every data flow


and external entity from context diagram to level 0 data
flow diagram is addressed. The tool ensures that for every
data flow and external entity drawn in context diagram,
that data flow and external entity shall appear in level 0
data flow diagram. This ensures the consistency between
all diagrams.
We demonstrate another example for the
Conjecture rules. Figure 7 shows an example of context
Figure 4 Example of Level 0 Data Flow Diagram with
diagram with one process, two entities and 4 data flows.
missing data flow

66
Volume 1 No. 2, MAY 2011
ARPN Journal of Systems and Software

©2010-11 AJSS Journal. All rights reserved

http://www.scientific-journals.org

From Figure 9, the Conjecture rule 3 is violated.


That is a connection between entity to data store is trying
to establish using the data flow. The tool gives syntax
error informing that such connection cannot be
established.

Figure 7 Another Example of Context Diagram

In reference to Figure 7, using Rule 2, the


elements of context diagram are as follows:

C  { e1 , f 1 , p1 ,  p1 , f 2 , e1 ,
 e2 , f 3 , p1 ,  p1 , f 4 , e 2 }

Then, level 0 data flow diagram can be drawn.


Figures 8 and 9 show examples of level 0 data flow
diagram which consist of syntax error when the violation
of Conjecture rules.

Figure 10.The consistency check between context diagram


and level 0 data flow diagram

From Figure 10, a level 0 data flow diagram is


consistent with context diagram drawn in Figure 7.
Therefore, the tool gives a message indicating the
consistency.

VIII. EVALUATION OF THE


Figure 8. Syntax Error is displayed if a connection between APPROACH
data stores by data flow is made
From Figure 8, the Conjecture rule 2 is violated. We evaluate our approach by asking the students
That is a connection between data store to data store is to use the tool for designing and drawing their diagrams
trying to establish using the data flow. The tool gives based on the requirements of the system. During the class,
syntax error informing that such connection cannot be we present a case study as the following scenario.
established.

A Research Management System (RMS) will allow a


user to login into the system. Then the user will be able
to commit making the order for the item that he/she
wishes to buy through the system and/or check the
balance from his/her research vote as well as display
the information details of the user. If the user is an
administrator, the user will be able to view the order
file.

The students are then asked to draw their context


diagram and level 0 data flow diagrams. Figures 11 and 12
Figure 9 Syntax Error is displayed in level 0 data flow show one of the examples of the diagrams drawn. Note
diagram that for the analysis phase, there is no write and wrong
answer of the diagrams drawn. However, the

67
Volume 1 No. 2, MAY 2011
ARPN Journal of Systems and Software

©2010-11 AJSS Journal. All rights reserved

http://www.scientific-journals.org

implementation of the system will depend heavily with the Note that, student is able to use the tool for
diagrams drawn during the analysis phase. If the diagrams drawing the data flow diagram of RMS. If the drawing is
are drawn correctly, the implementation will meet all the drawn wrongly, the tool is able to pick up the incorrect or
system requirements and the correct system will be in balancing of the diagrams. Figure 13 shows the
implemented with no ambiguities. example of syntax errors and balancing errors of the data
flow diagram.

Figure 11 Context Diagram for RMS

Based on the scenario for the case study, Figure


11 shows the example of the Context Diagram for RMS. A
user would be able to login into the system. Then the user
can commit making an order, view the order details and
check the balance of his or her research vote. For the
Administrator staff, he or she would be able to view the
order details made by the user of the system.
From Context Diagram, a level 0 data flow
diagram can be drawn. Figure 12 shows the example of
the diagram based on the context diagram drawn in Figure
Figure 13: Level 0 Data Flow Diagram for RMS with syntax
11. errors

The tool has made students appreciated the


rigorous analysis of the system that needs to be
implemented. At the end of the semester, from students’
evaluation forms, we also received testimony from our
students of the benefits of using the tool (39 out of 45
students (87%) agreed that the tool improved their
understanding of drawing the diagrams). The tool
motivates students to work from initial phase (getting
correct requirements of the system) and draw the correct
diagrams for analysis phase prior to implementation phase.

IX. CONCLUSION
This paper has discussed how to model a business
process flow using data flow diagrams and presented a set
of syntax and semantics rules of data flow diagrams. The
rules are then being formalized and used to automate the
process of checking the consistency between the context
diagram and level 0 data flow diagrams. The automatic
checking of consistency overcomes the time-consuming
Figure 12 Level 0 Data Flow Diagram for RMS process of manually checking the correctness of the
diagrams. The developers can use the tool for drawing and
From Figure 12, level 0 data flow diagram of designing their process model of the system that they want
RMS contains 3 data stores: data for order, data for to develop.
research and data for user. 3 processes are used for the Our tool has several advantages. First, we can
diagrams: Login Module, Order Form and Research minimize the syntax errors when drawing the diagrams
Module. Then the data flows are drawn based on the data since the tool prevents the user from making such errors.
stores and processes. Both diagrams (context diagram and Second, the correctness of diagrams is guaranteed since
data flow diagrams) are correct and consistent and the the consistency check between diagrams is also done via
balancing of the diagrams is achieved as well. the tool.

68
Volume 1 No. 2, MAY 2011
ARPN Journal of Systems and Software

©2010-11 AJSS Journal. All rights reserved

http://www.scientific-journals.org

REFERENCES [9] Gao Xiaolei, Miao Huaikou and Liu Ling. (2004).
Functionality Semantics of Predicated Data Flow
[1] Ahmed Jilani, A. A., Nadeem, A., Kim, T. H. and Diagram. Journal of Shanghai University (English
Cho, E. S. (2008). Formal Representations of the Data Edition), Vol 8, No 3, pp. 309 – 316.
Flow Diagram: A Survey. Proc. of the 2008 Advanced
Software Engineering and Its Applications. [10] Kim, D.H. and Chong, K. (1996). A Method of
Washington, USA: IEEE Computer Society. pp. 153- Checking Errors and Consistency in the Process of
158. Object-Oriented Analysis. Proceedings of the 1996
Third Asia-Pacific Software Engineering Conference.
[2] Lucas, F.J., Molina, F. and Toval, A. (2009). A Korea: IEEE Computer Society. Pp. 208-216.
Systematic Review of UML Model Consistency
Management. Information and Software Technology, [11] Rosziati Ibrahim and Noraini Ibrahim (2009). A Tool
51(12), pp. 1 – 15. for Checking Conformance of UML Specification.
Proceedings of the 2009 World Academic of Science
[3] Tong, L. and Tang, C.S. (1991). Semantic and Technology (WASET), Volume 51, pp. 262-266.
Specification and Verification of Data Flow
Diagrams. Journal of Computer Science and [12] Dennis, A., Wixom, B.H. and Roth, R.M. (2006).
Technology, 6(1), pp. 21-31. Systems Analysis and Design. 3rd ed. Hoboken: John
iley & Sons, Inc.
[4] Leavens, G.T., Wahls, T. and Bakar, A.L. (1999).
Formal Semantics for SA Style Data Flow Diagram [13] Jeffrey, A. H., George, J.F. and Valacich, J.S. (2002)
Specification Languages. Proceedings of the 1999 Modern Systems Analysis and Design. 3rd ed. US:
ACM Symposium on Applied Computing. Oregon, US: Prentice-Hall.
IEEE Computer Society. pp. 526–532.
[14] Donald, S. and Le Vie, Jr. (2000). Understanding
[5] Tao, Y.L. and Kung, C.H. (1991). Formal Definition Data Flow Diagram. Proceedings of the 47th annual
and Verification of Data Flow Diagrams. Journal of conference on Society for Technical Communication.
Systems and Software, 16(1), pp. 29-36. Texas: Integrated Concepts, Inc.

[6] France R.B. (1992). Semantically Extended Dataflow [15] Gao Xiaolei and Miao Huaikou. (2008). The
Diagrams: A Formal Specification Tool, IEEE Axiomatic Semantics of PDFD. Proceedings of the
Transactions on Software Engineering, Vol 18, No. 4, 2008 Japan-China Joint Workshop on Frontier of
pp. 329-346, April 1992, DOI10.1109/32.129221 Computer Science and Technology, IEEE Computer
Society, pp. 139-146.
[7] Dixit, J. B. and Kumar, R. (2008). Structured System
Analysis and Design. Paperback ed. New Delhi, India: [16] Rosziati Ibrahim and Siow Yen Yen, (2010). An
Laxmi Publisher. Automatic Tool for Checking Consistency between
Data Flow Diagrams (DFDs), Proceedings of the
[8] Lee, P.T and Tan, K.P. (1992). Modelling of 2010 World Academic of Science and Technology
visualized data-flow diagrams using Petri Net Model. (WASET), Volume 69, pp. 615-619.
Software Engineering Journal, January 1992, pp. 4-
12.

69

You might also like