Вы находитесь на странице: 1из 66

A Project Report

On
AUTOMATIC DATABASE SCHEMA GENERATION
Submitted in partial fulfillment of the
Requirements for the award of degree of

Bachelor of Technology
In
Computer Science and Engineering
By
V.Naveen Reddy
12H61A05P5

S.Dileep Kumar
12H61A05N9

Under the guidance of


Mrs.G.Sudeepthi
Assistant Professor,
Department of CSE

Department of Computer Science and Engineering,


Anurag Group of Institutions
(Formerly CVSR College of Engineering)
(Affiliated to JNTU-HYD, Approved by AICTE and NBA Accredited)Venkatapur
(V), Ghatkesar (M), R.R. District, A.P. 500 088
(2015-16)
Department of Computer Science and Engineering

CERTIFICATE

This is to certify that the project entitled “AUTOMATIC DATABASE SCHEMA


GENERATION” being submitted by V.NAVEEN REDDY bearing H.T.No. 12H61A05P5
and S.DILEEP KUMAR bearing H.T.No 12H61A05N9 in partial fulfillment of the
requirements for the award of the degree of B.Tech in Computer Science and
Engineering from Anurag Group of Institutions (A) (Formerly CVSR College of
Engineering), Affiliated to JNTUH is a record of bonafide work carried out by them
under my guidance and supervision from December, 2015 to April, 2016.

The results presented in this project have been verified and found to be
satisfactory. The results embodied in this thesis report have not been submitted to
any other University for the award of any other degree.

Internal Guide HOD


Mrs. G.Sudeepthi Dr. G. Vishnu
Moorthy
Assistant Professor Professor, Dept of CSE

External Examiner
ACKNOWLEDGEMENT

It is our privilege and pleasure to express our profound sense of respect,


gratitude and indebtedness to our guide Mrs.G. Sudeepthi, Assistant Professor,
Department of Computer Science and Engineering, for his indefatigable inspiration,
guidance, cogent discussion, constructive criticisms and encouragement throughout
the project work.

We express our sincere gratitude to Dr. G.Vishnu Moorthy, Professor & Head,
Department of Computer Science and Engineering, for his precious suggestions,
motivation and co-operation for the successful completion of the project work.

We extend our sincere thanks to Prof. V. Vijaya Kumar, Professor & Dean,
Department of Computer Science and Engineering, for his motivation and co-
operation for the successful completion of the project work.

We extend our sincere thanks to Prof. M Mutha Reddy, Principal, Dr. K.S. Rao,
Director, Prof. M. Bhagavanth Rao, Director, for their encouragement and
constant help.

Last but not least, we wish to acknowledge our friends, family members and
colleagues for giving moral strength and helping us to complete this dissertation.

V.Naveen Reddy
12H61A05P5

S.Dileep Kumar
12H61A05N9
DECLARATION

We hereby declare that the project entitled “AUTOMATIC DATABASE SCHEMA


GENERATION” submitted to Anurag Group of Institutions (A) (Formerly CVSR
College of Engineering), Affiliated to JNTUH in partial fulfillment of the requirements for
the award of the degree of B.Tech in CSE is a record of an original work done by us
under the guidance of Mr.G,Sudeepthi , Assistant Professor and this project work have
not been submitted to any other university for the award of any other degree.

V.Naveen
Reddy
12H61A05P5

S.Dileep Kumar
12H61A05N9

Date:
ABSTRACT

The Automatic Database Schema Generation is a system, which allows the


developers to focus on creating the database using the GUI interface .The user
needs to fulfill the requirements in the interface and he can perform the database
operations which he wants and can create the database. This project aims at
creation of an automatic database schema generation. This project will be accessible
to all developers and its facility allows developers to focus on creating the database
schema on the basis of JSP while letting the application server define table based on
the fields in JSP and relationships between them.
LIST OF FIGURES

Figure No. Figure Name Page No.

4.2.1 Use Case Diagram 18


4.2.2 Class Diagram 19
4.2.3 Sequence Diagram for SQL pane 20
4.2.4 Sequence Diagram for Import 21
4.2.5 Sequence Diagram for Export 21
4.2.6 Sequence Diagram for DBoperations 22
4.2.7 Sequence Diagram for search Button 22
4.2.8 Collaboration for Import 23
4.2.9 System Component Diagram 24
4.2.10 System Activity Diagram 25
4.2.11 System Deployment Diagram 26

I
LIST OF SCREEN SHOTS

Figure No. Figure Name Page No.

3.2.1 Two tier architecture 8


