0% found this document useful (0 votes)
41 views87 pages

Complete Documentation

This document is a project report submitted by Rimsha and Faria Chaudhry for their final year project on developing a Library Management System. The report includes sections on the background, objectives, scope and requirements of the project. It proposes developing a software system to digitally manage library processes like book transactions, member and book records. The methodology used is the waterfall model, covering phases from planning to testing. Use case diagrams and tables are included to explain system functionality for users, librarians and administrators.

Uploaded by

Faria CHaudhry
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views87 pages

Complete Documentation

This document is a project report submitted by Rimsha and Faria Chaudhry for their final year project on developing a Library Management System. The report includes sections on the background, objectives, scope and requirements of the project. It proposes developing a software system to digitally manage library processes like book transactions, member and book records. The methodology used is the waterfall model, covering phases from planning to testing. Use case diagrams and tables are included to explain system functionality for users, librarians and administrators.

Uploaded by

Faria CHaudhry
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 87

LIBRARY MANAGEMENT APP

BY
Rimsha (2019-GCWUF-3004)

Faria Chaudhry (2019-GCWUF-3015)

Project report submitted in partial fulfillment of requirements for the degree of

Bachelors of Computer Science

FACULTY OF SCIENCES AND TECHNOLOGY

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 Sidra Nasir


(Lecturer) SUPERVISOR-I
Department of Computer Science
GCWUF

Mam Sadia Riaz


(Lecturer) SUPERVISOR-II
Department of Computer Science
GCWUF

Mam Faiyqa
(Lecturer) SUPERVISOR-III
Department of Computer Science
GCWUF

ii
Acronyms and Abbreviations

DSA Data Structure and Algorithms

OOP Object Oriented Programming

PF Programming Fundamentals

SE Software Engineering

SQL Structured Query Language

UNESCO United Nations Educational, Scientific and Cultural Organization

UNICODE Unique, Universal, and Uniform Character encoding

XML Extensible Markup Language

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.

1.1 Project Background/Overview

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.

1.2 Problem Description

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.

1.3 Project Objectives

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 eliminate the paper-work in library

 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

 To complete the system according to project schedule


2
 To produce technical report that documents the phases, tasks and deliverables in the
project.

1.4 Project Scope

The scope of Online Library Management System includes:

 Create distinct product users based on their roles and permissions.

 Authenticate users at their login.

 Provide the list of available books the users can borrow

 A status page for all users to view books reserved by them.

 Facility to cancel the reservation for a book made earlier.

 A status page for all users to view books borrowed by them, their individual due dates and
their individual penalties if any.
 An interface to view and edit the own profile.

 Provide method for adjusting account settings such as passwords.

 Mechanism to reset the password in case user forgets it.

 Providing interface to add or delete books to staffs.

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)

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 integrated library systems, separate software functions into discrete programs called
modules, each of them integrated with a unified interface. Examples of modules might
include:
1. Acquisitions (ordering, receiving, and invoicing materials)

2. Cataloguing (classifying and indexing materials)

3. Circulation (lending materials to patrons and receiving them back)

4. Serials (tracking magazine and newspaper holdings)

5. The OPAC (public interface for users)

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

3.1 Existing System

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.

3.2 Proposed System

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

Software Requirements: Operating system- Windows 8 is used as the operating system as it


is stable and supports more features and is more user friendly ii. Database MYSQL-MYSQL is
used as database as it easy to maintain and retrieve records by simple queries which are in English
language which are easy to understand and easy to write. Development tools and Programming
language- HTML is used to write the whole code and develop webpages with cascading style sheet,
java script for styling work and hypertext pre-processor (PHP) for sever side scripting.

The whole Project is divided in two parts the front end and the back end.

FRONT END- The front end is designed using of flutter framework.

DART- DART is a programming language specially used in flutter projects.

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.

Figure 1 Use Case Diagram - Library Management 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

• Issue / Return Book Report

• 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.

Figure 2. Use Case Diagram - Library Management System for SSE

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.

Librarian /Admin Activity:

• Enter new book

• 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:

