Lab No. 04 Title: Developing Data Flow Diagram (DFD) Model of A Project

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Department of

Computer Science and Engineering

Lab No. 04
Title: Developing Data Flow Diagram (DFD)
Model of a Project

Software Engineering Lab


CSE 314

Green University of Bangladesh


1 Objective(s)
• To explain the purpose of data-flow diagrams.
• To describe the meaning of the symbols used in data-flow diagrams.
• To construct simple data-flow diagrams from a textual description.

2 Problem Analysis
2.1 What is a Data Flow Diagram (DFD)?
Data flow diagram is graphical representation of flow of data in an information system. It is capable of depicting
incoming data flow, outgoing data flow and stored data. The DFD does not mention anything about how data
flows through the system. It is a traditional visual representation of the information flows within a system. A
neat and clear DFD can depict the right amount of the system requirement graphically. It shows how data
enters and leaves the system, what changes the information, and where data is stored.
There is a prominent difference between DFD and Flowchart. The flowchart depicts flow of control in
program modules. DFDs depict flow of data in the system at various levels. DFD does not contain any control
or branch elements.

3 Methodology
3.1 Components of DFD (Symbols and Notations)
DFD can represent Source, destination, storage and flow of data using the following set of components -
• External Entity: External entities are source and destination of information data. These entities are
represented by a rectangles with their respective names. They are also known as terminators, sources and
sinks or actors. They are typically drawn on the edges of the diagram.
• Process: Process represents activities and action taken on the data are represented by circle or round-
edged rectangles. any process that changes the data, producing an output. It might perform computations,
or sort data based on logic, or direct the data flow based on business rules.
• Data Store: Data store represents files or repositories that hold information for later use, such as a
database table or a membership form.There are two variants of data storage - it can either be represented
as a rectangle with absence of both smaller sides or as an open-sided rectangle with only one side missing.

• Data Flow: Data flow represents the route that data takes between the external entities, processes and
data stores. Movement of data is shown by pointed arrows. Data movement is shown from the base of
arrow as its source towards head of the arrow as destination.
There are two common systems of symbols to represent different components of DFDs. One is Gane and
Sarson, and another is Yourdon and Coad. Both of the systems of symbols are represented in Fig. 1.

3.2 Levels of DFD


The DFD may be used to perform a system or software at any level of abstraction. Infact, DFDs may be
partitioned into levels that represent increasing information flow and functional detail. Levels in DFD are
numbered 0, 1, 2 or beyond. Here, we will see primarily three levels in the data flow diagram, which are: 0-level
DFD, 1-level DFD, and 2-level DFD.

• Level 0: Highest abstraction level DFD is known as Level 0 DFD, which depicts the entire information
system as one diagram concealing all the underlying details. It is also known as fundamental system
model, or context diagram represents the entire software requirement as a single bubble with input and
output data denoted by incoming and outgoing arrows. An example of Level 0 DFD of ATM (Automated
Teller Machine) System is shown in Fig. 2.

© Dept. of Computer Science and Engineering, GUB


Figure 1: DFD Components with Different Notations

• Level 1: In Level 1 DFD, a context diagram is decomposed into multiple bubbles/processes. In this level,
we highlight the main objectives of the system and breakdown the high-level process of 0-level DFD into
subprocesses. An example of Level 0 DFD of ATM (Automated Teller Machine) System is shown in Fig.
3.
• Level 2: At this level, DFD shows how data flows inside the modules mentioned in Level 1. Higher level
DFDs can be transformed into more specific lower level DFDs with deeper level of understanding unless
the desired level of specification is achieved. An example of Level 0 DFD of ATM (Automated Teller
Machine) System is shown in Fig. 4.

3.3 DFD Rules and Tips


One of the rule for developing DFD is that all flow must begin with and end at a processing step. This is quite
logical, because data can’t transform on its own with being process. By using the thumb rule, it is quite easily
to identify the illegal data flows and correct them in a DFD.
• Each process should have at least one input and an output.
• Each data store should have at least one data flow in and one data flow out.
• Data stored in a system must go through a process.
• All processes in a DFD go to another process or a data store.
• An entity cannot provide data to another entity without some processing occurred.
• Data cannot move directly from an entity to a data story without being processed.
• Data cannot move directly from a data store without being processed.
• Data cannot move directly from one data store to another without being processed.

© Dept. of Computer Science and Engineering, GUB


