Vous êtes sur la page 1sur 72

GRAPHICAL USER INTERFACE FOR RDBMS

PROJECT REPORT
Submitted In Partial fulfillment of the requirement for the award of the degree of

Master of Computer Applications


Of Calicut University

SUBMITTED BY

ROOPA SREE.K.P MCA CENTRE MERCY COLLEGE (Affiliated to Calicut University) PALAKKAD
MARCH 2004

COMPUTER CENTER,UNIVERSITY OF CALICUT THENHIPPALAM CERTIFICATE


This is to certify that this project work entitled GRAPHICAL USER INTERFACE FOR RDBMS is a bonafide record of the project work done by Miss. Roopa Sree K.P at U.S.SOFTWARE Pvt. LTD, NILA,TECHNOPARK, THIRUVANANTHAPURAM, submitted in partial fulfilment of the requirements for the award of the degree of Master of Computer Applications,awarded by University of Calicut during the academic year 2004.

Associative Co-ordinator

Lecturer- in-charge

Submitted for viva voce on External Examiner

DEDICATED TO MY PARENTS

ACKNOWLEDGEME NT

ACKNOWLEDGEMENT
I sincerely express my deep and heartfelt gratitude to all those who have helped us in the completion of my project entitled Graphical User Interface for RDBMS. At the outset I would sincerely like to thank Mr.Murali Gopal,Chief Operating Officer,U.S.Software,TechnoPark, Thiruvananthapuram,for providing me an opportunity to undertake a project in this esteemed organization, and the staff there who provided the necessary facilities for doing the project. I also thank Mr.Rajagopal for his timely help and guidance inspite of his busy schedule. My heartfelt gratitude to Mr.Pratheesh K.P ,for his support and guidance throughout the project. I also acknowledge the help and guidance provided by Mr.Nikhil,Mr.Santhosh Kumar,Mr.Shiju Cherian and Mr.Unnikrishnan.I am greatly indebted to them for their enthusiastic deliberation and instruction. A word of gratitude to Mr.Rameshan, Director ,Computer Center,Calicut University and my teachers for their guidance and councel. I express my sincere thanks to my parents ,whose blessings,cooperation and support has made this project a success .Last but not the least, my heartfelt gratitude to all my friends for their goodwill and cooperation at every stage of the work.

Synopsis

SYNOPSIS
The product entitled GRAPHICAL USER INTERFACE FOR RDBMS is developed for U. S. Software , Nila ,Technopark,Trivandrum. The product is developed using Java as front end using MSSQL Server and Oracle. The product is developed with the keen intention of creating a Graphical User Interface for any Relational Database Management System. This is a general-level GUI, which can be connected to any database residing on the system. As a result, any database manipulation can be performed using a single product. Moreover, the queries can be executed very easily, since the user need not type any queries, but can simply select the appropriate options according to their requirements. Thus, this product can be used by a person with no knowledge of SQL.The product is developed using Java as front end and MSSQL Server as backend. The main features integrated in this product are: Database Creation Database Login Database Profile Database Objects Relationships Security SQL Query Analyzer A form of security has been imposed on the system, so that only the authorized users can access the software and work with it. The system is user friendly and generate all the required reports.

CONTENTS
1. Introduction 1.1 Project Overview 1.2 Organization Profile 2. System Analysis 2.1 The Existing System 2.2 Feasibility Study The Proposed System System Objectives 3. System Design 3.1 Logical Design 3.1.1 Data Flow Diagram Physical Design 3.2.1 Page Design 3.2.1.1 Input Design 3.2.1.2 Output Design 4. System Reqiurements Analysis 4.1 Hardware Reqiurements 4.2 Software Reqirements 4.2.1 Software Features System Development 5.1 Coding Structure User Interface Specifiaction 1 1 5 5 6 8

2.3 2.4

3.2

5. 5.2

6. System Testing And Implementation 6.1 Testing 6.2 Implementation 7. Conclusion 7.1 System Evaluation

7.2 Merits And Scope For Future Development 7.3 Drawbacks 8. Bibliography 9. Appendices Appendix 1 Data Flow Diagram Appendix 2 Screen Layouts

CONTENTS

Introduction

INTRODUCTION
Database Management Systems or DBMS has evolved from a specialized computer application to a central component of modern computing environment. DBMS consists of a collection of interrelated data and a set of programs to access those data. These collection of data is referred to as a database. Database Management System involves both the definition of structures for the storage of information and provision of mechanisms for the manipulation of information. A collection of conceptual tools for describing data ,data relationships ,data semantics and consistency constraints is called a data model. There are different data models,among which Relational Database Management System(RDBMS) is the most popular choice for large scale application. The RDBMS uses a collection of tables to represent both data and the relationships among those data. Each table has multiple columns and each column has unique name and fixed datatype.Each table in the database has a unique name assigned to it. The RDBMS has established itself as the primary data model for commercial data processing applications. RDBMS is now being used in numerous applications outside the domain of traditional data processing. To interact with with the database and work with the tables in it,one need to use Structured Query Language (SQL) which includes features on defining structure of the data,for modifying data in the database and for specifying security constraints.
1.1 PROJECT OVERVIEW

The project entitled Graphical user interface for RDBMS is aimed at providing a user friendly and single interface for working with different RDBMS like SQL Server,Oracle etc.The main objective of the system is to enable a user work with the databases and tables in a RDBMS even if he doesnt have any knowledge of SQL . The product is aimed at accomplishing the following: Create, rename and drop databases in an RDBMS View and work with database objects like tables, queries, forms and reports View the database profile and table that exists in a particular RDBMS Preparing and printing various reports containing information about existing databases and objects in a database,if needed Providing security to the databases by encryption/Decryption algorithms Provide a provision i.e a SQL query analyzer for executing queries in SQL mode, if required
1.2 ORGANIZATION PROFILE

