College Project: DFD Creator app



1. Introduction:

The demand for software is growing at an enormous rate. New softwares are in regular demand, either for a company or for PC users. To satisfy this need, the software engineers are regularly required to develop new softwares. This software aims to lessen the burden of the software engineers. It will help software developers by providing Computer Aided Software Engineering Tools, which will help them to develop the software products easily.

Overall Description:

The Data Flow Diagram (DFD) Creator software will provide a Graphical Interface for the development of DFDs (Data Flow Diagrams). Development of DFDs is the second phase in the life-cycle of software development and has very important role in the life-cycle. A better DFD provides a better picture of the design and hence the coding becomes easier, as well as more readable.

Environment Characteristics: 

Hardware: Any platform which support Java Virtual Machine.

Peripherals: A Printer, to get a hard copy (i.e. a printout) of the DFD(s).


Interface with Devices: The Printer is to be properly interfaced with the system (i.e. to the PC or to the Central Server).

Interface with the Users: The user will be provided with a GUI (Graphical User Interface), where he/she can draw Bubbles and Arrows and can Label them.

Read:Campus Placement Process, Interview Question and College Projects


2. Functional Requirements:

Functional Partitioning and Description

  • Draw Bubble: Draws Bubbles as the function symbol. The bubbles are annotated with the names of the corresponding functions.
  • Draw Data Stores: An open box is drawn representing data stores. The box is associated with a name, which corresponds to the item, represented by this data store open-box. A data store represents a logical file, a data structure or a physical file on disk.
  • Draw External Entity: Draws a rectangular box, used to represent an external entity, which directly or indirectly interacts with the software. The external entities are the physical entities which are external to the software and interact with the system by inputting data to the system or by consuming the data produced by the system.
  • Draw Data Arrows: Draws an arrow or a directed arc as a data flow symbol annotated with the corresponding data name. A data flow symbol represents the data flow occurring between bubbles or between an external entity and a bubble in the direction of the data flow arrow.
  • Draw Output symbol: Draws a rectangle with one corner cut. This box represents data production during human-computer interaction.
  • Remove a symbol: If using one of the above functionality, any one (or more than one) of the above has been drawn, then the selected symbol is removed, along with its label.

Function input: selected symbol

Function output: DFD, without the selected symbol and all corresponding data flow arrows, associated with the symbol.

Edit a symbol’s label: The label of the selected symbol is edited. i.e. the symbol is relabeled with the new label provided by the user.

Function input: selected symbol, new label

Function output: The symbol is relabeled to the new label

Move to the next level in the hierarchy: The DFD corresponding to the next level in the hierarchy of the selected symbol is displayed.

Function input: selected symbol

Function output: The DFD, corresponding to the next level in the hierarchy of the selected symbol, if it exists, otherwise a new panel is opened for creating the next level hierarchy corresponding to the selected symbol.

  • Move to the higher level in the hierarchy: The DFD corresponding to the previous i.e. next higher level in the hierarchy is displayed, if the previously displayed DFD was not the context diagram.Function input: none.Function output: The DFD corresponding to the next higher level in the hierarchy.
  • Determine Balancing Error: The current DFD is checked for balancing error (if any), i.e. it checks the data that flows into or out of a bubble matches the data flow at the next level of DFD.
  • Create Data Dictionary: Creates the data dictionary which lists all the data items appearing in the DFD, i.e. it lists all data flows and the contents of all data stores appearing on the DFD.

Function input: none.

Function output: The Data Dictionary, i.e. list of all data items appearing in the DFD, presented as a table, so that the user can add any comment corresponding to any data item in the data dictionary.

Print the Diagram: The DFD(s) is sent to a printer for printing it as a hard copy.

Function input: Print only the current page (DFD) or the entire project (i.e. all the DFDs).

Function output: A hard copy of the DFD(s).

Control Description:

The user can issue any one of the above functionality in any order. But the user must create a symbol before he/she chooses to issue a remove or edit symbol command.


3. Non-Functional Requirements:

  • The program is portable, as it is going to be written in java, which is portable to almost every platform.
  • This program is useful for the Software Developers, for the development of larger software(s).

Read: Electronic Voting Machine- C++ project for college students

” If you need the Java source code, Please mention your email id in the comment section, We will mail you the code along with the instruction to run it.”

Related Blogs