7.1.1 DataBase Login Screen 36
7.1.2 Structure of cvsr Schema Screen 37
7.1.3 Structure of emp Table Screen 37
7.1.4 Browse a Database Screen 38
7.1.5 Properties of cvsr Schema Screen 38
7.1.6 SQL Query pane Screen 39
7.1.7 Results SQL Query Screen 40
7.1.8 Import a SQL File 41
7.1.9 Import cvsr emp Table Screen 41
7.1.10 Import Succeded Screen 42
7.1.11 Export the Table Screen 42
7.1.12 Database Operations Screen 43
7.1.13 Search Database Screen 44
7.1.14 Search Result Screen 45
7.1.15 Alter table screen 46
7.1.16 Rename Table screen 47
7.1.17 Drop Table screen 47

II
INDEX

CONTENTS PAGE NO

ABSTRACT

LIST OF FIGURES I

LIST OF SCREEN SHOTS II

1. Introduction 1
1.1.Motivation
1.2.Problem Definition
1.3.Objective of the Project
1.4.Limitations of the Project

2. Analysis 2
2.1. Introduction 2
2.2. Existing System 3
2.3. Proposed System
2.4. Software Requirement Specification 4
2.4.1. Purpose 5
2.4.2. Scope 5
2.4.3. Overall Description 5
2.4.4. Technologies used 6

3. Modules 7
3.1. Module description 7
3.2. Project Architecture 8
4. Design 9
4.1 Introduction 9
4.2. UML diagrams 18

5. Implementation 27
5.1 Sample code
6. Testing 31
6.1. Levels of Testing 31
6.2. Types of Testings 32
6.3. Test cases 35

7. Results 36
7.1. Screen Shots

8. Conclusion 48

9. Future Enhancements 49

10. References 50

1
1. INTRODUCTION

1.1 Motivation

Earlier the concept of database generation is by applying SQL Statements and also we
need to learn SQL queries for database development. From this we can directly interact the
database by GUI and it is easy to use for creating, editing and storing.

1.2 Problem Definition

Through the old approach to edit the database schema ,It consumes more time for a
database designer. The operations like altering the table structure, editing the table, dropping
columns, searching for a column name, searching for a data in a table. To design and alter the
database schema there exists different user interfaces for different DBMS.

1.3 Objective of the Project

The backend developer needs to learn the newer concepts and also sql statements for every
database creation. By this project the admin creates the GUI for developer, where the developer
can easily create the database schema, tables and also we can insert the table values from the
GUI.

1.4Limitations of the Project

i. Spatial Heterogeneity: There are many reasons for this heterogeneity. It is reasonable
to assume that most peers in a typical P2P network are just personal computers,
whose processing powers are also widely different. The limitation in the processing
power can limit how fast a peer can service others and hence limits the service
capacity.
ii. Temporal Correlation: The number of connections a source peer allows is changing
over time, which creates a fluctuation in the service capacity for each user.

2
Temporary congestion at any link in the network can also reduce the service capacity
of all users utilizing that link.

2. ANALYSIS

2.1 Introduction

This project aims at creation of an automatic database schema generation. This project will
be accessible to all developers and its facility allows developers to focus on creating the database
schema on the basis of JSP while letting the application server define table based on the fields in
JSP and relationships between them. This system provides the following facilities.This facilitates
the user to focus much on application aspects leaving behind the database aspects. This project
allows users to generate database schema generation without having much knowledge of
database aspects.

2.2 Existing System

There are many Database Management systems available today. The Database designer
is familiar with any one of the database Management Systems. Let us consider a condition when
a database designer required to design the schema for an application on different DBMS. He
required to learn all the DBMS User Interfaces. Where some of them are GUI (Graphic User
Interface) based and others are CUI(Character User Interface).

Disadvantages of Existing System:

Through this approach to alter or to edit a large database schema, It consumes more time for
a Database Designer. The operations like altering the table structure, Editing the table, Dropping
columns, searching for a column name, searching for a data in the table.. etc.To Design and alter
the Database schema there exists different user interfaces for different DBMS.

3
2.3 Proposed System

The Automatic Database Schema Generation System provides the following features :

• The Automatic Database Schema Generation System provides a Common User Interface
to interact with all the databases.
• Here the user interface is Graphical User Interface.
• Being a web based application it doesn’t require any client side installation.
• Any number of users can interact with the system simultaneously.
• Centralized database connectivity.
• Using Session management the interaction more flexible and secure

Advantages of Proposed System:

1) In the centralized peer-to-peer model, a user would send a search to the centralized server
of what they were looking for. The server then sends back a list of peers that have the
data and facilitates the connection and download.
2) The Server-Client system is quick and efficient because the central directory is constantly
being updated.

2.4. Software Requirement Specification

Software Requirements:

i. Operating system : Windows XP/7.


ii. Coding Language : Java
iii. Tool kit : JDK_1.7.0
iv. IDE : Net Beans IDE 8.0.2

4
What is SRS?

Software Requirement Specification (SRS) is the starting point of the software


developing activity. As system grew more complex it became evident that the goal of the entire
system cannot be easily comprehended. Hence the need for the requirement phase arose. The
software project is initiated by the client needs. The SRS is the means of translating the ideas of
the minds of clients (the input) into a formal document (the output of the requirement phase).

The SRS phase consists of two basic activities:

Problem/Requirement Analysis:

The process is order and more nebulous of the two, deals with understand the problem,
the goal and constraints.

Requirement Specification:

Here, the focus is on specifying what has been found giving analysis such as
representation, specification languages and tools, and checking the specifications are addressed
during this activity.

The Requirement phase terminates with the production of the validate SRS document.
Producing the SRS document is the basic goal of this phase.

Document Conventions:

We have used Times New Roman (text size 12). Bold Font is used for Main Headings
(text size of 16). Normal font is used for sub headings (text size of 14).

5
Intended Audience and Reading Suggestions:

This document is for better understanding for Remote desktop control. Mainly intended
for Head of the Dept., Internal guide, External guide, Staff members, Users and colleagues. This
detail given below guides every normal user to how to go through this document for better
understanding. The sequence to follow for better understanding is here Purpose, Scope, Features,
Operating requirements, Modules present in the project, Advantages, References etc.

Role of SRS:

The purpose of the Software Requirement Specification is to reduce the communication


gap between the clients and the developers. Software Requirement Specification is the medium
though which the client and user needs are accurately specified. It forms the basis of software
development. A good SRS should satisfy all the parties involved in the system.

2.4.1. Purpose

The main purpose for preparing this document is to give a general insight into the
analysis and requirements of the existing system or situation and for determining the operating
characteristics of the system

2.4.2 Scope

This Document plays a vital role in the development life cycle (SDLC) as it describes the
complete requirement of the system. It is meant for use by the developers and will be the
basic during testing phase. Any changes made to the requirements in the future will have to
go through formal change approval process.

2.4.3 Overall Description

6
The developer is responsible for:
• Developing the system, which meets the SRS and solving all the requirements of the
system?
• Demonstrating the system and installing the system at client's location after the
acceptance testing is successful.
• Submitting the required user manual describing the system interfaces to work on it and
also the documents of the system.
• Conducting any user training that might be needed for using the system.
• Maintaining the system for a period of one year after installation.

2.4.4. TECHNOLOGIES USED

Hardware Requirements:

i. System : Intel core i5 2.4GHz


ii. Hard Disk : 80 GB
iii. Ram : 2 GB or above

Software Requirements:

i. Operating system : windows7 or above


ii. Coding Language : Java JDK_1.7.0
iii. Server : Apache Tomcat 8.0.15
iv. Database : MySql Server 5.1

7
3. MODULES

3.1 Module Description:

The application was designed into five modules.


1. SQL Query Pane Module
2. Import Option Module
3. Export Option Module
4. Operation Module
5. Search Database Module

1.SQL Query Pane Module:

This module is used to retrieve data from the database by using SQL Queries. The User
interface is designed with a query pane to type the query, where a user can type the sql query.
The sql query is taken by the module as input and generates the output of that query. The output
is displayed in a tabular manner.

2. Import Option Module:


This module is developed to retrieve schema from the external files. The supported files
are .sql files. .sql files contains the set of queries that can be executed. This module uses the FTP
protocol which will enable the web server to load the files.

3. Export Option Module:


The user can export sql Structure, sql Data or both based on some conditions into 3 types
of files.

8
1. .sql files
2. .html files
3. .csv files(Excel Files)
4.Operation Module:
The user can create table with constraints, Alter the table, Rename the Table, Drop table
The user can rename the table by giving the old name and new name. The user can drop the table
by selecting the table name from the select box.

5.Search Module:
The user must search based on keywords
• Search looks for column names only
• Search looks for data only

3.2 Project Architecture

Two Tier (Client-Server): In a two tier architecture the database resides in one
machine(server) and the data can be accessed by any number of machines(clients) in the
network. In this type of architecture a database manager takes control of the database and
provides access to clients in a network. This software bundle is also called as the server.
Software in different machines, requesting for information are called as clients.

Client/Server Architecture

9
4. DESIGN

