Sunteți pe pagina 1din 45

CHAPTER 1

INTRODUCTION
Java language is used to build up Desktop Applications, Web Applications, and
Mobile Applications. Java develops programs for different consoles. Android
developers have selected Java programming language also used to developing Android
Applications. Our Core Java Professional Training in Rajkot recommends a variety of
advantages & we also give development of mobile applications in java. Learn
everything in detailed beginners level, basics course, advance topics and professional
Frameworks like hibernate, Struts, spring etc.
Library Management System is a windows application written for 32-bit Windows
operating systems, designed to help users maintain and organize library. Our software
is easy to use for both beginners and advanced users. It features a familiar and well
thought-out, an attractive user interface, combined with strong searching Insertion and
reporting capabilities. The report generation facility of library system helps to get a
good idea of which are the books borrowed by the members, makes users possible to
generate reports hard copy.
.
The software Library Management System has four main modules.

Insertion to Database Module User friendly input screen

Extracting from Database module Attractive Output Screen

Report Generation module Available book list

Search Facility system search for books and members

Department of Computer Science and Engineering

CHAPTER 2

COMPANY PROFILE
Gempulse Infotech Pvt. Ltd (GIPL) is a Jaipur (India) based venture providing total IT
solutions and consultancy for over a decade now at national level. Theirs is a team of
energetic, dynamic and laborious professionals, each one trained in his own specific
field be it designing, development, animation, software development, copy writing,
graphic designing or e-representative.
GIPL is was established in 2001 is an ISO 9001:2008 certified company. It is located
at 7/449, Malviya Nagar Opp Hotel Lalit in Jaipur capital city of Rajasthan. Head
office of GIPL is located at 510, 4th Floor, Apex Mall, Tonk Rd, Lal Kothi, Jaipur.
Contact: +91 141 5113100. Email Id: info@gipl.co.in Website: http://www.gipl.co.in/
The employee strength of GIPL is 51 to 200. They take great pleasure to introduce
themselves as the pioneers in the arena of IT solutions and services. Their initiatives
and efforts take recognition under the name of fullestop.com.
From website designing and Internet solutions to software development and business
consultancy, GIPL offers a wide spectrum of services to suit specific needs and
requirements.
GIPL's Aim
They aim to provide high quality, requirement-oriented, cost-cutting and value-added
software solutions web solutions and related services.
Committed to create an ever-rewarding Internet existence for ambitious companies,
which aim to keep pace with today's swift-moving e-times, they aim to facilitate
growth of your organization in most fruitful manner.
How They Work
At fullestop.com, they realize that not everyone's an IT expert. They won't bombard
you with jargon or expect you to get excited over the latest technologies (they do that
in private). But they will explain the process - clearly and simply - every step of the
way.

Department of Computer Science and Engineering

Each web development project is handled using their tried and tested RAPID
methodology. At the start of the project, they ensure that a complete specification
document is exchanged hands and all questions are answered.
They have executed over 5000 projects till date which range from small to
mammoth sized applications and they would like to add, this journey has been most
satisfying to them as they help, in a small way, to bring smiles to customers.
Products:

Website Design and Development

Multimedia Solutions

Software solutions

E-Marketing

Hosting

Solutions:

IT Outsourcing Solutions
Managed IT Solutions
Cloud Solutions
Engagement Models
Dedicated Teams

Business Solutions
e-learning Solutions
Social Networking Solutions
Online food ordering Solutions
Online doctor appointment Solutions
Ecommerce / B2C Solutions

Department of Computer Science and Engineering

Technology Solutions
Microsoft ASP.NET Solutions
Mobile / Smartphone Solutions
Ruby on Rails (RoR) Solutions
Android Solutions
iPhone / iPad Solutions
LAMP (PHP/MySQL) Solutions
Netsuite Solutions
Open Source Solutions
Drupal CMS Solutions
Magento Ecommerce Solutions
SEO and SEM solutions

Clients:
Vxelearning

Airbounce

OfficeJobs.com

Debi Nishimura

Contactum Ltd.

MexiFire

Beadspoint, Inc.

PDGEMS.com

baldwinexecutive.ca

Capital-Tech Group

Derewala

Mailing List Factory

Forever Trim for Life

I.T.C.L

Gempulse.com

Gemco Designers

Jayanti Gems

Swastik Sales Inc.

Kyanite Gems

ADAMS Law

Sar Gems (Thai) Co. Ltd.

Lisa Lavery & Clothe

Gempulse Infotech Pvt. Ltd. English Management

Sterling Merchant Finance Ltd.


Rajasthan Forest Departmet.

Department of Computer Science and Engineering

CHAPTER 3
LITERATURE
3.1

JAVA

Java is a general-purpose computer programming language that is concurrent, classbased, object-oriented, and specifically designed to have as few implementation
dependencies as possible. It is intended to let application developers "write once, run
anywhere" (WORA), meaning that compiled Java code can run on all platforms that
support Java without the need for recompilation. Java applications are typically
compiled to byte code that can run on any Java virtual machine (JVM) regardless of
computer architecture. As of 2015, Java is one of the most popular programming
languages in use, particularly for client-server web applications, with a reported 9
million developers.[citation needed] Java was originally developed by James Gosling
at Sun Microsystems (which has since been acquired by Oracle Corporation) and
released in 1995 as a core component of Sun Microsystems' Java platform. The
language derives much of its syntax from C and C++, but it has fewer low-level
facilities than either of them.
The original and reference implementation Java compilers, virtual machines, and class
libraries were originally released by Sun under proprietary licenses. As of May 2007,
in compliance with the specifications of the Java Community Process, Sun relicensed
most of its Java technologies under the GNU General Public License. Others have also
developed alternative implementations of these Sun technologies, such as the GNU

