CHAPTER ONE
1.1 Background of the Project
Higher education institutions such as Wolaita Sodo University (WSU)
depend heavily on well-organized library services to support
academic excellence, research productivity, and student
satisfaction. As student enrollment continues to grow, the pressure
on limited library resources—such as seating capacity and book
availability—also increases. Managing these resources manually
becomes increasingly difficult, inefficient, and unreliable.
In the traditional library environment, students physically visit the
library to search for available seats or books. This often results in
overcrowding, long queues, and unnecessary conflicts among
students. Librarians are required to manually register borrowed
books, track returns, and manage inventory using paper-based
systems or basic spreadsheets. Such approaches are vulnerable to
data inconsistency, loss of records, duplication, and human error.
The rapid evolution of web technologies presents an opportunity to
modernize these operations. A web-based seat and book reservation
system enables real-time access to information, centralized data
management, and improved transparency. By leveraging
technologies such as HTML, CSS, JavaScript, PHP, and MySQL, the
WSU Seat and Book Reservation System introduces automation,
accuracy, and efficiency into library operations while remaining
cost-effective and scalable for future expansion.
Higher education institutions such as Wolaita Sodo University (WSU)
rely heavily on library services to support teaching, learning, and
research activities. Traditionally, library operations like seat
allocation, book inventory management, and borrowing processes
have been handled manually. These manual processes are time-
consuming, error-prone, and inefficient, especially as the number of
students increases every academic year.
With the rapid advancement of information technology, there is a
growing need to automate library services to improve efficiency,
accuracy, and accessibility. Web-based systems provide a practical
solution by allowing users to interact with library services digitally.
The WSU Seat and Book Reservation System is developed to
address these needs by integrating seat reservation and book
management into a single web-based platform using HTML, CSS,
JavaScript, PHP, and MySQL.
1.2 Statement of the Problem and
Justification
Despite the critical role libraries play in academic institutions,
many university libraries—including WSU—still rely on manual
or semi-manual systems for managing seats and books.
Students often face uncertainty regarding seat availability and
book copies, leading to wasted time and reduced study
efficiency. Librarians struggle to maintain accurate records of
borrowed materials, seat usage, and student activity.
Common problems observed in the existing system include:
> Difficulty in tracking available and occupied seats
>Inefficient book inventory management
>Time-consuming manual registration processes
>High probability of record duplication and data loss
>Limited accountability and reporting capabilities
These challenges justify the development of an automated
seat and book reservation system. The proposed system
ensures secure authentication, role-based access, real-time
updates, and reliable data storage. It enhances service
delivery, reduces administrative workload, and aligns the
library with modern digital standards expected in higher
education institutions.
The existing library system at WSU relies largely on manual
record keeping and physical presence for seat allocation and
book borrowing. Students often waste valuable time searching
for available seats or books, while librarians face challenges in
tracking borrowed materials and managing inventory
accurately.
These problems justify the development of an automated
system that enables students to reserve seats and borrow
books online, while allowing administrators to manage
resources efficiently. The proposed system reduces human
error, saves time, improves data security, and enhances
overall library service delivery.
1.3 Objectives of the Project
1.3.1 General Objective
The general objective of this project is to design and
implement a web-based seat and book reservation system for
Wolaita Sodo University Library that improves efficiency,
accessibility, and resource management.
1.3.2 Specific Objectives
>The specific objectives of the project include:
>To design and implement a secure authentication system
using encrypted passwords,
>To provide role-based access control for administrators and
students
>To enable librarians to add, update, and delete book records
efficiently
>To allow students to reserve available library seats online
>To facilitate online book borrowing and automated record
keeping
>To ensure real-time update of seat and book availability
>To minimize human error through database-driven operations
>To improve transparency and accountability in library
management
>To develop a secure login system with role-based access
control
>To enable administrators to manage books and seats
efficiently
>To allow students to reserve library seats online
>To facilitate online book borrowing and tracking
1.4 Scope and Limitation of the Project
1.4.1 Scope
The scope of the project includes:
>User authentication and session management
>Admin (librarian) functionalities such as book management
and student monitoring
>Student functionalities including seat reservation and book
borrowing
>Database management for users, books, seats, and
borrowing records
>Basic frontend interactivity using JavaScript and CSS
1.4.2 Limitation of the Project
Although the proposed system significantly improves library
operations, it has certain limitations:
>The system depends on continuous power supply and
internet connectivity
>It does not support mobile applications (web-based only)
>Advanced analytics and reporting features are limited
>Integration with national or external library systems is not
supported
>The system does not include automated fine calculation or
online payments
These limitations can be addressed in future system
enhancements.
The system requires an active internet connection
It does not include online payment features
Notifications via email or SMS are not implemented
The system is limited to WSU library use only.
1.5 Methodology
1.5.1 Data Gathering Technique
Data for the project was gathered using:
> Interviews with librarians and students
>Observation of current library operations
>Review of existing manual records
>Internet and literature review
1.5.2 System Analysis and Design Technique
The system was developed using a structured system analysis and
design approach to ensure clarity, maintainability, and correctness.
The major techniques applied include:
>Requirement Analysis: Identification of functional and non-
functional requirements through stakeholder consultation
>Use Case Modeling: Defining system interactions between
users and the system
>Data Flow Analysis: Understanding how data moves within
the system
>Database Design: Creating normalized tables to reduce
redundancy
>Interface Design: Developing simple and intuitive user
interfaces
This approach ensures the system meets user needs while
remaining scalable and maintainable.
Structured System Analysis and Design Methodology (SSADM) was
used, including:
>requirement analysis
>Use case modeling
>Database design
>Interface design
1.6 Software and Hardware Tools Used
1.6.1 Hardware Tools
>Laptop Computer
>Server Machine
>Networking Devices
1.6.2 Software Tools
>Operating System (Windows / macOs)
>Visual Studio Code
>XAMPP (Apache, PHP, MySQL)
>Web Browser (Chrome, Firefox)
>HTML, CSS, JavaScript, PHP, MySQL
1.7 Feasibility Study
1.7.1 Economic Feasibility
The project is economically feasible since it uses open-source
tools and does not require expensive hardware or software
licenses.
1.7.2 Technical Feasibility
The system is technically feasible using well-known and widely
supported web technologies.
1.7.3 Operational Feasibility
The system is user-friendly and can be easily adopted by
students and librarians with minimal training.
1.7.4 Schedule Feasibility
The project can be completed within the academic timeline
using proper planning and task allocation.
1.8 Significance or Beneficiaries of the Project
>Students benefit from easy access to seats and books
>Librarians benefit from efficient resource management
>The university benefits from improved service quality and
data accuracy
1.9 Project Team Organization
>Project Manager
>System Analyst
> Backend Developer
>Frontend Developer
>Database Administrator
CHAPTER TWO
2. SYSTEM ANALYSIS
2.1 Description of the Existing System
The existing system is manual, relying on paper-based records
for seat allocation and book borrowing. This approach is
inefficient and prone to data loss.
2.1.1 Practices to be Preserved from the Current
System
>Librarian supervision
>Physical verification of users
2.1.2 Players in the Existing System
>Librarian
>Students
2.1.3 Business Rules
>One seat can be reserved by only one student at a time
>Borrowed books must be returned within a fixed period
2.1.4 Alternative Solutions
>Desktop-based library system
>Mobile application-based system
2.2 Proposed System
2.2.1 Functional Requirements
Functional requirements describe what the system should do. The
main functional requirements of the proposed system are:
>The system shall allow users to log in using a username and
password
>The system shall distinguish between Admin and Student
roles
>The Admin shall be able to add new books with details such
as title, author, and quantity
>The Admin shall be able to update or delete existing book
records
>The Student shall be able to view available books and seats
>The Student shall be able to reserve an available seat
>The system shall prevent double reservation of the same
seat
>The Student shall be able to borrow a book if copies are
available
>The system shall automatically update seat and book status
>User login and authentication
>Role-based access (Admin and Student)
>Book management
>Seat reservation and Borrowing and tracking system.
2.2.2 Non-Functional Requirements
Non-functional requirements describe how the system
performs its functions. These include:
>Security: Passwords must be securely hashed and
verified
>Performance: System responses should occur within
acceptable time limits
>Reliability: The system should function consistently
without data loss
>Usability: Interfaces should be simple and easy to use
>Maintainability: Code structure should support future
updates
>Scalability: The system should support increased users
and resources
>Security , >Performance
>Usability
>Reliability.
CHAPTER THREE
PROPOSED SYSTEM MODELING
3.1 Actor Identification
>Admin (Librarian)
>Student
ER diagrams for library management refer to a data modeling
approach for maintaining and organizing e-library repositories. The
E-R-Ds act as communication catalysts for tracking readers,
facilitating transactions, categorizing library items, and maintaining
a publisher’s ID. So, handling tons of public libraries’ data structures
is easier and fully automated.
This article shows how developers can plan digital library
databases using ERD’s clearly defined data patterns in pre-
designed templates. These entity-relationship diagrams show
objects like books, library admins, employees, authors,
publishers, etc, and their relationships. Hence, planning an
online portal for tracking readers is a few clicks away.
3.2 Use Case Identification
A use case diagram in UML helps to show the various ways in
which a user could interact with a system. For a Library
Management System, the use case diagram helps visualize the
interactions between users (actors) and the system's
functionalities (use cases). This diagram provides a clear,
simplified way to understand how the system operates and
what it offers to its users. The use case diagram illustrates the
interaction between users and the system, showing how admins and
students interact with system functionalities.
>Login ,Manage Books ,Reserve Seat, Borrow Book ,View Records
Use Case Diagram Notations
Use Case Diagram consists of the following components:
1. Actor: Actors are external entities that interact with the
system. These can include users, other systems, or
hardware devices. In the context of a Use Case Diagram,
actors initiate use cases and receive the outcomes.
2. Use Case: Use cases are like scenes in the play. They
represent specific things your system can do.
3. System Boundary: The system boundary is a visual
representation of the scope or limits of the system you
are modeling. It defines what is inside the system and
what is outside.
Explanation of Use Case Diagram of a Library
Management System
Here, we will understand the designing use case diagram for
the library management system. Some scenarios of the system
are as follows :
1. User who registers himself as a new user initially is
regarded as staff or student for the library system.
For the user to get registered as a new user,
registration forms are available that is needed to be
fulfilled by the user.
After registration, a library card is issued to the user
by the librarian. On the library card, an ID is
assigned to cardholder or user.
2. After getting the library card, a new book is requested by
the user as per there requirement.
3. After, requesting, the desired book or the requested book
is reserved by the user that means no other user can
request for that book.
4. Now, the user can renew a book that means the user can
get a new due date for the desired book if the user has
renewed them.
5. If the user somehow forgets to return the book before the
due date, then the user pays fine. Or if the user forgets to
renew the book till the due date, then the book will be
overdue and the user pays fine.
6. User can fill the feedback form available if they want to.
7. Librarian has a key role in this system. Librarian adds the
records in the library database about each student or
user every time issuing the book or returning the book, or
paying fine.
8. Librarian also deletes the record of a particular student if
the student leaves the college or passed out from the
college. If the book no longer exists in the library, then
the record of the particular book is also deleted.
9. Updating database is the important role of Librarian.
3.3 sequence Diagram
Sequence diagrams are a type of Universal Modeling
Language (UML) diagram. They’re used to show how objects in
a system work together over time. A sequence diagram helps
the designer of a system visualize and understand the order in
which these interactions occur. This can make it easier to
identify potential problems and optimize how everything
works. The sequence diagram shows the step-by-step
interaction between actors and system components during
operations such as login and seat reservation.
Creating a sequence diagram involves several steps, and it's
typically done during the design phase of software
development to illustrate how different components or objects
interact over time. Here's a step-by-step guide on how to
create sequence diagrams:
Step 1: Identify the Scenario:
Understand the specific scenario or use case that
you want to represent in the sequence diagram.
This could be a specific interaction between objects
or the flow of messages in a particular process.
Step 2: List the Participants:
Identify the participants (objects or actors) involved
in the scenario. Participants can be users, systems,
or external entities.
Step 3: Define Lifelines:
Draw a vertical dashed line for each participant,
representing the lifeline of each object over time.
The lifeline represents the existence of an object
during the interaction.
Step 4: Arrange Lifelines:
Position the lifelines horizontally in the order of their
involvement in the interaction. This helps in
visualizing the flow of messages between
participants.
Step 5: Add Activation Bars:
For each message, draw an activation bar on the
lifeline of the sending participant. The activation bar
represents the duration of time during which the
participant is actively processing the message.
Step 6: Draw Messages:
Use arrows to represent messages between
participants. Messages flow horizontally between
lifelines, indicating the communication between
objects. Different types of messages include
synchronous (solid arrow), asynchronous (dashed
arrow), and self-messages.
Step 7: Include Return Messages:
If a participant sends a response message, draw a
dashed arrow returning to the original sender to
represent the return message.
Step 8: Indicate Timing and Order:
Use numbers to indicate the order of messages in
the sequence. You can also use vertical dashed
lines to represent occurrences of events or the
passage of time.
Step 9: Include Conditions and Loops:
Use combined fragments to represent conditions
(like if statements) and loops in the interaction. This
adds complexity to the sequence diagram and helps
in detailing the control flow.
Step 10: Consider Parallel Execution:
If there are parallel activities happening, represent
them by drawing parallel vertical dashed lines and
placing the messages accordingly.
Step 11: Review and Refine:
Review the sequence diagram for clarity and
correctness. Ensure that it accurately represents
the intended interaction. Refine as needed.
Step 12: Add Annotations and Comments:
Include any additional information, annotations, or
comments that provide context or clarification for
elements in the diagram.
Step 13: Document Assumptions and Constraints:
If there are any assumptions or constraints related
to the interaction, document them alongside the
diagram.
Step 14: Tools:
Use a UML modeling tool or diagramming software
to create a neat and professional-looking sequence
diagram. These tools often provide features for easy
editing, collaboration, and documentation.
Sequence Diagram
3.3 Activity Diagram
The activity diagram used to describe flow of activity through a
series of actions. Activity diagram is a important diagram to
describe the system. The activity described as a action or
operation of the system.
3.4 Class Diagram for Library Management System :
In Object - Oriented modelling , the main building block
generally represents different objects in a system, their
attributes, their different functions, and relationships among
objects. These building blocks are known as Class Diagram.
Class diagrams are generally used for conceptual modeling of
static view of a software application, and for modeling
translating models into programming code in a detailed
manner. At time of developing or construction software
systems, a class diagram is widely used. They are also used for
data modeling. It is used to show classes, relationships among
them, interface, association, etc. Class in a class diagram
simply is a blueprint of an object. It simply describes and
explains different type of objects in system, and different types
of relationships that exist between them.
The class diagram represents the static structure of the system
by showing classes, their attributes, methods, and
relationships. Key classes include:
User: Attributes include user_id, name, email, password,
role
Admin: Inherits from User and manages system
resources
Student: Inherits from User and performs reservations
and borrowing
Book: Attributes include book_id, title, author,
total_copies, available_copies
Seat: Attributes include seat_id, status, student_id
BorrowedBook: Attributes include borrow_id, book_id,
student_id, borrow_date