Kent Institute - Data Structures and Algorithms: Library System Design
VerifiedAdded on  2023/03/31
|10
|2226
|327
Report
AI Summary
This report outlines the design of a library management system for Kent Institute, focusing on key functionalities and technical aspects. The introduction provides an overview of library management systems and the roles of users, including students and librarians, with a focus on the Kent Institute library system. The project aims and objectives are clearly stated, including the creation of an efficient resource management system with features such as resource requests, user portals, and search options. The report details project variables, including student and staff registration details, and project keys within the database. It then describes the operations supported by the library system, such as student and staff logins, resource issuing and returns, deadline notifications, and data entry and management. The system employs algorithms like recursive algorithms for login and resource management. Finally, the report addresses the scalability of the system and proposes design changes necessary to accommodate a larger university, including shifting to an online hosting model and a non-relational database.

LIBRARY MANAGEMENT SYSTEM DESIGN
STUDENT NAME
COLLEGE
STUDENT NAME
COLLEGE
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.

INTRODUCTION
Library systems that are proportionally large or small in size can be referred to as a library
management system. Students and a librarian are the main users of a library system. The system
makes it easier for them to access and manage resources in a library. The main controls in the
system i.e. adding resources, adding users, lending resources and returning a resource is mainly
done by the librarian (Eliot, 2009). The admin is considered the administrator of the system and
thus is equipped with the capability of managing transactions that occur in the system. (Anon,
n.d.). in this case we are coming up with library management system which is named , the Kent
Institute library system. The system is to be networked to try and reach a bigger number of users.
As the report states, the system was designed well and clearly distinguishes between a normal
user and the user with administrative rights(librarian) in the system. As opposed to the user, the
admin has been granted all privileges and rights to gain access to all levels of the system (Lee and
Hubbard, 2015).
PROJECT AIMS AND OBJECTIVES
The design’s objectives and aims that are to be present in the system after the completion of the
development process are listed below.
i. Create a system that makes it easy to issue resources of the library to users of the
library.
ii. A platform for users to request resources from the librarian which currently doesn’t
exist but yet so crucial.
iii. Create a portal where the users can acquire resources from the library and also give
them back to the library.
iv. Provide a search option to the users which will make it easier for the users to get the
required resource easily by simply searching them by name or any other attribute.
LIBRARY SYSTEM DEVELOPMENT
Project Variables
Variables can be considered as memory pools that store data temporarily before they are actually
processed. Variables are equally important in the development of any system. They are used
during transactions happening between the user and the system, to store data. In order to decide
Library systems that are proportionally large or small in size can be referred to as a library
management system. Students and a librarian are the main users of a library system. The system
makes it easier for them to access and manage resources in a library. The main controls in the
system i.e. adding resources, adding users, lending resources and returning a resource is mainly
done by the librarian (Eliot, 2009). The admin is considered the administrator of the system and
thus is equipped with the capability of managing transactions that occur in the system. (Anon,
n.d.). in this case we are coming up with library management system which is named , the Kent
Institute library system. The system is to be networked to try and reach a bigger number of users.
As the report states, the system was designed well and clearly distinguishes between a normal
user and the user with administrative rights(librarian) in the system. As opposed to the user, the
admin has been granted all privileges and rights to gain access to all levels of the system (Lee and
Hubbard, 2015).
PROJECT AIMS AND OBJECTIVES
The design’s objectives and aims that are to be present in the system after the completion of the
development process are listed below.
i. Create a system that makes it easy to issue resources of the library to users of the
library.
ii. A platform for users to request resources from the librarian which currently doesn’t
exist but yet so crucial.
iii. Create a portal where the users can acquire resources from the library and also give
them back to the library.
iv. Provide a search option to the users which will make it easier for the users to get the
required resource easily by simply searching them by name or any other attribute.
LIBRARY SYSTEM DEVELOPMENT
Project Variables
Variables can be considered as memory pools that store data temporarily before they are actually
processed. Variables are equally important in the development of any system. They are used
during transactions happening between the user and the system, to store data. In order to decide