Department of Computer Science and Engineering

Compiler for Java (byte code compiler), GNU Class path (standard libraries), and
IcedTea-Web (browser plugin for applets).

Fig. 3.1.1 James Gosling, the creator of Java (2008)


James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language
project in June 1991. Java was originally designed for interactive television, but it was
too advanced for the digital cable television industry at the time. The language was
initially called Oak after an oak tree that stood outside Gosling's office. Later the
project went by the name Green and was finally renamed Java, from Java coffee.
Gosling designed Java with a C/C++-style syntax that system and application
programmers would find familiar.
Sun Microsystems released the first public implementation as Java 1.0 in 1995.[1] It
promised "Write Once, Run Anywhere" (WORA), providing no-cost run-times on
popular platforms. Fairly secure and featuring configurable security, it allowed
network- and file-access restrictions. Major web browsers soon incorporated the
ability to run Java applets within web pages, and Java quickly became popular. The
Java 1.0 compiler was re-written in Java by Arthur van Hoff to comply strictly with
the Java 1.0 language specification. With the advent of Java 2 (released initially as
J2SE 1.2 in December 1998 1999), new versions had multiple configurations built
for different types of platforms. J2EE included technologies and APIs for enterprise
applications typically run in server environments, while J2ME featured APIs
optimized for mobile applications. The desktop version was renamed J2SE. In 2006,

Department of Computer Science and Engineering

for marketing purposes, Sun renamed new J2 versions as Java EE, Java ME, and Java
SE, respectively.
On November 13, 2006, Sun released much of Java as free and open-source software,
(FOSS), under the terms of the GNU General Public License (GPL). On May 8, 2007,
Sun finished the process, making all of Java's core code available under free
software/open-source distribution terms, aside from a small portion of code to which
Sun did not hold the copyright.

Principles
There were five primary goals in the creation of the Java language:
It must be "simple, object-oriented, and familiar".
It must be "robust and secure".
It must be "architecture-neutral and portable".
It must execute with "high performance".
It must be "interpreted, threaded, and dynamic".
Versions
Major release versions of Java, along with their release dates:
JDK 1.0 (January 21, 1996)
JDK 1.1 (February 19, 1997)
J2SE 1.2 (December 8, 1998)
J2SE 1.3 (May 8, 2000)
J2SE 1.4 (February 6, 2002)
J2SE 5.0 (September 30, 2004)
Java SE 6 (December 11, 2006)
Java SE 7 (July 28, 2011)
Java SE 8 (March 18, 2014)

Department of Computer Science and Engineering

JAVA Platform
Java platform must run similarly on any combination of hardware and operating
system with adequate runtime support. This is achieved by compiling the Java
language code to an intermediate representation called Java bytecode, instead of
directly to architecture-specific machine code. Java bytecode instructions are
analogous to machine code, but they are intended to be executed by a virtual machine
(VM) written specifically for the host hardware. End users commonly use a Java
Runtime Environment (JRE) installed on their own machine for standalone Java
applications, or in a web browser for Java applets.

Fig. 3.1.2 JAVA Environment


JVM
The Java Virtual machine (JVM) is the virtual machine that runs the Java byte codes.
The JVM doesn't understand Java typo, that's why you compile your *.java files to
obtain *.class files that contain the byte codes understandable by the JVM. It's also the
entity that allows Java to be a "portable language" (write once, run anywhere). Indeed

Department of Computer Science and Engineering

there are specific implementations of the JVM for different systems, the aim is that
with the same byte codes they all give the same results.
JRE
Java Runtime Environment (JRE) The Java Runtime Environment (JRE) provides the
libraries, the Java Virtual Machine, and other components to run applets and
applications written in the Java programming language. In addition, two key
deployment technologies are part of the JRE: Java Plug-in, which enables applets to
run in popular browsers; and Java Web Start, which deploys standalone applications
over a network. It is also the foundation for the technologies in the Java 2 Platform,
Enterprise Edition (J2EE) for enterprise software development and deployment. The
JRE does not contain tools and utilities such as compilers or debuggers for developing
applets and applications.
JDK
Java Development Kit (JDK) The JDK is a superset of the JRE, and contains
everything that is in the JRE, plus tools such as the compilers and debuggers
necessary for developing applets and applications.
Implementation
Oracle Corporation is the current owner of the official implementation of the Java SE
platform, following their acquisition of Sun Microsystems on January 27, 2010. This
implementation is based on the original implementation of Java by Sun. The Oracle
implementation is available for Microsoft Windows, Mac OS X, Linux and Solaris.
Because Java lacks any formal standardization recognized by Ecma International,
ISO/IEC,

ANSI,

or

other

third-party

standards

organization,

the

Oracle

implementation is the de facto standard.


