0% found this document useful (0 votes)
12 views108 pages

Proj Iii

project report for library management system

Uploaded by

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

Proj Iii

project report for library management system

Uploaded by

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

A Project Report

on
Quick Response Library Management System

Submitted in partial fulfilment of the requirements


for the award of the degree of

Bachelor of Technology
in
Computer Science & Engineering

Submitted By
Kriti
2821912
Yash Garg
2820130
Under the Supervision of
Dr. Amit Batra
Assistant Professor

Panipat Institute of Engineering & Technology, Samalkha, Panipat


Affiliated to

Kurukshetra University Kurukshetra, India


(2023-2024)
Quick Response Library Management System

DECLARATION

I hereby declare that the work presented in this project report entitled “Quick
Response Library Management System “, in partial fulfilment of the requirement
for the award of the degree of Bachelor of Technology in Computer Science &
Engineering., submitted to Kurukshetra University, Kurukshetra, India is an
authentic record of my own work carried out during the period from February 2024
to June 2024 under the guidance of Dr. Amit Batra ( Associate Professor).

I hereby declare that this submission is my own work and that, to the best of my
knowledge and belief, it contains no material previously published or written by
another person nor material which to a substantial extent has been accepted for the
award of any other degree or diploma of the university or other institute of higher
learning, except where due acknowledgment has been made in the text.

Signature

Name Kriti Yash Garg

Roll No. 2821912 2820130

Date

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

CERTIFICATE

This is to certify that the Project-III report (PROJ–CS-302A) entitled “Quick Response
Library Management System” done by Kriti , Enrolment No 2821912, and Yash Garg,
Enrolment No 2820130 is an authentic work carried out by him/her at PIET, Samalkha,
Panipat under my guidance. The matter embodied in this project work has not been
submitted earlier for the award of any degree or diploma to the best of my knowledge and
belief.

Dr. Amit Batra

Dr. Amit Batra Mr. Gagan Dua

(Project Guide) (Project Coordinators)

Prof. Dr. S C Gupta

HOD (CSE)

PIET, Samalkha

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

ACKNOWLEDGEMENT

It gives us a great sense of pleasure to present the report of the B. Tech Project undertaken
during B. Tech. Final Year. We owe special debt of gratitude to Associate Professor Dr.
Amit Batra, Department of Computer Science & Engineering, PIET, Samalkha for his
constant support and guidance throughout the course of our work. His sincerity,
thoroughness and perseverance have been a constant source of inspiration for us. It is only
his cognizant efforts that our endeavours have seen light of the day.

We also take the opportunity to acknowledge the contribution of Professor Dr. S C Gupta,
Head, Department of Computer Science & Engineering, PIET, Samalkha for his full
support and assistance during the development of the project.

We also do not like to miss the opportunity to acknowledge the contribution of all faculty
members of the department for their kind assistance and cooperation during the
development of our project. Last but not the least, we acknowledge our friends for their
contribution in the completion of the project.

Signature:

Name : Kriti

Roll No.: 2821912

Date :

Signature:

Name : Yash Garg

Roll No.: 2820130

Date :

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

ABSTRACT
The "Quick Response Library Management System" is designed to streamline the intricate
process of library management, offering a versatile solution for this demanding task.
Currently, one of the foremost challenges in library management lies in manually
organizing extensive collections of books within institutes. With a multitude of titles
covering diverse subjects, efficient sorting and labelling are essential for easy access and
tracking. Our system simplifies book management, reducing the need for manual
intervention by library staff to ensure smooth operations. It provides essential features such
as adding, deleting, and editing book entries, along with options for viewing and searching
the library inventory by book name or ID. These functionalities expedite the completion of
administrative tasks, enhancing resource management capabilities.

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

LIST OF TABLES
Table No. Table Description Page No.
1. Core Features 6

2. Enhanced Features 6

3. Challenges During Development 11

4. Hardware Resources 12

5. Software Resources 13

6. Resources for Execution 13

7. Use Case Diagram of Login 20

8. Use Case Description of Login 20


9. Use Case Diagram of Menu 21
10. Use Case Description of Menu 21
11. Use Case Diagram of Issue Books 22
12. Use Case Description of Issue Books 22
13. Use Case Diagram of Book Return 23
14. Use Case Description of Book Return 23
15. Use Case Diagram of Administrator Menu 25
16. Use Case Description of Administrator Menu 25
17. Use Case Diagram of Create Student Record 26
18. Use Case Description of Create Student Record 26
19. Use Case Diagram of Display All Records 27
20. Use Case Description of Display All Records 27
21. Use Case Diagram of Display Specific Records 29
22. Use Case Description of Display Specific Records 29
23. Use Case Diagram of Modify Student 30
24. Use Case Description of Modify Student 30
25. Use Case Diagram of Delete Student Records 31
26. Use Case Description of Delete Student Records 31
27. Use Case Diagram of Create Books 32
28. Use Case Description of Create Books 32
29. Use Case Diagram of Display All Books 33
30. Use Case Description of Display All Books 33
31. Use Case Diagram of Display Specific Books 34
32. Use Case Description of Display Specific Books 34
33. Use Case Diagram of Modify Books 35
34. Use Case Description of Modify Books 35
35. Use Case Diagram of Delete Books 37
36. Use Case Description of Delete Books 37
37. Class Diagram for Global methods 38
38. Class Diagram for class book 38
Group 10 Panipat Institute of Engineering and Technology
Quick Response Library Management System

39. Class Diagram for class student 39


40. Login 40
41. Select Action Main Menu 41
42. Book Issue 42
43. Book Return 44
44. Open Administrator Menu 45
45. Create Student 46
46. Display All Students 47
47. Display Specific Students 48
48. Modify Student 49
49. Delete Student 50
50. Create Book Record 51
51. Display All Books 52
52. Display Specific Books 53
53. Modify Book 54
54. Delete Book 55
55. Entity List 56
56. Tools Used for Implementation 57
57. Modules 58
58. Traceability of Types with Design 59
59. Types of Testing 86
60. Testing Description 87
61. Point of Contact for Troubleshooting Purpose 88
62. Technical Requirements for Testing 88

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

LIST OF FIGURES

Figure No. Figure Description Page No.


1. Black Box 89
2. Integration Testing Technique 90
3. Design Principles to test the GUI of App 92

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

TABLE OF CONTENTS
Topic No. Topic Page
No.
Declaration i
Certificate ii
Acknowledgement iii
Abstract iv
List of Tables v
List of Figures vii
Chapter 1 Introduction 1
1.1 Topic of System 1
1.2 Project Abstract 1
1.3 Purpose of the System 1
1.4 Target User 2
1.5 Topic Background 2
1.6 Problem Context 2
1.7 Rationale behind the System: Why do we need this System? 3
1.8 Objectives of the System 3
1.8.1 Project Objectives 3
1.8.2 Specific Objectives 4
1.9 Scope of the System 4
1.10 Limitations of the System 4
1.11 Assumptions Made 4
1.12 Success Criteria 5
1.13 Functionalities of the System 5
1.13.1 Core Features 6
1.13.2 Enhanced Features 6
1.14 Conclusion 7
Chapter 2 Problem Description 8
2.1 Current Problem Description 8
2.1.1 Description of Problem Area 8
2.2 Problem Importance and Justification 8
2.3 Proposed Solution 9
2.4 Nature of Challenge 9
2.5 Feasibility Study 11
2.5.1 Technical Feasibility 12
2.5.2 Economic Feasibility 13
2.5.3 Schedule Feasibility 13
2.5.4 Operational Feasibility 14
2.5.5 Conclusion of Feasibility Study 14
2.6 Conclusion 14
Chapter 3 Literature Review 15
3.1 Introduction to Literature Review 15
3.2 Literature on Related System 15
3.2.1 Electronic Library Management System 15
3.2.2 Digital Library Service System 15

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

3.2.3 Library Reservation System 16


3.2.4 LAN (Local Area Network) Based Library System 16
3.3 Conclusion 17
Chapter 4 System Design 18
4.1 Introduction 18
4.2 UML Diagram 18
4.2.1 Use Case 19
4.2.2 Class Diagrams 38
4.2.3 Sequence Diagrams 40
4.3 Entity-Relation Model 56
Chapter 5 Implementation 57
5.1 Introduction 57
5.2 Tools Used for Implementation 57
5.3 Implementation Plan 57
5.4 Traceability of Modules with Design 58
5.5 Source Code 59
Chapter 6 Testing 85
6.1 Introduction 85
6.2 Need of Testing 85
6.3 Test Plan 85
6.3.1 Types of Testing 86
6.3.2 Pass/Fail Criteria 87
6.4 Point of Contact of Troubleshooting Purpose 88
6.5 Criteria of Test Case 88
6.6 Technical Requirements of Testing 88
6.7 Users Involved in Testing 89
6.8 Unit Testing 89
6.8.9 Black Box Testing 89
6.8.10 White Box Testing 90
6.9 Integration Testing 90
6.9.1 Technique used for Integration Testing 90
6.10 System Testing 91
6.11 Compatibility Testing 91
6.12 GUI Testing 91
6.13 Usability Testing and its Justification 92
6.14 User Acceptance Testing 93
6.14.1 Justification for User Acceptance Testing 93
6.15 Documentation Testing 93
6.16 Conclusion 93
Chapter 7 Conclusion 96
7.1 Success Criteria 96
7.2 Limitations of the Developed System 96
7.3 Future Enhancement 96
7.4 Conclusion 96
Chapter 8 References 98
8.1 Books 98

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

CHAPTER 1: INTRODUCTION

1.1 Topic of The System


Title: Quick Response Library Management System
1.2Project Abstract
The system “Quick Response Library Management System” aims to provide a general-
purpose application for the tedious and complex task of library management. One of
the biggest challenges in the library management today is to manage the vast library of
an institute manually. An institute has a plethora of books on various subjects which
need to be well sorted and labelled for easy access and tracking. Our system enables for
easier management of the books which can reduce the manual labour that has to be
done by the library managers for the smooth functioning of a library. It allows the use
of various features such as deleting from book list, editing book list, viewing the book
list, and searching through the entire library by using either the book name or book ID.
This enables for faster execution of tedious management tasks enabling better
management of the resources.
1.3 Purpose of the System
In the contemporary era when everything in the world can be accessed on our
fingertips, we still do not have a compelling option for a library management system
which is not only easy to use and understand, but also effective to apply. Many such
systems available in the market are of a highly complex nature which cannot be
understood easily by someone who is not good with computers. They also require a
connection to the internet at all times for the system to be used. Not only they are
complex to implement, being provided over the internet also poses a threat of cyber-
crimes that could be done to the institute. The proposed system divides the work
between a manager and the computer. The system can manage the library stocks and
holdings effectively while requiring the manager to take care of the books that are
being borrowed and returned from the library. Such a system that allows the integration

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