3.5.1. For login functionality

SL.NO TEST CASE EXPECTED TEST


RESULT RESULT

1 Enter valid Software should Successful


email and display main
password or window
click on login
button

.2 Enter invalid Software should Successful


not display main
window

TABLE 1. USE CASE FOR LOGIN FUNCTIONALITY

- 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

SL.NO Condition Test data Expected Remark


to be output
tested

1 If we are Name Please Successful


not entered enter the
the name name

2 If we are Roll no Please Successful


not entered enter the
the valid roll no
email

3 If we are Password Please Successful


not entered enter the
the valid password
password

4 If the Conform Please Successful


password is password enter the
not same as conform
the password
previous
password

TABLE 2. USE CASE 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.

- The user is logged in to the system.

- The "Books" section of the system is accessible.


1 Click on the "Books" button on the main menu.

2 Click on the "Add Book" button.

3 Fill out the book entry form with the book's title, author, publisher, publication
date, ISBN, and any other relevant information.

4 Click on the "Save" button

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.

TABLE 3. USE CASE FOR BOOK ENTRY FORM

- 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:

- The user is logged in to the system.

- The system has at least one book added to its database.

1 Click on the "Categories" button on the main menu.

2 Verify that the system displays a list of categories.

3 . Click on a category in the list.


.

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.

7 Click on the "Borrow" button.

8 . Verify that the system updates the book's status to "Borrowed" and
adds the

TABLE 4. USE CASE FOR CATEGORIES FORM


- The system should handle any errors that may occur during the browsing or borrowing process,
such as a book being already borrowed or a network error.

- 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 user is logged in to the system as an administrator.

- The "Admin" section of the system is accessible.

SL.NO Condition to Test case Expected Remark


be tested output

1 If we are not Branch name Please fill on Successful


enter the the filled
branch name

2 If the branch Branch Please fill on Successful


description not description this filled
be entered

3 If we are not Branch status Kindly select Successful


selected any the status
states

TABLE 5. USE CASE FOR ADDING ADMIN /BRANCH


- 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 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.

SL.NO Condition to be tested Test data Expected output Remark

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

5 If we are not selected Book statues Kindly select status Successful


any status.

6 If we are not enter book Book Book Successful


description description description should not
be empty

TABLE 6. USE CASE FOR ADDING BOOKS.

- 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 user is logged in to the system as an administrator.

- The "Admin" section of the system is accessible.

SR.NO Condition to be Test data Expected output Remark


tested
1 If we are not Book category Please fill out this Successful
entered the valid field
book category

2 If we are not Book Book description Successful


suppose the book description should not be empty
description

3 If we are not Book statues Kindly select status Successful


status

TABLE 7. USE CASE FOR ADMIN BOOK CATEGORY


- 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 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 user is logged in to the system as an administrator.


- The "Admin" section of the system is accessible.

- 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:

- The user is logged in to the system as an administrator.

- The "Admin" section of the system is accessible.


SR.NO Condition to be Test data Expected output Remark
tested
1 If we are not Name Please enter the Successful
entered user name
name
2 If we are not Login id Enter the valid Successful
entered the valid login id
id
3 If we are not Password Enter the valid Successful
entered the password
password field

4 If we are not Confirm Enter the valid Successful


entered the same password password once
password again
5 If we are not State Kindly select Successful
selected any status
status
6 If we are not Email Kindly enter the Successful
entered the email email

TABLE 9. USE CASE FOR ADMIN/USER

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:

4.1. System Architecture

Figure 3 System Architecture

27
Figure 4 Process Diagram

28
4.2. Design Constraints

4.2.1. Client design Module:

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:

• Admin can add new client records

• Admin can see the list of client details

• Only admin can edit and update the record of the client

• Admin will be able to delete the records of the client

• Client will be able to see his details

• Client will be able to update his details

4.2.2. Books design Module

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.

Features of Issue Books design Module:

• Admin can manage the Issue Books

• Admin can edit/delete Issue Books • Admin can see the list of all Issue Books

• Student can see Issue Books

Features of Books Module:

• Admin can manage the Books

• Admin can edit/delete the Books


29
• Admin can see the list of all Books

• Student can see Books details

4.2.3. Category Module:

The main purpose for developing this module is to manage the Category. So all category will be
man- aged by admin.

Features of Category Module:

• Admin can manage the Category

• Admin can edit/delete the Category

• Admin can see the list of all Categories

• Student can see Category Issue Book Module:


The main purpose for developing this module is to manage the issued book details. Admin will
manage all issued books record. Students get Java Spring Boot projects with source code and
database.
Features of Issue Books Module:

• Admin can manage the Issue Books

• Admin can edit/delete Issue Books

• Admin can see the list of all Issue Books

• Student can see Issued Book

4.3 Design Methodology

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:

Component diagram of library app: The Component Diagram of Library app

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.

FIGURE 6. CLASS DIAGRAM 2


This component diagram shows the structure of the library system, which consists of the
software components and their interfaces, and how they work together. You can use
component diagrams to show how software systems work at a high level, or you can use them
to show how each component works at a specific area of a function or part of the system

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

FIGURE 7. DATABASE DIAGRAM 1

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.

FIGURE 12. APP DIAGRAM 1

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.

FIGURE 13. APP DIAGRAM 2

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.

FIGURE 14. APP DIAGRAM 3

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.

FIGURE 15. APP DIAGRAM 4

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.

FIGURE 16. APP DIAGRAM 5

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.

FIGURE 17. APP DIAGRAM 6

45
User fills that form and a request is sent to the admin. The book is issued only when the admin
accepts the request.

FIGURE 18. APP DIAGRAM 7

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.

FIGURE 19. APP DIAGRAM 8

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.

FIGURE 20. APP DIAGRAM 9


48
Drawer:

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.

FIGURE 21. APP DIAGRAM 10

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.

FIGURE 22. APP DIAGRAM 11

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.

FIGURE 23. APP DIAGRAM 12

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.

FIGURE 24. APP DIAGRAM 13

52
Category of books are also selected according to the books.

FIGURE 25. APP DIAGRAM 14

53
BOOK REQUEST:

FIGURE 26. APP DIAGRAM 15s

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.

5.1.1 User Management:


• Use Firebase Authentication for user registration and login functionality.
• Implement user roles using Firebase Auth custom claims

5.1.2 Book Management:


• Use a database; Firebase storage to store book information.
• Create forms or input fields to add and update book details.
• Implement search and filtering functionalities using query operations on the database.
• Enable delete options for the admin to delete books.

5.1.3 Borrowing and Returning:


• Implement logic to update book availability status and due dates.
• Set up notifications using Firebase Cloud Messaging or a push notification service to
remind users about upcoming due dates or overdue books.

5.1.4 Catalog and Search:


• Categorize books using tags or collections in the database.
• Implement search functionality using query operations on the book collection.

5.1.5 Notifications and Reminders:


• Integrate Firebase Cloud Messaging or a push notification service to send notifications to
users.

56
• Use Firebase Cloud Functions or a backend server to schedule and send reminders for due
dates.

5.1.6 Reporting and Analytics:


• Utilize Firebase Analytics or a custom analytics solution to track user actions and generate
reports based on the collected data.

5.1.7 Fine Management:


• Implement logic to calculate fines based on predefined rules and update user records
accordingly.
• Integrate a payment gateway like Stripe to facilitate fine collection.

5.1.8. Integration with External Systems:


• Utilize APIs or packages available for Flutter to integrate with external systems such as
book databases or payment gateways.

5.1.9. Security and Access Control:


• Implement authentication and authorization using Firebase Authentication or a custom
solution.

• Secure sensitive data by setting appropriate read and write rules in Firebase storage.

5.1.10. User Interface:


• Design the app interface using Flutter's built-in widgets and material design principles for
a visually appealing and intuitive user experience.
• Remember, this is just a general guideline, and the specific implementation details will
depend on your app's requirements and the libraries or services you choose to work with in
Flutter.

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

System Testing and Evaluation

6.1. System Testing