The Oracle implementation is packaged into two different distributions: The Java
Runtime Environment (JRE) which contains the parts of the Java SE platform required
to run Java programs and is intended for end users, and the Java Development Kit
(JDK), which is intended for software developers and includes development tools such
as the Java compiler, Javadoc, Jar, and a debugger.
Performance
Programs written in Java have a reputation for being slower and requiring more
memory than those written in C++.

Department of Computer Science and Engineering

Some platforms offer direct hardware support for Java; there are microcontrollers that
can run Java in hardware instead of a software Java virtual machine, and ARM based
processors can have hardware support for executing Java byte code through their
Jazelle option.
Automatic memory management
Java uses an automatic garbage collector to manage memory in the object lifecycle.
The programmer determines when objects are created, and the Java runtime is
responsible for recovering the memory once objects are no longer in use. Once no
references to an object remain, the unreachable memory becomes eligible to be freed
automatically by the garbage collector. Something similar to a memory leak may still
occur if a programmer's code holds a reference to an object that is no longer needed,
typically when objects that are no longer needed are stored in containers that are still
in use. If methods for a nonexistent object are called, a "null pointer exception" is
thrown.
Class libraries
The Java Class Library is the standard library, developed to support application
development in Java. It is controlled by Sun Microsystems in cooperation with others
through the Java Community Process program. Companies or individuals participating
in this process can influence the design and development of the APIs. This process has
been a subject of controversy. The class library contains features such as:
The core libraries, which include:
IO/NIO
Networking
Reflection
Concurrency
Generics
Scripting/Compiler
Functional Programming (Lamda, Streaming)
Collection libraries that implement data structures such as lists, dictionaries, trees,
sets, queues and double-ended queue, or stacks.

Department of Computer Science and Engineering

10

Licensing and documentation


Javadoc is a comprehensive documentation system, created by Sun Microsystems,
used by many Java developers. It provides developers with an organized system for
documenting their code. Javadoc comments have an extra asterisk at the beginning,
i.e. the delimiters are /** and */, whereas the normal multi-line comments in Java are
set off with the delimiters /* and */.

JAVA editions
Standard Edition (SE)
Enterprise Edition (EE)
Java Card
JavaFX (Merged to Java SE 8)
Micro Edition (ME)
PersonalJava (discontinued)
Sun has defined and supports four editions of Java targeting different application
environments and segmented many of its APIs so that they belong to one of the
platforms. The platforms are:
Java Card for smartcards
Java Platform, Micro Edition (Java ME)
Java Platform, Standard Edition (Java SE)
Java Platform, Enterprise Edition (Java EE) The classes in the Java APIs are
organized into separate groups called packages. Each package contains a set of related
interfaces, classes and exceptions.

Department of Computer Science and Engineering

11

3.2

SWINGS (JAVA)

Swing is a GUI widget toolkit for Java. It is part of Oracle's Java Foundation Classes
(JFC) an API for providing a graphical user interface (GUI) for Java programs.
Swing was developed to provide a more sophisticated set of GUI components than the
earlier Abstract Window Toolkit (AWT). Swing provides a native look and feel that
emulates the look and feel of several platforms, and also supports a pluggable look
and feel that allows applications to have a look and feel unrelated to the underlying
platform. It has more powerful and flexible components than AWT. In addition to
familiar components such as buttons, check boxes and labels, Swing provides several
advanced components such as tabbed panel, scroll panes, trees, tables, and lists.
Unlike AWT components, Swing components are not implemented by platformspecific code. Instead, they are written entirely in Java and therefore are platformindependent. The term "lightweight" is used to describe such an element.
Swing is currently in the process of being replaced by JavaFX. (In the mean time the
open-source Vaadin Framework has become a web alternative for Swing).

Fig. 3.2.1 Example Swing widgets in Java 5.


Swing introduced a mechanism that allowed the look and feel of every component in
an application to be altered without making substantial changes to the application
code. The introduction of support for a pluggable look and feel allows Swing
components to emulate the appearance of native components while still retaining the
benefits of platform independence. The Swing classes and components are contained
in the javax. swing package hierarchy.
Department of Computer Science and Engineering

12

Architecture
Swing is a platform-independent, Model-View-Controller GUI framework for Java,
which follows a single-threaded programming model.[4] Additionally, this framework
provides a layer of abstraction between the code structure and graphic presentation of
a Swing-based GUI.

Foundations
Swing is platform-independent because it is completely written in Java. Complete
documentation for all Swing classes can be found in the Java API Guide.

Extensible
Swing is a highly modular-based architecture, which allows for the "plugging" of
various custom implementations of specified framework interfaces: Users can provide
their own custom implementation(s) of these components to override the default
implementations using Java's inheritance mechanism.

Customizable
As a general pattern, the visual representation of a Swing component is a composition
of a standard set of elements, such as a border, inset, decorations, and other properties.
Typically, users will programmatically customize a standard Swing component (such
as a JTable) by assigning specific borders, colors, backgrounds, opacities, etc. The
core component will then use these properties to render itself. However, it is also
completely possible to create unique GUI controls with highly customized visual.

Configurable
Swing's heavy reliance on runtime mechanisms and indirect composition patterns
allows it to respond at run time to fundamental changes in its settings. For example, a
Swing-based application is capable of hot swapping its user-interface during runtime.
Furthermore, users can provide their own look and feel implementation, which allows
for uniform changes in the look and feel of existing Swing applications without any
programmatic change to the application code.

