Unit - 4 Data Flow Diagram and System Prototype Design
Unit - 4 Data Flow Diagram and System Prototype Design
1
Payal Sheth
Unit-4 US03CBCA27
A data flow diagram shows the way information flows through a process or system. It includes
data inputs and outputs, data stores, and the various subprocesses the data moves through. DFDs
are built using standardized symbols and notation to describe various entities and their
relationships.
Data flow diagrams visually represent systems and processes that would be hard to describe in a
chunk of text. You can use these diagrams to map out an existing system and make it better or
to plan out a new system for implementation. Visualizing each element makes it easy to identify
inefficiencies and produce the best possible system.
Data flow diagrams are used by information technology professionals and systems analysts to
document and show users how data moves between different processes in a system. Analysts
generally start with an overall picture and then move on to the finer details of each process.
Data flow diagrams provide a graphical representation of how information moves between
processes in a system. Data flow diagrams follow a hierarchy; that is, a diagram may consist of
several layers, each unique to a specific process or data function.
Elements of DFD
All data flow diagrams include four main elements: entity, process, data store and data flow.
External Entity – Also known as actors, sources or sinks, and terminators, external entities
produce and consume data that flows between the entity and the system being diagrammed.
These data flows are the inputs and outputs of the DFD. Since they are external to the system
being analyzed, these entities are typically placed at the boundaries of the diagram. They can
represent another system or indicate a subsystem.
Process – An activity that changes or transforms data flows. Since they transform incoming data
to outgoing data, all processes must have inputs and outputs on a DFD. This symbol is given a
simple name based on its function, such as “Ship Order,” rather than being labeled “process” on
a diagram. In Gane-Sarson notation, a rectangular box is used and may be labeled with a
reference number, location of where in the system the process occurs and a short title that
describes its function. Processes are typically oriented from top to bottom and left to right on a
data flow diagram.
2
Payal Sheth
Unit-4 US03CBCA27
Data Store – A data store does not generate any operations but simply holds data for later access.
Data stores could consist of files held long term or a batch of documents stored briefly while they
wait to be processed. Input flows to a data store include information or operations that change
the stored data. Output flows would be data retrieved from the store.
Data Flow – Movement of data between external entities, processes and data stores is
represented with an arrow symbol, which indicates the direction of flow. This data could be
electronic, written or verbal. Input and output data flows are labeled based on the type of data
or its associated process or data store, and this name is written alongside the arrow.
Although all data-flow diagrams are composed of the same types of symbols, and the validation
rules are the same for all DFDs, there are three main types of data-flow diagram:
• Context diagrams — context diagram DFDs are diagrams that present an overview of the
system and its interaction with the rest of the “world”.
• Level 1 data-flow diagrams — Level 1 DFDs present a more detailed view of the system
than context diagrams, by showing the main sub-processes and stores of data that make
up the system as a whole.
• Level 2 (and lower) data-flow diagrams — a major advantage of the data-flow modelling
technique is that, through a technique called “levelling”, the detailed complexity of real-
world systems can be managed and modeled in a hierarchy of abstractions. Certain
elements of any data-flow diagram can be decomposed (“exploded”) into a more detailed
model a level lower in the hierarchy.
3
Payal Sheth
Unit-4 US03CBCA27
A data process transforms data values. Here flow of data is transformed. E.g. Verify credits,
updates inventory file.
2. External Entity
A source or destination of data which is external to the system. E.g supplier, customer etc.
3. Data store
A data store stores data passively for later access. A data store responds to requests to store
and access data. It does not generate any operations. A data store allows values to be
accessed in an order different from the order in which they were generated.
Input flows indicate information or operations that modify the stored data such as adding or
deleting elements or changing values. Output flows indicate information retrieved from the
store; this information can be an entire value or a component of a value.
4. Data flow
A data flow moves data between processes or between processes and data stores. As such,
it represents a data value at some point within a computation and an intermediate value
within a computation if the flow is internal to the diagram. This value is not changed.
The names of input and output flows can indicate their roles in the computation or the type
of the value they move. Data names are preferably nouns. The name of a typical piece of
data, the data aspect, is written alongside the arrow.
4
Payal Sheth
Unit-4 US03CBCA27
When creating data flow diagrams (DFD’s), there are certain rules which must be followed. These
rules allow for the DFD to be make sense and also to be easily understood. In this blog I will go
through the rules which must be followed and show practical examples of these rules.
All flows of data must be either coming from or going to a process. External entities cannot flow
directly to each other. A data flow cannot link a data store to an external entity. Data cannot
move between data stores without first being processed.
2. A Process must have at least one input flow and one output flow.
When a process has input flow but no output flow, it is called a “black hole”. When a process has
output flows but no input flows, it is called a “miracle”. A process must have at least one input
flow and one outflow flow.
A “grey hole” is when the outputs of a process are greater than the sum of its inputs. For example,
if a customer’s name and address is an input, their bank details cannot be an output, as the
process doesn’t have enough information to produce it.
5
Payal Sheth
Unit-4 US03CBCA27
When naming data flows, adjectives should be used which show how processing has changed the
data flow.
The flows of data cannot cross each other. To overcome this problem, data stores and entities
can be duplicated. However, processes cannot be duplicated. Data flows must be unidirectional.
6
Payal Sheth
Unit-4 US03CBCA27
Data flow names include the implementation Data flow names describe the data they
facts as names, numbers, media, timing etc. contain. They do not refer to the form or
document on which they reside.
Process names include the name of the Process names describe the work done
processor i.e. person, department, computer without referring to e.g. Account Receivable,
system etc. Order processing etc.
Data Stores identify their computer and Physical location of data stores is irrelevant.
manual implementation. Many times, the same data store may be
shared by subsystems and processes.
This is more realistic and implementation As the name suggests, this is more logical in
oriented. The PDFD are more detailed in format. This is more abstract than PDFD and
nature. less dependent on implementation steps.
Merits of DFD
o It aids in describing the boundaries of the system.
o It is beneficial for communicating existing system knowledge to the users.
o A straightforward graphical technique which is easy to recognize.
o DFDs can provide a detailed representation of system components.
o It is used as the part of system documentation file.
o DFDs are easier to understand by technical and nontechnical audiences
o It supports the logic behind the data flow within the system.
Demerits of DFD
o It makes the programmers little confusing concerning the system.
o The biggest drawback of the DFD is that it simply takes a long time to create, so long that
the analyst may not receive support from management to complete it.
o Physical considerations are left out.
7
Payal Sheth
Unit-4 US03CBCA27
Prototype
• The term prototype refers to a working model of an information system application.
• The prototype does not contain all the features or perform all the necessary functions of
the final system.
• Rather, it includes sufficient elements to enable individuals to use the proposed system
to determine what they like and don’t like and to identify features to be added or
changed.
Characteristics
1. The prototype is a live, working application
2. The purpose of prototyping is to test out assumptions made by analysts and users
about required system features
3. Prototypes are created quickly
4. Prototypes evolve through an iterative process
5. Prototypes are relatively inexpensive to build
8
Payal Sheth
Unit-4 US03CBCA27
3. High Cost
The investment of financial resources, human effort, and time required to bring an
application into existence is substantial. Other projects also complete for the same
resources.
Example: A city-wide online teller system will be installed in over one hundred
branch offices by a large metropolitan bank. The costly system will be designed to
provide for the instantaneous capture of information and updating of a central
database.
4. High Risk
Inaccurate evaluation of system requirements or incorrect development of an application
places an organization, its employees, or its resources in jeopardy.
Example: A manufacturing floor control system will be designed to move materials
in inventory from the company’s warehouse through the production process. The
organization wishes to keep a minimum inventory on hand and yet not experience
delay in the manufacturing process. A delay in any area, caused by error or
insufficient materials, could cause a shutdown of the entire production process.
Unplanned shutdowns damage material, destroy production schedules, and lead
to the risk of losing those customers whose orders are not filled on time.
5. New Technology
A desire to install new technology, whether in the computer field, data communications,
or other related areas, will open a new frontier for the organization. Many firms have no
experience in using certain technology and neither do other organizations with whom
they communicate.
Example: A company wishes to develop a system permitting voice entry of
customer orders: staff personnel will repeat order details aloud at a voice input
unit, rather than keying the data for processing.
9
Payal Sheth
Unit-4 US03CBCA27
Repeat as
Needed
Abandon
Application
Implement
Application
Redevelop
Application
Begin New
Steps in prototype development method Prototype
10
Payal Sheth
Unit-4 US03CBCA27
11
Payal Sheth
Unit-4 US03CBCA27
Merits of Prototypes
1. Reduced time and costs
Prototyping improves the quality of the specifications and requirements provided
to customers. With prototyping, customers can anticipate higher costs, needed
changes and potential project hurdles, and most importantly, potential end result
disasters. Strong prototyping can ensure product quality and savings for years to
come.
2. Improved and increased user involvement
Most customer want to feel like they are involved with the intricate details of their
project. Prototyping requires user involvement and enables them to see and
interact with a working model of their project. With prototypes, customers can
give their immediate feedback, request project changes and alter model
specifications. Prototyping most importantly helps eliminate misunderstandings
and miscommunications during the development process.
3. Reduced time and costs
Nothing makes customers happier than projects that come in under budget.
Prototyping improves the quality of requirements and specifications provided to
customers. Needed changes detected later in development cost exponentially
more to implement. With prototyping, you can determine early what the end user
wants with faster and less expensive software.
13
Payal Sheth
Unit-4 US03CBCA27
Demerits of Prototypes
1. Insufficient analysis
A focus on a limited prototype can distract developers from properly analyzing the
complete project. The potential end result: A potential overlooking of better
solutions, incomplete specifications or the conversion of limited prototypes into
poorly engineered and developed final projects that are hard to maintain.
2. User confusion
The worst-case scenario of any prototype is customers mistaking it for the finished
project. Customers seeing a rough prototype may not understand it merely needs
to be finished or polished. Also, customers can wrongly perceive the prototype to
accurately model the performance of the final system. Customers may also grow
fond of prototype features that are not part of the final system.
3. Developer misunderstanding of user objectives
For every project to be successful, developers and customers must be on the same
page and share the same project objectives. If customers require all proposed
features of a prototype be included in the final product, this can lead to team and
mission conflicts.
4. Excessive Development Time
Remember, prototypes are by nature designed to be developed quickly. If a
developer spends too much time developing a complex prototype, the project can
run into roadblocks (especially if there are disagreements over prototype details)
and run over both time and cost budgets.
14
Payal Sheth