6.1.1. Test Planning:
Develop a comprehensive test plan that outlines the testing objectives, scope, and strategies for the
library app. Identify the different types of tests to be conducted, such as functional testing, usability
testing, performance testing, security testing, and compatibility testing. Determine the testing
timeline, resource allocation, and responsibilities.

6.1.2. Test Requirements Analysis:


Review the requirements and specifications of the library app to derive testable requirements.
Identify the functional and non-functional requirements that need to be validated through testing.
Ensure that the test requirements cover all the features, workflows, and user interactions of the
app.
6.1.3. Test Case Design:
Create test cases based on the test requirements. Develop a set of test scenarios that cover various
user interactions and system behaviors. Define the input data, expected outcomes, and steps to
execute each test case. Consider boundary conditions, edge cases, and negative scenarios to ensure
thorough test coverage.

6.1.4. Test Environment Setup:


Prepare the test environment by setting up the necessary hardware, software, and network
configurations. Ensure that the test environment accurately reflects the production environment.
Set up test data, including sample books, user profiles, and library resources, to simulate real-world
scenarios during testing.

6.1.5. Test Execution:


Execute the test cases according to the defined test plan. Use a combination of manual testing and
test automation tools, as appropriate. Record the test results, including any deviations from
expected outcomes, defects, and observations. Capture screenshots or videos for better
documentation and communication of issues.

6.1.6 Defect Management:


Implement a robust defect management process to track and prioritize identified issues. Use a
defect tracking tool to log, categorize, and assign defects to the appropriate stakeholders. Monitor
the status of defects, track their resolution progress, and conduct retesting to validate fixes.

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.

6.1.8. Performance Testing:


Conduct performance testing to evaluate the library app's responsiveness, scalability, and resource
utilization under various load conditions. Use tools to simulate multiple concurrent users and
measure response times, throughput, and system resource consumption. Identify and address
performance bottlenecks and optimize the app's performance.

6.1.9. Security Testing:


Perform security testing to identify vulnerabilities and ensure the library app protects user data and
system integrity. Test for common security threats, such as cross-site scripting (XSS), SQL
injection, session management vulnerabilities, and data encryption weaknesses. Use penetration
testing techniques to identify potential entry points for attackers.

6.1.10. Usability Testing:


Engage representative users to conduct usability testing and evaluate the app's user experience.
Gather feedback on the app's interface, navigation, layout, and overall usability. Use surveys,
interviews, and observation techniques to gather qualitative data. Incorporate user feedback to
make iterative improvements to the app's design and usability.

6.1.11. Compatibility Testing:


Verify the library app's compatibility with different devices, operating systems, browsers, and
screen resolutions. Test the app on a range of devices and configurations to ensure consistent
functionality and display across platforms. Address any compatibility issues identified during
testing.

6.1.12. Documentation and Reporting:


Document the testing process, including test plans, test cases, test execution results, and any issues
encountered. Prepare comprehensive test reports summarizing the test coverage, test results, and
overall app quality. Communicate the findings to relevant stakeholders, including developers,
project managers, and library staff.

6.1.13. Continuous Testing and Feedback:


Implement continuous testing practices to integrate testing into the development lifecycle.
Automate tests where possible to ensure quick and reliable feedback on code changes.
Continuously gather user feedback and monitor app usage patterns to identify areas for
improvement and inform future iterations of testing.

61
By following these system testing principles, you can ensure the library app's reliability,
performance, security, and user satisfaction.

Test Scenario Login +ive:

Test Scenario ID Login-1 Test Case ID Login-1A

Test Case Login-Positive test Test Priority High


Description case

Pre-Requisite A valid user account Post-Requisite NA

Test Execution steps:


S.No. Action Inputs Expected Actual Test Test Test
output output browser result comments

1 Launch Click on App home App IE-11 Pass Launch


application flutter_library_app screen Home successful
screen

2 Enter Email id: Login Login IE-11 Pass Login


correct [email protected] success success successful

email &
Password: ******
Password
and hit
login
button.