Lightweight UI
Swing's high level of flexibility is reflected in its inherent ability to override the native
host operating system (OS)'s GUI controls for displaying itself. Swing "paints" its
controls using the Java 2D APIs, rather than calling a native user interface toolkit.
Thus, a Swing component does not have a corresponding native OS GUI component,

Department of Computer Science and Engineering

13

and is free to render itself in any way that is possible with the underlying graphics
GUIs.

Department of Computer Science and Engineering

14

3.3

MySQL

MySQL is a relational database management system (RDBMS), it was the world's


second most widely used RDBMS, and the most widely used open-source RDBMS. It
is named after co-founder Michael Widenius's daughter, My. The SQL acronym stands
for Structured Query Language. The MySQL development project has made its source
code available under the terms of the GNU General Public License, as well as under a
variety of proprietary agreements. MySQL was owned and sponsored by a single forprofit firm, the Swedish company MySQL AB, now owned by Oracle Corporation.
For proprietary use, several paid editions are available, and offer additional
functionality.
On all platforms except Windows, MySQL ships with no GUI tools to administer
MySQL databases or manage data contained within the databases. Users may use the
included command line tools, or install MySQL Workbench via a separate download.
Many third party GUI tools are also available.
Overview:
MySQL is written in C and C++. Its SQL parser is written in yacc, but it uses a homebrewed lexical analyzer. MySQL works on many system platforms, including AIX,
BSDi, FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, OS X, Microsoft
Windows, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, OS/2 Warp, QNX,
Oracle Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos and
Tru64. A port of MySQL to OpenVMS also exists.
The MySQL server software itself and the client libraries use dual-licensing
distribution. They are offered under GPL version 2, beginning from 28 June 2000
(which in 2009 has been extended with a FLOSS License Exception) or to use a
proprietary license.
Support can be obtained from the official manual. Free support additionally is
available in different IRC channels and forums. Oracle offers paid support via its
MySQL Enterprise products. They differ in the scope of services and in price.
Additionally, a number of third party organisations exist to provide support and
services, including SkySQL Ab and Percona.
MySQL has received positive reviews, and reviewers noticed it "performs extremely
well in the average case." and that the "developer interfaces are there, and the
Department of Computer Science and Engineering

15

documentation (not to mention feedback in the real world via Web sites and the like)
is very, very good". It has also been tested to be a "fast, stable and true multi-user,
multi-threaded sql database server".
History:
MySQL was created by a Swedish company, MySQL AB, founded by David Axmark,
Allan Larsson and Michael "Monty" Widenius. The first version of MySQL appeared
on 23 May 1995. It was initially created for personal usage from mSQL based on the
low-level language ISAM, which the creators considered too slow and inflexible.
They created a new SQL interface, while keeping the same API as mSQL. By keeping
the API consistent with the mSQL system, many developers were able to use MySQL
instead of the (proprietarily licensed) mSQL antecedent.
Deployment:

Fig 3.3.1 deployment model of mysql


MySQL can be built and installed manually from source code, but this can be tedious
so it is more commonly installed from a binary package unless special customizations
are required. On most Linux distributions, the package management system can
download and install MySQL with minimal effort, though further configuration is
often required to adjust security and optimization settings.
Features:
MySQL is offered under two different editions: the open source MySQL Community
Server and the proprietary Enterprise Server. MySQL Enterprise Server is
differentiated by a series of proprietary extensions which install as server plugins, but
otherwise shares the version numbering system and is built from the same code base.
Department of Computer Science and Engineering

16

Major features as available in MySQL 5.6:


A broad subset of ANSI SQL 99, as well as extensions
Cross-platform support
Stored procedures, using a procedural language that closely adheres to

SQL/PSM[72]
Triggers
Cursors
Updatable views
Online DDL when using the InnoDB Storage Engine.
Information schema
Performance Schema
A set of SQL Mode options to control runtime behavior, including a strict mode

to

better adhere to SQL standards.


User interface:

Graphical user interfaces


A graphical user interface (GUI) is a type of interface that allows users to interact with
electronic devices or programs through graphical icons and visual indicators such as
secondary notation, as opposed to text-based interfaces, typed command labels or text
navigation. GUIs are easier to learn than command-line interfaces which require
commands to be typed on the keyboard.
Third-party proprietary and free graphical administration applications (or "front ends")
are available that integrate with MySQL and enable users to work with database
structure and data visually. Some well-known front ends are:
MySQL Workbench, Adminer, Database Workbench, DBEdit, dbForge Studio for
MySQL, HeidiSQL, LibreOffice Base, Navicat, OpenOffice.org, phpMyAdmin,
SQLBuddy, SQLyog.

Command-line interfaces
A command-line interface is a means of interacting with a computer program where
the user issues commands to the program by typing in successive lines of text
(command lines). MySQL ships with many command line tools, from which the main
interface is the mysql client.

Application programming interfaces


Many programming languages with language-specific APIs include libraries for
accessing MySQL databases. These include MySQL Connector/Net for integration
Department of Computer Science and Engineering

17