US Technology Resources, L.L.C. is a California-based limited liability corporation. They provide high quality Application Development, Application Maintenance, Application Reengineering,Application Integration, Staff Augmentation,ITConsulting Services,

Product Development, Process Consultiing and E-Commerce to industry verticals like Retail, Healthcare, Utilities,Telecommunications, Shipping and Transportation, Airlines, Banking and Financial Services, Manufacturing and Airlines. Their customers include several Fortune 500 corporations. US Technology employs qualified engineers and managers in offices around the globe. Their offices in the United States are at Atlanta, Boston, Chicago, Cincinnati, Colorado Springs, Houston, New York, Los Angeles, Minneapolis, Phoenix, San Diego, Tampa, Seattle, San Jose and Washington DC. Outside the United States, they have offices at locations in Canada, India, Austria, UK, Australia and the UAE. US Technology is part of the Comcraft Group, which has $4 billion in annual revenues and holdings in over 50 countries.
FACILITIES:

U.S.Tecnologies Resources have customers in North America, Europe, Australia and Asia.They have customers in North America, Europe, Australia and Asia. Their offshore development centers are located in India. Their world-class development facility is located on a lush hillside on the outskirts of Trivandrum. The physical facilities, promotional avenues, and operational support offered by Technopark create significant synergy facilitating quick setting up and fast growth of companies. The large number of start-ups, which have successfully come up in the campus, corroborates the confidence that the campus has been able to generate in the investor. US Technology has many years of US IT market experience in custom application development. Their offshore development centers are located in India. India is a nation where an increasing number of multi-national companies is outsourcing its software requirements to retain a competitive advantage. India offers the following advantages for offshore software development: Large pool of highly skilled English-speaking professionals Familiarity with a wide range of hardware and software platforms Internationally acknowledged academic institutions Exporter-friendly government policies High-speed data-communication and video-conferencing links Easy air, rail, and road access Infrastructure on the campus includes built-up space, reliable power, water, telecom, convention facilities, restaurants, a guest house, clubs, banks and libraries in a self-contained campus.
KEY DIFFERENTIATORS:

As a global player with world class quality in their solutions and relationships, US Technology is fully committed to the customers. The key to success in today's world is to be unique in what they do, and if you are in search of a different kind of solution for your business, their uniqueness can help you meet your business needs: All senior managers in US Technology have vast experience working in international environments particularly in the US. This global exposure equips them to understand and provide effective solutions for international business. Ensuring effective transfer of technology and better answers for the customer.

At US Technology, customer is the King. Every customer is treated as if they are their only customer. The organization believes in building long-term relationship with the customers. Assessed at SEI-CMM Level 5 in December 2001, both offshore and onsite units of US Technology have the highest level of process maturity. Predictable, refined processes help to ensure that US Technology delivers high quality solutions, on time - every time.
2 SERVICES:

At US Technology, the approach is to help customers achieve their strategic goals and meet their demands. In a dynamic marketplace, their focus on emerging technologies has made us a
front-runner in delivering fixed price, guaranteed time-line and quality services. U.S Technology offer services personalized to each customer's unique business requirements. They provide services in following areas: Application Development Application Maintenance Application Re-engineering Application Integration Staff Augmentation E-Commerce IT Consulting Process Consulting Training Product Development Research & Development POS Applications Testing Services
EXPERTISE:

US Technology addresses varied customer demands by providing quality solutions and services. Their expertise spreads over the following domains: Retail Healthcare E-Commerce Utilities Telecommunications Shipping and Transportation Banking and Financial Services Manufacturing Airlines

US Technology possesses world-class talent spanning multiple technologies. This includes mainframe, web commerce, J2EE, customer/server, web enabled wireless technologies, network provisioning, network management, network control, order entry, point of sale, retail marketing, and back office systems.

INDUSTRY DOMAINS :

At US Technology, the focus is to provide world class business solutions to a wide range of businesses using cutting edge IT components. US Technology has wide range of domain expertise in the following areas.

Retail Healthcare Utilities Telecommunications Shipping and Transportation Banking and Financial Services Manufacturing Airlines ... and more.
eTime Resource Allocation Tool :

PRODUCTS:

eTime is an easy-to-use web-based time management system for better project management and effective project cost accounting.
Resource Allocation Tool

Resource allocation tool is an online tool, which automates the process of resource allocation for the RAG of the company.
Online Examination System :

This product takes care of all the needs for conducting an examination effectively over the web, including random selection of questions for the various examinees and effective and customizable time control for exams.
Conference Call Scheduler:

Conference Call Scheduler (CCS) is a web based scheduling application that allows users to schedule conferences and has a built-in e-mail interface. It offers a simple and easy-to-use interface and enables the user to utilize his time effectively.
Trans-e:

Trans-e (Corporate Intranet and Knowledge Management Platform) is an easy to customize Intranet platform, which enables organizations to improve the quality and timeliness of information access.
Acado :

Acado (The Academic Intranet with Integrated Course Management System) is an Intranet solution designed to meet the unique needs of academic institutions, with a focus on enhancing the quality of teaching and learning.
Customizable Screen Saver:

The US Technology screensaver is an exciting addition to your Windows system and will provide hours of entertainment, in addition to protecting your monitor from burn-out.

