0% found this document useful (0 votes)
27 views

Full Document - Library Management System

Library

Uploaded by

mani
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Full Document - Library Management System

Library

Uploaded by

mani
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 65

LIBRARY MANAGEMENT SYSTEM

ABSTRACT

The main objective of the A project on library management is to automate the library
management system. This software application manages the student details, employee details,
books details. This system deals with the books issue, book return operations, and fine
calculations. This also takes care for security options. The main modules of this project are:
Books information management system module, issue-return operations module, personal detail
management module, book’s supplier module, student detail module, and employee detail
management module. Library Management System is a program that creates the maintain the
books and issue the books for students.. Each client has different functions available. Students
have the ability to login, take books, search books, and return the books. So taking more time for
a transaction like borrowing a book or returning a book and also for searching of members and
books. Another major disadvantage is that to preparing the list of books borrowed and the
available books in the library will take more time, currently it is doing as a one day process for
verifying all records. Through our software user can add members, add books, search members,
search books, update information, edit information, borrow and return books in quick time.

1
1. INTRODUCTION

The project titled Library Management System is Library management software for
monitoring and controlling the transactions in a library .The project “Library Management
System” is developed in java, which mainly focuses on basic operations in a library like adding
new member, new books, and updating new information, searching books and members and
facility to borrow and return books.

“Library Management System” is a windows application written for 32-bit Windows


operating systems, designed to help users maintain and organize library. Our software is easy to
use for both beginners and advanced users. It features a familiar and well thought-out, an
attractive user interface, combined with strong searching Insertion and reporting capabilities. The
report generation facility of library system helps to get a good idea of which are the books
borrowed by the members, makes users possible to generate reports’ hard copy.

The software Library Management System has four main modules. Insertion to Database
Module – User friendly input screen, Extracting from Database module – Attractive Output
Screen, Report Generation module – borrowed book list & Available book list, Search Facility
system – search for books and members

2
SYSTEM SPECIFICATION

SOFTWARE SPECIFICATION:

 Front End : PHP


 Back End : MYSQL
 Server : WAMP
 Operating System : Windows OS
 System type : 32-bit or 64-bit Operating System
 IDE : DREAMWEAVER
 DLL : Depends upon the title

HARDWARE REQUIREMENTS

 Processor : Intel processor 3.0 GHz


 RAM : 4 GB
 Hard disk : 1 TB
 Compact Disk : 650 MB
 Keyboard : Standard keyboard
 Mouse : Logitech mouse
 Monitor : 15 inch color monitor

SOFTWARE DESCRIPTION

PHP
PHP: Hypertext Preprocessor (or simply PHP) is a general-purpose programming
language originally designed for web development. It was originally created by Rasmus Lerdorf
in 1994 the PHP reference implementation is now produced by The PHP Group. PHP originally
stood for Personal Home Page, but it now stands for the recursive initialism PHP: Hypertext
Preprocessor.

3
PHP code may be executed with a command line interface (CLI), embedded into HTML
code, or used in combination with various web template systems, web content management
systems, and web frameworks. PHP code is usually processed by a PHP interpreter implemented
as a module in a web server or as a Common Gateway Interface (CGI) executable. The web
server outputs the results of the interpreted and executed PHP code, which may be any type of
data, such as generated HTML code or binary image data. PHP can be used for many
programming tasks outside of the web context, such as standalone graphical applications and
robotic drone control.
The standard PHP interpreter, powered by the Zend Engine, is free software released
under the PHP License. PHP has been widely ported and can be deployed on most web servers
on almost every operating system and platform, free of charge.
The PHP language evolved without a written formal specification or standard until 2014,
with the original implementation acting as the de facto standard which other implementations
aimed to follow. Since 2014, work has gone on to create a formal PHP specification.
PHP Objects
Basic object-oriented programming functionality was added in PHP 3 and improved in
PHP 4. This allowed for PHP to gain further abstraction, making creative tasks easier for
programmers using the language. Object handling was completely rewritten for PHP 5,
expanding the feature set and enhancing performance. In previous versions of PHP, objects were
handled like value types. The drawback of this method was that code had to make heavy use of
PHP's "reference" variables if it wanted to modify an object it was passed rather than creating a
copy of it. In the new approach, objects are referenced by handle, and not by value.
Implementations
The only complete PHP implementation is the original, known simply as PHP. It is the
most widely used and is powered by the Zend Engine. To disambiguate it from other
implementations, it is sometimes unofficially called "Zend PHP". The Zend Engine compiles
PHP source code on-the-fly into an internal format that it can execute, thus it works as an
interpreter. It is also the "reference implementation" of PHP, as PHP has no formal specification,
and so the semantics of Zend PHP define the semantics of PHP. Due to the complex and nuanced
semantics of PHP, defined by how Zend works, it is difficult for competing implementations to
offer complete compatibility.

4
Licensing
PHP is free software released under the PHP License, which stipulates that: Products
derived from this software may not be called "PHP", nor may "PHP" appear in their name,
without prior written permission from [email protected]. You may indicate that your software
works in conjunction with PHP by saying "Foo for PHP" instead of calling it "PHP Foo" or
"phpfoo". This restriction on use of "PHP" makes the PHP License incompatible with the
General Public License (GPL), while the Zend License is incompatible due to an advertising
clause similar to that of the original BSD license.
Use