with Microsoft's Visual Studio (languages such as C# and VB are most commonly
used) and the JDBC driver for Java.
Limitations:
Like other SQL databases, MySQL does not currently comply with the full SQL
standard for some of the implemented functionality, including foreign key references
when using some storage engines other than the default of InnoDB, and check
constraints.
Up until MySQL 5.7, triggers are limited to one per action / timing, meaning that at
most one trigger can be defined to be executed after an INSERT operation, and one
before INSERT on the same table. No triggers can be defined on views.

3.4

JAVA DATABASE CONNECTIVITY

JDBC is a Java database connectivity technology (Java Standard Edition platform)


from Oracle Corporation. This technology is an API for the Java programming
language that defines how a client may access a database. It provides methods for
Department of Computer Science and Engineering

18

querying and updating data in a database. JDBC is oriented towards relational


databases. A JDBC-to-ODBC bridge enables connections to any ODBC-accessible
data source in the JVM host environment.

History and implementation


Sun Microsystems released JDBC as part of JDK 1.1 on February 19, 1997. Since then
it has been part of the Java Standard Edition. The JDBC classes are contained in the
Java package java.sql and javax.sql. Starting with version 3.1, JDBC has been
developed under the Java Community Process. JSR 54 specifies JDBC 3.0 (included
in J2SE 1.4), JSR 114 specifies the JDBC Rowset additions, and JSR 221 is the
specification ofJDBC 4.0

(included in Java SE 6).JDBC 4.1, is specified by a

maintenance release 1 of JSR 221 and is included in Java SE 7. The latest version,
JDBC 4.2, is specified by a maintenance release 2 of JSR 221 and is included in Java
SE 8.
Functionality
JDBC allows multiple implementations to exist and be used by the same application.
The API provides a mechanism for dynamically loading the correct Java packages and
registering them with the JDBC Driver Manager. The Driver Manager is used as a
connection factory for
creating JDBC connections. JDBC connections support creating and executing
statements. These may be update statements such as SQLs CREATE, INSERT,
UPDATE and DELETE, or they may be query statements such as SELECT.
Additionally, stored procedures may be invoked through a JDBC connection. JDBC
represents statements using one of the following classes:
server each and every time.

Prepared Statement the statement is cached and then the execution path is
predetermined on the database server allowing it to be executed multiple times in an
efficient manner.

Callable Statement used for executing stored procedures on the database. Update
statements such as INSERT, UPDATE and DELETE return an update count that
indicates how manyrows were affected in the database. These statements do not return
any other information. Query statements return a JDBC row result set. The row result
set is used to walk over the result set. Individual columns in a row are retrieved either

Department of Computer Science and Engineering

19

by name or by column number. There may be any number of rows in the result set.
The row result set has metadata that describes the names of the columns and their
types. There is an extension to the basic JDBC API in the javax.sql.
JDBC connections are often managed via a connection pool rather than obtained
directly from the driver.
JDBC API Overview
The JDBC API makes it possible to do three things:

Establish a connection with a database or access any tabular data source

Send SQL statements

Process the results


JDBC Architecture
The JDBC API contains two major sets of interfaces: the first is the JDBC API for
application writers, and the second is the lower-level JDBC driver API for driver
writers. JDBC technology drivers fit into one of four categories. Applications and
applets can access databases via the JDBC API using pure Java JDBC technologybased drivers, as shown in this figure. This style of driver translates JDBC calls into
the middleware vendor's protocol, which is then translated to a

Fig- 3.4.1 DBMS protocol by a middleware server. The middleware provides


connectivity to many different databases.

Department of Computer Science and Engineering

20

The graphic below illustrates JDBC connectivity using ODBC drivers and existing
database client libraries.

Fig. 3.4.2 Client Driver

This combination provides JDBC access via ODBC drivers. ODBC binary code -- and
in many cases, database client code -- must be loaded on each client machine that uses
a JDBC-ODBC Bridge. Sun provides a JDBC-ODBC Bridge driver, which is
appropriate for experimental use and for situations in which no other driver is
available.
This type of driver converts JDBC calls into calls on the client API for Oracle, Sybase,
Informix, DB2, or other DBMS. Note that, like the bridge driver, this style of driver
requires that some binary code be loaded on each client machine.
For comparison of driver types, please see the article published in Computerworld.

Partnering for Progress


Sun worked with an array of companies in the industry to create and rapidly establish
the JDBC API as the industry-standard, open interface for Java applications to access
databases.
Industry Momentum
Department of Computer Science and Engineering

21

Leading database, middleware and tool vendors have been building support for JDBC
technology into many new products. This ensures that customers can build portable
Java applications while choosing from a wide range of competitive products for the
solution best suited to their needs. See the Industry Support page for a list of
companies that are shipping products with support for JDBC technology.

Advantages of JDBC Technology


Leverage Existing Enterprise Data
With JDBC technology, businesses are not locked in any proprietary architecture, and
can continue to use their installed databases and access information easily -- even if it
is stored on different database management systems.
Simplified Enterprise Development
The combination of the Java API and the JDBC API makes application development
easy and economical. JDBC hides the complexity of many data access tasks, doing
most of the "heavy lifting"for the programmer behind the scenes. The JDBC API is
simple

to

learn,

easy

to

deploy,

and

inexpensive

to

maintain.