System Analysis

SYSTEM ANALYSIS
System analysis is the process of identification of the objectives and requirements ,evaluation of alternative solutions and recommentation for a more feasible solution.In other words, system analysis is the step by step process of gathering ,recording and interpreting facts. It is the reduction of an entire system by studying the various operations. It includes studying the problems encountered in the present system and introducing a new computer system into an organization. The main aim of analysis is to determine problem areas and decide on solutions to reduce or eliminate them. System analysis itself breaks into two stages.Preliminary and Detailed.During preliminary analysis the analyst list the objectives of the proposed system.These findings come together in the preliminary report. Once the preliminary report is approved ,the system analysis phase adavanes into a second stage.During detailed analysis required data and information are collected and a detailed study is made.

During analysis ,data are collected on the available files,decision points,and transactions of the system using various tools like data flow diagram.
2.1 THE EXISTING SYSTEM

We have many database management systems available in the market,many of them with friendly Graphical User Interfaces, using which the users can execute queries and handle tables and other objects. However, the GUIs provided by each database server is exclusive to its own database. Moreover, a person with little technical knowledge will find it difficult to use one.
LIMITATIONS OF THE EXISTING SYSTEM

GUIs provided by most of the database is exclusive to its own database

Working with different databases through a single friendly interface is impossible The features and functionality provided by each GUIs differ from one RDBMS to another A GUI that provides a friendly environment to a user with little knowledge of SQL in such a way that he can work with more than one type of databases is hard to find
2.2 FEASIBILITY STUDY

In any project,feasibilityanalysis is a very important stage.Feasibility study is system proposal according to its workability, impact on the operation, ability to meet user needs and efficient use of resources.Any project may face scarcity in resources,time or workforce. An important outcome of the preliminary investigation is the determination whether the system requested is feasible or not. The key considerations involved in the feasibility analysis are technical,operational ,economic .

Technical Feasibility

Technical feasibility is the most important of all types of feasibility analysis. Technical feasibility deals with hardware as well as software requirements.An idea from the outline design to system requirements in terms of of inputs outputs,files and procedures is drawn and the type of hardware, software, and the methods required for running the system are analysed.Keeping in mind of the above considerations,the resource availability at this company was observed.It was found that the company has the company has the sufficient resources to develop the current project;hence the system is technically feasible.
Economic Feasibility

Economic analysis is the most frequently used method for evaluating the effectiveness of the software, more commonly known as the cost /benefit analysis. The procedure is to determine the benefits and savings that are expected from a candidate system and compare them with costs.If the benefits outweigh cost, the decision is made to design and implement the system, otherwise further alternatives have to be made.Here it is seen that no new hardware or software is needed for the development of the system. Hence the project is economically feasible for development in this company.

Schedule Feasibility :

Schedule feasibility is concerned with the completion of the project development within the fixed time span.It is an important factor as it can affect other factors like machine availability ,tools,cost development and delay in the development of other systems.Besides these,this project is assigned to the student as an academic exercise to be completed within a fixed period of time.
Operational Feasibility

The purpose of the operational feasibility study was to determine whether the new system will be used if it is developed and implemented? Will there be resistance from users that will undermine the possible application benefits? From the outputs of the meeting that was held with the system users , it was found that all of them support the development of new system. The positive response from them encouraged in building such a system.

2.3

THE PROPOSED SYSTEM

The product entitled GUI For RDBMS is developed with the keen intention of creating a Graphical User Interface for commonly used Relational Database Management System like MSSQL Server ,Oracle etc. This is a general-level GUI, which can be connected to more than one database residing on the system. As a result, any database manipulation can be performed using a single product. Moreover, the queries can be executed very easily, since the user need not type any queries, but can simply select the appropriate options according to their requirements. Thus, this product can be used by a person with no knowledge of SQL.
1. Database Creation

In case of MS SQL Server ,by clicking on the corresponding icon, a new database can be created.
2. Database Login

Once a database is created, a user can login to his/her database and, after which he/she can work with the objects in the database.In case of Oracle ,we are always automically logged into the default database of Oracle and we can login into the same as different users.
3. Database Rename 4. Database Drop

A database in MSSQL server can be renamed by selecting the corresponding option.

There is an option provided for dropping an already existing database when the GUI is connected to the MSSQL Server.
5

.Database Profile The user can monitor and view the database properties, like name, owner, size, date of creation, status and contents. The user can access the opened database through a Graphical User Interface. Through this interface, the user can view and work with the database objects like tables, queries and reports. Create Table The user can create tables in the selected database. A design view is provided, through which the user can simply enter the field name, select the data type from a select list . There

6.Objects

are separate options for setting a field as primary ,unique,or not null. There is also an option for adding checking constraint on a field or a default value in a field.
View Table

This option enables the user to view the contents(rows) in a table.


Execute Queries

The user can execute any query on the database using the user-friendly graphical interface. All the tables in the database is listed, from which the user can select the one(s) in which he/she has to execute the query. The user can select the type of query to be executed (like select, update, append, make-table and delete). The field(s) in the table(s) in which the query has to be executed can be selected from a list and the conditions can be input, all using the graphical interface. The conditions can include sorting (ascending, descending or none), fields to be displayed, criteria and any other specification, if any. The result of the query action is exhibited.
SELECT

o o o o

User can first select a table ,then execute select queries on it.Select query can be executed in different ways: Specific fields or all fields in a table can be displayed. Only distinct fields can be displayed if required Aggregate function can be applied to a field selected Field or fields satisfying a specific condition can be selected Selection can also be made using Order by or Group by clause
ALTER