A broad overview of the LAMP software bundle, displayed here together with Squid
PHP is a general-purpose scripting language that is especially suited to server-side web
development, in which case PHP generally runs on a web server. Any PHP code in a requested
file is executed by the PHP runtime, usually to create dynamic web page content or dynamic
images used on websites or elsewhere. It can also be used for command-line scripting and client-
side graphical user interface (GUI) applications. PHP can be deployed on most web servers,
many operating systems and platforms, and can be used with many relational database
management systems (RDBMS). Most web hosting providers support PHP for use by their
clients. It is available free of charge, and the PHP Group provides the complete source code for
users to build, customize and extend for their own use.

5
Dynamic web page: example of server-side scripting (PHP and MySQL)
PHP acts primarily as a filter taking input from a file or stream containing text and/or
PHP instructions and outputting another stream of data. Most commonly the output will be
HTML, although it could be JSON, XML or binary data such as image or audio formats. Since
PHP 4, the PHP parser compiles input to produce bytecode for processing by the Zend Engine,
giving improved performance over its interpreter predecessor.
Originally designed to create dynamic web pages, PHP now focuses mainly on server-
side scripting, and it is similar to other server-side scripting languages that provide dynamic
content from a web server to a client, such as Microsoft's ASP.NET, Sun Microsystems' Java
Server Pages, and mod_perl. PHP has also attracted the development of many software
frameworks that provide building blocks and a design structure to promote rapid application
development (RAD). Some of these include PRADO, CakePHP, Symfony, CodeIgniter, Laravel,
Yii Framework, Phalcon and Zend Framework, offering features similar to other web
frameworks.
The LAMP architecture has become popular in the web industry as a way of deploying
web applications. PHP is commonly used as the P in this bundle alongside Linux, Apache and
MySQL, although the P may also refer to Python, Perl, or some mix of the three. Similar
packages, WAMP and MAMP, are also available for Windows and macOS, with the first letter
standing for the respective operating system. Although both PHP and Apache are provided as
part of the macOS base install, users of these packages seek a simpler installation mechanism
that can be more easily kept up to date.
As of April 2007, over 20 million Internet domains had web services hosted on servers
with PHP installed and mod_php was recorded as the most popular Apache HTTP Server
module. As of August 2019, PHP was used as the server-side programming language on 79.1%
of websites, down from 83.5% previously, where the language could be determined. Web

6
content management systems written in PHP include MediaWiki, Joomla, eZ Publish, eZ
Platform, SilverStripe, WordPress, Drupal, and Moodle. Websites written in PHP, in back-end
and/or user-facing portion, include Facebook, Digg, Tumblr, Dailymotion, and Slack.
For specific and more advanced usage scenarios, PHP offers a well-defined and
documented way for writing custom extensions in C or C++. Besides extending the language
itself in form of additional libraries, extensions are providing a way for improving execution
speed where it is critical and there is room for improvements by using a true compiled language.
PHP also offers well defined ways for embedding itself into other software projects. That way
PHP can be easily used as an internal scripting language for another project, also providing tight
interfacing with the project's specific internal data structures. PHP received mixed reviews due to
lacking support for multithreading at the core language level, though using threads is made
possible by the "pthreads" PECL extension. As of January 2013, PHP was used in more than 240
million websites (39% of those sampled) and was installed on 2.1 million web servers. A
command line interface, php-cli, and two ActiveX Windows Script Host scripting engines for
PHP have been produced. As of 2019, PHP 5 is most used on the web; which was last updated
with security updates in January 2019, with PHP 5.6.40.
Security
In 2017, 3% of all vulnerabilities listed by the National Vulnerability Database were linked to
PHP; historically, about 30% of all vulnerabilities listed since 1996 in this database are linked to
PHP. Technical security flaws of the language itself or of its core libraries are not frequent (22 in
2009, about 1% of the total although PHP applies to about 20% of programs listed).Recognizing
that programmers make mistakes, some languages include taint checking to automatically detect
the lack of input validation which induces many issues. Such a feature is being developed for
PHP, but its inclusion into a release has been rejected several times in the past. There are
advanced protection patches such as Suhosin and Hardening-Patch, especially designed for web
hosting environments. Historically, old versions of PHP had some configuration parameters and
default values for such runtime settings that made some PHP applications prone to security
issues. Among these, magic_quotes_gpc and register_globals configuration directives were the
best known; the latter made any URL parameters become PHP variables, opening a path for
serious security vulnerabilities by allowing an attacker to set the value of any uninitialized global

