Professional Documents
Culture Documents
Comparative Study DFD and Use Case
Comparative Study DFD and Use Case
In the object-oriented approach, the focus is on capturing the structure and behavior
of information systems into small modules that combines both data and process. The
main aim of Object Oriented Design (OOD) is to improve the quality and productivity
of system analysis and design by making it more usable. In this paper, we compared
the differences about Data Flow Diagram and Use Case Diagram in order to view their
concept of both diagrams and find out the advantages and disadvantages. As a result
both diagrams have their own strength and weakness depending on the situation
needed such as use case are a powerful technique for capturing and communicating
functional requirement for software development whilst DFD is powerful tools through
system analysis and design process and if the system has complex functions but
Nowadays, most organization used different kinds of systems design in analysing and
designing information for any process and system such as based on process models,
data models or object-oriented model. Therefore, the needs of using Data Flow
Diagram (DFD) become most popular compare to other diagram such as Entity
Relationship Diagram (ERD), structure chart, state machine is less used [1]. DFD is
part of the structured-analysis modelling tools. System analysts use DFD as a tool for
modelling and analyzing the processes in the system based on behaviour and actions.
It would be helping an analysts to visualize the data processes since data enter to the
system, and then they are used by the system until they are returned to the
environment. System Analysts also use DFDs to study alternative information handling
procedures during the process of designing new information services. In addition, Data
Flow Diagrams can be used for comparing the new system and the old system which
is non object oriented and Object-oriented. With this comparison, system analysts can
find the gap between two systems and the effectiveness of the improved system.
DFD’s are having certain advantages compare to other diagram. The hierarchy
structure of DFD provides different abstraction level which is very useful in system
designing [2]
Thus, in object oriented (O-O) approach, which use case diagram on the
easiest way is a representation of the user's interaction with a system that shows the
relationship between the user and different use cases where the affected users . In
the other word its combine both processes and data to improve the quality and
In the analysis phase, model O-O used to fill the gap between problem and
solution. It is often also in a situation where the system will undergo continuous design,
acceptance and maintenance. They identify objects in the domain problem, classifying
Unified Modelling Language (UML) is the most important tool for model OO and
model creation. There are basic characteristics of Object Oriented Systems such as
The history of Data Flow Diagram (DFD) formerly was used in operations
research for workflow model in the organization. DFD who first proposed by Edward
Yourdon, Larry Constantine, Tom DeMarco, Chris Gane and Trish Sarson.[5]
DFDs became popular in the late 1970’s and has maintained its use extensively
with easy to understand. Visually display how work processes or system that can hold
people's attention and explain complex concepts better than text block can be, so that
DFDs can help almost anyone who understand a system or process logic and
functionality. DFDs is useful to document the flow of key data or to explore new design
There are two types of DFDs such as logical and physical. Logical diagrams
display the theoretical process of moving information through a system, like where the
data comes from, where it goes, how it changes, and where it ends up. Physical
diagrams shows the practical process of moving information through a system, like
how your system’s specific software, hardware, files, employees, and customers
DFD is widely used for structured software analysis and design. It is also
activities/processes of the target system; (4) allowing for behaviors of parallel and
processes.[8 ]
system [9] .It is one of the most commonly used systems-modeling tools, particularly
in the operational system in which functions of the system are the most important and
more complex than the data that the system manipulates. Rather than showing the
strict order of execution of steps, it shows how processes depend on one another for
information. It shows data flow from external into the system and shows how the data
A Data flow diagram presents a system of symbols to describe the data flow
and the mechanism of decomposition to explain detail about a system at all levels.
or procedure modeling method [11]. Data flow diagram showing the process, store
data and external entities in commerce or other system and data flow connected [12].
There are only four symbols for a data flow diagram: 1) Squares or Ovals, 2) Circle or
Gene Sarson are two major methods used in DFDs notations, and both use and tags
to represent the four major elements in the DFD-external entities, processes, data
Square / oval
outside the control of the system being modeled. It also explain where the information
Circle / Rectangle
shows a part of the system that transforms inputs into outputs. The name of the
process in the symbols usually explains what the process does so that it is generally
used with verb-object phase. In some cases, however, the process may contain the
name of the person or group of people, or a mechanical device. So, it sometimes tells
us who or what is carrying out the process, rather than describing what the process is.
Arrow
Arrows represent the data flows. It can be either be electronic data or physical
items or both. The name of the arrows represents the meaning of the packet (data or
items) that flow along. In addition, like Arrows in flow charts, Arrows in data flow
diagrams show direction to indicate whether data or items are moving out or into a
process.
Open-ended rectangles
and physical stores. Data stores is repositories of data in the systems. It may be used
oriented (OO) software development community many years ago. Use case diagram
was introduced by Ivar Jacobson in 1986 [14]. By the mid-1990s, use case modeling
was formalized as part of the Unified Modeling Language (UML) specification, which
Group (OMG). The UML is the OMG’s most-used specification and the defacto
standard for modeling application structure, behaviour, and architecture within the OO
paradigm of software development. Use case diagrams are one of the twelve type of
diagrams defined within the UML specification, Class Diagram, sequence diagram,
and activity diagrams are some of the other well-known UML diagrams [15].
Use case diagram aims to capture the dynamic aspects of the system. It is
used to collect system requirements including internal and external influences. This
requirement is very important to the system analyst because they must know what the
system must do or what features it should have. Requirements grow from detailed
statements of the technical way the capabilities will be implemented in the new system.
The value of use cases is in the technique of writing the textual description, the basic
In the Unified Modeling Language (UML), a use case diagram is a sub class of
behavioural diagrams [16]. The purpose of UML use case diagram are to 1)
very simple. It shows how a system interacts with the external entities. So, it is
relatively sparse about the details of how the system behaves internally and how the
about Use Case Diagram as follows 1) use to gather the requirement of a system 2)
use to get an outside view of a system 3) Identify the external factors influencing the
system 4) Show the interaction among the requirement are actors ( Tutorial )
There are 4 major symbols in the use case diagrams: use cases, actors,
associations and system boundary. Therefore, there are more symbols about use
Use Case
Use case is represented as an eclipse with a name inside it. It may contain
Actor
An actor can be defined as some internal or external entity that interacts with
the system. An actor is used in a use case diagram to describe the internal or external
entities.
Figure 3 : Actor
Association relationship
case. Basically it is represented by lines connecting between use cases and actors
with an optional arrowhead on one end of the line. It describes links an actor with the
. .
Figure 4 : Association relationship
System Boundary
System boundary is the rectangle around the use cases. Everything within this
boundary is the functionality in scope of the system. System analysts and designers
must remember that interaction among actors is not shown in the use case diagrams.
Thus, the system boundary should re-examine if the interaction between actors is
formed based on the role we set. So, the different actors may actually be the same
person.
System Boundary
Generalization Relationship
with a hollow arrow head as shown in the following figure. One end represents the
parent element and the other end represents the child element. Generalization is used
another.In other words describe relationship between two use cases that are used to
show that the behavior of use case is inserted into behaviours, including use case .
The include relationship could be used: 1) to simplify large use case by splitting it into
several use cases, 2) to extract common parts of the behaviors of two or more use
cases. Include relationship between use cases is shown by a dashed arrow with an
open arrowhead from the including (base) use case to the included (common part) use
«include»
An extend relationship
Extend is a directed relationship that specifies how and when the behavior
defined in usually supplementary (optional) extending use case can be inserted into
The extension takes place at one or more extension points defined in the
extended use case. Extend relationship is shown as a line with an open arrowhead
directed from the extending use case to the extended (base) use case. The arrow is
«extend».
Atif A. A. Jilani, et al [2] present a survey of the existing Data Flow Diagram
on identified parameters, then they present an analysis matrix, which describes the
the transformation approaches are rule based, which are incomplete and defined at
From comparison between DFD and UML, It is also observed from the literature review
Ido Millet, Robert Nelson [17] studied about Data Flow Diagrams versus Use
Cases – Student Perceptions found that they recently used both methodologies in
and use. Students believe that data flow diagrams are better at communicating with
Arwa [18] studied about the comparative study between data flow diagram and
use case diagram and found that both diagram have their own strength and weakness.
As a result conclude that DFD still powerful tools but difficult to understand because
there are many level or sub function whilst use case can be used as a first draft
subjects were randomly divided into two groups. One group was trained for five hours
on the data flow diagram (DFD) method, while the other group was trained for five
hours on an object-oriented analysis method. The subjects were then presented with
significantly less time on their analyses of the problem and created solutions that were
significantly more accurate. After completing the analysis, the subjects responded to
group reported that the OOA method was easier to learn and understand. The OOA
method was also rated superior overall. This study confirms the results of several
previously cited studies: OOA produces higher quality models more quickly than
procedural analysis.
3. METHODOLOGY RESEARCH
This paper is more about comparative study about DFD and UCD. The main
objectives of this study focuses on the comparison between DFD and UCD. So, the
target for this research to the people such as System Analyst And Design, developers,
businesses, architect etc. to understand and find out the detailed differences between
of them. Table 1 and 2 shows DFD and UCD syntax, while table 3 show the other
From the explanation and the literation review was given about DFD and UCD
.Both of diagram are functional systems that interacted between user and system.
However here want to make discussion only for both diagram in order to know whether
both diagram has its own advantages, disadvantages and similarities or differences of
each other. From the studied, both diagrams have the main similarity such as identify
processes in the system working with this information/data. It helps in identifying any
business processes or existing business processes, while use case is concerned with
For DFDs, there are many advantages and they provide a very important tool
for software engineering. DFD aids in describing the boundaries of the system. It is
beneficial for communicating existing system knowledge to the users. Because they a
documentation file. It also supports the logic behind the data flow within the system
detailed diagrams, provides an overall view of the complete system, as well as a more
Use cases provide some very clear benefits to the analysis phase. One
important benefit of use case driven analysis is that it helps manage complexity, then
it emphases on one specific usage aspect at a time. Use cases start from the very
simple viewpoint that a system is built first and foremost for its users [19]. Another
benefit of use cases is that they provide basic foundation for the requirements
document, user manual and test cases. Use cases also encourage designers to
predict outcomes before attempting to specify outcomes, and thereby they help to
make requirements more proactive in system development As a user orientation, use
cases help ensure that the correct system is developed by capturing the requirements
from the user's point of view. Use cases are a powerful technique for the elicitation
and documentation of black box functional requirements. Because they are written in
natural language, use cases are easy to understand and provide an excellent way for
Additionally, use case using tools like CASE to enable the system analyst to
help manage large projects with the help of interacting diagrams that match the
requirement of users. Use case naturally involve the collaboration of multiple objects
and classes, use cases help provide the rational for the messages that glue the objects
and classes together. Use cases also provide an alternative to the overemphasis of
5. CONCLUSION
It consists of data flows, processes, sources, destinations and stores. Data Flow
Diagram does not show the strict order of execution steps but it shows how processes
depend upon one another for information. Use Case Diagram shows some of the use
cases in your system, some of the actors in your system, and the relationships
between them. It shows what we want our system to do, but it does not explain the
Analyst must realize that to effectively analysis the systems, they need to understand
the main information they got from each diagramming tool. One diagramming tool may
not enough for analyzing the system and they may require using various diagrams.
Also, it is important to remember that diagrams are documentations. It is a means of
both senders and receivers.[20] What diagrams need to be develop depend on the
kind of system you are developing. For example, if the system you are analyzing has
complex functions but relatively trivial data structures, Data Flow Diagram will be the
best tool. However, in many cases of the real systems, they are required that system
6. REFERENCES
[1]
[2] Atif A. A. Jilani , Muhammad Usman, Aamer Nadeem, Zafar I. Malik , Zahid
Halim(2011), Comparative Study on DFD to UML Diagrams Transformations,
World of Computer Science and Information Technology Journal(WCSIT) Vol.
1, No.1,10-16, 2011.
[4] Dennis, Wixom, Tegarden ( 2015 ) System Analyst and Design : An Object-
Oriented Approach with UML Fifth Edition, USA: Wiley
[5} Yourdon, Edward (1975). "Structured programming and structured design as art
forms". Proceedings of the May 19–22, 1975, National Computer Conference
and Exposition on - AFIPS '75: 277. doi:10.1145/1499949.1499997.
[6] Craig., Larman (2012). Applying UML and patterns : an introduction to object-
oriented analysis and design and iterative development (3rd ed.). New Delhi:
Pearson
[11]
[15] Elenburg, D. (2005). Use Cases: Background, Best Practices, and Benefits. An
MKS White Paper.
[17] Millet & Nelson (2007 ). Data Flow Diagrams vs. Use Cases – Student
Perceptions, International Journal of Information and Communication
Technology Education , Volume 3, Issue 1
[19} Lee, Jonathan and Nien-Lin Xue. Analyzing User Requirements by Use Cases:
A Goal-Driven Approach. IEEE Software. v.16 n.4 July/August 1999. p92-100
7. APPENDIX
ADVANTAGES
It aids in describing the boundaries Use case help to capture the functional
of the system. requirements of a system.
It is beneficial for communicating Use cases are traceable.
existing system knowledge to the Use cases can serve as the basis for the
users. estimating, scheduling, and validating
A straightforward graphical effort.
technique which is easy to Use case can evolve at each iteration from a
recognise. method of capturing requirements, to
DFDs can provide a detailed development guidelines to programmers, to
representation of system a test case and finally into user
components. documentation.
It is used as the part of system Use case alternative paths capture
documentation file. additional behavior that can improve
DFDs are easier to understand by system robustness.
technical and nontechnical Use cases have proved to be easily
audiences understandable by business users, and so
It supports the logic behind the have proven an excellent bridge between
data flow within the system. software developers and end users
Table 3 : Comparison on Advantages and Disadvantages
DISADVANTAGES
DataNotation
Flow Diagram Function Use Case Diagram Symbol
It make the programmers little They do not capture the non-functional
confusing concerning the system. requirements easily.
Actor Person or of
The biggest drawback a group
the DFDof people
is outside
There might be a learning curve for the
that it simplythe system
takes a long time to developer and/or specially, the client in
Use case create, so long that the analyst
Fuction of the system using these use cases.
may not receive support from
management to complete it.
Physical considerations
Association Link an actorarewith
leftthe use case
out.
relationship
DFD partitions system into a set of
hierarchical functions which can
not be seamlessly
System boundary implemented
Includes the names of as the system insde
objects in object oriented
or on top
languages Represent the scope of the system
Generalization/ Represent a specialized use case Patient
Inheritance
Old New
An Include Represent the inclusion of the «include»
relationship functionality of one use case within
another
An extend Represent the extension of the use «extend».
relationship case to include optional behavior
.