0% found this document useful (0 votes)
43 views61 pages

library_management_system_documentation(final)

Project report

Uploaded by

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

library_management_system_documentation(final)

Project report

Uploaded by

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

Dr. B.

V Hiray College of Management & Research Centre

1
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

2
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

CHAPTER – 1

INTRODUCTION

1.1 Abstract:
The Library Management System (LMS) is a comprehensive
software solution designed to simplify and streamline. the daily
operations of a library. It serves as a digital platform for
organizing and managing books, patrons, and various library
services efficiently. With an intuitive interface, the system
automates processes such as book lending, searching, cataloging,
and inventory management, improving both user experience and
administrative
efficiency.
Every organization, whether big or small, has challenges to
overcome and managing the information of Books, Student,
Librarian, Member. Every Library Management System has
different Student needs; therefore, we design exclusive library
management systems that are adapted to your managerial
requirements.

A Library Management System is a project that tries to create an


automated and computerized version for a library so that the daily
work of a library can be managed and monitored easily and
efficiently. Earlier, the librarian used to manage the whole work in
manual mode in the form of files and record books. Also, the
process of adding new books, new students, issuing and returning
books had to be managed in a manual manner which is very slow
and inefficient. The library management system resolves this
3
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

problem and provide a better solution to this. It provides a user-


friendly interface application to the librarian where he can do all
the operations of a library very easily. The application mainly
consists of three modules which are admin module,(librarian
module) and student module. The admin module will be managed
by the system administrator. He manages the overall functioning of
the application. It will be accessed by the librarian. He can perform
various operations inside the application such as add new students,
new books to the database, issuing and returning of books,
updating student’s details, book’s details etc. The student module
can be accessed by the registered students only. The operations
that can be performed by the student includes: view all books
available in the library, search the availability of a particular book,
These two modules are interconnected with each other and also
with the database. The application is built using python technology
and Sqlite database.

1.2.Existing System and Need For System

Needs of a library management system.

1.Enhance efficiency

Monitoring daily data on the total number of volumes issued,


unreturned, reissued, and available can be a time-consuming chore
for a librarian.

4
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

2.Keep track of data


Using a library management system, the whole catalogue can be
maintained along with the details of library books, reissued, unreturned,
and available.
3. Saves time
The conventional way of managing library activities can take a while.
During the examination period, the number of students using the library
surges, causing students to wait even longer than usual. At this time,
using library management software can be incredibly advantageous. The
library team can issue books

4. Management of resources
Managing the demand and availability of books can be difficult for
librarians. With the assistance of a library management system, they can
swiftly verify the records and issue the books accordingly.

5. Safety
System updates and maintenance are performed on a regular basis to
guarantee that user databases are always confidential and safe.

EXISTING SYSTEM:
 Time-Consuming and Labor-Intensive: Manual processes for
cataloging, borrowing, returning, and reporting require
significant effort from library staff, reducing overall efficiency.
 Error-Prone: Manual record-keeping and calculations can lead
to human errors, such as incorrect data entry, missing books, or
inaccurate fines.
 Limited User Access and Convenience: Users may find it
difficult to search for books or check availability outside
library hours. In many cases, there is no online system for
accessing library catalogs or managing accounts.
5
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

 Difficult to Scale: As the library grows and more books and


users are added, the manual system becomes increasingly
difficult to manage. Scaling up requires more physical space
and staff time.

1.3 Scope Of Project

The project is specifically designed for the use of librarians


and library users. The product will work as a complete user
interface for library management process and library usage
from ordinary users. Library Management System can be used
by any existing or new library to manage its books and book
borrowing, insertion and monitoring. It is especially useful for
any educational institute where modifications in the content
can be done easily according to requirements.

Library Management System Project is basically updating the


manual library system into an online system so that the users
can know the details of their accounts, availability of books
and maximum limit for borrowing and many more features.
The language used for developing the project is
python,tkinter gui and sqlite for backend

6
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

CHAPTER – 2
Proposed System

2.1 Study Of Similar System


A Library Management System
Mohamed Mussa, Ferhat Khendek, in Advance of Computer,
2019
To illustrate our framework and partially demonstrates its
effectiveness we built a prototype tool. We ran several case
studies. In this chapter, we present the library management
system case study and briefly discuss the results. We considered a
library management system that is composed of four components
to provide users with the main library services. These services are
covered by test cases designed to build component test models as
well as the acceptance test model. Fig. 16 shows the system
architecture and some of the test models. In this case study, we
apply our generation approach on the component test models to
generate integration test models. We ran the prototype tool twice
using two different integration orders to demonstrate the properties
of the test generation approach. Next, we use the prototype tool to
map the generated integration test models to the acceptance test
model to reduce the acceptance test model.

Library management systems and the electronic library

“Library Management System 7


Dr. B.V Hiray College of Management & Research Centre

Stuart Ferguson, Rodney Hebels, in computers of librariens(third


edition), 2003

This chapter focused on the basic functions of any library


