0% found this document useful (0 votes)
14 views

Library Management Project

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Library Management Project

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 34

Library Management System

SYNOPSIS
Introduction:

library management system is a project which aims in developing a


computerized system to maintain all the daily work of library .It has a facility of
admin login through which the admin can monitor the whole system. A library
management software where admin can add/view/delete librarian and librarian can
add/view books, issue, view issued books and return books.
Overall this project of ours is being developed to help the library Administration,
maintain the library in the best way possible and also reduce the human effort.

Objective:

The main objective of the Library Management System is to manage the


details of books, students, book issue and book return. It manages all the
information about book issue and return. The project is totally built at
administrative end and thus only the administrator is guaranteed the access.The
purpose is to build an application program to reduce the manual work for
managing the books, members, book issue and return.

Project Scope:

The project has a wide scope, as it is not intended to a particular


organization. This project is going to develop generic software, which can be
applies by any businesses organization. More over it provides facility to its users.
Also the software is going to provide a huge amount of summary data.

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 1


Library Management System

Purpose:

The purpose of library management system is to automate the existing manual


system by the help of computerized equipments and full fledged computer
software, fulfilling their requirements , so that their valuable data/information can
be stored for a longer period with easy accessing and manipulation of the same.
This project also helps in administrative work such as keep information of book
issue and return.

MODULES
Main Modules:

 Admin Login
 Librarian Login

Sub Modules:

 Add Librarian
 View Librarian
 Delete Librarian
 Add Books
 View Books
 Issue Book
 View Issued Books
 Return Book

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 2


Library Management System

1. SYSTEM REQUIREMENT

1.1 Software Requirements:


 Platform - Eclipse
 Operating System - Windows
 Front End - Java (Swing and awt)
 Back End - My Sql

1.2 Hardware Requirement:


 Processor - Any
 RAM - 2 GB
 Hard Disk - 40 GB

2. SOFTWARE USED

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 3


Library Management System

2.1 JAVA Technology:

JAVA Technology is both a programming language and platform.

2.2 JAVA Programming Language:

Java is used as front-end tool for developing the project. To run Java there is no
need to have any particular operating system, as it is platform independent. This
must have certain hardware and software installed on your computer.
The key considerations were summed up by the Java team in the following list of
buzzwords:

 Simple
 Security
 Portability
 Object-Oriented
 Robust
 Multithreaded
 Architecture-Neural
 Interpreted
 High Performance
 Distributed
 Dynamic

The Java Platform:

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 4


Library Management System

A platform is the hardware or software environment in which a program


runs. We’ve already mentioned some of the most popular platforms like Windows
2000, Linux, Solaris, and Mac OS. Most platforms can be described as a
combination of the operating system and hardware. The Java platform differs from
most other platforms in that it’s a software-only platform that runs on top of other
hardware-based platforms.

The Java platform has two components:

 The Java Virtual Machine(JVM)


 The Java Application Programming Interface(Java API)

You’ve already been introduced to the JVM. It’s the base for the Java platform and
is ported onto various hardware-based platforms.
The Java API is a large collection of ready-made software components that
provides many useful capabilities, such as graphical user interface (GUI) widgets.
The API is grouped into libraries of related classes and interfaces; these libraries
are known as packages.

JDK (Java Development Kit):


S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 5
Library Management System

JDK is an acronym for Java Development Kit. The Java Development Kit
(JDK) is a software development environment which is used to develop Java
applications and applets. It physically exists. It contains JRE + development tools.

JDK is an implementation of any one of the below given Java Platforms released
by Oracle Corporation:

o Standard Edition Java Platform


o Enterprise Edition Java Platform
o Micro Edition Java Platform

The JDK contains a private Java Virtual Machine (JVM) and a few other resources
such as an interpreter/loader (java), a compiler (javac), an archiver (jar), a
documentation generator (Javadoc), etc. to complete the development of a Java
Application.

MYSQL Workbench:

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 6


Library Management System

MySQL Workbench is a unified visual tool for database architects,


developers, and DBAs. MySQL Workbench provides data modeling, SQL
development, and comprehensive administration tools for server configuration,
user administration, backup, and much more. MySQL Workbench is available on
Windows, Linux and Mac OS X.

My Sql Workbench

Frontend (Language Used):

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 7


Library Management System

Java (Swing and AWT)

Java Swing is used to create window-based applications. It is built on the


top of AWT (Abstract Windowing Toolkit) API and entirely written in java. Java
Swing provides platform-independent and lightweight components.
The javax.swing package provides classes for java swing API such as JButton,
JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser etc.

Java AWT (Abstract Window Toolkit) is an API to develop Graphical User


