Library Management System PDF
Library Management System PDF
By
631448
SPRING 2014
2|Page
ACKNOWLEDGEMENT
I would like to thank the Almighty God for seeing me through my entire degree program. He kept me
strong physically, emotionally, and spiritually. Moreover, He also gave me the wisdom, knowledge, and
understanding which enabled me to pursue my degree successfully.
I owe special thanks to Dr. Silvester Namuye, Professor of Information Systems and Technology, who
was also the supervisor of this project. He shared his vast experience and knowledge, providing the
necessary guidance from the start to the end of this project. His advice enabled me to finish this project
successfully.
Special thanks to my beloved parents, Dr. Reuben Kweingoti, and Mrs. Helen Asami for their unending
love and support they have provided me in my entire life. It is through their encouragement and constant
prayers that I was able to come this far with my studies.
I would like to thank the rest of my family members and my friends for their contribution towards this
project. Their advice was very helpful.
3|Page
DEFINITIONS, ACRONYMS, AND ABBREVIATIONS
4|Page
ABSTRACT
The advent of diverse information technology systems has revolutionized the way of doing things. A
majority of business solutions are automated to meet the changing needs of the end users. Information
systems have proved to be effective in implementing the business processes of most organizations and
institutions across the globe.
Library Book Management System is an online application that was developed and designed with the sole
objective of automating library services. The system was intended to address the current problems
experienced in Narok county libraries, with an emphasis on Maasai Mara University library which has not
fully automated its services. This system aimed at automating the processes of cataloging, book
circulation, fine calculation, card processing, member details maintenance, and reports generation.
A number of tools were used to implement this system. They include: PHP scripting language, HTML5,
JavaScript, JQuery library, Cascading Style Sheets, MySQL 5.3 database running on Wamp Server,
Bootstrap, Microsoft Visio 2010, Microsoft Project 2007, Microsoft Office 2010, Adobe Dreamweaver
CS6, and Adobe Photoshop CS4.
In reference to this system’s objectives, a fully automated library book management system was
developed using the aforementioned tools. The system’s performance meets user’s requirements, hence
providing the main benefit of concentrating all the library services and functions within the power of a
mouse click and feeding of data into the system.
5|Page
TABLE OF CONTENTS
STATEMENT OF ORIGINALITY .............................................................................................................. 2
ACKNOWLEDGEMENT ............................................................................................................................ 3
DEFINITIONS, ACRONYMS, AND ABBREVIATIONS ......................................................................... 4
ABSTRACT.................................................................................................................................................. 5
1. INTRODUCTION .............................................................................................................................. 11
1.1. Background and Motivation........................................................................................................ 11
1.2. Problem Statement ...................................................................................................................... 11
1.3. Project Goal ................................................................................................................................ 12
1.4. Project Objectives ....................................................................................................................... 12
1.5. Benefits of the Proposed System ................................................................................................ 12
2. LITERATURE REVIEW ................................................................................................................... 13
2.1. Introduction ................................................................................................................................. 13
2.2. A Look at Automation of Libraries in Institutions of Learning .................................................. 14
2.3. Functionalities of Automated Library Systems........................................................................... 16
2.4. Challenges facing Automating Library’s in Kenya .................................................................... 16
2.5. Conclusion .................................................................................................................................. 17
3. DESIGN METHODOLOGY .............................................................................................................. 18
3.1. System feasibility ........................................................................................................................ 18
3.1.1. Operational feasibility ......................................................................................................... 18
3.1.2. Technical feasibility ............................................................................................................ 18
3.1.3. Cultural Feasibility.............................................................................................................. 18
3.1.4. Economic Feasibility........................................................................................................... 19
3.1.5. Legal Feasibility.................................................................................................................. 19
3.1.6. Schedule feasibility ............................................................................................................. 19
3.2. System Design ............................................................................................................................ 19
3.2.1. System Specification ........................................................................................................... 19
3.3. System configuration .................................................................................................................. 19
3.3.1. System Modules .................................................................................................................. 19
3.3.2. System Services .................................................................................................................. 20
3.3.2.2.1. Security ........................................................................................................................... 23
3.3.2.2.2. Performance .................................................................................................................... 23
3.3.2.2.3. Reliability ........................................................................................................................ 24
6|Page
3.3.2.2.3. Portability ........................................................................................................................ 24
3.3.2.2.4. Usability .......................................................................................................................... 24
3.3.2.2.5. Friendliness ..................................................................................................................... 24
3.3.2.2.6. Privacy ............................................................................................................................ 24
3.3.2.2.7. Extensibility .................................................................................................................... 24
3.3.3. System Architecture ............................................................................................................ 25
4. SYSTEM ANALYSIS AND DESIGN ............................................................................................... 27
4.1. Site Map of the Library Book Management System ................................................................... 27
4.1.1. Librarian Portal ................................................................................................................... 28
4.1.2. Member Portal..................................................................................................................... 29
4.2. Level 0 DFD (Context Diagram) ................................................................................................ 30
4.3. Level 1 DFD ............................................................................................................................... 31
4.4. Use Case Diagram....................................................................................................................... 34
4.4.1. Login Use Case Narration ................................................................................................... 35
4.4.2. Maintain User Details Use Case Narration ......................................................................... 36
4.4.3. Maintain Member Details Use Case Narration ................................................................... 38
4.4.4. Maintain Book Details Use Case Narration ........................................................................ 40
4.4.5. Lend Book Use Case Narration .......................................................................................... 42
4.4.6. Return Book Use Case Narration ........................................................................................ 44
4.4.7. Reserve Book Use Case Narration ...................................................................................... 45
4.4.8. Search Book Use Case Narration ........................................................................................ 47
4.4.9. Search Member Use Case Narration ................................................................................... 48
4.4.10. File Complaint Use Case Narration .................................................................................... 49
4.4.11. Generate Report Use Case Narration .................................................................................. 50
4.5. Sequence Diagrams ..................................................................................................................... 51
4.6.1. Login Sequence Diagram .................................................................................................... 51
4.6.2. Maintain User Details ......................................................................................................... 52
4.6.3. Maintain Member Details ................................................................................................... 53
4.6.4. Maintain Book Details ........................................................................................................ 54
4.6.5. Issue Book Sequence .......................................................................................................... 55
4.6.6. Return Book Sequence ........................................................................................................ 56
4.6.7. Search Book Sequence ........................................................................................................ 57
7|Page
4.6.8. Reserve Book Sequence ...................................................................................................... 58
4.6.9. File Complaint Sequence .................................................................................................... 59
4.6.10. Generate Report Sequence .................................................................................................. 60
4.6.11. Search Member Sequence ................................................................................................... 61
4.7. Activity Diagrams ....................................................................................................................... 62
4.7.1. Login Activity Diagram ...................................................................................................... 62
4.7.2. Maintain User Details ......................................................................................................... 62
4.7.4. Generate Report .................................................................................................................. 63
4.7.5. Issue Book Activity Diagram .............................................................................................. 64
4.7.6. Return Book Activity Diagram ........................................................................................... 65
4.7.7. Search Book Activity Diagram ........................................................................................... 66
4.7.8. Reserve Book Activity Diagram ......................................................................................... 67
4.7.9. File Complaint Activity Diagram ....................................................................................... 68
4.8. Conceptual Design ...................................................................................................................... 69
4.9. Logical Design (Relational Database Schema) ........................................................................... 71
4.10. Normalization.......................................................................................................................... 78
5. IMPLEMENTATION AND RESULTS ............................................................................................. 81
5.1. The Librarian Access Level .......................................................................................................... 83
5.1.1. Login Form .......................................................................................................................... 83
5.1.2. Librarian Profile ................................................................................................................... 84
5.1.3. Add User.............................................................................................................................. 85
5.1.4. Users List ............................................................................................................................. 86
5.1.5. Search User Results ............................................................................................................. 86
5.1.6. Add Member ....................................................................................................................... 87
5.1.7. Members List....................................................................................................................... 88
5.1.8. Search Member ................................................................................................................... 89
5.1.9. Add Member Card............................................................................................................... 90
5.1.10. List Member Cards .............................................................................................................. 91
5.1.11. Search Member Card .......................................................................................................... 91
5.1.12. Print Card ............................................................................................................................ 92
5.1.13. List Books ............................................................................................................................ 92
5.1.14. Search Book......................................................................................................................... 93
8|Page
5.1.15. Issue Book ........................................................................................................................... 93
5.1.16. List Member’s Borrowed Books .......................................................................................... 94
5.1.17. Search Member’s Borrowed Books..................................................................................... 94
5.1.18. Return Book ........................................................................................................................ 95
5.1.19. Member Fines ..................................................................................................................... 96
5.1.20. Print Receipt........................................................................................................................ 97
5.1.21. Generate Reports ................................................................................................................ 97
5.2. The Member Access Level........................................................................................................... 98
5.2.1. Member Home Page ........................................................................................................... 98
5.2.2. Member Profile ................................................................................................................... 99
5.2.3. Display Books .................................................................................................................... 100
5.2.4. Search Book....................................................................................................................... 100
5.2.5. Reserve Book..................................................................................................................... 101
5.2.6. Check Reservation Status .................................................................................................. 102
5.2.7. Check History .................................................................................................................... 102
5.2.8. E-Library ............................................................................................................................ 103
5.2.9. Change Password .............................................................................................................. 103
5.2.10. File Complaint ................................................................................................................... 104
6. SOFTWARE REQUIREMENTS SPECIFICATIONS..................................................................... 105
Preface ...................................................................................................................................................... 105
6.1. Introduction ............................................................................................................................... 105
6.1.1. Purpose .................................................................................................................................. 105
6.1.2. Overview ............................................................................................................................... 105
6.2. The Overall Descriptions .......................................................................................................... 105
6.2.1. Product Perspective ............................................................................................................... 105
6.2.1.1. System Interfaces .......................................................................................................... 105
6.2.1.2. User Interface ................................................................................................................ 105
6.2.1.3. Hardware Interface ........................................................................................................ 106
6.2.1.4. Software Interface ......................................................................................................... 106
6.2.1.5. Communication Interface .............................................................................................. 106
6.2.1.6. Memory Constraints ...................................................................................................... 106
6.2.1.7. Operations ..................................................................................................................... 106
9|Page
6.2.1.8. Site Adaptation Requirements ...................................................................................... 107
6.2.2. Product Functions ................................................................................................................. 107
6.2.3. User Characteristics .............................................................................................................. 107
6.2.4. General Constraints ............................................................................................................... 107
6.2.5. Assumptions and Dependencies............................................................................................ 108
6.3. Specific Requirements ...................................................................................................................... 108
6.3.1. External Interfaces ................................................................................................................ 108
6.3.1.1. User Interface ................................................................................................................ 108
6.3.1.2. Hardware Interface ........................................................................................................ 108
6.3.1.3. Software Interface ......................................................................................................... 108
6.3.1.4. Communication Interface .............................................................................................. 109
6.4. Design Constraints .................................................................................................................... 109
7. RECOMMENDATIONS AND CONCLUSIONS ........................................................................... 110
7.1. Limitations ................................................................................................................................ 110
7.2. Recommendations ..................................................................................................................... 110
7.3. Conclusions ............................................................................................................................... 110
8. REFERENCES ................................................................................................................................. 111
APPENDIX ............................................................................................................................................... 112
Appendix 1 a. Schedule of Project Activities ....................................................................................... 112
Appendix 2 a. Books Report .................................................................................................................. 112
Appendix 2 b. Members Reports .......................................................................................................... 112
Appendix 2 c. Member Fines Report .................................................................................................... 113
Appendix 2 d. General Authors, Publishers, and Books Details Report................................................ 113
Appendix 2 e. Category Details Report ................................................................................................. 113
Appendix 2 f. Publishers Report............................................................................................................ 113
Appendix 2 g. Authors Report............................................................................................................... 114
Appendix 3: CODE ................................................................................................................................ 114
10 | P a g e
CHAPTER ONE
1. INTRODUCTION
1.1. Background and Motivation
Accelerated technological advancements experienced in the 21st century have enabled automation of
services delivered to the people across the globe. Currently, many libraries have embraced the trend of
automating their services by providing rich electronic resources for research and other purposes to the
public. Maasai Mara University library was established in 2007. The library has grown immensely with
collections expanded from 2000 to more than 30,000 volumes of books, e-book, as well as e-journals.
Despite having come this far, the institution has not yet fully automated their library services hence a need
to replace the system with a fully automated online system that can be accessed by users remotely, from
the comfort of their locations. My motivation to develop this system came from the increased need to
access resources over the internet for purposes of research, increased information technological
advancements that enables service automation, and the governments drive to digitize resources for
extensive research in both public and private universities. The vast knowledge and skills acquired during
the past four years of my study at USIU also motivated me to develop a system that provides a solution to
a problem.
There is no backup for the records hence in case of any exposure to danger, all information gets
lost.
11 | P a g e
A lot of paper work is involved hence more room and staff to handle them which translates to
more costs; making the system expensive.
It’s difficult to search where a book is sectioned in the library and its availability.
To develop a system that ensures the privacy of its users and enable them access it remotely.
To enable a secure and portable database system that eliminates duplicate data.
12 | P a g e
CHAPTER TWO
2. LITERATURE REVIEW
2.1. Introduction
This chapter reviews information about the Library Management Systems that have already been
researched and developed together with the various approaches used by these systems. Online journals,
articles, publications and books were used to provide information on this topic.
Libraries across the world present a conducive environment where people converge to do their research
and study. Majority of these libraries are situated within the facilities of learning institution. These
libraries play an important role in the entire operation of an institution. (Chweh S.S, 1981) In his journal
titled “User criteria for evaluation of library service” outlined features of a good library. These include:
Availability of periodicals, good collection of reference material, non-book materials and books, and the
quality of reference services delivered, quite environment for studying, catalog integrity, how services are
friendly and willingness of librarians to help.
The Library Book Management System has been developed with the aim of improving services delivered
to its users. This is made possible by automating all the library services. The system was developed after
evaluating the legacy system which had not automated a majority of its functions. User requirements were
gathered so as to determine the relevant functionality that was needed. This evaluation acted as a
management tool to measure the effectiveness of services delivered to the library users and to identify
disadvantages of the system and the most appropriate way forward.
Book lending systems were created way back in the past centuries even before the computer age. The
French book wheel invention enabled scholars to circulate books by stepping on a pedal that turned a
book table. Albert Cotgreave developed the book indicator back in 1863. It housed smaller versions of the
books making it possible to tell the availability of the book, or if it was overdue. Automation of libraries
began in 1930’s. This is when the punch card systems were used to manage book acquisition and
circulation. (Gapen, 1993) Notes; virtual library comprises aspect of remotely accessing services and
content of other libraries, alongside other resources of information. The internet acts as a powerful tool
through which materials can be made available for sharing and access by anyone across the globe.
Libraries have accumulated resources that can provide a good source of information for research and
other use. Making these rich resources available to the general public across the globe is of great
advantage. The aim of technological advancements is to make work easier and ensure efficiency is
realized in all facets of life where it’s applicable.
13 | P a g e
(Aswal, 2006) Notes; that library automation is the process of interconnecting systems to enable the
sharing of information through networks hence providing access to large volumes of content and
information to users across the globe. The use of the internet and networking has been emphasized a lot.
A library needs the latest technology been used in the 21 century, hence, institutions need to phase out
legacy systems, and embrace automation of all their services.
(Johnson, Houda, & Tony., 2004) Note that a virtual library can connect e-learners to online public library
catalogues, resource rich databases which are licensed and electronic books, materials for research and
learning. These virtual libraries allow users to access them around the globe and at any time so long as
they are connected to the internet. The adoption of the Library Book Management System poses great
benefits to the end users since the system aims at delivering automated services efficiently and effectively
via the internet.
(Roberts, 1999) A Librarian at Cohen Hillel Academy points out that after automating their library
services; the electronic catalogue was faster, versatile, and easier to use than the old card catalog which
they used before automation. The new system encouraged both students and teachers to do more research
by utilizing the resources offered. The librarian notes that the school library had only automated their
circulation functions which made use of older circulation software. They used this program till 1998 when
they decided to upgrade to the Follett Software Company’s Circulation Plus and Catalog which was
computerized. She notes that to motivate the library staff their workload must be simplified and the
technology been used by the school streamlined. This system had a number of advantages:
a. It increased interest in the Library and enabled easy access to resources. This helped both the
students and staff to find electronic resources more easily.
b. It presented a user-friendly technology; whereby the windows platform was easy to use with less
training required. Location of material became easier and it was done promptly.
c. Reports were generated easily hence presenting library staff with the opportunity to manage
library operations effectively.
14 | P a g e
d. The system presented a consistent learning environment and ease of maintenance.
A majority of libraries in Kenya are found in research centers, private and public institutions of learning.
Public universities have the highest volumes of books, journals, research papers, and other collections.
The libraries were set up with the main aim of been used by both the students, teachers, lecturers and staff
members within the institution. There has been a collected effort by the library management to restructure
their services so as to extend them to other outsiders other than the normal users. Many of the libraries are
coming up with information resource centers in the spirit of embracing technology.
It improves and widens access to electronic collections done by other digital libraries.
It enhances the lifetime of information material.
It encourages and facilitates sharing of resources amongst libraries across the world.
It reduces duplication of work.
(Amollo, 2011) Points out a number of initiatives aimed at digitizing libraries in Kenya. One of these
initiatives is the Greenstone digital library software which was engineered by UNESCO back in 2008, and
held at University of Nairobi (UoN). In 2007, Electronic Information for Libraries teamed up with the
Koha Foundation to develop expertise and to grow the network for Greenstone which is a suite of
software for building and distributing digital library collection in South Africa. This foundation was
extended back in 2009 to involve sixteen countries including Kenya. There are three designated National
Centers in Kenya which were established to play a key role organizing training events and supporting
trainees who are undertaking digitization projects or building Greenstone digital library applications.
Such initiatives are aimed at expanding the information technology world to be incorporated in the
libraries so as to make academic resources available to everyone across the world.
Library Book Management System is an online system, which enables its users to access it round the
clock. It has an added functionality for users to feel they are part of the system by displaying their profile
on login and enabling them to update their details.
15 | P a g e
2.3. Functionalities of Automated Library Systems
A good number of Library Management Systems suppliers have come together with the aim of integrating
a number of functionalities. These include:
(Felstead, 2004) Points out functionalities developed by a number of Library Managements Systems
developers. They comprise of:
16 | P a g e
2.5. Conclusion
The Library Book Management System facilitates the provision of access to large volumes of resources
available online hence enhancing knowledge amongst its users. Knowledge is meant to be shared; hence
this system provides an open environment for all its users to learn from each other by providing a
platform of accessing rich material resources online. The system is also cost effective hence it provides a
great deal for institutions which cannot afford the more expensive library managements systems a chance
to own one. To provide and enhance a useful learning and research oriented environment, libraries should
automate all their services provided to their end users.
17 | P a g e
CHAPTER THREE
3. DESIGN METHODOLOGY
18 | P a g e
3.1.4. Economic Feasibility
This feasibility looks at the costs incurred in operating the system versus the revenue and accumulated
returns. Library Book Management Systems is economically feasible in the sense that; it’s cheaper to
acquire, it saves on the cost spend on paper since it operates automatically, the number of employees
needed to operate the system is reduced hence lowering labor costs, and it saves time by facilitating
quicker services to the end users.
a) Circulation Module
This module has functionality to enable the borrowing and return of books. Fines are also automatically
calculated through this module. It enables easy retrieval of information concerning available, overdue,
19 | P a g e
lost, returned, damaged, and issued books. It displays information about a member alongside the books
they borrow. It notifies a member if the book in their possession is overdue.
b) Cataloging Module
This module enables the librarian to capture a book details in the most appropriate manner. This enables
ease of retrieval of information concerning the book to the end users. With regard to this module, the
system captures all the book details, the respective authors, publishers, category, and its section within the
library. This module
This module enables members to access books from the convenience of their location. A number of
search criteria are presented to the users where one can search a book by its category, the author, the
publisher, the book code, or the title of the book.
d) Reservation Module
This module enables a member to reserve a book and check the status. It enables librarian to respond to
reservations.
e) Reports Module
This module enables the librarian to generate reports from the system using the reports functionality. The
reports are then displayed in Microsoft Excel formats.
Using this module, a librarian can create new users to the system. It also enables them to update the user
details.
a) The system shall enable the librarian to create a new user using the Add User functionality. The
system shall assign users a unique username and password which allows them to access the system.
The system shall enable the librarian to display all the users using the List Users functionality. The
system shall enable the librarian to update or delete a user’s details. The system shall enable all users
20 | P a g e
to change their passwords using the Change Password functionality. If a user forgets his/her
password, the system shall enable the librarian to reset and issue them new passwords using the
Update User functionality.
b) The system shall enable the librarian to update a member’s information using the Update Member
functionality. This information comprises of all the member’s details.
c) The system shall enable the librarian to add a member card using the Add Card functionality. This
enables the necessary information concerning the member to be captured in order to process their
respective cards. The system shall enable the librarian to print the member’s card using the Print
Card functionality. The system shall enable the librarian to update, display, and search or delete the
member’s card information from the system using the Update Card, List Card, Search Card or Delete
Card functionalities.
d) The system shall enable the librarian to display all the members registered to the system using the List
Member functionality. The system shall enable the librarian to delete, update, and search a member
using the Delete Member, Update Member, and Search Member functionalities.
e) The system shall enable the librarian to add new books to the system using the Add Book functionality
where he captures all the book details into the system. The system shall enable the librarian to list,
delete, update, and search a book using the List Books, Delete Book, Update Book, and Search Book
functionalities respectively. The system shall enable the librarian to view damaged books, lost books,
overdue books, and returned books using their respective functionalities in the system.
f) The system shall enable the librarian to add new authors to the system using the Add Author
functionality where he captures all the authors’ details into the system. The system shall enable the
librarian to list, delete, update, and search an author using the List Authors, Delete Author, Update
Author, and Search Author functionalities.
g) The system shall enable the librarian to add new authors books to the system using the Add Author
Book functionality where he captures all the authors’ books details into the system. The system shall
enable the librarian to list, delete, update, and search an author’s books using the List Author Books,
Delete Author Book, and Update Author Book functionalities.
h) The system shall enable the librarian to add publishers to the system using the Add Publisher
functionality where he captures all the publishers’ details into the system. The system shall enable
the librarian to list, delete, update, and search a publisher using the List Publishers, Delete Publisher,
Update Publisher, and Search Publisher functionalities.
i) The system shall enable the librarian to add a category to the system using the Add Category
functionality where he captures all the category details into the system. The system shall enable the
21 | P a g e
librarian to list, delete, update, and search a category using the List Category, Delete Category,
Update Category, and Search Category functionalities.
j) The system shall enable the librarian to add a books category to the system using the Add Book
Category functionality where he captures all the books category details into the system. The system
shall enable the librarian to list, delete, and update a books category using the List Book Category,
Delete Book Category, and Update Book Category functionalities.
k) The system shall enable the librarian to issue a book to a registered member using the Add Lending
functionality where all the information about the issued books is entered. The system shall enable the
librarian to display the books and members who borrowed them using the List Lending functionality.
The system shall enable the librarian to search for a member who borrowed the books using Search
functionality.
l) The system shall enable the librarian to view member fines and print a receipt for the member. The
system shall enable the librarian to view, list, and update member reservation and member complaints
using their respective functionalities in the system.
m) The system shall enable the librarian to view reports generated by the system. The system shall print
out these reports.
n) The system shall enable the librarian to respond to member complaints by sending them an email
using the Mail functionality after which it allows him/her to delete them using the Delete
functionality.
o) The system shall enable the librarian to list and respond to the visitor’s feedback using the Manage
feedback functionality. The system shall enable the librarian to delete and update the feedback using
the respective functionalities.
p) The system shall enable the librarian to change his/her password using the Change Password
functionality.
q) The system shall enable users to view and update their profile using the Profile and Update Profile
functionalities respectively.
r) The system shall enable a member to display and search books using the Display Book and Search
Book functionalities.
s) The system shall enable a member to reserve a book if they wish depending on the books availability
and allow them to check the reservation status using the Reserve Book and Check Reservation Status
functionalities respectively.
t) The system shall enable a member to view their history where they can check their past activities and
outstanding balances using the View History functionality.
u) The system shall enable a member to view books gallery using the Gallery functionality.
22 | P a g e
v) The system shall enable a member to file a complaint using the File Complaint function.
w) The system shall enable a member to change his/her own password using the Change Password
functionality.
3.3.2.2.1. Security
The LBMS has incorporated authorization mechanisms that ensure users access the system according to
the access levels granted to them. This has also ensured that certain functions are assigned to different
modules hence preventing unnecessary communication between some parts of the program.
The system has incorporated the use of mysql_real_escape_string function for all calls to MySQL
database to prevent SQL injection. This function removes any magic quotes added to any input string by
users and properly sanitizes the input. The system has incorporated the aspect of sanitizing user input to
prevent possible hacking by passing any variables received from the $_POST and $_GET arrays through
the mysql_real_escape_string function.
The system has incorporated the use of htmlentities function to prevent HTML injection, Cross Site
Scripting (XSS) and to ensure user’s privacy and protection. This function prevents malicious users from
inputting java script code that could display itself on the systems website. It also prevents the malicious
users from stealing cookies from the system users which might disclose crucial information like
passwords and usernames. They also prevent them from launching an attack to download Trojan horse on
the user’s PC.
The system has incorporated the use of a one-way-function, in this case the sha1 function, which is easy
to use and converts strings of text into a random string. This function is impossible to reverse hence
making its output to be safely stored in the database. The sha1 function encrypts user passwords. This
function has an algorithm that passes a string to hash and returns a 40 character hexadecimal number.
3.3.2.2.2. Performance
3.3.2.2.2.2. Throughput
The LBMS shall enable many users to access it concurrently. The volume of transactions will depend
directly on the number of users.
23 | P a g e
3.3.2.2.2.3. Utilization of Resources
The LBMS shall make use of a MySQL database that can handle close to 5000 records. The system
resources shall be modified in accordance with user requirements.
3.3.2.2.3. Reliability
The LBMS shall operate 99% of the time. This system has to be reliable due to the important role it plays,
and the crucial data it handles.
3.3.2.2.4. Accuracy
The LBMS accuracy is determined by the speed of use executed by its users.
3.3.2.2.6. Availability
The LBRM shall be 100% available to all the users. The users shall be able to use it 24hrs a day, and 365
days a year. This system shall operate 24hrs a day and 7days a week.
3.3.2.2.3. Portability
The LBMS has been developed and coded using PHP scripts. These scripts run on a windows
environment via the Wamp Server. The codes can be moved from this environment to other platforms like
UNIX and Mac OS supporting other servers like IIS, Apache with PHP scripts and ODBC modules
installed.
3.3.2.2.4. Usability
The LBMS has a user friendly interface which is self-explanatory and easy to use. It supports any web
browser as an interface making it easily accessible and usable. It requires no specific training on the
user’s part. Any kind of errors have been handled using a number of formats.
3.3.2.2.5. Friendliness
The LBMS’s has a simple look and feel with highly contrasting colors.
3.3.2.2.6. Privacy
The LBMS user privacy has to be secured and protected.
3.3.2.2.7. Extensibility
The LBMS should be expanded in the future to handle more users and books.
24 | P a g e
3.3.3. System Architecture
The Library Book Management System makes use of a Layered Architecture. Architectural designs have
to incorporate the concept of independence and separation. This allows any changes taking place to be
localized. A layered architecture applies this notion of independence and separation. The systems
functionality is organized and divided into separate layers. Each layer depends on the services offered by
the immediate layer beneath it. The system was developed incrementally allowing users to access some
services provided by the layers as they underwent development. This architecture is also portable and it
can be changed easily. This systems architecture is divided into a number of layers including the web
browser, user interface, core functionality, and the operating system/database.
This layer comprises of the database and operating system which basically acts as the support software
for the system. This system can run on any operating system including Window, Linux, and Mac OS. It
makes use of MySQL database running on Wamp Server. PHP server side scripting language was used to
code the system.
25 | P a g e
LIBRARY BOOK MANAGEMENT SYSTEM
User Interface
Staff Member
Portal Portal
Core Functionality
Staff Member
Login Login
Application Layer
Fig 1: Layered Architecture diagram for the Library Book Management System
26 | P a g e
4. SYSTEM ANALYSIS AND DESIGN
Fig 2: The Site Map of Library Book & Revenue Management System.
27 | P a g e
4.1.1. Librarian Portal
28 | P a g e
4.1.2. Member Portal
29 | P a g e
4.2. Level 0 DFD (Context Diagram)
LIBRARIAN
Display Books/
members
Display
reports
Respond to
Login complaints
Accepted Issue
Login
Or book
Search Rejected
Search member
book
Login accepetd/rejected
Display book
MEMBER Borrow book
feedback
Issue fines
In the context diagram above, users login the system. They are either accepted or rejected. A member can
reserve a book, borrow a book, return a book, display books, search books, file complaint, and receive
feedback from the system. The system also issues them fines. A librarian can issue a book, search a
member, search a book, display reports, view members, view books, and respond to complaints.
30 | P a g e
4.3. Level 1 DFD
4.3.1. Member
member 1.
details member
Verify details
Valid member member
Non-valid Rejected or
member Non- member
2. member profile
Member requests details
members
View Profile
To view profile
Valid
Member
Member requests 4. Searched book
To search book details
books
Search book
Book details 5.
Book details
Display book
Book
Member requests 11. details
Member
To reserve book Reserve book details
Member book
Reservation details
reservation
12. Member
Reservation Check details
Reservation
confirmation reservation details
status
Member request
To file complaint 13.
Complaint
File complaint details
Complaint
feedback
14. Complaint complaint
View details
complaint
feedback
31 | P a g e
4.3.2. Librarian Staff
Staff member 1.
details
Verify Staff member
details
members
Valid staff member member
Valid
Staff Member Staff member requests 6.
Issued member book details
To issue book Issue book
7.
Staff member displays Issued member book
Issued book details
Display Issued details
membook
book
Member
payment Book
10. details
Bill member Payment details
Generated
reports Payment details Revenue
15.
Generate
Reports
In Fig 6 & 7 above, a member can be a librarian staff or a normal member. The system verifies a member
by matching their input details with the ones in the member’s data store. An error message is issued if the
details are invalid. The members can view and update their profile whose details are retrieved from the
member’s data store. A member can search and display a book whose details are retrieved from the books
32 | P a g e
data store. A librarian staff can issue a book to members and these details stored in the membook data
store. He/she can display issued books whose details are retrieved from the membook data store. The
librarian staff can returns a book, which had been borrowed by a member, to the system; these details are
stored in the membook data store. Using these details, the system calculates fines and enables the staff to
view them. The staff bills a member and the system stores the details in the revenue data store. A member
can reserve a book. This process requires the respective member details retrieved from member’s data
store and book details retrieved from books data store. Reservation details are stored in the reservations
data store. A member checks reservation status whose details are retrieved from the reservations data
store. He/she can go ahead and file a complaint whose details are stored in the complaint data store. The
member can view complaint feedback. The system generates reports automatically on request by the
librarian who selects the desired report to be displayed.
33 | P a g e
4.4. Use Case Diagram
Login
Maintain User
Details
Maintain Member
Details
Maintain Book
Details
Lend Book
Reserve Book
Search Book
File Complaint
Generate Report
Search Member
34 | P a g e
4.4.1. Login Use Case Narration
Login
Use Case Name
This use case shows the process followed by a user before login into
4.4.1.1. Introduction
the Library Book Management System.
I. Librarian.
4.4.1.2. Actors
II. Member.
None.
4.4.1.3. Pre-Conditions
If the use case is successful, an actor is logged into the system.
4.4.1.4. Post-Condition
The system state remains unchanged if the use case was not carried
out.
The use case begins when an actor wishes to login to the LBMS.
4.4.1.5. Basic Flow
a. The actor is requested to enter his/her username and
password.
b. The actor then responds by entering their respective login
details.
c. LBMS validates the input login details, and if found
authentic the user is allowed into the system.
35 | P a g e
4.4.2. Maintain User Details Use Case Narration
Maintain User Details
Use Case Name
This use case enables the librarian to maintain all the LBMS’s user
4.4.2.1. Introduction
details, which includes adding, updating, and deleting users from the
system.
Librarian.
4.4.2.2. Actors
Before this use case begins, the librarian must be logged on to the system.
4.4.2.3. Pre-Conditions
User details are update, added, or deleted if the use case was successful.
4.4.2.4. Post-Condition
The system state remains unchanged if the use case was not carried out.
The use case begins when the librarian wishes to add, update, or delete a
4.4.2.5. Basic Flow
user from the system.
I. This system requests the librarian to specify the action they wish
to perform, which could be to add, delete, or update a user details.
II. One of the sub-flows executes upon been chosen by the librarian.
If he/she chose add user, the sub-flow executes.
If he/she chose update user, the sub-flow executes.
If he/she chose delete user, the sub-flow executes.
36 | P a g e
4.4.2.5.3. Delete User
1. The system requests the librarian to click on the row containing
the user_id to be deleted.
2. The system prompts the librarian to confirm the deletion action,
and then it fetches the respective user details to be deleted.
3. System then deletes the user from the system.
None
4.4.2.7. Special
Requirements
None
4.4.2.8. Use Case
Relationship
37 | P a g e
4.4.3. Maintain Member Details Use Case Narration
Maintain Member Details
Use Case Name
This use case enables the librarian to maintain all the LBMS’s member
4.4.3.1. Introduction
details, which includes adding, updating, and deleting members from the
system.
Librarian.
4.4.3.2. Actors
Before this use case begins, the librarian must be logged on to the system.
4.4.3.3. Pre-Conditions
Member details are update, added, or deleted if the use case was
4.4.3.4. Post-Condition
successful.
The system state remains unchanged if the use case was not carried out.
The use case begins when the librarian wishes to add, update, or delete a
4.4.3.5. Basic Flow
member from the system.
a. This system requests the librarian to specify the action they wish
to perform, which could be to add, delete, or update a member
details.
b. One of the sub-flows executes upon been chosen by the librarian.
If he/she chose add a member, the sub-flow executes.
If he/she chose update a member, the sub-flow executes.
If he/she chose delete a member, the sub-flow executes.
38 | P a g e
c. The librarian makes desired changes in the various inputs
containing the member details.
d. Ones the librarian is done doing the changes; the system updates
the member details.
None
4.4.3.7. Special
Requirements
None
4.4.3.8. Use Case
Relationship
39 | P a g e
4.4.4. Maintain Book Details Use Case Narration
Maintain Book Details
Use Case Name
This use case enables the librarian to maintain all the LBMS’s book
4.4.4.1. Introduction
details, which includes adding, updating, and deleting books from
the system.
Librarian.
4.4.4.2. Actors
Before this use case begins, the librarian must be logged on to the
4.4.4.3. Pre-Conditions
system.
Book details are update, added, or deleted if the use case was
4.4.4.4. Post-Condition
successful.
The system state remains unchanged if the use case was not carried
out.
The use case begins when the librarian wishes to add, update, or
4.4.4.5. Basic Flow
delete a book from the system.
a. This system requests the librarian to specify the action they
wish to perform, which could be to add, delete, or update a
book details.
b. One of the sub-flows executes upon been chosen by the
librarian.
If he/she chose add a book, the sub-flow executes.
If he/she chose update a book, the sub-flow executes.
If he/she chose delete a book, the sub-flow executes.
40 | P a g e
a. The system requests the librarian to click on the bk_code in
the row containing the book details they wish to update.
b. The system retrieves and displays the book details.
c. The librarian makes the desired changes in various inputs
containing the book details.
d. Ones the librarian is done doing the changes; the system
updates the book details.
None
4.4.4.7. Special Requirements
None
4.4.4.8. Use Case Relationship
41 | P a g e
4.4.5. Lend Book Use Case Narration
Lend Book
Use Case Name
This use case enables the librarian to issue out books to registered
4.4.5.1. Introduction
members.
1. Librarian.
4.4.5.2. Actors
2. Member.
Before this use case begins, the librarian must be logged on to the
4.4.5.3. Pre-Conditions
system.
Books should be available.
A members should provide the librarian with his/her member_no.
A member is issued books if the use case was successful.
4.4.5.4. Post-Condition
The system state remains unchanged if the use case was not carried
out.
The use case begins when the librarian wishes to issue/lend books to a
4.4.5.5. Basic Flow
member.
The librarian choses add lending function to realize this action.
42 | P a g e
by a member exceeds six, and they are not yet returned. At this
point the use case ends.
43 | P a g e
4.4.6. Return Book Use Case Narration
Return Book
Use Case Name
This use case enables a member to return books.
4.4.6.1. Introduction
1. Librarian.
4.4.6.2. Actors
2. Member.
Before this use case begins, the librarian must be logged on to the
4.4.6.3. Pre-Conditions
system.
A member should have borrowed books.
A member should provide the librarian with his/her mem_no.
A member returns books if the use case was successful.
4.4.6.4. Post-Condition
The system state remains unchanged if the use case was not carried
out.
The use case begins when the member wishes to return the
4.4.6.5. Basic Flow
borrowed books.
The librarian choses update lending function to realize this action.
44 | P a g e
If in the sub-flow the librarian decides to cancel the
lending then the process is terminated and basic flow
restarted from the beginning.
45 | P a g e
If a member chooses to cancel reservation, the sub-flow will
be executed.
If a member chooses to check reservation status, the sub-
flow will be executed.
If a librarian chooses to update reservation, the sub-flow will
be executed.
If the librarian chooses to delete reservation, the sub-flow
will be executed.
46 | P a g e
The system prompts the librarian if they would like to go
ahead with the deletion action.
The system queries the database, fetching the respective
reservation details.
The reservation is deleted.
47 | P a g e
4.4.8.5.1. Search Book
a. The system requests the user to select search criteria.
b. The system queries the database to fetch the book details and
displays the results to the user.
48 | P a g e
The librarian choses the search function to realize this action.
49 | P a g e
4.4.10.5.1. File Complaint
a) The system requests the member to enter the mem_no,
compliant date, email, phone, and notes.
b) Ones they provide this details, a complaint is filed.
The librarian generates and views reports if the use case was
4.4.12.4. Post-Condition
successful.
The system state remains unchanged if the use case was not
50 | P a g e
carried out.
The use case begins when the librarian wishes to generate
4.4.12.5. Basic Flow
reports.
He/she choses the generate report function.
librarian or
member 4. verify user details
5. Success
or
Error message
51 | P a g e
Fig 9: Login Sequence Diagram
Process:
4. User Successfully
Added/Updated
7. Delete User
Details
8. Delete Successful
or
Error message
Process:
52 | P a g e
3. Add/Update the user details.
4. Issue success or error message.
5. Select row containing user id to be deleted.
6. Submit user id.
7. Delete user details.
8. Success or error message.
1. Enter Member
Details
2. Submit Member
Details
3. Add/Update Member
Details
4. Success or
Error Message
5. Select row
containing member no
to be deleted
6. Submit member no
7. Delete Member
Details
8. Success
or
Error Message
Process:
53 | P a g e
3. Add/update member details.
4. Issue success or error message.
5. Select row containing member number to be deleted.
6. Submit member number.
7. Delete member details.
8. Success or error message.
1. Enter Book
Details
2. Submit Book
Details
3. Add/Update Book
Details
4. Success or
Error Message
5. Select row
containing book code
to be deleted
7. Delete Book
Details
8. Success
or
Error Message
Process:
54 | P a g e
2. Submit the book details.
3. Add/update book details.
4. Issue success or error message.
5. Select row containing book code to be deleted.
6. Submit book code.
7. Delete book details.
8. Success or error message.
: Member : Book
: Message Details Details : Lending : Member : Book :Member Book
: Librarian
Form Controller Controller Form Details Details Details
1. Enter Member no
2. Get Member Details
4. Invalid
member
5. Check if can borrow books
6. cant
borrow
message
Process:
55 | P a g e
4. Issue invalid member message. 10. Book can’t be issued.
5. Check if member can borrow books 11. Enter lending details (mem_no, bk_code
6. Member can’t borrow book message borrow date, due date, return date).
12. Add lending details.
1. Enter member no
2. Get member book
details
5. Calculate Fine
Process:
56 | P a g e
4.6.7. Search Book Sequence
4. Display Results
Process:
57 | P a g e
4.6.8. Reserve Book Sequence
5. Success/
Error
message
9. Delete Reservation
Process:
58 | P a g e
4.6.9. File Complaint Sequence
1. Enter complaint
User can be a details
2. Submit complaint
member or details
librarian 3. Add Complaint details
4. success or
error message
8. Submit details
7. Delete compliant
8. Delete successful
message
Process:
59 | P a g e
4.6.10. Generate Report Sequence
1. Click on the
report to be
generated 2. Submit report
to be generated
3. Query database to
get report details
4. Display report
Process:
60 | P a g e
4.6.11. Search Member Sequence
: Search
: Search : Member
: Librarian Members
Controller Details
Form
1. Enter mem_no
2. Get Details
3. Search Details
4. Display Results
Process:
61 | P a g e
4.7. Activity Diagrams
enter username
[Empty
[user] Text
Login [validate] Fields] [Login again]
Empty fields error message Clear text fields
User can be a
librarian or a member [Filled Text fields
enter password authenticate user]
[Invalid
user]
Issue invalid user error message Clear text fields
[login again]
[Valid User]
Logged In
[user
details] [Non-user]
Add User Enter user details Add user details
[Librarian]
Choose Action Update User Select row with user_id to be updated Update User
[user details]
Delete User Select row with user_id to be deleted Delete User
62 | P a g e
4.7.3. Maintain Book Details
[book exists]
[book
[Librarian] details]
Choose Action Update Book Select row with bk_code to be updated Update Book
[book details]
Delete Book Select row with bk_code to be deleted Delete Book
63 | P a g e
4.7.5. Issue Book Activity Diagram
Enter mem_no
[validate [Empty
[Librarian] details] inputs]
Issue error message Clear Fields
[wrong
details]
Issue Error message
[correct details]
[not available]
Cant issue book
[is available]
[borrowed
books>6]
Issue Error Message
[borrowed
books<6]
64 | P a g e
4.7.6. Return Book Activity Diagram
Enter mem_no
[validate [Empty
[Librarian] inputs] inputs]
Issue error message Clear Fields
[wrong
details]
Issue Error message
[correct details]
Return book
Calculate Fine
65 | P a g e
4.7.7. Search Book Activity Diagram
User
Enter publisher name Enter category name or cat_id Enter book title Enter author name Enter book code
[publisher
[category details] [book details] [author details] [book details]
details]
Search Results
[Correct details]
[search details
not available]
Error message
Display Results
66 | P a g e
4.7.8. Reserve Book Activity Diagram
Enter mem_no
[user]
[Empty
[validate] inputs]
Issue error message Clear fields
User can be
a librarian Enter bk_code
or a member [Filled inputs]
[Incorrect
details]
Issue Error Message
[Correct details]
Reserve Book
Update Reservation
[librarian]
Respond to Reservation
67 | P a g e
4.7.9. File Complaint Activity Diagram
[Empty
[user] [validate] inputs]
Enter complaint details Issue error message Clear fields
File Complaint
[librarian]
Respond to Reservation
68 | P a g e
4.8. Conceptual Design
The ERD model diagram below will be used to show the various entities in this system and how they
relate to each other.
Description of Cardinality
An identifying relationship is shown using a dotted line; a non-identifying relationship is shown using a
solid line. Identifying relationship means that the primary key of the parent entity is also included as the
primary key of the child entity forming a compound key. A non-identifying relationship means that the
primary key of the parent entity is included in the child entity this time not as part of the primary key but
as a foreign key. The following is an illustration of Identifying and Non-identifying relationship with
regard to the fig 29 below.
69 | P a g e
publishers reservation users
PK pub_id PK reserve_id PK user_id
authors
PK au_id authorbooks complaint
PK,FK1,I1 au_id PK complain_id
au_fname books members
PK,FK2,I2 bk_code
au_lname
PK bk_code PK mem_no FK1,I1 mem_no
au_phone
au_email email
bk_title mem_fname phone
gender
FK1,I1 pub_id mem_lname complain_date
bk_dop mem_address notes
bk_info mem_city responded_to
category bookcategory bk_version mem_state
PK cat_id PK,FK1,I1 bk_code withdrawn mem_postcode
PK,FK2,I2 cat_id lost mem_phone
cat_name bk_qty mem_email
lend_rate bk_cost mem_occup
daily_fine bk_image mem_dor revenue
bk_isbn mem_dob
contact section FK1,I1 user_id PK rev_no
gender
PK contact_id FK1,I1 mem_no
personalImage
amount_added
fname amount_charged
lname comment
mname served_by
address
membook
city
state PK,FK1,I2 bk_code
postalcode PK,FK2,I1 mem_no membercard
phone
PK card_no
email borrow_date
gender return_date
FK1,I1,U1 mem_no
comment date_due
issue_date
status note_time
expiry_date
returned
memberImage
damaged
Fig 29: Entity Relationship Diagram for the Library Book Management System:
70 | P a g e
Members table Complaint table with Foreign key (mem_no) from
members table.
Members membercard with Foreign key (mem_no) from
members table
An author can have one or many books. The relationship is one to many. A book can have one or many
authors. The relationship is one to many. A book can also be in one or more categories. The relationship
is one to many. A book can be reserved by zero, one or more members. The relationship is zero to many.
A category can have one or many books. This relationship is one to many. A member can borrow zero,
one or more books. This relationship is zero to many. A member can also have one or more complaints.
This relationship is one to many. A member can have one or many revenues. The relationship is one to
many. A member can add one or many member cards. This relationship is one to many. A member can
reserve zero, one or many books. This is a zero to many relationships. User can have one or more
members hence a one to many relationships. A publisher can have one or many books. This is a one to
many relationships. A member can have only one member card. This is a one-to-one relationship. A book
can have one or many members. A member can have one or many books. This is a zero to many
relationships.
71 | P a g e
Table 4.4(b): Table for authors
72 | P a g e
Table 4.4(d): Table for books
73 | P a g e
Table 4.4(e): Table for category
74 | P a g e
Table 4.4(h): Table for contact
75 | P a g e
Table 4.4(i): Table for members
76 | P a g e
Table 4.4(k): Table for publishers
77 | P a g e
Table 4.4(m): Table for revenue
4.10. Normalization
Normalization is a process of producing a set of suitable relations that support organizations data
requirements. The data is transformed from a problem while ensuring its integrity and elimination of
redundancy. This reduces the possibility of encountering anomalies. Normalization ensures that logical
designs are validated to satisfy constraints which prevent unnecessary data duplication. An anomaly refers
to inconsistencies in data stored in a database as a result of operations such as update, insertion, or
deletion. These inconsistencies occur when a specific record is stored in multiple locations and its
respective copies are not updated. To avoid these anomalies, we carry out different implementation levels
called Normal Forms. In this case, we will go up to the third normal form (3NF). The following
illustrates the steps taken to arrive at the 3NF.
Moving from the Un-normalized Form (UNF) to First Normal Form (1NF); which ensures no
repeating groups or elements in the database.
First Normal Form (1NF) to the Second Normal Form (2NF); which ensures no partial
dependencies on a concatenated or compound key.
The table below shows part of the normalization process of the major entities in the system.
78 | P a g e
Table 4.5(a): Table for Normalization
79 | P a g e
Member date of birth Member last name
Member user id Member address
Member gender Member city Book code
Member image Member state Book code Member no Membook
Member username Member postal code Member no
user password Member phone
Member user admin number Member no
Member card no Member email first name
Card issue&expiry date address last name
Member date of Member no address
registration Member first name city
Member date of Member last name state
birth Member address postal code
Member user id Member city phone number Members
Member gender Member state email address
Member image Member postal code date of registration
Member username Memberphone number date of birth
user password Member email address gender
Member user admin Member date of image
registration *User id
Member date of birth
Member user id
Member gender User id
Member image Username
Member username User password Users
User password Admin
Member user admin
80 | P a g e
CHAPTER FOUR
LBMS has been designed and developed with high security standards. A number of security levels have
been designed to limit privileges according to a user type. Users can access a page depending on the
security levels given to them. These levels determine the various rights and operations a user can carry
out on the system. The levels include; the librarian access levels and the members access levels.
The Fig 5.1 (a) shows the Library Book Management System’s homepage. All the users login to the
system from this page. A user clicks on the sign in button where the login form appears enabling them to
carry on with this process.
81 | P a g e
Fig 5.1 (a): The Library Book Management System Home Page.
82 | P a g e
5.1. The Librarian Access Level
The librarian has the responsibility to maintain all the system users. This task includes authorizing users
to access and use the system. Each user is assigned a unique username and password. All the created users
are members by default. For specific users to have more access rights and privileges, an extra security
level has to be enforced on the particular users, hence qualifying them as librarians of the system
Fig 5.1 (c): Figure showing error message: “Username/password combination incorrect”
83 | P a g e
5.1.2. Librarian Profile
The Fig 5.1 (d) below shows the librarian profile which is loaded once he/she successfully logs into the
system. In this case the user is sheddyben, who is also the librarian. It also displays the announcements
posted by the librarian and the form to post a new announcement.
84 | P a g e
Fig 5.1 (d): Figure showing librarian welcome screen once they log in.
85 | P a g e
Fig 5.1 (f), below shows a user created success message. In this case, user dan was created successfully in
the system.
86 | P a g e
Fig 5.1 (i): Figure showing searched user details
87 | P a g e
Fig 5.1 (j): Figure showing add new member form.
88 | P a g e
Fig 5.1 (k): Members list screen shot diagram
89 | P a g e
Fig 5.1 (l): Search member results.
90 | P a g e
5.1.10. List Member Cards
Fig 5.1 (n) below, shows the members cards list.
Fig 5.1 (o): Screen shot diagram showing the searched member card details.
91 | P a g e
5.1.12. Print Card
Fig 5.1 (p) below shows the printed member card. Using this card we can verify members by querying
their member number in the system which displays all their details.
92 | P a g e
5.1.14. Search Book
Fig 5.1 (r) shows the book code number 10 search results. The diagram shows all the books details
including its availability in the library.
93 | P a g e
5.1.16. List Member’s Borrowed Books
Fig 5.1 (t) below shows the list of members borrowed books. From this page we can search a member’s
number to check the books they borrowed. Fig 5.1 (u) shows the search results of the book a member
borrowed. In this case we keyed in member number 25 who is “Daniel Munene”.
94 | P a g e
Fig 5.1 (u): Figure showing member’s borrowed books search results.
95 | P a g e
5.1.19. Member Fines
Fig 5.1 (w) below shows the member fines. From this page a receipt can be issued to the member.
96 | P a g e
5.1.20. Print Receipt
Fig 5.1 (x) below shows the member receipt.
97 | P a g e
5.2. The Member Access Level
Members access the system to certain access levels. On login, the member is welcomed to their home
page where they can view announcements, notifications, and books carousel. They can also view and
update their profile. They can view the books gallery, access external links to other online libraries,
change passwords and file complaints.
Fig 5.2 (a): Figure showing the member page with books carousel, notification, and
announcement’s.
98 | P a g e
5.2.2. Member Profile
Fig 5.2 (b) below shows the members profile. A member can change his or her personal details and view
their respective user details by clicking on the buttons displayed.
99 | P a g e
5.2.3. Display Books
Fig 5.2 (c): below shows books displayed by the system to the logged in members.
100 | P a g e
Fig 5.2 (e): shows the searched book results.
101 | P a g e
5.2.6. Check Reservation Status
Fig 5.2 (g): shows the book reservation status. In this case the book was not yet assigned.
Fig 5.2 (h): Figure showing the member’s history and fines.
102 | P a g e
5.2.8. E-Library
Fig 5.2 (i): below shows the E-library links where a member can visit other online libraries.
103 | P a g e
5.2.10. File Complaint
Fig 5.2 (k): below shows member filing a complaint. Fields required include: Email, Phone, Date, and
Comment.
104 | P a g e
CHAPTER FIVE
Preface
This section contains the Software Requirements Specifications (SRS) document for the Library Book
Management System.
6.1. Introduction
The subsequent sections contain a general overview of the entire Software Requirements Specifications
document.
6.1.1. Purpose
This SRS document contains all the software requirements needed for the Library Book Management
System.
6.1.2. Overview
This document is prepared in respect to the IEEE Recommended Practice for SRS. The system’s product
perspective, the system’s product functions, the system’s user characteristics, the system’s general
constraints, the system’s assumptions and dependencies are covered in section 5.2. Section 5.3 covers the
system’s functional, non-functional and external interface requirements.
105 | P a g e
Automated date pickers which prevents users from entering ambiguous dates.
All text boxes are validated to ensure correct data in entered in the system.
Check boxes that ensure the user keys in the correct information.
The system has confirmation messages, alerts, and error messages. These error messages include; web
server error messages, input, process, and output error messages.
Client Side: Personal computer supporting Windows OS, Mac OS, and Linux OS environments with a
keyboard and mouse, printers, 3.0 GHz processor, at least 1GB RAM, 17 inch Color Monitor, and at least
80GB HD.
Client Side: The client side requires Internet Explorer, Google Chrome, or Mozilla Firefox browser
applications to run and any OS that can support them.
6.2.1.7. Operations
The librarian confirms whether a member is registered to the system before carrying out any transactions
with him/her with regard to the system. The librarian adds new users to the system and issues them a
membership card. The librarian issues registered members with books and handles their return. The
members should be able to know the books they borrowed and fines charged against them through the
system. Members reserve books through the system and check the status online. Members return
borrowed books and the system charges them accordingly. Librarian prints out receipts and issues them
106 | P a g e
out to the respective members. Members file complaints and librarians respond to them via mail. All the
system users search books using their preferred criteria and the system displays the results to them. All
the users access and update their profiles through the system. The system generates reports for use by the
librarians.
Reliability: Users must avoid the use of blank characters when filling any inputs.
Parallel Operations: The system must enable many users to access it simultaneously.
107 | P a g e
Control Functions: The system has confirmation messages, alerts, and error messages. Error messages
include; web server error messages, input, process, and output error messages. Error handling is done
using the various data recovery and error handling mechanisms.
Screen Formats: The first screen to be displayed is the LBMS home page. This web page contains a
login form where all the users have to be authenticated for them to have full access to the system. The
web page has tabbing capability allowing users to open other related links in other tabs, hence enabling
multiple windows to be visible. These way users can easily switch between multiple pages displayed on
the screen.
Screen Messages: A number of messages are displayed while using the system, for instance the
JavaScript prompt messages, error messages, among others. These messages require user to take the most
appropriate actions accordingly.
108 | P a g e
6.3.1.4. Communication Interface
A communication is established between client systems and servers interconnected together via the LAN
with 100Mbs access to the internet backbone.
109 | P a g e
CHAPTER SIX
A number of limitations were encountered. They include; the time given to complete the project was
limited given that the researcher had other task to perform on the side. Learning of new technologies in
order to come up with a good system also took part of the system development time.
7.2. Recommendations
There is a need for people to take initiative to be computer literate in order to familiarize with these
technologies and appreciate them. Library staffs need to undergo training in order to acquire basic skills
in information technology which will enable them to use the library book managements system. Libraries
across the country should embrace the trend of automating their services. This system should be extended
to incorporate other modules for example the acquisition module among others, in order to be fully
integrated.
7.3. Conclusions
The availability of new technology has enabled automation of nearly all services provided in any facet of
life. The library is not an exception to this great idea; hence it comes with a good number of advantages
when all the activities that take place in it are automated. New jobs will always be created as a result of
automation. Staff will always be motivated to work with new automated systems, since a lot of paper
work is eliminated, and functions and services are concentrated just within the power of a mouse click
and input of data into the system. Costs are incurred only once; when buying the system, and training
personnel. Users have the convenience of accessing the system from the comfort of their locations since
its web based. Cost benefit analysis of the system also shows that it generates more revenue than expenses
hence the system is economically feasible.
110 | P a g e
8. REFERENCES
Aggarwal, K.K., & Singh, Y. (2007). Software Engineering (3rd Ed.). New Age International
Publishers.
Alison Felstead. (2004). “Library systems marketplace: a digest of current literature” Program:
electronic library and information systems.
Aswal, R.S., (2006). “Library Automation for 21 Century”. New Delhi: Ess Ess Publication.
Chweh, S. S. (1982). “User criteria for evaluation of library service”. Journal of Library
Administration, 2(1), 35-46.
Gapen, D. K. (1993). “The virtual library: Knowledge, society and the librarian.” In The Virtual
Library: Visions and Realities, edited by L. M. Saunders, pp.1-14. Information Today, Medford,
NJ.
Johnson, K., Houda, T., & Tony T. (2004). “Library Support for Online Learners: e-Resources,
e-Services, and the Human Factors.” In Theory and Practice of Online Learning, edited by Terry
Anderson and Fathi Elloumi. Athabasca, Alberta: Athabasca University, 349-365.
111 | P a g e
APPENDIX
112 | P a g e
Appendix 2 c. Member Fines Report
113 | P a g e
Appendix 2 g. Authors Report
Appendix 3: CODE
index.php: Login form code
<?php
$password = trim(mysql_prep($_POST['password']));
$query = "SELECT user_id, username, admin FROM users WHERE username='{$username}' AND
hashed_password='{$hashedPassword}' LIMIT 1";
$result_set = mysql_query($query);
if (mysql_num_rows($result_set) == 1) {
$found_user = mysql_fetch_array($result_set);
$_SESSION['user_id'] = $found_user['user_id'];
$_SESSION['username'] = $found_user['username'];
$_SESSION['admin'] = $found_user['admin'];
114 | P a g e
?> <form class="form-signin" action="index.php" method="post">
<div class="control-group">
<label class="control-label">Username:</label>
<div class="controls">
placeholder="username"/>
</div>
</div>
<div class="control-group">
<label class="control-label">Password:</label>
<div class="controls">
</div>
</div>
<div class="control-group">
<div class="controls">
</div>
<p>
115 | P a g e
adduser.php
<?php //check if the form and its information have been submitted.
if (isset($_POST['submit'])) {
confirm_query($result3);
$row = mysql_fetch_row($result3);
$user_id = $row[0];
$user_name = $row[0];
confirm_query($result2);
} else {
$username = "";
$password = "";
?>
116 | P a g e
<?php
</table></div>
</form><br/><br/><br/><br/>
</div>
<br/><br/><br/><br/> ';
echo $html;
?>
if (!function_exists("GetSQLValueString")) {
//escapes the string using MySQL's built-in string escaping function, then if it is a non-numeric value,
surrounding it in single quotes
117 | P a g e
//get_magic_quotes_gpc function returns TRUE if magic quotes are active. In that case, any slashes that
have been added to a string have to be removed or the function }
switch ($theType) {
case "text":
break;
case "long":
case "int":
break;
case "double":
break;
case "date":
break;
case "defined":
break;
return $theValue;}}
searchbook.php
<?php
error_reporting(0);//error handling
$message = NULL;
118 | P a g e
//query to display book
$row_rs = mysql_fetch_assoc($rs);
$ca = mysql_num_rows($rs);
$ca_two = mysql_num_rows($result);
} else {}?>
<div class="span2">
119 | P a g e
<div class="span3"><p>EDITION: <?php echo $row['bk_version']; ?><br/></p>
</div>
<?php } ?>
120 | P a g e