Complete Documentation
Complete Documentation
BY
Rimsha (2019-GCWUF-3004)
GC WOMEN UNIVERSITY
FAISALABAD PAKISTAN
January 2023
DECLARATION
We hereby declare that the content of the final year project, “Library Management
System” is product of my own research and no part has been copied from any published source.
We further declare that this work has not been submitted for award of any diploma/ degree.
____________________
Faria Chaudhry
2019-GCWUF-3015
____________________
Rimsha
2019-GCWUF-3004
i
The Controller of Examinations,
The members of the Supervisory Committee find the final year project submitted by
Faria Chaudhry (2019-GCWUF-3015) & Rimsha (2019-GCWUF-3004)
satisfactory and recommend that it be processed for evaluation by the External
Examiner(s) for the award of degree.
Mam Faiyqa
(Lecturer) SUPERVISOR-III
Department of Computer Science
GCWUF
ii
Acronyms and Abbreviations
PF Programming Fundamentals
SE Software Engineering
iii
Acknowledgment
We take this occasion to thank ALLAH Almighty for blessing us with this grace and taking
our endeavor to a successful culmination. We extend our sincere and heartfelt thanks to our
esteemed guide for providing us the right guidance and advice at the crucial junctures and for
showing me the right way.
We also take this opportunity to express a deep sense of gratitude to our seniors. We would
like to thank our friends and family for the support and encouragement they have given us during
the course of our work.
iv
Abstract
This report describes the project development of Library Management System that was developed
to manage the book transactions and managing the member, books record more efficiency. It can
improve management of the book property in the library.
With the advancement of technology, it is imperative to exalt all the systems into a user-friendly
manner. Library Management app is basically a library management system. The Library
Management system (LMS) acts as a tool to transform traditional libraries into digital libraries. In
traditional libraries, the students/user have to search for books which are hassle process and there
is no proper maintenance of database about issues/fines. The overall progress of work is slow and
it is impossible to generate a fast report. The librarians have to work allotted for arranging, sorting
books in the book sells. At the same time, they have to check and monitor the lend borrow book
details with its fine. It is a tedious process to work simultaneously in different sectors. LMS will
assist the librarians to work easily. The LMS supports the librarians to encounter all thesis use
concurrently. The users need not stand in a queue for a long period to return/borrow a book from
the library. The single PC contains all the data's in it. The librarians have to assess the system and
provide an entry in it. Through LMS the librarian can find the book in the bookshelves. This project
is an Intranet based application that can be accessed throughout the campus. This system can view
reserve books, find out who is having a particular book. This is one integrated system that contains
both the student component and the librarian component.
The methodology I used to develop this system is waterfall model. Thus, the report’s chapter was
included system planning, requirement analysis, system design, programming, system testing, and
evaluation of the project. For the system planning, the outcomes are the project objectives and
project aims as well as to defined the project scope. Requirement analysis is a stage to gather the
user requirement such as functional requirement. Next, the system design is mainly used to design
the user interface and database design. The next stage after system design is programming stage.
This is the stage for coding. After complete coding part, we proceed to system testing to minimize
the system bug.
v
TABLE OF CONTENTS
Chapter 1 .......................................................................................................................................... 1
Introduction ...................................................................................................................................... 1
1.1 Project Background/Overview ........................................................................................ 1
1.2 Problem Description ....................................................................................................... 2
1.3 Project Objectives ........................................................................................................... 2
1.4 Project Scope.................................................................................................................... 3
Chapter 2 .......................................................................................................................................... 4
Related work .................................................................................................................................... 4
Chapter 3 .......................................................................................................................................... 9
Requirement Specification ............................................................................................................... 9
3.1 Existing System................................................................................................................... 9
3.2 Proposed System ............................................................................................................... 9
3.3 Requirement Specification ................................................................................................ 10
3.4 Use cases ........................................................................................................................... 12
13.4.2 Case Diagram Library System Project ............................................................................ 14
3.4.3 Use Case Diagram – Library Management System for SSE ............................................ 15
Use Case Diagram Library System Project ................................................................................ 16
3.5 Use case Tables with analysis .............................................................................................. 17
3.5.1. For login functionality ................................................................................................. 17
3.5.2. For adding registration form ........................................................................................ 18
3.5.3. FOR Book Entry form.................................................................................................. 19
3.5.4. For categories form ...................................................................................................... 20
3.5.5. For Adding admin /branch ........................................................................................... 21
3.5.6. For adding books. ......................................................................................................... 22
3.5.7. For Admin book category ............................................................................................ 23
3.5.8. Use case for Admin/librarian ....................................................................................... 24
3.5.9. For Admin/user ............................................................................................................ 25
Chapter 4 .................................................................................................................................... 27
4.1. System Architecture ............................................................................................................ 27
4.2. Design Constraints .............................................................................................................. 29
4.2.1. Client design Module: .................................................................................................. 29
vi
4.2.2. Books design Module................................................................................................... 29
4.2.3. Category Module: ........................................................................................................ 30
4.3 Design Methodology ............................................................................................................ 30
Methods .................................................................................................................................. 30
4.4 High Level Design ............................................................................................................... 33
1. Conceptual or Logical: ....................................................................................................... 33
2. Process: .............................................................................................................................. 33
3. Module: .............................................................................................................................. 34
4. Security: ............................................................................................................................. 34
4.5. Database Design .................................................................................................................. 35
4.6. GUI design: ......................................................................................................................... 40
4.7. EXTERNAL INTERFACES: ............................................................................................. 55
Chapter 5 ........................................................................................................................................ 56
System Implementation.................................................................................................................. 56
5.1. Implementation ................................................................................................................... 56
5.1.1 User Management: ........................................................................................................ 56
5.1.2 Book Management: ....................................................................................................... 56
5.1.3 Borrowing and Returning: ............................................................................................ 56
5.1.4 Catalog and Search: ...................................................................................................... 56
5.1.5 Notifications and Reminders:........................................................................................ 56
5.1.6 Reporting and Analytics: .............................................................................................. 57
5.1.7 Fine Management:......................................................................................................... 57
5.1.8. Integration with External Systems: .............................................................................. 57
5.1.9. Security and Access Control: ....................................................................................... 57
5.1.10. User Interface: ........................................................................................................... 57
5.2. System Architecture: ........................................................................................................... 58
Chapter 6 ........................................................................................................................................ 60
System Testing and Evaluation ...................................................................................................... 60
6.1. System Testing .................................................................................................................... 60
6.1.1. Test Planning: .............................................................................................................. 60
6.1.2. Test Requirements Analysis: ....................................................................................... 60
6.1.3. Test Case Design:......................................................................................................... 60
vii
6.1.4. Test Environment Setup: .............................................................................................. 60
6.1.5. Test Execution: ............................................................................................................ 60
6.1.6 Defect Management: ..................................................................................................... 60
6.1.7. Regression Testing: ...................................................................................................... 61
6.1.8. Performance Testing: ................................................................................................... 61
6.1.9. Security Testing: .......................................................................................................... 61
6.1.10. Usability Testing: ....................................................................................................... 61
6.1.11. Compatibility Testing: ............................................................................................... 61
6.1.12. Documentation and Reporting: .................................................................................. 61
6.1.13. Continuous Testing and Feedback: ............................................................................ 61
6.2. System Evaluation................................................................................................................... 70
6.2.1. Purpose and Objectives: ................................................................................................... 70
6.2.2. User Needs Analysis: ....................................................................................................... 70
6.2.3. Usability Evaluation:........................................................................................................ 70
6.2.4. Performance Evaluation: .................................................................................................. 70
6.2.5. Accessibility Assessment: ................................................................................................ 70
6.2.6. Security and Privacy: ....................................................................................................... 71
6.2.7. Performance Metrics: ....................................................................................................... 71
6.2.8. Continuous Improvement:................................................................................................ 71
6.2.9. Stakeholder Collaboration: .............................................................................................. 71
6.2.10. Cost-Benefit Analysis: ................................................................................................... 71
Chapter 7 ........................................................................................................................................ 72
Conclusions .................................................................................................................................... 72
Reference: ...................................................................................................................................... 74
viii
List of uses case
FIGURE 1. USE CASE DIAGRAM - LIBRARY MANAGEMENT SYSTEM ........................................................ 12
FIGURE 2. USE CASE DIAGRAM - LIBRARY MANAGEMENT SYSTEM FOR SSE ........................................ 14
FIGURE 3. SYSTEM ARCHITECTURE .....................................................................................................................26
FIGURE 4. PROCESS DIAGRAM.............................................................................................................................. 27
FIGURE 5. CLASS DIAGRAM 1 ................................................................................................................................31
FIGURE 6. CLASS DIAGRAM 2 ................................................................................................................................32
FIGURE 7. DATABASE DIAGRAM 1……………………………………………………………………...……….34
FIGURE 8. DATABASE DIAGRAM 2…………………………………………………………………...………….35
FIGURE 9. DATABASE DIAGRAM 3……………………………………...……………………………………….36
FIGURE 10. DATABASE DIAGRAM 4………….………………………………………………………………….37
FIGURE 11. DATABASE DIAGRAM 5…………………………………….……………………………………….38
FIGURE 12. APP DIAGRAM 1…………………………..………………….……………………………………….39
FIGURE 13. APP DIAGRAM 2…………………………..………………….……………………………………….40
FIGURE 14. APP DIAGRAM 3…………………………..………………….……………………………………….41
FIGURE 15. APP DIAGRAM 4…………………………..………………….……………………………………….42
FIGURE 16. APP DIAGRAM 5…………………………..………………….……………………………………….43
FIGURE 17. APP DIAGRAM 6…………………………..………………….……………………………………….44
FIGURE 18. APP DIAGRAM 7…………………………..………………….……………………………………….45
FIGURE 19. APP DIAGRAM 8…………………………..………………….……………………………………….46
FIGURE 20. APP DIAGRAM 9…………………………..………………….……………………………………….47
FIGURE 21. APP DIAGRAM 10………………………..………………….…………..…………………………….48
FIGURE 22. APP DIAGRAM 11………………………..………………….……………..………………………….49
FIGURE 23. APP DIAGRAM 12………………………..………………….………………..……………………….50
FIGURE 24. APP DIAGRAM 13………………………..………………….…………………..…………………….51
FIGURE 25. APP DIAGRAM 14………………………..………………….……………………..………………….52
FIGURE 26. APP DIAGRAM 15………………………..………………….……………………..………………….53
ix
List of Tables
TABLE 1 USE CASE FOR LOGIN FUNCTIONALITY ........................................................................................... 16
TABLE 2 USE CASE FOR ADDING REGISTRATION FORM .............................................................................. 17
TABLE 3 USE CASE FOR BOOK ENTRY FORM .................................................................................................. 18
TABLE 4 USE CASE FOR CATEGORY FORM ...................................................................................................... 19
TABLE 5 USE CASE FOR ADDING ADMIN/BRANCH ........................................................................................ 20
TABLE 6 USE CASE FOR ADDING BOOKS .......................................................................................................... 21
TABLE 7 USE CASE FOR ADMIN BOOK CATEGORIES .....................................................................................22
TABLE 8 USE CASE FOR ADMIN/LIBRARIAN .................................................................................................... 23
TABLE 9 USE CASE FOR ADMIN/USER ............................................................................................................... 24
TABLE 10 TEST SCENARIO LOGIN +IVE ............................................................................................................. 60
TABLE 11 TEST SCENARIO LOGIN -IVE .............................................................................................................. 61
TABLE 12 TEST SCENARIO FORGET +IVE .......................................................................................................... 62
TABLE 11 TEST SCENARIO SIGNUP +IVE ........................................................................................................... 63
TABLE 11 TEST SCENARIO BOOK ISSUE +IVE .................................................................................................. 64
TABLE 11 TEST SCENARIO BOOK ISSUE -IVE ................................................................................................... 65
TABLE 11 TEST SCENARIO BOOK SEARCH +IVE .............................................................................................. 66
TABLE 11 TEST SCENARIO BOOK SEARCH -IVE ............................................................................................... 67
x
Chapter 1
Introduction
A library management system is software that is designed to manage all the functions of a
library. It helps librarian to maintain the database of new books and the books that are borrowed
by members along with their due dates. This system completely automates all your library’s
activities. The best way to maintain, organize, and handle countless books systematically is to
implement a library management system software. A library management system is used to
maintain library records. It tracks the records of the number of books in the library, how many
books are issued, or how many books have been returned or renewed or late fine charges, etc. You
can find books in an instant, issue/reissue books quickly, and manage all the data efficiently and
orderly using this system. The purpose of a library management system is to provide instant and
accurate data regarding any type of book, thereby saving a lot of time and effort.
Library Management System is an application refer to other library system and it is suitable
to use by small and medium size library. It is use by librarian and library admin to manage the
library using a computerized system. The system was developed and designed to help librarian
record every book transaction so that the problem such as file missing or record missing will not
happen again. Barcode reader is equipped in this system so that users can enjoy the convenience
without need to key in the barcode of the book themselves. Book and member maintenance module
also included in Library Management System. Admin can register or edit the member or book in
the database system. With this computerized maintenance, library will not lose the book record or
member record which always happen when no computerized system brings used. In addition,
report module is also included in Library Management System.
If user’s position is Admin, the user is able to view different kind of report. First type of
report is rental and return report, user can check the rental, return transaction which happen on
particular day. Besides that, user can check the Top10 books which borrow by the member in a
day, month or year based on category. Moreover, activity log report also provided by system so
that admin can check what process has been carried out such as register new book, edit member
information as well as login, logout information. When user lost the book, user can use Lost Book
1
Module to register the lost book and receive the fine which is double price of that book. All these
modules are able to help librarian to manage the library more convenience and efficiency compare
to those libraries without computerized system.
Management software for monitoring and controlling the transactions in a library. The
project “Library Management System” is developed in Flutter, which mainly focuses on basic
operations in a library like adding new books, and updating new information, searching books and
issue of books. Presently, transaction of books in the institutional libraries have been done
manually in most cases, thereby taking more time for transaction like borrowing of books and
searching of books. Series of problems occur as a result of this thereby resulting to inefficient
library management. In most of cases due to human error, there may be loss and damages of records
due to not using a computerized system in the library. Nevertheless, the difficulty in the searching
of books which could be termed to be inadequacy in book Management is a problem in the manual
library thereby causing inefficiency and time consuming in the library. Also the problem of space
consuming erupts after the number of records become large the space for physical storage of file
and records also increases if no computerized system is implemented as well as the issue of cost.
Problem of lack of prompt information, retrieval and time wastage is using the library. In addition,
due to the cumbersome, in this project computer approach will be used to solve these problems.
Each of the manual procedure will be analyzed.
The project aims and objectives that will be achieved after completion of the system were
carried out in this sub chapter. The succession of the system also will be evaluated through this
sub chapter.
The project objectives are:
To record every transaction in computerized system so that problem such as record file
missing won’t happen again
To design a user friendly graphical user interface which suit the users
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.
3
Chapter 2
Related work
Library is regarded as the brain of any institute. An integrated library system, also
known as a library management system, the percentage of libraries that are serious to
implement the system software is very small. (Admason etal, 2018)
It is an enterprise resource planning system for a library, used to track items owned,
orders made, bills paid, and users who have borrowed. The Library Management Software
is a system for monitoring and controlling the transactions in a library. Library
Management System supports the general requirement of the library such as the acquisition,
cataloguing, circulation and other sections. (Ashutosh, 2012)
Before the advent of computer in modern age there are different methods of keeping
records in the library. Records are kept in the library on shelves and each shelf are labelled
in an alphabetical or numerical order, in which the categories of books available are
arranged on different position on the shelves and as well are recorded on the library
manuscript and when any book is to be referenced the manuscript is being referred to, to
know the position of such required book by the person that requested for the book. After
the invention of computer different researchers have carried out various approach on an
automated library management system in which this project is as well all about. (Wu, Yeh,
Chen & Chen, 2011)
The first library management system to be reviewed is the KOHA library
management system. Since the original implementation in 1999, KOHA functionality has
been adopted by thousands of libraries worldwide, each adding features and functions,
deepening the capability of the system. (Vasani, 2015)
With the 3.0 release in 2005, and the integration of the powerful Zebra indexing
engine, KOHA became a viable, scalable solution for libraries of all kinds. Lib Lime
KOHA is built on this foundation. The major setback of this Library Management System
is that it is a web based and as a result it is not security conscious because hackers could
4
have the database hacked and access or modify the information of such user. (Moodle,
2013) Another Library Management System is the Capital’s library software with the
following benefits Increases support available for staff and users in any modern library
service, provides efficiency, innovative system that’s saves library time and improves the
user experience. (Ashish, 2012)
5
A library management system usually comprises a relational database, software to
interact with that database, and two graphical user interfaces (one for users, one for staff).
Most Library Management System separate software functions into discrete program called
modules, each of them integrated with a unified interface. Prior to computerization, library
tasks were performed manually and independently from one another. Selectors ordered
materials with ordering slips, cataloguers manually catalogued items and indexed them
with the card cataloguing system (in which all bibliographic data was kept on a single index
card), and users signed books out manually, indicating their name on cue cards which were
then kept at the circulation desk.
The circulation record and circulation status are updated at the time when the book
is borrowed or returned, with the identification component on the book or media is
being sensed. However, some readers use the reference books, periodicals and audio-video
media in the library; therefore, before the books are registered on the counter, the status of
books in the library cannot be precisely confirmed, often making the
information of the book shelves presented by the library database information not precisely
6
reflecting their actual status. The “Integrated Library Service Application Platform” in this
paper employs the RFID (Radio Frequency Identification) technology to construct the
smart book shelf, and it is used as the trigger point for updating the retrieval status of the
book to eliminate bottleneck at the counter that cannot render the real-time circulation
status of book in the library upon borrowing or returning the book. With the help of
software agent system to integrate the information architecture of the library and provide
intelligent service applications, the overall structure is conducive in enhancing the
circulation efficiency of the library collections and improving the satisfaction of readers.
(Wu, Yeh, Chen & Chen, 2011)
Early mechanization came in 1936, when the University of Texas began using a
punch card system to manage library circulation. While the punch card system allowed for
more efficient tracking of loans, library services were far from being integrated, and no
other library task was affected by this change. The literature study in previous system could
give more reference in system development process. All the advantages in the previous
system can be implemented during the development of this proposed system. This chapter
entails the literature review related to Library Management System initiatives worldwide,
at national, regional and international levels. (Blei, D., Ng, A., & I., J. M., 2013)
Secondary data will be searched from print and online resources. Foreign literatures
will be mainly used and some of these had been highlighted to peruse and emulate. The
purpose of this literature review is to establish the potential topics and suggest ideas for
another research, reporting published materials on existing conceptual framework, theories,
techniques, processes, styles and instruments of other researchers related to the topic under
investigation. It will help analyze scope of study and in determining the various variables
to be included:
As for this research, the main purpose of literature review will be to grasp
comprehensive ideas on the extent of library management system initiatives and projects
that had taken place worldwide and the factors and conditions that had influenced and
contributed to their success. The approach to literature review is the browse method where
print and electronic sources were looked at, read and digested, looking for some relevancy,
7
appropriateness and usefulness of the topic at hand. Predetermined keywords to be used
during this search are library, virtual library, e-library, hybrid library, library management
initiatives, library management problems, library management research, library services,
resource sharing, distributed information resources, online databases, library automation,
library systems, mobile information access, information professionals, librarian, global
access, repositories and interoperability, management systems, library integrated system,
database system administration (DBSA).
As the research involves qualitative data as well, researches will be made at the
initial stage of the research making enquires to get as much primary data as possible from
as many librarians as possible whenever there are opportunities to understand the subject
better and helped in the formulation of the research questions. (ADEBESIN TOBI
TOSIN, 2015)
8
Chapter 3
Requirement Specification
In the available Online Library Management System, librarian maintains the details of each
book on the registers so to find out the number of books available in the library they need to go to
check the entire entry which makes the process slow. While, they need to spend extra time to
maintain the record of books. For a student who wants to know about a book in the library need to
search the entire book section. The student needs to check the status of the book means the last
date of book, how many books has issued.
The proposed Online Library Management System project will help the students and
librarian to maintain the details of the library. It will assist the librarian before the shortage of
books while they can know the details of the number of currently available in the library according
to the author by accessing the system. A student can view the details of the book issued by them,
and the system will notify the students about the last date of submission of books. At the time of
issue of a book, the student will get assisted by the system about different authors of a similar book
so that they can get the best available book from the library.
The library management system is a desktop based application system used by an
administrator (Librarian) as an alternative means of record keeping of the books stored in the
library. It has the following features. i. The administrator registers the applicant with their name as
the first and last name, matriculation number, department etc. and a username is being suggested
by the user alongside a login password which is to be used for log in by the registered user ii. An
applicant is allowed to log into the system with his name and generated password which is given
at the point of registration. iii. The administrator goes into the report to view the details of a
particular user.
Benefits- Certain merits have been associated with the proposed system which enhances the design
of the system. Some of which are stated below:
9
i. It eliminates the presence of the audience or fellow colleague who can
whisper the result to their friends.
ii. It is free from biasness (all users are served equally).
iii. It provides an immediate form of response to every user.
iv. It facilitates easy learning.
3.3 Requirement Specification
The whole Project is divided in two parts the front end and the back end.
BACK END- A library management system requires a backend to store and manage data,
handle user authentication and authorization, and perform business logic. Here are some of the
backend technologies and frameworks that could be used in a library management system built
with Flutter:
Firebase is a backend-as-a-service platform that provides a suite of tools and services for building
mobile and web applications. It includes a real-time database, authentication, cloud storage, and
other features that can be used to build the backend of a library management system in Flutter.
Here are some steps to implement the backend of a library management system using Firebase
Realtime Database:
1. Create a Firebase project: Go to the Firebase Console and create a new project. Follow
the prompts to set up Firebase for your project and add Firebase to your Flutter app by
adding the Firebase configuration file to your project.
10
2. Set up Firebase Realtime Database: In the Firebase Console, go to the Database section
and create a new Realtime Database. Choose a location for your database and set the
security rules to allow read and write access to authenticated users.
3. Define the data model: Define the data model for the library management system,
including entities such as books, users, and borrowing histories. Create a data structure in
Firebase Realtime Database to store this data.
4. Implement authentication: Use Firebase Authentication to authenticate users and
restrict access to the database. You can use email and password authentication, social
media authentication, or other authentication methods supported by Firebase.
5. Implement CRUD operations: Implement Create, Read, Update, and Delete (CRUD)
operations for the data model. Use the Firebase Realtime Database API to interact with
the database and perform these operations.
6. Implement business logic: Implement the business logic of the library management
system, such as borrowing and returning books, searching the catalog, and generating
reports.
7. Use the Firebase Realtime Database API to read and write data, and implement server-
side code in Firebase Functions to perform complex operations.
8. Test and deploy: Test the backend of the library management system by running it
locally and using a Firebase emulator. Deploy the backend to Firebase Hosting or a third-
party hosting service to make it available to the mobile app.
Overall, using Firebase Realtime Database to implement the backend of a library management
system in Flutter provides a scalable and reliable solution that can handle large amounts of data
and user traffic.
Hardware Requirements:
i. Intel core i5 5nd generation is used as a processor because it is fast than other processors
and it is very reliable and we can as well run our pc for long time with the Intel core i5.
By using this processor, we can keep on developing our project without any worries.
ii. Ram 8 GB is used as it will provide fast reading and writing capabilities and will in
turn support in processing.
11
3.4 Use cases
Description- Use case diagrams referred as a Behavior model or diagram. It simply describes
and displays the relation or interaction between the users or customers and providers of application
service or the system. It describes different actions that a system performs in collaboration to
achieve something with one or more users of the system. Use case diagram is used a lot nowadays
to manage the 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.
12
3.4.1 Use Case Diagram – Library Management System
The use case diagram is usually referred to as behavior diagram used to describe the actions of all
user in a system. All user describe in use case are actors and the functionality as action of system.
13
13.4.2 Case Diagram Library System Project
In above library system project there are two users Librarian and Student. Both Librarian and
Student can do all activities after login in to library management system.
Librarian Activity:
• login
• Add books
• Add Branch
• Add Student
• Issue Book
• Return Book
• Apply Penalty
• Change Password
• View Reports
Student Activity:
• Search Book
• Penalty Report
• Change Password
14
3.4.3 Use Case Diagram – Library Management System for SSE
The use case diagrams are usually referred to as behavior diagram used to describe the actions of
all user in a system.
All user describe in use case are actors and the functionality as action of system.
15
Use Case Diagram Library System Project
In above library system project there are two users Librarian and Student. Both Librarian and
Student can do all activities after login in to library management system.
• Borrow a book
• Return a Book
• Search a book
• Manage user
16
3.5 Use case Tables with analysis
Here are some sample test cases for a library management system implemented in Flutter:
- If the user enters an invalid email or password, the system should display an error
message and prompt the user to try again.
- If the user is not registered in the system, the system should display an error message and
prompt the user to register first.
17
3.5.2. For adding registration form
- The system should validate the user's input and display an error message if any required fields
are missing or if the email address is not in a valid format.
- The system should handle any errors that may occur during the registration process, such as a
duplicate email address or a network error.
18
3.5.3. FOR Book Entry form
Here is a sample test case for entering a new book in a library management system:
Objective: To verify that a new book can be entered into the library management system.
3 Fill out the book entry form with the book's title, author, publisher, publication
date, ISBN, and any other relevant information.
5 Verify that the system saves the book's data to the database
6 Search for the book in the system using the book's title or ISBN.
- The system should validate the user's input and display an error message if any required fields
are missing or if the ISBN is not in a valid format.
- The system should handle any errors that may occur during the book entry process, such as a
network error or duplicate ISBN.
- The system should allow the user to edit or delete a book's details after it has been entered into
the system
19
3.5.4. For categories form
Objective: To verify that the categories feature in the library management system works as
expected.
Preconditions:
4 Verify that the system displays a list of books that belong to the
selected category
5 Click on a book in the list.
book to the user's borrowing history
6 Verify that the system displays the details of the selected book.
8 . Verify that the system updates the book's status to "Borrowed" and
adds the
- The system should update the book's status and availability in the database after it has been
borrowed.
- The system should display the user's borrowing history and allow them to return books.
20
3.5.5. For Adding admin /branch
Here is a sample test case for adding an admin branch in a library management system:
Objective: To verify that an admin branch can be added to the library management system.
Preconditions:
- The system should handle any errors that may occur during the branch entry process, such as a
network error or duplicate branch name.
- The system should allow the administrator to edit or delete a branch's details after it has been
entered into the system.
21
3.5.6. For adding books.
Here is a sample test case for the admin book feature in a library management system:
Objective: To verify that the admin book feature works as expected in the library management
system.
Preconditions:
- The user is logged in to the system as an administrator.
- The "Admin" section of the system is accessible.
1 If you are not selected Book category Please fill out this field Successful
category.
2 If we are not enter the Book name Please enter book Successful
book name. name
3 If we are not enter the Book field Please enter book cost Successful
book field.
4 If we are not enter the Book Author Please enter book Successful
author field author
- The system should handle any errors that may occur during the book search, edit, or delete
process, such as a network error or invalid input.
- The system should display a confirmation message before deleting a book from the system to
prevent accidental deletions.
- The system should allow the administrator to add a new book to the system through the same
interface
22
3.5.7. For Admin book category
Here is a sample test case for the admin book category feature in a library management system:
Objective: To verify that the admin book category feature works as expected in the library
management system.
Preconditions:
- The system should handle any errors that may occur during the book category entry, search, edit,
or delete process, such as a network error or invalid input.
- The system should allow the administrator to assign a book category to a book through the same
interface.
23
3.5.8. Use case for Admin/librarian
Here is a sample test case for the admin librarian feature in a library management system:
Objective: To verify that the admin librarian feature works as expected in the library management
system.
Preconditions:
- The system should validate the administrator's input and display an error message if any required
fields are missing.
- The system should handle any errors that may occur during the librarian entry, search, edit, or
delete process, such as a network error or invalid input.
- The system should allow the administrator to assign roles and permissions to the librarian through
the same interface.
24
3.5.9. For Admin/user
Here is a sample test case for the admin user feature in a library management system:
Objective: To verify that the admin user feature works as expected in the library management
system.
Preconditions:
25
- The system should validate the administrator's input and display an error message if any required
fields are missing.
- The system should handle any errors that may occur during the user entry, search, edit, or delete
process, such as a network error or invalid input.
- The system should allow the administrator to assign roles and permissions to the user through
26
Chapter 4
Design
Systems design is the process of defining the architecture, components, modules, interfaces, and
data for a system to satisfy specified requirements. This chapter should have the following sections:
27
Figure 4 Process Diagram
28
4.2. Design Constraints
The main purpose of this module is providing all the functionality related to Students. It tracks all
the information and details of the clients. We have developed all Category of CRUD (Create, Read,
Update and Delete) operations of the client. This is a role based module where admin can perform
each and every operation on data.
Features of Student Module:
• Only admin can edit and update the record of the client
The main purpose for developing this module is to manage the Books. This Books module is the
main module in this project Library Management System which has been developed on flutter, and
android studio.
• Admin can edit/delete Issue Books • Admin can see the list of all Issue Books
The main purpose for developing this module is to manage the Category. So all category will be
man- aged by admin.
Methods
LOG IN
User must log in to access the app, where user can issue and read prescribed books.
Student Registration:
30
Student can register on app using the registration form.
Check availability
The user can check the availability of the books in library online. if the book is available the status
will be "available " and if book is not available then status will be "Taken" User Issue Books:
This is the Student Books form where user will be able to add new issue Books.
Forget Password:
This is the change password module from where Student change his account password by entering
email and he gets an email with a reset password link.
Admin user:
o Manage client
o Adding New client
o Edit the Exiting client
o View Profile of the client Listing of all client
o Create Login Credentials for client
o Manage Books
o Add Books
o Change the status of the Books
o Delete the Books
o Searching of Books
o Manage Category
o Add Category
o Edit Category
o Listing of Category
o Manage Issue Books
o Add Issue Books
o Edit Issue Books
o Listing of Issue Books
Technology Used in the project Library Management App
• Flutter
• Android Studio
31
FIGURE 5. CLASS DIAGRAM 1
32
4.4 High Level Design
This section describes in further detail elements discussed in the Architecture. High-level designs
are most effective if they attempt to model groups of system elements from a number of different
views. Typical viewpoints are:
1. Conceptual or Logical:
This component diagram of library app is the illustration of the components of every hardware
and software node. The component diagram below is a detailed illustration of the library
management system deployment diagram.
2. Process:
In a college or university, the users are usually students and the faculty of the institution. Hence,
the traffic is usually pretty low with an estimated 5,000 concurrent users at the peak. A group of
servers each with 16GB of RAM and a capable processor should be able to handle the load. Each
server may need to handle several requests at a time. The requests can be queued and a reply can
be sent to the user while the request is being processed.
33
3. Module:
The user can access the system through a client site or app with a registered account. The librarian
can access the admin dashboard and interface using the admin account.
4. Security:
Handling the authentication is done by a separate service. The authentication service has direct
access to the accounts on the database. The notification service checks the database for any overdue
books and alerts the user and the librarian. It can also be used by the server to notify about book
reservations and cancellations. Since the data stored are mostly relational, like user accounts,
details on books, etc., a relational database like firebase can be used.
34
4.5. Database Design
35
FIGURE 8. DATABASE DIAGRAM 2
The screen of database where the accounts of the users are shown, it includes admin account and
user accounts can also be viewed at this screen. The developer can make changes in it.
36
FIGURE 9. DATABASE DIAGRAM 3
This is the real-time database screen where modules of the userside are added. Each module has
its different options that a developer can edit or update and also can delete.
37
FIGURE 10. DATABASE DIAGRAM 4
38
FIGURE 11. DATABASE DIAGRAM 5
39
4.6. GUI design:
Library management app is developed using flutter. The backend database for this app is firebase.
Three types of databases are used in this app, i.e. Firebase auth, firebase real-time database and
firebase storage. Its development mainly included the establishment and maintenance of database
and head application development. The product is accomplished with login facility so that specific
function is available to the student. New students can register thereselves in the app. In addition,
our library management system used software engineering methods and ideas.
40
Library management system at first requires the login info.
LOGIN:
It requires user id and its password to check the authentication of the client user as shown: Client
user has to enter its email and the password of its email ID. And then click on the login button to
use the app.
41
FORGET PASSWORD:
If client user doesn’t remember the password, he can click the “forger your password” button. By
clicking on it, next screen will appear where user will reset the password of the ID.
Here, user enters the email and by clicking, he receives an email by which new password is created.
42
REGISTRATION:
A new user clicks on signup for creating a new account in the app. Its requirements are name, email
and a password. User fills the require fields for creating an account in the app.
43
CLIENT USER HOME SCREENS:
0At the home screen, there is a drawer which contains different features, i.e. Home, Profile,
Whishlist, Your Books and logout. At main screen, we added six different categories of books.
Each category has different books. Six categories of books are English, Urdu, Maths, Islamic,
Computer and Medical.
44
Book Issue:
In each category, different books are added. These books can be booked by clicking on Book Now.
When the user clicks on Book Now option, a form appears to the user, Books are in pdf form and can be
read online.
45
User fills that form and a request is sent to the admin. The book is issued only when the admin
accepts the request.
46
In the bottom there are swiping buttons for the pdf. >| this button is used to go to the last page of
the book and |< this button is used to jump to the first page. Moreover < > these buttons can move
one page back and forth. This is how a book is viewed after opening.
47
BOOK SEARCH:
By clicking on Favorite the book will be added in Whishlist. On the main screen, by search open
client user can search the name of the book.
The option Whishlist in the drawer contains the books that the user adds to the favorite. User can
also delete these books from the Whishlist. In the profile option, information of the user is
available.
49
User can also edit and change its information from the profile option. Also admin can remove a
user from the database of the app.
50
Only one admin can login in the app. All other users will be considered as client users. Only one
admin can control the app.
ADMIN SCREENS:
This is main screen for the admin after log in. this is named as Dashboard. Here the books appear
that are added by the admin. To add a new book admin clicks on the + button. Admin can remove
the books. For adding a new book, admin will click on + button and the he’ll choose the pdf file
from the system and name the book and also select the category of that book.
51
To add a new book admin clicks on the + button. Admin can remove the books. For adding a new
book, admin will click on + button and the he’ll choose the pdf file from the system and name the
book and also select the category of that book.
52
Category of books are also selected according to the books.
53
BOOK REQUEST:
In the request section, admin views the list of request from the clients. The information of the user
also appears with the request. If admin accepts the request; the book is issued to the client. If admin
cancels the request; book is not issued.
54
4.7. EXTERNAL INTERFACES:
External interfaces are essential components of a library app as they facilitate communication and
integration with external systems and services. Here are some common external interfaces found
in library apps:
1. Library Management System (LMS) Integration: The library app can connect with the
Library Management System to synchronize data such as catalog, loans, and patron
information.
2. Online Catalog Interfaces: Integration with the library's online catalog allows users to
search for books, view availability, and place holds through the app.
3. External Databases and APIs: Library apps may integrate with external book databases or
APIs to retrieve book details, cover images, and user reviews.
4. User Authentication Systems: By integrating with OAuth or Single Sign-On providers,
library apps can streamline the authentication process, allowing users to log in using
existing credentials.
5. Payment Gateways: Integration with payment gateways like PayPal or Stripe enables
secure online transactions for services like fine payments or document delivery.
6. Social Media Integration: Library apps can integrate with social media APIs to connect
users' accounts, share book recommendations, or follow the library's social media profiles.
7. Notifications and Messaging Services: External interfaces enable push notifications or
messaging services within the library app to inform users about due dates, holds
availability, or important announcements.
8. Analytics and Reporting Tools: Integration with external analytics and reporting tools
allows libraries to gather insights on app usage, user behavior, and collection performance.
These external interfaces may vary depending on the specific needs and functionalities of the
library app.
55
Chapter 5
System Implementation
5.1. Implementation
Implementation is the process of moving an idea from concept to reality. The System
implementation is a realization of a technical specification or algorithm as a program, software
component, or other computer system through programming and deployment. In system
implementation of library app, we had an idea of converting physical library into an online system,
where user can read books in pdf form and can also issue the books so that the selected book is not
lost from search.
56
• Use Firebase Cloud Functions or a backend server to schedule and send reminders for due
dates.
• Secure sensitive data by setting appropriate read and write rules in Firebase storage.
57
5.2. System Architecture:
System architecture components for a library management app built using Flutter:
A. User Interface (UI): This component handles the interaction between users and the app. It
includes screens, forms, and controls that allow users to search for books, borrow and return
books, and manage their account.
B. Application Layer: This layer contains the business logic of the app. It includes modules and
services that handle tasks such as book management, user management, and transaction
processing. It interacts with the database layer to retrieve and update data.
C. Database Layer: This layer stores all the data related to books, users, transactions, and other
relevant information. It can be implemented using a relational database management system
(RDBMS) or a NoSQL database, depending on the specific requirements of the app.
D. Integration Layer: This layer handles the integration of the library management app with other
external systems and services, such as payment gateways, external book databases, or APIs for
sending notifications or generating reports.
E. Security Layer: This layer ensures the security and privacy of the app and its data. It includes
features such as authentication, authorization, and encryption to protect sensitive information and
prevent unauthorized access.
F. Infrastructure: This includes the servers, networks, and other infrastructure components
required to host and run the library management app. It can be implemented on-premises or in the
cloud, depending on the deployment model chosen.
58
These components work together to provide a seamless and efficient library management experience for
both users and administrators.
• The Firebase storage is used to store and manage data related to users, books, borrowing
history, and other relevant information.
• The User Management component handles user registration, authentication, and user role
management.
• The Book Management component manages book-related operations such as adding,
updating, and deleting books.
• The Borrowing/Returning component tracks book loans, due dates, and handles borrowing
and returning processes.
• The Catalog/Search component enables users to browse and search for books based on
different criteria.
• The Notifications component sends notifications to users for reminders, overdue books, or
reservation availability.
• The Reporting/Analytics component generates reports and analyzes data for informed
decision-making.
• The Fine Management component calculates fines for overdue books and manages fine
collection.
• The External Systems component integrates with external systems such as book databases
or payment gateways.
• The Security/Access component ensures data privacy and restricts access to sensitive
functionalities.
• The User Interface component is responsible for creating an intuitive and user-friendly
interface for app interaction.
• Please note that this diagram provides a high-level overview of the system architecture.
The actual implementation and interactions between components may vary based on your
specific requirements and the technologies you choose to use in your Flutter app.
59
Chapter 6
60
6.1.7. Regression Testing:
Perform regression testing after bug fixes or application updates to ensure that existing
functionality has not been impacted. Execute a subset of test cases that cover critical features, high-
risk areas, and any functionality related to the changes. Verify that fixes or updates have not
introduced new defects or regression issues.
61
By following these system testing principles, you can ensure the library app's reliability,
performance, security, and user satisfaction.
email &
Password: ******
Password
and hit
login
button.
62
Test Scenario Login –ive:
Test Scenario ID Login-1 Test Case ID Login-1B
Pre-Requisite NA Post-Requisite NA
screen screen
63
Test Scenario Forget +ive:
Test Scenario ID Forget-2 Test Case ID Forget-2A
Pre-Requisite NA Post-Requisite NA
64
Test Scenario Signup +ive:
Test Scenario ID signup-3 Test Case ID signup-3A
Pre-Requisite NA Post-Requisite NA
screen screen
65
Test Scenario Signup +ive:
Test Scenario ID Book issue-4 Test Case ID Book issue-4A
Pre-Requisite NA Post-Requisite NA
screen screen
66
Test Scenario Book Issue -ive:
Test Scenario ID Book issue-4 Test Case ID Book issue-4B
Pre-Requisite NA Post-Requisite NA
screen screen
67
Test Scenario Book Search +ive:
Test Scenario ID Book Search-5 Test Case ID Book search-5A
Pre-Requisite NA Post-Requisite NA
screen screen
68
Test Scenario Book Search -ive:
Test Scenario ID Book Search-5 Test Case ID Book search-5B
Pre-Requisite NA Post-Requisite NA
screen screen
69
6.2. System Evaluation
70
6.2.6. Security and Privacy:
Assess the security measures implemented in the library app to protect user data and ensure user
privacy. Conduct penetration testing to identify vulnerabilities and assess the effectiveness of
security controls. Review data handling practices, encryption protocols, and compliance with
relevant data protection regulations (e.g., GDPR).
71
Chapter 7
Conclusions
Conclusion mainly focuses on how we can improve the traditional method of working of a
library because the traditional method includes doing all the things in manual mode which
is slow, less efficient, less secure, and difficult to manage. The solution to this is online
library management systems which take care of all the work by automating and digitizing
the whole process. Our application is based on Java and is linked to a relational database
(Firebase). The frontend part has been coded using flutter and its packages like dart. The
backend is supported and connected with database using flutter, its libraries and database.
With the increase in the workload of the library, new features can be added to the existing
application to make it relevant in the future as well.
With the development of network technology, the existing library management system is
more and more perfect, and the system function becomes more and more comprehensive.
Its convenience and usability cannot be comparable. So this article concerns library
management system based on the flutter, compared the system with now popular library
management software, it has some advantages. From the angle of system development, the
system has completed some functions such as add, delete, correct, inquiry of the library
management system, as well as the user independent query borrowing function. It is better
to complete the system development objectives and requirements. But there are also some
shortcomings. Coupled with limited personal time, the system appears some errors and
hidden bugs, such as data storage capacity is limited. When the number of student users
and books increase, the system cannot be used, and the changes that the system made to
the data can’t be saved for a long time. Each time the system restarts, data also updates.
What’s more, the system is the interface system, it has cumbersome operation. For
example, each time, that users borrow books needs to pass the password for user
authentication.
72
In conclusion, a library management system is an essential tool for any library to efficiently
manage its resources. It helps in streamlining the library's operations, including book
acquisition, circulation, cataloging, and borrower management. The system also provides
valuable data analytics that can be used to make informed decisions about the library's
operations and resource allocation. By implementing a library management system,
libraries can improve their service delivery, enhance user experience, and increase their
overall efficiency. It is, therefore, crucial for libraries to embrace technology and invest in
modern library management systems.
In conclusion, a library app is a powerful tool that can significantly enhance the user
experience of library patrons. It allows users to access library resources from anywhere, at
any time, and on any device. The app offers a wide range of features, including searching
the library catalog, placing holds, renewing items, and accessing digital resources. It also
enables users to receive notifications about upcoming due dates, new arrivals, and other
important updates.
The library app provides numerous benefits to libraries as well. It helps to increase
engagement with users, improve communication, and reduce administrative tasks. The app
also provides valuable data analytics that can be used to make informed decisions about
library operations and resource allocation.
Overall, the library app is an essential tool for any library that wants to offer innovative
and convenient services to its users. It is a cost-effective and efficient way to improve user
experience, increase engagement and stay relevant in the digital age. By investing in a
library app, libraries can enhance their service delivery, expand their reach, and attract new
users.
73
Reference:
AddisonWesley, 2002.
13. Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development
16. Ferguson, Stuart. & Hebels, Rodney. (2003). Library management systems.
Ltd.:
http://bgil.in/Download_PDF/catloge/Library%20Management%20System.p
df
29. Blei, D. (2012). Probabilistic topic models. Commun ACM, 55 (4), 77–84.
30. Blei, D., Ng, A., & I., J. M. (2013). Latent Dirichlet Allocation. Journal of
76