Proj Iii
Proj Iii
on
Quick Response Library Management System
Bachelor of Technology
in
Computer Science & Engineering
Submitted By
Kriti
2821912
Yash Garg
2820130
Under the Supervision of
Dr. Amit Batra
Assistant Professor
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
Date
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.
HOD (CSE)
PIET, Samalkha
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
Date :
Signature:
Date :
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.
LIST OF TABLES
Table No. Table Description Page No.
1. Core Features 6
2. Enhanced Features 6
4. Hardware Resources 12
5. Software Resources 13
LIST OF FIGURES
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
CHAPTER 1: INTRODUCTION
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
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:
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.
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
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.
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:
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.
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
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++
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
Hardware Resources
Software Resources
Resources of Execution
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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)
UC-01
UC-03
UC-04
UC-05
UC-06
UC-07
Administrator Menu
System displays all Student records
UC-08
UC-09
Modify
Specific
Records
UC-10
UC-11
UC-12
UC-13
UC-14
UC-15
Global
CD-01
Book
CD-02
Student
CD-03
Login to System
SQ-01
SQ-02
SQ-03
Book Return
SQ-04
Create Student
SQ-06
SQ-08
SQ-09
SQ-09
SQ-11
SQ-12
Modify Books
SQ-13
Delete Books
SQ-14
4.3
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.
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
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.
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
#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:
};
/*End of class book*/
/*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
};
/*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;
}
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();
}
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();
}
cnt++;
cout<<"\n\t\tFILE FOUND!!!!";
st.shows();
break;
}
}
if(cnt==0)
cout<<"\n\t\tNo such record exists";
}
intf.close();
}
}
if(cnt==0)
cout<<"\n\t\tNo such record exists";
}
intf.close();
}
intf.close();
}
rename("temp.bin","student.bin");
cout<<"\n\t\tRecord deleted successfully";
}
}
}
{
remove("book.bin");
rename("temp1.bin","book.bin");
cout<<"\n\t\tRecord deleted successfully";
}
}
}
else
return 1;
}
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;
}
{
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;
}
}
}
if(cnt==0)
cout<<"\n\t\tNo such record exists\n";
}
outf.close();
}
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();
}
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;
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;
delete_book(ad);
cout<<el;
goto fine;
}
else if(opt==11)
return ;
else
{
cout<<"\n\t\tEnter correct option";
cout<<el;
goto fine;
}
}
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;
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");
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;
}
}
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)
testing and quality assurance. (Mustafa & Khan, 2007).Various testing techniques to be
implemented for proposed system are given in the next section.
Integration Testing
System Testing
Compatibility Testing
Testing
User Acceptance Testing
Usability Testing
GUI Testing
Documentation 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
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.
The system must comply with the success criteria mentioned in the specification. Some of
the requirements are:
(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.
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.
The system is test for GUI based upon six design principles:
Visibility
Feedback
Design Affordances
Principles Consistency
Mapping
Constraints
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.
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.
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.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
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.
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;
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.
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.
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.
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
CHAPTER 8: REFERENCES
8.1 Books
"C++ Primer" by Stanley B. Lippman, Josée Lajoie, and Barbara E. Moo