Interface (GUI) or windows-based applications in Java. Java AWT components are
platform-dependent i.e. components are displayed according to the view of
operating system. AWT is heavy weight i.e. its components are using the resources
of underlying operating system (OS).
The java.awt package provides classes for AWT API such as TextField, Label,
TextArea, RadioButton, Checkbox, Choice, List etc.

Backend:

MySQL (Database)

MySQL is a relational database management system (RDBMS) developed


by Oracle that is based on structured query language (SQL). A database is a
structured collection of data. It may be anything from a simple shopping list to a
picture gallery or a place to hold the vast amounts of information in a corporate
network.

3. SAMPLE CODING

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 8


Library Management System

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import javax.swing.GroupLayout;

import javax.swing.GroupLayout.Alignment;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import java.awt.Font;

import java.awt.Color;

import javax.swing.JTextField;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import javax.swing.JPasswordField;

public class AdminLogin extends JFrame {

static AdminLogin frame;

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 9


Library Management System

private JPanel contentPane;

private JTextField textField;

private JPasswordField passwordField;

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

frame = new AdminLogin();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();}

}});

public AdminLogin() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 450, 300);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 10


Library Management System

setContentPane(contentPane);

JLabel lblAdminLoginForm = new JLabel("Admin Login Form");

lblAdminLoginForm.setForeground(Color.GRAY);

lblAdminLoginForm.setFont(newFont("Tahoma",Font.PLAI18));

JLabel lblEnterName = new JLabel("Enter Name:");

JLabel lblEnterPassword = new JLabel("Enter Password:");

textField = new JTextField();

textField.setColumns(10);

JButton btnLogin = new JButton("Login");

btnLogin.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String name=textField.getText();

String password=String.valueOf(passwordField.getPassword());

if(name.equals("admin")&&password.equals("admin123")){

AdminSuccess.main(new String[]{});

frame.dispose();

}else

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 11


Library Management System

JOptionPane.showMessageDialog(AdminLogin.this,"Sorry,Username or
Password Error","Login Error!", JOptionPane.ERROR_MESSAGE);

textField.setText("");

passwordField.setText("");

}}

});

passwordField = new JPasswordField();

GroupLayout gl_contentPane = new GroupLayout(contentPane);

gl_contentPane.setHorizontalGroup(gl_contentPane.createParallelGroup(Alignme
nt.TRAILING).addGroup(gl_contentPane.createSequentialGroup().addGroup(gl_c
ontentPane.createParallelGroup(Alignment.LEADING).addGroup(gl_contentPane.
createSequentialGroup()

.addGap(124).addComponent(lblAdminLoginForm))

.addGroup (gl_contentPane.createSequentialGroup()

.addGap(19)

.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)

.addComponent(lblEnterName)

.addComponent(lblEnterPassword)).addGap(47)

.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false)

.addComponent(passwordField)

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 12


Library Management System

.addComponent(textField,GroupLayout.DEFAULT_SIZE,172,

Short.MAX_VALUE)))).addContainerGap(107, Short.MAX_VALUE))

.addGroup(gl_contentPane.createSequentialGroup()

.addContainerGap(187, Short.MAX_VALUE)

.addComponent(btnLogin, GroupLayout.PREFERRED_SIZE,
86, GroupLayout.PREFERRED_SIZE)

.addGap(151)));

gl_contentPane.setVerticalGroup(

gl_contentPane.createParallelGroup(Alignment.LEADING)

.addGroup(gl_contentPane.createSequentialGroup() .addCompo
nent(lblAdminLoginForm).addGap(26)

.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE).addComp
onent(lblEnterName)

.addComponent(textField,GroupLayout.PREFERRED_SIZE,
GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))

.addGap(28)

.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)

.addComponent(lblEnterPassword)

.addComponent(passwordField,GroupLayout.PREFERRED_SIZE,GroupLayout.

DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addGap(18)

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 13


Library Management System

.addComponent(btnLogin,GroupLayout.PREFERRED_SIZE,37,

GroupLayout.PREFERRED_SIZE)

.addContainerGap(80, Short.MAX_VALUE)));

contentPane.setLayout(gl_contentPane);

import java.awt.BorderLayout;

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 14


Library Management System

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import javax.swing.GroupLayout;

import javax.swing.GroupLayout.Alignment;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import java.awt.Font;

import java.awt.Color;

import javax.swing.JTextField;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import javax.swing.JPasswordField;

public class LibrarianLogin extends JFrame {

static LibrarianLogin frame;

private JPanel contentPane;

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 15


Library Management System

private JTextField textField;

private JPasswordField passwordField;

/**

* Launch the application.

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

frame = new LibrarianLogin();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

});

/**

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 16


Library Management System

* Create the frame.

*/

public LibrarianLogin() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 450, 300);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