Zero Configuration for Network Computers


With the JDBC API, no configuration is required on the client side. With a driver
written in the Java programming language, all the information needed to make a
connection is completely defined by the JDBC URL or by a DataSource object
registered with a Java Naming and Directory Interface (JNDI) naming service
Key Features
Full Access to Metadata
The JDBC API provides metadata access that enables the development of
sophisticated applications that need to understand the underlying facilities and
capabilities of a specific database connection.
No Installation
A pure JDBC technology-based driver does not require special installation; it is
automatically downloaded as part of the applet that makes the JDBC calls.
Database Connection Identified by URL

Department of Computer Science and Engineering

22

JDBC technology exploits the advantages of Internet-standard URLs to identify


database connections. The JDBC API includes an even better way to identify and
connect to a data source, using a DataSource object, that makes code even more
portable and easier to maintain.

Fig. 3.4.3 Database Connection


In addition to this important advantage, DataSource objects can provide connection
pooling and distributed transactions, essential for enterprise database computing. This
functionality is provided transparently to the programmer.
Included in the Java Platform
As a core part of the Java 2 Platform, the JDBC API is available anywhere that the
platform is. This means that your applications can truly write database applications
once and access data anywhere. The JDBC API is included in both the Java 2
Platform, Standard Edition (J2SE) and the Java 2 Platform, Enterprise Edition (J2EE),
providing server-side
functionality for industrial strength scalability.
An example of a J2EE based architecture that includes a JDBC implementation:

Department of Computer Science and Engineering

23

Fig. 3.4.4 Requirements

Department of Computer Science and Engineering

24

CHAPTER

PROJECT
4.1

PROJECT OVERVIEW
Project Name

Library Management System.

Institute

Gempulse InfoTech private Limited.

Project Type

Windows Desktop Application

Front End

Java swings.

Back End

MySQL Server 5.0.

Tools

Eclipse IDE, SQLYog(enterprise ).

This project Library Management System is software which can manage existing
library system. It is made using Java Swings.
In this project all the frames are designed in Swing. Today most programmers use
Swing. Swing is a set of classes that provides more powerful and flexible GUI
components than does the AWT. Swing provides the look and feel of the modern Java
GUI.
Swing did not exist in the early days of Java. Rather, it was a response to deficiencies
present in Javas original GUI subsystem: the Abstract Window Toolkit. The AWT
defines a basic set of controls, windows, and dialog boxes that support a usable, but
limited graphical interface.

Department of Computer Science and Engineering

25

4.2

SOFTWARE REQUIREMNT SPECIFICATION (SRS)

Introduction: The following subsections of the SRS document provide an overview of


the entire SRS.

Existing system:
System Analysis is a detailed study of the various operations performed by a system
and their relationships within and outside of the system. Here the key question iswhat all problems exist in the present system? What must be done to solve the
problem? Analysis begins when a user or manager begins a study of the program using
existing system.
During analysis, data collected on the various files, decision points and transactions
handled by the present system. The commonly used tools in the system are Data Flow
Diagram, interviews, etc. Training, experience and common sense are required for
collection of relevant information needed to develop the system. The success of the
system depends largely on how clearly the problem is defined, thoroughly investigated
and properly carried out through the choice of solution. A good analysis model should
provide not only the mechanisms of problem understanding but also the frame work of
the solution. Thus it should be studied thoroughly by collecting data about the system.
Then the proposed system should be analyzed thoroughly in accordance with the
needs.
System analysis can be categorized into four parts.

System planning and initial investigation


Information Gathering
Applying analysis tools for structured analysis
Feasibility study
Cost/ Benefit analysis.
In our existing system all the transaction of books are done manually, So taking more
time for a transaction like borrowing a book or returning a book and also for searching
of members and books. Another major disadvantage is that to preparing the list of
books borrowed and the available books in the library will take more time, currently it
is doing as a one day process for verifying all records. So after conducting the

Department of Computer Science and Engineering

26

feasibility study we decided to make the manual Library management system to be


computerized.

Proposed system
Proposed system is an automated Library Management System. Through our software
user can add members, add books, search members, search books, update information,
edit information, borrow and return books in quick time. Our proposed system has the
following advantages.

User friendly interface


Fast access to database
Less error
More Storage Capacity
Search facility
Look and Feel Environment
Quick transaction
All the manual difficulties in managing the Library have been rectified by
implementing computerization.
Feasibility analysis
Whatever we think need not be feasible .It is wise to think about the feasibility of any
problem we undertake. Feasibility is the study of impact, which happens in the
organization by the development of a system. The impact can be either positive or
negative. When the positives nominate the negatives, then the system is considered
feasible. Here the feasibility study can be performed in two ways such as technical
feasibility and Economical Feasibility.

Technical Feasibility:
We can strongly say that it is technically feasible, since there will not be much
difficulty in getting required resources for the development and maintaining the
system as well. All the resources needed for the development of the software as well
as the maintenance of the same is available in the organization here we are utilizing
the resources which are available already.

Department of Computer Science and Engineering

27

Economic Feasibility:
Development of this application is highly economically feasible .The organization
needed not spend much m one for the development of the system already available.
The only thing is to be done is making an environment for the development with an
effective supervision. I f we are doing so , we can attain the maximum usability of the
corresponding resources .Even after the development , the organization will not be in a
condition to invest more in the organization .Therefore , the system is economically
feasible.