management system, such as cataloguing, acquisitions
and circulations control. What is defined as a basic function,
however, changes as the vendors of computerised
library management systems vie with each other for market share.
Serials control subsystems, once regarded by many systems
librarians and software developers as too problematic, are now a
common feature; management information systems provide a range
of management reports; and several systems now include
media management modules. The fact that many library
management systems are modular makes it possible for librarians
to add modules to their systems either as they become available or
as funds become available. Whether the additional modules come
from the same vendor or whether some ‘mixing and matching’ is
possible depends on the degree to which ‘open systems’ are
provided for (see Chapter 6). Some vendors, for instance, provide a
module that offers full-text indexing of documents, but at the
present time it is not a common feature.
In a library management systems conference in 2000, Marshall
Breeding characterised the LMS market as follows:

It is generally mature.
It exhibits rich features for basic operations (e.g.,
cataloging, circulation control, online catalogs).
The majority of installed systems are older “legacy systems.”

“Library Management System 8


Dr. B.V Hiray College of Management & Research Centre

2.2 Feasibility Study:

Technical Feasibility:

Uses Python with libraries like Tkinter (GUI) and SQLite (database).

Minimal hardware requirements and widely available resources.

Technically feasible due to robust tools and easy integration.

Economic Feasibility:

Cost-effective, as Python and SQLite are open-source.

Automates tasks, saving operational costs and improving ROI.

Economically viable for small to medium libraries.

Operational Feasibility:

User-friendly system reduces manual errors and improves efficiency.

Minimal training required due to intuitive design.

Aligns with library workflows, making it operationally feasible.

Legal Feasibility:

Ensures secure data storage and compliance with privacy laws.

No copyright violations for resources provided.

Legally feasible with standard practices.

Schedule Feasibility:

“Library Management System 9


Dr. B.V Hiray College of Management & Research Centre

Development and deployment can be completed within 3–4 months.

Schedule is feasible with proper planning.

Social Feasibility:

Accepted by users due to its functionality and simplicity.

Enhances library services and overall user experience

2.3 Objectives Of Proposed System

The main objective of the Project on Library Management System is


to manage the details of Student, Books, Issues, Librarian, Member.
It manages all the information about. The project is totally built at
administrative end and thus only the administrator is guaranteed the
access. The purpose of the project is to build a application program to
reduce the manual work for managing the Student, Books, Issues. It
tracks all the details about the Issues, Librarian, etc.
1. The objectives of a library management system is to operate a
library with efficiency and at reduced costs. The system being
entirely automated streamlines all the tasks involved in operations of
the library.
2. The activities of book purchasing, cataloging, indexing, circulation
recording and stock checking are done by the software. Such software
eliminates the need for repetitive manual work and minimizes the
chances of errors.
3. The library management system software helps in reducing
operational costs. Managing a library manually is labor intensive and
an immense amount of paperwork is involved. An automated system
reduces the need for manpower and stationery. This leads to lower

“Library Management System 10


Dr. B.V Hiray College of Management & Research Centre

operational costs.

2.4.Users Of System
The library management system software is based on the different
sections or classes involved in the operation of a library. The
functions and attributes of the classes and relationships between
them are specified in a Class Diagram. This diagram forms the
fundamental step in building the management software.
Library Management System Class:
This class manages the entire library management functions and is
the focal point on which the software is designed. The attributes of
User type and User name with the functions of Register, Login and
Logout are vital to any library management system.
1.Librarian Class:
This class manages all the operations of the Librarian. The name, ID
and respective password for the librarian are verified. The search
string used by them in searching for books is saved for future use.
2.User Class:
The operations of the user are managed by this class. Name and ID
of the user is verified. Information on the books accessed by each
user is recorded.
3.Book Class:
All operations pertaining to the books are managed by this class.
Books are classified on the attributes of title, author, subject and date
of publication.

“Library Management System 11


Dr. B.V Hiray College of Management & Research Centre

CHAPTER – 3

ANALYSIS AND DESIGN

3.1 System Requirements(Functional and Non-Functional


Requirements)
1.Hardware Requirements: The minimum acceptable hardware
requirement that are required for the proper functioning of the
application are given below:
a. Operating System: Windows

b. Hard disk and RAM: 40GB and 4GB are required respectively

c. Processor: Dual-Core CPU

2.SoftwareRequirements:

a.Operatingsystem

b.Microsoftwindows10

3.2 Entity Relationship Diagram:

This is an Entity-Relationship Diagram (ERD) for a Library


Management System. Here's the explanation:

Key Elements in the Diagram:


Entities:

“Library Management System 12


Dr. B.V Hiray College of Management & Research Centre

1. Student: Represents the users or members who request,

issue, and return books. Attributes include:


1. std_id (Student ID): Unique identifier for a student.

2. s_name (Student Name): Name of the student.

3. Course: The course the student is enrolled in.

Book: Represents the books in the library. Attribute include:

1. Book name: The name of the book.

2. Book id: Unique identifier for a book.

3. Author: Name of the author of the book.

Admin (Librarian): Represents the administrator managing the library


system. Admin tasks include maintaining books, issuing books, and
managing student information Relationships:

2. Requests: Students can request books. This is a relationship

between the Student and Book entities.


3. Issues/Returns: The Admin (Librarian) can issue or return

books to/from the students.


4. Maintains: The Admin manages various aspects of the

library system. For example:

1. Maintaining student information (std_info).

2. Issuing books.

3. Deleting inventory (removing books from the system).

4. Deleting book records.

5. Updating book details.

6. Changing book availability.

“Library Management System 13


Dr. B.V Hiray College of Management & Research Centre

Attributes and Actions:

5. Maintains: The librarian performs administrative tasks such

as:

1. Deleting outdated or irrelevant book records.

2. Updating details about books like title, author, etc.

3. Changing the availability status of books in the library

system.
4. Managing book inventory (adding or removing

books).

“Library Management System 14


Dr. B.V Hiray College of Management & Research Centre

“Library Management System 15


Dr. B.V Hiray College of Management & Research Centre

3.3 Table Structure :

1. Admin Table

Data Type Constraints


Column Name

Name VARCHAR(100) NOT NULL

Password VARCHAR(100) NOT NULL

Name: Admin's name.

Password: Admin's password.

2. Student Table
Fig. 3.2 Entity Relationship Diagram

Column Name Data Type Constraints

Name VARCHAR(100) NOT NULL

Course VARCHAR(15) NOT NULL

Student Id INT NOT NULL

Password VARCHAR(100) NOT NULL

Student_ID: Unique identifier for each student, auto-incremented.

“Library Management System 16


Dr. B.V Hiray College of Management & Research Centre

Name: Student's name.

Course: Student's course of study.

Password: Student's password.

3.Book Table:

Column Name Data Type Constraints

PRIMARY KEY,
Book_ID INT
AUTO_INCREMENT

Title VARCHAR(200) NOT NULL

Author VARCHAR(100) NOT NULL

Genre VARCHAR(50)

Availability_Status ENUM('Available', 'Unavailable') DEFAULT 'Available'

Book_ID: Unique identifier for each book, auto-incremented.

Title: Book title.

Availability_Status: Indicates whether the book is available or


unavailable, with a default value of "Available."

Key Points:

Primary Keys: Each table has a primary key (Admin_ID,


Student_ID, Book_ID) to uniquely identify each record.

“Library Management System 17


Dr. B.V Hiray College of Management & Research Centre

Data Types: Appropriate data types are used for each column (e.g.,
INT for numeric values, VARCHAR for text).

Constraints: Constraints like NOT NULL and UNIQUE are used to


ensure data integrity.

Default Values: Default values are specified for certain columns (e.g.,
"Available" for Availability_Status)

3.4 Use Case Diagram :

This diagram is a Use Case Diagram for a Library Management


System, illustrating how the system interacts with two primary
actors: Admin and User. Here's an explanation.

Actors:

1 . Admin:

1. Represents the librarian or system administrator who has

privileged access to manage books, inventory, and users


(students).

2 User:

1. Represents students or members who borrow and return

books in the library.

Use Cases (Functionalities):

Login:

1. Both Admin and User need to log in to access the system.

“Library Management System 18


Dr. B.V Hiray College of Management & Research Centre

2. Ensures secure access by authenticating credentials.

1.

Update, Delete, Add Book:

1. Admin-only functionality.
2. Admin can manage book records by adding new books,

updating book details, or removing existing ones.

Delete Full Inventory:

1. Admin-only functionality.
2. Allows the Admin to clear out the entire inventory, possibly

for database reset or migration.

Change Book Availability:

1. Admin-only functionality.
2. Admin can update the status of books (e.g., available, issued,

or unavailable).

Add, Delete Student:

1. Admin-only functionality.

2. Admin can manage student (user) records by registering new

students or removing their access.

Borrow Book:

1. User functionality.

“Library Management System 19


Dr. B.V Hiray College of Management & Research Centre

2. Users can borrow books from the library, which updates the

system's inventory to mark the book as issued.


3. Admin may assist in processing the borrow request.

Return Book:

1. User functionality.
2. Users can return borrowed books, and the system updates the

inventory to mark the book as available again.

“Library Management System 20


Fig . 3.4 Use Case Diagram
Dr. B.V Hiray College of Management & Research Centre

3.5 Class Diagram :

This is a Class Diagram for a Library Management System. It shows


the key classes, their attributes, methods, and the relationships between
them.

Classes and Their Details:

1. Admin

Attributes:

user Id (String): Represents the Admin's unique ID.

password (String): Represents the Admin's login credentials.

Methods (Operations):

login(): Allows the Admin to log into the system.

deleteBook(): Enables the Admin to delete a book record.

clearInventory(): Clears the entire book inventory.

updateBookDetails(): Updates book details like title, author, etc.

changeBookAvailability(): Changes the availability status of a


book.

addBook(): Adds a new book to the inventory.

manageStudentInfo(): Manages student information, such as


adding or removing students.

“Library Management System 21


Dr. B.V Hiray College of Management & Research Centre

Relationships:

Admin manages the User class and the Book class.

2. User

Attributes:

student Id (String): Unique identifier for a user (student).

name (String): Name of the student.

Methods (Operations):

login(): Allows the User to log into the system.

borrowBook(): Allows the User to borrow a book from the


library.

returnBook(): Allows the User to return a borrowed book.

Relationships:

Users borrow books from the library.

3. Book

Attributes:

book Id (int): Unique identifier for a book.

title (String): Title of the book.

author (String): Author of the book.

“Library Management System 22


Dr. B.V Hiray College of Management & Research Centre

is Available (bool): Indicates whether the book is available for


borrowing.

Methods (Operations):

updateAvailability(): Updates the availability status of a book


(e.g., from issued to available).

Relationships:

Books are managed by the Admin and borrowed by Users.

Relationships Between Classes:

Admin → User (1 to many):

An Admin can manage multiple Users (e.g., adding or deleting


them from the system).

Admin → Book (1 to many):

An Admin can manage multiple Books (e.g., adding, deleting,


or updating book details).

User → Book (many to many):

Users can borrow multiple books, and a book can be borrowed


by multiple users at different times.

“Library Management System 23


Dr. B.V Hiray College of Management & Research Centre

“Library Management System 24


Dr. B.V Hiray College of Management & Research Centre

3.6 Activity Diagram :

Fig . 3.6 Activity Diagram

Library Management System: This is the overarching system that


encompasses all the other modules.

ADMIN Module: This module is focused on administrative tasks and is


primarily used by system administrators.

USER Module: This module is intended for end-users, such as students


or faculty, who interact with the library system.

ADMIN Module Functionality:

Admin Login: This is the entry point for administrators to access the
system.

25
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

Manage Book Records: This section allows administrators to perform


various actions on book records, including:

Delete Book Records

Update Book Details

Change Book Availability

Add New Book Entries

Clear Inventory

Check Book Status

Inventory Snapshot

Manage Student Information: This section enables administrators to


manage student records, including:

Add Student Records

Delete Student Records

System Management: This section provides tools for system


administration, such as:

System Metrics

End Management

USER Module Functionality:

User Login: This is the entry point for end-users to access the system.

User Management: This section allows users to manage their own


information and preferences.

26
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

End User Services: This section provides services that end-users can
utilize, such as:

Borrow Books

Return Books

3.7 Deployment Diagram :

1. Admin Login:

The process starts with the admin logging into the system.

Upon successful login, the admin is directed to the admin dashboard.

2. Admin Dashboard:

The admin dashboard provides an overview of the library system,


including options to access books and students.

3. Access Books:

The admin can access the "Manage Books" section to perform various
operations on book records.

These operations include:

Add New Book: Create a new book record.

Update Book Details: Modify existing book details.

Change Book Availability: Update the availability status of a book.

Delete Book Record: Remove a book record from the system.

Delete Full Inventory: Delete all book records.

4. Access Students:
27
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

The admin can access the "Manage Students" section to perform


operations on student records.

These operations include:

Add Student: Create a new student record.

Delete Student: Remove a student record from the system.

3.8 Module Hierarchy Diagram :

1.Start: The process begins here.

2. Admin Login: The first step is for an administrator to log into the
system.

28
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

3. Manage Books: The admin can then perform various actions related
to books, such as adding, removing, or updating book records.

4. Manage Inventory: The admin can also manage the library's


inventory, tracking book availability and stock levels.

5. Manage Student Info: The admin can manage student information,


such as adding new students, updating existing student details, or
removing students.

6. User Login: A regular user (like a student or faculty member) logs


into the system.

7. Borrow Book: The user can borrow a book from the library.

8. Return Book: The user can return a borrowed book to the library.

Note: This is a very basic representation of a library management


system. A more complex system would involve additional steps and
decisions, such as checking book availability, verifying user eligibility,
and managing fines.

29
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

Fig. 3.8 Module Hierarchy Diagram

30
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

3.9Sample Input and Output Screens

1. Login Page

2) Admin Panel

3) Student Panel

31
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

4) User Page

32
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

5)Borrowing a book

33
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

6)sign up new student

34
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

CHAPTER – 4
CODING

4.1 Code Snippets:

Frontend:

import tkinter as tk

from tkinter import messagebox

import subprocess # To open the second script if logged in as


Admin

# Function to verify admin login

def admin_login():

username = entry_username.get()

password = entry_password.get()

# Admin credentials (you can change this to something else)

if username == "admin" and password == "admin123":

