Data Flow Diagrams DFD Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The important aim of the design phase is to plot a resolution for a particular problem specified by the requirement document. Normally, this phase is regarded as the primary step for relocating the issue from problem domain to the solution domain. This stage is considered as the primary step for moving from one stage to the next stage. Maybe, the design of a system is the most important factor influencing the quality of the software and has a huge blow on the forthcoming stages especially testing and maintenance. The output of this phase is the design document. This is equal to a design plan for the solution and it is used later in implementation, testing and maintenance.

The design activity is frequently categorized into two separate phases, System design and the detailed design. System design is also called as top-level design and it aims at recognizing the modules that must be in the system, i.e. the specifications of these modules and the process how they interrelate with each other in order to generate the estimated outcomes. Hence, this system design will present the complete information about the specifications and important modules of the system.

The system design for this project is explained in the following diagrams. In this project, DFDs, Class diagrams, sequence diagrams, Use case diagrams are explained here. The major modules of the system have been presented in the system design.

4.2 The following are the diagrams used in the project:

Data Flow diagrams (DFD):

Data flow diagrams are used to show the flow of the data from the external entities into the system and to show how the data is moved from process to another process. Thus, it is used to represent the logical storage also.

(Scott W.Ambler) (Gane et al (1979))





This is the dataflow diagram to represent the flow of data in the application. In the above diagram, the data is being transferred from the client, in which the router acts as intermediary transferring the information to the server in order to view the information. Here, a routing table is generated from all the routers included (Say Router1, router2……router5) with information to transfer to the destination. Hence, the server displays the message to the client about the message.

A simulator is utilized to monitor the status of the transmission of the data from the source node to destination node. Here, Simulator is an experimental arrangement or set up for monitoring the data i.e. being transferred.

Use Case Diagram:

The use case diagrams provide an excellent mode of communication in which the system performs when it is completed. These will be used to exhibit the different actions where the users can perform on the system. Hence, they represent the dynamic aspects of the system. This also offers a user's perspective of the system finally. (Raj)

Use case diagram-1:

This is the use case diagram to represent the actor and use-cases in our application here client is the actor the routers and simulator.

Here Client acts as the actor and the actions or use cases are routers and simulators.

Use case diagram-2:

This is the use case diagram to represent the actor and use cases in our application here Server is the actor and the actions are the routers and simulator.

Sequence Diagram:

The sequence diagrams are used to define the way how groups of objects work together in accomplishing the system about the system performance. This relationship tells about the in depth execution of a single use case, hence, sequence diagrams are not utilized for exhibiting the performance within the object. (Lee Copeland)

This is the Sequence diagram to represent the sequence of working of the application. In the above sequence diagram, the following sequence of actions is completed.

Initially, the client sends the data to server via routers

The data that is being received by routers is sent to the server

And a server sends a message to client regarding the data being sent

Finally, the simulator monitors the status of the data flow in the network

As these activities are going on one after the other, sequence diagrams are the exact choice to explain them.

Class Diagrams:

Class Diagrams are used to offer an overview about the target system by means of defining the objects and classes inside the system and the associations among them. It also offers a wide variety of usages i.e. from modeling the domain specific data structure to detailed design of the target system. Hence, with the aid of the share model, one can reuse one's class model in the interaction diagram for modeling the detailed design of the dynamic behavior. Hence, this diagram facilitates to produce diagram automatically with user defined scope.

This is the class diagram to represent the classes used in our application.

In the above class diagram, the classes have been explained. The classes such as Client _frame, AES algorithm, Server frame, simulator and the routers are used in the project.

The class Client _frame transfers the data in encrypted format with the help of the AES algorithm. The AES algorithm is the efficient method among all the existing algorithms. Hence, this algorithm is used in this project.

The server frame class is used to view the information that is being sent and a message is displayed by the server informing the client. Further, simulator class is used to monitor the information that is being sent in the network.

Router classes are used to intermediary for transferring the information. Router1, Router2…….Router5 are used to transfer the data. In depth information about the modules of the project are explained in the next chapters.

Chapter -5: System Analysis

5.1 System Analysis:

System analysis is a progression of accumulating realistic data, considering the processes concerned, recognizing problems as well as suggesting viable implication for enhancing the functionalities of the system. The system analysis involves a in depth study of the business processes, congregation functional information, comprehending the flow of information, exploration of blockage along with embryonic solution for conquering the limitations of the proposed system in order to accomplish the aim of the organization. System analysis also incorporates isolating the complicated processes involved in the complete system, recognition of data store as well as manual procedures.