JLabel lblAdminLoginForm = new JLabel("Librarian Login Form");

lblAdminLoginForm.setForeground(Color.BLACK);

lblAdminLoginForm.setFont(new Font("Tahoma",Font.PLAIN, 18));

JLabel lblEnterName = new JLabel("Enter Name:");

JLabel lblEnterPassword = new JLabel("Enter Password:");

textField = new JTextField();

textField.setColumns(10);

JButton btnLogin = new JButton("Login");

btnLogin.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 17


Library Management System

String name=textField.getText();

String password=String.valueOf(passwordField.getPassword());

//System.out.println(name+" "+password);
if(LibrarianDao.validate(name, password)){

LibrarianSuccess.main(new String[]{});

frame.dispose();

}else

JOptionPane.showMessageDialog(LibrarianLogin.this, "Sorry, Username or


Password Error","Login Error!", JOptionPane.ERROR_MESSAGE);

textField.setText("");

passwordField.setText("");

});

passwordField = new JPasswordField();

GroupLayout gl_contentPane = new GroupLayout(contentPane);

gl_contentPane.setHorizontalGroup(

gl_contentPane.createParallelGroup(Alignment.TRAILING)

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 18


Library Management System

.addGroup(gl_contentPane.createSequentialGroup(
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)

.addGroup(gl_contentPane.createSequentialGroup().addGap(124)
.addComponent(lblAdminLoginForm))

.addGroup(gl_contentPane.createSequentialGroup().addGap(19)
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADIN
G)

.addComponent(lblEnterName)

.addComponent(lblEnterPassword))

.addGap(47)

.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false)

.addComponent(passwordField)

.addComponent(textField, GroupLayout.DEFAULT_SIZE, 172,


Short.MAX_VALUE))))

.addContainerGap(107, Short.MAX_VALUE))

.addGroup(gl_contentPane.createSequentialGroup()

.addContainerGap(187, Short.MAX_VALUE)

.addComponent(btnLogin, GroupLayout.PREFERRED_SIZE, 86,


GroupLayout.PREFERRED_SIZE).addGap(151)));

gl_contentPane.setVerticalGroup(

gl_contentPane.createParallelGroup(Alignment.LEADING)
S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 19
Library Management System

.addGroup(gl_contentPane.createSequentialGroup()

.addComponent(lblAdminLoginForm)

.addGap(26)

.addGroup(gl_contentPane.createParallelGroup(Alignment.BASEL INE)

.addComponent(lblEnterName)

.addComponent(textField,
GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
GroupLayout.PREFERRED_SIZE)).addGap(28)

.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)

.addComponent(lblEnterPassword)

.addComponent(passwordField, GroupLayout.PREFERRED_SIZE,
GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))

.addGap(18)

.addComponent(btnLogin, GroupLayout.PREFERRED_SIZE, 37,


GroupLayout.PREFERRED_SIZE)

.addContainerGap(80, Short.MAX_VALUE)));

contentPane.setLayout(gl_contentPane);

}}

4. SCREEN SHOTS

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 20


Library Management System

Home Page:

Admin Login Form:

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 21


Library Management System

Admin Section:

Librarian Form:

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 22


Library Management System

View librarian:

Delete Librarian :

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 23


Library Management System

Books Form:

View Books:

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 24


Library Management System

Return Book:

View Issued Book:

5. TESTING
S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 25
Library Management System

Software testing can be stated as the process of verifying and validating


whether a software or application is bug-free, meets the technical requirements as
guided by its design and development, and meets the user requirements
effectively and efficiently by handling all the exceptional and boundary cases.

The process of software testing aims not only at finding faults in the existing
software but also at finding measures to improve the software in terms of
efficiency, accuracy, and usability. It mainly aims at measuring the specification,
functionality, and performance of a software program or application.

Software testing can be divided into two steps:

1. Verification: It refers to the set of tasks that ensure that the software
correctly implements a specific function.

2. Validation: It refers to a different set of tasks that ensure that the software
that has been built is traceable to customer requirements.

Types of software testing:

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 26


Library Management System

Software Testing can be broadly classified into two types:

1. Manual Testing:

Manual testing includes testing software manually, i.e., without using any
automation tool or any script. In this type, the tester takes over the role of an end-
user and tests the software to identify any unexpected behavior or bug. There are
different stages for manual testing such as unit testing, integration testing, system
testing, and user acceptance testing.

Testers use test plans, test cases, or test scenarios to test software to ensure the
completeness of testing. Manual testing also includes exploratory testing, as
testers explore the software to identify errors in it.

2. Automation Testing:

Automation testing, which is also known as Test Automation, is when the