of human and computer to execute a task smoothen the tedious and difficult task of
managing a library, whilst also reducing dependency on a machine completely.
1.4Target User
Whenever any product is planned to be made there is always a background study on the
target users. The target users for the desired system are the various educational
institutes that provide secondary, senior secondary, graduate, post-graduate degree of
education as well as companies that have a library for their employees to use for
studying and research purposed for their own good or for the company’s requirements.
This application can be used by libraries of all the major and minor educational
institutes and office spaces for regular maintenance of their libraries and to maintain
regular records for the libraries in these institutions.
1.5 Topic Background
Nowadays, in our society, computer technology is the most important advancement as
people move along in this computerized world. These changes have big effects on
man’s life; by making it easier and more convenient. Librarians have the responsibility
not only to know how to manage a computerized library system but also to be aware
that these changes will have a big help to them.
It helps a lot by providing sustainable technology towards quality education through
consignment and effective learning. Computer technology is now in demand in our
society. It is very essential in our daily lives. It continues to evolve and grow fast.
A library system is software that had been developed to handle basic housekeeping
functions of a library. It helps to grant information on any book present in the library to
the user as well as the staff members. It keeps a track of book issued, returned and
added to the library.
Traditionally, library systems are used manually. Forms are given to the Librarian and
they fill them of using pens. The manual library system is very time consuming and a
tiresome task. The primary complaint of some Librarians with this manual system is
the tiresome task of searching records. The fast changed of technology ascribe a lot to
the development of the library system. The computerized library system may help the
academe.
1.6 Problem Context

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

In today's digital age, computer technology is a pivotal advancement, significantly


impacting our lives by making tasks easier and more convenient. Librarians must not
only manage computerized library systems but also recognize their substantial benefits.
These systems contribute to sustainable, quality education through efficient
information management. The demand for computer technology is high and growing
rapidly, becoming essential in our daily lives.
Library systems software handles basic housekeeping functions, providing information
on any book in the library and tracking issued, returned, and added books.
Traditionally, libraries were managed manually with forms and pens, a time-consuming
and tedious process. The primary complaint with this manual system was the laborious
task of searching records. The rapid advancement of technology has greatly improved
library systems, significantly benefiting educational institutions.
1.7 Rationale behind the System: Why do we need this System?
The problems that are traced needs to be considered and the researcher has decided to
construct such an application that would focus on providing solutions for the above-
mentioned problems.
1.8 Objectives of the System
1.8.1 Project Objectives
The primary objective of implementing a computerized library system was to
overhaul the manual processes traditionally employed in libraries, aiming for a
more streamlined and efficient management approach. This transition encompasses
various library functions, such as recording book transactions, managing stock
levels, and facilitating research inquiries. By embracing this digital transformation,
the library endeavours to enhance its operational efficiency, accuracy, and overall
convenience for both its staff and users.
Furthermore, the system empowers librarians to maintain comprehensive and up-to-
date records of the library's inventory, ensuring precise tracking and management of
stock levels. Additionally, the system's advanced search functionalities simplify the
process of locating books, facilitating a more user-friendly experience for both
students and staff members.
In summary, the adoption of a computerized library system yields significant
improvements in operational efficiency and user experience, benefiting both
librarians and library patrons alike.

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

1.8.2 Specific Objectives


The main objective of the proposed system is to overcome all the short comings of
a manual system that is regularly being used in several institutes. This includes the
following:

 Developed a well-organized library borrowing system.


 Produced a well-designed and functioning system in accordance to the
needs and wants of the borrowers.
 Minimized the task and the effort being performed by both the librarian and
borrowers.
 Provided the school and the students a well-organize and well-presented
reports.

1.9Scope of the System


The proposed system was made based on the wants and needs of the school, the system
consists of registering books with specific book identification number, so that the
librarian has an easy access in each book, search tabs for reliable, easy and faster
monitoring of books and more importantly a report and evaluation papers can be
generated in a well-organized and well-presented reports. Each student is limited to
borrow one book every transaction to provide each student an equal chance of
borrowing specific books.
Such a system was greatly required due to the rapid increase of computer related tools
in the education industry. With this proposed system, features and functions of the
institute’s library will be accommodated more reliably, consistently and faster for
providing better services to the student and library managing staff.
1.10 Limitations of the System
Limitations are always a part of every project. The project scope is limited to a
confined boundary as listed below:
 The system is being developed for only desktop computers and laptops.
 The system can only be used for managing the storage and inventory of the
library and not for managing the transactions between the library and its patrons
1.11 Assumptions Made

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

This system is although easy to use in terms of its functionalities but even then, there
are some assumptions that need to be made before the development of the system:
 Users need to have basic knowledge of using computers
 Basic knowledge of the English language
 Basic knowledge of handling and managing file systems
1.12 Success Criteria
Success Factors depends upon the depth of understanding and experience gained from
the applications viewed for the review and how efficiently the developer cracks the
problems faced in the application that led to development of such an application.
 Application is properly working and compatible with the Windows operating
system. Application will be useless if it is unable to run properly on the physical
device. There should not be any anomalous or false functioning during its
working on physical device.
 System meets all requirements of the proposed solution. If the application
provides desired operations and produces expected output i.e. if it is meeting
user requirements, passing of above test cases. Application must fulfil the core
as well as enhanced system requirements mentioned above.
 The solution provided in the form of project proposed should be well-rated in
terms of interactivity, effectiveness and efficiency.
1.13 Functionalities of the system
The proposed system is well equipped with some core features and some enhanced
features for the task of library management. Let us go through them one by one in
detail:

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

1.13.1 Core Features

Functionality Description
Catalog Management Allow librarians to catalogue and classify library materials,
including books, journals, multimedia, and digital
resources, using standardized metadata formats such as
MARC (Machine-Readable Cataloguing).
User Management Enable librarians to manage user accounts, including
registration, authentication, and access control. Users
should be able to update their profiles, view borrowing
history, and manage account preferences.

Search and Discovery Facilitate the borrowing, renewing, and returning of library
materials by patrons. Implement circulation policies such as
loan periods, renewals, holds, and fines. Manage inventory
status and availability of items.

Circulation Provide users with robust search functionality to discover


Management library resources based on various criteria such as title,
author, subject, keyword, or ISBN. Implement advanced
search features including filters, facets, and relevance
Table 1: Core Features
1.13.2 Enhanced Features

Functionality Description
Reservations and Hold Allow users to reserve items that are currently checked out
by other patrons. Manage holds queues and notify users
when reserved items become available for pickup.
Interlibrary Loan Enable users to request materials from other libraries
through interlibrary loan services. Facilitate the borrowing
and lending of items between participating libraries
Table 2: Enhanced Features

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

1.14 Conclusion
The Chapter 1 includes the background study for the system. Studying the system has
inferred the purpose of the system and goals/ objectives of the system. After the
purpose of the system is identified, the developer then came up with the benefits of the
system to its intended end-user and how the system can benefit its users. The
developer then cultivated the desirable features to be implemented in the proposed
system to resolve the problems that were identified in the problem context section. The
chapter has also included the deliverables the system will produce after it is completed.
The limitations for the system have also been identified that limits the scope of the
proposed project.

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

CHAPTER 2: PROBLEM DESCRIPTION


2.1 Current Problem Description

After some preliminary research and analysis, we have identified some of the major
problems in the currently existing library management systems which the proposed system
targets to eliminate:

2.1.1 Description of Problem Area

Conventionally, the task of library management includes the following jobs:

 Maintaining records of the books and papers


 Maintaining records of the transactions, i.e., of the records of borrowing and returns
 Maintaining a decorum of the library
 Helping the patrons with looking for books they need

These tasks are done manually by the administrators and managers of the library and are
further looked upon by the institutions. However, we can find only two to three people who
are heading these tasks and managing the libraries completely by themselves. Therefore,
the task of managing a library consists of manual labour for the major part and can be very
tedious. Apart from the complexity, it also makes the job time consuming, and prone to
human error.

2.2 Problem Importance and Justification.

A manual library management system can result in following issues:

 Time-Consuming Processes: Recording book issues, returns, and inventory updates


manually is slow and labour-intensive, often leading to delays in library services.
 Human Error: Manual entries are prone to mistakes such as incorrect data entry,
misplaced records, or failure to update records, leading to inaccuracies in the
system.
 Difficulty in Tracking Inventory: Keeping track of all books, especially in large
libraries, is challenging. It can be hard to know which books are available, issued,
overdue, or lost without an automated system.

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Inefficient Book Search: Finding specific books can be cumbersome without a


digital catalogue. Users and librarians may spend a lot of time manually searching
shelves or card catalogues.
 Limited Access to Information: Information about book availability, borrower
details, and overdue books may not be readily accessible. This limits the ability of
librarians to assist patrons quickly and effectively.
 Labor-Intensive Record Keeping: Maintaining up-to-date records of all
transactions, including book issues and returns, requires considerable effort and
attention to detail.
 Space and Resource Constraints: Physical records and catalogues take up space and
require proper storage conditions to avoid damage or loss, which can be a
constraint in smaller libraries.
 Security Issues: Manual records are susceptible to damage, loss, or unauthorized
access. Protecting the integrity and privacy of library records can be challenging.

2.3 Proposed Solution

The solution for the current system is to develop a system which will sort out all the above
problems. The proposed system will work upon the current issues and will overcome the
problem that it has right now:

 Efficient search for records: The proposed system enables the library administrators
to efficiently search for books and papers from the records on the basis of the
dedicated book ID number or by book’s name.
 Tracking Inventory: Proposed system enables for efficient tracking and
modification of records by the administrators for quick and easier management of
the library’s resources.
 Reduced Complexity: Integration of a computer-based library management system
along with the managing prowess of the library administrators enables a better flow
of control and management in the library
 Increased security: Our system enables for a password authenticated library