messagebox.showinfo("Login Successful", "Welcome


Admin!")
35
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

# Open the main_page.py script when admin logs in

subprocess.run(["python", "main_page.py"]) # Runs the


main_page.py file

root.quit() # Close the login page

else:

messagebox.showerror("Login Failed", "Incorrect Admin


credentials")

# Function to verify user login

def user_login():

username = entry_username.get()

password = entry_password.get()

# User credentials (you can change this to something else)

if username == "user" and password == "user123":

messagebox.showinfo("Login Successful", "Welcome User!")

# Open the main_page.py script when admin logs in

subprocess.run(["python", "student_dashboard.py"]) # Runs


the main_page.py file

root.quit() # Close the login page

else:
36
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

messagebox.showerror("Login Failed", "Incorrect User


credentials")

# Variables

lf_bg = 'LightSkyBlue' # Left Frame Background Color

rtf_bg = 'DeepSkyBlue' # Right Top Frame Background Color

rbf_bg = 'DodgerBlue' # Right Bottom Frame Background Color

btn_hlb_bg = 'SteelBlue' # Background color for Head Labels and


Buttons

lbl_font = ('Georgia', 13) # Font for all labels

entry_font = ('Times New Roman', 12) # Font for all Entry widgets

btn_font = ('Gill Sans MT', 13)

# Set up the main Tkinter window

root = tk.Tk()

root.title("Login Page")

# Username Label and Entry

label_username = tk.Label(root, text="Username:",bg=lf_bg


,font=lbl_font,height=3,width=20)
37
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

label_username.pack(pady=5)

entry_username = tk.Entry(root)

entry_username.pack(pady=5)

# Password Label and Entry

label_password = tk.Label(root, text="Password:",bg=lf_bg


,font=lbl_font,height=3,width=20)

label_password.pack(pady=5)

entry_password = tk.Entry(root, show="*")

entry_password.pack(pady=5)

# Admin and User Login Buttons

btn_admin = tk.Button(root, text="Admin Login",


command=admin_login)

btn_admin.pack(pady=5)

btn_user = tk.Button(root, text="User Login",


command=user_login)

btn_user.pack(pady=5)

# Run the Tkinter event loop


38
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

root.mainloop()

import sqlite3

import tkinter as tk

from tkinter import ttk

import tkinter.simpledialog as sd

import tkinter.messagebox as mb

# Connecting to Database

connector = sqlite3.connect('library.db')

cursor = connector.cursor()

# Functions

def display_books():

global tree

tree.delete(*tree.get_children())

curr = connector.execute('SELECT * FROM Library')

data = curr.fetchall()

for record in data:

39
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

tree.insert('', 'end', values=record)

def borrow_book():

global connector, tree

if not tree.selection():

mb.showerror('Select a Book!', 'Please select a book from the


list to borrow.')

return

current_item = tree.focus()

selected_book = tree.item(current_item)

book_details = selected_book['values']

book_id = book_details[1] # Get the Book ID

# Ask for user's Card ID

user_card_id = sd.askstring('Card ID', 'Please enter your


Library Card ID:')

if user_card_id:

# Check if the book is already issued

40
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

if book_details[3] == 'Issued':

mb.showerror('Book Unavailable', 'This book is already


borrowed by someone else.')

else:

# Update the book status to 'Issued' and set Card ID

cursor.execute('UPDATE Library SET BK_STATUS=?,


CARD_ID=? WHERE BK_ID=?',

('Issued', user_card_id, book_id))

connector.commit()

mb.showinfo('Book Borrowed', f'You have successfully


borrowed "{book_details[0]}"!')

display_books()

else:

mb.showerror('Invalid Card ID', 'Please provide a valid


Library Card ID.')

def return_book():

global connector, tree

if not tree.selection():

mb.showerror('Select a Book!', 'Please select a book from the

41
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

list to return.')

return

current_item = tree.focus()

selected_book = tree.item(current_item)

book_details = selected_book['values']

book_id = book_details[1] # Get the Book ID

# Ask for confirmation of the return

surety = mb.askyesno('Confirm Return', f'Are you sure you want


to return "{book_details[0]}"?')

if surety:

# Update the book status to 'Available' and clear the Card ID

cursor.execute('UPDATE Library SET BK_STATUS=?,


CARD_ID=? WHERE BK_ID=?',

('Available', 'N/A', book_id))

connector.commit()

mb.showinfo('Book Returned', f'You have successfully


returned "{book_details[0]}"!')
42
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

display_books()

# GUI Setup

root = tk.Tk()

root.title('User Library Management System')

root.geometry('800x500')

# Title Label

tk.Label(root, text="User Library Management System",


font=("Arial", 20), bg="SteelBlue", fg="White").pack(side="top",
fill="x")

# Treeview for displaying books

columns = ('Book Name', 'Book ID', 'Author', 'Status', 'Issuer Card


ID')

tree = ttk.Treeview(root, columns=columns, show="headings")

tree.heading('Book Name', text='Book Name', anchor='center')

tree.heading('Book ID', text='Book ID', anchor='center')

tree.heading('Author', text='Author', anchor='center')

tree.heading('Status', text='Status', anchor='center')


43
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

tree.heading('Issuer Card ID', text='Issuer Card ID',


anchor='center')

tree.column('Book Name', width=200, anchor='center')

tree.column('Book ID', width=100, anchor='center')

tree.column('Author', width=150, anchor='center')

tree.column('Status', width=100, anchor='center')

tree.column('Issuer Card ID', width=150, anchor='center')

tree.pack(pady=20, fill="both", expand=True)

# Buttons

frame = tk.Frame(root)

frame.pack(pady=20)

borrow_btn = tk.Button(frame, text='Borrow Book', width=20,


font=("Arial", 12), bg="SteelBlue", fg="White",
command=borrow_book)

borrow_btn.grid(row=0, column=0, padx=10)

return_btn = tk.Button(frame, text='Return Book', width=20,


44
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

font=("Arial", 12), bg="SteelBlue", fg="White",


command=return_book)

return_btn.grid(row=0, column=1, padx=10)

# Initializing the display

display_books()

# Start the GUI

root.mainloop()

Backend:

SQLite format 3

45
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

CHAPTER-5
TESTING

5.1 Test Strategy:

User Authentication (Admin and Members).


Book Management (Add, Update, Delete, Search).
Member Management (Add, Update, Delete, Search).
Book Issue and Return.
Email Notification Integration.
Test Levels
Unit Testing: Test individual functions (e.g., login, search).
Integration Testing: Verify interactions between modules (e.g., admin
registration and email notifications).
System Testing: Evaluate the entire application’s functionality.
User Acceptance Testing (UAT): Ensure the system meets end-user
requirements.
Test Types
Functional Testing: Validate all features work as expected.
Performance Testing: Test system response time and scalability.
Usability Testing: Assess the interface's user-friendliness.
Security Testing: Ensure data protection (e.g., password encryption).

46
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

5.2 Unit Test Plan:


To test individual modules and components of the Library Management
System to ensure they function as expected in isolation.
Scope of Testing
The following key modules will be tested:
User Authentication
Book Management
Member Management
Book Issue and Return
Email Notification
Test Approach
Each function will be tested independently.
Use Python's unittest framework for writing and executing tests.
Mock dependencies (e.g., database calls, email service) where required.
Test Cases
1. User Authentication
Verify successful admin login with valid credentials.
Check error message on invalid login attempts.
Test new member registration and credential generation.
2. Book Management

Verify adding a new book updates the database correctly.


Test searching for books by title, author, or ID.
Validate updating and deleting book records.
3. Member Management
Test adding new member details and saving them to the database.
Verify updating and deleting member records.
Ensure member search retrieves correct results.
4. Book Issue and Return
Validate book issue reduces availability count in the database.
47
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

Verify book return updates availability count and clears due dates.
Check late return calculation and penalty application.

5.3 Acceptance Test Plan :


Acceptance Criteria
User Authentication: Login works for admins/members; unauthorized
access blocked.
Book Management: Admin can add, update, delete, and search books
with accurate database updates.
Member Management: Admin can manage member records and send
credentials via email.
Book Issue/Return: Proper updates for availability, due dates, and
penalties.
UI and Usability: Easy navigation, responsive design, and user-friendly
interface.
Test Execution
Environment: Deployed system.
Testers: Admins, members, QA team.
Scenarios: Real-world use cases.
Deliverables
Test and Feedback Reports.
Pass/Fail Criteria
Pass: All functionalities work as expected.
Fail: Critical issues require fixes and re-testing.
This concise plan ensures the system aligns with user needs and is
deployment-ready.

5.4. Test Case/Test Script

Test Script
48
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

Setup
Launch the Library Management System application.
Ensure the database is populated with at least one admin account.
Test Steps: Authentication
Admin Login

Enter valid username and password.


Click on the Login button.
Verify that the admin dashboard is displayed.
Invalid Login

Enter an incorrect username or password.


Click on the Login button.
Verify that an error message, "Invalid credentials," is displayed.
Unregistered Email Login

Enter an unregistered email and password.


Click on the Login button.
Verify that an error message, "User does not exist," is displayed.
Test Steps: Member Management
Add Member
Navigate to the "Add Member" page.
Enter valid details (Full Name, Email, Mobile, Address, Photo)

49
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

CHAPTER – 6

LIMITATIONS OF PROPOSED SYSTEM

Dependency on User Input:


The system requires accurate and complete data entry by
administrators and users. If incorrect or incomplete data is entered,
such as invalid member details or missing book information, it can
lead to errors and inconsistencies. A lack of robust validation
mechanisms could lead to human error, especially when dealing with a
large number of records.

Complexity in Handling Large Databases:


As the number of library members and books grows, the system might
slow down, especially if the database is not optimized. Queries could
become slower, and managing a large data set might become
cumbersome without proper database indexing or optimization
techniques in place.

Limited Access Control:


Although the system can manage basic user roles (admin and
members), there may be insufficient flexibility in user permissions.
The lack of more granular user roles, such as librarian, supervisor, or
guest users with specific access rights, could be a limitation, especially
in larger libraries.

Potential Security Concerns:


Sensitive member information, such as email addresses, phone
numbers, and photos, may not be adequately protected if advanced

50
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

encryption and security protocols are not implemented. Without strong


security measures like HTTPS, data encryption, and secure
authentication, user data might be at risk.

Lack of Mobile Application Support:


The system might not have a mobile-friendly interface or a dedicated
mobile app, limiting access for users who prefer to use smartphones or
tablets to check book availability, make reservations, or manage their
accounts.

No Support for Advanced Book Reservation and Notifications:


The reservation system may lack features like automatic reservations
when a book becomes available or detailed email/SMS notifications
for due dates, overdue books, and new arrivals. This could cause
inconvenience for members who need timely reminders or who wish to
reserve books in advance.

Limited Report Generation Capabilities:


The reporting system might be basic, lacking the ability to generate
custom reports or perform in-depth statistical analysis. Advanced
features such as exporting reports to various formats (CSV, PDF,
Excel) or generating specific analytics for inventory and usage trends
might be missing.

Restricted Search Functionality:


The system’s search functionality could be limited to basic searches by
book title or author. More advanced search options, such as filtering by
genre, publication date, availability status, or language, could be
beneficial, especially for larger libraries with diverse collections.

Manual Fee Handling:


51
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

If the system lacks automation for managing fees (e.g., overdue fines,
lost or damaged books), it may be prone to errors and oversight.
Automation of fine calculations and online payment integration could
streamline the fee management process.

Lack of Backup and Recovery Mechanism:


Without a comprehensive backup and recovery system in place, the
library could be at risk of data loss due to hardware failure, software
issues, or human error. Regular backups and an efficient recovery
system are necessary to ensure business continuity.

Limited Scalability for High Traffic:


As the number of users or the library’s collection grows, the system
might struggle to handle high traffic volumes. If not optimized for
scalability, the system could become slow or even crash during peak
usage periods, such as the beginning of a semester or when large
numbers of users access the system simultaneously.

Manual Data Synchronization:


If the system lacks real-time synchronization across multiple locations
or devices, staff members may face challenges in maintaining up-to-
date records. Any delay in updating book availability, member
information, or transaction data might lead to discrepancies and
confusion.

Lack of Integration with External Systems:


The system may not integrate with other existing institutional systems,
such as student management, course registration, or academic
databases. This could limit its functionality and prevent it from
offering a seamless experience for users who require data from other
systems.
52
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

Limited User Feedback Mechanism:


The system may not have an effective way to collect user feedback,
making it difficult to understand and address the needs and complaints
of members. A more structured feedback mechanism could help
improve the user experience by addressing pain points and
implementing suggested improvements.

No Support for Multi-Language or Internationalization:If the


system is designed in a single language (e.g., English), it may not be
suitable for a diverse group of users who speak different languages.
Adding support for multiple languages or providing localization
options could improve the accessibility and usability of the system for
a wider audience

53
“Library Management System
Dr. B.V Hiray College of Management & Research Centre

CHAPTER – 7

PROPOSED ENHANCEMENTS

User Data Validation and Error Handling:


Enhance the system by implementing more rigorous validation for user
inputs, ensuring that data entered is correct and complete. This could
include checks for valid email addresses, phone numbers, and
mandatory fields (e.g., book details and member information).
Additionally, implementing detailed error handling would help users
understand and correct any mistakes.

Optimized Database Management:


To improve system performance and scalability, optimize the database
by implementing indexing, caching mechanisms, and regular database
maintenance. This will help speed up queries, reduce load times, and
support large datasets, making the system more responsive even as the
number of users and books increases.

Advanced Role-Based Access Control:


Implement more granular and customizable user roles and permissions.
In addition to administrators and members, introduce roles like librarian,
supervisor, and guest, each with specific privileges (e.g., librarians can
approve book returns, while members can only view books). This
ensures better security and more efficient workflow management.

Data Encryption and Security Enhancements:


Strengthen the security of user data by implementing encryption
methods such as AES for data storage and TLS (HTTPS) for secure

“Library Management System


54
Dr. B.V Hiray College of Management & Research Centre

communication. Introducing multi-factor authentication (MFA) for


admins and users will improve the overall system security, safeguarding
sensitive member information.

Mobile Application and Responsive Design:


Develop a mobile application or a responsive web version of the system
that adapts to different screen sizes and devices. This would allow users
to access the system easily on smartphones and tablets, enabling them to
search for books, make reservations, and manage accounts on the go.

Automated Reservation and Notification System:


Add an automated book reservation system that notifies users when a
reserved book becomes available. Integrate email and SMS notifications
for overdue books, due dates, and new arrivals. This will improve user
experience by keeping them informed and reducing the chances of
forgetting important tasks.

Customizable Reporting and Analytics:


Implement advanced reporting features that allow administrators to
generate custom reports based on various criteria (e.g., book popularity,
member activity, overdue books). Adding graphical analytics, such as
charts and graphs, will help staff analyze trends and make informed
decisions.

Advanced Search Functionality:


Improve the search functionality by adding advanced filtering options,
such as searching by genre, publication year, author, availability, and
language. Implement full-text search capabilities to allow users to search
for books based on keywords within book descriptions, abstracts, or
summaries.

“Library Management System


55
Dr. B.V Hiray College of Management & Research Centre

Automated Fee Management and Payment Integration:


Introduce an automated fine calculation and payment system. Implement
online payment gateways (e.g., PayPal, Stripe, or local payment
methods) to allow members to pay fines and fees electronically. This
feature will streamline the fee collection process and reduce the
administrative burden.

Backup and Recovery System:


Establish an automatic backup and disaster recovery system to protect
against data loss. Implement regular scheduled backups, both on-site and
off-site, to ensure data integrity. Create an easy-to-use recovery process
to restore the system in case of failure or accidental data loss.

Scalable Cloud Infrastructure:


Migrate the system to a cloud-based infrastructure to allow for better
scalability and high availability. Using cloud services such as AWS,
Google Cloud, or Azure can ensure that the system can handle more
users and large volumes of data without affecting performance. Cloud
solutions also offer automatic scaling based on demand.
Real-Time Synchronization Across Devices:
Implement real-time synchronization for multi-location libraries or
devices, ensuring that data such as book availability and member status
is updated instantly across all devices. This will help avoid discrepancies
between different library branches or user accounts.

Third-Party System Integrations:


Allow the system to integrate with external services and databases, such
as academic databases, course registration systems, or other institutional
resources. Integration with these systems would allow users to access a
broader range of services and improve workflow automation.
“Library Management System
56
Dr. B.V Hiray College of Management & Research Centre

CHAPTER – 8

CONCLUSION

The Library Management System (LMS) is a comprehensive solution


for managing library resources efficiently. It simplifies the workflow for
administrators by automating tasks such as book management, user
registration, and borrowing/return processes. For members, it provides a
seamless experience for accessing the library catalog, issuing books, and
tracking their borrowing history.

With its user-friendly interface, secure authentication, and robust


functionality, the LMS significantly reduces manual effort, minimizes
errors, and enhances the overall efficiency of library operations. By
integrating advanced features such as online book requests, email
notifications, and real-time data management, the system meets the
modern demands of both libraries and their users.

The LMS is a scalable and customizable tool, making it ideal for small,
medium, and large libraries alike. It lays the foundation for a digital
library system, promoting better organization and a more engaging user
experience for administrators and members.

This paper 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 online library

“Library Management System 57


Dr. B.V Hiray College of Management & Research Centre

CHAPTER – 9
BIBLIOGRAPHY

Suganthy. "RFID LIBRARY MANAGEMENT


SYSTEM." International Journal of Research -GRANTHAALAYAH 4,
no. 5SE (May 31, 2016): 87–91.
http://dx.doi.org/10.29121/granthaalayah.v4.i5se.2016.2729.
ABSTRACT:

This paper gives an overview of the current state of radio frequency


identification (RFID) technology. Aside from a brief introduction to the
principles of the technology, major current and envisaged fields of
application, as well as advantages, and limitations of use are discussed.
Radio frequency identification (RFID) is a generic term that is used to
describe a system that transmits the identity (in the form of a unique
serial number) of an object or person wirelessly, using radio waves. It's
grouped under the broad category of automatic identification
technologies. RFID is increasingly used with biometric technologies for
security. In this paper Basic Principles of RFID technology along with
its types are discussed.

Kim, Jin-Sik, Yeon-Soo Kim, and Young-Kyun Mha. "A LMS (Library
Management System) Framework Development for BIM Operation of
Architectural Design Office." Journal of KIBIM 3, no. 4 (December 31,
2013): 1–10. http://dx.doi.org/10.13161/kibim.2013.3.4.001.

“Library Management System 58


Dr. B.V Hiray College of Management & Research Centre

CHAPTER – 10
USER MANUAL

User Manual
1. Introduction

The Library Management System (LMS) is designed to streamline


library operations, making it easier for administrators and members to
manage library resources effectively. The system provides
functionalities like user authentication, book catalog management, and
borrowing/returning books, ensuring a user-friendly experience.

2. System Requirements

Hardware

A computer with at least 4GB RAM and 20GB free disk space.

Monitor with a resolution of 1280x720 or higher.

Software

Python 3.10 or later

MySQL database (or equivalent)

GUI Tkinter

Getting Started

Installation

Download the LMS package from the provided repository or source.

Run the command python manage.py runserver to start the application.

“Library Management System 59


Dr. B.V Hiray College of Management & Research Centre

4. User Roles
Admin

The admin is responsible for managing library operations and member


activities.

Member

Members can browse the library catalog, issue books, and view their
borrowing history.

5. Key Features and Usage


Admin Functions

Login

Navigate to the login page and enter the admin credentials.

Add Members

Access the "Add Member" form.

Fill in the required details (Name,id,course).

Upload a photo and submit the form.

Manage Books

Add, update, or remove books from the library catalog.

View Members

Access a list of registered members, update their details, or

remove inactive users.

Manage Borrow/Return

“Library Management System 60


Dr. B.V Hiray College of Management & Research Centre

View borrowed books, approve/deny borrowing requests, and


manage return dates.

Member Functions

Login/Registration

Log in with credentials received via email after registration.

Use the sign in option to request an account if not already sign


in.

Search and View Books

Use the search bar to browse the catalog based on title, author,
or genre.

Issue Books

Select a book and click Request Issue. Admin approval is


required.

View Borrowing History

Check previously borrowed books and their status.

Return Books

Request a return through the system after completing the book.

“Library Management System 61

You might also like