Hardware configuration
Processor

Pentium III 630MHz

RAM

128 MB

Hard Disk

20GB

Monitor

15 Color monitor

Key Board

122 Keys

Windows 8,

Software configuration
Operating System

Windows 7,
Windows XP.
Language

Java J2SE Runtime Environment

Database

MySQL SERVER 5.0.

System requirements
This management system can be used in windows 98, Windows2000, Windows XP
and Windows NT, supported for other platform such as Applet, Macintosh and UNIX.

Department of Computer Science and Engineering

28

The system must be running Windows 98, Windows 98 or Windows NT4.0 operating
system and must meet the following hardware requirements.
For Windows 95 based computers , a 486 / 66 MHz or higher
processor with
8MB
For Windows 98 based computers , a 500/88MHz or higher processor
with 32
Mb of RAM
For Windows NT based computers , a 488 / 66 MHz or higher
processor with
16 MB of RAM
For Windows 200 based computers , a 700/850 MHz or higher
processor with

4.3

512 MB of Ram

DATA FLOW DIAGRAM

DFD also known as bubble chart has the purpose of clarifying system requirements
and identifying major transformations. It shows the flow of data through a system. It is
a graphical tool because it presents a picture. The DFD may be partitioned into levels
that represent increasing information flow and functional detail. Four simple notations
are used to complete a DFD. These notations are given below:-

Department of Computer Science and Engineering

29

Data flow: - The data flow is used to describe the movement of information from one
part of the system to another part. Flows represent data in motion. It is a pipe line
through which information flows. Data flow is represented by an arrow.

Process: - A circle or bubble represents a process that transforms incoming data to


outgoing data. Process shows a part of the system that transforms inputs to outputs.

External entity: - A square defines a source or destination of system data. External


entities represent any entity that supplies or receive information from the system but is
not a part of the system.

Data store: - The data store represents a logical file. A logical file can represent either
a data store symbol which can represent either a data structure or a physical file on
disk. The data store is used to collect data at rest or a temporary repository of data. It is
represented by open rectangle.

Output:-The output symbol is used when a hard copy is produced and the user of the
copies cannot be clearly specified or there are several users of the output.

Fig 4.3.1 Data Flow Diagram

Department of Computer Science and Engineering

30

Fig 4.3.2 Data Flow Diagram (book)

Department of Computer Science and Engineering

31

Fig 4.3.3 Data Flow Diagram (member)

4.4

PROBLEM DEFINITION

Library management system is designed to manage library through windows


application. Unlike other library management systems this website should not be just
for the students instead it should also provide facility to Institutes to host management
of library. This will help institutes as:

There will be no need to get new software every time to manage a library.

Also like other application, it will help students as well admin by:
1

Saving the extra time of going rack to rack for searching books.

Students need not wait for admin Authentication.

Also this website will remove the flaws of existing Manual Systems like:

Reducing the manual labor (Decreases Overheads).

Avoiding Mistakes Due To Human Error (Accurate).

Department of Computer Science and Engineering

32

Will Increase Efficiency and Save Time.

Will Allow Neat Handling Of Data Rather Than Error Prone Records.

The institutes will register themselves with a unique login name and password,
the unique id will be issued to student.

CHAPTER 5
SOFTWARE INTERFACE
Login page :

Department of Computer Science and Engineering

33

Fig 5.1
Registration :

Fig 5.2
Admin Section :

Department of Computer Science and Engineering

34

Fig 5.3
Add New Book:

Fig 5.4

Fig 5.4.1

Department of Computer Science and Engineering

35

Fig 5.4.2

Fig 5.4.3

Fig 5.4.4
Search Book:

Department of Computer Science and Engineering

36

Fig 5.5

After Search:

Fig 5.6

Department of Computer Science and Engineering

37

CHAPTER 6
DATABASE SCHEMA
Login table:

Table 6.1
Registration table:

Table 6.2
Author Table:

Table 6.3
Publication Table:

Department of Computer Science and Engineering

38

Table 6.4
Subject Table:

Table 6.5
Category Table:

Table 6.6
Book Table:

Table 6.7

Department of Computer Science and Engineering

39

CHAPTER 7
FEASIEBILITY STUDY
Once scope has been identified (with the concurrence of the customer), it is reasonable
to ask: Can we build software to meet this scope? Is the project feasible? All too
often, software engineers rush past this questions (or are pushed past them by
impatient managers or customers), only to become mired in a project that is doomed
from the onset.

When we are developing the system (software), we must know the proposed system
will be feasible or i.e. practically implemented or not it may possible the
proposed( candidate ) system may not implemented due to many reasons like it may
take long time in development than the specified time limit ,cost may increase than
proposed one etc.
Therefore we must analyze the feasibility of the system. Feasibility is the analysis of
risks, costs & benefits relating to economics, technology & user operation.
There are several types of feasibility depending on the aspect they
covers. Some important feasibility is as follows:-

Technical Feasibility

Operational Feasibility

Economic Feasibility