4.1 Introduction:
The Unified Modeling Language (UML) is a standard language for writing software blue
prints. The UML is a language for
i. Visualizing
ii. Specifying
iii. Constructing
Documenting the artifacts of a software intensive system.
The UML is a language which provides vocabulary and the rules for combining words in
that vocabulary for the purpose of communication. A modeling language is a language whose
vocabulary and the rules focus on the conceptual and physical representation of a system.
Modeling yields an understanding of a system. Building Blocks of the UML:
The vocabulary of the UML encompasses three kinds of building blocks:
i. Things
ii. Relationships
iii. Diagrams
Things are the abstractions that are first-class citizens in a model; relationships tie these
things together; diagrams group interesting collections of things.

10
Things in the UML:
There are four kinds of things in the UML:
i. Structural things
ii. Behavioral things
iii. Grouping things
iv. Annotational things

Structural things are the nouns of UML models. The structural things used in the project
design are first, a class is a description of a set of objects that share the same attributes,
operations, relationships and semantics.

Window
Origin
Size
open()
close()
move()
display()

Fig: Classes

Second, a use case is a description of set of sequence of actions that a system performs that
yields an observable result of value to particular actor.

11
Fig: Use Cases

Third, a node is a physical element that exists at runtime and represents a computational
resource, generally having at least some memory and often processing capability.

Fig: Nodes

