Professional Documents
Culture Documents
1. LITERATURE SURVEY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Previous Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Problems in Previous Works . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Problems with the Evolution in Technology . . . . . . . . . . . 6
1.3.2 Changes in User Behaviors and Demands . . . . . . . . . . . . 6
1.4 Proposed Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.1 Upgrading the Current System with Cloud Computing . . . . 6
1.4.2 User Experience Customization . . . . . . . . . . . . . . . . . . 6
1.4.3 More Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2. INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1 Abbriviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Product Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4.1 Product Description . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4.2 Product Functions . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5.1 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5.2 Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5.3 Apportioning of Requirements . . . . . . . . . . . . . . . . . . 10
3. REQUIREMENTS ANALYSIS . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1 Specific Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.1 Hardware Interfaces . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.2 Software Requirements . . . . . . . . . . . . . . . . . . . . . . 11
3.1.3 Communication Interfaces . . . . . . . . . . . . . . . . . . . . . 11
3.2 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.1 User Class 1 - The Borrower . . . . . . . . . . . . . . . . . . . . 12
3.2.2 User Class 2 - The Librarian . . . . . . . . . . . . . . . . . . . . 12
3.2.3 User Class 3 - The Administrator . . . . . . . . . . . . . . . . . 12
3.3 Non Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.1 Performance Requirements . . . . . . . . . . . . . . . . . . . . 13
3.3.2 Dependability Requirements . . . . . . . . . . . . . . . . . . . 13
3.3.3 Maintainability and Supportability Requirements . . . . . . . 13
3.3.4 Security Requirements . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.5 Usability Requirements . . . . . . . . . . . . . . . . . . . . . . 15
Contents 4
4. DESIGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1 Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.1 Book Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.2 Rent Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.3 Request Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.4 Students Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.5 User Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 User Interface Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5. DIAGRAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6. CONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.1 Future Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7. ACKNOWLEDGEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1 | LITERATURE SURVEY
We’ve conducted a short survey/review on the works that has been done to im-
prove the library management system of Medium and small libraries. The review
consists of a problem statement that has been surfaced during our investigation of
previous systems and it also holds a proposition on how to solve the problem with
a working model. The attached file also contains a detailed model and SRS of the
solution that has been proposed for medium and small libraries.
The review is based on the development that has been done in the last 15 years
and sees no reason to look further back than the said timespan because of obsoles-
cence and the rapid development of technology.
1.1 Introduction
Automated Library Management Systems emerged in the 1970-s. Though started
as a simple database to house and retrieve a library’s holdings, with the inception
of the Internet in 1990-2000 timespan, it has been evolved into a much bigger thing.
A system that can retrieve data remotely and can hold large clusters of book data
and serve them worldwide.
– Users want access to the information on a book, not just if the library is
holding a book or not.
– More simple UI and search interfaces are demanded.
The most important of all these is that users want everything on a mobile based
platform. The current system that is in circulation, is incompetent to handle this
problem and needs a refinement, a more flexible, economic and user friendly op-
tion.
2.1 Purpose
Library is considered as one of the most important things in an educational in-
stitute. However, managing a library is no simple task. This can be a primary
reason for a communication disaster between a student and the librarians. A more
modern and streamlined approach is the sole purpose of this project by which, the
communication failures can be avoided.
2.2 Scope
The scope of the project is a variable entity. Primarily, the system is targeted for
the small and medium libraries but can be scaled easily and modified to run on
any sized library.
However, there are also some considerations to be taken, the primary one be-
ing that the project is solely focused and targeted on the educational institutions.
Taken that into consideration, the project also can be used as a boilerplate for de-
veloping solutions for paid and public libraries.
2.3 Definitions
2.3.1 Abbriviations
Abbriviation Full Form
LMS Library Management System
UI User Interface
DB Database
API Application Programming Interface
REST Representational State Transfer
CRUD Create, Read, Update and Delete
MVC Model, View and Controller
NIC Network Interface Card
2.3.2 Definitions
Admin The administrator of the whole system. Controls mainly the backend and
has unrestricted system access.
User/Patron An user or Patron is an end-user of the library who can issue a book
from the library.
2. INTRODUCTION 9
Librarian Librarians are the people who uses the system for managing their work.
As in, issuing and receiving a book back.
Admin The admin is responsible for adding and removing librarians and also the
managing the API.
Librarian The librarian is responsible for adding and removing students and also
managing books.
Student The students can see the books that are in the library, see if the books are
available or not and also the due date.
2.5 Constraints
2.5.1 Constraints
There is virtually no constraint in terms of usability of the app in different envi-
ronments, from small to very large libraries. As it is built on a semi modifiable API
and a very scalable database, different variables and queries can be added easily
and the application can be reprogrammed accordingly.
The only real constraint can be the server and database hardaware, but with
platforms like Google Cloud Console in play, the cost to performance ration and
constraint in hardware should not be a problem.
2.5.2 Dependencies
Android SDK Android software development is the process by which new appli-
cations are created for devices running the Android operating system. Appli-
cations are usually developed in Java (and/or Kotlin; or other such option)
programming language using the Android software development kit (SDK),
but other development environments are also available, some such as Kotlin
support the exact same Android APIs (and bytecode), while others such as
2. INTRODUCTION 10
Go have restricted API access. All Java 7 language features are supported,
and some Java 8 language features (and additionally some Java 9 code has
been backported to work).
Google Mobile Vision The Mobile Vision API provides a framework for finding
objects in photos and video. The framework includes detectors, which locate
and describe visual objects in images or video frames, and an event driven
API that tracks the position of those objects in video. Currently, the Mobile
Vision API includes face, barcode, and text detectors, which can be applied
separately or together.
Google Crash Reporting Applications crash, period. Solving the bugs is a lengthy
process when most of the users of the application are non-technical and
(mostly) do not understand how to file a proper bug report. We have auto-
mated the crash reporting process through Google Cloud’s automated crash
reporting service. Which, upon a crash of the applications, submit a logcat
and steps to reproduce the crash to the developers.
Google Storage Google storage provides a very useful API for storing images in
the cloud. It can be useful if the scaled up application has a facility for stor-
age of book images when entering a book. Or maybe directly fetching from
Google Books API for the available books.
Client Side On the other hand, the client side can have any normal android phone
and operate flawlessly.
3 | REQUIREMENTS ANALYSIS
(a) Login
(b) View book details
(c) View book availability
(d) View borrowed book details / fine details
2. Response
(a) Login
(b) View book details
(c) View book availability
(d) Rent a book to a student.
(e) Deposit a book from the student.
(f) View borrowed book details / fine details.
(g) Accept fine.
2. Response
2. Capacity Requirements
For a small to medium sized library, small to medium subscription of Google
Cloud Platform are considerable but larger libraries with bigger administra-
tions require Enterprise Level Google Cloud Platform.
Any cloud platform offer excellent capacity requirements, plus as there are
no set queries to the server, the overhead of the transaction is very low and
the transfer of the data is done only when a datafield is in use and updated.
2. Supportability Requirements
A service tool is defined as a facility or feature, closely tied to a product,
that provides capabilities and data so as to service (analyze, monitor, debug,
repair) that product. Service tools can provide broad range of capabilities.
Regarding diagnosis, a proposed taxonomy of service tools is as follows:
2. Integrity Requirements
Data integrity is a big part of any Application or system. Managing the in-
tegrity of the database and controlling who accesses what is a major factor
both from a security point of view and also from user experience point of
view.
3. Privacy Requirements
To control the privacy requirements, the database has been locked via rule-
set (standard procedure of access control and for REST API and NoSQL
databases). Both Librarians and Users alike can’t access the data of any other
users which include personal informations.
The term intuitive is often listed as a desirable trait in usable interfaces, also
often used as a synonym for learnable. An intuitive interface perceive the patterns
of the users behavior and draw inferences.[ref:tognazzini1996 ]
Availability Availability defines the proportion of time that the system is func-
tional and working. It can be measured as a percentage of the total system
downtime over a predefined period. Availability will be affected by system
errors, infrastructure problems, malicious attacks, and system load.
Usability Usability defines how well the application meets the requirements of
the user and consumer by being intuitive, easy to localize and globalize, pro-
viding good access for disabled users, and resulting in a good overall user
experience.
4 | DESIGN
This is a topic that has never been touched before by any one developing systems
for managing libraries. While the world is moving towards a more mobile and
cloud based approach, why library management system should stick to the local
database and application environment that dates back to the 90’s. This approach of
library management system will solve problems like redundant information stor-
age, loss of information in case of a natural disaster and also ease of access for the
patrons of a library.
This project would not have been possible without the help of Ms. Shalini Mitra,
Asst. Prof., Dept. of IT, CIEM and Mr. Samir Biswas, HOD, Dept. of IT, CIEM.
However, we also thank Rajkumar Pramanik of Hybriona Labs, Gujrat for
helping us when we were stuck in a loop of bad codes and ideas.
Finally I would like to extend my deepest gratitude to all the teachers of the IT
Department of CIEM without whose love, support and understanding we could
never have completed this project proposal.