Project On Library Management
Project On Library Management
INTRODUCTION
1.1 ABSTRACT
In 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.
So requires automating
Move towards to a paperless work
Response time
Throughput
Resource usage
Reliability
Availability
Platform
Technology to be used
2.REQUIREMENT ANALYSIS
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.
3.ROLES
4.LITERATURE SURVEY
4.1 JAVA SERVER PAGES
4
A 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 doesnt 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
these technologies suffer from a common problem: they generate web pages embedding HTML
5
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 HTML
HTML 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 HYPERLINKS
Hyperlinks 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
point to a remote document, in the sense that it can point to a document, which resides in a
6
different directory. When the movement of the mouse looks like a palm with the finger pointing
upwards, it implies that it is a hyperlink.
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.
vendors are adding JDBC technology-based drivers to their existing database middleware
products.
4.3.2 CONNECTION
A 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.
5.SYSTEM DESIGN
11
2)Use-case
Shown as an ellipse. This represents a functional requirement that is described from the
perspective of the users 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.
12
Actor
use-case
LibraryDatabase
User
MaintainDatabase
BorrowBook
UserRegistration
ManageBook
Librarian
AddBook
NewUser
ReturnBook
FeedBack
DeleteBook
Staff
VIPUser
ReserveBook
SearchBook
UpdateBook
RequestForNewBook
Login
ReturnCD
HomeDelivery
ViewAllBooks
RenewalBook
Login
Student
RequestForVIPUser
13
BorrowCD
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.
14
a) User Registration:
: user
Registration
Form
Registration
DataBase
3 :Give Details
4 :Register
5 :Update Registration
6 :Confirm Registration
15
b) Borrow a Book:
System
Interface
: user
Book List
User Account
Sign In
Check Valid or Not
Valid User ID
Search Book
Recheck if Available
Book Not in Account
Issue the Book
16
17
c) Add a Book:
System
Interface
: user
Book List
Library
DataBase
Valid User
DataBase Updated
18
d) Return a Book:
19
System
Interface
: user
User Account
Sign In
Check Valid or not
Valid User
Return a Book
Check User Account
Check Valid or not
Return Valid
20
Class 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.
Name
Attributes
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.
21
LibrarySystem
LibraryName : String
LibraryIncharge : Logical View : String
LibrarianName : String
+m_LibrarySystem
ViewLibraryDatabase()
ViewUsersList()
LibrarySystem()
1..*
+Need for
<<uses>>
+Works in
UsersDatabase
Name : String
Id : Number
Branch : String
Librarian
Qualification : String
LibrarianExperience : Integer
LibrarianID : Number
LibrarianPassword : String
UpdateBook() : Boolean
CheckDatabase()
AddBook()
DeleteBook()
Librarian()
Login()
Working()
NotWorking()
UsersDatabase()
AddBooks()
DeleteBook()
AddCDs()
DeleteCDS()
AddMagazines()
DeleteMagazines()
Database()
<<uses>>
+m_User
BookList
BookAuthor : String
BookId : Integer
User
UserName : String
UserID : Name
UserPassword : String
VIPUser
UpdateBook()
VIewBookList()
BookList()
Login()
RequestNewBook()
HomeDelivery()
BorrowCDs()
ReturnCDs()
VIPUser()
1..*
UpdateCDs()
ViewCDList()
CDList()
+Checks
BorrowBook
+Checks
Staff
Department : String
Designation : String
CDList
CDId : LogicalView : String
SoftwareName : String
1..*
NormalUser
Branch : String
NormalUser()
RequestForMoreBooks()
Staff()
Database
BookList()
CDList()
Student
Student()
BorrowCD
CDName : String
StaffName : String
1..*
+Borrows
CDList()
22
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.
23
Object flow
Shown 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 swimlane
Shown 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.
24
Student/Staff
[ borrower ]
[ returner ]
Library Staff
Book
Searching
Wait in
Queue
[ borrowing ]
Copying Book
Details
Preparefor
NextMember
25
CopyBook
Details
Rearrange
Book
26
Submit
Application
Issue
Membership
[ Reservation ]
BookBank
Issue
Books
Return
BooksinTime
[ Late Submission ]
CollectFine
[ else ]
Rearrange
Book
6.PSEUDO CODE
27
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
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())
{
28
29
7. IMPLEMENTATION
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/onlinein the address
column of the internet explorer.
8. TESTING
30
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.
Defect detection.
Reliability estimation.
9. SNAPSHOTS
32
33
34
35
36
37
10. CONCLUSION
38
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.
11. BIBILIOGRAPHY
39
Books Referred
Website Browsed
www.rationalrose.net
www.itouch.com
http://en.wikipedia.org/wiki/JavaScript
http://developers.sun.com/product/jdbc/drivers
40