Behavioral things are the dynamic parts of UML models. The behavioral thing used is:
Interaction:
An interaction is a behavior that comprises a set of messages exchanged among a set of
objects within a particular context to accomplish a specific purpose. An interaction involves a
number of other elements, including messages, action sequences (the behavior invoked by a
message, and links (the connection between objects).

Fig: Messages

Relationships in the UML:


There are four kinds of relationships in the UML:
• Dependency
• Association

12
• Generalization
• Realization

A dependency is a semantic relationship between two things in which a change to one


thing may affect the semantics of the other thing (the dependent thing).

Fig: Dependencies

An association is a structural relationship that describes a set links, a link being a


connection among objects. Aggregation is a special kind of association, representing a structural
relationship between a whole and its parts.

Fig: Association
A generalization is a specialization/ generalization relationship in which objects of the
specialized element (the child) are substitutable for objects of the generalized element(the
parent).

Fig: Generalization

A realization is a semantic relationship between classifiers, where in one classifier


specifies a contract that another classifier guarantees to carry out.

Fig: Realization
Sequence Diagrams:
UML sequence diagrams are used to represent the flow of messages, events and actions
between the objects or components of a system. Time is represented in the vertical direction

13
showing the sequence of interactions of the header elements, which are displayed horizontally at
the top of the diagram.
Sequence Diagrams are used primarily to design, document and validate the architecture,
interfaces and logic of the system by describing the sequence of actions that need to be
performed to complete a task or scenario. UML sequence diagrams are useful design tools
because they provide a dynamic view of the system behavior which can be difficult to extract
from static diagrams or specifications.

Actor
Represents an external person or entity that interacts with the system

Object
Represents an object in the system or one of its components

Unit
Represents a subsystem, component, unit, or other logical entity in the system (may or
may not be implemented by objects)

Separator

14
Represents an interface or boundary between subsystems, components or units (e.g., air
interface, Internet, network)

Group
Groups related header elements into subsystems or components

Sequence Diagram Body Elements

Action
Represents an action taken by an actor, object or unit

Asynchronous Message
An asynchronous message between header elements

Block
A block representing a loop or conditional for a particular header element

15
Call Message
A call (procedure) message between header elements

Create Message
A "create" message that creates a header element (represented by lifeline going from
dashed to solid pattern)

Diagram Link
Represents a portion of a diagram being treated as a functional block. Similar to a
procedure or function call that abstracts functionality or details not shown at this level. Can
optionally be linked to another diagram for elaboration.

Else Block Represents an "else" block portion of a diagram block

Message

A simple message between header elements

Input Design:

16
The input design is the link between the information system and the user. It comprises the
developing specification and procedures for data preparation and those steps are necessary to put
transaction data in to a usable form for processing can be achieved by inspecting the computer to
read data from a written or printed document or it can occur by having people keying the data
directly into the system. The design of input focuses on controlling the amount of input required,
controlling the errors, avoiding delay, avoiding extra steps and keeping the process simple. The
input is designed in such a way so that it provides security and ease of use with retaining the
privacy. Input Design considered the following things:
i. What data should be given as input?
ii. How the data should be arranged or coded?
iii. The dialog to guide the operating personnel in providing input.
iv. Methods for preparing input validations and steps to follow when error occur.

Objectives:

1. Input Design is the process of converting a user-oriented description of the input into a
computer-based system. This design is important to avoid errors in the data input process and
show the correct direction to the management for getting correct information from the
computerized system.

2. It is achieved by creating user-friendly screens for the data entry to handle large volume of
data. The goal of designing input is to make data entry easier and to be free from errors. The data
entry screen is designed in such a way that all the data manipulates can be performed. It also
provides record viewing facilities.
3. When the data is entered it will check for its validity. Data can be entered with the help of
screens. Appropriate messages are provided as when needed so that the user will not be in maize
of instant. Thus the objective of input design is to create an input layout that is easy to follow

Output Design:

17
A quality output is one, which meets the requirements of the end user and presents the
information clearly. In any system results of processing are communicated to the users and to
other system through outputs. In output design it is determined how the information is to be
displaced for immediate need and also the hard copy output. It is the most important and direct
source information to the user. Efficient and intelligent output design improves the system’s
relationship to help user decision-making.

1. Designing computer output should proceed in an organized, well thought out manner; the right
output must be developed while ensuring that each output element is designed so that people will
find the system can use easily and effectively. When analysis design computer output, they
should Identify the specific output that is needed to meet the requirements.

2. Select methods for presenting information.

3. Create document, report, or other formats that contain information produced by the system.

The output form of an information system should accomplish one or more of the
following objectives.

i. Convey information about past activities, current status or projections of the


ii. Future.
iii. Signal important events, opportunities, problems, or warnings.
iv. Trigger an action.
v. Confirm an action.

18
4.2 UML diagrams:
USE CASE DIAGRAM

19
Figure 4.2.1: Use Case Diagram for Database designer

UML Use Case Diagrams. Use case diagrams are usually referred to as behavior
diagrams used to describe a set of actions (use cases) that some system or systems (subject)
should or can perform in collaboration with one or more external users of the system (actors).
CLASS DIAGRAM

20
Figure 4.2.2: Class Diagram for Database designer

In software engineering, a class diagram in the Unified Modeling Language (UML) is a


type of static structure diagram that describes the structure of a system by showing the system's
classes, their attributes, operations (or methods), and the relationships among objects.
SEQUENCE DIAGRAM

21
Figure 4.2.3: Sequence Diagram for SQL pane

A Sequence diagram is an interaction diagram that shows how processes operate with one
another and in what order. It is a construct of a Message Sequence Chart. A sequence diagram
shows object interactions arranged in time sequence.

22
Figure 4.2.4: Sequence Diagram for import button

Figure 4.2.5: Sequence Diagram for export button

23
Figure 4.2.6: Sequence Diagram for database operations

Figure 4.2.7: Sequence Diagram for search button

24
COLLABORATION DIAGRAM

Figure 4.2.8:Collaboration Diagram for import

A collaboration diagram is a type of visual presentation that shows how various software
objects interact with each other within an overall IT architecture and how users can benefit from
this collaboration. A collaboration diagram often comes in the form of a visual chart that
resembles a flow chart.

25
COMPONENT DIAGRAM

Figure 4.2.9: System Component Diagram

Component diagram is a special kind of diagram in UML. The purpose is also different
from all other diagrams discussed so far. It does not describe the functionality of the system but
it describes the components used to make those functionalities.

26
ACTIVITY DIAGRAM

Figure 4.2.10: System Activity Diagram

Activity diagram is another important diagram in UML to describe dynamic aspects of


the system. Activity diagram is basically a flow chart to represent the flow form one activity to
another activity. The activity can be described as an operation of the system. So the control flow
is drawn from one operation to another.

27
DEPLOYMENT DIAGRAM

Figure 4.2.11: System Deployment Diagram

Deployment diagram is a structure diagram which shows architecture of the system as


deployment (distribution) of software artifacts to deployment targets. Artifacts represent concrete
elements in the physical world that are the result of a development process.

28
5. IMPLEMENTATION

LOGIN:

import java.lang.String;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Login extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
String message = req.getParameter("message");
res.setContentType("text/html");
PrintWriter writer = res.getWriter();
writer.println("<HTML>");
writer.println("<HEAD>");
writer.println("<TITLE> Schema Generation </TITLE>");
writer.println("<METANAME=AuthorCONTENT=vamsi>");
writer.println( "<STYLE>" +
"#t1 { " +
" position:absolute; " +
" margin-left:210px; "
+
" margin-top:50px; " +
" width:340px; " +
" height:33px; " +
" background:#336699;
"+
" font-family:Serif; " +
" font-weight:bold; " +
" font-size:20px; " +
" color:#ffffff; " +
" text-align:center; " +
" border-style:double; "
+
29
" border-color:black; "
+
" border-width:2px; " +
"} " +
"#t2 { " +
" position:absolute; " +
" margin-left:210px; "
+
" margin-top:84px; " +
" width:340px; " +
" height:180px; " +
" background:#f5f5f5; "
+
" font-family:Tahoma;
"+
" font-weight:bold; " +
" font-size:14px; " +
" color:black; " +
" border-style:groove; "
+
" border-color:black; "
+
" border-width:1px; " +
"} " +
"#msg {" +
" background:#abcdef;
"+
" font-family:Tahoma;
"+
" font-size:14; " +
" font-weight:bold; " +
" color:black; " +
" text-align:center; " +
" text-
transform:Capitalize; " +
"} " +
"input { " +
" height:26px; " +
" width:240px; " +
" font-size:14px; " +
"} " +
30
"select { font-
size:16px; }"+
"</STYLE>");
writer.println( "<SCRIPT LANGUAGE=javascript>" +
" var onImages = new
Array(); " +
" var offImages = new
Array(); " +
"function verify() {
" var ur = document.loginform.url.value; " +
" if(ur == null || ur
== \"\" || ur == \" \") { " +
" alert('URL
must be entered.'); " +document.loginform.url.focus(); " + "} " + "else
document.loginform.submit(); " "} " +"function isEmpty(id) { " + "if(id.value==null
id.value==\"\" || id.value==\" \") { " +
" alert(id.name
+ \" must be entered.\"); " + " id.focus(); " +
" }"+
"} " +
"function empty() { " +
"
document.loginform.reset(); " +
"
document.loginform.url.value = \"jdbc:odbc:mydsn1\"; " +
"
document.loginform.userid.focus(); " +
"} " +
"function down(id) { " +
" if(id == 1)
document.loginform.pic1.src = onImages[id-1].src; " +
" if(id == 2)
document.loginform.pic2.src = onImages[id-1].src; " +
"} " +
"function up(id) { " +
" if(id == 1)
document.loginform.pic1.src = offImages[id-1].src; " +
" if(id == 2)
document.loginform.pic2.src = offImages[id-1].src; " +
"} " +
"function load() { " +
31
" onImages[0] = new
Image(); " +
" onImages[1] = new
Image(); " +
" onImages[0].src
= \"pics/login2.jpg\"; " +
" onImages[1].src
= \"pics/reset2.jpg\"; " +
" offImages[0] = new
Image(); " +
" offImages[1] = new
Image(); " +
" offImages[0].src
= \"pics/login1.jpg\"; " +
" offImages[1].src
= \"pics/reset1.jpg\"; " + " document.loginform.url.value
= \"jdbc:odbc:mydsn1\"; " + "document.loginform.userid.focu"}
"function setURL() { " +"var i
=nt.loginform.driver.selectedIndex; " +f(i == 0)document.loginform.url.value
= \"jdbc:odbc:mydsn1\"; " +"else if(i == 1) document.loginform.url.value
= \"jdbc:mysql://localhost:3306/\"; " +"else if(i == 2) document.loginform.url.value
= \"jdbc:oracle:thin:@localhost:1521:xe\"; " +"} " +</SCRIPT>");
writer.println("</HEAD>");
writer.println("<BODYBGCOLOR=#f5f5f5ad=load()>");
writer.println("<HR WIDTH=80%>");
writer.println("<TABLEALIGN=centerELLPADDING=4
BORDER=0 WIDTH=80%");
writer.println("<TR>");
writer.println("<TH id=msg>" + message + "</TH>");
writer.println("</TR>");
writer.println("</TABLE>");
writer.println("<HR WIDTH=80%>");
writer.println("<FORM NAME=loginform METHOD=post ACTION='LoadAll'>");
writer.println("<TABLEalign=centerTD>DATABASE
LOGIN</TD></TR></TABLE>");
writer.println("<TABLE align=center id=t2>");
writer.println("<TR><TD align=center>Driver</TD>");
writer.println("<TD align=center>");
writer.println("<SELECTname=driveronChange=setURL()>");

writer.println("<OPTIONselected>sun.jdbc.odbc.JdbcOdbcDriver</OPTION>");
32
writer.println("<OPTION>com.mysql.jdbc.Driver</OPTION>");
writer.println("<OPTION>oracle.jdbc.driver.OracleDriver</OPTION>");
writer.println("</SELECT>");
writer.println("</TD>");
writer.println("</TR>");
writer.println("<TR><TD align=center>URL</TD>");
writer.println("<TD align=center><INPUT type=text
name=url size=32></TD></TR>");
writer.println("<TR><TD align=center>Username</TD>");
writer.println( "<TD align=center><input type=text
name=userid size=32 " +"onFocus='isEmpty(document.loginform.url)'></TD></TR>");
writer.println("<TR><TD align=center>Password</TD>");
writer.println( "<TD align=center><input type=password
name=pass size=32 " +"onFocus='isEmpty(document.loginform.url)'></TD></TR>");
writer.println("<TR><TD align=center colspan=2>");
writer.println( "<IMG name=pic1 src='pics/login1.jpg'
border=0 " +"onMouseOut='up(1)' STYLE='cursor:hand' onMouseDown='down(1)' "
+"onMouseUp='up(1)' onClick='verify()'>&nbsp&nbsp&nbsp");writer.println( "<img
name=pic2 src='pics/reset1.jpg' border=0 " +"onMouseOut='up(2)'STYLE='cursor:hand'
onMouseDown='down(2)' " +"onMouseUp='up(2)' onClick='empty()'>");

writer.println("</TD></TR>");
writer.println("</TABLE>");
writer.println("</FORM>");
writer.println("</BODY>");
writer.println("</HTML>");
writer.close();
}

6. TESTING

33
Testing is the process of detecting errors. Testing performs a very critical role for quality
assurance and for ensuring the reliability of software. The results of testing are used later on
during maintenance also.

Psychology of Testing

The aim of testing is often to demonstrate that a program works by showing that it has no
errors. The basic purpose of testing phase is to detect the errors that may be present in the
program. Hence one should not start testing with the intent of showing that a program works, but
the intent should be to show that a program doesn’t work. Testing is the process of executing a
program with the intent of finding errors.

Testing Objectives
The main objective of testing is to uncover a host of errors, systematically and with
minimum effort and time. Stating formally, we can say,

 Testing is a process of executing a program with the intent of finding an error.

 A successful test is one that uncovers an as yet undiscovered error.

 A good test case is one that has a high probability of finding error, if it exists.

 The tests are inadequate to detect possibly present errors.

 The software more or less confirms to the quality and reliable standards.

6.1. Levels of Testing

In order to uncover the errors present in different phases we have the concept of levels of
testing. The basic levels of testing are as shown below…

34
Acceptance
Testing

System Testing

Integration Testing

Unit Testing

Figure 6.1:Levels of Testing

System Testing

The philosophy behind testing is to find errors. Test cases are devised with this in mind. A
strategy employed for system testing is code testing.

Code Testing:

This strategy examines the logic of the program. To follow this method we developed
some test data that resulted in executing every instruction in the program and module i.e. every
path is tested. Systems are not designed as entire nor are they tested as single systems. To ensure
that the coding is perfect two types of testing is performed or for that matter is performed or that
matter is performed or for that matter is performed on all systems.

6.2. Types of Testing:

 Unit Testing
 Link Testing
 Integration Testing
 System Testing
 Acceptance Testing

35
Unit Testing

Unit testing focuses verification effort on the smallest unit of software i.e. the module.
Using the detailed design and the process specifications testing is done to uncover errors within
the boundary of the module. All modules must be successful in the unit test before the start of the
integration testing begins.

In this project each service can be thought of a module. There are so many modules like
Login, HWAdmin, MasterAdmin, Normal User, and PManager. Giving different sets of inputs
has tested each module. When developing the module as well as finishing the development so
that each module works without any error. The inputs are validated when accepting from the
user.

In this application developer tests the programs up as system. Software units in a system
are the modules and routines that are assembled and integrated to form a specific function. Unit
testing is first done on modules, independent of one another to locate errors. This enables to
detect errors. Through this errors resulting from interaction between modules initially avoided.

Link Testing

Link testing does not test software but rather the integration of each module in system.
The primary concern is the compatibility of each module. The Programmer tests where modules
are designed with different parameters, length, type etc.

Integration Testing

After the unit testing we have to perform integration testing. The goal here is to see if
modules can be integrated properly, the emphasis being on testing interfaces between modules.
This testing activity can be considered as testing the design and hence the emphasis on testing
module interactions.

In this project integrating all the modules forms the main system. When integrating all
the modules I have checked whether the integration effects working of any of the services by
giving different combinations of inputs with which the two services run perfectly before
Integration.

36
System Testing

Here the entire software system is tested. The reference document for this process is the
requirements document, and the goal os to see if software meets its requirements. Here entire
‘ATM’ has been tested against requirements of project and it is checked whether all requirements
of project have been satisfied or not.

Acceptance Testing

Acceptance Test is performed with realistic data of the client to demonstrate that the
software is working satisfactorily. Testing here is focused on external behavior of the system; the
internal logic of program is not emphasized.

In this project ‘Network Management Of Database System’ I have collected some data
and tested whether project is working correctly or not.

Test cases should be selected so that the largest number of attributes of an equivalence
class is exercised at once. The testing phase is an important part of software development. It is
the process of finding errors and missing operations and also a complete verification to
determine whether the objectives are met and the user requirements are satisfied.

6.2.1.White Box Testing

This is a unit testing method where a unit will be taken at a time and tested thoroughly at
a statement level to find the maximum possible errors. I tested step wise every piece of code,
taking care that every statement in the code is executed at least once. The white box testing is
also called Glass Box Testing.

I have generated a list of test cases, sample data, which is used to check all possible
combinations of execution paths through the code at every module level.

6.2.2. Black Box Testing

This testing method considers a module as a single unit and checks the unit at interface
and communication with other modules rather getting into details at statement level. Here the

37
module will be treated as a block box that will take some input and generate output. Output for a
given set of input combinations are forwarded to other modules.

6.3. TEST CASES: All the test cases mentioned below passed successfully. No defects
encountered.

Test Case Test Case Function Being Initial Input Expected Status
Id Tested State Output

TC001 Application Application Application Run the batch Application


startup should open in off file should turn on Success

TC002 File uploading Working of file Server Select file to Uploaded


onto server uploading option Screen be uploaded successfully Success
Option

TC003 Client requested Checks for Client Search for File is found Success
file download requested file screen requested file

TC004 Client requested Checks for Client Search for File is not found Failure
file download requested file screen requested file

TC005 Parallel Packets Server Select parallel File should Success


downloading downloaded Screen option download
parallel from
peer
TC006 Random chunk Packets Server Select random File should Success
based downloaded in Screen chunk option download
downloading random from all
peers

TC007 Periodic packet Server Select periodic File should Success

38
switching downloaded in Screen switching download
download periodically from option
peers
TC008 Application Exit Closing of Client Selecting of App Closed Success
Application Screen Exit Option

7. RESULTS

7.1. Screen Shots:

39
Figure 7.1.1: DataBase login screen

40
Figure 7.1.2:Structure of cvsr schema screen

41
Figure 7.1.3:Structure of emp table screen

42
Figure 7.1.4:Browse a Database screen

43
Figure 7.1.5:Properties of cvsr schema screen

44
Figure 7.1.6:SQL Query pane Screen

45
Figure 7.1.7:Result SQL Query Screen

46
Figure 7.1.8: Import a SQL file screen

47
Figure 7.1.9: Import cvsr emp table screen

48
Figure 7.1.10: Import succeded screen

49
Figure 7.1.11: Export table screen

50
Figure 7.1.12: Database Operations Screen

51
Figure 7.1.13: Search Database Screen

52
Figure 7.1.14: Search Result Screen

53
8. CONCLUSION

The entire project has been developed and deployed as per the requirements stated by the
user, it is found to be bug free as per the testing standards that are implemented. Any
specification untraced errors will be concentrated in the coming versions, which are planned to
be developed in near future. The system at present does not take care off the money payment
methods, as the consolidated constructs need SSL standards and are critically to be initiated in
the first face; the application of the credit card transactions is applied as a developmental phase
in the coming days. The system needs more elaborative technicality for its inception and
evolution.

9. REFERENCES
1. Y. M. Chiu and D. Y. Eun, “Minimizing file download time over stochastic channels in
peer-to-peer networks,” in Proc. 40th Annu. Conf.

54
2. D. Qiu and R. Srikant, “Modelling and performance analysis of Bit-Torrent-like peer-to-
peer networks,” in Proc. ACMSIGCOMM, August2004.
3. X.Yang and G. deVeciana, “Service capacity of peer to peer networks,”in Proc. IEEE
INFOCOM, Mar. 2004, pp. 2242–2252.
4. K. P. Gummadi, R. J. Dunn, and S. Saroiu, “Measurement, modeling,and analysis of a
peer-to-peer file sharing workload,” in Proc. ACMSymp. Operating Systems Principles
(SOSP), 2003.
5. M. Adler, R. Kumar, K. Ross, D. Rubenstein, D. Turner, and D. D.Yao, “Optimal peer
selection in a free-market peer-resource economy,”in Proc. Workshop on Economics of
Peer-to-Peer Systems (P2PEcon),Cambridge, MA, Jun. 2004.
6. M. Adler, R. Kumar, K. Ross, D. Rubenstein, T. Suel, and D. D. Yao,“Optimal peer
selection for P2P downloading and streaming,” in Proc.IEEE INFOCOM, Miami, FL,
Mar. 2005, pp. 1538–1549.
7. D. S. Bernstein, Z. Feng, and B. N. Levine, “Adaptive peer selection,”in Proc.
Int.Workshop on Peer-to-Peer Systems (IPTPS), Berkeley, CA,Feb. 2003.

55
56
57
58

Вам также может понравиться