2. Online Library Management System
Session 2011-2015
Submitted by
Mr. BILAL KHATTAK
Mr. ZOHAIB KHAN
Mr. ASAD IQBAL
BS Computer Science
Supervised by
Mr. Sir Jamal Ahmed
Mr. Sir Faisal Javed
Department of Computer Science
[OLMS] Page 2
3. Dedication
First of all I would like to thanks great Allah and then I would like to thanks my dear
and respectable parents because without his effort, struggle and financially support this
project was not possible. These efforts and struggle are as a backbone for us but our
respectable teachers are the most important part of our project because this project is
made by the guideline of them.
[OLMS] Page 3
4. Acknowledgements
We are thankful to our Almighty, beneficent Allah for eternal help & blessings. To all those
people whose efforts and guidance make this project successful up till this point.Project
completeness, difficulties and guideline is not possible without project supervisor. We
cannot forget our project supervisor hard work, struggle and guideline for us to complete
this project successfully. We would like to mention the name of our supervisor. We are
thankful to Sir Jamal Ahmed and Sir Faisal Javed for supporting and help us about project.
We would like to appreciate the guidance, valuable suggestions and comments of Sir Jamal
Ahmad and Sir Faisal Javed. They spent a lot of time with us and gave all the related
information and expertise about report writing.
[OLMS] Page 4
5. Abstract
Manual library management system is not easy to implement because there is a lot of paper work
and time consuming and records can be easily damaged.one solution can be a desktop
application and can also be damaged by a virus.so to avoid all these problems we have developed
an online library management system. It was not easy to develop an online library management
system but because of our hard work we are succeeded in developing an online library
management system.
[OLMS] Page 5
6. Glossary
OLMS…………………………… Online Library management system
PHP ……………………………... Hypertext Preprocessor.
HTML............................................ Hypertext Markup language.
CSS……………………………….Cascading style sheet
GUI……………………………….Graphical user Interface
WAMP……………………………Window Apache MySQL and PHP
[OLMS] Page 6
7. List of Figures
Fig 1.1: Methodology…………………………………… Page 12
Fig 3.1: DFD Level 0……………………………………..Page 17
Fig 3.2: DFD Level 1……………………………………..Page 18
Fig 3.3: Activity Diagram…………………………………Page 19
Fig 3.4: Use Case Diagram………………………………..Page 20
Fig 3.5: Sequence Diagram of issue Book……………......Page 21
Fig 3.6: Entity Relationship Diagram……………………..Page 22
Fig 4.1:Iteretive Model diagram…………………………..Page 24
[OLMS] Page 7
9. Chapter 1
1.1 Introduction
In the library of Abdul Wali Khan University Shaheed Rashid Hussain campus borrowing,
returning, and checking of the available books are done manually and students are not able to
check the history of books which they borrowed. The objective of this Bachelor thesis is to
develop a web-based library management system based on (HTML, CSS, Bootstrap , PHP,
MySQL) in order to reduce the cost of management and make it convenient for the user. This
system used by members who may be students or professors of this University to check the
availability of the books and borrow the books, and by the librarian to update the databases.
1.2 Present Manual System
Offline or manual library management Is not easy to implement in manual library management
system there is too much paper work this paper work takes too much time and can be damaged
easily and there is no back up record there is also database desktop applications are available that
application needs special requirements and also desktop application can also be very easily
damaged by virus.
1.2.1 Problem Of Present Manual System
I. Information about issue and return of the books are not properly maintained.
II. No central database can be created as information is not available in database.
III. Tracing of book is difficult.
IV. Fast report generation is not possible.
1.3 Proposed System
To solve the above mentioned problems we have developed an online library management
system which facilitate the following
I. Online book tracing.
[OLMS] Page 9
10. II. Centralized database.
III. Issue and return with just one click.
IV. Advance search.
V. Member Account.
VI. Issued book history.
VII. Returned book history.
VIII. User friendly GUI.
IX. Easy to use
X. Notification about overdue books.
XI. Automatic fine counting.
XII. Logout
1.4 Purpose of OLMS
1.4.1 Admin
Admin can read and write information about any member. Admin can also update, create, delete
the record of membership as per requirement and admin can enter details related to a particular
book. Admin also can provide membership to members.
1.4.2 Members
Member can check the status of books and his account. Member account contain member profile
picture, information about that member, books record, can also check notification and fine on
that user.
1.5 Tools
[OLMS] Page 10
11. We have used the following tools in OLMS.
1.5.1 Adobe Dreamweaver cc.
Dreamweaver is a web development tool, developed by Adobe system. Dreamweaver was
created by macromedia in 1997. We can write PHP and html code in Dreamweaver
.Dreamweaver is a best application for PHP ,html and CSS coding because every sentence or
words has different color which shows correctness and wrong sentence. Adobe Dreamweaver
is a web design and development application that provides the design view and code editor
which standard features such as syntax highlighting, code completion and etc.
1.5.2 Sublime text editor
Sublime text editor is used to write Html, CSS and Bootstrap code. We used this because in
this project Html, CSS and bootstrap work. We can also say that Sublime is a platform of
HTML, CSS and bootstrap. Sublime text editor developed by John Skinner.
1.5.3 WAMP
WAMP stand for window, Apache, MYSQL and PHP. WAMP is the most important tool for
Web developers. We can write PHP and MYSQL code in WAMP. PHP code cannot be run
without WAMP server.
1.5.4 Notepad++
Notepad++ is developed by Don Ho. Notepad++ is written in C++ language and its total size
is 6.6 Mb, and notepad++ is general public license software. General purpose software mean
is free software license.
1.5.5 Web browser
In our project we use Google chrome web browser because we cannot load page without this
browser. Google chrome web browser is developed by Google. Google chrome web browser
initial release on 2 Sept 2008.Google chrome web browser development status is active and this
browser is written in C++.
1.5.6 Bootstrap
[OLMS] Page 11
12. Bootstrap is a framework of HTML and CSS. Bootstrap contains all built-in classes. We can
make responsive application in bootstrap. We used 3.2 version of bootstrap in this project.
Bootstrap is open source language.
1.6 Database Management System
MySQL stand for structured query language. MySQL is a database system which is used on the
Web, run on the server, ideal for both small and large application. MySQL is developed,
distributed and supported by Oracle Corporation. MySQL is a popular choice of database for
used in web database. We used MySQL database in our project. MySQL is used as backend in
this project. We can store large records or data in MySQL database.
1.7 Methodology
In Online library management system we have used iterative model. In iterative model we do not
need to start with a full requirement. We can make changes time by time where problem comes
in software. Unlike waterfall, process can be repeated time to time in iterative model. The
following is the diagram of iterative model.
Fig 1.1
In iterative model we are building and improving product step by step. The advantage is
that we caught the defects in early stages.in iterative model we spend more time on software
coding and less time for documentation.
[OLMS] Page 12
Requirements
Design
Implementation
Testing
14. Chapter 2
Requirement Analysis
2.1 Manual library system
Before this system, librarian works manually. Every activity of library performed manually by
library because he/they has no software for that activity of library. Each activity of library takes a
lot of time. In manual library there is too much paper work and this paper work takes too much
time. This paper work can be easily damaged and there is no backup record. The following is the
problems of manual library.
Tracing a book is difficult. When librarian can’t search book easily, it is not good for
student. We developed this system for Abdul Wali khan University Shaheed Rashid
Husain campus. to time perspective.
Information about issue/return books are not properly maintained.
Searching to particular student is difficult.
Multiple copies of book with same ISBN adding is difficult. Addition of that book
depends on number of book with same isbn.
Excessive use of stationary. During manipulation of records, the correctness of records
consume a lot of stationary for storage.
Security not required. Security of manual system is very poor because register can be
stole and lost any time.
2.2 Proposed online library management System
We have to develop this system because of to remove problems from library which is mentioned
above in 2.1. Online library management system provides better and efficient service and
reduces workload of librarian. In online library management system we provide facility for
proper monitoring to reduce paper work and provide data security. In online library management
system all the details will be on a click. The purpose of online library management system is to
[OLMS] Page 14
15. provide all the facilities to librarian which performed in library. In OLMS librarian has access to
add member, update member, delete member, add book, update book, delete book, issue book to
member, return book from member, view notification about overdue book, can charge fine to
member due to late book return , can create account to member and can send Email to member
about overdue book. Librarian can create account to member and this account should have
username and password but without these username and password member cannot access their
account successfully. There will be profile image, records about issue books, have notification
area, information about that member and can view charged fine from librarian. All the data will
be store in database and in particular tables. For adding a new member, all the data of that
member will store on the backend member table. Like add new member, all the data of new book
will store on book table in database. For issue book and return book will store in their circulation
table. During issue book librarian will check the member registration no if registration no is valid
the member is able to take a book from library. In online library management system advance
search also is available. Advance search is only for librarian not for member. In advance search
librarian can search member by name or by registration no and can search book by title or
accusation no. Librarian has a full control to remove membership and can charged fine on
member about late book return. Fine will be charge automatically on those member who return
late book. Fine charges will be five rupees per day. Librarian can update the data to member on
member demand. We have covered all the activities of manual library in the online library
management system. We will be able to see all the activities when we draw Data flow diagram
(DFD). In data flow diagram we can understand every step of online library management system
clearly.
2.3 Software Requirement Specification (SRS)
2.3.1 Functional Requirements
• Member can access his account through internet and see his record about issue book.
• Keeps the track of issue and submission of books.
• This system has the notification area which can alert the librarian or member about
overdue book.
[OLMS] Page 15
16. • This system has also the Email facility. Librarian can send email to member for
remember issue book from library.
• Librarian or member both cannot login without their unique username and password.
• All the information about member can be store in database.
• Librarian can create, delete and update member and as well as book.
• This OLMS has automatic fine counting system.
2.3.2 Non Functional Requirements
2.3.2.1 Performance Requirement
• The database shall be able to accommodate a minimum 100000 records of member.
• Software shall support multiple members at a time.
• The system accommodates high number of books and member without any fault.
2.3.2.2 Security Requirements
• System will use secure database. Librarian and member can access their account
through their unique username and password.
• System will have different types of member and every member has their access
constraint.
2.4 Assumption and dependencies
• The member has sufficient knowledge about computer.
• The university computer should connect with internet.
• Member should know about English because we are providing system interface in
English.
[OLMS] Page 16
17. Chapter 3
System Modeling
3.1 Data Flow Diagram (DFD)
Data flow diagram means a course or movement of information in a process. Data flow diagram
is a graphical representation of data process. Here data flow has been used to depict the broadest
possible overview of system inputs, process and output. Also a series of layered data flow
diagram have been used to represent and analyze detailed procedure. The following is the some
symbol of data flow diagram.
Flow of Data Data store
The above symbol has a different meaning in data flow diagram rectangle symbol show Entity in
data flow diagram, arrow symbol show flow of data and circle symbol represent process in data
flow diagram while the last one is used for to data store. Now the following is the DFD diagram
which is level 0 and level 1.
[OLMS] Page 17
Entity
Process
18. 3.1.1 DFD Level 0
Invalid ID/Password
ID/Password ID/password
Member Login Admin Login
Add book
Add Member
Member Details
Logout Access Right
Fig 3.1
[OLMS] Page 18
Login
Online
Library
management
system
Member Admin
Member
Account
19. 3.1.2 DFD Level 1
Logout check
Password Database
Conformation
Book issue
Circulation
Book search
Return Book
Check Member Overdue Book
Request for issue Request for return book
Book
Member
Check book availability
Books cat
Fig 3.2
[OLMS] Page 19
1
Login
2
IssueLibrarian
3
Return
4
Search
5
Fine
21. 3.3 Use case Diagram
Member
<……<<Extend>>…….
……………..<<Extend>>………..
…….<<Include>>….
Librarian ……………<<Include>>……………..
……..<<Include>>….
Fig 3.4
[OLMS] Page 21
Request for membership
Request for book issued
Request for book return
Pay fine, late book
return
Request for Update
member
Issue Membership
Cancel
membership
Issue Book
Return Book
Maintain Book record
Update Member detail
Search Member
Search Book
Late return book fine
Add Book
Remove Book
Update Book
22. 3.4 Sequence Diagram of Issue Book
: : : :
: 1: Check availability of book : : :
: :
2:Book available : :
: :
3: Validate member : :
:
4: check number of books issued :
:
5:book can be issued :
:
6:<<create>> :
7: add member and book record
8: update book status
9: update member record
Fig 3.5
[OLMS] Page 22
Librarian Book Member Transaction
23. 3.5 E-R-D (Entity Relationship Diagram)
[OLMS] Page 23
Book issue
Card_no
Date
Accessation_no
Transaction_no
Username
Member
Card_no
Flag
Books catalogue
Accession_no
Classification_no
Author_id
Shelve_no
Author
First name
Last name
Author_id
24. Fig 3.6
[OLMS] Page 24
Book return
Card_no
Date
Accession_no
Fine
Transaction_no
username
Admin
Username
Password
First name
Last name
Subject
Subject_name
Classification_no
25. Chapter 4
System Design
4.1 System Design
In this chapter we will discuss how a system can we made. We are talking about designing of a
system. Making of software is not easy. Software is a complex set of module that are developed
individually and then integrated into one package.
4.2 Design Methodology
Design is a method to identifying software components, specifying relationship among these
components, defining software structures. There are three types of design.
• Architectural design
• Detail design
• External design
4.3 Developmental Methodology
Developmental methodology is the main part of software development cycle. In online library
management system we have used iterative developmental methodology.
4.3.1 Iterative Model
In iterative model we can changes in any step. We can make changes time by time where
problem comes in software. Unlike waterfall, process can be repeated time to time in iterative
model. In iterative model we do not need to start with full specification of requirements. Instead
software development starts by specifying and implementing with just part of software. In
iterative model less time spent with documents and more time spent on software development.
We should use iterative model when requirements of system completely understood. The
following is the diagram of iterative model.
[OLMS] Page 25
26. 4.3.2 Iterative Model Diagram
Fig 4.1
4.4 Logical Design
Database design is made of three main phases which name is Conceptual, Logical and Physical
design. The conceptual data model is refined and mapped on to logical data model. The logical
data model is based on the target data model for the data base.
4.5 Physical Design
The aim of physical database design is to convert the logical description of data into technical
specification for storing and retrieving of data. In the final phase of database design process the
designer decides how the database is to be implemented. Physical database creation purpose is to
create such a design, which will store data and provide best performance and insure database
integrity, consistency and security.
[OLMS] Page 26
Design
Implementation
Testing
Requirement
27. Chapter 5
Implementation Tools
After system design we are shifted to implementation chapter. In this chapter we will discuss
which tools are used in this software. We have used the following tools for development of this
software.
5.1 Adobe Dreamweaver cc.
Dreamweaver is a web development tool, developed by Adobe system. Dreamweaver was
created by macromedia in 1997. We can write PHP and html code in Dreamweaver
.Dreamweaver is a best application for PHP ,html and CSS coding because every sentence or
words has different color which shows correctness and wrong sentence. Adobe Dreamweaver is
a web design and development application that provides the design view and code editor which
standard features such as syntax highlighting, code completion and etc. We can create design
very fast in Adobe Dream viewer.
5.2 WAMP
WAMP stand for window, Apache, MYSQL and PHP. WAMP is the most important tool for
Web developers. We can write PHP and MYSQL code in WAMP. PHP code cannot be run
without WAMP server. WAMP is a local host server which is installed on local system. We can
execute PHP pages in WAMP server. Without WAMP PHP pages cannot load.
5.3 Notepad++
Notepad++ is developed by Don Ho. Notepad++ is written in C++ language and its total size is
6.6 Mb, and notepad++ is general public license software. General purpose software mean is free
software license.
[OLMS] Page 27
28. 5.4 Sublime text editor
Sublime text editor is used to write Html, CSS and Bootstrap code. We used this because in this
project Html, CSS and bootstrap work. We can also say that Sublime is a platform of HTML,
CSS and bootstrap. Sublime text editor developed by John Skinner.
5.5 Web browser
In our project we use Google chrome web browser because we cannot load page without this
browser. Google chrome web browser is developed by Google. Google chrome web browser
initial release on 2 Sept 2008.Google chrome web browser development status is active and this
browser is written in C++.
5.6 Bootstrap
Bootstrap is a framework of HTML and CSS. Bootstrap contains all built-in classes. We can
make responsive application in bootstrap. We used 3.2 version of bootstrap in this project.
Bootstrap is open source language.
5.7 Database Management System
MySQL stand for structured query language. MySQL is a database system which is used on the
Web, run on the server, ideal for both small and large application. MySQL is developed,
distributed and supported by Oracle Corporation. MySQL is a popular choice of database for
used in web database. We used MySQL database in our project. MySQL is used as backend in
this project. We can store large records or data in MySQL database.
[OLMS] Page 28
29. Chapter 6
Graphical user interface (GUI)
6.1 Introduction
In this chapter we will discuss about interface of online library management system. We will talk
about GUI of this software in this chapter. We have some snapshot of this software and we are
trying to define that snapshot. The following are the snapshot of this software which represented
as a GUI.
6.3 Member Account
We have already discuss that the above login page is for both member and librarian but when
member login to his account then he/she is able to see his/her account status. Here I mean for
account status is that he/she can see issue book record, notification, fine for overdue book,
[OLMS] Page 29
30. profile picture and also can see information about that member. Member cannot update his
account himself, this privileges has only with librarian. Admin will assign Email and password to
every member .Member can use this Email as a username. Without this Email and password
member cannot be login to his account. Member account shows his record that how many books
he has take from library. The following is the Snapshot of Member account.
6.4 Admin Account
Admin will have unique ID and password. The responsibility of a librarian is large as compared
to member. Librarian can create, update, delete new members and books. Librarian can issue
book to valid member and can return book from member and librarian can also take fine from
member due to overdue book. Searching of books and members that is also responsibility of
librarian. Librarian handles all the activities in library that why we put librarian as admin for this
software (OLMS).
6.4.1 Home Page
The following is the home page of admin account. There are navigation bar and four square links
which show the status of registered book, book issued, registered member and overdue book.
When librarian click on ”More info” link then librarian can visit exact that page which will show
detail.
[OLMS] Page 30
31. 6.4.2 Navigation bar
Navigation is the area which contains some links. We can visit from one page to other page
through links and these links are contain in the Navigation bar. In the following snapshot have
some links through which librarian can visit from one page to another page. Library members,
Books Catalogue, Issue Books, Returned
Books, Advance search and Logout are
some links, through this links librarian
can visit exact that pages.
[OLMS] Page 31
32. 6.4.3
Library Member page
When librarian click on library Member link the he/she will be able to see the following Library
member page. In Library Member page all the member records are coming from database.
He/she can see that how many members are add in library through pagination.
[OLMS] Page 32
34. In books catalogue Page librarian is viewed only books record. The following is the Book
Catalogue Page.
6.4.5 Issue Book Page
[OLMS] Page 34
35. In Issue book page librarian can issue a book to member. Every book will be issue through his
accusation number and member should have their library number which is registration number.
Book will be issue to member through member registration number, book accession number and
issue date. During issuing book to member, librarian can check the limit of book to issue
member. Every member has different quota to issue book.
6.4.6 Return Book Page
There is a view record link in return book page, through this page librarian can see the history of
that issue book and member to who that book is issued. In this history librarian can also see the
issue date of book and fine about overdue book.
[OLMS] Page 35
36. 6.4.7 Advance Search Page
Librarian can search member by name or registration number and can search book by title or
accession number. In advance search librarian can see records of a particular member or book.
The following is the snapshot of advance search page.
[OLMS] Page 36
37. Chapter 7
System Testing
7.1 Software Test Plan
The purpose of software testing plan is to ensure that software is working correctly or not. If
some error occurs in software than we can say that software is fail. Software testing plan strategy
comes at the end because at the end we can judge good what is wrong and what is right. A good
test case is one that has a high probability of finding an error (as yet undiscovered). The test
results are analyzed to check the correctness of the software. A successful test is one that uncovers
as yet undiscovered error.
7.2 Testing Objective
In testing the software is checked for errors and if some errors found then it will be removed.
1 Testing is successful if the probability of finding undiscovered errors is high.
2 One has not to be confused with the above statement it means that a successful testing is that
in which systematically uncover different types of errors with minimum amount of time and
effort.
7.3 Login Testing
Login system purpose is to make application for secure. We create login system in online library
management system for security purpose. If we do not create login system then unauthorized
person can easily access admin/librarian account. We have checked login system of online
library management system, its work successful. We enter different wrong email and password
but it is not login to admin/librarian or member account but when we enter correct email and
[OLMS] Page 37
38. password then it is login successfully login to librarian account. Its mean, this login system
works correct. Now unauthorized person can access any account if it is member account or
librarian account. The following is the snapshot of login system of online library management
system.
7.3.1
Snapshot
of Login
Testing
We test this log in screen by giving different wrong values. We test user name and password in
different cases i.e. upper case lower case.
Tested by giving wrong user name.
Tested by giving wrong password.
[OLMS] Page 38
39. 7.4 Home Page Testing
We have also checked home page of admin area. All of the others pages are accessible from
home page. Librarian can easily access library member, book catalogue, issue book page, return
book page and advance search page from home page. We can say that this testing is also pass
because its work correct. Now librarian can perform any activity of online library management
system from home page. Each and every activity of OLMS which is responsibility of librarian,
works successfully correct. The following is the snapshot of Home page.
7.4.1 Snapshot of Home Page
[OLMS] Page 39