management system for the administrators which ensures increased security of the
library records

2.4 Nature of Challenge


Group 10 Panipat Institute of Engineering and Technology
Quick Response Library Management System

Building a library management system in C++ presents several challenges, ranging from
technical difficulties to design and user experience considerations. Here are some
challenges we might encounter:

User Interface
Designing an intuitive User Interface Creating a user-friendly interface for
librarians and patrons, whether it's a
console-based UI or a graphical user
interface (GUI) using libraries like Qt or
wxWidgets.
Input Validation Ensuring robust input validation to handle
user errors and invalid data entries
Functionality Implementation
Book Management Implementing features to add, update,
delete, and search for books efficiently
User Management Managing user registrations, logins, and
maintaining user borrowing histories
Transaction Management Handling book issuance, returns, and
tracking due dates accurately
Error handling and debugging
Error Handling Implementing comprehensive error
handling to manage unexpected situations
and ensure the system's stability
Debugging Debugging complex issues, especially
those related to database operations,
memory management, and user
interactions
Performance Optimization
Efficiency Ensuring that the system performs well
with a large number of records, optimizing
database queries and code efficiency
Resource Management Managing memory usage and preventing
leaks, especially in a language like C++

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

that doesn't have automatic garbage


collection
Security Concerns
Data Security Protecting sensitive user data and
transaction records from unauthorized
access and breaches
Authentication and Authorization Implementing secure user authentication
and role-based access control to ensure
that only authorized users can perform
certain actions
Testing and Validation
Unit Testing Writing tests for individual components to
ensure they function correctly
Integration Testing Testing the system as a whole to verify that
all parts work together seamlessly
User Acceptance Testing Ensuring the system meets the needs of
actual users and functions as intended in
real-world scenarios
Deployment and Maintenance
Deployment Ensuring the system can be easily
deployed on the intended platform,
whether it's a local machine, network, or
cloud
Maintenance Planning for regular updates, bug fixes,
and feature enhancements based on user
feedback and changing requirements
Table 3: Challenges during development

2.5 Feasibility Study

Feasibility study is an analysis and evaluation of a proposed project to determine if it is


feasible technical, economically, timely and operationally. Feasibility study for the project
is conducted to analyse whether the proposed project is possible/ feasible to be developed
Group 10 Panipat Institute of Engineering and Technology
Quick Response Library Management System

within scheduled time, available resources, within estimated budget. After feasibility study
is done, it is evaluated whether to proceed with the project or not. The feasibility study can
be categorized into following four parts:

 Technically feasibility
 Economic feasibility
 Schedule feasibility
 Operational feasibility

2.5.1 Technical Feasibility

Technical feasibility is conducted to verify whether the project is feasible to be developed


within the available resources or not. The technical feasible takes into account the technical
requirements for the project, the technical resources required by the project for its
successful and efficient completion. The specific technical resources to be available for
completing the project successfully are given below:

Hardware Resources

S. No. Hardware Resources Version


1. Processor Core i3 and later version
2. RAM(Memory) 2 GB and more
3. Monitor Any standard monitor
4. Pen Drive, Mouse, Printer,
Keyboard
5. System Type 64-bit OS
6. Hard Drive More than 80 GB
Table 4: Hardware Resources

Software Resources

S. No. Software Resources


1. Microsoft Visual Studio Code
2. Plug-In – C/C++ extension pack ( includes GCC compiler and other
essentials )
3. Operating System (PC) - Windows 7 or later
Group 10 Panipat Institute of Engineering and Technology
Quick Response Library Management System

4. Documentation and Presentation tool - Microsoft Office 2010


Table 5: Software Resources

Resources of Execution

S. No. Resources for Execution


1. Operating system – Windows 7 or
later
2. CPU: 600 MHZ
4. RAM: 100 MB (estimated)
5. Disk space: 50 MB (estimated)
Table 6: Resources for Execution

2.5.2 Economic Feasibility

The main purpose of conducting economic feasibility is to identify the financial benefits
and costs associated with the project development. As for any system if the estimated
benefits equal or surpasses the expected costs that is calculated for the system then the
project would be economically feasible. Since the proposed system programming
environment is based on C++ which is an open-source platform, so there is less of
investment in the development portion. And any software or program that is produced
needs to be tested which can be done without much investment. Only required investment
would be a physical device to test the system.

2.5.3 Schedule Feasibility

Schedule feasibility for a project is done to verify whether the project can be completed
within scheduled time or not as decided by the Gantt chart. Dates are fixed for each phase
throughout the project and it is to be ensured that the project is able to complete within the
specified dates and the schedule. If the project is able to be completed within the schedule,
the scheduled feasibility is high. Gantt chart is a project management tool that can be used
to measure the scheduled feasibility of the project. The proposed timeline for the
application would consume approximately 38 weeks and time management for each task is
carried out aptly through Gantt chart.

2.5.4 Operational Feasibility

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Operational feasibility measures to which extent the proposed system resolves the
problems identified in the starting phase of the project; how the project intends to fulfil the
requirements identified during scope definition and how the system makes use of the
opportunities identified during scope definition. The project will be operationally feasible
undoubtedly as the main motive is to solve the problems of those who face problems in
nowadays environment which are faced by masses.

2.5.5 Conclusion of Feasibility Study

The project is technically feasible since the hardware, software and the resources needed
for executing the system are ready. After evaluating the cost and benefits incurred on and
derived from the system, it is concluded that the project is economically feasible. The
project will be completed on time and deadlines will be followed as scheduled in the Gantt
chart. The system will be socially acceptable and will satisfy the needs of users.

2.6 Conclusion

Chapter 2 is all about the problems identified in the current area of study i.e. the problems
in library management. The developer has identified all the problems which is generally
facing by the general user. The problems have been documented along with the
justification for each problem. After all the problems are identified, the developer’s next
task was to provide appropriate solutions to resolve the problems. For the same purpose,
the solution corresponding to each problem has been documented along with the
justification. A feasibility study is then conducted for the system to ensure that the
proposed system is technically, operationally, economically feasible and can be completed
within a specified time frame. The feasibility study is successful, creating a further path for
the developer to move ahead with the project.

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

CHAPTER 3: LITERATURE REVIEW


3.1 Introduction to Literature Review

A literature review is a description of what work has already been done by other
researchers related to the present topic. It is conducted using published books, journals and
other research papers and is a baseline for present research. The following are the purpose
of a literature review:

 To perform critical evaluation of already conducted research to find out their ideas,
strength, weakness and their methodologies.
 To have an overview of already existing suggestions related to the subject, review
the findings and views of others.
 To answer certain questions and remove confusions related to the present topic.

3.2 Literature on Related Systems

Within this chapter the researches presented the reviews of literature and systems that are
greatly related to our proposed system, with this we will understand the past studies for us
to develop a lot more effective and efficient system for the school.

3.2.1 Electronic library management Systems

In accordance to the study of Robertson (2004), Library management system (LMS)


known as an automated Library System is software that is developed to deal with the basic
functions of a Library, and provides a complete solution for the administration of a
library’s technical, economic and social functions and services to the users. These
functions range from; tracking the assets held by the library, managing book and user
records, through to supporting the daily work over. These systems are used in almost all
libraries large and a small once.

3.2.2 Digital Library Services Systems

According to the study of Stephen, Maeve & Philips (2007), in a traditional sense, a
Library is a large collection of books such as research proposals, dictionaries,
encyclopaedia, and many more; it also can refer to the place in which the collection is
housed. Today, this kind of terms can refer to any of the selection, including digital
sources, resources, and aids. The collections can be of print, audio, and visual materials in
Group 10 Panipat Institute of Engineering and Technology
Quick Response Library Management System

various layouts, containing maps, prints, and documents, microform, compact disk,
cassettes, videotapes, digital video disk, e-books, audio books and many other electronic
assets. The places where this material is stored can range from community libraries,
consent libraries, intimate libraries, and can also be in digital arrangement, stocked on
computers or approachable over the internet. The term has acquired a subordinate meaning:
“a group of beneficial tangibles for common use.” This sense is used in fields such as
mathematics, computer science, statistics, analysis and electronics. They cast that, a library
is systematized for use and cared by a public body, an institution, association, or an
intimate individual. Public and institutional collections and services may be designed for
use by people who choose not to or cannot sustain to obtain an extensive collection
themselves, who need material.

3.2.3 Library reservation system

Library is a substantial part of the academic sector as well as some professional sectors too
like, Advocacy etc. The effectiveness of a library relies on how the book and other
materials are organized and how easily one can get the books that they preferred. Mainly,
what we see nowadays is manual library management system whose method of operation
is very much unsettled. What we are doing is that we are proposing a computerized library
management system, which provides better and efficient service to the library members.
This software is meant to transform the unsettled manual system to a more adequate
computerize system. This application can be used conveniently in educational institute and
certain professional districts also. This application presumes that the user doesn’t possess
the right to alter information about books. In accordance to Yao ‘s (2013), background of
the study.

3.2.4 LAN (Local Area Network) Based Library System

As its names convey; the system is affiliated to a LAN or also known as Local Area
Network. This kind of system provides users exceptional service with regards to the
system’s activity. The transactions that will take place in the LAN-Based Library System
are branched into two types: the server-based and client based. Server-based transactions
are the transactions which can only supervise and oversee by the librarian due to some
factors such as security. These transactions are being done in the server only, as its name

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

convey. Customer-based transactions are the transactions which can be done in the client
computer in the library or through internet.

3.3 Conclusion

Chapter 3 includes review the literature of the past to establish a baseline for the proposed
project. Under literature review, existing systems have been studied to gather knowledge in
the area of the study; what features are new in the market and what all features the
developer can integrate into his new system. The chapter also includes the information and
resources that are a part of the literature review and are studies or will be studied in future
to collect the data and information about the area of study.

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

CHAPTER 4: SYSTEM DESIGN


4.1 Introduction

The design phase starts when the developer is done with the research and analysis phase.
The design phase includes the transformation of user’s specifications and software
components into the software interface to build a platform for establishing the system. It
covers the building of blue prints of the system that include physical modelling using
software engineering tools and methods.

In the design phase for the proposed system, the design is taking the requirements as the
input and will produce a guideline for the implementation as output. Three to four design
elements are to be produced for each and every module after completing the research and
analysis part which will be fed as input to the design.

