softwera_group_4[1]
softwera_group_4[1]
Submitted by:
1
2
ABSTRACT
Library management system is a project which aims in
developing a computerized system to maintain all the daily
work of library .This project has many features which are
generally not available in normal library management systems
like facility of user login and a facility of teachers login .It also
has a facility of admin login through which the admin can
monitor the whole system .It also has facility of an online
notice board where teachers can student can put up
information about workshops or seminars being held in our
colleges or nearby colleges and librarian after proper
verification from the concerned institution organizing the
seminar can add it to the notice board .
It has also a facility where student after logging in their
accounts can see list of books issued and its issue date and
return date and also the students can request the librarian to
add new books by filling the book request form. The librarian
after logging into his account ie admin account can generate
various reports such as student report, issue report, teacher
report and book report Overall this project of ours is being
developed to help the students as well as staff of library to
maintain the library in the best way possible and also reduce
the human efforts.
Chapter One: Introduction
1.1 Background
The rapid advancement of technology has transformed numerous sectors, including libraries.
Historically, libraries have operated through manual processes involving physical records.
However, these traditional methods often lead to inefficiencies, such as time wastage during
book searches and challenges in record management. The implementation of a Library
Management System (LMS) can effectively address these challenges by automating various
library functions, ultimately enhancing user experience and operational efficiency
3
1.2 Mission and Vision
Vision: To establish a modern library resource system that fosters a culture of literacy and
promotes lifelong learning through technological innovation.
The existing library management method relies on manual tracking of books and user
interactions, resulting in the following issues:
Inefficient Operations: Manual processes create delays in lending and returning books.
Access Challenges: Users encounter difficulties in locating books and understanding
available resources.
Risk of Data Loss: Paper records are vulnerable to damage or loss, leading to potential
mismanagement.
1.4 Objectives
To develop a comprehensive Library Management System that maximizes the efficiency of library
operations and enhances the user experience.
Conduct Needs Assessment: Collaborate with library staff and patrons to identify key
requirements and expectations for the new Library Management System through surveys,
interviews, and focus group discussions.
Design User-Friendly Interface: Develop an intuitive and accessible user interface that
allows both library staff and patrons to navigate the system efficiently and effectively.
Implement Core Fonctionnalités:
User Management: Enable the registration, login, and management of user accounts
(students, staff, and visitors).
Catalog Management: Create features for librarians to add, update, delete, and categorize
book records including authors, genres.
Circulation Management: Facilitate the borrowing and returning of books with automated
tracking of due dates and overdue notifications.
Integrate Search Capabilities: Develop a powerful search functionality that allows users to
find books and resources easily by title, author, genre, or keyword.
Generate Reports: Implement reporting features that enable librarians to generate detailed
reports on book inventory, user transactions, overdue items, and library usage statistics.
Enhance Data Security: Ensure robust security measures are in place to protect user data
and library resources, including user authentication and data encryption.
Test the System Thoroughly: Conduct comprehensive testing (unit, integration, and user
acceptance) to ensure that all components work as intended and meet user needs.
4
Facilitate User Training: Provide training sessions and documentation for library staff and
users to assist them in effectively utilizing the new system.
Gather Feedback for Improvements: After deployment, collect feedback from users to
identify areas for future enhancements and updates to the system.
Ensure Scalability: Design the system architecture to allow for future expansion,
accommodating increased user numbers, additional resources, and new functionalities as
needed.
1.5 Limitations
Despite its extensive features, the LMS has the following constraints:
1.5.1 scope
5
• A status page for all users to view books reserved by
them.
• Facility to cancel the reservation for a book made earlier.
• A status page for all users to view books borrowed by
them, their individual due dates and their
individual penalties if any.
• An interface to view and edit the own profile.
• Provide method for adjusting account settings such as
passwords.
• Mechanism to reset the password in case user forgets it.
• Providing interface to add or delete books to staffs
1.6 organization of project
1. System Overview
2. Components
Frontend: User interface for browsing books, borrowing, and managing accounts (e.g.,
React, Angular).
Backend: Server-side logic for handling requests and database queries (e.g., Node.js,
Django).
Database: Stores data about users, books, borrowing records, fines (e.g., MySQL,
PostgreSQL).
3. Modules
4. Technology Stack
Frontend: React/Angular
Backend: Node.js/Django
Database: MySQL/PostgreSQL
Authentication: JWT/OAuth
6
5. Project Phases
6. Documentation
The current Library Management System at mekdela amba university Library operates primarily
through manual processes, which are often inefficient and prone to errors. Here’s a detailed
description of the existing system:
Manual Record Keeping: All library operations rely heavily on paper-based records.
Librarians maintain physical ledgers for tracking user registrations, book inventories, and
transaction logs. This method is time-consuming and increases the likelihood of data entry
errors, such as incorrect book details or user information.
Inefficient Book Search Processes: Patrons seeking to borrow or return books must ask
librarians for assistance, leading to delays. Without a centralized digital catalog, users often
struggle to locate specific titles.
Difficulties in Tracking Borrowed Books: The library does not have an automated system for
tracking borrowed books. When a patron borrows a book, the librarian manually notes the
transaction in a ledger. This process makes it challenging to monitor overdue items and can
lead to significant delays in information retrieval.
Limited User Accessibility: Users must physically visit the library to check the availability of
books and perform transactions. This limitation restricts access and discourages
patron engagement, particularly for those unable to visit the library during operating
hours.
Challenges in Managing User Records: With user registration and profiles managed through
paper forms, updating information (such as contact details or membership status) is
cumbersome. This leads to outdated records and potential miscommunication about
member eligibility or library policies.
Inadequate Reporting and Analytics: The existing system lacks the ability to generate
meaningful reports about library usage, inventory status, and user activity. This absence of
data hampers decision-making regarding acquisitions, budgeting, and resource allocation.
Infrequent Communication: The library relies on verbal communication and paper notices
to inform patrons about due dates, library events, or policy changes. This method is
inefficient and often results in missed notifications.
7
Limited Data Security: Physical records are susceptible to damage (from water, fire, etc.)
and loss, posing a risk to sensitive user information and inventory control. There are also
minimal security measures to protect access to user data.
Lack of Technical Support: The current system does not have dedicated technical support or
maintenance protocols, leading to further complications when issues arise or when updates
to library policies need to be implemented
The proposed Library Management System (LMS) aims to modernize and streamline library
operations, addressing the inefficiencies and limitations of the existing manual system. Below is a
detailed overview of the key features and components of the proposed system:
Automated Record Keeping:
The proposed LMS will replace paper records with a digital database that allows for
automated tracking of user registrations, book inventories, and transactions. This will
minimize data entry errors and enhance data integrity. Centralized Digital Catalog:
A user-friendly interface will provide a centralized digital catalog, enabling
patrons to easily search for books by title, author, genre, ISBN, or keywords. This feature
enhances the user experience by making book discovery straightforward and efficient.
Online Book Borrowing and Returning:
Patrons will be able to borrow and return books through the system, with automated
tracking of due dates and notifications for overdue items. This feature will streamline
the checkout process and reduce the workload on library staff.
User Registration and Profile Management:
The LMS will enable online user registration, allowing patrons to create and manage
their profiles securely. Changes to personal information can be made easily, ensuring
that records are always up to date.
Enhanced Reporting and Analytics:
The system will include robust reporting tools that allow librarians to generate detailed
reports on library usage, including statistics on book checkouts, user activity, and
overdue items. These insights will inform decision-making regarding acquisitions and
resource allocation.
Improved Communication:
The LMS will incorporate automated email notifications for patrons regarding due dates,
overdue notices, and library events. This will ensure better communication and engagement with
users, reducing the chances of missed information. Data Security Measures:
The implementation of advanced security protocols will safeguard user data and library
resources. Features such as user authentication, role-based access control, and data
encryption will protect sensitive information from unauthorized access.
User-Friendly Interface:
A responsive, intuitive interface will be designed for both library staff and patrons,
ensuring ease of use across various devices. This usability focus will enhance user
satisfaction and promote engagement with the system.
Integration Capabilities:
The proposed LMS will be designed to integrate with other systems, such as online
learning platforms or inter-library loan systems. This will promote a more
interconnected library experience and facilitate resource sharing.
Mobile Accessibility:
8
The LMS will be accessible through mobile devices, allowing patrons to browse the
catalog, check their accounts, and receive notifications while on the go. This feature will
cater to a broader audience and increase user engagement.
Training and Support:
To ensure a smooth transition, the system will include comprehensive training materials
and support for library staff. Ongoing technical support will be available to address any
issues that may arise post-implementation.
.
The functional requirements for the proposed Library Management System (LMS) outline the
specific behavior and capabilities the system must possess to meet user and organizational needs.
These requirements can be grouped into several key modules:
User Management:
User Registration: Allow new users (patrons) to register for library membership online, providing
necessary details like name, email, and password.
User Login: Enable users to securely log in to their accounts using their credentials.
Account Management: Provide users the ability to update their profile information (e.g., contact
details, password) and view their borrowing history.
Catalog Management:
Book Entry: Allow librarians to add new books to the system, including details such as title,
author, genre, ISBN, publication date, and number of copies.
Book Update: Enable librarians to edit existing book records to reflect changes, such as updates
in location or status.
Book Deletion: Allow librarians to remove books from the catalog that are no longer available.
Search Functionality: Provide a search feature that allows users to find books based on various
criteria, including title, author, genre, and ISBN.
Circulation Management:
Book Checkout: Allow users to borrow books by selecting them from the catalog, with
automated recording of the due dates and circulation records.
Book Return: Enable users to return borrowed books through the system, updating the inventory
and the user’s borrowing history accordingly.
Due Date Notifications: Send automated email or SMS notifications to users reminding them of
upcoming due dates and overdue items.
Inventory Management:
Availability Tracking: Automatically update the status of books in real-time based on user
transactions (e.g., borrowed, available, reserved).
Overdue Management: Track overdue books and calculate any applicable fines automatically.
Reporting and Analytics:
Usage Reports: Generate reports for librarians that summarize library usage, including total
checkouts, most popular books, and user activity statistics.
Inventory Reports: Provide reports on the current status of book inventory, including the
number of available and borrowed items.
Security Features:
Role-Based Access Control: Implement different access levels for users and librarians, ensuring
that sensitive information is only accessible to authorized personnel.
9
Data Encryption: Protect sensitive user data through encryption, ensuring compliance with data
protection regulations.
Support and Help Section:
FAQs and Help Documentation: Provide a section containing frequently asked questions and
user guides to assist users in navigating the system.
Contact Support: Include a feature that allows users to contact library staff for additional support
or assistance.
Mobile Accessibility:
Mobile-Friendly Interface: Ensure that the LMS is accessible and fully functional on mobile
devices, allowing users to perform necessary tasks on the go.
Non-functional requirements define the quality attributes, system performance, and constraints
that the Library Management System (LMS) must adhere to. These requirements are crucial for
ensuring the system's effectiveness, reliability, and user satisfaction. Below are the nonfunctional
requirements for the proposed LMS:
Performance:
Response Time: The system should have a response time of less than 2 seconds for user queries
and transactions to provide a smooth user experience.
Throughput: The LMS must be able to handle a minimum of 100 simultaneous users without
performance degradation.
Scalability:
The system should be designed to accommodate growth, allowing for the addition of new users,
books, and features without significant changes to the architecture. It should support a 50%
increase in user load annually.
Reliability:
The LMS should have an uptime of 99.5%, ensuring it is available to users most of the time, with
scheduled maintenance not exceeding 1% of total operation time monthly.
Data Backup: Regular automatic backups of all data must be performed to prevent data loss in
case of system failure.
Usability:
The interface should be user-friendly, intuitive, and accessible to users of all ages and technical
abilities. User satisfaction ratings should aim for 90% positive feedback based on usability tests.
Help Documentation: Comprehensive user manuals and FAQs should be readily available within
the system to assist users in navigating the platform.
Security:
Data Protection: The system must adhere to relevant data protection regulations (e.g., GDPR) to
ensure secure handling of user data.
Authentication: Implement multi-factor authentication (MFA) for users, particularly for librarian
accounts, to enhance security.
Maintainability:
The codebase should be modular and well-documented to facilitate easy future updates and
maintenance. Changes should be achievable with minimal impact on the existing system.
Error Logging: The system should include error logging and reporting mechanisms to help
identify and resolve issues quickly.
Compatibility:
The LMS must be compatible with different browsers (Chrome, Firefox, Safari, and Edge) and
operating systems (Windows, macOS, Linux) to ensure broad accessibility.
Accessibility:
10
The system should comply with the Web Content Accessibility Guidelines (WCAG) 2.1 to ensure
that all functionalities are accessible to users with disabilities.
Localization:
The LMS should support multiple languages to accommodate diverse user demographics within
the community, starting with English and local languages.
Actors:
Use Cases:
Diagram Overview
11
Add book
Reserve book
Return book
Search book by
author
login
Search book by title
Search book
Return book
Reserve book
Registrar system
Add book
Remove book
manager
12
Use case details
Actor: User, Registrar, Manager
Description: Entering in to the system
Precondition: User must have an ID
Post condition: Getting the user interface
Basic course of action:
1. Users wants to login open browser
2. The system display the login page
3. User enters password and name
4. The user clicks on login button
5. The system checks validity of the password and name
6. the system display the main page
6. End of use case
Use case 2
Search book by title
Name: Search book by title
Actors: user
Description: allow the user to search book by title
Precondition: users are logged on the system
Post condition: user search book by title
Basic course of Action
1. User wants to search book by title
2. The user enters book title
5. the user clicks on “search book” button
6. The system display available book list
7. Use case end
Alternate course of action
3.if the enter book title incorrectly
13
4. The system displays the result can’t found.
14
Use case 5: Reserve books
Name: reserve book
Actors: librarian
Description: allow librarian to reserves book
Precondition: the book is available in the database
Post condition: the book is reserved
Basic course of Action
1. The user enters the book title
2. The system display list of books
3. Clicks on the reserve button
4. The system will reserve the book
5. use case end
Use-case 6: Check reservation
Name: checks reservation of books
Actor: librarian
Description: checking whether the book is reserved or not
Precondition: The user must login in to the system
Post condition: checking book reservation
Basic course of an action
1. The librarian is in the logged page
2. The librarian wants to check reservation of books
3. The librarian clicks on check reservation button
4. The system will display information of the book whether it is
reserved or borrowed
5. End of use case
Use case 7: delete book
Name: delete book
Actors: library manager
Description: allow the manager to delete book
Precondition: The store (database) should have books
Post condition: deleting book from the database
Basic the course of Action
1. Library manager wants to delete book from the database
2. Library manager enters the book title that has to be deleted
15
3. The library manager clicks delete button
4. The book is deleted from the database
5. Use case end
2.5
16
August September
month July
1 2 3 4 1 2 3 4 1 2 3 4
planning
Requirement
Gathering
Analysis
Design
2.5 Budget
The Budget Table provides a breakdown of the financial requirements to implement the Library
Management System (LMS). It categorizes costs into specific areas, such as development,
hardware, and maintenance, along with a description of what each cost entails. This ensures
stakeholders understand the financial implications of the project and the resources needed for
successful deployment.
Cost Category Details Estimated Cost
Development Cost Design, coding, and testing of $10,000
the LMS system.
UI/UX Design Creating an intuitive user
interface for patrons and staff. $3,000
17
Hardware Cost Server setup for hosting the LMS
and necessary peripherals (e.g., $5,000
barcode scanners).
Maintenance Cost Annual software updates, $3,000/year
support, and hardware
maintenance
Training Cost Training materials and
workshops for staff and $1,000
users.
Category Description
Automated book borrowing, returning,
Efficiency Improvement and inventory tracking saves time.
A user-friendly interface allows users to
User Experience search, borrow, and reserve books
easily.
Remote access enables users to interact
Accessibility with the system from anywhere.
Reduces paper use and manual labor,
Cost Savings cutting operational costs.
Generates reports for inventory, user
Data Analytics activity, and overdue management.
Minimizes paper usage and supports
Environmental Impact sustainability goals.
The system is designed to expand with
Scalability the library’s needs, including e-books.
Data Security Strong encryption and authentication protocols
protect sensitive data.
18
3.1 Architectural Design
. Overview
2. Layers
3. System Flow
4. Security
5. Deployment
19
HARDWARE AND SOFTWARE REQUIREMNTS
SOFTWARE REQUIREMENTS
•Operating system- Windows 7 is used as the operating system as it
is stable and supports more features and is more user friendly
• Database MYSQL-MYSQL is used as database as it easy to
maintain and retrieve records by
simple queries which are in English language which are easy to
understand and easy to write.
• Development tools and Programming language- HTML is used
to write the whole code and
develop webpages with css, java script for styling work and php for
sever side scripting.
HARDWARE REQUIREMENTS
Intel core i5 2nd generation is used as a processor because
it is fast than other processors an provide reliable and stable
and we can run our pc for longtime. By using this processor
we can keep on developing our project without any
worries.Ram 1 gb is used as it will provide fast reading and
writing capabilities and will in turn support in processing
3.1 Architectural Design
The architectural design of the proposed system employs a three-tier architecture:
Presentation Layer: The web interface for the users and librarians.
Application Layer: The server-side logic that processes the requests from the
UI.
Database Layer: The relational database that stores all information regarding
users, books, and transactions .
3.2 Component Model
The LMS comprises various components, including:
User Interface: The front-end where users interact with the system (searching
for books, managing accounts).
20
Business Logic: The backend logic for processing user inputs and managing
database interactions.
Database Management System: Responsible for storing and retrieving data
efficiently.
Components Overview
21
2. Component Interaction Flow
1. Frontend (UI): User searches books, borrows, returns, or views fines.
2. Backend API: Processes requests, handles business logic, interacts with the
database.
3. Database: Stores books, user data, borrowing records, and fines.
3. Key Technologies
Frontend: React.js, Angular.
Backend: Node.js (Express), Django, Spring Boot.
Database: MySQL, PostgreSQL.
Authentication: JWT, OAuth.
Payment Integration: Stripe.
4. Security
Authentication: User login with JWT/OAuth.
Authorization: Role-based access control.
5. Deployment
Frontend: Hosted on AWS, Heroku.
Backend: Deployed on AWS EC2, Heroku.
Database: AWS RDS, PostgreSQL.
22
3.3 Database Design
23
Admin Table from Database
24
Books Table from Database Books Table from Database
25
Open link Table from Database
Subject section
ADMIN Login
setting
Upload/delet
26
After entering to the home page of the website , Admin can choose the Admin Login
option where they are asked to enter username & password , and if he/she is a valid
user then a teacher login page will be displayed.
user
Watch video tutorial for any subject through direct link.
After entering to the home page of the website , student can choose the USER
LOGIN option where they are asked to enter username & password , and if he/she is
a valid user then a student login page will be displayed.
27
DATA FLOW DIAGRAM FOR USER
If match
Requestid Books will be
Search for bools by topic, displayed.
Author name,book name,
Semester number, year number.
28
USER CASE DIAGRAM FOR ADMIN
Admin
Login
E-book section
SEQUENCE DIAGRAM
Deployment Diagram
The deployment diagram illustrates the deployment of the LMS components on hardware,
highlighting how the client interacts with the server and database.
29
Chapter Four: Implementation Steps
Front-End Technologies: HTML, CSS, and JavaScript along with frameworks like
Bootstrap for responsive design.
Back-End Technologies: Python using Django or Flask, or PHP for server-side
programming.
Database Technologies: MySQL or PostgreSQL for structured data storage and retrieval.
Version Control Systems: Git for collaborative development and version management.
1. Requirement Gathering: Conduct interviews and surveys with library staff and users to
understand their needs thoroughly (Robinson, 2021).
2. System Design: Create visual designs like wireframes for UI and technical specifications for
the database architecture.
3. Database Setup: Design and implement the database schema based on the ER diagram.
4. Front-End Development: Build the user interface using HTML, CSS, and modern JavaScript
frameworks like React or Angular for enhanced interactivity.
5. Back-End Development: Implement server-side logic in Django or Flask, connecting the
front end to the database.
6. Integration Testing: Verify that all components of the LMS work together as intended.
7. User Acceptance Testing (UAT): Collect feedback from real users to identify areas for
improvement.
8. Deployment: Deploy the LMS on a suitable hosting platform, ensuring accessibility for
users.
9. Training and Documentation: Provide comprehensive training resources and user manuals
for library staff.
Maintenance and Support: Establish a maintenance schedule for system updates and
30
testing is not considered and the test cases are decided from the
specification or the requirements. It is often called "Black Box Testing".
In structural testing, the test cases are decided entirely on the internal
logic of the program or module being tested. As the goal of testing is to
detect any errors in the programs different favour of testing are often
used. Unit testing are used to test a module or a small collection of
modules and the focus is on detecting coding errors in modules. During
integration testing modules are combined into sub-system, which are
then tested. The goal here is to test the system design. In system testing
and acceptance testing, the entire system is tested. The goal here is to
test the requirement. Structural testing can be used for unit testing
while at higher level mostly functional testing is used. in In Our Project
Event Management System all the above levels of testing were
done.Following are the list of errors that were encounterd at each level
of testing Unit Testing
• Errors in working of Links: This was the major problem that was
encountered often.This was due to use of different file names as given
in the link and the actual file name.These bugs were then easily
resolved. • Errors in passing variables across pages: This problem was
31
also resolved by using session variables, global variables and passing
parameters along with Url.
• Error in code planning: There was some code planning errors like
applying transactions at every place where database updating or
insertion was made. These transactions were later inserted at proper
places. System Testing
32