0% found this document useful (0 votes)
42 views34 pages

CSC Project Class 12a3

Uploaded by

balasss969
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)
42 views34 pages

CSC Project Class 12a3

Uploaded by

balasss969
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

Computer

Science
Project
Topic: Library management
system.
Index
1. Introduction
2. Aim of the project
3. Problem statement
4. Background of the project
5. Objectives
6. Flow diagram
7. System requirements
8. Source code
9. Output screen shot
10. Conclusion
11. Future enhancement
12. Bibliography
Introduction:

The "Library Management System" has been developed


to override the problems prevailing in the practicing
manual system. This software is supported to eliminate
and, in some cases, reduce the hardships faced by this
existing system. Moreover, this system is designed for the
particular need of the company to carry out operations in
a smooth and effective manner.
The application is reduced as much as possible to avoid
errors while entering the data. It also provides error
message while entering invalid data. No formal
knowledge is needed for the user to use this system.
Thus, by this all it proves it is user-friendly. Library
Management System, as described above, can lead to
error free, secure, reliable and fast management system.
It can assist the user to concentrate on their other
activities rather to concentrate on the record keeping.
Thus, it will help organization in better utilization of
resources.
Every organization, whether big or small, has challenges
to overcome and managing the information of Books,
Student, Librarian, Address, Member. Every Library
Management System has different Student needs
therefore, we design exclusive employee management
systems that are adapted to your managerial
requirements. This is designed to assist in strategic
planning, and will help you ensure that your organization
is equipped with the right level of information and details
for your future goals. Also, for those busy executive who
are always on the go, our systems come with remote
access features, which will allow you to manage your
workforce anytime, at all times.
The Application includes:
 Login Form
 Admin Page
 Student Information
 Book Information
 Issuing Books
 Borrowing Book
Aim of the project:

Its aim is to enable users to make


the most effective use of the
resources and services of the
libraries. The role of library is to
develop reading habits among the
users. Modern library becomes an
information center. There is
change in the nomenclature from
librarian to cybrarian and
information officer.
Problem statement:
A problem statement for a library management
system (LMS) might include:
 Inefficiency
The current system is outdated and inefficient, with
manual processes that lead to errors and delays.
 Resource management
Libraries often struggle to manage their resources
efficiently, with manual tracking of book inventories,
borrower records, and overdue fines being time-
consuming and error-prone.
 User involvement
Existing systems don't involve users much in the
process, and don't consider user wants for newer
books.
 Scalability
Many LMS software solutions have limited
scalability, making it difficult to accommodate
growing collections, increasing user numbers, or the
addition of new branches.
A library management system can help solve these
problems by automating manual processes,
reducing workload, and providing a seamless
experience for both library staff and users.
Background of the project:
Library Management System is an application which
refers to library systems which are generally small or
medium in size. It is used by librarian to manage the
library using a computerized system where he/she
can record various transactions like issue of books,
return of books, addition of new books, addition of
new students etc.
Books and student maintenance modules are also
included in this system which would keep track of
the students using the library and also a detailed
description about the books a library contains. With
this computerized system there will be no loss of
book record or member record which generally
happens when a non -computerized system is used.
In addition, report module is also included in
Library Management System. If user’s position is
admin, the user is able to generate different kinds of
reports like lists of students registered, list of books,
issue and return reports. All these modules are able
to help librarian to manage the library with more
convenience and in a more efficient way as
compared to library systems which are not
computerized.
Objectives:
The main objectives of a library management
system (LMS) are to:
Automate tasks: Reduce manual work and errors by
automating tasks like cataloging, indexing, and
circulation recording
Reduce costs: Lower operational costs by reducing
the need for manpower and stationery
Save time: Save time for both users and librarians by
making it easier to search for books and answer
queries
Make it easier to manage members: Make it easier
to add, remove, or edit members and memberships
Track circulation: Track the issuance and return of
books, and manage overdue fines
Secure data: Keep data secure from unauthorized
access using passwords and other security measures
A library management system is software that helps
simplify the daily operations of a library. It's divided
into two parts: a librarian admin who keeps data
related to books and members, and members who
can access content related to their account.
Flow diagram:

Order request
by customer

Order form
Customers
receives
Order Input order the
database detail product

Request Product Product


for new available shipped
stock
Reading a book

Query Borrow Return Due to


book book the book borrow
book

Management personnel
System requirements:
NON -FUNCTIONAL REQUIREMENTS:

PRODUCT REQUIREMENT:
Efficiency Requirement: When a library
management system will be implemented librarian
and user will easily access library as searching and
book transaction will be very faster.
Reliability Requirement: The system should
accurately perform member registration, member
validation, report generation, book transaction and
search
Usability Requirement: The system is
designed for a user-friendly environment so that
student and staff of library can perform the various
tasks easily and in an effective way.

ORGANIZATIONAL REQUIREMENT:
Implementation Requirements: In implementing
whole system, it uses html in front end with PHP as
server-side scripting language which will be used for
database connectivity and the backend i.e. the
database part is developed using MySQL.
Delivery Requirements: The whole system is
expected to be delivered in six months of time with
a weekly evaluation by the project guide.

Functional requirements:
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 their 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 access to.
-The user must be able to logout after they finished
using system.

REGISTER NEW USER:


description of feature:
This feature can be performed by all users
to register new user to create account.
Functional requirement:
System must be able to verify information.
-System must be able to delete information if
information is wrong.
Register New Book:
Description of feature:
This feature allows to add new books to the library.
Functional requirements:
-System must be able to verify information.
-System must be able to enter number of copies
into table.
- System must be able to not allow two books
having same book id.

SEARCH BOOK:
Description of feature:
This feature is found in book maintenance part. We
can search book based on book id, book name,
publications 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 enter.
- System must be able to show the filtered book in
table view.
Source code:

class Library:
def __init__(self): # Fixed the constructor method name
self.books = {}
self.users = {}
self.borrowed_books = {}

def add_book(self, book_id, book_title, author):


if book_id in self.books:
print("Book ID already exists.")
else:
self.books[book_id] = {"title": book_title, "author":
author}
print(f"Book '{book_title}' added to the library.")

def remove_book(self, book_id):