7
variable and interfere with the execution of a PHP script. Support for "magic quotes" and
"register globals" settings has been deprecated as of PHP 5.3.0, and removed as of PHP 5.4.0.
WAMP
WAMP is an acronym that stands for Windows, Apache, MySQL, and PHP. It’s a
software stack which means installing WAMP installs Apache, MySQL, and PHP on your
operating system (Windows in the case of WAMP). Even though you can install them separately,
they are usually bundled up, and for a good reason too.
What’s good to know is that WAMP derives from LAMP (the L stands for Linux). The
only difference between these two is that WAMP is used for Windows, while LAMP – for Linux
based operating systems.
Let’s quickly go over what each letter represents:
“W” stands for Windows, there’s also LAMP (for Linux) and MAMP (for Mac).
“A” stands for Apache. Apache is the server software that is responsible for serving web
pages. When you request a page to be seen by you, Apache grants your request over HTTP and
shows you the site.
“M” stands for MySQL. MySQL’s job is to be the database management system for your
server. It stores all of the relevant information like your site’s content, user profiles, etc.
“P” stands for PHP. It’s the programming language that was used to write WordPress. It
acts like glue for this whole software stack. PHP is running in conjunction with Apache and
communicating with MySQL.
Instead of installing and testing WordPress on your hosting account, you can do it on
your personal computer (localhost).
WAMP acts like a virtual server on your computer. It allows you to test all WordPress
features without any consequences since it’s localized on your machine and is not connected to
the web.
First of all, this means that you don’t need to wait until files are uploaded to your site,
and secondly – this makes creating backups much easier.
WAMP speeds up the work process for both developers and theme designers alike. What
is more, you also get the benefit of playing around with your site to your heart’s content.
However, to actually make the website go live, you need to get some form of hosting
service and a Domain. See our beginner-friendly article about web hosting for more information.

8
Functionalities
 WampServer`s functionalities are very complete and easy to use so we won`t explain
here how to use them. With a left click on WampServer`s icon, you will be able to:
 Manage your Apache and MySQL services
 Switch online/offline (give access to everyone or only localhost)
 Install and switch Apache, MySQL and PHP releases
 Manage your servers settings
 Access your logs
 Access your settings files
 Create Alias
 Change WampServer`s menu language
 Access this Page
What is MySQL? – An Introduction To Database Management Systems
Database Management is the most important part when you have humungous data around
you. MySQL is one of the most famous Relational Database to store & handle your data. In
this What is MySQL blog, you will be going through the following topics:
What are Data & Database?
Suppose a company needs to store the names of hundreds of employees working in the
company in such a way that all the employees can be individually identified. Then, the company
collects the data of all those employees. Now, when I say data, I mean that the company collects
distinct pieces of information about an object. So, that object could be a real-world entity such as
people, or any object such as a mouse, laptop etc.
Database Management System & Types of DBMS
A Database Management System (DBMS) is a software application that interacts with the
user, applications and the database itself to capture and analyze data. The data stored in the
database can be modified, retrieved and deleted, and can be of any type like strings, numbers,
images etc.
Types of DBMS
There are mainly 4 types of DBMS, which are Hierarchical, Relational, Network, and
Object-Oriented DBMS.

9
 Hierarchical DBMS: As the name suggests, this type of DBMS has a style of
predecessor-successor type of relationship. So, it has a structure similar to that of a tree,
wherein the nodes represent records and the branches of the tree represent fields.
 Relational DBMS (RDBMS): This type of DBMS, uses a structure that allows the users
to identify and access data in relation to another piece of data in the database.
 Network DBMS: This type of DBMS supports many to many relations wherein multiple
member records can be linked.
 Object-oriented DBMS: This type of DBMS uses small individual software called
objects. Each object contains a piece of data, and the instructions for the actions to be
done with the data.
Angular JS
AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your
template language and lets you extend HTML's syntax to express your application's components
clearly and succinctly. AngularJS's data binding and dependency injection eliminate much of the
code you would otherwise have to write. And it all happens within the browser, making it an
ideal partner with any server technology.
AngularJS is what HTML would have been, had it been designed for applications. HTML
is a great declarative language for static documents. It does not contain much in the way of
creating applications, and as a result building web application is an exercise in what do I have to
do to trick the browser into doing what I want?
The impedance mismatch between dynamic applications and static documents is often
solved with:
 a library - a collection of functions which are useful when writing web apps. Your code
is in charge and it calls into the library when it sees fit. E.g., jQuery.
 frameworks - a particular implementation of a web application, where your code fills in
the details. The framework is in charge and it calls into your code when it needs
something app specific. E.g., durandal, ember, etc.
AngularJS takes another approach. It attempts to minimize the impedance mismatch
between document centric HTML and what an application needs by creating new HTML
constructs. AngularJS teaches the browser new syntax through a construct we call directives.
Examples include:

10
 Data binding, as in {{}}.
 DOM control structures for repeating, showing and hiding DOM fragments.
 Support for forms and form validation.
 Attaching new behavior to DOM elements, such as DOM event handling.
 Grouping of HTML into reusable components.
A complete client-side solution
AngularJS is not a single piece in the overall puzzle of building the client-side of a web
application. It handles all of the DOM and AJAX glue code you once wrote by hand and puts it
in a well-defined structure. This makes AngularJS opinionated about how a CRUD (Create,
Read, Update, Delete) application should be built. But while it is opinionated, it also tries to
make sure that its opinion is just a starting point you can easily change. AngularJS comes with
the following out-of-the-box:
 Everything you need to build a CRUD app in a cohesive set: Data-binding, basic