o o o o o in the table
UPDATE

Any alteration on the table can be made on a selected table using this option.Alterations that can be made includes the following Alter the datatype of a existing field in the selected table Altering the selected table by adding a new field to the table Altering the selected table by dropping an existing field in the table Altering the selected table by adding a constraint to a field in the table Altering the selected table by dropping a constraint specified on the field
7

This option is used for making any updation on a selected table.Any condition for updation can also be specified if required.
DELETE

This option is used for deleting rows from a seleted table.Deletion can also be performed by specifying condition so that only rows satisfying that condition is deleted.
DROP

This option allows an user to drop an already existing table from a database
INSERT

Using this option the user can insert rows into an existing table.

Reports

7.

query executions. These reports can also be converted to a printable version and then be printed. The reports can include: List existing databases A database can be selected and the existing tables and their properties can be displayed. List objects in a database The user can select a database and then view the tables, queries and other objects in it.
Security

The user, using the icons and tools provided, can prepare reports of table generation or

The user can ensure security of his/her database and prevent unauthorized access, by the following means: Encryption/Decryption By using suitable algorithms, the database can be encrypted and saved. For retrieval, it can be decoded.
8. SQL Query Analyzer

If required, the user can execute queries in SQL mode, not using the graphical interface. A separate workspace is provided, where the query can be typed and executed.
2.4 SYSTEM OBJECTIVES

The system is developed in view of creating a general level user friendly interface for some of the the most commonly used RDBMS like MS SQL Server ,Oracle etc.Certain objectives of the system that are of paramount importance are: To develop a general level GUI that provides a single interface for more than one type of RDBMS so that any data manipulation can be performed using a single product. To enable users work with any type of RDBMS even if they have no knowledge of SQL Reducing the time for executing queries by enabling the user to select the appropriate options instead of typing the queries Providing a user friendly interface that is not exclusive to any particular type of RDBMS

we want to connect to a RDBMS different from the one we are working with. The proposed system is developed with the aim of meeting all the above said objectives.
8

Eliminate the overhead that is needed to connect to a different type of interface when

System Design

SYSTEM DESIGN
After the system analysis is carried out,system design is done to arrive at the specifications derived during the analysis. Design is the most creative and challenging phase of the system lifecycle.It is the process of translating the requirements uncovered in analysis into possible ways of meeting them. Design is essentially a creative activity.It doesnt mean that it contains simply a series of bright ideas. The design of the system is concerned with the interface between the computer and the user of the system.During this phase, the desired activities are scheduled,how data will flow through the system is planned and program specifications are written.System design transforms a logical representation of what a given is required to do in the physical design.The specifications are converted into physical reality during development.Designing of the system requires a full understanding of the problems. There are two levels of system design-logical design and physical design.

3.1 LOGICAL DESIGN

In the logical design ,descripton of the inputs,databases and procedures are given in a format that meets the requirements. 3.1.1 DATA FLOW DIAGRAM The Data Flow Diagram(DFD) was first developed by Larry Constantine as a way of expressing system requirements in a graphical form .A DFD also known as the Bubble Chart has the purpose of clarifying the system requirements and identifying the major transformations that will become programs in system design, i.e ,a DFD shows the movement of data through the different transformations or processes on the system.A DFD has the following features: The information flow is gathered on time consuming basis Control information is passed throughout the system and associated control processing Multiple instances of the same transformation,which are sometimes encountered in multitasking situations System states and the mechanism that causes transition between states. In the normal convention,a DFD can be completed using four notations.
data. :

A square defines a source or destination of the system

: An arrow identifies data flow data in motion. It is a pipeline through which information flows.
:

A circle or a bubble represents a process that transforms in incoming data flows into outgoing data flows

:An open rectangle is a data store- data at rest or a temporary repository of data . The DFD at the simplest level is reffered to as the Context Analysis Diagram.These are expanded by level,each explaining its process in detail.Processes are numbered for easy identification and the data stores and source and destination of data are normally labeled in block 9 letters.Each data flow is labeled for easy understanding.Data Flow Diagram for the above mentioned system is shown in appendix 1.
3.2 PHYSICAL DESIGN

Following the logical design is the physical design.This produces the working system by defining the design specifications that tell programmers exactly what the candidate system must do.In turn,the programmer writes necessary programs or modifies the software package that accepts input from the user ,performs the necessary calculations through the existing file or database,produces the report on a hard copy or displays it on a screen and maintains an updated database at all times. A main stage involved in physical design is the page design(input and output design) .
3.2.1 PAGE DESIGN

The primary consideration is to provide a design that help the user to work smoothly with either MSSQL Server or Oracle even he doesnt have any knowledge of SQL.In order to provide the user with an organized way to use the application,screens are developed in a user-friendly way.There are several options provided ,so that the user can simply select the required one to obtain the necessary information or to perform the necessary operations.
3.2.1.1 INPUT DESIGN

The input design associated with the system includes user_friendly interface screen format,which reduces the burden of the end users ,who are not highly proficient in using computers.The important screens associated with the system are:
1.Login Section:

This is the first input screen which the user uses to log into the GUI.The user has to enter the corerect login name and the password inorder to get access to the software.
2.Connection section:

After correctly logging into the system ,the user selects the connection section for connecting to a particular RDBMS.The user has to give the necessary details like the name of the RDBMS to connect ,server name of the RDBMS,user name and password if any.The connection to the specified RDBMS will be successfully established if all the above information is correctly given.
3.Disconnect Section: 4.Create database:

This screen is used when the user want to disconnect from a RDBMS.

Using this option a new database can be created.A input dialog box appears to enter the name of the databse to be created .This option is valid only only in the case of MSSQL Server.
5.Create table

The user can create tables in the selected database using this. A design view is provided, through which the user can simply enter the field name, select the data type from a select list . There are separate options for setting a field as primary ,unique,or not null. There is also an option for adding checking constraint on a field. 6.Rename Database: A database in MSSQL server can be renamed by selecting this option.The new name should be provided through the interface.
7.Drop Database

10

This is an option provided for dropping an already existing database when the GUI is connected to the MSSQL Server.

8. Drop Table
9. View Table

The user can drop a selected table from the database using this option

10.Table Insert

This option is used to view the contents (rows) in an already existing table. A separate screen is provided so that the user can insert a new row into a selected

table .
11. Table Selection

This option is used to select rows or columns from an already existing table.

o o o o

Select query can be executed in different ways: Specific fields or all fields in a table can be displayed. Only distinct fields can be displayed if required Aggregate function can be applied to a field selected Field or fields satisfying a specific condition can be selected o Selection can also be made using Order by or Group by clause
12.Table Alter

Any alteration on the table can be made on a selected table using this option.The user can alter the datatype of a field,add or drop a field ,add or drop a constraint on a field in a table.
13. Table Update

This option is used for making any updation on a selected table.Any condition for updation can also be specified if required.
14. Table Delete

This option is used for deleting rows from a seleted table.Deletion can also be performed by specifying condition so that only rows satisfying that condition is deleted. Appropriate error messages are generated during all the above operations in case a error occurs.Customized messages are given in place of system messages.Enforcing integrity constraints,data validation are done in such a way that the end user is free from such chores.

3.2.1.2 Output Design:


Computer Output is the most important and direct source of information to the user . Efficient design of intelligible output will improve the systems relationships with the user and help in decision making. A major form of output is a hard copy from the printer. Printouts should be designed around the output requirements of the user. Printers ,CRT screen display are the examples for providing computer based output. The output design is associated with the system includes the various reports of table generations and query executions. These reports can also be converted to a printable version and then be printed. The reports can include:

List existing databases List objects in a database

A database can be selected and the existing tables and their properties can be displayed The user can select a database and then view the tables, queries and other objects in it.
11

System Requirements Analysis

SYSTEM REQUIREMENTS
4.1 HARDWARE REQIUREMENTS

System Processor Main Memory Cache Memory Keyboard HDD FDD Monitor Mouse

PC Wipro Make Pentium III Celeron or higher 64 MB 512 KB 104 standard keyboard 40 GB or more 1.44 MB Wipro 15 SVGA Color Logitech Mouse

4.2 SOFTWARE REQUIREMENTS

Operating System Back End Front End 4.2.1


Software Features

Windows 2000 SQL Server7.0 and Oracle 8i JAVA

Java Overview

The best thing about Java is that it is object oriented and architecture neutral. The promise of object-oriented programming (OOP) is the capability to reuse code. With Java, we no longer have to develop separate applications for different platforms. Large corporations use Java's platform independence to save millions of dollars on a single project. Java has captivated much more than the imaginations. Java is two things: 1. Java is a high level programming language. Java is both compiled and interpreted. With compiler, you can translate a Java program into an intermediate language called Java Byte codes the platform independent codes interpreted by the Java interpreter. With an interpreter, each Java Byte codes instruction is parsed and run on a computer. Compilation happens just once; interpretation occurs each time the program is executed.

12

2. A platform.

A platform is the hardware or software environment in which each a program runs. The Java platform differs from most other platform in that it is software only platform that runs on top other, hardware based platforms. Its two components are A) Java virtual machine (Java VM) b) Java application programming interface (Java API)

Java is modeled after C and C++. Java also borrows extensions from Objective C. These extensions allow for extremely dynamic method resolution. This makes it very easy for current C, Objective C, and C++ developers to transition to Java. Java gets rid of pointers, automatically manages memory, and even features a garbage-collection routine that runs in the background. Because of its intended use on the Web, where even the smallest security vulnerability could potentially be exploited and cause global mayhem, Java was designed with multiple layers of security countermeasures embedded in the compiler, runtime system, and in browsers that support Java, known as Java-enabled browsers. These countermeasures make Java inherently more secure for developing any type of trusted application software. Java is a sound choice for developing software where reliability is of utmost concern, such as mission-critical applications. Java's object-oriented nature combined with numerous, compiletime and runtime integrity checks eliminate many difficult-to-find programming errors. The Java language has removed many of the dangerous programming capabilities, such as modifiable pointers, unchecked type conversion, and relaxed bounds checking, that are commonly found in other programming languages, such as C and C++. The Java API provides full support of multithreaded programming. Multithreaded programs can be developed in a single, consistent manner, independent of the vagaries of the host operating system interface. The Java API provides extensive support of windowing and graphical user interface development without the complexities associated with maintaining multiple window class libraries.
13 Java TAPI (Telephone Application Programmers Interface) provides facilities for accessing modem and Telephone line. It has built in classes for Modem operation.
Java Features

Some of the important features of Java are as follows: Simplicity Object oriented Platform Independent

Security High Performance Mutlithreading Garbage Collection Distributed Dynamic Linking Robust Portable Interpreted

Swings