Objective of system analysis:

The main motive of system analysis process is to explore the counter of the business processes required for the successful accomplishment of the system. The system analysis involves the questions like what is the requirement, how to fulfill it, what efforts will required for the accomplishment, when to complete etc. System analysis is a progression of evaluating the efficiency of proposed system with the accessible system. System analysis engrosses broad research of the existing system along with the operationality as well as specification of projected scheme. This segment of the project endow with wide-ranging information regarding the processes performed by the anticipated system with the interior and exterior relationship of the processes in the system. The system analyses consider the following aspects:

The problem with the existing system and the new requirement for the new system.

Defining new modules to eliminate the limitation of the existing system and enhancing the positive features of the existing system in the new system.

In the system analysis process the entire processes, constraints and requirement should be analyzed carefully in the system analysis. The main aims behind system analysis are as follows:

To provide a comprehensive specification about the proposed system and focus on the arrangement and design of the system.

To provide a well-designed hierarchy of proposed system this facilitates details of the functions and their relationship with each other.

To facilitate the need and efficiency of the proposed system over existing system.

To analyze the feasibility of the new project and also its effectiveness after implementation.

The system analysis provides complete description of the project and also a proportional view about the existing and proposed system. This reflects the functionality and efficiency of the project.

[BUTLER, D. D., FAFRBROTHER, E. M., and GATTO, O. T., (1964)]

The system analysis consist the outline of the proposed system and also describes the methods and modules of the proposed system which are included to eliminate the limitation of the existing system. This method basically provides the overall description of the new system and also the values as well as feasibility of it which reflect the clear image of the proposed system. [Canning, 1966]

The analysis of database merging project analyzes all the issues of the existing system and also describes the approaches as well as methods to eliminate those issues. System analysis is basically carried out to develop an enhanced and cost effective project in order to maintain the efficiency of the project.

5.2 Existing System:

There are lots of different routing algorithms introduced in order to circumvent or alleviate threats available in the network. These algorithms are intended for providing security to the information transmitting from source to destination. The main routing algorithms available are SDAR, AnonDSR and MASK which is very useful to provide security; basically these algorithms operate for higher end cell phone gadgets although these algorithms also includes the Rreq overhead process is in order to work for lower end cell phone gadgets.

5.3 Proposed System:

The proposed system is a routing protocol namely ANDOR. This system is exclusively on- demand routing system that sets of connections of different routers which are arranged as required in real time. This routing algorithm is basically introduced to manage the possibility of the attacks, threats and exploration of the traffic to the time- critical on- demand window. ANODR routing algorithm is the first identity- free ad hoc routing system. This is a new concept in the routing algorithm which makes it different from the previous ad hoc routing method founded on identity of the nodules such as IP addresses as well as MAC addresses. ANODR based on one- time cryptographic trapdoor rather than with nodule identity in routing. This system facilitates the effective features and overcomes the Rreq overhead in the mobile gadgets. In this system the route request is transmitted over the network and the one time trapdoor perception is followed so that the destination of the transmitted information can unwrap it. The route reply (Rrep) is unicasted in response to the route request (Rreq) which is encrypted with a symmetric key launched with the communicating node. Therefore the trapdoor can be considered as an assurance among the source and destination (end to end) transmission. In order to provide enhanced security the information is transmitted in several different formats so that it is difficult to hack original data.

5.4 Reason behind the Development:

The main reason behind the development of this project is to provide enhanced security to the information transmitted in the wireless network. The ANDOR is an ad hoc routing algorithm is an identity free method which prevents the data packet from attacks and threats. The limitation of the existing system which works on the basis of identities of the nodes creates the requirement of a routing algorithm which do not relies on the node identities. This algorithm do not uses the concept of node identities because it restricts the attacks which occur by the means of identity invasion. This system overcomes the Rreq overheading of the lower end cell phone gadgets as well as enhances the effectiveness of the routing protocol.

5.5 Modules of ANODR:

Route Discovery:

Forwarding (Rreq):

AES key generation:

Unicasting the Route reply in the downstream (Rrep)

Data Transferring:

Socket data transfer:

I/O Streams:

Route Maintenance:

Retransmitting the data:

Route Rediscovery:

5.6 Comparison:

The proposed system can be compared with the existing system on the basis of the performance and security. Security is the main aspect that affects the performance of the routing protocol. The below mentioned comparison is based on the significance of the performance and ambiguity security that affects the mobile ad hoc routing.