4.2 UML Diagram

 Use Cases: Use case will be required by the developer so that the flow of the
functionalities mentioned in the proposed system could be reviewed to validate the
architecture and evaluation of the complexity level of individual modules could be
assessed easily. Therefore, it would be helpful in testing the system through
forward and reverse engineering. (Booch, Rumbaugh & Jacobson, 2008)
 Activity Diagrams: Activity Diagrams will be used by the developer to show the
flow of control of program modules from activity to activity. This would help us to
show the concurrency as well as branches of control in the proposed system.
(Booch, Rumbaugh & Jacobson, 2008)
 Sequence Diagrams: Sequence Diagrams would help the developer to show the
series of interactions prevailing between users and system/modules. (Booch,
Rumbaugh & Jacobson, 2008)
 Class Diagrams: UML class diagrams will be required to provide an independent
description of the objects that would be used in the system and which would be
helpful in the implementation phase. The design can be used as a reference to
implement on any platform using any development environment. (Booch,
Rumbaugh & Jacobson, 2008)

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Entity-Relationship Diagram (ERD): ER diagrams will be required by the


developer to identify the entities and relationship between them is beneficial in
storing the data which would be then converted into tables in the normalization
phase. (Booch, Rumbaugh & Jacobson, 2008)

4.2.1 Use Case

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Use case of Login

UC-01

Table 7: Use Case Diagram of Login

Use Case ID UC-01


Use Case Name Login
Description This allows the user login to the system
Actor(s) User/Admin
Assumption Actor must know the password for system
Pre-Condition The actor must be a registered user.
Post-Condition logged in successfully.
Primary Pathway  system asks for the login password
 Actor enters the password

Alternate Pathway(s)  Necessary to login


 Repeat step 2 of primary pathway

Table 8: Use Case Description of Login

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Use Case Diagram of Menu


UC-02

Table 9: Use Case Diagram of Menu

Use Case ID UC-02


Use Case Name Menu
Description This allows the user to issue books to patrons, to receive returned
books, enter administrator menu, and exit from the system
Actor(s) User/Admin
Assumption Actor must know the password for system
Pre-Condition The actor has logged in to the system
Post-Condition Menu is available to perform operations
Primary Pathway  User selects the action they wish to perform
 User performs the action
 The system processes the request and does necessary
computations

Alternate Pathway(s) none

Table 10: Use Case Description of Menu

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Use Case Diagram of Issue Books

UC-03

Table 11: Use Case Diagram of Issue Books

Use Case ID UC-03


Use Case Name Issue Books
Description This allows the user to issue books to patrons by using their ID and
the book ID which is given by the system to the books
Actor(s) User/Admin
Assumption Actor has logged into the system
Pre-Condition The actor selected the menu option to Issue Books
Post-Condition Book is issued to the patron/student/member
Primary Pathway  User selects the Book Issue option from the menu
 User enters the Student ID into the system
 User enters the book ID
 Book is issued

Alternate Pathway(s) none


Exception Pathway  At step 2, it may be possible that the student does not
exist in the database

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 At step 3, it is possible the book may not be present in the


system
Table 12: Use Case Description for Issue Books

 Use case diagram for Book Return

UC-04

Table 13: Use Case Diagram for Book Return

Use Case ID UC-04


Use Case Name Books Return
Description This allows the Actors to process returns of books and charge fine
if applicable for late returns
Actor(s) User/Admin
Assumption Actor has logged into the system
Pre-Condition The actor selected the menu option to Return Books
Post-Condition Book is returned to the library and any applicable late fee is
charged
Primary Pathway  User selects the Book Return option from the menu
 User enters the Student ID into the system
 User enters the number of days after which book is

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

returned from the date of issue


 Any applicable late fee is charged to the patron
 Book is returned to the library

Alternate Pathway(s) none


Exception Pathway  At step 2, it may be possible that the student does not
exist in the database
 At step 2, it may be possible that no book is issued to the
student ID entered
Table 14: Use Case Description for Book Return

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Use Case for Administrator Menu

UC-05

Table 15: Use Case Diagram for Administrator Menu

Use Case ID UC-05


Use Case Name Administrator Menu
Description This allows the user to create student records, access student
records for a particular student as well as all students, modify
student records, delete student records, create book records, access
book list for a particular book as well as all books, modify book

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

list, and delete book records


Actor(s) User/Admin
Assumption The actor has logged in to the system
Pre-Condition The actor chooses the option to access the Administrator Menu
Post-Condition Administrator Menu is available to perform operations
Primary Pathway  User selects the Administrator Menu to access
 User selects the action they wish to perform
 User performs the action
 The system processes the request and does necessary
computations

Alternate Pathway(s) none

Table 16: Use Case Description for Administrator Menu

 Use Case Diagram for Create Student record

UC-06

Table 17: Use Case Diagram for Create Student Record

Use Case ID UC-06


Use Case Name Create Student Record
Description This allows the user to create Student records
Actor(s) User/Admin
Assumption The actor has logged in to the system

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Pre-Condition Actor has selected Create Student Record option from


Administrator Menu
Post-Condition Actor can add record of a student
Primary Pathway  User selects Create Student Record option from
Administrator Menu
 User adds the Student Admission number
 The user adds the student’s name
 Student details are added to the system

Alternate Pathway(s) none

Table 18: Use Case Description for Create Student Record

 Use Case Diagram for Display All Records

UC-07

Table 19: Use Case Diagram for Display All Records

Use Case ID UC-07


Use Case Name Display All Records
Description This allows the user to Display all student records
Actor(s) User/Admin
Assumption The actor has logged in to the system
Pre-Condition Actor has selected Display All Records option from
Administrator Menu
Post-Condition Actor can view all records of students
Primary Pathway  User selects Display All Records option from

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Administrator Menu
 System displays all Student records

Alternate Pathway(s) none

Table 20: Use Case Description for Display All Records

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Use Case Diagram for Display Specific Student Records

UC-08

Table 21: Use Case Diagram for Display Specific Records

Use Case ID UC-08


Use Case Name Display Specific Records
Description This allows the Actors to view specific students from records
Actor(s) User/Admin
Assumption The actor selected the Administrator menu option to Display
Specific Records
Pre-Condition User enters the required student ID
Post-Condition System Confirms existence of the record and displays all details
Primary Pathway  User selects the Display Specific Records from
Administrator Menu
 User enters the Student ID into the system
 System displays all the details of the Student whose ID
is entered

Alternate Pathway(s) none


Exception Pathway  At step 2, it may be possible that the student does not
exist in the database
Table 22: Use Case Description for Display Specific Records

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Use Case Diagram for Modify Student Records

UC-09

Modify
Specific
Records

Table 23: Use Case Diagram for Modify Student Records

Use Case ID UC-09


Use Case Name Modify Student Records
Description This allows the Actors to view modify student records
Actor(s) User/Admin
Assumption The actor selected the Administrator menu option to Modify
Student Records
Pre-Condition User enters the required student ID
Post-Condition System Confirms existence of the record and allows user to modify
it
Primary Pathway  User selects the Modify Student Records from
Administrator Menu
 User enters the Student ID into the system
 User Enters the Student Name into the system
 Student record is modified

Alternate Pathway(s) none


Exception Pathway  At step 2, it may be possible that the student does not
exist in the database
Table 24: Use Case Description for Modify Student Records

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Use Case Diagram for Delete Student Records

UC-10

Table 25: Use Case Diagram for Delete Student Records

Use Case ID UC-10


Use Case Name Delete Student Records
Description This allows the Actors to view delete student records
Actor(s) User/Admin
Assumption The actor selected the Administrator menu option to Delete
Student Records
Pre-Condition User enters the required student ID
Post-Condition Record is deleted from the system
Primary Pathway  User selects the Delete Student Records from
Administrator Menu
 User enters the Student ID into the system
 System deletes the record of entered Student ID

Alternate Pathway(s) none


Exception Pathway  At step 2, it may be possible that the student does not
exist in the database
Table 26: Use Case Description for Delete Student Records

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Use Case Diagram for Create Book

UC-11

Table 27: Use Case Diagram for Create Book

Use Case ID UC-11


Use Case Name Create Book
Description This allows the user to record of a new book
Actor(s) User/Admin
Assumption The actor has logged in to the system
Pre-Condition Actor has selected Create Book option from Administrator Menu
Post-Condition New book record will be created
Primary Pathway  User selects Create Book option from Administrator
Menu
 User is required to enter book’s name
 User is required to enter author’s name
 User is required to enter publication’s name
 User is required to enter book’s quantity
 New book record is created

Alternate Pathway(s) none

Table 28: Use Case Description for Create Book

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Use Case Diagram for Display All Books

UC-12

Table 29: Use Case Diagram for Display All Books

Use Case ID UC-12


Use Case Name Display All Books
Description This allows the user to Display all Books
Actor(s) User/Admin
Assumption The actor has logged in to the system
Pre-Condition Actor has selected Display All Books option from Administrator
Menu
Post-Condition Actor can view all records of books
Primary Pathway  User selects Display All Books option from
Administrator Menu
 System displays all Books

Alternate Pathway(s) none

Table 30: Use Case Description for Display All Books

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Use Case Diagram for Display Specific Books

UC-13

Table 31: Use Case Diagram for Display Specific Books

Use Case ID UC-13


Use Case Name Display Specific Books
Description This allows the Actors to view specific books from records
Actor(s) User/Admin
Assumption The actor selected the Administrator menu option to Display
Specific Books
Pre-Condition User enters the required student ID
Post-Condition System Confirms existence of the book and displays all details
Primary Pathway  User selects the Display Specific Books from
Administrator Menu
 User enters the Student ID into the system
 System displays all the details of the Book whose ID is
entered

Alternate Pathway(s) none


Exception Pathway  At step 2, it may be possible that the Book does not exist
in the database
Table 32: Use Case Description for Display Specific Books

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Use Case Diagram for Modify Books

UC-14

Table 33: Use Case Diagram for Modify Books

Use Case ID UC-14


Use Case Name Modify Books
Description This allows the Actors to view modify books
Actor(s) User/Admin
Assumption The actor selected the Administrator menu option to Modify Books
Pre-Condition User enters the required book ID
Post-Condition System Confirms existence of the record and allows user to modify
it
Primary Pathway  User selects the Modify Books from Administrator
Menu
 User enters the Book ID into the system
 User Enters the Book’s Name into the system
 User Enters the Author’s Name into the system
 User Enters the Publication’s Name into the system
 User Enters the Book’s Quantity into the system

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Book record is modified