In Java ,we buid user interfaces using a separate class called Abstract Wondow Toolkit or AWT.But there is a supercharged alternative called Swing .Swing is a set of classes that provides more powerful and flexible components than are possible with the AWT. Swings supply several exciting additions that includes tabbed panes,scrollpanes,trees and ta2bles. Unlike AWT components,Swing componenets are entirely written in Java and therefore are platform-independent.The term lightweight is used to describe such elements.Swing class provides toolbars,tooltips and progress bars.Swing components can provide a pluggable look and feel,which means that it is easy to substitute another appearance and behavior for an element.The proposed software is makes extensive use of a number of swing components.
JDBC Overview

JDBC is a Java TM API for executing SQL statements. It consists of a set of classes and interfaces written in the Java programming language that makes it easy to send SQL statements virtually to any relational database. In other words, with the JDBC API, it is not necessary to write one program to access a Sybase database, another program to access an Oracle Database, another program to access MySQL database and so on. On can write a single program using the JDBC API and the program will be able to send SQL statements to the appropriate database. And, with a program written in the Java programming language one also doesnt have to worry about writing different programs to run on different platforms. The combination of Java and JDBC lets a programmer write it once and run it anywhere. Java, being robust, secures, easy to use, easy to understand and automatically down loadable on a network is an excellent language basis for database applications. What is needed

14

is a way for Java application to talk to variety of different databases JDBC is the mechanism for doing this. JDBC extends what you can do in Java. for e.g., with Java and the JDBC API it is possible to publish a web page containing an applet that uses information obtained from a remote database . Or an enterprise can use JDBC to connect all it employees (even if they are using a conglomeration of Windows, Macintosh and UNIX machines) to one or more internal database via an intra net. With more and more programmers using the accesses from java is continuing to grow. MIS managers like the combination of Java because it makes disseminating information easy and economical. Business can continue to use their installed databases and access information easily even if it is stored on different database management systems. Development time for new applications is short. Installation and version controls are greatly simplified. Here a programmer can write an application or update once, put it on the server and everybody has access to the latest version. And for business selling information services, Java and JDBC offers better way of getting out information updates to external customers. JDBC makes it possible to do four things: 1. Establishes a connection to databases. 2. Send SQL statements 3. Process the results. 4. Close the connection As the proposed system aims at communicating with different type of RDBMS ,JDBC is an important part in its development. The proposed system is desgned to work as an interface to type of RDBMS ,SQL Server and Oracle 8i.So it has two backends.When it is working as an interface for MSSQL Server ,its backend is SQLServer and when its serves as an interface for Oracle,Oracle 8i is its backend.
ABOUT ORACLE

It is the most widely used back end for the web. It gained this much of popularity because of the features like its more fast and high availability. It also provides high security in the query programming.

Oracle basically does three things Let you put data into it Keep the data 15 Lets you get the data and work with it.

An ORDBMS extends the capability of RDBMS to support object-oriented concepts.We can use Oracle as an RDBMS or take the advantage of its object-oriented features. Advantages of using Oracle - 8i This database management system contains many advantages: Oracle-8i is an object relational database management system Oracle-8i database offers capabilities of both relational and object oriented database system Oracle-8i supports very large databases that could contain hundreds of terabytes of information. It provides access to many concurrent users to the order of thousands or ten thousand users. Managing large amount of data could present administrative and performance challenges. Its data partitioning features help to minimize the problem. It supports multi-threaded server. It has an advanced queuing feature. It provides ten-fold size improvement It up to ten times faster. Fast and simple recovery mechanism It provides a new utility , DB_VARIFY, which ensures the logical integrity of the data in an oracle-8i database. It provide better security It support both object oriented concepts and relational data base concepts It supports object - oriented concepts such as encapsulation, polymorphism and inheritance. Oracle products are based on a concept called client / server technology

About MS SQL Server 7.0

SQL Server is a Structured Query Language(SQL) based,client,server relational database.We use SQL Server to manage two types of databases-online transaction processing(OLTP) databases,and online analytical processing(OLAP) databases.Typically,separate clients access the databases by communicating over a network. We can use SQL Server as a family of products and technologies that meets the data storage requirements of OLTP and OLAP environments.SQL Server is a relational database management system (RDBMS) that: Manages data storage for transactions and analysis Responds to requests from client applications.

The

Some of the important features of SQL Server are:

Uses Transact-SQL ,Extensible Markup language (XML),multidimensional expressions(MDX),or SQL Distributed Management Objects(SQL-DMO) to send requests between a client and SQL Server. RDBMS of SQL Server is responsible for: Maintaining the relationships among data in a database Ensuring that data is stored correctly and that the rules defining the relationships among data are not violated. 16 Recovering all data to a point of known consistency, in the event of a system failure.

Ease of installation Many databases capable of supporting all the processing needs of an enterprise are complex and difficult to administer.SQLServer includes many tools and features that simplify the ability to install,deploy,manage and use databases.SQL Server provides database administrators with all the tools required to fine-tune SQLServer installations running production online system.SQLServer is also capable of operating efficiently on a small ,singleuser system with minimal administrative overhead. Scalability The SQL Server version 7.0 database engine operates on Microsoft Windows 95/98,Microsoft Windows NT Server Enterprise Edition.The database engine is a robust server that can manage terabyte database being accessed by thousands of users.At the same time,when running at its default settings,SQL Server 7.0 has features such as dynamic selftuning that let it work effectively on laptops and desktops without burdening users with administrative tasks.

17

SystemDevelopment