62
Test Scenario Login –ive:
Test Scenario ID Login-1 Test Case ID Login-1B

Test Case Login-Negative test Test Priority High


Description case

Pre-Requisite NA Post-Requisite NA

Test Execution steps:


S.No Action Inputs Expected Actual Test Test Test
output output browser result comments

1 Launch Click on App App IE-11 Pass Launch


application flutter_library_app home Home successful

screen screen

2 Enter Email id: Login Login IE-11 Pass Invalid


invalid [email protected] denied denied login
attempt
email & failed.
Password: ******
Password
and hit
login
button.

3 Enter Email id: Login Login IE-11 Pass Invalid


correct denied denied login
[email protected]
attempt
email & failed.
Password:
invalid
(invalid*****)
Password
and hit
login
button.

63
Test Scenario Forget +ive:
Test Scenario ID Forget-2 Test Case ID Forget-2A

Test Case forget-Positive test Test Priority High


Description case

Pre-Requisite NA Post-Requisite NA

Test Execution steps:


S.N Action Inputs Expected Actual Test Test Test
o output output browse result comment
r s

1 Launch Click on App App IE-12 Pass Launch


application home Home successful
flutter_library_app
screen screen

2 Forget Click on forget Forget Forget IE-12 Pass Reset


Password password password password successful
screen screen

64
Test Scenario Signup +ive:
Test Scenario ID signup-3 Test Case ID signup-3A

Test Case signup-Positive test Test Priority High


case
Description

Pre-Requisite NA Post-Requisite NA

Test Execution steps:

S.No Action Inputs Expected Actual Test Test Test


output output browser result comments

1 Launch Click on App App IE-13 Pass Launch


application flutter_library_app home Home successful

screen screen

2 Sign up, if Click on Signup User User IE-13 Pass Register


don’t have option Register register successful
an account screen

65
Test Scenario Signup +ive:
Test Scenario ID Book issue-4 Test Case ID Book issue-4A

Test Case Book issue-Positive Test Priority High


Description test case

Pre-Requisite NA Post-Requisite NA

Test Execution steps:


S.No Action Inputs Expected Actual Test Test Test
output output browser result comments

1 Launch Click on App App IE-14 Pass Launch


application flutter_library_app home Home successful

screen screen

2 Open Open book List of List IE-14 Pass Open


category books o category
category
related to successful
of that f books
boo category related
k that is to
be book to
t
hat
category
3 Admin User clicks on Book Book IE-14 Pass Book
Allows to book now to issue issued issued issued to
issue the the book and enter the client
book his info and click
save.

66
Test Scenario Book Issue -ive:
Test Scenario ID Book issue-4 Test Case ID Book issue-4B

Test Case Book issue-Negative Test Priority High


Description test case

Pre-Requisite NA Post-Requisite NA

Test Execution steps:

S.No Action Inputs Expected Actual Test Test Test


output output browser result comments

1 Launch Click on App App IE-14 Pass Launch


application flutter_library_app home Home successful

screen screen

2 Open Open book List of List IE-14 Pass Open


category category books o category
related to successful
of that f books
boo category related
k that is to
be book to
t
hat
category
3 Admin User clicks on Book Not Book IE-14 Pass Book isn’t
didn’t book now to issue issued Not issued to
the book and enter issued
Allow to his info and click the client
issue the save.
book

67
Test Scenario Book Search +ive:
Test Scenario ID Book Search-5 Test Case ID Book search-5A

Test Case Book search-Positive Test Priority High


Description test case

Pre-Requisite NA Post-Requisite NA

Test Execution steps:


S.No Action Inputs Expected Actual Test Test Test
output output browser result comments

1 Launch Click on App App IE-15 Pass Launch


application flutter_library_app home Home successful

screen screen

2 Open Open book List of List IE-15 Pass Open


category books o category
category
related to successful
of that f books
boo category related
k that is to
be book to
t
hat
category
3 Search for User search for the Book Book IE-15 Pass Book has
the book required book in found found been
the respective Search.
category

68
Test Scenario Book Search -ive:
Test Scenario ID Book Search-5 Test Case ID Book search-5B