Alternate Pathway(s) none


Exception Pathway  At step 2, it may be possible that the book does not exist
in the database
Table 34: Use Case Description for Modify Books

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Use Case Diagram for Delete Books

UC-15

Table 35: Use Case Diagram for Delete Books

Use Case ID UC-15


Use Case Name Delete Book
Description This allows the Actors to view delete book records
Actor(s) User/Admin
Assumption The actor selected the Administrator menu option to Delete Book
Pre-Condition User enters the required student ID
Post-Condition Record is deleted from the system
Primary Pathway  User selects the Delete Book from Administrator Menu
 User enters the Book ID into the system
 System deletes the record of entered Book ID

Alternate Pathway(s) none


Exception Pathway  At step 2, it may be possible that the Book does not exist
in the database
Table 36: Use Case Description for Delete Books

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

4.2.2 Class Diagrams

 Global
CD-01

Table 37: Class Diagram for Global methods

 Book

CD-02

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Table 38: Class Diagram for class book

 Student

CD-03

Table 39: Class Diagram for class student

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

4.2.3 Sequence Diagrams

 Login to System
SQ-01

Table 40: Login

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Select Option from Main Menu

SQ-02

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Table 41: Select Action Main Menu


 Book Issue

SQ-03

Table 42: Book Issue

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Book Return

SQ-04

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Table 43: Book Return


 Open Administrator Menu
SQ-05
Group 10 Panipat Institute of Engineering and Technology
Quick Response Library Management System

Table 44: Open Administrator Menu

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Create Student
SQ-06

Table 45: Create Student

 Display All Students


SQ-07

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Table 46: Display All Students

 Display Specific Student

SQ-08

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Table 47: Display Specific Student

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Modify Student Record

SQ-09

Table 48: Modify Student Records

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Delete Student Record

SQ-09

Table 49: Delete Student Record

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Create Book Record


SQ-10

Table 50: Create Book Record

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Display All Books

SQ-11

Table 51: Display All Books

 Display Specific Book

SQ-12

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Table 52: Display Specific Book

 Modify Books

SQ-13

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Table 53: Modify Books

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Delete Books

SQ-14

Table 54: Delete Books

4.3

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

4.3 Entity Relation Model

4.3.1 Entity List

S.No Entity Members


1. Admin name, bno, token, admno,
quant, bname, aname,
pname
2. Student name, bno, token, admno
3. Book bno, quant, bname, aname,
pname
Table 55: Entity List

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

CHAPTER 5: IMPLEMENTATION
5.1 Introduction

After completing the design phase, the developer recognized the necessity for the
requirements to align with the proposed system development schema. The
implementation phase is crucial in any project, as it involves transforming the system
design into a functional system. This phase requires extensive use of tools to convert
design modules into a working system. To proceed with this, the developer needs a
programming language and a development tool. In our case, the preferred file
management system was the C++ file system and the programming language used was
C++.

During implementation, the we encountered numerous errors that hindered the process.
This chapter delves into how the design was implemented and highlights the challenges
faced during system creation. Additionally, it outlines the problems encountered and
the solutions provided to address them.

5.2 Tools used for Implementation

Tool Use
Windows 11 For using and performing tasks on all the
below-mentioned applications
StarUML For developing UML diagrams
Microsoft Word 2021 Used for documenting the project
Microsoft Visual Studio 2021 Used for writing the code for project
minGW Used for compiling the source code
Laptop Used to run the system for testing
Table 56: Tools used for Implementation

5.3 Implementation Plan

To ensure the successful completion of the Library Management System (LMS) in C+


+, a strategic plan is crucial. This plan employs a 'divide and conquer' approach, which
involves breaking down the system into separate modules. This methodology facilitates
error detection and recovery, making the development process more manageable.

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

The plan prioritizes various modules based on their complexity, ensuring timely
implementation. Complex modules are addressed first to mitigate potential challenges
early in the development cycle. By following this structured approach, we can
efficiently develop each module, ensuring that the entire system is robust, reliable, and
completed within the project timeline.

Complex Modules
Data Storage and Retrieval Design and implement robust file
handling mechanisms to store and
retrieve book and student data
Business Logic Layer Develop core functionalities such as
book issuance, return processes, and data
integrity checks
Intermediate Modules
Book Management Implement features to add, update,
delete, and list books. Integrate search
functionality for efficient book retrieval
Student Management Implement features to add, update,
delete, and list students. Ensure accurate
tracking of issued and returned books
Basic Modules
User Interface Develop a user-friendly interface for
library staff and administrators. Ensure
ease of use and clear navigation
Table 57: Modules

By following this plan, we ensure that each module is developed thoroughly, starting
with the most complex aspects. This strategic prioritization enables us to address
potential issues early, ensuring a smoother development process and a more reliable
final product.

5.4 Traceability of Modules with Design

Functionality (modules) Use Case Diagram


Login UC-01

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Menu UC-02
Issue Book UC-03
Return Book UC-04
Administrator Menu UC-05
Create Student Record UC-06
Display All Records UC-07
Display Specific Records UC-08
Modify Student Records UC-09
Delete Student Records UC-10
Create Book UC-11
Display All Books UC-12
Display Specific Book UC-13
Modify Book Records UC-14
Delete Book Records UC-15
Table 58: Traceability of Modules with Design

5.5 Source Code

#include<bits/stdc++.h>
#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<stdio.h>
#include<process.h>
#include<conio.h>
using namespace std;
#define el "\n"
#define sp " "

int res_book(int,int); //To check whether any book a given book no. exists or not
/*Class of books*/
class book
{
protected:

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

int bno,quant; //book no


char bname[50]; //book name
char aname[50]; //book author's name
char pname[50]; //publication name
public:
void createb();
void showb();
void showlist();
void assignbno(int x) //bno assigned on the basis of no
{ //no. of objects in file
bno=10001;
bno+=x-1;
start1:
bno+=1;
if(res_book(bno,0))
goto start1;
}
void set_q()
{
quant-=1;
}
int quantity()
{
return quant;
}
void reset_q()
{
quant+=1;
}
int retbno()
{
return bno;
}

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

};
/*End of class book*/

void book::createb() //To enter data in data members of class book


{
int i;
cout<<"\n\t\tEnter the details:-\n";
cout<<"\n\t\tEnter Book's Name: ";
char n[50];
cin.getline(n,50);
cin.getline(bname,50);
for(i=0;bname[i]!='\0';i++)
{
if(bname[i]>='a'&&bname[i]<='z')
bname[i]-=32;
}
cout<<"\n\t\tEnter Author's Name: ";
cin.getline(aname,50);
cout<<"\n\t\tEnter Publication Name: ";
cin.getline(pname,50);
cout<<"\n\t\tEnter Book's quantity: ";
cin>>quant;
}

void book::showb() //To display the details of books


{
cout<<"\n\t\tBook No.: "<<bno<<el;
cout<<"\n\t\tBook Name: "<<bname<<el;
cout<<"\n\t\tBook's Author Name: "<<aname<<el;
cout<<"\n\t\tBook's Publication: "<<pname<<el;
cout<<"\n\t\tBook's Quantity: "<<quant<<el;
}

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

void book::showlist() //To display book details in list form


{
cout<<"\n\t"<<bno<<"\t\t"<<bname<<"\t\t"<<aname<<"\t\t"<<quant;
}

/*Class of Students*/
class student
{
protected:
char name[25]; //Student name
int bno; //Book no. of book issued
int token; //To veirfy book issued or not
public:
void creates();
void shows();
void showlist();
void settoken(int x) //To set token and assign bno a book no
{
bno=x;
token=1;
}
void resettoken() //To reset token
{
bno=0;
token=0;
}
int retbno()
{
return bno;
}
int admno; //Admission No

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

};
/*End of class Students*/

bool res_student(int); //To check whether the admission no. already exist or not
void student::creates() //To enter values to all data members of class student
{
int i;
plane:
system("CLS");
cout<<"\n\t\tEnter the details:-\n";
cout<<"\n\t\tEnter student's Admission no: ";
cin>>admno;
if(res_student(admno))
{
cout<<"\n\t\tRecord already exist with this admission no.";
cout<<"\n\t\tEnter a different admission no.\n";
system("PAUSE");
goto plane;
}
cout<<"\n\t\tEnter student's Name: ";
char n[50];
cin.getline(n,50);
cin.getline(name,25);
for(i=0;name[i]!='\0';i++)
{
if(name[i]>='a'&&name[i]<='z')
name[i]-=32;
}
bno=0;
token=0;
}

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

void student::shows() //Show details of Students


{
cout<<"\n\t\tStudent's Admission No.: "<<admno<<el;
cout<<"\n\t\tStudent's Name: "<<name<<el;
if(token==1)
{
cout<<"\n\t\tBook Issued (Book no): "<<bno;
}
}

void student::showlist() // To display Student details in list form


{
cout<<"\n\t"<<admno<<"\t\t"<<name<<"\t\t"<<bno;
}

/*To Write object of class book in file*/


void write_book()
{
book bk;
ofstream outf("book1.bin",ios::app|ios::binary);
outf.seekp(0,ios::end);
int x=outf.tellp()/sizeof(book);
bk.assignbno(x);
bk.createb();
bk.showb();
outf.write(reinterpret_cast<char *>(&bk),sizeof(book));
cout<<"\n\t\tRecord added successfully";
outf.close();
}

/*To Write object of class student in file*/

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

void write_student()
{
student st;
ofstream outf("student.bin",ios::app|ios::binary);
outf.seekp(0,ios::end);
st.creates();
st.shows();
outf.write(reinterpret_cast<char *>(&st),sizeof(student));
cout<<"\n\t\tRecord added successfully";
outf.close();
}

/*To display Student records in list form*/


void list_student()
{
system("CLS");
student st;
ifstream intf("student.bin",ios::in|ios::binary);
intf.seekg(0,ios::beg);
if(!intf)
cout<<"\n\t\tFile not found";
else
{
cout<<"\n\t*****Students Details*****\n\n";
cout<<"\n\tAdmission No:\tName: \tBook Issued:";
while(intf.read(reinterpret_cast<char *>(&st),sizeof(student)))
st.showlist();
}
intf.close();
}

