Library Management System
CONTENTS
ACKNOWLEDGEMENT 3
ABSTRACT 4
1. INTRODUCTION 5-6
1.1 INTRODUCTION 5
1.2 PROJECT AIMS AND OBJECTIVES 5
1.3 PROJECT BACKGROUND 5
1.4 OPERATION ENVIRONMENT 6
2. SYSTEM ANALYSIS 7-14
2.1 SOFTWARE REQUIREMENT SPECIFICATION 7
2.2 EXISTING & PROPOSED 11
2.3 SOFTWARE TOOL USED 11
3. SYSTEM DESIGN 15-20
3.1 TABLE DESIGN 15
3.2 DATA FLOW DIAGRAMS 17
4. SYSTEM IMPLEMENTATION 21-25
4.1 MODULE DESCRIPTION 21
5. SYSTEM TESTING 26-27
5.1 UNIT TESTING 26
5.2 INTEGRATION TESTING 27
6. CONCLUSION 28
7. REFERENCES 29
ACKNOWLEDGEMENT
We offer gratitude to project supervisor Prof. Wan Fang (Professor of Software
Engineering, HBUT) for guiding us throughout the project, the effort and giving
us lectures and explaining the project and helping when we were stops in the
middle during the development phase. We couldn’t have built such a
challenging project without his help.
ABSTRACT
Library management system is a project which aims in developing a
computerized system to maintain all the daily work of library .This project has
many features which are generally not available in normal library management
systems like facility of user login and a facility of teachers login .It also has a
facility of admin login through which the admin can monitor the whole
system .It also has facility of an online notice board where teachers can student
can put up information about workshops or seminars being held in our colleges
or nearby colleges and librarian after proper verification from the concerned
institution organizing the seminar can add it to the notice board . It has also a
facility where student after logging in their accounts can see list of books issued
and its issue date and return date and also the students can request the librarian
to add new books by filling the book request form. The librarian after logging
into his account i.e. admin account can generate various reports such as student
report, issue report, teacher report and book report.
Overall this project of ours is being developed to help the students as well as
staff of library to maintain the library in the best way possible and also reduce
the human efforts.
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION
Online libraries became essential source for both faculty and research members
in order to obtain knowledge about different fields of sciences. Students all over
the world are using for their researches the materials available on online
libraries so that they can accomplish their tasks and day-to-day researches.
An e-library database is used to store information according to its users. The
documents stored in those database locations are called media where they are
books and journals.
The e-library must keep track of the status of each media item: its location,
status, descriptive attributes, and cost for losses and late returns. Books will be
identified by their ID. In order to allow multiple copies of the same book or
journal, each media item will have a unique ID number.
1.2 PROJECT AIMS AND OBJECTIVES
The project aims and objectives that will be achieved after completion of this
project are discussed in this subchapter. The aims and objectives are as follows:
Online book reading.
A search column to search availability of books.
Facility to download required book.
Video tutorial for students.
An Admin login page where admin can add books, videos or page
sources
Open link for Learning Websites
1.3 PROJECT BACKGROUND
Library Management System is an application which refers to library systems
which are generally small or medium in size. It is used by librarian to manage
the library using a computerized system where he/she can add new books,
videos and Page sources.
Books and student maintenance modules are also included in this system which
would keep track of the students using the library and also a detailed description
about the books a library contains. With this computerized system there will be
no loss of book record or member record which generally happens when a non-
computerized system is used.
All these modules are able to help librarian to manage the library with more
convenience and in a more efficient way as compared to library systems which
are not computerized.
1.4 OPERATION ENVIRONMENT
INTEL CORE PROCESSOR OR BETTER
PROCESSOR PERFORMANCE
OPERATING SYSTEM WINDOWS 10, LINUX OR OTHERS
OPERATING SYSTEM
MEMORY 2GB RAM OR MORE
HARD DISK SPACE MINIMUM 5 GB FOR DATABASE USAGE
FOR FUTURE
DATABASE MYSQL
CHAPTER 2 SYSTEM ANALYSIS
In this chapter, we will discuss and analyze about the developing process of
Library Management System including software requirement specification
(SRS) and comparison between existing and proposed system. The functional
and non-functional requirements are included in SRS part to provide complete
description and overview of system requirement before the developing process
is carried out. Besides that, existing vs proposed provides a view of how the
proposed system will be more efficient than the existing one.
2.1 SOFTWARE REQUIREMENT SPECIFICATION
2.1.1 GENERAL DESCRIPTION
PRODUCT DESCRIPTION:
Library Management System is a computerized system which helps user
(librarian) to manage the library daily activity in electronic format. It reduces
the risk of paper work such as file lost, file damaged and time consuming. It can
help user to manage the transaction or record more effectively and timesaving.
PROBLEM STATEMENT:
The problem occurred before having computerized system includes:
File Lost: When computerized system is not implemented file is always
lost because of human environment. Sometimes due to some human error
there may be a loss of records.
File damaged: When a computerized system is not there file is always
lost due to some accident like spilling of water by some member on file
accidentally. Besides some natural disaster like floods or fires may also
damage the files.
Difficult to search record: When there is no computerized system there
is always a difficulty in searching of records if the records are large in
number.
Space consuming: After the number of records become large the space
for physical storage of file and records also increases if no computerized
system is implemented.
Cost consuming: As there is no computerized system to add each record
paper will be needed which will increase the cost for the management of
library.
2.1.2 SYSTEM OBJECTIVES
Improvement in control and performance: The system is developed to
cope up with the current issues and problems of library. The system can
add user, validate user and is also bug free.
Save cost: After computerized system is implemented less human force
will be required to maintain the library thus reducing the overall cost.
Save time: Librarian is able to search record by using few clicks of
mouse and few search keywords thus saving his valuable time.
Option of online Notice board: Librarian will be able to provide a
detailed description of workshops going in the college as well as in
nearby colleges.
Lecture Notes: Teacher have a facility to upload lectures notes in a pdf
file having size not more than 10mb.
2.1.3 SYSTEM REQUIREMENTS
2.1.3.1 NON FUNCTIONAL REQUIREMENTS
PRODUCT REQUIREMENT
Efficiency Requirement: When a library management system will be
implemented librarian and user will easily access library as searching and
book transaction will be very faster.
Reliability Requirement: The system should accurately performs
member registration, member validation, report generation, book
transaction and search
Usability Requirement: The system is designed for a user friendly
environment so that student and staff of library can perform the various
tasks easily and in an effective way.
ORGANIZATIONAL REQUIREMENT
Implementation Requirements: In implementing whole system it uses
html in front end with PHP as server side scripting language which will
be used for database connectivity and the backend i.e. the database part is
developed using MySQL.
Delivery Requirements: The whole system is expected to be delivered in
six months of time with a weekly evaluation by the project guide.
2.1.3.2 FUNCTIONAL REQUIREMENTS
USER LOGIN
Description of feature
This feature used by the user to login into system. They are required to enter
user id and password before they are allowed to enter the system .The user id
and password will be verified and if invalid id is there user is allowed to not
enter the system.
Functional requirements
-user id is provided when they register.
-The system must only allow user with valid id and password to enter the
system.
-The system performs authorization process which decides what user level can
access to.
-The user must be able to logout after they finished using system.
REGISTER NEW USER
Description of feature
This feature can be performed by all users to register new user to create
account.
Functional requirements
-System must be able to verify information.
-System must be able to delete information if information is wrong.
REGISTER NEW BOOK
Description of feature
This feature allows to add new books to the library.
Functional requirements
-System must be able to verify information.
-System must be able to enter number of copies into table.
- System must be able to not allow two books having same book id.
SEARCH BOOK
Description of feature
This feature is found in book maintenance part. We can search book based on
book id, book name, publications by author name.
Functional requirements
- System must be able to search the database based on select search type.
- System must be able to filter book based on keyword enter.
- System must be able to show the filtered book in table view.
2.1.4 SOFTWARE AND HARDWARE REQUIREMENTS
This section describes the software and hardware requirements of the system
2.1.4.1 SOFTWARE REQUIREMENTS
Operating system- Windows 7 is used as the operating system as it is
stable and supports more features and is more user friendly
Database MYSQL-MYSQL is used as database as it easy to maintain and
retrieve records by simple queries which are in English language which
are easy to understand and easy to write.
Development tools and Programming language- HTML is used to write
the whole code and develop webpages with CSS, java script for styling
work and PHP for server side scripting.
2.1.4.2 HARDWARE REQUIREMENTS
Intel core i5 4th generation is used as a processor because it is fast than
other processors provide reliable and stable and we can run our pc for
longtime. By using this processor we can keep on developing our project
without any worries.
Ram 2GB is used as it will provide fast reading and writing capabilities
and will in turn support in processing.
2.2 EXISTING & PROPOSED
Existing System:
Early days Libraries are managed manually. It required lot of time to
record or to retrieve the details. The employees who have to record the
details must perform their job very carefully. Even a small mistake would
create a lot of problems. Security of information is very less. Report
generations of all the information is very tough task.
Maintenance of Library catalogue and arrangement of the books to the
catalogue is very complex task. In addition to its maintenance of member
details, issue dates and return dates etc. manually is a complex task.
All the operations must be performed in perfect manner for the
maintenance of the library without any degradation which may finally
result in the failure of the entire system.
Proposed System:
To solve the inconveniences as mentioned in the existing system, an Online
Library is proposed. The proposed system contains the following features:
The students will register them through Online.
Individually each member will have his account through which he can
access the information he needs.
Book details like authors, number of copies totally maintained by library,
present available number of books, reference books, non-reference books
etc. all this information can be made handy.
Regarding the members designation, number of books was issued.
Issue dates and returns of each member is maintained separately and fine
charged if there is any delay in returning the book.
Administrator can add, update the books.
Time consuming is low, gives accurate results, reliability can be
improved with the help of security.
2.3 SOFTWARE TOOLS USED
The whole Project is divided in two parts the frontend and the backend.
2.3.1 Frontend
The frontend is designed using of HTML, CSS and JavaScript.
HTML: HTML or Hyper Text Markup Language is the main markup
language for creating web pages and other information that can be
displayed in a web browser. HTML is written in the form of HTML
elements consisting of tags enclosed in angle brackets (like <html>),
within the web page content. HTML tags most commonly come in pairs
like <h1> and </h1>, although some tags represent empty elements and so
are unpaired, for example <img>. The first tag in a pair is the start tag,
and the second tag is the end tag (they are also called opening tags and
closing tags). In between these tags web designers can add text, further
tags, comments and other types of text-based content. The purpose of a
web browser is to read HTML documents and compose them into visible
or audible web pages. The browser does not display the HTML tags, but
uses the tags to interpret the content of the page.HTML elements form the
building blocks of all websites. HTML allows images and objects to be
embedded and can be used to create interactive forms. It provides a
means to create structured documents by denoting structural semantics
for text such as headings, paragraphs, lists, links, quotes and other items.
It can embed scripts written in languages such as JavaScript which affect
the behavior of HTML web pages.
CSS: Cascading Style Sheets (CSS) is a style sheet language used for
describing the look and formatting of a document written in a markup
language. While most often used to style web pages and interfaces written
in HTML and XHTML, the language can be applied to any kind of XML
document, including plain XML, SVG and XUL. CSS is a cornerstone
specification of the web and almost all web pages use CSS style sheets to
describe their presentation.CSS is designed primarily to enable the
separation of document content from document presentation, including
elements such as the layout, colors, and fonts. This separation can
improve content accessibility, provide more flexibility and control in the
specification. CSS can also allow the same markup page to be presented
in different styles for different rendering methods, such as on-screen, in
print, by voice (when read out by a speech-based browser or screen
reader) and on Braille-based, tactile devices. It can also be used to allow
the web page to display differently depending on the screen size or device
on which it is being viewed. While the author of a document typically
links that document to a CSS file, readers can use a different style sheet,
perhaps one on their own computer, to override the one the author has
specified. However if the author or the reader did not link the document
to a specific style sheet the default style of the browser will be
applied.CSS specifies a priority scheme to determine which style rules
apply if more than one rule matches against a particular element. In this
so-called cascade, priorities or weights are calculated and assigned to
rules, so that the results are predictable.
JavaScript: JavaScript(JS) is a dynamic computer programming
language. It is most commonly used as part of web browsers, whose
implementations allow client side scripts to interact with the user, control
the browser, communicate asynchronously, and alter the document
content that is displayed. It is also being used in server-side
programming, game development and the creation of desktop and mobile
applications. JavaScript is a prototype-based scripting language with
dynamic typing and has first-class functions. Its syntax was influenced by
C. JavaScript copies many names and naming conventions from Java, but
the two languages are otherwise unrelated and have very different
semantics. The key design principles within JavaScript are taken from the
Self and Scheme programming languages. It is a multi-paradigm
language, supporting object-oriented, imperative, and functional
programming styles. The application of JavaScript to use outside of web
pages—for example, in PDF documents, site-specific browsers, and
desktop widgets—is also significant. Newer and faster JavaScript VMs
and platforms built upon them (notably Node.js) have also increased the
popularity of JavaScript for server-side web applications. On the client
side, JavaScript was traditionally implemented as an interpreted language
but just-in-time compilation is now performed by recent (post-2012)
browsers.
2.3.2 Backend
The backend is designed using of PHP and MySQL.
PHP: PHP is a server-side scripting language designed for web
development but also used as a general-purpose programming language.
PHP is now installed on more than 244 million websites and 2.1 million
web servers. Originally created by Rasmus Lerdorf in 1995, the reference
implementation of PHP is now produced by The PHP Group. While PHP
originally stood for Personal Home Page, it now stands for PHP:
HypertextPreprocessor, a recursive backronym. PHP code is interpreted
by a webserver with a PHP processor module, which generates the
resulting web page: PHP commands can be embedded directly into an
HTML source document rather than calling an external file to process
data. It has also evolved to include a command-line interface capability
and can be used in standalone graphical applications. PHP is free
software released under the PHP License. PHP can be deployed on most
web servers and also as a standalone shell on almost every operating
system and platform, free of charge.
MySQL: MySQL("My S-Q-L", officially, but also called "My Sequel")
is (as of July 2013) the world's second most widely used open-source
relational database management system (RDBMS). Its name is a
combination of "My", the name of co-founder Michael Widenius's
daughter and "SQL", the abbreviation for Structured Query Language.
The MySQL development project has made its source code available
under the terms of the GNU General Public License, as well as under a
variety of proprietary agreements. MySQL was owned and sponsored by
a single for-profit firm, the Swedish company MySQL AB, now owned
by Oracle Corporation. MySQL is a popular choice of database for use in
web applications, and is a central component of the widely used LAMP
open source web application software stack (and other 'AMP' stacks).
LAMP is an acronym for "Linux, Apache, MySQL, Perl/PHP/Python."
Free-software-open source projects that require a full-featured database
management system often use MySQL. For commercial use, several paid
editions are available, and offer additional functionality. Applications
which use MySQL databases include: TYPO3, MODx, Joomla,
WordPress, phpBB, MyBB, Drupal and other software. MySQL is also
used in many high-profile, large-scale websites, including Wikipedia,
Google (though not for searches), Facebook, Twitter, Flickr, and
YouTube.
CHAPTER 3
SYSTEM DESIGN
3.1 TABLE DESIGN
VARIOUS TABELS TO MAINTAIN INFORMATION
3.1.1 BOOK TABLE FOR KEEPING TRACK OF BOOKS
3.1.2 STUDENT TABLE FOR STUDENT INFORMATION
3.1.3 TEACHER TABLE TO KEEP TEACHER INFORMATION
3.1.4 ISSUE TABLE TO KEEP TRACK OF BOOKS ISSUED
3.1.5 STUDENT LOGIN TABLE
3.1.6 EVENT TABLE FOR EVENT INFORMATION
3.1.7 TEACHER LOGIN TABLE
3.2 DATA FLOW DIAGRAMS
3.2.1 DATA FLOW DIAGRAM FOR ADMIN LOGIN
3.2.2 USE CASE DIAGRAM FOR ADMIN
3.2.3 SEQUENCE DIAGRAM FOR ADMIN
After entering to the home page of the website, Admin can choose the Admin
Login option where they are asked to enter username & password, and if he/she
is a valid user then a teacher login page will be displayed.
3.2.4 DATA FLOW DIAGRAM FOR USER
3.2.5 USE CASE DIAGRAM FOR USER
3.2.6 SEQUENCE DIAGRAM FOR USER
After entering to the home page of the website, student can choose the USER
LOGIN option where they are asked to enter username & password, and if
he/she is a valid user then a student login page will be displayed.
CHAPTER 4 SYSTEM IMPLEMENTATION
4.1 MODULE DESCRIPTION
4.1.1 Admin Module
The following module contains various facilities like student validation, teacher
registration, book addition, and report generation.
Screenshot for Admin login
4.1.2 Student Module
The following module contains various facilities like student registration,
student login, online book reservation, and event addition. Any student if at any
moment forgets his password he can retrieve it from forgot password option.
Screenshot for Student login
4.1.3 Teacher Module
The following module contains various facilities like teacher login, suggestions,
and event addition. Further any teacher if at any moment forgets his/her
password he/she can retrieve it from ‘forgot password’ option.
Screenshot for teacher’s login
4.1.4 Book Module
The following module contains various facilities like add new book and search
book. In the ‘add new book’ section if any new book comes in the library then
the librarian can add its specifications. Similarly if the user wants to search for a
specific book then he/she can use search book option to do it.
4.1.5 Book Transaction Module
The following module contains various facilities like issue book, return book
and check reservation.
Screenshot for Book search
4.1.6 Report Module
The following module contains various facilities like student report, teacher
report, book report, and transaction report.
CHAPTER 5 SYSTEM
TESTING
The aim of the system testing process was to determine all defects in our project
.The program was subjected to a set of test inputs and various observations were
made and based on these observations it will be decided whether the program
behaves as expected or not. Our Project went through two levels of testing
Unit testing
Integration testing
5.1 UNIT TESTING
Unit testing is undertaken when a module has been created and successfully
reviewed .In order to test a single module we need to provide a complete
environment i.e. besides the module we would require
The procedures belonging to other modules that the module under test
calls
Non local data structures that module accesses
A procedure to call the functions of the module under test with
appropriate parameters
Unit testing was done on each and every module that is described under module
description of chapter 4.
5.1.1 Test for the admin module
Testing admin login form-This form is used for log in of administrator of
the system. In this we enter the username and password if both are correct
administration page will open otherwise if any of data is wrong it will get
redirected back to the login page and again ask for username and
password.
Student account addition- In this section the admin can verify student
details from student academic info and then only add student details to
main library database it contains add and delete buttons if user click add
button data will be added to student database and if he clicks delete
button the student data will be deleted.
Book Addition- Admin can enter details of book and can add the details
to the main book table also he can view the books requests.
5.1.2 Test for Student login module
Test for Student login Form-This form is used for log in of Student .In
this we enter the library id, username and password if all these are correct
student login page will open otherwise if any of data is wrong it will get
redirected back to the login page and again ask for library id, username
and password.
Test for account creation- This form is used for new account creation
when student does not fill the form completely it asks again to fill the
whole form when he fill the form fully it gets redirected to page which
show waiting for conformation message as his data will be only added by
administrator after verification.
5.1.3 Test for teacher login module
Test for teacher login form- This form is used for log in of teacher .In this
we enter the username and password if all these are correct teacher login
page will open otherwise if any of data is wrong it will get redirected
back to the login page and again ask for username and password.
5.2 INTEGRATION TESTING
In this type of testing we test various integration of the project module by
providing the input. The primary objective is to test the module interfaces in
order to ensure that no errors are occurring when one module invokes the other
module.
CHAPTER 6 CONCLUSION
6.1 Conclusion
This website provides a computerized version of library management system
which will benefit the students as well as the staff of the library. It makes entire
process online where student can search books, staff can generate reports and do
book transactions. It also has a facility for student login where student can login
and can see status of books issued as well request for book or give some
suggestions. It has a facility of teacher’s login where teachers can add lectures
notes and also give necessary suggestion to library and also add info about
workshops or events happening in our college or nearby college in the online
notice board.
6.2 Future Scope
There is a future scope of this facility that many more features such as online
lectures video tutorials can be added by teachers as well as online assignments
submission facility, a feature of group chat where students can discuss various
issues of engineering can be added to this project thus making it more
interactive more user friendly and project which fulfills each users need in the
best way possible.
CHAPTER 7 REFERENCES
1. https://www.w3schools.com/html/default.asp
2. https://www.w3schools.com/css/default.asp
3. https://www.w3schools.com/js/default.asp
4. https://www.w3schools.com/php/default.asp
5. https://www.w3schools.com/mysql/default.asp