4 Implementation
The implementation of Level 0, Level 1 and Level 2 DFD is implemented in Fig. 2, Fig. 3 and Fig. 4 respectively
for a Banking ATM (Automated Teller Machine) System.

Transaction Details

1
ATM
User Info ATM User
Machine
System

Confirmation Details

Figure 2: Level 0 DFD of ATM System

Customer Info Customer


Database

Display Customer Info


1.1 Transaction Details 1.2
Manage Manage
Customer Transaction
Information Information
Confirmation

Customer Info Customers

Update
Cash and Receipts Transaction Details

1.3
Release Cash Confirmed Transaction Transaction
and Receipts Database

Figure 4: Level 2 DFD of ATM System

5 Procedures
5.1 DFD Making Tool
You can create your own DFD online with Lucidchart. Use our DFD examples and specialized notations to
visually represent the flow of data through your system. Our data flow diagram maker is simple, yet powerful.
Get started with a template, and then use our shapes to customize your processes, data stores, data flows and
external entities.
To create DFD in Lucidchart, you may follow the following steps.

© Dept. of Computer Science and Engineering, GUB


1.1 1.2
Manage Transaction Info Manage
Display Customer Info
Customer Transaction
Information Information

Customer Info Customers Confirmation Details

1.3
Release
Cash and Receipts Confimation Details
Cash and
Receipts

Display cash info Request Cash Info

1
ATM
Request Customer Info Request Transection Info
Display Customer Info Machine Dispaly Transection Info
System

Figure 3: Level 1 DFD of ATM System

• Step-1 First go to https://www.lucidchart.com/. Then, complete your registration with your email
address and login to Lucidchart. After that you will be able to create your DFD using lucid chart online
tools (Shown in Fig.5).
Data flow diagrams allow you to take any flow of information for a process or system and condense it
into a coherent, easily understood visual. Using standardized circles, arrows, and text labels, you can
map out entire processes and systems for even the most non-technical employee to understand. With
customizable templates, well-stocked DFD shape libraries, and easy-to-use formatting tools, our data flow
diagram software gives you the tools you need to create a simple, complex, or even multi-layered DFD
online.
• Step-2 Lucidchart makes it easier than ever to get started on your data flow diagram, whether you’re
starting from scratch or customizing one of our many DFD templates. Our DFD shape libraries (Shown in
Fig. 6) contain standard symbols for both Gane-Sarson and Yourdon-Coad methodologies, allowing you
to create clear and consistent data flow diagrams online in minutes. Once your diagram is constructed, use
our intuitive formatting tools to ensure that your DFD is easily interpreted, regardless of its complexity.

6 Lab Exercise (Submit as a Lab Report)


• Draw the DFD of Library Management System.

© Dept. of Computer Science and Engineering, GUB


Figure 5: User Interface of Lucidchart

Figure 6: DFD Shapes Library of Lucidchart

6.1 Problem analysis


A library database system is an infrastructure that allows users to search books and book content, add/remove,
and download selected books. The problem faced is that library users require an efficient method to find
a specific book or keyword(s) within a book given a continuously expanding library. Some scenarios of the
‘Library Management System’ are as follows:
1. User who registers himself as a new user initially is regarded as staff or student for the library system. (i)
For the user to get registered as a new user, registration forms are available that is needed to be fulfilled
by the user. (ii) After registration, a library card is issued to the user by the librarian. On the library
card, an ID is assigned to cardholder or user.
2. After getting the library card, a new book is requested by the user as per there requirement.
3. After, requesting, the desired book or the requested book is reserved by the user that means no other user
can request for that book.
4. Now, the user can renew a book that means the user can get a new due date for the desired book if the
user has renewed them.
5. If the user somehow forgets to return the book before the due date, then the user pays fine. Or if the user
forgets to renew the book till the due date, then the book will be overdue and the user pays fine.

© Dept. of Computer Science and Engineering, GUB


6. User can fill the feedback form available if they want to.

7. Librarian has a key role in this system. Librarian adds the records in the library database about each
student or user every time issuing the book or returning the book, or paying fine.
8. Librarian also deletes the record of a particular student if the student leaves the college or passed out
from the college. If the book no longer exists in the library, then the record of the particular book is also
deleted.

9. Updating database is the important role of Librarian.

7 Policy
Copying from internet, classmate, seniors, or from any other source is strongly prohibited. 100% marks will be
deducted if any such copying is detected.

© Dept. of Computer Science and Engineering, GUB

You might also like