Test Case Book search- Test Priority High


Description Negative test case

Pre-Requisite NA Post-Requisite NA

Test Execution steps:


S.No Action Inputs Expected Actual Test Test Test
output output browser result comments

1 Launch Click on App App IE-15 Pass Launch


application flutter_library_app home Home successful

screen screen

2 Open Open book List of List IE-15 Pass Open


category books o category
category
related to successful
of that f books
boo category related
k that is to
be book to
t
hat
category
3 Didn’t get User search for the Book not Book IE-15 Pass Book not
the required book in found not Search.
required found
book the respective
category

69
6.2. System Evaluation

6.2.1. Purpose and Objectives:


Clearly define the purpose and objectives of the library app. Determine the specific goals and
outcomes the app is expected to achieve. For example, the purpose may be to provide easy access
to library resources and services, improve user experience, increase engagement, and enhance
overall efficiency.

6.2.2. User Needs Analysis:


Conduct a thorough analysis of the target users' needs and requirements. Identify the
specific features and functionalities that would address these needs effectively. Consider factors
such as user demographics, preferences, technological proficiency, and accessibility requirements.

6.2.3. Usability Evaluation:


Assess the usability of the library app by conducting user testing and gathering feedback
from representative users. Evaluate the app's interface, navigation, search functionality, and overall
user experience. Use standardized usability metrics, such as task completion rates, time on task,
and user satisfaction surveys, to measure the app's effectiveness.

6.2.4. Performance Evaluation:


Measure the performance of the library app to ensure it operates efficiently and reliably. Evaluate
factors such as app responsiveness, loading times, data retrieval speeds, and system stability.
Monitor server response times and error rates to identify potential bottlenecks or areas for
improvement.

6.2.5. Accessibility Assessment:


Verify that the library app meets accessibility standards and guidelines, ensuring it can be used by
individuals with disabilities. Evaluate factors such as support for assistive technologies (e.g.,
screen readers), keyboard accessibility, text size customization, and color contrast. Consider
compliance with accessibility standards like WCAG (Web Content Accessibility Guidelines).

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).

6.2.7. Performance Metrics:


Define a set of performance metrics to measure the success of the library app. These metrics could
include user engagement levels (e.g., number of app downloads, active users, and session
durations), user feedback ratings, conversion rates (e.g., number of users who sign up for a library
membership), and the efficiency of backend processes (e.g., time taken to process book requests).

6.2.8. Continuous Improvement:


Regularly collect and analyze user feedback to identify areas for improvement. Monitor app usage
patterns, identify pain points, and make iterative enhancements based on user needs and
technological advancements. Stay up-to-date with emerging trends and features in library apps to
ensure the app remains competitive and relevant.

6.2.9. Stakeholder Collaboration:


Involve relevant stakeholders, such as library staff, administrators, and users, throughout the
evaluation process. Seek their input and feedback to gain diverse perspectives and ensure the
library app meets their requirements. Collaborate with stakeholders in the decision-making process
to prioritize enhancements and allocate resources effectively.

6.2.10. Cost-Benefit Analysis:


Conduct a cost-benefit analysis to evaluate the return on investment (ROI) of the library app.
Assess the costs associated with development, maintenance, and support against the benefits
gained, such as improved user experience, increased efficiency, and enhanced library services.
Consider both quantitative and qualitative factors to make informed decisions about the app's
future.

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:

1. LTSA, 2003. IEEE Standard for Learning Technology - Learning Technology

Systems Architecture (LTSA)


