"Introduction of Project": Library Management System
"Introduction of Project": Library Management System
"Introduction of Project": Library Management System
“Introduction of Project”
LMS is a Library Management system for managing books in a multi-floored
High School library in Atlanta which is a 24-hour library. The system would
enable the users to borrow books from the library. The books are either
reserved for reading in the library itself or available for requesting for checkout.
The staff of the library handles check-in check-out procedures using the LMS
and is responsible for maintaining the correct book status online.
1. Flexibility.
2. Time efficient.
3. Cost effective.
4. Highly reliable.
5. Easily Accessible Anytime from Any Internet Connection.
1
Library Management System
“System Requirements ”
Hardware Requirements:-
Software Requirements:-
Windows 7 or Higher
Back End – MySQL version 5.5
PHP Designer 8
WAMP Server 2.1
Front End – Browser with support for PHP
2
Library Management System
“System Analysis”
The way that is followed while carrying on with the development application is
as follows:
Defining a problem:
Defining a problem is one of the important activities of the project. The
objective is to define precisely the business problem to be solved & thereby
determined the scope of the new system. This phase consists of 2 main tasks.
The 1st task within this activity is to review the organization needs that
originally initiated the project. The 2nd task is to identify, at an abstract or
general level, the expected capabilities of the new system. Thus, it helps us to
define the goal to be achieved & the boundary of the system. A clear
understanding of the problem will help us in building a better system & reduce
the risk of project failure. It also specifies the resources that have to be made
available to the project. Three important factors project goal, project bounds &
the resource limits are sometimes called the project’s term of reference.
Feasibility study:
The systems objectives outlined during the feasibility study serve as the basic
from which the work of system design is initiated. Much of the activities
involved at this stage is of technical nature requiring a certain degree of
experience in designing systems, sound knowledge of computer related
technology and through understanding of computers available in the market
and the various facilities provided by the vendors. Nevertheless, a system
cannot be designed in isolation without the active involvement of the user. The
user has a vital role to play at this stage too. As we know that data collected
during feasibility study wills, we utilized systematically during the system
design. It should, however be kept in mind that detailed study of the existing
system is not necessarily over with the completion of the feasibility study.
Depending on the plan of feasibility study, the level of detailed study will vary
3
Library Management System
and the system design stage will also vary in the amount of investigation that
still needs to be done.
4
Library Management System
“Salient Features”
To provide better graphical user interface.
The main objective of the project is to design and develop a user friendly
system.
Less chances of information leakage.
5
Library Management System
“Project Details”
This project is a web based system and can be accessed from any
hardware or software platform which supports a browser to browse
through internet. Application can be hosted on a server and can be
accessed by multiple users from different computers at the same time.
6
Library Management System
2) XAMP Server: -
XampServer refers to a software stack for the Microsoft
Windows operating system, created by Romain Bourdon and consisting of
7
Library Management System
“Module Description ”
The following sections contain a functional description of the system along with
some screen mockups. Each section would explain a particular functionality
and then present an example screen about it.
1. Logging In
There are three kinds of users of the system namely ‘students’, ‘faculty’ and
‘staff’ each identified by their Username. A valid Username and
Password combination is required to log in to the system and proceed. If
the user provides invalid log in credentials, an error message should be
displayed and the user should be redirected to the log in screen.
8
Library Management System
A new user needs to register before using the system. The staff personnel
already have their credentials created behind the scene. Clicking the ‘Create
Account’ link on the login screen displays the new user registration form.
9
Library Management System
After the user clicks Register, the system should verify that all fields are filled
in, that the Username has not already been registered, and that the Password
and Confirm Password fields are equal. If any of these validations fail, the user
should be returned to this screen to make corrections. The user should be
provided with meaningful error messages so he (from here onwards we would
use ‘he’ to represent the user without any intended bias) knows what to correct.
3. Make Profile
After creating an account, the user has to make a profile filling their basic
information. There should be a check if the user is a faculty or not and if
checked yes then the faculty should be asked for his/her associated
department in the university. The department field is not rendered/visible
for student users.
10
Library Management System
4. Search Books
The new user after registration or the existing user after logging in should be
taken to the Search Books screen. Here the user could search a book with its
ISBN, Title or Author. Only one of these fields must be used to search for a
book.
11
Library Management System
Each book in the system has information about its ISBN, Title, Author/s,
Publisher, Place of Publication, Edition, whether it is a book on reserve or not
(A reserved book is only available to be read in the library not for
checkout), Copyright Year, and cost of the book. Remember, the ISBN is
unique for each edition of a particular book. Multiple copies of the same book
edition would have the same ISBN. The staff would track the copies of the same
book with the copy# for that particular book. This copy# would mainly be for
the staff use so that they can track each copy specifically for checking if the copy
is damaged or not, and if the copy has been physically checked out of the library
or not. (The copy number would be written on each physical book) After
looking for the desired book, the user would be shown the availability of the
book in the next screen. If the book is not available, then the system maintains
the earliest date when it becomes available. That date is based on the last
check-out of that copy or the hold-status. Non-availability of the book implies
that none of the copies of the book are available.
The ‘book on reserve’ field would be pre-populated from the database along
with the number of the book copies available for a given ISBN. Reserved books
are kept in a separate area in the library and are available for a day- checkout
inside the library only. The user cannot request a hold on any book on reserve.
12
Library Management System
For those books he should go to the library and request them in person. All
copies of the same book (that means same ISBN) are either reserved or
available for checkout.
If a user wants to keep the book for a longer time period than assigned, he can
request an extension (reissue) from the system as well. He can only use this
functionality on a book that he has physically checked out from the
library. For a student maximum 2 extensions are allowed per issue of a book.
For faculty this number is 5. The estimated return date of the book updates to
14 days from the date of the extension request if that request is accepted. Note
that a student can only keep a book for a maximum of 28 days from the original
check-out date whereas a faculty can keep it for up to 56 days. When the book is
first checked out the checkout date and extension-request- date are same and
the expected- return-date is 14 days from check-out. Thereafter, with every
extension, the extension-request-date is updated, and the expected-return-
date is updated. The original checkout date is always recorded to check that a
user can keep a book for a maximum of 28 days. Also, the extension of a
book is only allowed if that book has not already been requested for
future hold by another user.
13
Library Management System
The user enters the issue Id assigned to him and then submits. The system
looks for his record and auto-populates the current checkout date, current
extension request date (which will be same as the checkout date if this is the
first extension being requested) and current return date. (These would be non-
editable fields). The new extension request would be the current system date
(uneditable) when he is making this request and the new return date
(uneditable) would be system generated date of 14 days later than new
extension request date. Once the user submits, the system would check if the
book has been requested on hold by someone or not; if not, the extension is
accepted. If any book has a future hold then extension is denied for that book.
and the system will accept the request and populate the “future requester” field
for the book with the username of the requester.
7. Track location
functionality helps one locate a book in the library. Each book is associated with
a subject category and each book can belong to only one subject. Each subject
has a name, number of journals, and keywords associated with it. The library
has three floors. Each floor has a floor number, number of copiers, and a
number of student assistants. Each floor can hold books on multiple subjects.
All books of the same subject are on the same floor. And there can be
multiple shelves on each floor. Each shelf has a shelf number, an aisle number
and can hold multiple books. Checkout Screen After requesting a hold on the
book, the user has to check out the book from the library. He can come to the
library, go pick up the book and then go to the terminal where he’ll checkout
from this screen. The process will be facilitated by the staff. The user can enter
the issue_id and the book will have the information about the ISBN and copy
number which will be scanned and shown on the screen along with the user
name. (Imagine that the user scans his card which automatically populates his
username and name.) The date fields are also auto-populated from the
database. If there was a hold request placed by that user on that copy, then it
will be dropped from the system when the book is checked out against it.
15
Library Management System
Remember that when this check out is done, the estimated return date for the
issue is to be updated to 14 days from this checkout date or the last allowed
date(based on the maximum number of days allowed to him and the maximum
number of extensions allowed to him), and the isCheckedout flag has to be
updated as well. Also, in case the user is coming to pick up his book after the
admissible grace period of 3 days, the system should throw him an error saying
that his hold has been dropped. If a copy of that book is still physically in the
library, he can locate it, and still check it out. If no copy is physically available,
he may place a “request for future” on a copy that has the lowest estimated
availability date.
If the book is being returned after the due date, then the user account would be
automatically charged with the late penalty.
16
Library Management System
17
Library Management System
“Project Snapshots ”
LOGIN
REGISTRATION
18
Library Management System
CREATE PROFILE
USER SUMMARY
19
Library Management System
SEARCH BOOKS
TRACK BOOKS
20
Library Management System
BOOK CHECKOUT
21
Library Management System
REQUEST EXTENSION
RETURN BOOK
22
Library Management System
“Coding Part ”
LOGIN
<?php
include 'dbinfo.php';
?>
<?php
session_start();
$_SESSION['username’] =$username;
//connect to the dB
if($result == false)
23
Library Management System
exit();
if(mysqli_num_rows($result) == 1){
header('Location: AdminSummary.php');
//break;
if($result == false)
exit();
if(mysqli_num_rows($result) == 1){
24
Library Management System
header('Location: UserSummary.php');
}else{
//then just above your login form or where ever you want the error to be
displayed you just put in
echo "$err";
?>
<html>
<head>
<style>
#main
height:303px;
width:701px;
margin:200px auto;
background:lightgreen;
#header{
height:70px;
width:697px;
25
Library Management System
background:lightblue;
text-align:center;
#contain{
height:222.5px;
width:600px;
#mid{
height:150px;
width:300px;
</style>
</head>
<body>
<div id="main">
<div id="header">
<h1>LOGIN</h1>
</div>
<div id="contain">
<div id="mid">
<table>
26
Library Management System
<tr>
<td style="font-weight:bold;">Username:</td>
<td> <input type="text"
name="username" required/></td>
</tr>
<tr>
<td style="font-weight:bold;">Password:</td>
<td> <input type="text"
name="password" required/></td>
</tr>
</table>
</form>
</form>
</div>
</div>
</div>
</body>
</html>
27
Library Management System
REGISTRATION
<?php
include 'dbinfo.php';
?>
<?php
session_start();
$username = $_POST['username'];
$password = $_POST['password'];
$confirmpassword = $_POST['confirmpassword'];
$_SESSION['username']=$username;
$_SESSION['password']=$password;
$_SESSION['confirmpassword']=$confirmpassword;
if($password == $confirmpassword) {
if($result == false) {
28
Library Management System
exit();
} else {
header('Location: CreateProfile.php');
} else {
?>
<html>
<head>
<style>
#main
height:303px;
width:701px;
margin:200px auto;
background:lightgreen;
#header{
height:70px;
width:697px;
29
Library Management System
background:lightblue;
text-align:center;
#contain{
height:222.5px;
width:600px;
#mid{
height:150px;
width:300px;
</style>
</head>
<body>
<div id="main">
<div id="header">
</div>
<div id="contain">
<div id="mid">
30
Library Management System
<table>
<tr>
<td>Username</td>
</tr>
<tr>
<td>Password</td>
</tr>
<tr>
<td>Confirm Password</td>
</tr>
</table>
</form>
</form>
</body>
</html>
31
Library Management System
CREATE PROFILE
<?php
include 'dbinfo.php';
?>
<?php
session_start();
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$DOB = $_POST['DOB'];
$address = $_POST['address'];
$gender = $_POST['gender'];
$isfaculty = $_POST['isfaculty'];
$username = $_SESSION['username'];
if($isfaculty == "1") {
$dept = $_POST['dept'];
32
Library Management System
} else {
$dept = null;
'$dept')";
if($result == false) {
exit();
} else {
header('Location: index.php');
?>
<html>
<head>
<style>
#main
height:500px;
width:901px;
33
Library Management System
margin:200px auto;
background:lightgreen;
#header{
height:70px;
width:897px;
background:lightblue;
text-align:center;
#contain{
height:222.5px;
width:600px;
#mid{
height:150px;
width:300px;
</style>
</head>
<body>
<div id="main">
34
Library Management System
<div id="header">
<h1>Create Profile</h1>
</div>
<div id="contain">
<div id="mid">
<tr >
<td>Last Name</td>
</tr>
<tr >
<td>D.O.B</td>
<td>Gender</td>
<td>
<select name="gender">
<option value="M">male</option>
<option value="F">female</option>
</select>
</td>
</tr>
<tr>
35
Library Management System
<td>Email</td>
<td><select name="isfaculty">
<option value="1">Yes</option>
<option value="0">no</option>
</select></td>
</tr>
<tr>
<td>Address</td>
<td>Associate Department</td>
<td><select name="dept">
</select></td>
</tr>
</table>
<tr>
</tr>
</form>
</div>
36
Library Management System
</div>
</div>
</body>
</html>
“Testing”
Software testing is the process of evaluation a software item to detect
differences between given input and expected output. Also to assess the
feature of A software item. Testing assesses the quality of the product.
Software testing is a process that should be done during the development
process. In other words software testing is a verification and validation
process.
Verification
Verification is the process to make sure the product satisfies the conditions
imposed at the start of the development phase. In other words, to make
sure the product behaves the way we want it to.
Validation
Validation is the process to make sure the product satisfies the specified
requirements at the end of the development phase. In other words, to
make sure the product is built as per customer requirements.
37
Library Management System
cycle of system design. In the real sense it is the phase, which helps to
bring out the creativity of the other phases, and makes it shine.
The Smart Library Management System was tested using the following two
techniques of application testing:
Unit Testing:
In the line of strategy the entire individuals function and modules were
put to test independently
By following this strategy all the errors in coding were identified and
corrected.
This method was applied in combination with the White Box and Black
Box testing.
The following were the testes carried out for Graphical User Interface
(GUI).
It was seen that the pages opens properly based on related menu based
commands.
It was tested whether all relevant menus, buttons, icons and other
controls are available and properly displayed.
System Testing :
We use this testing method. System testing is the testing to ensure that by
putting the software in different environments (e.g., Operating Systems) it
still works. System testing is done with full system implementation and
environment. It falls under the class of black box testing.
38
Library Management System
Performance Testing :
Performance testing is the testing to assess the speed and effectiveness of
the system and to make sure it is generating results within a specified time
as in performance requirements. It falls under the class of black box
testing.
“Bibliography”
The following books were referred during the analysis and execution
phase of the project:
BOOKS REFERRED
WEBSITES REFERRED
39
Library Management System
www.google.co.in
www.w3schools.com
www.academia.edu.in
www.students3k.com
40