if book_id in self.books:
removed_book = self.books.pop(book_id)
print(f"Book '{removed_book['title']}' removed from the
library.")
else:
print("Book ID not found.")

def add_user(self, user_id, user_name):


if user_id in self.users:
print("User ID already exists.")
else:
self.users[user_id] = {"name": user_name}
print(f"User '{user_name}' added.")

def remove_user(self, user_id):


if user_id in self.users:
removed_user = self.users.pop(user_id)
print(f"User '{removed_user['name']}' removed.")
else:
print("User ID not found.")

def borrow_book(self, user_id, book_id):


if user_id not in self.users:
print("User ID not found.")
elif book_id not in self.books:
print("Book ID not found.")
elif book_id in self.borrowed_books:
print("Book is already borrowed.")
else:
self.borrowed_books[book_id] = user_id
print(f"Book '{self.books[book_id]['title']}' borrowed by
'{self.users[user_id]['name']}'.")

def return_book(self, book_id):


if book_id in self.borrowed_books:
user_id = self.borrowed_books.pop(book_id)
print(f"Book '{self.books[book_id]['title']}' returned by
'{self.users[user_id]['name']}'.")
else:
print("Book is not borrowed.")

def display_books(self):
if not self.books:
print("No books in the library.")
else:
print("Books in the library:")
for book_id, book_info in self.books.items():
status = "Borrowed" if book_id in self.borrowed_books
else "Available"
print(f"ID: {book_id}, Title: {book_info['title']}, Author:
{book_info['author']}, Status: {status}")

def display_users(self):
if not self.users:
print("No users in the system.")
else:
print("Users:")
for user_id, user_info in self.users.items():
print(f"ID: {user_id}, Name: {user_info['name']}")

# Main program
library = Library()

def main():
while True:
print("\nLibrary Management System")
print("1. Add Book")
print("2. Remove Book")
print("3. Add User")
print("4. Remove User")
print("5. Borrow Book")
print("6. Return Book")
print("7. Display Books")
print("8. Display Users")
print("9. Exit")

choice = input("Enter your choice: ")

if choice == "1":
try:
book_id = int(input("Enter Book ID: "))
book_title = input("Enter Book Title: ")
author = input("Enter Author Name: ")
library.add_book(book_id, book_title, author)
except ValueError:
print("Invalid input. Book ID must be a number.")
elif choice == "2":
try:
book_id = int(input("Enter Book ID: "))
library.remove_book(book_id)
except ValueError:
print("Invalid input. Book ID must be a number.")
elif choice == "3":
try:
user_id = int(input("Enter User ID: "))
user_name = input("Enter User Name: ")
library.add_user(user_id, user_name)
except ValueError:
print("Invalid input. User ID must be a number.")
elif choice == "4":
try:
user_id = int(input("Enter User ID: "))
library.remove_user(user_id)
except ValueError:
print("Invalid input. User ID must be a number.")
elif choice == "5":
try:
user_id = int(input("Enter User ID: "))
book_id = int(input("Enter Book ID: "))
library.borrow_book(user_id, book_id)
except ValueError:
print("Invalid input. IDs must be numbers.")
elif choice == "6":
try:
book_id = int(input("Enter Book ID: "))
library.return_book(book_id)
except ValueError:
print("Invalid input. Book ID must be a number.")
elif choice == "7":
library.display_books()
elif choice == "8":
library.display_users()
elif choice == "9":
print("Exiting the system. Goodbye!")
break
else:
print("Invalid choice. Please try again.")

if __name__ == "__main__": # Fixed incorrect `if` condition


main()
Conclusion:
The Library Management System (LMS) project
successfully demonstrates how technology can simplify
and enhance library operations. This system offers an
efficient way to manage book inventories, track user
activity, handle book lending/returns, and generate
relevant reports. By replacing traditional manual
methods with a digital system, it reduces human errors,
saves time, and ensures better accessibility of
information.
The project also highlights the importance of
implementing robust data management principles, user-
friendly interfaces, and secure access controls. The use of
programming tools and database management systems
reinforces practical knowledge in software development
and database handling, which are critical in the field of
computer science.
Future enhancement:
1. Integration of RFID Technology
Implement RFID tags on books and RFID readers to
automate book lending and returning processes,
reducing human intervention and improving
efficiency.
2. Mobile Application Support
Develop a mobile app for users to search for books,
check availability, and manage their accounts on the
go.
3. Online Access and Cloud Storage
Transition the database to cloud storage, allowing
remote access for users and librarians, ensuring
scalability and data security.
4. Advanced Search Features
Introduce advanced filters for searching books by
genre, publication year, language, and ratings for a
better user experience.
5. Automated Notification System
Send automatic reminders via email or SMS for due
dates, overdue fines, and reserved book availability.
6. Recommendation Engine
Use AI/ML algorithms to recommend books to users
based on their borrowing history and preferences.
7. Multi-Language Support
Add multilingual functionality to cater to a diverse
audience and make the system accessible globally.
8. Enhanced Data Analytics
Generate detailed analytical reports on user activity,
popular books, and library usage patterns to help in
decision-making.
9. Integration with External Libraries
Allow users to borrow books from partnering
libraries by integrating with their systems.
10. Accessibility Features
Include features like screen readers and high-
contrast modes to make the system more accessible
for users with disabilities.
Bibliography:

www.google.com

https://www.w3schools.com

https://www.geeksforgeeks.org

https://docs.python.org

https://code.visualstudio.com/docs

https://www.researchgate.net

https://www.scribd.com

You might also like