SYSTEM DEVELOPMENT
System development is a series of operations performed to manipulate data to produce output from a computer system.This is highly dependent on the programming language used.During the system development phase,the system is constructed from the specifications prepared in the design phase.The principal activities performed during the development phase can be divided into two major related sequence.They are : External system development(to the computer program component) Internal system development(to the computer program component) The major external system development activities are: Implementation Planning Equipment acquisition Installation The major internal system development activities are: Computer program development Performance testing

5.1 CODING STRUCTRUE


Coding structure transalates detailed design representation of software into a programming language realization. Front end tool has been seleted after analyzing: Ease of design to code translation Availabilty of development tools Maintainability Code design has been implemented giving priority to understandability,simplicity, and clarity. Java 2.0 has been selected as the front tool for software development.As the system aims at creating an user friendly interface ,the swing class of JAVA is of much use in its development.Eventhough we can buid interfaces using the Abstract Window Toolkit(AWT)classes of Java,the Swing classes provides more powerful and flexible components than are possible with AWT.In addition to the familiar components ,Swing supplies several additions,including tabbed panes,scroll panes,trees and tables.Even familiar components have more capabilities in Swing,which helps in making the proposed system user friendly to the maximum extend .Swing components can provide a pluggable look and feel i.e.it is easy to substitute another appearnce for an element. And as the proposed system has to communicate with more than one type of RDBMS using the query language SQL,JDBC (Java Database connection) in Java is the right choice for making database connections .Every database has its own Application Program Interface(API) that we must know to write programs that interact with the database.This means that writing code capable of interfacing with databases from more than one vendor has been a daunting challenge.The JDBC API provides Java applications with midlevel access to most database systems via SQL.JDBC is a key enterprise API.JDBC is Suns attempt to create a platform-neutral interface between databases and Java.The JDBC API defines a set of database functionality,including running queries,processing results, and determining configuration information.JDBC driver is a set of classes that implements interface for a particular database systems.An application can use a number of drivers interchangeably.

18

5.2

Access to the application is restricted through a login name and a password.Only those who have given correct login name and password in the login section can have access to the connection section ,where the connection with a particular RDBMS is established.After establishing the connection only ,the appropriate options for various operations in database and its objects are enabled.The login window and connection section is given in appendix2.

USERINTERFACE SPECIFIACTION

19

TESTING
Testing is the process of executing the program with the intent of finding errors. Testing cannot show the absence of defects, it can only show that software errors are present. The testing principles used are 1. Tests are traceable to customer requirements. 2. 80% of errors will likely be traceable to 20 % of program modules 3.Testing should begin in-small and progress towards testing in large System testing is vital for the success of any software system .In this phase, several tests and validations will be carried out on modules to check for their functionality. Testing and debugging is a very critical in system development. The quality of the system is confirmed by the thoroughness of its testing. Duration and cost of testing and debugging is a significant fraction of the system development life cycle and hence influences overall productivity during the system development .In this phase the errors in the program or module are localized and modifications are done to eliminate them. Some of the methods of system testing are given below:
White Box Testing:

This test is conducted during the code generation phase itself. All the errors were rectified at the moment of its discovery. During this testing, it is ensured that 1. All independent paths within a module have been exercised at least once.

2. Exercise all logical decisions on their true or false side.


3. Execute all loops at their boundaries.
Black Box Testing:

It is focused on the functional requirements of the software. It is not an alternative to White Box Testing; rather, it is a complementary approach that is likely to uncover a different class of errors than White Box methods. It is attempted to find errors in the following categories 1. Incorrect or missing functions 2. Interface errors 3. Errors in data structures or external database access 4. Performance errors and 5. Initialization errors.
Unit Testing:

Unit testing is carried out to screen wise,each screen being identified as anobject.Attention is diverted to individual modules,independently to one another to locate errors.in coding and logic. In unit testing,

Module interface is tested to ensure that information properly flows into and out of the program under test. Local data structures are examined to ensure that data stored temporarily maintains its integrity during all steps in algorithm execution. 20 Boundary condition is tested to ensure that the module operates properly at boundaries established to limit or restrict processing. All independent paths through the control structures are executed to ensure that all statements in the module have been executed at least once. Error handling paths are also tested This test focuses verification effort on the smallest unit of software unit of software design, the module .Here, the module interfaces ,boundary conditions ,and all independent paths were verified by inputting false data .Each single operation is tested individually for its correct functionality.

Intergration testing

Integration testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover errors associated with interfacing.Unit tested module were taken and a single program structure was built that has been dictated by the design.Incremental integration has adopted here.The entire software was developed and tested in small segments,where errors were easy to locate and rectify.Each database or table manipulation operation was written as a single java class files and separately tested and combined to form a single program .After integration,the single program was tested again with numerous test data to check for its functionality. The integration can be performed in two ways-Top down integration and Bottom up integration.Here bottom up integration following steps. 1. Low-level modules are combined to form clusters that perform a specific software sub function. 2. The cluster is tested. 3. Drivers are removed and clusters are combined moving upward in the program structure.
Alpha Testing:

is performed. This strategy is implemented with the

A series of Acceptance tests were conducted to enable the employees of the firm to

validate requirements. The end user conducted it. The suggestions, along with the additional requirements of the end user were included in the project.
Beta Testing:

It is to be conducted by the end-user without the presence of the developer. It can be

21

conducted over a period of weeks or month. Since it is a long time consuming activity, its result is out of scope of this project report. But its result will help to enhance the product at a later time.

