LIBRARYREPORT
LIBRARYREPORT
Of
by
S KARTHIKEYAN
(1BO22MC042)
Under the guidance of
HOD-MCA
Name : S Karthikeyan
SIGNATURE:
ACKNOWLEDGEMENT
I am thankful to the Principal of Brindavan College of Engineering- Dr. Bhagappa Sir, for
extending his support and encouraging us to take up this challenging Seminar [Mini Project
I extend my gratitude to the guide Prof. R Y Naidu, HOD of MCA Department, for his
constant support and encouragement. Sir has been helping me out in every aspect of my
project. I am grateful to you for all your help. I immensely thank my family for their
continuous support. My parents and brother have been the backbone to me and without
their suggestions; I would not have completed the project in the stipulated time. I am
thankful to and fortunate enough to get constant encouragement, support and guidance
from all Teaching staffs of MCA which helped us in successfully completing our project
work.
S KARTHIKEYAN
(1BO22MC042)
Brindavan College Of Engineering
Dwarakanagar, Bagalur Main Road, Yelahanka, Bengaluru-560063
CERTIFICATE
This is to certify that S KARTHIKEYAN (1BO22MC042) has completed his II
Semester Seminar[22MCA29] entitled “Library Database Management System
” as a partial fulfillment for the award of Master of Computer Applications degree,
during the academic year 2022-23 our supervision.
Examiners:
1.
2.
CONTENT
1. INTRODUCTION
1.1 About the Project 1
2. LITERATURE SURVEY
3.1 USERS 11
3.3 NON-FUNCTIONALREQUIREMENTS 13
4. SYSTEM DESIGN 14
5. DETAILED DESIGN
5.5 ENTITY-RELATIONSHIP 21
6. IMPLEMENTATION
6.1 SCREENSHORTS 22
7. SOFTWARE TESTING 29
8. FUTURE ENHANCECEMENTS 32
9. CONCLUSION 33
10 BIBLIOGRAPHY 34
INTRODUCTION
PAGE -1
LIBRARY DATABASE MANAGEMENT SYSTEM
CHAPTER 1
INTRODUCTION
INTRODUCTION
The Library Management System is one of the many system that have been made to meet the
needs of modern libraries. Library management system are a great way to keep track of books,
add them, update information about them, look for the right book, lend it out, and get it back
when its time .the library management project is designed to organize and store information
about books based on what students need. The system helps both the students and the person in
charge of the library keep track of all the books that are there. It lets both the administrator and
the student look for the book they want to read and borrow.
library management is a project that manages and stores books information electronically
according to students needs. The system helps both students and library manager to keep a
constant track of all the books available in the library. It allows both the admin and the student to
search for the desired book. It becomes necessary for colleges to keep a continuous check on the
books issued and returned and even calculate fine. This task if carried out manually will be
tedious and includes chances of mistakes. These errors are avoided by allowing the system to
keep track of information such as issue date, last date to return the book and even fine
information and thus there is no need to keep manual track of this information which thereby
avoids chances of mistakes.
Thus this system reduces manual work to a great extent allows smooth flow of library activities
by removing chances of errors in the details.
LITERATURE SURVEY
PAGE -2
LIBRARY DATABASE MANAGEMENT SYSTEM
CHAPTER - 2
LITERATURE SURVEY
2.1 EXISTING SYSTEM AND PROPOSED SYSTEM
What 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.
In our Exiting system all the transaction of books are done manually. So taking more time for a
transaction like borrowing a book or returning 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 we can say,
All the manual difficulties in managing the library have been rectified by implementing
computerization.
To issue a student, member, or user a book, you must click the “issue book” button and
enter the book’s details, such as the book’s id, the user’s id, the number of days the book can
be used, the date it must be returned, etc. After putting in the necessary information, you
click “submit,” which finishes the process.
View issued books: After you issue the book using the steps in the previous paragraph,
you can use this feature to see all the books that have been issued along with their details.
Return books: After you choose the option to return books, you will need to enter the
book’s ID and choose a date from the calendar.
Add books :
All the information about the book, like its name, price, and genre, can be added to the system
here. After that, you can see it in the “view books” section.
Hardware Requirements: Assess the hardware needed to run the LMS. This includes servers,
computers, networking equipment, and any specialized hardware like barcode scanners or RFID
readers.
Software Requirements: List the software components required for the LMS. This may
include the database management system, programming languages, web servers, and any third-
party libraries or frameworks.
Technical Expertise: Evaluate whether your team possesses the required technical skills to
develop and maintain the LMS or if you need to hire external expertise.
Integration with Existing Systems: Determine if the LMS needs to integrate with other
existing systems like student information systems, financial systems, or authentication systems.
Operational Feasibility:
User Requirements: Identify the needs of the library staff and patrons. Conduct surveys or
interviews to gather their input on the features and functionality they require.
Workflow Analysis: Analyze the current library operations and workflows to understand how
the LMS will fit into these processes and potentially improve them.
Change Management: Assess how well the library staff can adapt to the new system and
whether additional training or support will be needed.
Economic Feasibility:
Cost Estimation: Calculate the total cost of developing and implementing the LMS. This
includes hardware, software, development costs, and ongoing maintenance expenses.
ROI Analysis: Estimate the return on investment (ROI) by comparing the expected benefits,
such as improved efficiency and reduced operational costs, against the total project cost.
Funding Sources: Determine where the funds will come from to finance the project. This
could include budget allocations, grants, or loans.
Scheduling Feasibility: Project Timeline: Develop a detailed project schedule that includes
milestones and deadlines for each phase of development.
Resource Availability: Ensure that the necessary resources, including human resources, are
available to meet the project timeline.
Risks and Contingency Plans: Identify potential risks that could delay the project and create
contingency plans to mitigate them.
Legal and Ethical Feasibility: Compliance: Ensure that the LMS complies with all legal and
regulatory requirements, such as data privacy laws and copyright regulations.
Ethical Considerations: Consider ethical aspects, such as data security and user privacy, to
build a system that respects user rights and expectations.
Environmental Feasibility: Consider the environmental impact of the LMS, such as energy
consumption, hardware disposal, and paper reduction if it's intended to promote digitalization.
Java Development: It has robust features for Java development, including code templates,
project management, and a graphical UI builder (formerly known as Matisse) for Swing
applications.
Smart Code Editing: Features like code completion, syntax highlighting, and code
templates enhance productivity and reduce coding errors.
Easy-to-Use GUI Builder: The GUI builder simplifies the creation of user interfaces for
desktop and web applications with drag-and-drop functionality.
Debugger: NetBeans includes a powerful debugger with features like breakpoints,
watches, and step-by-step execution for efficient debugging.
Version Control Integration: It integrates with popular version control systems like Git,
SVN, and Mercurial to manage and track code changes.
Apache NetBeans: The Apache Software Foundation has taken over the development and
maintenance of NetBeans, ensuring its continued growth as an open-source project.
Cross-Platform: NetBeans is available for Windows, macOS, Linux, and other platforms,
making it accessible to developers using various operating systems.
Web Development: It offers tools for web development, including HTML, CSS,
JavaScript, and support for popular web frameworks.
Enterprise Development: NetBeans supports enterprise technologies like Java EE,
providing tools for building scalable and robust enterprise applications.
Mobile Development: While it was particularly popular for Java ME (Mobile Edition)
development in the past, the focus has shifted to other IDEs for mobile app development.
Java is a versatile and widely-used programming language known for its platform
independence, robustness, and extensive ecosystem. Here's a concise note on Java:
Java:
A High-Level, Object-Oriented Programming Language Platform Independence: Java is
platform-independent, meaning you can write code once and run it on multiple platforms
without modification. This is achieved through the use of the Java Virtual Machine
(JVM), which executes Java bytecode.
Object-Oriented: Java is an object-oriented programming language, which promotes the
organization of code into reusable objects with attributes and behaviors. It follows the
principles of encapsulation, inheritance, and polymorphism.
Robust and Secure: Java is designed with a focus on reliability and security. It includes
features like automatic memory management (garbage collection) to prevent memory
leaks and a strong type system to catch errors at compile time.
Rich Standard Library: Java comes with a comprehensive standard library (Java Standard
Library) that provides pre-built classes and packages for tasks like I/O, networking, data
structures, and GUI development.
Multi-Threaded: Java supports multithreading, allowing you to create concurrent and
parallel programs easily. This is crucial for developing responsive and efficient
applications.
Write Once, Run Anywhere (WORA): Java's WORA philosophy allows developers to
create applications that can run on various platforms without modification, provided a
compatible JVM is available for each platform
Popular for Web and Enterprise: Java is widely used for building web applications,
enterprise-level software, and backend services. Technologies like Java EE (Enterprise
Edition) provide tools and APIs for enterprise application development.
Community and Ecosystem: Java has a large and active developer community. It benefits
from a vast ecosystem of libraries, frameworks, and tools, such as Spring, Hibernate, and
Apache Maven.
Hardware requirements:
Processor: Intel core i3 -3320M
Processor speed: 1.0GHz or above
RAM: 1 GB RAM or above
Hard disk Capacity : 20 GB hard disk or above
Monitor Make : Color monitor
Software requirements :
Operating System : Windows 10
Web Server : Apache Web Server
Language: java
Database : Mysql
Additional tools : Netbean
CHAPTER – 3
Borrowing and Returning: Registered users can borrow library items, specifying the due
date. The system should provide a process for renewing borrowed items and handling return
transactions. Users will receive notifications about upcoming due dates and overdue items.
Reservation and Hold Requests: Users should be able to reserve and place holds on items
that are currently checked out. The system will notify users when reserved items become
available. Check-in and Check-out: Library staff (librarians) will have the ability to check items
in and out on behalf of users. The system should generate receipts for checked-out items.
User History and Recommendations: Users can view their borrowing history and
request recommendations based on their reading preferences. The LMS may provide
personalized recommendations for books and resource
NORMAL USER
1. USER LOGIN
Description Of Feature
This feature used by the user to login into system. They are required to enter user id and
password before they are allowed to enter the system .The user id and password will be verified
and if invalid id is there user is allowed to not enter the system.
Functional requirements
-user id is provided when they register
-The system must only allow user with valid id and password to enter the system
-The system performs authorization process which decides what user level can acess to.
-The user must be able to logout after they finished using system.
4.SEARCH BOOK
Description Of Feature
This feature is found in book maintenance part . we can search book based on book id ,
book name , publication or by author name.
Functional requirements
- System must be able to search the database based on select search type
- System must be able to filter book based on keyword enterd
- System must be able to show the filtered book in table view
Functional requirements
-System should be able to add detailed information about events .
-System should be able to display information on notice board available in the homepage.
3.3 NON-FUNCTIONALREQUIREMENTS
CHAPTER – 4
SYSTEM DESIGN
4.1 SYSTEM ARCHITECTURE AND DESCRIPTION
Table Design:
Various Tables To Maintain Information
CHAPTER – 5
DETAILED DESIGN
5.5 ENTITY-RELATIONSHIP
CHAPTER – 6
IMPLEMENTATION
6.1 SCREENSHORTS
Login: Signup:
HomePage:
ManageBook: ManageStudent:
IssueBook: ReturnBook:
ViewRecords: ViewIssuedBook:
Defaulter:
Issue Book :
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Date;
import javax.swing.JOptionPane;
}
public void getStudentDetails(){
int studentId = Integer.parseInt(txt_studentId.getText());
try{
Connection con = DBConnection.getConnection();
PreparedStatement pst = con.prepareStatement("select * from student_details where
student_id = ? ");
pst.setInt(1, studentId);
ResultSet rs = pst.executeQuery();
lbl_studentName.setText(rs.getString("name"))
lbl_course.setText(rs.getString("course"));
lbl_branch.setText(rs.getString("branch"));
}else{
lbl_studentError.setText("invalid student id");
}
}catch (Exception e){
e.printStackTrace();
}
}
public boolean IssueBook(){
boolean isIssued = false;
int bookId = Integer.parseInt(txt_bookId.getText());
int studentId = Integer.parseInt(txt_studentId.getText());
String bookName = lbl_bookName.getText();
String studentName = lbl_studentName.getText();
Date uIssueDate = date_issueDate.getDatoFecha();
Date uDueDate = date_dueDate.getDatoFecha();
Long l1 = uIssueDate.getTime();
Long l2 = uDueDate.getTime();
java.sql.Date sIssueDate = new java.sql.Date(l1);
java.sql.Date sDueDate = new java.sql.Date(l2);
try{
Connection con = DBConnection.getConnection();
String sql = "insert into issue_book_details(book_id,book_name,student_id,student_name,"
+ " issue_date,due_date,status) values(?,?,?,?,?,?,?)";
PreparedStatement pst = con.prepareStatement(sql);
pst.setInt(1, bookId);
pst.setString(2, bookName);
pst.setInt(3, studentId);
pst.setString(4, studentName);
pst.setDate(5, sIssueDate);
pst.setDate(6, sDueDate);
pst.setString(7, "pending");
int rowCount = pst.executeUpdate();
if (rowCount > 0){
isIssued = true;
}else{
isIssued = false;
}
}catch (Exception e){
e.printStackTrace();
}
int bookId = Integer.parseInt(txt_bookId.getText())
try{
Connection con = DBConnection.getConnection();
String sql = "update book_details set quantity = quantity - 1 where book_id = ? ";
PreparedStatement pst = con.prepareStatement(sql);
pst.setInt(1, bookId);
int rowCount = pst.executeUpdate();
if (rowCount > 0){
JOptionPane.showMessageDialog(this, "book count updated");
int initialCount = Integer.parseInt(lbl_quantity.getText());
lbl_quantity.setText(Integer.toString(initialCount - 1));
}else{
JOptionPane.showMessageDialog(this, "can't update the count");
}
}catch (Exception e){
e.printStackTrace();
}
}
public boolean isAlreadyIssued(){
boolean isAlreadyIssued = false;
int bookId = Integer.parseInt(txt_bookId.getText());
int studentId = Integer.parseInt(txt_studentId.getText())
try{
Connection con = DBConnection.getConnection();
String sql = "select * from issue_book_details where book_id = ? and student_id = ? and status =
? ";
PreparedStatement pst = con.prepareStatement(sql);
pst.setInt(1, bookId);
pst.setInt(2, studentId);
pst.setString(3, "pending");
ResultSet rs = pst.executeQuery();
if (rs.next()){
isAlreadyIssued = true;
}else{
isAlreadyIssued = false;
}
}catch (Exception e){
e.printStackTrace();
}
return isAlreadyIssued;}
} catch (InstantiationException ex) {
Return Book :
public ReturnBook() {
initComponents();
}
public void getIssueBookDetails(){
int bookId = Integer.parseInt(txt_bookId.getText());
int studentId = Integer.parseInt(txt_studentId.getText());
try{
Connection con = DBConnection.getConnection();
String sql = "select * from issue_book_details where book_id = ? and student_id = ? and status =
? ";
PreparedStatement pst = con.prepareStatement(sql);
pst.setInt(1, bookId);
pst.setInt(2, studentId);
pst.setString(3, "pending");
ResultSet rs = pst.executeQuery();
if (rs.next()){
lbl_isueId.setText(rs.getString("id"));
lbl_bookName.setText(rs.getString("book_name"));
lbl_studentName.setText(rs.getString("student_name"));
lbl_issueDate.setText(rs.getString("issue_date"));
lbl_dueDate.setText(rs.getString("due_date"));
lbl_bookError.setText("");
}else{
lbl_bookError.setText("No Record Found");
lbl_isueId.setText("");
lbl_bookName.setText("");
lbl_studentName.setText("");
lbl_issueDate.setText("");
lbl_dueDate.setText("");
}
}catch (Exception e){
e.printStackTrace();
}}
public boolean returnBook(){
boolean isReturned = false;
int bookId = Integer.parseInt(txt_bookId.getText());
int studentId = Integer.parseInt(txt_studentId.getText());
try{
Connection con = DBConnection.getConnection();
String sql = "update issue_book_details set status = ? where student_id = ? and book_id = ? and
status = ? ";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, "returned");
int rowCount = pst.executeUpdate()
CHAPTER – 7
SOFTWARE TESTING
Is the menu bar displayed in the appropriate contested some system related features included
either in menus or tools? Do pull -Down menu operation and Tool-bars work properly? Is all
menu function and pull down sub function properly listed? Is it possible to invoke each menu
function using logical assumptions that if all parts of the system are correct, the goal will be
successfully achieved? In adequate testing or non-testing will leads to errors that may appear few
months later.
This create two problem
The testing process focuses on the logical intervals of the software ensuring that all statements
have been tested and on functional interval is conducting tests to uncover errors and ensure that
defined input will produce actual results that agree with the required results. Program level
testing, modules level testing integrated and carried out.
There are two major type of testing they are
1) Interface errors
2) Performance in data structure
3) Performance errors
Check whether the sort functionality works as expected using ascending and descending
sort. Check filter functionality works as expected.
Verify whether the search system has a table for listing the search results.
CHAPTER – 8
FUTURE ENHANCECEMENTS
In any system there is always chance for its enhancement and extension.
This can also be enhanced with the change facilities also with the progress of the fashion
Design system can also be enhance in future.
Move facilities can be added to the system for its growth.
There is always scope for enhancements in any system especially in the ever changing
world of computer.
The fashion design system can also be modified according to the feature requirements the
achievement of the technology.
CHAPTER – 9
CONCLUSION
Our project is only a humble venture to satisfy the needs in a library. Several user friendly
coding have also adopted. This package shall prove to be a powerful package in satisfying all the
requirements of the organization. The objective of software planning is to provide a frame work
that enable the manager to make reasonable estimates made with in a limited time frame at the
software project and should be updated regularly as the project progress.
CHAPTER – 10
BIBILOGRAPHY
Website
. https://www.mysirg.com
. https://www.freecodecamp.org
. https://www.w3schools.com
. https://www.codinggame.com/start
. https://www.codeacedemy.com/
. https://www.sololearn.com