(http://ltsc.ieee.org/wg1/files/IEEE_1484_01_D09_LTSA.pdf)
2. Moodle, 2013. (https://moodle.org/)
3. MooTools, 2013. (http://mootools.net/)
4. Morozov V.P. et al, 1997. Hypertexts in economics. Information technology
of modeling.
М.: Финансы и статистика (in Russian)
5. IEEE Learning Technology Standards Committee (LTSC), Draft Standard for
Learning Technology Systems Architecture (LTSA), Draft 9, November
2001, http://ltsc.ieee.org/.
6. Oleg, S., Liber, B.: A framework of pedagogical
evaluation of Virtual Learning Environments. Available online at
[http://www.jtap.ac.uk/reports/htm/jtap041.html, 1999
7. McCormack, C., Jones, J.D.: Building a Web-based Education System. Wiley
Computer Publishing, 1997.
8. Lowe, D., Hall, W.: Hypermedia & the Web: An Engineering Approach. John
Wiley Ltd., 1999.
9. Bosch, J.: Design and Use of Software Architectures. Addison-Wesley, 2000.
10. Szyperski, C.: Component Software – Beyond Object-Oriented Programming.

ACM Press, 1999.


11. Eriksson, H. and Penker, M., 2000. Business Modeling with UML - Business

Patterns at work, John Wiley & Sons.


12. P. Clements, R. Kazman, M. Clein, Evaluating Software Architecture,

AddisonWesley, 2002.
13. Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development

Process. Addi Son-Wesley, 1999.


74
14. Sun Microsystems, Understanding Distance Learning Architectures, A White
Paper, 1999.
15. Anurag.(2020). Library Management System. Retrieved
from Master soft; https://www.iitms.co.in/library-management-system/

16. Ferguson, Stuart. & Hebels, Rodney. (2003). Library management systems.

Retrieved from SkoolBeep; https://www.sciencedirect.com/topics/computer-


science/library-managementsystem
17. Aruna K. (2022) ). Library Management System based on Data Mining and

Clustering Algorithm. Retrieved from Hindavi;


18. Adamson etal. (2008). ADEBESIN TOBI TOSIN. (2015). Ashutosh and

Ashish. (2012). Vasani, M. (2007). Use Case Diagram Library Management


System. Retrieved from https://meeraacademy.com/use-case-diagram-
library-management-system/Wu, Yeh, Chen & Chen. (2011).
19. K. Puritat and K. Intawong, "Development of an Open Source Automated

Library System with Book Recommendation System for Small Libraries,"


2020 Joint International Conference on Digital Arts, Media and
20. Technology with ECTI Northern Section Conference on Electrical,

Electronics, Computer and Telecommunications Engineering (ECTI DAMT


& NCON), 2020, pp. 128-132, doi:
10.1109/ECTIDAMTNCON48261.2020.9090753.
21. G. Lortal, M. Lewkowicz and A. Todirascu-Courtier, "An annotation service

for e-library: enhancing collaborative reading,"


22. 2006 International Conference on Service Systems and Service Management,

2006, pp. 2529, doi: 10.1109/ICSSSM.2006.320583.


23. G. S. Deo, A. Mishra, Z. M. Jalaluddin and C. V. Mahamuni, "Predictive

Analysis of Resource Usage Data in Academic Libraries using the VADER


Sentiment Algorithm," 2020 12th International Conference on Computational
75
Intelligence and Communication Networks (CICN), 2020, pp. 221-228, doi:
10.1109/CICN49253.2020.9242575
24. L. Beena and H. Kabir S., "Defence Mechanism for DoS Attack in Digital

Library (Using Citation Network)," 2019 International Conference on


Intelligent Computing and Control Systems (ICCS), 2019, pp. 1065-1068,
doi: 10.1109/ICCS45141.2019.9065625.
25. Y. Zhao and J. Zeng, "Library Intelligent Book Recommendation System

Using Facial Expression Recognition," 2020 9th International Congress on


Advanced Applied
26. Informatics (IIAI-AAI), 2020, pp. 55-58, doi: 10.1109/IIAI-
AAI50415.2020.00021
27. F. Hao and F. Liu, "Research of Hadoop-Based Digital Library Data Service

System," 2017 9th International Conference on Intelligent Human- Machine


Systems and Cybernetics (IHMSC), 2017, pp. 85-88, doi:
10.1109/IHMSC.2017.26.
28. B GIL. (2017). BGIL. Retrieved 10 8, 2018, from Bharatiya Global Infomedia

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

Machine Learning Research, 3, 993 - 1022.

76

You might also like