on the variables, its very important to design the modules which will be there in the system.
Variables are available at each module. The use of variables at each module is to ease the
system development process (McAllister, 2009).
The library management system being developed will have the following module;
Student Registration
Variables
Campus
Student_level
Student_name
Student_id
Username
Password
Staff Registration
Variables
staff_category
staff_name
staff_id
Username
Password
Student Login
Variables
Student_id
Password
Staff login
Variables
Staff_id
Password
Admin Login
Variables
Admin_username
Password
Project Keys
Variables are available at each module. The use of variables at each module is to ease the
system development process (McAllister, 2009).
The library management system being developed will have the following module;
Student Registration
Variables
Campus
Student_level
Student_name
Student_id
Username
Password
Staff Registration
Variables
staff_category
staff_name
staff_id
Username
Password
Student Login
Variables
Student_id
Password
Staff login
Variables
Staff_id
Password
Admin Login
Variables
Admin_username
Password
Project Keys

Keys are attributes found in a database which is used a reference storage for any given system.
They are unique and are used to identify a unique record in a given table. Keys are of equal
importance as they aid in creating relationships. This relationship exists between tables in a given
database. The MySQL database was used to develop a database for the Kent Library System. The
database was used to store the data of the system (Necaise, 2011). During development of the
database, keys to be used in the database had to be decided. Thus, the following tables were
created in order to acquire the keys for each table
Database Tables
Books table keeps track of the books in the system
Primary key : Book_id
Student table to be used to store the information of the students
Primary key: Student_id
Staff table to be used to store the information of the staff
Primary key: Staff_id
Issue table to be used to store the information of the books issued and to whom and time
Foreign keys: book_id and student_id
Student login table keeps track of the login information of the students
Foreign_key: Student_id
OPERATIONS SUPPORTED BY LIBRARY SYSTEM
It is expected that all system serves its intended purpose. The Kent library management system is
expected to automate the collection and recording of library records and information. A library
management system is task specific. However, the operations of one might differ from others in
terms of the logical and physical specification. The Kent Library system which is currently being
designed, is to support the following operations (Wirth 2013).
i. Student login
This is the first interaction platform provided to the students in order to gain access to
the system and its services. A student is required to create an account first before
attempting to login. The feature is enabled in the system as the system is locally
They are unique and are used to identify a unique record in a given table. Keys are of equal
importance as they aid in creating relationships. This relationship exists between tables in a given
database. The MySQL database was used to develop a database for the Kent Library System. The
database was used to store the data of the system (Necaise, 2011). During development of the
database, keys to be used in the database had to be decided. Thus, the following tables were
created in order to acquire the keys for each table
Database Tables
Books table keeps track of the books in the system
Primary key : Book_id
Student table to be used to store the information of the students
Primary key: Student_id
Staff table to be used to store the information of the staff
Primary key: Staff_id
Issue table to be used to store the information of the books issued and to whom and time
Foreign keys: book_id and student_id
Student login table keeps track of the login information of the students
Foreign_key: Student_id
OPERATIONS SUPPORTED BY LIBRARY SYSTEM
It is expected that all system serves its intended purpose. The Kent library management system is
expected to automate the collection and recording of library records and information. A library
management system is task specific. However, the operations of one might differ from others in
terms of the logical and physical specification. The Kent Library system which is currently being
designed, is to support the following operations (Wirth 2013).
i. Student login
This is the first interaction platform provided to the students in order to gain access to
the system and its services. A student is required to create an account first before
attempting to login. The feature is enabled in the system as the system is locally
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.

