Date post: | 14-Apr-2017 |
Category: |
Education |
Upload: | soma-dileep-kumar |
View: | 704 times |
Download: | 2 times |
A Project Report
On
AUTOMATIC DATABASE SCHEMA GENERATION
Submitted in partial fulfillment of the
Requirements for the award of degree of
Bachelor of TechnologyIn
Computer Science and EngineeringBy
V.Naveen Reddy12H61A05P5
S.Dileep Kumar12H61A05N9
Under the guidance ofMrs.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 HODMrs. G.Sudeepthi Dr. G. Vishnu MoorthyAssistant 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 22.1. Introduction 22.2. Existing System 32.3. Proposed System2.4. Software Requirement Specification 4
2.4.1. Purpose 52.4.2. Scope 52.4.3. Overall Description 52.4.4. Technologies used 6
3. Modules 73.1. Module description 73.2. Project Architecture 8
4. Design 94.1 Introduction 94.2. UML diagrams 18
5. Implementation 275.1 Sample code
6. Testing 316.1. Levels of Testing 316.2. Types of Testings 326.3. Test cases 35
7. Results 367.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 : Javaiii. Tool kit : JDK_1.7.0iv. 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 aboveii. Coding Language : Java JDK_1.7.0iii. 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.
1. .sql files
8
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.
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
10
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.
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.
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
11
Window
Origin
Size
open()
close()
move()
display()
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
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
12
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
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
13
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
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
14
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
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
15
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:
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:
16
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:
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.
17
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.
4.2 UML diagrams:
18
USE CASE DIAGRAM
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
19
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
20
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.
21
Figure 4.2.4: Sequence Diagram for import button
Figure 4.2.5: Sequence Diagram for export button
22
Figure 4.2.6: Sequence Diagram for database operations
Figure 4.2.7: Sequence Diagram for search button
23
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.
24
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.
25
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.
26
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.
27
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; " +
28
" border-style:double; " +
" 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; " +
29
" font-size:14px; " +"} " +"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; " +
30
"} " +"function load() { " +" 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()>");
31
writer.println("<OPTIONselected>sun.jdbc.odbc.JdbcOdbcDriver</OPTION>");
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()'>   ");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();
}
32
6. TESTING
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…
33
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
34
Acceptance Testing
System Testing
Integration Testing
Unit Testing
System Testing
Acceptance Testing
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
35
giving different combinations of inputs with which the two services run perfectly before
Integration.
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.
36
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
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
Id
Test Case Function Being
Tested
Initial
State
Input Expected
Output
Status
TC001 Application
startup
Application
should open
Application
in off
Run the batch
file
Application
should turn on Success
TC002 File uploading
onto server
Working of file
uploading option
Server
Screen
Select file to
be uploaded
Option
Uploaded
successfully Success
TC003 Client requested
file download
Checks for
requested file
Client
screen
Search for
requested file
File is found Success
TC004 Client requested
file download
Checks for
requested file
Client
screen
Search for
requested file
File is not found Failure
TC005 Parallel
downloading
Packets
downloaded
parallel from
peer
Server
Screen
Select parallel
option
File should
download
Success
37
TC006 Random chunk
based
downloading
Packets
downloaded in
random from all
peers
Server
Screen
Select random
chunk option
File should
download
Success
TC007 Periodic
switching
download
packet
downloaded in
periodically from
peers
Server
Screen
Select periodic
switching
option
File should
download
Success
TC008 Application Exit Closing of
Application
Client
Screen
Selecting of
Exit Option
App Closed Success
38
7. RESULTS
7.1. Screen Shots:
Figure 7.1.1: DataBase login screen
39
Figure 7.1.2:Structure of cvsr schema screen
40
Figure 7.1.3:Structure of emp table screen
41
Figure 7.1.4:Browse a Database screen
42
Figure 7.1.5:Properties of cvsr schema screen
43
Figure 7.1.6:SQL Query pane Screen
44
Figure 7.1.7:Result SQL Query Screen
45
Figure 7.1.8: Import a SQL file screen
46
Figure 7.1.9: Import cvsr emp table screen
47
Figure 7.1.10: Import succeded screen
48
Figure 7.1.11: Export table screen
49
Figure 7.1.12: Database Operations Screen
50
Figure 7.1.13: Search Database Screen
51
Figure 7.1.14: Search Result Screen
52
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.
53
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.
54
55
56
57