project on library management
DESCRIPTION
Library management project facilities to register the books, add or remove book, search / issue book, return book, and to view transaction records.TRANSCRIPT
1.INTRODUCTION
1.1 ABSTRACTIn a library system, student can take books and return the books and renewal the books
taken by them and they have permission to access only certain no of books, staff can take only
certain no. of books at a time and they have permission to use that book for any no. of days.
Student has to renewal the books taken by them for every 15 days, if they did do that they have
to pay a fine of fixed amount for the book for one day. Until they pay the fine, they are not
eligible to take any other books. Each and every time, the administrator or the librarian has to
update the database of the library so that the student or the staff can be able to know how many
books are there in the library, only librarian can able to change the database of the library.
1.2 PURPOSE OF THE PROJECT
Library management project facilities to register the books, add or remove book, search /
issue book, return book, and to view transaction records. The books are searched based on the
constraint (author name / book id). It limits every student to have not more than 2 books in his
account. After the books are issued for the particular member using the member id.books
includes the returning and borrowing dates. It assigns fine to the student if he/she fails in
returning the book before the returning date. It also gives admin to check the billing states of the
books available in the library.
The main purpose of library management system is to provide security to the librarian of
storing the book details. This will provide the user flexibility in getting the book from the library.
This also reduces the burden of storing the records in the books.
1.2.1 OBJECTIVE OF THE PROJECTThe objectives of the library management are
Flexibility for finding the information about staff
Of help to the head
1
So requires automating
Move towards to a paperless work
1.3 Proposed System Overview
Functional requirements
Nonfunctional requirements
Response time
Throughput
Resource usage
Reliability
Availability
Recovery from failure
Allowances for reusability
Platform
Technology to be used
2.REQUIREMENT ANALYSIS
2
2.1 SOFTWARE REQUIREMENTS Softwares: JAVA 1.6, Tomcat
Operating system: windows XP
Front-end: JSP
Back –end: Oracle
2.2 HARDWARE REQUIREMENTS Processor: intel Pentium IV
Ram:256MB
Hard disk: 250MB
2.3 FUNCTIONAL REQUIREMENTS
Functional requirements describe what the system should do, i.e the services provided
from the users and for other systems. The functional requirements should include
Everything that a user of a system would need to know regarding what the system does
Everything that would concern any other system that has to interface to this system.
2.4 NON FUNCTIONAL REQUIREMENTSNon functional requirements are the constraints that must be adhered to during
development. They limit what resources can be used and set bounds on aspects of the software’s
quality. One of the most important things about non functional is to make them verifiable.
3.ROLES
3
3.1 ADMINISTRATOR ROLEThe role of the administrator is to maintain the database by performing some specified
operations at the server.
The administrator has to perform many tasks like
Adding the details of the book
Deleting the details of the book
Modifying the details of the book
Searching for the details of the book
Updating the database
3.2 DATABASE ROLEThe role of database is to store the id and password that were given by the administrator
or the user at time of registering and then use those details for authentication purpose. The
database also plays a key role in creating domains and new data in a domain.
4.LITERATURE SURVEY
4
4.1 JAVA SERVER PAGESA Java server page is a technology for developing web pages that include dynamic
content. Unlike plain HTML page, which contains static content that always remain the same , a
JSP page can change its content based on any number of variable items, including the identity of
the user, the users browser type, information provided by the user, and selections made by the
user. This functionality is key to web applications such as online shopping and employee
directories, as well as for personalized and internationalized content.
A JSP page contains standard markup language elements, such as HTML tags, just like a
regular web page. However, a JSP page also contains special JSP elements that allow the server
to insert dynamic content in the page. JSP elements can be used for a variety of purpose, such as
retrieving information from a database or registering user preferences. When a user asks for a
JSP page, the server executes the JSP elements, merges the result with the static parts of the
page, and sends the dynamically composed page back to the browser.
JSP defines a number of standard elements that are useful for any web applications, such
as accessing JavaBeans components, passing control between pages and sharing information
between requests, pages, and users. Developers can also extend the JSP syntax by implementing
application –specific data. One such set of commonly needed custom elements is defined by a
specification related to the JSP specification: the JSP standard tag library (JSTL) specification.
The combination of standard elements and custom elements allows for the creation of powerful
web application.
In the early days of web, the common gateway Interface (CGI) was the only tool for
developing dynamic web content. However CGI is not an efficient solution. For every request
that comes in, the web server has to create a new operating-system process. Load an interpreter
and script, execute the script, and then tare it all down again. This is very taxing for the server
and doesn’t scale well when the amount of traffic increase.
Numerous CGI alternatives and enhancements, such as fast CGI, mod_perl from apache,
NSAPI from Netscape, ISAPI from Microsoft, and java sevlets from sun micro systems, have
been created over the years. While these solutions offer better performance and scalability, all
5
these technologies suffer from a common problem: they generate web pages embedding HTML
directly in programming language code. This pushes the creation of dynamic web pages
exclusively into the realm of programmers. Java server pages, however, changes all that.
4.2 HTMLHTML STANDS FOR hyper text markup language based on the standard generalized
markup language, which is used to design the general, structure of various kinds of documents. It
is page description language like neither postscript, nor it a language that can be easily generated
from your favorite page layout program.HTML by virtue of SGML heritage is a language for
describing structured documents. Now days designing and programming web pages on the
internet are very hot things where the pages designed with HTML. HTML is a system for
making of documents with informational tags that indicates how the documentation are linked
together, hyper text links are powerful.
HTML is a hot spot in the current situation though it is used for structuring the document
but also in the html markup scheme lies the power to create interactive, cross platform,
multimedia, client-server applications. This string of adjectives is not just hype, such systems do
exit and are called world wide web(www), lives on the internet providing organization to a wide
variety of resources’ as computers located around the globe. The web, also known as www, plays
a large part in continuous development of HTML, and the WEB will play a large part in the way
you write and structure HTML documents. The www represents the large possible audience for
your work. HTML is very hot track of today on internet because it is highly interactive.
Interactivity between web client and server is possible in HTML by filling the forms,
which are processed by CGI scripts, and is written in any languages. It means, we can include
JAVA, PERL, javascript, VBSCRIPT etc in HTML to make the pages still more powerful and
attractive.
4.2.1 HYPERLINKSHyperlinks play a major role in HTML, hyperlink is a link which when clicked takes you
to a screen where a more detailed information of that link will be available, hyperlink can even
6
point to a remote document, in the sense that it can point to a document, which resides in a
different directory. When the movement of the mouse looks like a palm with the finger pointing
upwards, it implies that it is a hyperlink.
4.2.2 Different ways of organizing the content on web sitesEffectively organizing the content can make difference between a web site that people
put on their favorite list and the one they leave in frustration of not being able to find what they
want. People commonly organize their pages according to hierarchical, linear or spider web link
structures.
4.2.3 OVERVIEW OF JDBCJDBCTM is a JavaTM API for executing SQL statements. (As a point of interest, JDBC is a
trademarked name and is not an acronym; nevertheless, JDBC is often thought of as standing for
"Java Database Connectivity".) It consists of a set of classes and interfaces written in the Java
programming language. JDBC provides a standard API for tool/database developers and makes it
possible to write database applications using a pure Java API.
Using JDBC, it is easy to send SQL statements to virtually any relational database. In
other words, with the JDBC API, it isn't necessary to write one program to access a Sybase
database, another program to access an Oracle database, another program to access an Informix
database, and so on. One 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 an application written in
the Java programming language, one also doesn't have to worry about writing different
applications to run on different platforms. The combination of Java and JDBC lets a programmer
write it once and run it anywhere.
Java being robust, secure, easy to use, easy to understand, and automatically
downloadable on a network, is an excellent language basis for database applications. What is
needed is a way for Java applications to talk to a variety of different databases. JDBC is the
mechanism for doing this.
7
JDBC extends what can be done in Java. For example, 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 its employees (even if they are using a
conglomeration of Windows, Macintosh, and UNIX machines) to one or more internal databases
via an intranet. With more and more programmers using the Java programming language, the
need for easy database access from Java is continuing to grow.
4.2.4 THE JDBC DRIVERS
JDBC-ODBC Bridge plus ODBC driverA JDBC-ODBC bridge provides JDBC API access via one or more ODBC drivers. Note that
some ODBC native code and in many cases native database client code must be loaded on each
client machine that uses this type of driver. Hence, this kind of driver is generally most
appropriate when automatic installation and downloading of a Java technology application is not
important.
4.2.5 Native API partly Java driverA native-API partly Java technology-enabled 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.
4.3 JDBC-Net pure Java driverA net-protocol fully Java technology-enabled driver translates JDBC API calls into a
DBMS-independent net protocol which is then translated to a DBMS protocol by a server. This
net server middleware is able to connect all of its Java technology-based clients to many
different databases. The specific protocol used depends on the vendor. In general, this is the most
flexible JDBC API alternative. It is likely that all vendors of this solution will provide products
suitable for Intranet use. In order for these products to also support Internet access they must
handle the additional requirements for security, access through firewalls, etc., that the Web
8
imposes. Several vendors are adding JDBC technology-based drivers to their existing database
middleware products.
4.3.1 Native protocol pure Java driverA native-protocol fully Java technology-enabled driver converts JDBC technology calls
into the network protocol used by DBMSs directly. This allows a direct call from the client
machine to the DBMS server and is a practical solution for Intranet access. Since many of these
protocols are proprietary the database vendors themselves will be the primary source for this
style of driver. Several database vendors have these in progress.
4.3.2 CONNECTIONA connection object represents a connection with a database. A connection session
includes the SQL statements that are executed and the results that are returned over the
connection. A single application can have one or more connections with a single database, or it
can have connections with many different databases.
4.3.3 OPENING A CONNECTIONThe standard way to establish a connection with a database is to call the method
DriverManager.getConnection. This method takes a string containing a URL. The Driver
Manager class, referred to a the JDBC management layer, attempts to locate a driver than can
connect to the database represented Driver classes, and when the method get Connection is
called, it checks with each driver in the list until it finds one that can connect uses this URL to
actually establish the connection.<Sub protocol>-usually the driver or the database connectivity
mechanism, which may be supported by one or more drivers. A prominent example of a sub
protocol name is “oracle”, which has been reserved for URLs that specify “thin”-style data
source names.
<Sub name>- a way to identify the database. The sub names can vary, depending on the
sub protocol, and it can have a sub name with any internal syntax the driver writer chooses. The
point of a sub name is to give enough information to locate the database.
9
4.3.4 SENDING STATEMENTOnce a connection is established, it is used to pass SQL statements to its underlying database.
JDBC does not put any restrictions on the kinds of SQL statements that can be sent; this provides
a great deal of flexibility, allowing the use of database-specific statements or even non-SQL
statements. It requires, however, that the user be responsible for making sure that the underlying
database can process the SQL statements being sent and suffer the consequences if it cannot.
4.3.5 DRIVER MANAGERThe Driver Manager class is the management layer of JDBC, working between the user and the
drivers. It keeps track of the drivers that are available and handles establishing a connection
between a database and the appropriate driver. It addition, the driver manager class attends to
things like driver login time limits and the printing of log and tracing messages. The only method
in this class that a general programmer needs to use directly is DriverManager.getConnection.
As its name implies, this method establishes a connection to a database.
4.4 OVERVIEW OF DATABASE
What is a Database?A database is a collection of information that is organized so that it can easily be accessed,
managed, and updated. In one view, databases can be classified according to types of content:
bibliographic, full-text, numeric, and images.
4.4.1 Relational databasesA relational database matches data by using common characteristics found within the
data set. The resulting groups of data are organized and are much easier for people to understand.
For example, a data set containing all the real-estate transactions in a town can be grouped by the
year the transaction occurred; or it can be grouped by the sale price of the transaction; or it can
be grouped by the buyer's last name; and so on. Such a grouping uses the relational model (a
technical term for this is schema). Hence, such a database is called a "relational database."The
software used to do this grouping is called a relational database management system. The term
"relational database" often refers to this type of software. Relational databases are currently the
10
predominant choice in storing financial records, manufacturing and logistical information,
personnel data and much more.
4.4.2 Designing a DatabaseDatabase design is the process of producing a detailed data model of a database. This logical data
model contains all the needed logical and physical design choices and physical storage
parameters needed to generate a design in a Data Definition Language, which can then be used to
create a database. A fully attributed data model contains detailed attributes for each entity.
4.4.3 Steps followed in designing a database Determine the purpose of your database.
Determine the tables you need in the database.
Determine the fields you need in the tables.
Identify fields with unique values.
Determine the relationships between tables.
Refine your design.
4.5 JAVASCRIPTJavaScript is an object-oriented scripting language used to enable programmatic access to
objects within both the client application and other applications. It is primarily used in the form
of client-side JavaScript, implemented as an integrated component of the web browser, allowing
the development of enhanced user interfaces and dynamic websites. JavaScript is a dialect of the
ECMAScript standard and is characterized as a dynamic, weakly typed, prototype-based
language with first-class functions. JavaScript was influenced by many languages and was
designed to look like Java, but to be easier for non-programmers to work with.
5.SYSTEM DESIGN
11
5.1 USECASE DIAGRAM Usecase diagram is a set of usecases, actors and their relationships. A more detailed
description might characterize a use case as
A pattern of behavior the system exhibits
A sequence of related transactions performed by an actor and the system
Delivering something of value to the actor
Use-case diagram depict the functionality of the system. The use case diagram has
the following types of elements.
1. Actor
2. Use-case
3. Association.
1) Actor:
Shown as a stickfigure icon. This represents users and external systems with which the
system we are discussing interacts.
2)Use-case
Shown as an ellipse. This represents a functional requirement that is described from the
perspective of the user’s of a system.
3)Association
Shown as a solid line path from an actor to use-case. This represents that the actor
uses the use-case.
Actor use-case
12
Usecase diagram for Library Management System
5.2 SEQUENCE DIAGRAMSequence diagram is an interaction diagram that emphasis the time ordering of
messages. Sequence diagram are isomorphoic, meaning that you can take one and transform it
into the other.
13
RequestForVIPUser
ManageBook
AddBook
DeleteBook
UpdateBook
ViewAllBooks
Login
Librarian
BorrowBook
ReturnBook
ReserveBook
RenewalBook
SearchBook
FeedBack
User
Login
Student
NewUser
Staff
MaintainDatabaseLibraryDatabase
UserRegistration
RequestForNewBook
BorrowCD
HomeDeliveryReturnCD
VIPUser
A horizontal axis shows elements involved in the interaction and the vertical axis
represents time proceeding down the page. The sequence diagram has following types of
elements.
1) Classes and objects
2) Lifeline
3) Communication between objects
1) Classes and objects Classes are so much the same way as on class diagram. Objects may also be shown much
the same way as an object diagram.
2) Lifeline Shown as a vertically dashed life from an element. This represents the existence of the
element over time.
3) Communication:
Shown as a horizontal solid arrow from the lifeline of the sender to the lifeline of the
receiver and labeled with the name of the operation to be invoked. This represents that sender
sends a message or stimulus to the receiver.
a) User Registration:
14
: userRegistration
FormRegistration DataBase
1:Request Registration Form
2 :Details For Registration
3 :Give Details
4 :Register
5 :Update Registration
6 :Confirm Registration
15
b) Borrow a Book:
: user System Interface
Book List User Account
Sign InCheck Valid or Not
Valid User ID
View Book List
Display Book List
Borrow Book With Title Search Book
Recheck if Available
Check User AccountVerify Status
Book Not in Account
Issue the Book
16
c) Add a Book:
: user System Interface
Book List Library DataBase
Request for Logincheck Valid or not
Valid User
Add Book with title
Check valid or not
Invalid Book Already existed
Add Book With Title
Check valid or not
Valid Book Adder
Update the DataBase
DataBase Updated
17
d) Return a Book:
: user System Interface
User Account
Sign InCheck Valid or not
Valid User
Return a Book
Check User Account
Check Valid or not
Return Valid
Update User Account
18
5.3 CLASS DIAGRAMClass diagram shows a set of classes, interfaces, collaborations and their relationships. It
address the static design view of a system.Class diagram is used to display some of the classes
and packages in your system.Class diagrams help the developers see and plan the structure of the
system before the code is written helping to ensure that the system is well designed from the
beginning.
Generally, a class is rendered as rectangle, usually including its name, attributes and
operations.
A class is depicted on the class diagram as a rectangle with three horizontal sections. The
upper section shows the class's name; the middle section contains the class's attributes; and the
lower section contains the class's operations.
we use classes to capture the vocabulary of the system we are developing. These classes
may include abstractions that are part of the problem domain, as well as classes that make up an
implementation.
19
Name
Attributes
Operations
UsersDatabaseName : StringId : NumberBranch : String
Working()NotWorking()UsersDatabase()
VIPUser
RequestNewBook()HomeDelivery()BorrowCDs()ReturnCDs()VIPUser()
LibrarianQualification : StringLibrarianExperience : IntegerLibrarianID : NumberLibrarianPassword : StringUpdateBook() : Boolean
CheckDatabase()AddBook()DeleteBook()Librarian()Login()
Database
AddBooks()DeleteBook()AddCDs()DeleteCDS()AddMagazines()DeleteMagazines()Database()
LibrarySystemLibraryName : StringLibraryIncharge : Logical View : StringLibrarianName : String
ViewLibraryDatabase()ViewUsersList()LibrarySystem()
+Works in
+Need for
UserUserName : StringUserID : NameUserPassword : String
Login()
1..*1..*
<<uses>>
<<uses>>
NormalUserBranch : String
NormalUser()
BookListBookAuthor : StringBookId : Integer
UpdateBook()VIewBookList()BookList()
Student
Student()
1..*1..*
+Checks
BorrowBook
BookList()CDList()
CDListCDId : LogicalView : StringSoftwareName : String
UpdateCDs()ViewCDList()CDList()
StaffDepartment : StringDesignation : String
RequestForMoreBooks()Staff()
1..*
1..*
+Checks1..*
+Borrows
1..*BorrowCD
CDName : StringStaffName : String
CDList()
+m_LibrarySystem
+m_User
20
5.4 ACTIVITY DIAGRAMAn activity diagram is a special kind of state chart diagram that shows the flow from
activity to activity within a system. Activity diagrams address the dynamic view of a system.
They are especially important in modeling the functions of a system and emphasize the flow of
control among objects.
Activity diagram depicts the activities and responsibilities of elements. Activity diagram
have the following type of elements.
Action state
Control flow transition
Initial action state
Final action state
Object flow
Swimlane
Action state Shown as a shape with straight top with bottom convex arc on two sides. This represents
processing.
Control flow transitionShown as a solid line from source action state to target action state. This represents that
once the source action state completes its processing the target action state starts it’s processing.
Initial action stateShown as a small solid filled circle, the control flow transition originating from the initial
state specifies the first action state.
21
Final action stateShown as a circle surrounding a small solid filled circle (bull’s eye) the control transition
to the final state specifies the final action state.
Object flowShown as a dashed arrow between an action state and an object. This represents that
action state inputs or outputs the object. An input object flow which points to an action state,
represents that the action state inputs the objects, an output object flow which points to an
objects, represents that the action state outputs the objects.
A swimlaneShown as a visual region separated from neighboring swimlane by vertical solid lines on
both sides and labeled at the top with the element responsible for action state within swimlane.
This represents responsibility.
22
a) Activity diagram With Swimlanes
Book Searching
[ borrower ]
Wait in Queue
[ returner ]
Copying Book Details
[ borrowing ]
CopyBookDetails
RearrangeBook
PrepareforNextMember
Library StaffStudent/Staff
23
b) Activity Diagram without swimlanes
SubmitApplication
IssueMembership
BookBank[ Reservation ]
IssueBooks
ReturnBooksinTime
CollectFine[ Late Submission ]
Rearrange Book
[ else ]
24
6.PSEUDO CODE
Validation.html<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<% Connection conn;
try
{
Class.forName("org.postgresql.Driver");
conn=DriverManager.getConnection("jdbc:postgresql://localhost/test","test","
");
//data retriving through html through getParameter method this method call through request
object....
String username=request.getParameter("username");
String password=request.getParameter("password");
//creating statement interface object through connection intreface object calling
createStatement() method ..........
Statement stmt=conn.createStatement();
//creating result set
ResultSet rs;
//here we retrive data through executeQuery method.hear we are calling executeQuery method
through statement object.after executing data will be store resultset object.
rs=stmt.executeQuery("select * from admin where username='"+username+"' and
password='"+password+"'");
//ADMIN CHECKING IF THE ABOVE INSTRUCTION EXECUTE SUCCESSFULLY THEN
RESULTSET OBJECT STORES DATA IF RESULTSET HAVING DATA THEN
FOLLOWING IF CONDITION EXECUTES OTHERVISE ELSE PART EXECUTE
if(rs.next())
{
25
//SESSION CREATION THROUGH GETSESSION METHOD.HERE WE ARE ENBLE
SESSION.
request.getSession(true);//creating new session
//SESSION ATTRIBUTE CREATION THROUGH setAttribute METHOD
session.setAttribute("username",username);
session.setAttribute("password",password);
%>
<jsp:forward page="admin3.jsp"/>
<%
}else{session.setAttribute("username",null);
session.setAttribute("password",null);
%>
<html><body bgcolor="gray">
<table border="0" width="500" lenth="500" align="center">
<tr>
<td><img src="isb9.bmp" width="740" height="200"></td>
</tr>
</table>
<jsp:forward page="login1.html"/>
</html></body>
<%
}
}
catch(Exception e)
{
out.println(e);
}
%>
26
7. IMPLEMENTATION
Implementation refers to the steps to be followed to run the project.
The very first step of the implementation process starts with the installation of JDK
Install the tomcat web server.
Copy the WAR file at the location “C:program files/apache…../web apps”.
Start and stop the tomcat server.
Finally run the project by entering the hostname as “http: localhost/8080/online”in the address
column of the internet explorer.
27
8. TESTING
8.1 What is testing?A process of executing a program with the explicit intention of finding errors, that is
making the program fail. Testing is the process of detecting errors. Testing performs a very
critical - role for quality assurance and for ensuring the reliability of software. The results of
testing are used later on during maintenance also.
8.2 Psychology of TestingThe aim of testing is often to demonstrate that a program works by showing that it has no
errors. The basic purpose of testing phase is to detect the errors that may be present in the
program. Hence one should not start testing it the intent of showing that a program works but the
intent should be to show that a program does not work. Testing is the process of executing a
program with the intent of finding errors.
8.3 Testing ObjectivesThe main objective of testing is to uncover a host of errors, systematically and with
minimum effort and time. Stating formally, we can say,
• Testing is a process of executing a program with the intent of finding an error.
• A successful test is one that uncovers an as yet discovered error.
• A good test case is one that has a high probability of finding error, if it exists.
• The tests are inadequate to detect possibly present errors.
• The software more or les confirms to the quality and reliable standards.
28
8.4 Software TestingIt is the process of testing the functionality and correctness of a software by running it.A good
test case is the one that has a high probability of finding an as yet undiscovered error.A
successful test is one that uncovers an as yet undiscovered error. Software testing is usually
performed for one of the two reasons.
• Defect detection.
• Reliability estimation.
8.5 Black Box TestingBlack Box Testing is not a type of testing; it instead is a testing strategy, which does not
need any knowledge of internal design or code etc. As the name "black box" suggests, no
knowledge of internal logic or code structure is required. The types of testing under this strategy
are totally based/focused on the testing for requirements and functionality of the work
product/software application. Black box testing is sometimes also called as "Opaque Testing",
Functional/Behavioral Testing" and "Closed Box Testing".
8.6 White Box Testing White box testing is a security testing method that can be used to validate whether code
implementation follows intended design, to validate implemented security functionality, and to
uncover exploitable vulnerabilities White box testing is performed based on the knowledge of
how the system is implemented. White box testing includes analyzing data flow, control flow,
information flow, coding practices, and exception and error handling within the system to test the
intended and unintended software behavior. White box testing can be performed to validate
whether code implementation follows intended design, to validate implemented security
functionality, and to uncover exploitable vulnerabilities.
29
9. SNAPSHOTS
30
31
32
33
34
35
10. CONCLUSION
Library Management System gives a solution to the present scenario using in maintaining
the Library. This gives flexibility fast accessing to the details of the book and this project also
gives better security to the administrator in maintaining the Library. As the database is updated
form time to time the administrator can also check for the books that are missing in the library
very easily. This project also calculates the fine that has to be paid by the user, until and unless
the fine was not paid he cannot be able to take any other book form the library. These all
advantages brings this library management system a better solution for the current scenario.
36
11. BIBILIOGRAPHY
Books Referred Java Complete Reference --- Patric Naughton, Herbert Schildt
Java How to program --- Dietel & Dietel
Servlet Programming --- O’Relly
Software Engineering --- Pressman
Website Browsed www.rationalrose.net
www.itouch.com
http://en.wikipedia.org/wiki/JavaScript
http://developers.sun.com/product/jdbc/drivers
37