hosted and availed on a local network such that only library users in the library can
interact with the system. This is due to the low population of the university in terms of
the number of students and staff.
ii. Staff Login
This is the first interaction platform provided to the staff in order to gain access to the
system and the services offered by the system. Each member of the staff is required to
create an account first before attempting to login. This is because a staff must have an
existing account in the system before accessing resources. The system is able to
distinguish when an academic staff and professional staff logins in. The system is fed
with this information during the creation of an account where the staff is supposed to
pick a staff category i.e. academic or professional which is then fed and stored in the
database (Basch, Guibas & Hershberger 2016). During staff login attempt, the system
accesses the login information of the particular staff as recorded during the account
creation using a foreign key. This information is important in identity verification and
authentication and also in granting privileges and rights as per the staff category as
designed during development.
iii. Issuing of resources such as digital files, books, journals and other media
Issuing of resources is one of the major functions of the library system. The system is
tasked with issuance of library resources such as journals, DVD, books and several
other library media to users as requested. Users are allowed to send request to the
system. Requests sent by the staff or students are then received by the library system
which responds to them accordingly (Roura 2015). The system will be able to allow
requests from the students and the staff. Users of the system are allowed to login,
search for a resource, borrow a resource by simply completing a borrow form and
submitting it. The system is automated to feed the resource request to the admin
section who either authorizes or denies a resource request. The resource is then
availed to the user.
iv. Checking for deadlines and sending notifications to users
interact with the system. This is due to the low population of the university in terms of
the number of students and staff.
ii. Staff Login
This is the first interaction platform provided to the staff in order to gain access to the
system and the services offered by the system. Each member of the staff is required to
create an account first before attempting to login. This is because a staff must have an
existing account in the system before accessing resources. The system is able to
distinguish when an academic staff and professional staff logins in. The system is fed
with this information during the creation of an account where the staff is supposed to
pick a staff category i.e. academic or professional which is then fed and stored in the
database (Basch, Guibas & Hershberger 2016). During staff login attempt, the system
accesses the login information of the particular staff as recorded during the account
creation using a foreign key. This information is important in identity verification and
authentication and also in granting privileges and rights as per the staff category as
designed during development.
iii. Issuing of resources such as digital files, books, journals and other media
Issuing of resources is one of the major functions of the library system. The system is
tasked with issuance of library resources such as journals, DVD, books and several
other library media to users as requested. Users are allowed to send request to the
system. Requests sent by the staff or students are then received by the library system
which responds to them accordingly (Roura 2015). The system will be able to allow
requests from the students and the staff. Users of the system are allowed to login,
search for a resource, borrow a resource by simply completing a borrow form and
submitting it. The system is automated to feed the resource request to the admin
section who either authorizes or denies a resource request. The resource is then
availed to the user.
iv. Checking for deadlines and sending notifications to users

A good library system frequently informs the users of the deadline of borrowed
resources. The Kent Library System is fed with contact details of the users for
communication purpose. The users are required to enter their email address and
phone number through which notification on borrowed resource deadlines and other
library messages will be communicated. Other reminders include borrowing terms and
penalties incurred when one fails to return the resource in time. The system is
configured to automatically send notifications to users and keep record of the time of
issuance, return dates and penalties imposed on users.
v. Resources(Books, digital media, , magazines, newspapers and other media) data entry
Users are only able to access resources from the library through the library system if
they are made available in the system. Therefore, the resources data which includes
details of the resource such as, name of resource, type, quantity and where they can be
found in the library must be presented to the system though the resource entry module.
where they are found in the library. The above information is only to be presented to
the system by the system admin. Other users have no such permission or privilege.
vi. Resources (Books, digital media, , magazines and other media) data Return
A Library system is not complete without a resource return module that will allow
users of the system to return borrowed items to the library. Once a resource is returned
it is made available to other users for lending by the admin. This is the reason why
the functionality is available only to the admin. The users are only able to view if the
status of the borrowed item has changed and updated after the item has been returned
to the library (Sadakane 2015).
vii. Penalties
A penalty is imposed to all users who return the borrowed item past the stipulated
deadline of possession. The penalty is imposed according to how late an item has been
returned in terms of hours. It is calculated automatically by the system hourly and
displayed to both the admin and users. A penalty is also imposed when a user loses a
resource that belongs to the library.
resources. The Kent Library System is fed with contact details of the users for
communication purpose. The users are required to enter their email address and
phone number through which notification on borrowed resource deadlines and other
library messages will be communicated. Other reminders include borrowing terms and
penalties incurred when one fails to return the resource in time. The system is
configured to automatically send notifications to users and keep record of the time of
issuance, return dates and penalties imposed on users.
v. Resources(Books, digital media, , magazines, newspapers and other media) data entry
Users are only able to access resources from the library through the library system if
they are made available in the system. Therefore, the resources data which includes
details of the resource such as, name of resource, type, quantity and where they can be
found in the library must be presented to the system though the resource entry module.
where they are found in the library. The above information is only to be presented to
the system by the system admin. Other users have no such permission or privilege.
vi. Resources (Books, digital media, , magazines and other media) data Return
A Library system is not complete without a resource return module that will allow
users of the system to return borrowed items to the library. Once a resource is returned
it is made available to other users for lending by the admin. This is the reason why
the functionality is available only to the admin. The users are only able to view if the
status of the borrowed item has changed and updated after the item has been returned
to the library (Sadakane 2015).
vii. Penalties
A penalty is imposed to all users who return the borrowed item past the stipulated
deadline of possession. The penalty is imposed according to how late an item has been
returned in terms of hours. It is calculated automatically by the system hourly and
displayed to both the admin and users. A penalty is also imposed when a user loses a
resource that belongs to the library.