/*To display book records in list form*/

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

void list_book()
{
book bk;
ifstream intf("book1.bin",ios::in|ios::binary);
intf.seekg(0,ios::beg);
if(!intf)
cout<<"\n\t\tFile not found";
else
{
cout<<"\n\t*****Books Details*****\n\n";
cout<<"\n\tBook No:\t\tName: \t\tAuthor's Name: \t\tQuantity: ";
while(intf.read(reinterpret_cast<char *>(&bk),sizeof(book)))
bk.showlist();
}
intf.close();
}

/*To search for a specific student*/


void search_student(int x)
{
student st;
int cnt=0;
ifstream intf("student.bin",ios::in|ios::binary);
intf.seekg(0,ios::beg);
if(!intf)
cout<<"\n\t\tFile not found";
else
{
while(intf.read(reinterpret_cast<char *>(&st),sizeof(student)))
{
if(st.admno==x)
{

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

cnt++;
cout<<"\n\t\tFILE FOUND!!!!";
st.shows();
break;
}
}
if(cnt==0)
cout<<"\n\t\tNo such record exists";
}
intf.close();
}

/*To search for a specific book*/


void search_book(int x)
{
book bk;
int cnt=0;
ifstream intf("book1.bin",ios::in|ios::binary);
intf.seekg(0,ios::beg);
if(!intf)
cout<<"\n\t\tFile not found";
else
{
while(intf.read(reinterpret_cast<char *>(&bk),sizeof(book)))
{
if(bk.retbno()==x)
{
cnt++;
cout<<"\n\t\tFILE FOUND!!!!";
bk.showb();
break;
}

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

}
if(cnt==0)
cout<<"\n\t\tNo such record exists";
}
intf.close();
}

/*To modify the book records*/


void modify_book(int x)
{
book bk;
int cnt=0;
fstream intf("book1.bin",ios::in|ios::out|ios::ate|ios::binary);
intf.seekg(0,ios::beg);
if(!intf)
cout<<"\n\t\tFile not found";
else
{
while(intf.read(reinterpret_cast<char *>(&bk),sizeof(book)))
{
if(bk.retbno()==x)
{
cnt++;
bk.createb();
bk.showb();
intf.seekp(intf.tellp()-sizeof(book));
intf.write(reinterpret_cast<char *>(&bk),sizeof(book));
cout<<"\n\t\tRecord Updated";
break;
}
}
if(cnt==0)

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

cout<<"\n\t\tNo such record exists";


}
intf.close();
}

/*To modify the student records*/


void modify_student(int x)
{
student st;
int cnt=0;
fstream intf("student.bin",ios::in|ios::out|ios::ate|ios::binary);
intf.seekg(0,ios::beg);
if(!intf)
cout<<"\n\t\tFile not found";
else
{
while(intf.read(reinterpret_cast<char *>(&st),sizeof(student)))
{
if(st.admno==x)
{
cnt++;
st.creates();
st.shows();
intf.seekp(intf.tellp()-sizeof(student));
intf.write(reinterpret_cast<char *>(&st),sizeof(student));
cout<<"\n\t\tRecord Updated";
break;
}
}
if(cnt==0)
cout<<"\n\t\tNo such record exists";
}

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

intf.close();
}

/*To delete a specific student record*/


void delete_student(int x)
{
student st;
int cnt=0;
ifstream intf("student.bin",ios::in|ios::binary);
intf.seekg(0,ios::beg);
if(!intf)
cout<<"\n\t\tFile not found";
else
{
ofstream outf("temp.bin",ios::app|ios::binary);
while(intf.read(reinterpret_cast<char *>(&st),sizeof(student)))
{
if(st.admno==x)
cnt++;
else
outf.write(reinterpret_cast<char *>(&st),sizeof(student));
}
intf.close();
outf.close();
if(cnt==0)
{
remove("temp.bin");
cout<<"\n\t\tNo such record exists";
}
else
{
remove("student.bin");

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

rename("temp.bin","student.bin");
cout<<"\n\t\tRecord deleted successfully";
}
}
}

/*To delete a specific book record*/


void delete_book(int x)
{
book bk;
int cnt=0;
ifstream intf("book1.bin",ios::in|ios::binary);
intf.seekg(0,ios::beg);
if(!intf)
cout<<"\n\t\tFile not found";
else
{
ofstream outf("temp1.bin",ios::app|ios::binary);
while(intf.read(reinterpret_cast<char *>(&bk),sizeof(book)))
{
if(bk.retbno()==x)
cnt++;
else
outf.write(reinterpret_cast<char *>(&bk),sizeof(book));
}
intf.close();
outf.close();
if(cnt==0)
{
remove("temp1.bin");
cout<<"\n\t\tNo such record exists";
}
else

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

{
remove("book.bin");
rename("temp1.bin","book.bin");
cout<<"\n\t\tRecord deleted successfully";
}
}
}

//To search whether a specific student record exists or not


bool res_student(int x)
{
student st;
int cnt=0,f=0;
ifstream intf("student.bin",ios::in|ios::binary);
intf.seekg(0,ios::beg);
if(!intf)
f=1;
else
{
while(intf.read(reinterpret_cast<char *>(&st),sizeof(student)))
{
if(st.admno==x)
{
cnt++;
break;
}
}
if(cnt==0)
f=1;
}
intf.close();
if(f)
return 0;

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

else
return 1;
}

/*To search a specific book and return true or false*/


int res_book(int x,int z)
{
book bk;
int cnt=0,f=1;
fstream intf("book1.bin",ios::in|ios::out|ios::ate|ios::binary);
intf.seekg(0,ios::beg);
if(!intf)
f=0;
else
{
while(intf.read(reinterpret_cast<char *>(&bk),sizeof(book)))
{
if(bk.retbno()==x)
{
cnt++;
if(z==1)
{
bk.showb();
if(bk.quantity()>0)
{
bk.set_q();
intf.seekp(intf.tellp()-sizeof(book));
intf.write(reinterpret_cast<char *>(&bk),sizeof(book));
}
else
f=2;
}

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

else if(z==2)
{
bk.showb();
bk.reset_q();
intf.seekp(intf.tellp()-sizeof(book));
intf.write(reinterpret_cast<char *>(&bk),sizeof(book));
}
break;
}
}
if(cnt==0)
f=0;
}
intf.close();
return f;
}

/*To issue books*/


void book_issue()
{
int sn,bn;
system("CLS");
cout<<"\n\n\t\t*****BOOK ISSUE******";
cout<<"\n\n\t\tEnter the student's admission no: ";
cin>>sn;
int cnt=0;
student st;
fstream outf("student.bin",ios::in|ios::out|ios::ate|ios::binary);
outf.seekg(0,ios::beg);
if(!outf)
cout<<"\n\t\tFile not found\n";
else

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

{
while(outf.read(reinterpret_cast<char *>(&st),sizeof(student)))
{
if(st.admno==sn)
{
cnt++;
list_book();
cout<<"\n\n\t\tEnter the book no.:";
cin>>bn;
cout<<"\n";
int flag=res_book(bn,1);
if(flag==1)
{
st.settoken(bn);
outf.seekp(outf.tellp()-sizeof(student));
outf.write(reinterpret_cast<char *>(&st),sizeof(student));
cout<<"\n\t\tBook Issued";
cout<<"\n\t\tNote: Write the current date in backside of the book";
cout<<"\n\t\t Should be submitted within 15 days to avoid fine";
cout<<"\n\t\t The fine is Rs. 1 for each day after 15 days period\n";
break;
}
else if(flag==2)
{
cout<<"\n\t\tTHE BOOK IS OUT OF STOCK!!!";
break;
}
else
{
cout<<"\n\t\tNo such record exists\n";
break;
}
}

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

}
if(cnt==0)
cout<<"\n\t\tNo such record exists\n";
}
outf.close();
}

/*To deposit books*/


void book_deposit()
{
int sn,bn;
system("CLS");
cout<<"\n\n\t\t*****BOOK DEPOSIT******";
cout<<"\n\n\t\tEnter the student's admission no: ";
cin>>sn;
int cnt=0;
student st;
fstream outf("student.bin",ios::in|ios::out|ios::ate|ios::binary);
outf.seekg(0,ios::beg);
if(!outf)
cout<<"\n\t\tFile not found\n";
else
{
while(outf.read(reinterpret_cast<char *>(&st),sizeof(student)))
{
if(st.admno==sn)
{
cnt++;
bn=st.retbno();
bool flag=res_book(bn,2);
if(flag)
{

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

st.resettoken();
outf.seekp(outf.tellp()-sizeof(student));
outf.write(reinterpret_cast<char *>(&st),sizeof(student));
int days;
cout<<"\n\t\tBook deposited in no. of days:";
cin>>days;
if(days>15)
{
int fine=(days-15)*1;
cout<<"\n\n\t\tFine: "<<fine<<el;
}
cout<<"\n\t\tBook Deposited Successfully\n";
break;
}
else
{
cout<<"\n\t\tNo such record exists\n";
break;
}
}
}
if(cnt==0)
cout<<"\n\t\tNo such record exists\n";
}
outf.close();
}

/*Function that has features of Admin Menu*/