6.2 IMPLEMENTATION
Implementation is the process of bringing a newly developed system or revised into operational one. it is the practical job of putting a theoretical design into practice. It may involve the complete implementation of a computer complex or the introduction of one small subsystem.The new system and its components are to be tested in a structured and planned manner. The implementation stage of a project is often very complex and time consuming and many more people are involved in the earlier stages. This involves careful planning,investigation of the current system and constraints of implementation ,creating computer-compatible files, installing hardware, training the operating staff in the changeover procedures before the system is setup and running. A critical factor in the conversion is not disrupting the functioning of the organization. The implementation phase of a project covers the period from the acceptance of the tested design to its satisfactory operations, supported by the appropriate user and operations manual. It is a major operation across the whole organizational structure and requires a great deal of planning. The implementation plan involves the following: Testing to confirm effectiveness Detection and correction of errors Making necessary changes so as to satisfy the requirements of U.S.SOFTWARE Pvt.Ltd,Nila, Technopark,

The systemGraphical User Interface For RDBMS has been tested and implemented successfully by the officials and concerned staff Thiruvananthapuram.

22

CONCLUSION

CONCLUSION
8.1 SYSTEM EVALUATION The system is developed aiming at helping a user easily access and work with databases in different RDBMS,even he have little knowledge of SQL.Also the developed system provides a single interface for communicating with more than one type of RDBMS..The new system is developed in Java using MS SQLServer and Oracle. MS SQL Server and Oracle are two commonly used RDBMS, very efficient back end tool for handling databases.The Swing class of Java helped to create many user friendly features like menus,buttons,messages etc in the system.All these can provide better service to the users of this software .So the system succesfully serves the purpose it is aimed at.

8.2MERITS AND SCOPE FOR FUTURE DEVELOPMENT

The Swing class of Java provides many tools that allows to design more user friendly interface such as menus,buttons,dialog boxes,text areas etc.As the system is menu driven ,a user can use it with little training.The user just want to click on certain buttons or select a menu to work with a database and its objects; he doesnt have to type the queries ,nor does he have to possess any knowledge of SQL to work with different databases.For making the system adaptive to the changing environment,it will be necessary that the system will be required to handle some more functions in the future to satisfy the requirements,we can write separate program modules and combine them to the main program.For eg: the system can be further enhanced to handle nested queries,sub queries etc .An option for backing up databases and restoring them is another enhancement.Or the system can be further developed to work as an interface for the MySQL Server ,with some modifications.Thus the number of RDBMS it supports can be incremented,which helps the system to be a more general level GUI (Graphical User Interface). 8.3DRAWBACKS Eventhough the proposed system succeeded in creating a general level Graphical User Interface for most of the commonly used RDBMSs, it still has certain disadvantages.The following are the some of the main disadvantages of the system: User cannot create,rename or drop a new database in Oracle .All that he can work with is the default database in Oracle. Two tables cannot be related using the interface;i.e while creating a table through this interface ,foreign key cannot be set on a field Table level check constraints cannot be applied to a table in a database Nested queries cannot be handled by the system Backing up or restoring a database cannot be done using the system Eventhough the system is developed to communicate with different type of RDBMS residing in a system,still we cannot say that work with every RDBMS in system without any modifiction. Creating new user in Oracle cannot be done through this interface.

23

APPENDICES

Data flow Diagrams

0-LEVEL-DFD

DDL COMMAND

Table Details Data

TABLE STRUCTURE Table

Gui Process

Structure

DML COMMAND

Records

TABLES DATA

II-LEVEL DFD
RDBMS SELECTION PROCESS

SERVER FILE
USER RDBMS Details Server Details

1.1 RDBMS Selection

USER

RDBMS 1.2 Security Checking

User Name And Password Permission

Connection USER

I-LE V EL DFD SERVER FILE META DATA FILE Table Or Database Structure USER RDBMS Details Server Details 1 RDBMS Selection Server 2 DDL Process Reports Table 3 DML Process Data DATA FILE Reports USER

II-level DFD DDL PROCESS

Database Details
Reports

2.1 Database Creation Or Deletion

Database
Structure

USER
Table META DATA Details Meta Data

Table Reports Alteration Details

2.2 Table Creation Or Deletion

Table Structure

Table Structure 2.3 Table Structure Alteration

Reports

Screen Layouts

LOGIN SECTION

RDBMS CONNECTION SECTION

TABLE VIEW

DATABASE PROFILE

DATABASE CREATION

DATABASE DROP

TABLE CREATION

RENAME DATABASE

TABLE INSERTION

TABLE ALTERATION

TABLE UPDATION

TABLE DELETION

TABLE SELECTION

TABLE DROP

TABLE RENAME

BIBLIOGRAPHY
1. 2. 3. 4. 5. 6. 7. 8. JAVA Developer's Guide by Jamie Jaworski Peter Norton's Guide to Java Programming Oracle - 8i -The Complete Reference System Analysis And Design by Elias M. Awad System Analysis And Design by Lee Java 2 Black Book by Steven Holzner Software Engineering, A Practitioners Approach by Rogger Pressman SQL Server 7.0 ,BPB Publications 2000 by Mike Gunderloy and Joseh L.Jorden

SQL QUERY ANALYZER

II-LEVEL DFD DML PROCESS

Data
DATA USER FILE FILE

3.1 Data Insertion


Reports

Records
DATA

Record Details Record Details Reports Reports

3.2
Data Deletion

Updation Condition Reports

Record Details

3.3 Data Updation


And Condition Records

Selection

Table Condition

Table View

3.4 Record Selection

Testing and Implementaton

Vous aimerez peut-être aussi