ALGORITHMS
As defined in programming, an algorithm can be defined as a well-defined computerized
procedure that guides a computer by providing steps to be followed in order to attain a solution
to a specific problem that is currently assigned to it hence achieving optimality. Algorithms are a
major requirement when coming up with the design of a library management system. The general
importance of an algorithm is that it provides an understanding of the steps to be followed to
meet the set objective and requirements. Various algorithm types are provided but only a few are
useful during the development of the library system (Kumar & Gupta 2015). The library
management system made use of the below algorithms;
Recursive algorithm
A recursive algorithm is effective in providing direct solutions to base cases. The library system
has employed this algorithm in its design in the following operations.
Logins
The following is a pseudocode that shows how it has been implemented
Begin
Enter id
Enter password
If (id and password exist in the database)
{
If (id and password are equal)
Login
Else
Deny access
}
Else
As defined in programming, an algorithm can be defined as a well-defined computerized
procedure that guides a computer by providing steps to be followed in order to attain a solution
to a specific problem that is currently assigned to it hence achieving optimality. Algorithms are a
major requirement when coming up with the design of a library management system. The general
importance of an algorithm is that it provides an understanding of the steps to be followed to
meet the set objective and requirements. Various algorithm types are provided but only a few are
useful during the development of the library system (Kumar & Gupta 2015). The library
management system made use of the below algorithms;
Recursive algorithm
A recursive algorithm is effective in providing direct solutions to base cases. The library system
has employed this algorithm in its design in the following operations.
Logins
The following is a pseudocode that shows how it has been implemented
Begin
Enter id
Enter password
If (id and password exist in the database)
{
If (id and password are equal)
Login
Else
Deny access
}
Else
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

Deny access
End
Insurance of resources
Begin
Search resource
If (resource available){
Proceed to fill request form
}
Else
Notify the resource is not available
End
Notifications and insurance
Begin
Check resources borrowed
Check resources with less than 24 hours to return deadline
Select all borrowers’ emails
Send the email
End
CHANGE FOR THE LARGER UNIVERSITY
The Kent library system is specifically designed for Kent Institute with little or no downtime. The
system is well suited for the low population in the institute; the system is designed to handle a
few users. The system configurations must be altered in order to be used in other institutes with
larger populations of over 20000 students as the existing design is incapable of such. Below is an
example of design changes that are necessary for better system in a bigger institute.
1. Shifting from a networked type of hosting to an online based hosting.
End
Insurance of resources
Begin
Search resource
If (resource available){
Proceed to fill request form
}
Else
Notify the resource is not available
End
Notifications and insurance
Begin
Check resources borrowed
Check resources with less than 24 hours to return deadline
Select all borrowers’ emails
Send the email
End
CHANGE FOR THE LARGER UNIVERSITY
The Kent library system is specifically designed for Kent Institute with little or no downtime. The
system is well suited for the low population in the institute; the system is designed to handle a
few users. The system configurations must be altered in order to be used in other institutes with
larger populations of over 20000 students as the existing design is incapable of such. Below is an
example of design changes that are necessary for better system in a bigger institute.
1. Shifting from a networked type of hosting to an online based hosting.