Technical feasibility
The technically feasibility study basically centers on alternatives for hardware,
software and design approach to determine the functional aspects of system. This
project on Online Examination will be platform independent since it is being coded in
JAVA language (using JSP and SERVLETS).HTML is used to create web pages. MSAccess database will be used for storing data. Hardware requirements used are
compatible with all O.S. Only authorized person would be able to use the website so it
would be secure. The system can also be expanded as per the needs of requirement
specification.

Department of Computer Science and Engineering

40

Operational feasibility
Operational Feasibility is a measure of how people are able to work with system. This
type of feasibility demands if the system will work when developed and installed.
Since website is very user friendly so users will find it comfortable to work on this
site.

Economic feasibility
Economic analysis is the most frequently used evaluating the effectiveness of proposed
system, more commonly known as Benefit analysis. The Benefit analysis is to
determine benefits and savings which are expected from candidate system and
compare them with cost. If the benefits are more than the cost, then decision is made
to design and implement the system. The cost and benefits may be direct or indirect
and tangible or intangible.

Department of Computer Science and Engineering

41

CHAPTER

TESTING
Software testing is the process of executing a program with intension of finding errors
in the code. It is a process of evolution of system or its parts by manual or automatic
means to verify that it is satisfying specified or requirements or not.
Generally, no system is perfect due to communication problems between user and
developer, time constraints, or conceptual mistakes by developer.
To purpose of system testing is to check and find out these errors or faults as early as
possible so losses due to it can be saved. Testing is the fundamental process of
software success.
Testing is not a distinct phase in system development life cycle but should be
applicable throughout all phases i.e. design development and maintenance phase.
Testing is used to show incorrectness and considered to success when an error is
detected.

Objectives of software testing


The software testing is usually performed for the following objectives:-

Software quality improvement


The computer and the software are mainly used for complex and critical applications
and a bug or fault in software causes severe losses. So a great consideration is required
for checking for quality of software.

Verification and validation


Verification means to test that we are building the product in right way .i.e. are we
using the correct procedure for the development of software so that it can meet the
user requirements. Validation means to check whether we are building the right
product or not.

Software reliability estimation

Department of Computer Science and Engineering

42

The objective is to discover the residual designing errors before delivery to the
customer.
The failure data during process are taken down in order to estimate the software
reliability.
Principles of software testing
Software testing is an extremely creative and challenging task. Some important
principles of software testing are as given:All tests should be traceable to customer requirements.
Testing time and resources should be limited i.e. avoid redundant testing.
It is impossible to test everything.
Use effective resources to test.
Test should be planned long before testing begins i.e. after requirement phase.
Test for invalid and unexpected input conditions as well as valid conditions.
Testing should begin in in the small and progress towards testing in the large.
For the most effective testing should be conducted by an independent party.
Keep software static (without change meanwhile) during test.
Document test cases and test results.
Examining what the software not doing which it expected to do and also checking
what it is doing that was not expected to do.

Strategy for software testing


Different levels of testing are used in the test process; each level of testing aims to test
different aspects of the system.
The first level is unit testing. In this testing, individual components are tested to ensure
that they operate correctly. It focuses on verification efforts.
The second level is integration testing. It is a systematic technique for constructing the
program structure. In this testing, many tested modules are combined into the
subsystem which is then tested. The good here is to see if the modules can be
integrated properly.
Third level is integration testing? System testing is actually a series of different tests
whose primary purpose is to fully exercise computer based system. These tests fall
outside scope of software process and are not conducted solely by software engineers.
Department of Computer Science and Engineering

43

CHAPTER 9
CONCLUSION
After getting through with this project successfully, we came to know how an
institution with the help of this program can conduct its online examination quite
easily and efficiently. We have also learnt that how through this program can help in
saving time efficiently.

Library management can make the students life easier because they dont need search
book manually. Furthermore, Library management can be effective and efficient. The
students dont waste much time to search books only. One other advantage of Library
management is that we can know available books in library.

Department of Computer Science and Engineering

44

REFERENCES
The following books and website were very helpful during the completion of project:
[1] Books:
i.

Head First Java, Second Edition, By: Kathy Sierra, Bert Bates, Covers java
5.0, Proceeded by Head first design pattern, Published in 2003, Marketed
and manufactured by O'Reilly - O'Reilly Media.

ii.

Programing with java A Premier, Fourth Edition, By: BalaGuru Swami,


Covers JAVA SE 6, Published in 2013, Marketed and manufactured by
McGraw Hill Education (India) Private Limited.

iii.

Software Engineering, Third Edition, By: K.K. Aggarwal and Yogesh Singh,
Published in 2008, Marketed and manufactured by New Age International
Publishers.

[2] Websites:
i.

JAVA (Programing Language), Article from Wikipedia, the free


encyclopedia, Modified on 18 September 2015
https://en.wikipedia.org/wiki/Java_(programming_language)

ii.

JAVA Tutorial, Online tutorial from Tutorialspoint, Simply easy learning


http://www.tutorialspoint.com/java/

iii.

JDBC Tutorial, Online tutorial from Love2code, By: Chad (shod) Darby,
Last Updated on Thursday, 18 June 2015
http://www.luv2code.com/jdbc/

iv.

JDBC Tutorial, Online tutorial from Tutorialspoint, Simply easy learning,


http://www.tutorialspoint.com/jdbc/index.htm

Department of Computer Science and Engineering

45

S-ar putea să vă placă și