templating directives, form validation, routing, deep-linking, reusable components and
dependency injection.
 Testability story: Unit-testing, end-to-end testing, mocks and test harnesses.
 Seed application with directory layout and test scripts as a starting point.
AngularJS's sweet spot
AngularJS simplifies application development by presenting a higher level of abstraction to the
developer. Like any abstraction, it comes at a cost of flexibility. In other words, not every app is
a good fit for AngularJS. AngularJS was built with the CRUD application in mind. Luckily
CRUD applications represent the majority of web applications. To understand what AngularJS is
good at, though, it helps to understand when an app is not a good fit for AngularJS.
Games and GUI editors are examples of applications with intensive and tricky DOM
manipulation. These kinds of apps are different from CRUD apps, and as a result are probably
not a good fit for AngularJS. In these cases, it may be better to use a library with a lower level of
abstraction, such as jQuery.
Dreamweaver
Adobe Dreamweaver is a proprietary web development tool from Adobe Inc.. It was
created by Macromedia in 1997 and developed by them until Macromedia was acquired by
Adobe Systems in 2005.

11
Adobe Dreamweaver is available for the macOS and Windows operating systems.
Following Adobe's acquisition of the Macromedia product suite, releases of Dreamweaver
subsequent to version 8.0 have been more compliant with W3C standards. Recent versions have
improved support for Web technologies such as CSS, JavaScript, and various server-side
scripting languages and frameworks including ASP (ASP JavaScript, ASP VBScript, ASP.NET
C#, ASP.NET VB), ColdFusion, Scriptlet, and PHP.
Adobe Dreamweaver CC is a web design and development application that uses both a
visual design surface known as Live View and a code editor with standard features such
as syntax highlighting, code completion, and code collapsing as well as more advanced features
such as real-time syntax checking and code introspection for generating code hints to assist the
user in writing code. Combined with an array of site management tools, Dreamweaver allows for
its users to design, code and manage websites, as well as mobile content. Dreamweaver is
an Integrated Development Environment (IDE) tool. You can live preview of changes for the
frontend. Dreamweaver is positioned as a versatile web design and development tool that enables
visualization of web content while coding. Dreamweaver, like other HTML editors,
edits files locally then uploads them to the remote web server using FTP, SFTP, or WebDAV.
Dreamweaver CS4 now supports the Subversion (SVN) version control system.

12
2. SYSTEM STUDY

2.1.1EXISTING SYSTEM

System Analysis is a detailed study of the various operations performed by a system


and their relationships within and outside of the system. Here the key question is- what all
problems exist in the present system? What must be done to solve the problem? Analysis begins
when a user or manager begins a study of the program using existing system. During analysis,
data collected on the various files, decision points and transactions handled by the present
system. The commonly used tools in the system are Data Flow Diagram, interviews, etc.
Training, experience and common sense are required for collection of relevant information
needed to develop the system. The success of the system depends largely on how clearly the
problem is defined, thoroughly investigated and properly carried out through the choice of
solution. A good analysis model should provide not only the mechanisms of problem
understanding but also the frame work of the solution. Thus it should be studied thoroughly by
collecting data about the system. Then the proposed system should be analyzed thoroughly in
accordance with the needs.

2.1.2 DISADVANTAGES

 Low System planning and initial investigation

 Latency in Information Gathering

 Applying analysis tools for structured analysis

13
 High Cost and Low Benefit analysis.

2.2.1 PROPOSED SYSTEM

Proposed system is an automated Library Management System. Through our software


user can add members, add books, search members, search books, update information, edit
information, borrow and return books in quick time. Our proposed system has the following
advantages. User friendly interface, Fast access to database, less error, More Storage Capacity,
Search facility, Look and Feel Environment and Quick transaction. All the manual difficulties in
managing the Library have been rectified by implementing computerization. Library
Management System is a program that creates the maintain the books and issue the books for
students.. Each client has different functions available. Students have the ability to login, take
books, search books, and return the books. So taking more time for a transaction like borrowing
a book or returning a book and also for searching of members and books. Another major
disadvantage is that to preparing the list of books borrowed and the available books in the library
will take more time, currently it is doing as a one day process for verifying all records. Through
our software user can add members, add books, search members, search books, update
information, edit information, borrow and return books in quick time.

2.2.2 ADVANTAGES

 Its data will be secured.


 Its reduce manual works.
 Its reduce time consumption.

14
3. SYSTEM DESIGN AND DEVELOPMENT
3.1 FILE DESIGN

File organization for designers can be tough since we work on so many different projects, with a
variety of clients and teams. Each client has their own way of project management, too. It can be a
lot to handle if you don’t have a proper system in place. There is no right or wrong way to go about
file organization. As long as you can find what you’re looking for quickly, you’re good. However,
the system gets its biggest test when you can find a peculiar file many months after working on a
project too. Below I’m going to describe a file system I’ve been using for many years. Adjust it for
your team or yourself as needed.

15
3.2 INPUT DESIGN

16
17
18
3.3 OUTPUT DESIGN

19
3.4 CODE DESIGN

A fundamental issue of many scientific software tools is that the code is hardly readable if
you are not an expert in the science behind the program. This often stems from names of
variables, functions, files, etc., that are chosen to be as short as possible. Particularly scientists
who are used to work with mathematical formulae in their everyday live tend to use series of
cryptic combinations of one to five characters and Greek letters in their scripts. This may be
concise and physically sound but users and potential programming partners will soon need a
comprehensive manual and book to understand what’s happening.

20
3.5 DATABASE DESIGN

Table structure for table admin

Field Type Null


username varchar(25) No
password varchar(25) No

Table structure for table book_details

Field Type Null


bid int(11) No
book varchar(50) No
author varchar(50) No
quantity int(11) No
details text No
book_imag varchar(50) No
e
rdate varchar(15) No
bcode varchar(25) No
adate varchar(15) No
rfid varchar(100) No

Table structure for table book_return

Field Type Null


id int(11) No
unam varchar(25) No
e
bnam varchar(25) No
e
bcode varchar(25) No
rdate varchar(25) No

Table structure for table enquiry

Field Type Null


id int(11) No
name varchar(25 No
)
email varchar(26 No

21
)
comments varchar(25 No
)
post_date date No

Table structure for table issue_book

Field Type Null


id int(11) No
uname varchar(25 No
)
bid int(11) No
idate varchar(15 No
)
rdate varchar(15 No
)
status int(11) No
return_status int(11) No
st_msg int(11) No

Table structure for table register

Field Type Nul


l
id int(11) No
name varchar(25) No
address varchar(100) No
contact bigint(20) No
email varchar(30) No

22
username varchar(25) No
password varchar(75) No
rdate varchar(15) No
books_taken int(1) No

3.6 SYSTEM DEVELOPMENT

 Admin Login

 Book Details

 User Details

 User Queries

 Issue Details

 Return Details

 User Enrollment

 Search Books

 Get Books

 Return Books

23
3.6.1 DESCRIPTION OF MODULES

Admin Login

Login Module describes only the authenticated person can access this website. The
authentication is provided for specific users only. The authenticated persons are indicated by
admin only. The students also register and login with their username and password.

Book Details

The admin has registered the book information, there are book name, author, publishing,
quantity, book image and describe the book.

User Details

This module is provided for users (students and staffs). The student or staffs had
registered their information in this module. Then they have get permission to access the
application.

User Queries

The admin has retrieved the student’s or the staff's queries. Then the admin can solve the
student’s or the staff's queries and requirements.

Issue Details

24
The admin has monitor and allow issuing the books to students and staffs. The book issue
information is maintained in database.

Return Details

The return book information is maintained in this module. If any student or staff has not
properly return the books within a period, this system automatically display that student or staff
information.

User Enrollment

The new student and staff had to enter in the system; they want to register their
information. Then they have using their username and password and access to account.

Search Books

The user has searched the books in related category. There are book name, subject,
author, and department.

Get Books

The user has selected the required books; send the request to admin for book issue. Then
the user get permission from admin and gets it. The issue information is maintained in the library
system.

Return Books

The userss are properly returning the books into library; otherwise this system has display
the return information to user and admin.

25
4. TESTING AND IMPLEMENTATION

INTRODUCTION

Testing is an activity to verify that a correct system is being built and is performed with
the intent of finding faults in the system. However testing is not restricted to being performed
after the development phase is complete. But this is too carried out in parallel with all stages of
system development, starting with requirements specification. Testing results, once gathered and
evaluated, provide a qualitative indication of software quality and reliability and serve as a basis
for design modification if require a project is said to be incomplete without proper testing.

Test Case
File level deduplication will save a relatively large memory space. In general, file level
deduplication view multiple copies of same file. It stores first file and then it links other
references to the first file. Only one copy will be stored. In testing, even though file names are
same, the system can able to detect deduplication. If we upload the same file by using different
names, it will view only the content and not names. Thus redundant data is avoided.
In registration phase, the user may not registered before and type their information. So if
the user is new user, the alert message will display that the user is not registered before.

26
Fig 7.2 System Testing.

Unit Testing
It is the testing of an individual unit or group of related units. It is done by programmer to
test that the implementation is producing expected output against given input and it falls under
white box testing. Unit testing is done in order to check registration whether the user properly
registered into the cloud. It is done in order to check whether a file is properly uploaded into the
cloud. And an encryption and decryption is checked with unit testing if it is converted properly.
Then deduplication is checked with unit testing.
Integration Testing
All the modules should be integrated into a single module and it should be checked that it
is still working still by integration testing.
System Testing
It is done to ensure that by putting the software in different environments and check that
it still works. System Testing is done by uploading same file in this cloud checking whether any
duplicate file exists.
Software Testing
It is the process of evaluating a software item to detect differences between given input
and expected output. Also to assess the feature of a software item. Testing assess the quality of
the product. It is a process that should be done during the development process. In other words
software testing is a verification and validation process.

27
There are two types of software testing.
1. Black box testing
2. White box testing
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.

5. CONCLUSION

Our project is only a humble venture to satisfy the needs in a library. Several user
friendly coding have also adopted. This package shall prove to be a powerful package in
satisfying all the requirements of the library. The objective of software planning is to provide a
frame work that enables the manger to make reasonable estimates made within a limited time
frame at the beginning of the software project and should be updated regularly as the project
progresses.

28
6. BIBILIOGRAPHY

Following books and eBooks are used to complete this project reports.

 Advanced PHP Remoting 2nd Edition (Ingo Rammer and Mario Szpuszta,
Apress, March 2005)
 PHP to PHP Migration Handbook (Christian Nagel et al, Wrox, January 2003)
 OF PHP (Christian Nagel et al, Wrox, September 2001)
 Data-Centric PHP Programming (Christian Nagel et al, Wrox, December 2001)
 Professional PHP Network Programming 2nd Edition (Christian Nagel et al,
Wrox, September 2004)
 Professional PHP (Christian Nagel et al, Wrox, March 2002)
 Professional PHP Web Services (Christian Nagel et al, Wrox, December 2001)

29
5.1 Architectural Design

30
LIBRARY MANAGEMENT SYSTEM

ADMIN USER

REGISTRA
TION
LOGIN LOGIN

SEARCH
BOOK USER
DETAILS DETAILS
GET

RETURN
COLLECT ISSUE
BOOK DETAILS
DETAILS

A. DATA FLOW DIAGRAM

Level 0

31
New Registration

Login Admin
Issue Book

Return Book

Level 1:

Search Book

Student View book

Return Book

Level 2:

32
Check Availability

Login Student Number of books borrowed

Withdraw book

B. TABLE STRUCTURE
33
Table structure for table admin

Field Type Null


username varchar(25) No
password varchar(25) No

Table structure for table book_details

Field Type Null


bid int(11) No
book varchar(50) No
author varchar(50) No
quantity int(11) No
details text No
book_imag varchar(50) No
e
rdate varchar(15) No
bcode varchar(25) No
adate varchar(15) No
rfid varchar(100) No

Table structure for table book_return

Field Type Null


id int(11) No
unam varchar(25) No
e
bnam varchar(25) No
e
bcode varchar(25) No
rdate varchar(25) No

Table structure for table enquiry

Field Type Null


id int(11) No
name varchar(25 No
)
email varchar(26 No
)
comments varchar(25 No

34
)
post_date date No

Table structure for table issue_book

Field Type Null


id int(11) No
uname varchar(25 No
)
bid int(11) No
idate varchar(15 No
)
rdate varchar(15 No
)
status int(11) No
return_status int(11) No
st_msg int(11) No

Table structure for table register

Field Type Nul


l
id int(11) No
name varchar(25) No
address varchar(100) No
contact bigint(20) No
email varchar(30) No
username varchar(25) No
password varchar(75) No

35
rdate varchar(15) No
books_taken int(1) No

36
APENDIX

SCREEN SHOT

Admin Login

37
Add Book Information

38
View Book info

View Userdetails

39
Issue Details

40
Registration

User Login

41
Search Result

Book Issued

42
Source Code

Home

<?php

session_start();

include("include/dbconnect.php");

//extract($_POST);

$msg="";

$cdate=date("d-m-Y");

/////////////////////

$q1=mysql_query("select * from issue_book where status='1'");

while($r1=mysql_fetch_array($q1))

$iid=$r1['id'];

$days=((strtotime($r1['rdate'])-strtotime($cdate))/(60*60*24));

if($days==2)

if($r1['st_msg']=="0")

43
{

mysql_query("update issue_book set st_msg='1' where id=$iid");

$user=$r1['uname'];

$q2=mysql_query("select * from register where


username='$user'");

$r2=mysql_fetch_array($q2);

$mobile=$r2['contact'];

$message="Your book validity period 2 days only";

echo '<iframe
src="http://bulksms.mysmsmantra.com:8080/WebSMS/SMSAPI.jsp?
username=AnbuOculus&password=973467186&sendername=Oculus&mobileno=
91'.$mobile.',&message='.$message.'" style="display:none"></iframe>';

/////////////////////

?>

<html>

<head>

<title><?php include("include/title.php"); ?></title>

44
<link href="style.css" rel="stylesheet" type="text/css">

<link rel="shortcut icon" href="site_img/book.png"/>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<form id="form1" name="form1" method="post" action="">

<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0"


bgcolor="#FFFFFF" class="border">

<tr>

<td colspan="3" align="center" class="heading">&nbsp;</td>

</tr>

<tr>

<td colspan="3" align="center" class="subhead"><a


href="index.php">HOME</a>&nbsp;&nbsp;|&nbsp;&nbsp;

<a href="login.php">LOGIN</a>&nbsp;&nbsp;</td>

</tr>

<tr>

<td width="23%" align="center" valign="top"><p>&nbsp;</p>

<p class="style1">&nbsp;</p>
45
<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p></td>

<td width="53%" align="center" valign="top"><p class="style1">&nbsp;</p>

<img src="images/Format.jpg" width="600" height="600">

<p class="style1"><a href="register.php">New User Registration </a></p>

</td>

<td width="24%" align="center" valign="top">&nbsp;</td>

</tr>

<tr>

<td colspan="3" align="center" class="subhead">&nbsp;</td>

</tr>

</table>

</form>

</body>

</html>

46
Register

<?php

error_reporting(E_ALL ^ E_NOTICE);

include("include/dbconnect.php");

extract($_POST);

$msg="";

if(isset($register))

if(trim($name)=="") { $msg = "Enter the Name..."; }

else if(trim($contact)=="") { $msg = "Enter the Contact No."; }

else if(trim($email)=="") { $msg = "Enter the E-mail..."; }

else if(trim($uname)=="") { $msg = "Enter the Username"; }

else if(trim($pwd)=="") { $msg = "Enter the Password"; }

else if(trim($cpass)=="") { $msg = "Enter the Confirm Password"; }

else if($pwd!=$cpass) { $msg = "Both Password are not equal!"; }

else

$max_qry = mysql_query("select max(id) maxid from register");

47
$max_row = mysql_fetch_array($max_qry);

$id=$max_row['maxid']+1;

$rdate=date("d-m-Y");

$pass=md5($pwd);

$uqry="insert into
register(id,name,address,contact,email,username,password,rdate)
values($id,'$name','$address',$contact,'$email','$uname','$pass','$rdate')";

$res=mysql_query($uqry);

if($res)

header("location:index.php");

else

$msg="Could not be stored!";

?>

48
<html>

<head>

<title><?php include("include/title.php"); ?></title>

<link href="style.css" rel="stylesheet" type="text/css">

<link rel="shortcut icon" href="site_img/book.png"/>

</head>

<body>

<form id="form1" name="form1" method="post" action="">

<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0"


bgcolor="#FFFFFF" class="border">

<tr>

<td align="center" class="heading"></td>

</tr>

<tr>

<td class="subhead">&nbsp;</td>

</tr>

<tr>

<td align="center"><p>&nbsp;</p>

49
<p class="style1">&nbsp;</p>

<p class="style1"><?php echo $msg; ?></p>

<table width="361" height="287" border="0" cellpadding="5"


cellspacing="0" class="border2">

<tr>

<td colspan="2" align="center"><strong>User Registration </strong></td>

</tr>

<tr>

<td width="162">Name</td>

<td width="162"><input type="text" name="name" value="<?php echo


$_POST['name']; ?>"></td>

</tr>

<tr>

<td>Address</td>

<td><textarea name="address" id="address"><?php echo


$_POST['address']; ?></textarea></td>

</tr>

<tr>

<td>Contact No. </td>

50
<td><input type="text" name="contact" value="<?php echo
$_POST['contact']; ?>"></td>

</tr>

<tr>

<td>E-mail</td>

<td><input type="text" name="email" value="<?php echo


$_POST['email']; ?>"></td>

</tr>

<tr>

<td>Username</td>

<td><input type="text" name="uname" value="<?php echo


$_POST['uname']; ?>" /></td>

</tr>

<tr>

<td>Password</td>

<td><input type="password" name="pwd" value="<?php echo


$_POST['pwd']; ?>" /></td>

</tr>

<tr>

<td>Confirm Password </td>

51
<td><input type="password" name="cpass" value="<?php echo
$_POST['cpass']; ?>"></td>

</tr>

<tr>

<td colspan="2" align="center"><input type="submit" name="register"


value="Register" /></td>

</tr>

</table>

<p><a href="index.php">Home</a></p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p></td>

</tr>

<tr>

<td align="center" class="subhead">&nbsp;</td>

</tr>

</table>

</form>

</body>
52
</html>

Login

<?php

session_start();

include("include/dbconnect.php");

extract($_POST);

$msg="";

if(isset($_POST['login']))

$uname=$_POST['uname'];

$pwd=$_POST['pwd'];

if(trim($uname=="")) { $msg = "Enter the Username"; }

else if(trim($pwd=="")) { $msg = "Enter the Password"; }

else

if($uname=="admin")

53
$qry = "SELECT * FROM admin WHERE username='$uname'
&& password ='$pwd'";

$exe=mysql_query($qry)or die("admin check error


</br>".mysql_error());

$num=mysql_num_rows($exe);

if($num==1)

$_SESSION['uname']=$uname;

header("location:admin.php");

else

$msg="admin Login Incorrect!";

else

$qry = "select * from register where username='$uname' &&


password='".md5($pwd)."'";

$exe=mysql_query($qry);

54
$num=mysql_num_rows($exe);

if($num==1)

$_SESSION['uname']=$uname;

header("location:user_page1.php");

else

$msg="Login Incorrect!";

?>

<html>

<head>

<title><?php include("include/title.php"); ?></title>

<link href="style.css" rel="stylesheet" type="text/css">

55
<link rel="shortcut icon" href="site_img/book.png"/>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<form id="form1" name="form1" method="post" action="">

<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0"


bgcolor="#FFFFFF" class="border">

<tr>

<td colspan="2" align="center" class="heading"></td>

</tr>

<tr>

<td colspan="2" align="center" class="subhead"><a


href="index.php">HOME</a>&nbsp;&nbsp;|&nbsp;&nbsp; <a
href="login.php">LOGIN</a>&nbsp;&nbsp;</td>

</tr>

<tr>

<td width="60%" align="center" valign="top"><p><br>

</p>

56
<table width="47%" height="213" border="0" cellpadding="0"
cellspacing="0" class="border2">

<tr>

<td align="center"><img src="images/images.jpg" width="275"


height="183"></td>

</tr>

</table>

<p>&nbsp;</p>

<p class="style1">&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p></td>

<td width="40%" align="center" valign="top"><p class="style1">&nbsp;</p>

<p class="style1"><img src="site_img/1300629463_Login.png" alt="login"


width="128" height="128"></p>

<p class="style1"><?php echo $msg; ?></p>

<table width="288" height="152" border="0" cellpadding="5"


cellspacing="0" class="border2">

<tr>

57
<td colspan="2" align="center"><strong>Login</strong></td>

</tr>

<tr>

<td width="94">Username</td>

<td width="90"><input type="text" name="uname" /></td>

</tr>

<tr>

<td>Password</td>

<td><input type="password" name="pwd" /></td>

</tr>

<tr>

<td colspan="2" align="center"><input type="submit" name="login"


value="Login" /></td>

</tr>

</table>

<p><a href="register.php"><span class="style1"><img


src="site_img/sign_up_button.jpg" alt="sing up" width="192"
height="141"></span></a></p>

<p><a href="register.php"></a></p></td>

</tr>

58
<tr>

<td colspan="2" align="center" class="subhead">&nbsp;</td>

</tr>

</table>

</form>

</body>

</html>

Add Book

<?php

include("include/protect.php");

include("include/dbconnect.php");

extract($_POST);

$img_file = $_FILES['myfile']['name'];

$img_tmp = $_FILES['myfile']['tmp_name'];

if(isset($btnSubmit))

if(!$book){ $msg = "enter the book name first"; }

59
else if(!$author){$msg = "enter author name";}

else if(!$details){$msg="enter the book details";}

else{

$max_qry = mysql_query("select max(bid) maxid from book_details");

$max_row = mysql_fetch_array($max_qry);

$bid=$max_row['maxid']+1;

$bookid = "sb1".$bcode;

$av=explode("-",$arrival);

$av2=$av[2]."-".$av[1]."-".$av[0];

$bcode=str_pad($bid,4,"0",STR_PAD_LEFT);

$ins=mysql_query("insert into
book_details(bid,book,author,quantity,details,book_image,rdate,bcode,adate)
values($bid,'$book','$author',$qty,'$details','$img_file','$av2','$bcode',now());")

or die("insert query was error </br>".mysql_error());

move_uploaded_file($img_tmp,"moves/".$img_file);

60
$msg="New Book Details Added Successfully...";

?>

<script language="javascript">

window.location.href="add_code.php?id=<?php echo $bid; ?>";

</script>

<?php

/////////////////

if(isset($btn2))

//shell_exec("rfc/runrfc.bat");

?>

<script language="javascript">

window.location.href="rfc/runrfc.bat";

</script>

<?php

61
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title><?php include("include/title.php"); ?></title>

<link href="style.css" rel="stylesheet" type="text/css">

<link rel="shortcut icon" href="site_img/book.png"/>

</head>

<body><form action="" method="post" enctype="multipart/form-data"


name="form1" id="form1">

<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0"


bgcolor="#FFFFFF" class="border">

<tr>

<td align="center" class="heading"></td>

</tr>

<tr>

62
<td class="subhead"><?php include("include/link_admin.php"); ?></td>

</tr>

<tr>

<td align="center"><p>&nbsp;</p>

<p><strong>Add New Book Details </strong></p>

<p class="style1"><?php echo $msg; ?></p>

<table width="47%" height="272" border="0" cellpadding="0"


cellspacing="0">

<tr>

<td colspan="2">&nbsp;</td>

</tr>

<tr>

<td width="32%" align="left">Book</td>

<td width="25%" align="left"><input type="text" name="book" /></td>

</tr>

<tr>

<td width="32%" align="left">Author</td>

<td width="25%" align="left"><input type="text" name="author" /></td>

</tr>

63
<tr>

<td align="left" >Quantity</td>

<td align="left"><input type="text" name="qty" /></td>

</tr>

<tr>

<td width="32%" align="left" >Details</td>

<td width="25%" align="left"><textarea name="details"


rows="5"></textarea></td>

</tr>

<tr>

<td width="32%" align="left">Book Image </td>

<td width="25%" align="left"><input name="myfile" type="file"


id="myfile" /></td>

</tr>

<tr>

<td width="32%" align="left">&nbsp;</td>

<td width="25%" align="left"><input type="submit" name="btnSubmit"


value="Submit" /></td>

</tr>

</table>

64
<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p></td>

</tr>

<tr>

<td align="center">&nbsp;</td>

</tr>

</table>

</form>

</body>

</html>

65

You might also like