As mentioned earlier the system at hand was hosted on the university local network
which only makes it available to the people in the institute. Network hosting was a good
and cheap option at the moment as the expected number of users is extremely low; limited
only to the university. In a different set say a university of over 20000 students the system
will not work due to congestion in requests. To help reduce this congestion the hosting or
storage should be shifted from the local network to an online based hosting. This will
allow users to request for resources easily and receive responses on time. No congestion is
to be experienced. The system will be accessed by students from locations other than the
institute itself. Through the web they will be able to access all permitted functionalities
such as borrow, return and view available resources. Requests sent will be received by the
admin who will accept their requests (Demaine, Iacono & Langerman 2018).
2. Shifting to a non-relational database from the current relational database
It is perceived that several transactions cannot be handled quickly by a relational database
at the same time. It is therefore advisable that a non-relational database be used in place
of a relational db. A good example is the mongo database which can handle larger request
concurrently with little or no interference. Storage facilities such as databases are crucial
in systems.
References
Basch, J., Guibas, L. and Hershberger, J. (2016). Data Structures for Mobile Data. Journal of
Algorithms, 31(1), pp.1-28.
Demaine, E., Iacono, J. and Langerman, S. (2018). Retroactive data structures. ACM
Transactions on Algorithms, 3(2), p.13-es.
Eliot, G. (2017). The mill on the Floss. Toronto: G.N. Morang.
Goodrich, M., Goldwasser, M. and Tamassia, R. (2015). Data structures and algorithms in Java.
Singapore: Wiley.
Kumar, S. and Gupta, P. (2015). Phrase Prioritization Algorithm and Supporting Data Structure
for Retrieval. International Journal of Computer Applications, 126(12), pp.29-35.
which only makes it available to the people in the institute. Network hosting was a good
and cheap option at the moment as the expected number of users is extremely low; limited
only to the university. In a different set say a university of over 20000 students the system
will not work due to congestion in requests. To help reduce this congestion the hosting or
storage should be shifted from the local network to an online based hosting. This will
allow users to request for resources easily and receive responses on time. No congestion is
to be experienced. The system will be accessed by students from locations other than the
institute itself. Through the web they will be able to access all permitted functionalities
such as borrow, return and view available resources. Requests sent will be received by the
admin who will accept their requests (Demaine, Iacono & Langerman 2018).
2. Shifting to a non-relational database from the current relational database
It is perceived that several transactions cannot be handled quickly by a relational database
at the same time. It is therefore advisable that a non-relational database be used in place
of a relational db. A good example is the mongo database which can handle larger request
concurrently with little or no interference. Storage facilities such as databases are crucial
in systems.
References
Basch, J., Guibas, L. and Hershberger, J. (2016). Data Structures for Mobile Data. Journal of
Algorithms, 31(1), pp.1-28.
Demaine, E., Iacono, J. and Langerman, S. (2018). Retroactive data structures. ACM
Transactions on Algorithms, 3(2), p.13-es.
Eliot, G. (2017). The mill on the Floss. Toronto: G.N. Morang.
Goodrich, M., Goldwasser, M. and Tamassia, R. (2015). Data structures and algorithms in Java.
Singapore: Wiley.
Kumar, S. and Gupta, P. (2015). Phrase Prioritization Algorithm and Supporting Data Structure
for Retrieval. International Journal of Computer Applications, 126(12), pp.29-35.

Lee, K. and Hubbard, S. (2015). Data Structures and Algorithms with Python. Cham: Springer
International Publishing.
McAllister, W. (2009). Data structures and algorithms using Java. Sudbury, Mass.: Jones and
Bartlett Publishers.
Necaise, R. (2011). Data structures and algorithms using Python. Hoboken, N.J.: Wiley.
Roura, S. (2015). Digital Access to Comparison-Based Tree Data Structures and Algorithms.
Journal of Algorithms, 40(1), pp.1-23.
Sadakane, K. (2015). Succinct data structures for flexible text retrieval systems. Journal of
Discrete Algorithms, 5(1), pp.12-22.
Wirth, N. (2013). Data Structures and Algorithms. Scientific American, 251(3), pp.60-69.
International Publishing.
McAllister, W. (2009). Data structures and algorithms using Java. Sudbury, Mass.: Jones and
Bartlett Publishers.
Necaise, R. (2011). Data structures and algorithms using Python. Hoboken, N.J.: Wiley.
Roura, S. (2015). Digital Access to Comparison-Based Tree Data Structures and Algorithms.
Journal of Algorithms, 40(1), pp.1-23.
Sadakane, K. (2015). Succinct data structures for flexible text retrieval systems. Journal of
Discrete Algorithms, 5(1), pp.12-22.
Wirth, N. (2013). Data Structures and Algorithms. Scientific American, 251(3), pp.60-69.
1 out of 10
Related Documents

Your All-in-One AI-Powered Toolkit for Academic Success.
 +13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
© 2024  |  Zucol Services PVT LTD  |  All rights reserved.