The below mentioned comparison is on the basis of the performance that affects the mobile ad hoc routing:

Proactive neighbor recognition acquires intermittent transmission as well as computational transparency on each portable nodule.

For the reason that public key cryptography entails lengthy keys along with additional CPU cycles, by means of exclusive public key cryptography (encryption/decryption) through expensive RREQ torrent acquires rigorous transmission as well as computational transparency for each inundation.

If performance is considered the data deliverance recital, the methods based on the virtual circuit are more proficient than the method based on the MIX-net's onion. The last one acquires real-time encryption postponement on the source nodule along with a solitary real-time decryption postponement on each data packet frontward nodule.

The subsequent comparison is based on the features that affect ambiguity security:

In MIX-net, a one-hop neighborhood is exposed to an internal (and possibly external) adversary. This is not a security problem in fixed networks, but in mobile networks, this reveals the changing local network topology to the mobile wireless adversary, which can quickly scan the entire network at once and obtain an estimation of the entire network topology.

Ensuring recipient anonymity (of the destination's network ID) is a critical security concern. Otherwise, every RREQ receiver can see how busy a destination node is. This traffic analysis can be used by the adversary to define the priority in node tracing attacks.

Fig. comparison of ANODR with the existing system.

5.7 Feasibility Study:

The feasibility study is considered as a managing procedure for dividing the problems and the prospects about purpose, explaining situations and some other significant prosperous products. It also evaluates the collection of the outlay, profits associated by number of substitutes for solving complexities. Thus, the feasibility study is executed in order to sustain the evaluation of the procedure depending on an outlay profit research on the exact company or project feasibility. Hence, the feasibility study is considered as a behavior used in the phase of the expansion life cycle that is accepted while formulating the plan feasibility. (Drucker (1985), Hoagland and Williamson (2000), Thompson 2003c , Thompson 2003a)

Thus the feasibility study explains about the description of the issues or prospects to be calculated, researching the existing techniques of functions, defining the requirements and evaluating the substitutes. The procedures for managing a feasibility study are considered to be standard or temporary and are suitable for each sort of venture in isolation. It is presented in the systems and software development, creating a possession or any venture. (Tim Bryce, 2008)

The feasibility study of the developed venture analyzes the appraisal of the outlay and the advantages that are required. Hence, the feasibility study of the suggested system describes that the dynamic routing algorithm is very easy and simply executed. In fact, this is very easy to realize. Hence, the process of understanding the important functions and analyzing them is very important.

The feasibility study includes the following types:

Economic feasibility:

The economic feasibility analyzes the turnover assumptions. The economic feasibility is evaluated while the complete necessities are obvious and therefore one can estimate the revenue. The important functions in economic feasibility are as follows:

Investigating the possible outcomes of the venture

Cost assistance evaluation

Evaluating the estimated earnings and outlay.(Steve Easterbrook, 2004-05)

The economic feasibility evaluated the results of the economy of the suggested in the company. Hence, the outlay that is being spent on the execution of the developed system gives the information of the resources set by the company.

Technical feasibility:

Technical feasibility evaluates about the proposed system desirability. It contains the aspects such as technology and proficiency.


This evaluates the development, accessibility and popularity of the system tools that are needed to maintain the competitor.

Proficiency: It evaluates the technological proficiency that is required to extend, control and sustain the competitors. (Jaelson Castro and John Mylopoulous, 2004) The technical feasibility includes the research about the technical supplies of the system. The suggested system must possess very high demand for technical sources and it is more for clients.

Operational feasibility:

It explains the process in which the proposed system functions. The operational feasibility takes into account two significant parts of the developed system such as functional and the client administration. The operational feasibility is analyzed based on the acceptance of developed system by the users. The developed system will be user friendly and should be understandable to the users. That means, the dissimilar operations of the system must be realized to the end user. Hence, the confidence level should be augmented in order to realize the needs of the users.

Chapter-6: Implementation

6.1 Implementation:

Implementation is the phase in which every activity based on a plan are placed into achievement. Prior to the execution phase of the project, the implementers must recognize their strengths and flaws, opportunities and pressures. The strength and opportunities are considered as positive forces that should be broken t0 effectively execute a project. Hence, these will hinder the project execution phase. Thus, the implementers should facilitate that they plan by overcoming the existing flaws in the project implementation. The implementation of the project is completed by using Java technology. (Phil Bartle)

6.2 Requirement analysis:

Requirements analysis is considered as a technique of evaluating the requirements in order to distinguish and determine differences among requirements. It also finds the limits of the software and the process how it interrelates with its atmosphere. Finally, it explains about the system requirements for obtaining the software requirements.

As a result, in this module, it determines the effective methods used for organizing the requirements engineering techniques throughout the development cycle. It is also associated with the definition of the software requirements and the products created in that definition. Finally, it includes requirements recognition, requirements specification and the enlargement of acceptance criteria and procedures. (Trung Hung Vo)

6.3 Software Requirements:

Why Java:

Java is a programming language utilized for both standalone applications and applets that are executed by java enabled Web browsers. Security is an important feature of java. Hence, this project is based on safe transfer of data by means of identity free routing scheme. (Joseph, 1995)

Platform independence:

Java compilers do not generate object code for a specific platform but somewhat produces the "byte code" instructions for the Java Virtual Machine (JVM). The process of generating Java code on a specific platform is simply writing a byte code interpreter to encourage a JVM.

Object Orientation:

Java is considered as a purely object oriented language. This shows that everything in java program is an object and derived from the root object class.

Rich Standard Library:

This is considered as one of the attractive features of java. It included hundreds of classes and methods in six major functional areas.

Language support classes such as strings, arrays, threads and exception handling for advanced language features.

Utility classes such as random number generator, data and time functions and contained classes

Networking classes

Abstract Window tool kit

Input/ output classes


Applet Interface:

It is considered as rich Applet interface

Familiar with C++ syntax:

This is also regarded as one of the finest features of java. The syntax of java is similar to that of the popular languages, C++

Garbage collection:

The programming language, Java does not need programmers to openly free dynamically allocated memory. Hence, this facilitates Java programs simply to inscribe and less prone to memory errors.

6.4 User Interface:

The process of designing the user interface is an essential element in the development of any computer system. Here, the designer should assure that the system has sufficient usability so that it should perform what is needed and accessibility.

Java Sockets and Server Sockets:

Java Socket is utilized by the client in order to open a TCP/IP connection to a server. Thus, the socket conveys the IP address and TCP port to connect to and the remaining is accomplished with Java. Normally, suppose if an individual wishes to execute a server that eavesdrop for receiving connections from clients on some TCP port, hence, it is suggested to employ a Java server Socket. If the client connects through a client socket to a server's Server Socket, a Socket is assigned on the server to that particular connection. Hence, the client and server now communicate Socket-to-Socket.

Java UDP Networking basics:

UDP works distinct from TCP. There is no connection among the client and server by UDP. The client may transfer the data to the server and the server may or may not receive the data. This is considered as connection less protocol where there is no assurance of the data being transferred from the server to the client also. Hence, the UDP protocol has no protocol overhead. Thus, Connection less UDP protocol is utilized in this project with UDP Datagram Sockets.

Java TCP Networking Basics:

Usually, a client establishes the TCP or IP connection to a server. The client therefore starts to communicate with the server. When the client finishes the work, it closes the connection again. (Jenkov)


A client may transfer more than one request by means of establishing the connection. The client can send the needed data since the server is prepared to acquire. The server can also close the connection if it wishes to.

6.5 Software requirements:

Software Requirements:

Windows XP

J2SDK1.6 and above

Hardware Requirements:

Intel Pentium III Processor and above

128MB RAM and above

10GB Hard Disk

6.6 Graphical user interface:

A GUI is a kind of computer human interface on a computer. It resolves the issue that plenty of users faced earlier. GUI is used to provide interactions among the system and the users. This is facilitated with the help of the graphics. The GUI is designed by using Java swings in the current venture. (Normal et al (1988), Jansen)

Java Swings:

Swing is generally a group of customizable graphical units whose look and feel can be dictated at runtime. (Dave Marshall, 1999)

The following are considered as the important features of java Swings:

Pluggable look and feel

Light weight components

It does not rely on native peers to deliver themselves

Use of simplified graphics to paint on screen

Equal performance around every platform

Portable look and feel

Merely less top level containers not light weight.

New components


Arbitrary keyboard

Debugging support

6.7 Screen shots:

This is the source frame having the two forms; one is for to enter the text to send to destination other one for conformed messages got from destination.

This is the Router frame having the two frames one is for to display the decrypted data received from the source and the other one is for to display the status of the Routers in the network.

This is the server frame having to forms one is for displaying the Encrypted data received form Router through which the data will be transferred between source and destination, the other form is for the original data send by source.

This is the simulator frame to monitor the status of the routers in the network and also the data flow in the network.