void admin_menu()
{
fine:
system("PAUSE");
system("CLS");

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

int opt;
cout<<"\n\n\n\t\t\t******ADMINISTRATOR MENU******";
cout<<"\n\n\t1.\tCREATE STUDENT RECORD";
cout<<"\n\n\t2.\tDISPLAY ALL STUDENTS RECORD";
cout<<"\n\n\t3.\tDISPLAY SPECIFIC STUDENT RECORD ";
cout<<"\n\n\t4.\tMODIFY STUDENT RECORD";
cout<<"\n\n\t5.\tDELETE STUDENT RECORD";
cout<<"\n\n\t6.\tCREATE BOOK ";
cout<<"\n\n\t7.\tDISPLAY ALL BOOKS ";
cout<<"\n\n\t8.\tDISPLAY SPECIFIC BOOK ";
cout<<"\n\n\t9.\tMODIFY BOOK ";
cout<<"\n\n\t10.\tDELETE BOOK ";
cout<<"\n\n\t11.\tBACK TO MAIN MENU";
cout<<"\n\n\tPlease Enter Your Choice (1-11) ";
cin>>opt;
if(opt==1)
{
system("CLS");
write_student();
cout<<el;
goto fine;
}
else if(opt==2)
{
system("CLS");
list_student();
cout<<el;
goto fine;
}
else if(opt==3)
{
system("CLS");
int ad;

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

cout<<"\n\n\n\t\tEnter the admission no. of the student";


cin>>ad;
search_student(ad);
cout<<el;
goto fine;
}
else if(opt==4)
{
system("CLS");
int ad;
cout<<"\n\n\n\t\tEnter the admission no. of the student";
cin>>ad;
modify_student(ad);
cout<<el;
goto fine;
}
else if(opt==5)
{
system("CLS");
int ad;
cout<<"\n\n\n\t\tEnter the admission no. of the student";
cin>>ad;
delete_student(ad);
cout<<el;
goto fine;
}
else if(opt==6)
{
system("CLS");
write_book();
cout<<el;
goto fine;
}

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

else if(opt==7)
{
system("CLS");
list_book();
cout<<el;
goto fine;
}
else if(opt==8)
{
system("CLS");
int ad;
cout<<"\n\n\n\t\tEnter the book no. of the book";
cin>>ad;
search_book(ad);
cout<<el;
goto fine;
}
else if(opt==9)
{
system("CLS");
int ad;
cout<<"\n\n\n\t\tEnter the book no. of the book";
cin>>ad;
modify_book(ad);
cout<<el;
goto fine;
}
else if(opt==10)
{
system("CLS");
int ad;
cout<<"\n\n\n\t\tEnter the book no. of the book";
cin>>ad;

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

delete_book(ad);
cout<<el;
goto fine;
}
else if(opt==11)
return ;
else
{
cout<<"\n\t\tEnter correct option";
cout<<el;
goto fine;
}
}

/*Checks for correct password*/


//The password if predefined and has to be changed through the source code
//of application
bool passwords()
{
int i=0;
char ch,st[21],ch1[21]={"PROJ3"};
cout<<"\n\n\t\tEnter Password : ";
while(1)
{
ch=getch();
if(ch==13)
{
st[i]='\0';
break;
}
else if(ch==8&&i>0)
{
i--;

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

cout<<"\b \b";
}
else
{
cout<<"*";
st[i]=ch;
i++;
}
}
for(i=0;st[i]==ch1[i]&&st[i]!='\0'&&ch1[i]!='\0';i++);
if(st[i]=='\0'&&ch1[i]=='\0')
return 1;
else
return 0;
}

//Main function
int main()
{
cout<<"\n\n\t\t\t*******************************************";
cout<<"\n\t\t\t------------------------------------------";
cout<<"\n\t\t\t\tLIBRARY MANAGEMENT SYSTEM";
cout<<"\n\t\t\t------------------------------------------";
cout<<"\n\t\t\t*******************************************";
bool a=passwords();
if(!a)
{
for(int i=0;i<2;i++)
{
cout<<"\nWrong password";
cout<<"\nYou have "<<2-i<<"attempts left";
if(passwords())
goto last;

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

if(i==1)
{
cout<<"\n\n\n\t\t\t All attempts failed........";
cout<<"\n\n\t\t\t Sorry, but you can't login";
exit(0);
}
}
}
last:
cout<<"\n\n";
start:
system("PAUSE");
system("CLS");
int opt;
cout<<"\n\n\t\t\t------------------------------------------";
cout<<"\n\t\t\t\tLIBRARY MANAGEMENT SYSTEM";
cout<<"\n\t\t\t------------------------------------------";
cout<<"\n\n\t\t\tWhat do you want to do?";
cout<<"\n\t\t\t1.\tBOOK ISSUE";
cout<<"\n\t\t\t2.\tBOOK DEPOSIT";
cout<<"\n\t\t\t3.\tADMINISTRATOR MENU";
cout<<"\n\t\t\t4.\tExit";
cout<<"\n\n Choose your option: ";
cin>>opt;
if(opt==1)
{
system("CLS");
book_issue();
goto start;
}
else if(opt==2)
{
system("CLS");

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

book_deposit();
goto start;
}
else if(opt==3)
{
admin_menu();
goto start;
}
else if(opt==4)
exit(0);
else
{
cout<<"\n\t\tEnter correct option";
goto start;
}
}

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

CHAPTER 6: TESTING
“... we have as many testers as we have developers. And testers spend all their time
testing, and developers spend half their time testing. We're more of a testing, a quality
software organization than we're a software organization.” – Bill Gates
(Information Week 2002)

6.1 Introduction
Testing is the process of exercising software with the intent of finding and correcting
errors. The objective of the testing is to uncover different classes of errors and to do so
with a minimum amount of time and effort. In order to provide highly acceptable and error
free system, the system should have to face the testing procedure and evaluation of each
and every module and functionality. (Mustafa & Khan, 2007)

6.2 Need of Testing


The significance of the testing phase is done to verify and validate the completed system.
So that it will be executed and presented the way it was expected and all the functionalities
function as were defined in the project specification form. The testing does not require that
the developer has to test each and every section of code to verify the bugs and recover
from the errors and bugs that are present in it but its objective is to uncover the situations
that could impact the system or the project or can lead in making the project unsuccessful.
Thus, testing is done to enhance the quality of the system produced so that it is acceptable
by the intended user with satisfaction. The highlights of this chapter include:

 The different types of testing done.


 The duration taken to test.
 The person(s) involved.
 The reported errors.
 The measures taken.

6.3 Test Plan


Software development processes typically focus on avoiding errors, detecting and
correcting the software faults that do occur and predicting reliability after development.
The test process, techniques and tools are significant contributors to effective and efficient
Group 10 Panipat Institute of Engineering and Technology
Quick Response Library Management System

testing and quality assurance. (Mustafa & Khan, 2007).Various testing techniques to be
implemented for proposed system are given in the next section.

6.3.1 Type of Testing

Unit Testing (Black Box & White Box Testing)

Integration Testing

System Testing

Compatibility Testing
Testing
User Acceptance Testing

Usability Testing

GUI Testing

Documentation Testing

Table 59: Type of Testing

Testing
S. No Requirement
Technique
Testing of individual software component or modules of the
system. This type of testing is performed by the developers
1. Unit Testing only because it requires detailed knowledge of the internal
program design and code. It includes performing black box
and white box testing.
Testing of integration modules to verify combined
Integration functionality after integration. Various modules are integrated
2.
Testing together and then tested by the developer of the system to
check whether the modules work properly after integration.
3. System Testing Entire system is tested by the developer as per the
requirements. All the modules of the system are combined and

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

check whether they work perfectly after being integrated into


one system as a whole.
Compatibility testing is used to determine if the system causes
any issues related to how it function in concern with the
Compatibility operating system and different type of system hardware and
4.
Testing software. The developer performs this type of testing on
various hardware/ software platform to test the compatibility
of the system on each platform.
The testing is to be done to verify the design of the system
5. GUI Testing whether it satisfies the six predefined HCIU design principle
and whether the system is user friendly.
The purpose of doing a usability test is to determine whether a
product or document works with its intended users or readers.
Usability This is to be done by evaluating a product through observing
6.
Testing the real people actually working on or using it so as to improve
or enhance the system. The end- users execute the system to
test it
User Acceptance Testing tests that the system satisfies all the
essential user requirements and is performing to the acceptable
User Acceptance
7. level as expected by the customer. This is done by defining a
Testing
set of acceptance criteria which the system must satisfy before
the customer will accept it.
Documentation Testing is to be done to verify the system
Documentation
8. documentation whether it is meaningful and user friendly or
Testing
not.
Table 60: Testing Description

6.3.2 Pass/Fail Criteria


 The produced system meets all the specifications mentioned in the project
specification form and all the requirements of the user gathered during the
research phase.
 All the modules/ functionalities are implemented in a way that the desired
system produced runs without any bugs and quickly.

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 System is to be verified for the usability that depends upon proven Human-
Computer Interaction (HCI) principles and aims to achieve in the application
ease of use, Navigation, time for completion and errors removal.

6.4 Point of Contact of Troubleshooting Purpose


Name : Kriti, Yash Garg
Designation : Software Developer
Contact No. : +91-9468211202,9811965101
Email ID : [email protected], [email protected]
Table 61: Point of Contact for Troubleshooting Purpose

6.5 Criteria of Test Cases

The system must comply with the success criteria mentioned in the specification. Some of
the requirements are:

 Book Issue Module should work efficiently.


 Book Return Module should work efficiently.
 All Options in Administrator Menu should work efficiently.
 Synchronization must work efficiently.
 System should satisfy all user requirements.
 UI should have a consistent layout and must follow the HCIU principle.
 The system should be easy to use.

6.6 Technical requirements for Testing


S. No. Technical Requirements
1. Operating system – Windows 7 or later
2. Desktop Computer with all MinGW installed
3. CPU: 600 MHZ
4. RAM: 50 MB (estimated)
5. Disk space: 10 MB (estimated)
6. A good data/internet connection for customers
Table 62: Technical requirements for Testing

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

6.7 Users Involved in Testing


The developer will play the role of tester.

6.8 Unit Testing


In order to test each small part of the developed system individual test cases were
developed. Unit testing was very helpful as it helped the developer to test individual units
of source code. This is performed before any other testing because it is easy to find out
bugs at lower level that is at module level than to find them at integration or system level.
It is performed at two levels; black box test cases are made and then white box testing is
done. Two levels of unit testing were basically conducted, namely black box (also called
functional testing) and white box (also called logical testing).
6.8.1 Black box testing (Functional Testing)

Figure 1: Black Box

(www.softwareTestingSoftware.com 2017)

Black Box Testing, also known as Functional Testing, is a software testing technique that
exposes only the functionalities and the design of the system; hiding the internal
implementation/ structure of the system. The internal code or the structure is not known to
the user who is going to use the system.

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

6.8.2 White Box Testing (Conceptual Testing)


White Box Testing also known Code-Based Testing or Logical Testing is a software testing
technique that exposes the internal implementation or the internal structure of the system
or the code. The testing is to be performed by someone who is a hard coder or the
programmer. It is something ahead of the user interface as it has nothing to do with the
external structure or the interface but is concerned about the internal design/ structure or
the implementation. The testing is employed to thus test the internal workings of the
proposed system or the application.

6.9 Integration Testing