tester writes scripts and uses another software to test the product. This process
involves the automation of a manual process. Automation Testing is used to re-
run the test scenarios quickly and repeatedly, that were performed manually in
manual testing.

Apart from regression testing, automation testing is also used to test the
application from a load, performance, and stress point of view. It increases the
test coverage, improves accuracy, and saves time and money when compared to
manual testing.

Software Testing Techniques:


S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 27
Library Management System

Software testing techniques can be majorly classified into two categories:

White box testing:

White box sometimes called “Glass box testing” is a test case design uses
the control structure of the procedural design to drive test case.

Using white box testing methods, the following tests were made on the system.

a) All independent paths within a module have been exercised all once. In our
system, ensuring that case was selected and executed checked all case
structures. The bugs were prevailing in some part of the code where fixed.
b) All logical decisions were checked for the truth and falsity of the values.

Black box testing:

Black box testing focuses on the functional requirements of the software.


This is black box testing enables the software engineering to drive a set of input
conditions that will fully exercise all functional requirements for a program. Black
box testing is not an alternative to white box testing rather it is complementary
approach that is likely to uncover a different class of errors that white box methods
like.

a) Interface errors
b) Performance in data structure
c) Performance errors
d) Initializing and termination errors.

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 28


Library Management System

Levels of software testing:

Software level testing can be majorly classified into 4 levels:

1. Unit Testing: A level of the software testing process where individual


units/components of a software/system are tested. The purpose is to validate that
each unit of the software performs as designed.

2. Integration Testing: A level of the software testing process where individual


units are combined and tested as a group. The purpose of this level of testing is to
expose faults in the interaction between integrated units.

3. System Testing: A level of the software testing process where a complete,


integrated system/software is tested. The purpose of this test is to evaluate the
system’s compliance with the specified requirements.

4. Acceptance Testing: A level of the software testing process where a


system is tested for acceptability. The purpose of this test is to evaluate the
system’s compliance with the business requirements and assess whether it is
acceptable for delivery.

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 29


Library Management System

6. MAINTENANCE

Maintenance the last phase in the software engineering process. As more


programs are developed, a distributing trend has emerged the amount of effort and
a resources expended on software maintenance is growing. In total project
developed maintenance takes 65% of effort. In software maintenance there are four
types. They are
 Adaptive Maintenance
 Corrective Maintenance
 Perfective Maintenance
 Preventive Maintenance

Adaptive Maintenance:
Is applied when changes in the external environment precipitate modifications to
software. It deals with adapting the software to new environment.
Corrective Maintenance:

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 30


Library Management System

Acts to correct errors that are uncovered after the software is in use. It deals with
fixing bugs in the code.
Perfective Maintenance:
Incorporates enhancements that are requested by user community. It deals with
updating the software according to changes in user requirements.
Preventive Maintenance:
Improves for future maintainability and reliability and provides a basis future
enhancement. It deals with updating documentation and making the software more
maintainable. Tasks performed during the software engineering process define
maintainability and have and important impact in the success of any maintenance
approach. Reverse Engineering and Reengineering are the tools and techniques
used to maintain the project.
There are four major problems that can slow down the maintenance process.
 Unstructured Code
 Maintenance programmers having insufficient knowledge of the system
 Documentation being absent
 Out of Date, or at best insufficient

The success of the maintenance phase relies on these problems being fixed
earlier in the life cycle.

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 31


Library Management System

7. CONCLUSION

This project mainly focuses on how we can improve the traditional method
of working of a library because the traditional method includes doing all the things
in manual mode which is slow, less efficient, less secure, and difficult to manage.
The solution to this is an library management system which take care of all the
work by automating and digitizing the whole process. Our application is based on
Java and is linked to a relational database (MySQL). The frontend part has been
coded using Java and its packages like awt and swing. The backend is supported
and connected with database using java, its libraries and APIs. With the increase in
the workload of the library, new features can be added to the existing application
to make it relevant in the future as well.

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 32


Library Management System

8. FUTURE ENHANCEMENT

This desktop application involves almost all the basic features of the
library management. The project has a very vast scope in future. The project
can be implemented on intranet in future. Project can be updated in near
future as and when requirement for the same arises, as it is very flexible in
terms of expansions. With the proposed software of database library
management is system ready and fully functional to the admin and students
were now able to manage and hence run the entire work in a much better,
accurate, secure, and error free manner. We can make this application as an
android application which is very helpful to the user and the library authority.

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 33


Library Management System

9. BIBLIOGRAPHY

Web Sites:
 https://www.javatpoint.com/java-tutorial
 https://www.w3schools.com/java/
 https://www.tutorialspoint.com/java/index.htm

S.S.A.GOVT FIRST GRADE [AUTONOMOUS] COLLEGE BALLARI Page 34

You might also like