Integration Testing is a testing technique that combines the individual units or the modules
of the system and integrated them together to be tested whether the modules work properly
as expected after integration or produce any bugs. The purpose of this testing to achieve
the following:

 Each module should integrate with each other without any data loss.
 Each module should be independent of each other while running.
 To conduct incremental testing starting from lower level in the unit testing.
6.9.1 Technique used for Integration Testing
Bottom-up integration testing is used which make sure that the module at the lowest level
are developed first and other modules which go towards the 'main' program are integrated
and tested one at a time.

Figure 2: Integration Testing Technique

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

6.10 System Testing


System Testing is a testing technique that tests or verifies whether the system performs
well and executed fine at a level when all the modules are integrated into one system as a
whole. The testing also includes mapping of the requirements specified with the output of
the system or the application produced.

6.10.1 Justification for System Testing


This type of testing is done for the proposed system to ensure that the system as a whole
works appropriately as per the requirements and does not produce any errors or bugs after
all the modules are integrated together and tested. After all the modules of the system, for
example view profile module, book ticket module have been implemented and tested
individually, one module is integrated with the other module and tested for integration,
then all the modules are done with integration testing individually, system testing is
conducted to test the system as a whole.

6.11 Compatibility Testing


Compatibility testing is a type of non-functional testing that is performed to test the
compatibility of the system produced with the hardware or the software platforms. The
testing ensures that the completed application or the system works perfectly fine when
tested on different platforms considering operating system and software and hardware
tools. The purpose of this testing is to find out whether the proposed system executes in a
particular environment consisting of hardware, software, network, operating system etc.

6.12 GUI Testing


Graphical User Interface (GUI) testing is the process of testing the system's GUI of the
System. It involves testing the screens with GUI controls such as menus, buttons, icons,
and all types of bars - tool bar, menu bar, dialog boxes and windows etc.

The system is test for GUI based upon six design principles:

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

Visibility
Feedback

Design Affordances
Principles Consistency
Mapping
Constraints

Figure 3: Design Principles to Test the GUI of the App

6.13 Usability Testing and its Justification


The usability testing is performed to check with how much ease and comfortable the
interface of the system can be used and how much the system is user friendly to be used. It
checks how much the system is usable or easy to use for different category of users. Thus,
it is done from the user’s point of view. Usability Testing hence ensures that the users of
the system can execute the system’s functionalities easily, efficiently and effectively.
Usability Testing is conducted by the end users to measure the system on five components;
learnability, efficiency, memorability, errors and user satisfaction.

 Learnability: It measures how easy it is for end user to accomplish the system’s
functionalities or how much the system’s interface is easy to execute. For example,
proposed system has a user-friendly interface consisting of forms, buttons and other
interactive GUI controls that makes it easy to learn. Also hints in the edit texts have
been given for making it easier to use the system.
 Efficiency: It measures how fast system’s functionalities and tasks can be executed.
For example, the system is quite fast, directs the user from one activity to other
efficiently.
 Memorability: It measures how much the end user is able to memorize the system
and its functionalities when he/she accesses the system after a long period of time.
For example, the interactive interface and easy of using it makes it easy for the user
to memorize the functions of the system. Metaphors have been used to enhance the
memorability feature of the system.

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

 Errors: It measures how effectively the system can recover from errors. The
proposed system proposed system is not prone to errors; toast message is provided
wherever any error or exception is expected.
 User Satisfaction: It measures how much the user likes the system or satisfied with
the system. For example, achievement of the above-mentioned components
contributes towards user satisfaction, achieving learnability, memorability,
efficiency and removing errors achieve user satisfaction.

6.14 User Acceptance Testing (UAT)


User Acceptance Testing is a software testing technique performed by keeping in mind the
view of the end-user towards the proposed system or the application where the developer
has to test the system to make sure that it satisfies the end user and is acceptable by the
end-user.

6.14.1 Justification for User Acceptance Testing


The objective of UAT is to verify and map the requirements proposed in the project
specification form with the completed project’s features to make sure that it is easily
acceptable by the end-user.

User Acceptance Test It is performed when the developer has conducted various other
testing such as Unit Testing, Integration Testing, System Testing, Compatibility Testing etc.
The User acceptance test is conducted at the end to enquire whether the developer has
achieved the user satisfaction. Few individuals were selected as the end-users (testers) for
the system and their opinions were collected as the result for User Acceptance Test.

6.15 Documentation testing


This testing is done to check the accuracy and completeness of document. All important
criteria must be satisfied and a well-presented document should be published so that it
meets the entire standard required by the project manager. The completeness of
Documentation was verified with the Final Year Project documentation specification
provided by the project manager.MS Word spell check also helped to correct spellings as
well as write grammar.

6.16 Conclusion
Testing allows developers to deliver software that meets expectations, prevents unexpected
results, and improves the long-term maintenance of the application. Early testing is of vital

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

importance if developer is trying to reduce costs, time loss and rework, and trying to
increase quality. Software Testing has helped the developer to find out the bug or errors in
the system ensure the productivity and quality of the system, examine and execute code in
various environments on various platforms.

Depending upon the purpose of testing and the software requirements, the appropriate
methodologies are applied such as bottom-up methodology for integration testing. Various
techniques of testing have been used at different levels to test the system functionally as
well as logically. To test the system functionally, black box testing was conducted and to
test the system logically, white box testing was conducted.

Unit testing is the first phase in testing that tests the individual module of the system, both
functionally as well as logically. Test Cases have been produced to test the functionality of
the modules as well as the code flow of the modules to test the bugs and errors if occurred
and take further actions to remove them.

Integration testing, a logical extension of unit testing, is conducted when individual


modules have been tested and are to be integrated further so as to test them whether they
produce any issues or errors after integration. It is easy to perform integration testing after
unit testing has been conducted because it is useful in identifying problems when units
were combined. By using a test plan that required the developer to test each unit and
ensure the viability of each before combining units, the developer knows that any errors
discovered when combining units are likely related to the interface between units.

After integration testing, system testing was conducted to discover the problems
encountered when all the units or modules were combined together to a system as a whole
and corresponding test case has been produced and documented. Compatibility test was
conducted for the system to check whether the system developed built is compatible in an
environment that consists of hardware, network, software, database, operating system or
some other software/ hardware or some tool.

GUI Testing was performed to verify the design of the system; how much it is user friendly
and whether it satisfies the six HCIU design principles.

Usability and User Acceptance Testing were performed at the end by the end-users of the
system to obtain their views for the system, how much the system is usable and if the
system is such that it provides complete user satisfaction. System was found to be usable;

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

as it achieved learnability, efficiency, memorability, free from errors and user satisfactory.
User satisfaction was achieved making sure that the system is now ready to be deployed.

Documentation Testing was performed finally to ensure the system is well documented
with proper level of English.

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

CHAPTER 7: CONCLUSION
7.1 Success Criteria

The proposed system named “Quick Response Library Management System” has proved
to be significantly useful for the end-user as it meets all the requirement of the user as well
as fulfils the entire criterion that judge the quality and success of the system. The success
for the proposed system is achieved as it has met the success criteria and established what
it was supposed to. The system has resolved the issues that were discussed in the chapter 2
regarding the problems raised and the solutions provided. The proposed system after
evaluation has been found to successfully guarantee the booking and checking at the real-
time environment to the end- user and hence has solved the problem what was expected.

7.2 Limitations of the Developed System

 The project is strictly desktop based and all the features are for desktop-based
system only
 A user must login into the system for accessing all the features.

7.3 Future Enhancement


 The system can be improved in future by implementing personalization features
to allow users to personalize the app as per their requirements.
 The app can be implemented to provide the users with multi-language support.
 The app can be enhanced in future by integrating UPI system to the Library
Management System for online payment of fines or late fees.
 The app can be enhanced to have a facility to see book’s issuing and return
history after selecting the particular date from calendar.
 The application will be turned into a hybrid application, so it runs on local
system, and cloud server
7.4 Conclusion

 The documentation presents the proposed system’s report, how the system went
through various phases during its development. The developer started with the
background study of the system where he has inferred out the problems faced
by a user in today’s environment in context of library management. The

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

background study phase is followed by the literature review which is a kind of


research to gather knowledge in the current area of study to develop a
successful system.
 The developer has conducted both primary and secondary research. It is
concluded that to gather the desired information about the proposed system, the
developer had to go through various steps. Questionnaire and Interviews are the
data gathering techniques that have been used to identify the need of the target
people, the employees within an organization. Questionnaires have got filled by
the staffs/ employees while interviews have been conducted by the
administrators and the highly-authorized persons.
 The analysis of the questionnaire and interviews and focus groups have helped
the developer to have a complete knowledge and understanding of the security
measures of an organization as the users were taken from different industrial
sectors. Also, the technical knowledge has been gained by taking the interview
from the software developers and software designers. Their opinions have been
evaluated to get an in-depth knowledge of the technologies and the databases on
the basis of which the developer has decided to use C++ and C++ File
Management System as databases. In this way, the research part for the
proposed project has been completed.
 The developer then continues with the system design part in which the system
design is prepared that includes the logical and physical designs of the system
that further categorizes to UML diagrams, Physical designs of the system, entity
relationship diagram etc.
 Then comes the implementation phase that covers the implementation approach
to be followed by the developer to implement various modules of the system
starting with a module that has lower priority and moving towards the higher
priority modules. Other than that, a user manual as well as technical manual is
provided that guides the user about the flow of the system and how to use the
system and installation instruction respectively.
Then various types of testing have been conducted to test the system and its various
modules by conducting unit test, integration test, system test and many more.
At last, the final project is critically evaluated to come to a conclusion, how the system can
benefit its end-users and how much the project is successful from the user’s point of view.

Group 10 Panipat Institute of Engineering and Technology


Quick Response Library Management System

CHAPTER 8: REFERENCES
8.1 Books
 "C++ Primer" by Stanley B. Lippman, Josée Lajoie, and Barbara E. Moo

 Data Structures and Algorithms in C++" by Adam Drozdek


 "The C++ Programming Language" by Bjarne Stroustrup
 "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich
Gamma, Richard Helm, Ralph Johnson, and John Vlissides
 "Code Complete: A Practical Handbook of Software Construction" by Steve
McConnell
 "The Pragmatic Programmer: Your Journey to Mastery" by Andrew Hunt and
David Thomas

Group 10 Panipat Institute of Engineering and Technology

You might also like