Professional Documents
Culture Documents
Submitted by
RITU RAJ (175020)
BCA -6 SEMESTER.
2
SUBMITTED BY:
RITU RAJ
6TH SEMESTER
ACKNOWLEDGEMENT
The satisfaction that accompanies that the successful completion of any task
would be incomplete without the mention of people whose ceaseless cooperation
made it possible, whose constant guidance and encouragement crown all efforts
with success.
I am grateful to MR. FARIM IQBAL for the guidance, inspiration and
constructive suggestions that helped me in the preparation of the project
“E-LIBRARY MANAGEMENT SYSTEM”.
I am also thankful to my colleagues who have helped me in successful
completion of the project.
SIGNATURE
4
SYNOPSIS
R CONTENTS PAGE
1. INTRODUCTION 6
2.SYSTEM ANALYSIS 6
a.FEASIBILITY ANALYSIS 10
3.REQUIREMENTS
4. INTRODUCTION TO TECHNOLOGIES USED 13
A.FRONT END 13
B. BACK END 18
C. RELATIONAL DATABASE 19
D. CLIENT SIDE 20
5. DFD, ER, DATA TABLES 21
6. CODING 26
7.WEB APPLICATION OVERVIEW 59
8. TESTING 62
9.CONCLUSIONS 67
10.FUTURE SCOPE 68
11.BIBLIOGRAPHY 69
6
1.INTRODUCTION:
Throughout the project the focus has been on presenting information and comments
in an easy and intelligible manner. The project is very useful for those who want to
know about Library Management System.
2.SYSTEM ANALYSIS
EXISTING SYSTEM
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 System Analysis is a detailed study of the various operations performed by a program using existing
system. During analysis, data collected on the various files, decision points and transactions handled by the present
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
PROPOSED SOLUTION
Proposed system is an automated Library Management System. Through our software user can
add books, search books, renewal, update information, edit information, and return books in quick
time. Our proposed system has the following advantages.
. User friendly interface
7
All the manual difficulties in managing the Library have been rectified by implementing computerization.
3. REQUREMENTS ANALYSIS OF PROJECT
Requirement Analysis :
Requirement Analysis is done in order to understand the problem the software system is to
solve.
There are two major activities in this phase: problem understanding or analysis and requirement
specification. In problem analysis, the aim is to understand the problem and its context, and the
requirements of the new system that is to be developed. Once the problem is analyzed and the
essentials understood, the requirements must be specified in the requirement specification
document. The requirements document must specify all functional and performance
requirements; the formats of inputs and outputs etc.
Software Design :
The purpose of design phase is to plan a solution of the problem Specified by the requirements
document. This phase is the first step in moving from the problem domain to solution domain.
The design activity often results in three separate outputs: architecture design, high level design
and detailed design.
Coding :
The main goal of coding phase is to translate the design of the System into code in a given
programming language. The coding phase affects both testing and maintenance profoundly. The
goal of coding should be to reduce the testing and maintenance effort, hence during coding the
focus should be on developing programs that are easy to read and understand.
Testing :
The function of testing is to detect the defects in the Software. The main goal testing is to
uncover requirement, design and coding errors in the programs.
The main goal of the requirement phase is to produce the software requirement specification
(SRS), which accurately capture the client’s requirements. SRS is A document that describes
what the software should do. The basic purpose of SRS is to bridge the communication gap
between the clients, the end users and the Software developers. Another purpose is helping
user to understand their own needs.
Purpose:
The SRS typically contains the brief description of the project. The purpose of the requirement
document is to specify all the information required to design, develop and test the software.
The purpose of this project is to provide a friendly environment to maintain the details of
books and library members.
8
The main purpose of this project is to maintain easy circulation system using computers
and to provide different reports.
Scope:
The document only covers the requirements specifications for the Library Management System.
This document does not provide any references to the other component of the Library
Management System. All the external interfaces and the dependencies are also identified in this
document.
Feasibility study: The overall scope of the feasibility study was to provide sufficient information
to allow a decision to be made as to whether the Library Management System project should
proceed and if so, its relative priority in the context of other existing Library Management
Technology.
The feasibility study phase of this project had undergone through various steps which as
describe as under:
Reference:
C# : MICROSOFT
Overview:
The implementation of Library Management starts with entering and updating master records
like book details, library information. Any further transaction like book issue, book return will
automatically update the current books.
Overall Description :
Product Perspective:
9
The proposed Library Management System will take care of the current book detail at any point
of time. The book issue, book return will update the current book details automatically so that
user will get the update current book details.
Product function:
User characteristics:
We have 2 levels of users
User module: In the user module, user will check the availability of the books.
Book return
Administration module: The following are the sub module in the administration module.
Register user
Entry book details
Book issue
General Constraints:
Any update regarding the book from the library is to be recorded to have update & correct values.
Assumption and dependencies:
All the data entered will be correct and up to date. This software package is developed using java
as front end which is supported by sun micro system. Microsoft SQL server 2005 as the back
end which is supported by Window 7.
Specific Requirement:
External Interface Requirement:
The user should be simple and easy to understand and use. Also be an interactive
interface .The system should prompt for the user and administrator to login to the application
and for proper input criteria
User Interface:
The software provides good graphical WEB interface for the user any administrator can operate
on the system using any browser or mobile phone, performing the required task such as create,
update, viewing the details of the book.
Allows user to view quick reports like Book Issues/Returned etc in between particular
time.
Stock verification and search facility based on different criteria.
HARDWARE
1. CPU CONFIGURATION
o 2.5GHZ PROCESSOR
o 1GB DDR3 RAM
2. SOFTWARE
a. OPERATING SYSTEM OF YOUR CHOICE
b. WEB BROWSER OF YOUR CHOICE
EVEN YOU CAN ACCESS THIS USING YOUR SMARTPHONE AS THIS WEB
APPLICATION IS RESPONSIVE.
Functional requirements:
Book entry: In this module we can store the details of the books.
Register student: in this module we can keep the details of the new student.
Book issue: This module is used to keep a track of book issue details.
Book return: This module enables to keep a track of return the books.
Performance requirements:
The capability of the computer depends on the performance of the software. The software can
take any number of inputs provided the database size is larger enough. This would depend on
the available memory space.
Design constraints :
Each member will be having a identity card which can be used for the library book issue, fine
payment etc. whenever library member wish to take a book, the book issued by the library
authority will be check both the book details as well as the student details and store it in library
database. In case of retrieval of book much of human intervention can be eliminated.
System attributes :
Maintainability: There will be no maintained requirement for the software. The database is
provided by the end user and therefore is maintained by this user.
11
2.3 FEASIBILITY STUDY
The basic premise of system analysis is being done here. The primary goal of the system analysis stage is to identify
problems and determine how they can be solved with the computer system. In formal SDLC methodologies, the first step in
system analysis is feasibility study. A feasibility study is the quick examination of the problems, goals, expected cost of the
system. The objective is to determine whether the problem can reasonably solved with a computer system. In some cases,
may be there is a better alternative, or perhaps is simply short term annoyance and will gradually disappear. In other cases,
the problem may turn out to be more complex than was thought and involves users across the company. Also, some
problems may not be solvable with today’s technology. It might be better to wait for better technology. In any case, you
need to determine the scope of the project to gain the better idea of cost, benefits, and objectives.
The feasibility study is typically written so that non- programmers can easily understand it. It is used to “sell” the to the
upper management and as a starting point for the next step. Additionally it is used as a reference to keep the project on track,
and to evaluate the progress of project team. Is the project cost effective or there is a cheaper solution? Will the proposed
system improve the operation of the bank; will complicating factors prevent it from achieving its goals? Does the
technology exist and does the firm have the staff to make the technology work?
When the proposal is determined to be feasible, the team leaders are appointed and a plan and schedule are created. The
schedule contains a detailed listing of what parts of the project are completed at each time. Of course, it extremely difficult
to estimate the true cost and completion dates. Nonetheless, the schedule is an important tool to evaluate the status of the
project and the progress of the team.
The .NET Framework is a new computing platform that simplifies application development in the highly
distributed environment of the Internet. The .NET Framework is designed to fulfill the following
objectives:
code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.
versioning conflicts.
· To build all communication on industry standards to ensure that code based on the
13
The .NET Framework class library is a collection of reusable types that tightly integrate with the common
language runtime. The class library is object oriented, providing types from which your own managed
code can derive functionality. This not only makes the .NET Framework types easy to use, but also
reduces the time associated with learning new features of the .NET Framework. In addition, third-party
components can integrate seamlessly with classes in the .NET Framework.
For example, the .NET Framework collection classes implement a set of interfaces that you can use to
develop your own collection classes. Your collection classes will blend seamlessly with the classes in
the .NET Framework.
As you would expect from an object-oriented class library, the .NET Framework types enable you to
accomplish a range of common programming tasks, including tasks such as string management, data
collection, database connectivity, and file access. In addition to these common tasks, the class library
includes types that support a variety of specialized development scenarios. For example, you can use
the .NET Framework to develop the following types of applications and services:
Console applications.
ASP.NET applications.
XML Web services.
Windows services.
For example, the Windows Forms classes are a comprehensive set of reusable types that vastly simplify
Windows GUI development. If you write an ASP.NET Web Form application, you can use the Web Forms
classes.
Enhanced Performance. ASP.NET is compiled common language runtime code running on the
server. Unlike its interpreted predecessors, ASP.NET can take advantage of early binding, just-in-time
compilation, native optimization, and caching services right out of the box. This amounts to dramatically
better performance before you ever write a line of code.
World-Class Tool Support. The ASP.NET framework is complemented by a rich toolbox and
designer in the Visual Studio integrated development environment. WYSIWYG editing, drag-and-drop
server controls, and automatic deployment are just a few of the features this powerful tool provides.
Power and Flexibility. Because ASP.NET is based on the common language runtime, the power and
flexibility of that entire platform is available to Web application developers. The .NET Framework class
library, Messaging, and Data Access solutions are all seamlessly accessible from the Web. ASP.NET is
also language-independent, so you can choose the language that best applies to your application or
partition your application across many languages. Further, common language runtime interoperability
guarantees that your existing investment in COM-based development is preserved when migrating to
ASP.NET.
Simplicity. ASP.NET makes it easy to perform common tasks, from simple form submission and
client authentication to deployment and site configuration. For example, the ASP.NET page framework
allows you to build user interfaces that cleanly separate application logic from presentation code and to
handle events in a simple, Visual Basic - like forms processing model.
Additionally, the common language runtime simplifies development, with managed code services such as
automatic reference counting and garbage collection.
The ASP.NET Web Forms page framework is a scalable common language runtime programming model
that can be used on the server to dynamically generate Web pages.
Intended as a logical evolution of ASP (ASP.NET provides syntax compatibility with existing pages), the
ASP.NET Web Forms framework has been specifically designed to address a number of key deficiencies
in the previous model. In particular, it provides:
· The ability to create and use reusable UI controls that can encapsulate common
functionality and thus reduce the amount of code that a page developer has to write.
· The ability for developers to cleanly structure their page logic in an orderly fashion
· The ability for development tools to provide strong WYSIWYG design support for
ASP.NET Web Forms pages are text files with an .aspx file name extension. They can be deployed
throughout an IIS virtual root directory tree. When a browser client requests .aspx resources, the ASP.NET
runtime parses and compiles the target file into a .NET Framework class. This class can then be used to
dynamically process incoming requests. (Note that the .aspx file is compiled only the first time it is
accessed; the compiled type instance is then reused across multiple requests).
An ASP.NET page can be created simply by taking an existing HTML file and changing its file name
extension to .aspx (no modification of code is required). For example, the following sample demonstrates a
simple HTML page that collects a user's name and category preference and then performs a form post back
to the originating page when a button is clicked:
ASP.NET provides syntax compatibility with existing ASP pages. This includes support for <% %> code
render blocks that can be intermixed with HTML content within an .aspx file. These code blocks execute
in a top-down manner at page render time.
16
ASP.NET supports two methods of authoring dynamic pages. The first is the method shown in the
preceding samples, where the page code is physically declared within the originating .aspx file. An
alternative approach--known as the code-behind method--enables the page code to be more cleanly
separated from the HTML content into an entirely separate file.
In addition to (or instead of) using <% %> code blocks to program dynamic content, ASP.NET page
developers can use ASP.NET server controls to program Web pages. Server controls are declared within
an .aspx file using custom tags or intrinsic HTML tags that contain a runat="server" attributes value.
Intrinsic HTML tags are handled by one of the controls in the System.Web.UI.HtmlControls namespace.
Any tag that doesn't explicitly map to one of the controls is assigned the type of
System.Web.UI.HtmlControls.HtmlGenericControl.
Server controls automatically maintain any client-entered values between round trips to the server. This
control state is not stored on the server (it is instead stored within an <input type="hidden"> form field
that is round-tripped between requests). Note also that no client-side script is required.
In addition to supporting standard HTML input controls, ASP.NET enables developers to utilize richer
custom controls on their pages. For example, the following sample demonstrates how the <asp:adrotator>
control can be used to dynamically display rotating ads on a page.
1. ASP.NET Web Forms provide an easy and powerful way to build dynamic Web UI.
2. ASP.NET Web Forms pages can target any browser client (there are no script library or cookie
requirements).
3. ASP.NET Web Forms pages provide syntax compatibility with existing ASP pages.
5. ASP.NET ships with 45 built-in server controls. Developers can also use controls built by third parties.
17
6. ASP.NET server controls can automatically project both up level and down level HTML.
7. ASP.NET templates provide an easy way to customize the look and feel of list server controls.
data validation.
Microsoft SQL Server is a Structured Query Language (SQL) based, client/server relational database. Each
of these terms describes a fundamental part of the architecture of SQL Server.
Database
A database is similar to a data file in that it is a storage place for data. Like a data file, a database does not
present information directly to a user; the user runs an application that accesses data from the database and
presents it to the user in an understandable format.
A database typically has two components: the files holding the physical database and the database
management system (DBMS) software that applications use to access data. The DBMS is responsible for
enforcing the database structure, including:
Ensuring that data is stored correctly and that the rules defining data relationships are
not violated.
Relational Database
18
There are different ways to organize data in a database but relational databases are one of the most
effective. Relational database systems are an application of mathematical set theory to the problem of
effectively organizing data. In a relational database, data is collected into tables (called relations in
relational theory).
When organizing data into tables, you can usually find many different ways to define tables. Relational
database theory defines a process, normalization, which ensures that the set of tables you define will
organize your data effectively.
Client/Server:-
In a client/server system, the server is a relatively large computer in a central location that manages a
resource used by many people. When individuals need to use the resource, they connect over the network
from their computers, or clients, to the server.
Examples of servers are: In a client/server database architecture, the database files and DBMS software
reside on a server. A communications component is provided so applications can run on separate clients
and communicate to the database server over a network. The SQL Server communication component also
allows communication between an application running on the server and SQL Server.
Server applications are usually capable of working with several clients at the same time. SQL Server can
work with thousands of client applications simultaneously. The server has features to prevent the logical
problems that occur if a user tries to read or modify data currently being used by others.
While SQL Server is designed to work as a server in a client/server network, it is also capable of working
as a stand-alone database directly on the client. The scalability and ease-of-use features of SQL Server
allow it to work efficiently on a client without consuming too many resources.
Scalability
19
The same database engine can be used across platforms ranging from laptop computers running Microsoft
Windows® 95/98 to large, multiprocessor servers running Microsoft Windows NT®, Enterprise Edition.
Data warehousing
SQL Server includes tools for extracting and analyzing summary data for online analytical processing
(OLAP). SQL Server also includes tools for visually designing databases and analyzing data using
English-based questions.
SQL Server can support many databases, and each database can store either interrelated data or data
unrelated to that in the other databases. For example, a server can have one database that stores personnel
data and another that stores product-related data. Alternatively, one database can store current customer
order data, and another; related database can store historical customer orders that are used for yearly
reporting. Before you create a database, it is
Important to understand the parts of a database and how to design these parts to ensure that the database
performs well after it is implemented.
Normalization theory:
Relations are to be normalized to avoid anomalies. In insert, update and delete operations. Normalization
theory is built around the concept of normal forms. A relation is said to be in a
particular form if it satisfies a certain specified set if constraints. To decide a suitable logical structure for
given database design the concept of normalization, which are briefly described below.
1. 1st Normal Form (1 N.F): A relation is said to be in 1 NF is and only if all unaligned domains contain
values only. That is the fields of an n-set should have no group items and no repeating groups.
2. 2nd Normal Form (2 N.F) : A relation is said to be in 2 NF is and only if it is in 1 NF and every non
key attribute is fully dependent on primary key. This normal takes care of functional dependencies on non-
key attributes.
3. 3 rd Normal Form (3 N.F) : A relation is said to be in 3 NF is and only if it is in 2 NF and every non
key attribute is non transitively dependent on the primary key. This normal form avoids the transitive
dependencies on the primary key.
20
4. Boyce code Normal Form (BCNF) : This is a stronger definition than that of NF. A relation is said to
be in BCNF if and only if every determinant is a Candidate key.
5. 4th Normal Form (4 NF) : A relation is said to be in 4 NF if and only if whenever there exists a multi
valued dependency in a relation say A->->B then all of the relation are also functionally dependent on
A(i.e. A->X for all attributes x of the relation.).
6. 5th Normal Form (5 NF) OR Projection Join Normal Form (PJNF): A relation R is in 5 NF
.if and only if every join dependency in R is implied by the candidate key on R . A relation can’t be
non-loss split into two tables but can be split into three tables. This is called Join Dependency.
SQL CONNECTION
A SqlConnection object represents a unique session to a SQL Server data source. With a client/server
database system, it is equivalent to a network connection to the server. SqlConnection is used
together with SqlDataAdapter and SqlCommand to increase performance when connecting to a
Microsoft SQL Server database.
SQL COMMAND
Represents a Transact-SQL statement or stored procedure to execute against a SQL Server database.
SQL DATAREADER
Provides a way of reading a forward-only stream of rows from a SQL Server database.
The SqlDataAdapter, serves as a bridge between a DataSet and SQL Server for retrieving and saving data.
Client-side Script(JAVASCRIPT):-
JavaScript:
JavaScript is a new scripting language for WebPages. Scripts written with java script can be
embedded into your HTML pages. With java script you have many possibilities for enhancing your
HTML page with interesting elements. For example you are able to respond to user-initiated events quite
easily. Some effects that are now possible with java script were some time ago only possible with CGI.
So you can create really sophisticated pages with the helps of java script on the Internet.
BOOTSTRAP
C#
C# (pronounced see sharp, like the musical note C♯, but written with the number sign)[b] is a general-
purpose, multi-paradigm programming language encompassing strong typing, lexically
scoped, imperative, declarative, functional, generic, object-oriented (class-based), and component-
oriented programming disciplines.[17] It was developed around 2000 by Microsoft as part of its .NET7 initiative and
later approved as an international standard by Ecma (ECMA-334) in 2002 and ISO (ISO/IEC 23270) in
2003. Mono is the name of the free and open-source project to develop a compiler and runtime for the language.
C# is one of the programming languages designed for the Common Language Infrastructure (CLI).
HTML
Hypertext Markup Language (HTML) is the standard markup language for documents designed to be
displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and
scripting languages such as JavaScript.
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document
written in a markup language such as HTML. CSS is a cornerstone technology of the World Wide Web,
alongside HTML and JavaScript.
The DFD takes an input-process-output view of a system i.e. data objects flow into the software, are transformed by
processing elements, and resultant data objects flow out of the software.
Data objects represented by labeled arrows and transformation are represented by circles also called as
bubbles. DFD is presented in a hierarchical fashion i.e. the first data flow model represents the system as a whole.
Subsequent DFD refine the context diagram (level 0 DFD), providing increasing details with each subsequent level.
The DFD enables the software engineer to develop models of the information domain & functional domain at
the same time. As the DFD is refined into greater levels of details, the analyst perform an implicit functional
decomposition of the system. At the same time, the DFD refinement results in a corresponding refinement of the
data as it moves through the process that embody the applications.
A context-level DFD for the system the primary external entities produce information for use by the system
and consume information generated by the system. The labeled arrow represents data objects or object hierarchy.
22
Identify and label each process internal to the system with Rounded circles.
A process is required for all the data transformation and Transfers. Therefore, never connect a data store to a data
Source or the destinations or another data store with just a Data flow arrow.
Make sure the names of the processes accurately convey everything the process is done.
Identify all data flows for each process step, except simple Record retrievals.
.
23
E-R Diagrams:
The Entity-Relationship (ER) model was originally proposed by Peter in 1976 [Chen76] as a way to unify
the network and relational database views. Simply stated the ER model is a conceptual data model that views
the real world as entities and relationships. A basic component of the model is the Entity-Relationship
diagram which is used to visually represents data objects. Since Chen wrote his paper the model has been
extended and today it is commonly used for database design For the database designer, the utility of the ER
model is:
it maps well to the relational model. The constructs used in the ER model can easily be transformed
into relational tables.
it is simple and easy to understand with a minimum of training. Therefore, the model can be used by
the database designer to communicate the design to the end user.
In addition, the model can be used as a design plan by the database developer to implement a data
model in a specific database management software.
DATA TABLES
24
1. Tables
Columns
username nvarchar(50)
Columns
author_id nvarchar(20)
Columns
member_id nvarchar(50)
Columns
book_id nchar(10)
Columns
member_id nvarchar(50)
publisher_id nchar(50)
F
27
CODING
HOMEPAGE.ASPX
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="homepage.aspx.cs"
Inherits="ELibraryManagement.homepage" %>
</asp:Content>
<section>
</section>
<section>
<div class="container">
<div class="row">
<div class="col-12">
<center>
<h2>Our Features</h2>
</center>
</div>
</div>
<div class="row">
<div class="col-md-4">
<center>
<p class="text-justify">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem
ipsum dolor. reprehenderit</p>
</center>
</div>
<div class="col-md-4">
<center>
<h4>Search Books</h4>
<p class="text-justify">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem
ipsum dolor. reprehenderit</p>
</center>
</div>
<div class="col-md-4">
<center>
<h4>Defaulter List</h4>
<p class="text-justify">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem
ipsum dolor. reprehenderit</p>
</center>
</div>
</div>
</div>
</section>
<section>
</section>
<section>
<div class="container">
<div class="row">
<div class="col-12">
<center>
<h2>Our Process</h2>
</center>
</div>
</div>
<div class="row">
<div class="col-md-4">
<center>
<h4>Sign Up</h4>
<p class="text-justify">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem
ipsum dolor. reprehenderit</p>
</center> </div>
<div class="col-md-4">
<center>
<h4>Search Books</h4>
<p class="text-justify">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem
ipsum dolor. reprehenderit</p> </center> </div>
<div class="col-md-4">
<center>
<h4>Visit Us</h4>
<p class="text-justify">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem
ipsum dolor. reprehenderit</p>
HOMEPAGE.ASPX.CS
using System;
namespace ELibraryManagement{
} }}
ADMIN.ASPX
</asp:Content>
<div class="container">
<div class="row">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col">
<center>
</center>
</div>
</div>
<div class="row">
<div class="col">
<center>
<h3>Admin Login</h3>
</center>
</div>
</div>
<div class="row">
<div class="col">
<hr>
</div>
</div>
<div class="row">
<div class="col">
30
<label>Admin ID</label>
<div class="form-group">
</div>
<label>Password</label>
<div class="form-group">
TextMode="Password"></asp:TextBox>
</div>
<div class="form-group">
</div>
</div>
</div>
</div>
</div>
<br>
</div>
</div>
</div>
</asp:Content>
ADMINLOGIN.ASPX.CS
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
namespace ELibraryManagement
try {
31
SqlDataReader dr = cmd.ExecuteReader();
if ( dr.HasRows ) {
while ( dr.Read() ) {
Response.Write("<script>alert('Successful login');</script>");
Session["username"] = dr.GetValue(0).ToString();
Session["fullname"] = dr.GetValue(2).ToString();
Session["role"] = "admin";
//Session["status"] = dr.GetValue(10).ToString();
} Response.Redirect("homepage.aspx"); }
ADMINBOOK INVENTORY.ASPX
<script type="text/javascript">
$(document).ready(function () {
$(".table").prepend($("<thead></thead>").append($(this).find("tr:first"))).dataTable();
});
function readURL(input) {
$('#imgview').attr('src', e.target.result);
};
reader.readAsDataURL(input.files[0]);
</script>
32
</asp:Content>
<div class="container-fluid">
<div class="row">
<div class="col-md-5">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col">
<center>
<h4>Book Details</h4>
</center>
</div>
</div>
<div class="row">
<div class="col">
<center>
</center>
</div>
</div>
<div class="row">
<div class="col">
<hr>
</div>
</div>
<div class="row">
<div class="col">
</div>
</div>
<div class="row">
<div class="col-md-4">
<label>Book ID</label>
<div class="form-group">
<div class="input-group">
OnClick="Button4_Click" />
</div>
33
</div>
</div>
<div class="col-md-8">
<label>Book Name</label>
<div class="form-group">
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<label>Language</label>
<div class="form-group">
</asp:DropDownList>
</div>
<label>Publisher Name</label>
<div class="form-group">
</asp:DropDownList>
</div>
</div>
<div class="col-md-4">
<label>Author Name</label>
<div class="form-group">
</asp:DropDownList>
</div>
<label>Publish Date</label>
<div class="form-group">
34
TextMode="Date"></asp:TextBox>
</div>
</div>
<div class="col-md-4">
<label>Genre</label>
<div class="form-group">
Rows="5">
</asp:ListBox>
</div>
</div>
</div>
<div class="row">
35
<div class="col-md-4">
<label>Edition</label>
<div class="form-group">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
TextMode="Number"></asp:TextBox>
</div>
</div>
<div class="col-md-4">
<label>Pages</label>
<div class="form-group">
TextMode="Number"></asp:TextBox>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<label>Actual Stock</label>
<div class="form-group">
TextMode="Number"></asp:TextBox>
</div>
</div>
<div class="col-md-4">
<label>Current Stock</label>
<div class="form-group">
TextMode="Number" ReadOnly="True"></asp:TextBox>
</div>
</div>
<div class="col-md-4">
<label>Issued Books</label>
<div class="form-group">
TextMode="Number" ReadOnly="True"></asp:TextBox>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<label>Book Description</label>
<div class="form-group">
TextMode="MultiLine" Rows="2"></asp:TextBox>
</div>
</div>
</div>
<div class="row">
<div class="col-4">
</div>
<div class="col-4">
</div>
<div class="col-4">
OnClick="Button2_Click" />
</div>
</div>
</div>
</div>
<br>
</div>
<div class="col-md-7">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col">
<center>
</center>
37
</div>
</div>
<div class="row">
<div class="col">
<hr>
</div>
</div>
<div class="row">
<div class="col">
<Columns>
</asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
<div class="container-fluid">
<div class="row">
<div class="col-lg-10">
<div class="row">
<div class="col-12">
Font-Size="X-Large"></asp:Label>
</div>
</div>
<div class="row">
<div class="col-12">
<span>Author - </span>
|
<span>Language -<span> </span>
</span>
38
</div>
</div>
<div class="row">
<div class="col-12">
Publisher -
| Pages -
| Edition -
</div>
</div>
<div class="row">
<div class="col-12">
Cost -
</div>
</div>
<div class="row">
<div class="col-12">
Description -
</div>
</div>
</div>
<div class="col-lg-2">
</div>
</div>
</div>
</ItemTemplate>
39
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</asp:Content>
ADMINBOOK INVENTORY.ASPX.CS
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ELibraryManagement
if ( !IsPostBack )
fillAuthorPublisherValues();
GridView1.DataBind();
40
// go button click
getBookByID();
updateBookByID();
deleteBookByID();
if ( checkIfBookExists() )
else
addNewBook();
void deleteBookByID()
if ( checkIfBookExists() )
try
{
41
if ( con.State == ConnectionState.Closed )
con.Open();
SqlCommand cmd = new SqlCommand("DELETE from book_master_tbl WHERE book_id='" + TextBox1.Text.Trim() + "'" ,
con);
cmd.ExecuteNonQuery();
con.Close();
GridView1.DataBind();
catch ( Exception ex )
else
void updateBookByID()
if ( checkIfBookExists() )
try
if ( global_actual_stock == actual_stock )
{
42
else
return;
else
filepath = global_filepath;
else
FileUpload1.SaveAs(Server.MapPath("book_inventory/" + filename));
if ( con.State == ConnectionState.Closed )
43
con.Open();
cmd.Parameters.AddWithValue("@book_name" , TextBox2.Text.Trim());
cmd.Parameters.AddWithValue("@genre" , genres);
cmd.Parameters.AddWithValue("@author_name" , DropDownList3.SelectedItem.Value);
cmd.Parameters.AddWithValue("@publisher_name" , DropDownList2.SelectedItem.Value);
cmd.Parameters.AddWithValue("@publish_date" , TextBox3.Text.Trim());
cmd.Parameters.AddWithValue("@language" , DropDownList1.SelectedItem.Value);
cmd.Parameters.AddWithValue("@edition" , TextBox9.Text.Trim());
cmd.Parameters.AddWithValue("@book_cost" , TextBox10.Text.Trim());
cmd.Parameters.AddWithValue("@no_of_pages" , TextBox11.Text.Trim());
cmd.Parameters.AddWithValue("@book_description" , TextBox6.Text.Trim());
cmd.Parameters.AddWithValue("@actual_stock" , actual_stock.ToString());
cmd.Parameters.AddWithValue("@current_stock" , current_stock.ToString());
cmd.Parameters.AddWithValue("@book_img_link" , filepath);
cmd.ExecuteNonQuery();
con.Close();
GridView1.DataBind();
catch ( Exception ex )
else
}
44
void getBookByID()
try
if ( con.State == ConnectionState.Closed )
con.Open();
SqlCommand cmd = new SqlCommand("SELECT * from book_master_tbl WHERE book_id='" + TextBox1.Text.Trim() + "';" ,
con);
da.Fill(dt);
if ( dt.Rows.Count >= 1 )
TextBox2.Text = dt.Rows[0]["book_name"].ToString();
TextBox3.Text = dt.Rows[0]["publish_date"].ToString();
TextBox9.Text = dt.Rows[0]["edition"].ToString();
TextBox10.Text = dt.Rows[0]["book_cost"].ToString().Trim();
TextBox11.Text = dt.Rows[0]["no_of_pages"].ToString().Trim();
TextBox4.Text = dt.Rows[0]["actual_stock"].ToString().Trim();
TextBox5.Text = dt.Rows[0]["current_stock"].ToString().Trim();
TextBox6.Text = dt.Rows[0]["book_description"].ToString();
DropDownList1.SelectedValue = dt.Rows[0]["language"].ToString().Trim();
DropDownList2.SelectedValue = dt.Rows[0]["publisher_name"].ToString().Trim();
DropDownList3.SelectedValue = dt.Rows[0]["author_name"].ToString().Trim();
ListBox1.ClearSelection();
if ( ListBox1.Items[j].ToString() == genre[i] )
ListBox1.Items[j].Selected = true;
45
global_actual_stock = Convert.ToInt32(dt.Rows[0]["actual_stock"].ToString().Trim());
global_current_stock = Convert.ToInt32(dt.Rows[0]["current_stock"].ToString().Trim());
global_filepath = dt.Rows[0]["book_img_link"].ToString();
else
catch ( Exception ex )
void fillAuthorPublisherValues()
try
if ( con.State == ConnectionState.Closed )
con.Open();
da.Fill(dt);
DropDownList3.DataSource = dt;
DropDownList3.DataValueField = "author_name";
DropDownList3.DataBind();
da = new SqlDataAdapter(cmd);
dt = new DataTable();
da.Fill(dt);
DropDownList2.DataSource = dt;
DropDownList2.DataValueField = "publisher_name";
DropDownList2.DataBind();
catch ( Exception ex )
bool checkIfBookExists()
try
if ( con.State == ConnectionState.Closed )
con.Open();
SqlCommand cmd = new SqlCommand("SELECT * from book_master_tbl where book_id='" + TextBox1.Text.Trim() + "' OR
book_name='" + TextBox2.Text.Trim() + "';" , con);
da.Fill(dt);
if ( dt.Rows.Count >= 1 )
return true;
else
return false;
}
47
catch ( Exception ex )
return false;
void addNewBook()
try
FileUpload1.SaveAs(Server.MapPath("book_inventory/" + filename));
if ( con.State == ConnectionState.Closed )
con.Open();
cmd.Parameters.AddWithValue("@book_id" , TextBox1.Text.Trim());
cmd.Parameters.AddWithValue("@book_name" , TextBox2.Text.Trim());
cmd.Parameters.AddWithValue("@genre" , genres);
cmd.Parameters.AddWithValue("@author_name" , DropDownList3.SelectedItem.Value);
cmd.Parameters.AddWithValue("@publisher_name" , DropDownList2.SelectedItem.Value);
48
cmd.Parameters.AddWithValue("@publish_date" , TextBox3.Text.Trim());
cmd.Parameters.AddWithValue("@language" , DropDownList1.SelectedItem.Value);
cmd.Parameters.AddWithValue("@edition" , TextBox9.Text.Trim());
cmd.Parameters.AddWithValue("@book_cost" , TextBox10.Text.Trim());
cmd.Parameters.AddWithValue("@no_of_pages" , TextBox11.Text.Trim());
cmd.Parameters.AddWithValue("@book_description" , TextBox6.Text.Trim());
cmd.Parameters.AddWithValue("@actual_stock" , TextBox4.Text.Trim());
cmd.Parameters.AddWithValue("@current_stock" , TextBox4.Text.Trim());
cmd.Parameters.AddWithValue("@book_img_link" , filepath);
cmd.ExecuteNonQuery();
con.Close();
GridView1.DataBind();
catch ( Exception ex )
<div class="container-fluid">
<div class="row">
<div class="col-md-5">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col">
<center>
<h4>Book Issuing</h4>
</center>
</div>
</div>
49
<div class="row">
<div class="col">
<center>
</center>
</div>
</div>
<div class="row">
<div class="col">
<hr>
</div>
</div>
<div class="row">
<div class="col-md-6">
<label>Member ID</label>
<div class="form-group">
</div>
</div>
<div class="col-md-6">
<label>Book ID</label>
<div class="form-group">
<div class="input-group">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<label>Member Name</label>
<div class="form-group">
</div>
</div>
<div class="col-md-6">
<label>Book Name</label>
<div class="form-group">
50
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<label>Start Date</label>
<div class="form-group">
</div>
</div>
<div class="col-md-6">
<label>End Date</label>
<div class="form-group">
</div>
</div>
</div>
<div class="row">
<div class="col-6">
</div>
<div class="col-6">
</div>
</div>
</div>
</div>
<br>
</div>
<div class="col-md-7">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col">
<center>
</center>
51
</div>
</div>
<div class="row">
<div class="col">
<hr>
</div>
</div>
<div class="row">
<div class="col">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</asp:Content>
ADMIN.BOOK ISSUING.ASPX.CS
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ELibraryManagement
GridView1.DataBind();
}
52
// issue book
if ( checkIfIssueEntryExist() )
else
issueBook();
else
// return book
if ( checkIfIssueEntryExist() )
returnBook();
else
else
getNames();
void returnBook()
try
if ( con.State == ConnectionState.Closed )
con.Open();
SqlCommand cmd = new SqlCommand("Delete from book_issue_tbl WHERE book_id='" + TextBox1.Text.Trim() + "' AND
member_id='" + TextBox2.Text.Trim() + "'" , con);
if ( result > 0 )
cmd.ExecuteNonQuery();
con.Close();
GridView1.DataBind();
con.Close();
54
else
catch ( Exception ex )
void issueBook()
try
if ( con.State == ConnectionState.Closed )
con.Open();
cmd.Parameters.AddWithValue("@member_id" , TextBox2.Text.Trim());
cmd.Parameters.AddWithValue("@member_name" , TextBox3.Text.Trim());
cmd.Parameters.AddWithValue("@book_id" , TextBox1.Text.Trim());
cmd.Parameters.AddWithValue("@book_name" , TextBox4.Text.Trim());
cmd.Parameters.AddWithValue("@issue_date" , TextBox5.Text.Trim());
cmd.Parameters.AddWithValue("@due_date" , TextBox6.Text.Trim());
cmd.ExecuteNonQuery();
cmd.ExecuteNonQuery();
55
con.Close();
GridView1.DataBind();
catch ( Exception ex )
bool checkIfBookExist()
try
if ( con.State == ConnectionState.Closed )
con.Open();
SqlCommand cmd = new SqlCommand("select * from book_master_tbl WHERE book_id='" + TextBox1.Text.Trim() + "' AND
current_stock >0" , con);
da.Fill(dt);
if ( dt.Rows.Count >= 1 )
return true;
else
return false;
catch ( Exception ex )
return false;
}
56
bool checkIfMemberExist()
try
if ( con.State == ConnectionState.Closed )
con.Open();
da.Fill(dt);
if ( dt.Rows.Count >= 1 )
return true;
else
return false;
catch ( Exception ex )
return false;
bool checkIfIssueEntryExist()
try
if ( con.State == ConnectionState.Closed )
con.Open();
SqlCommand cmd = new SqlCommand("select * from book_issue_tbl WHERE member_id='" + TextBox2.Text.Trim() + "' AND
book_id='" + TextBox1.Text.Trim() + "'" , con);
57
da.Fill(dt);
if ( dt.Rows.Count >= 1 )
return true;
else
return false;
catch ( Exception ex )
return false;
void getNames()
try
if ( con.State == ConnectionState.Closed )
con.Open();
SqlCommand cmd = new SqlCommand("select book_name from book_master_tbl WHERE book_id='" + TextBox1.Text.Trim() +
"'" , con);
da.Fill(dt);
if ( dt.Rows.Count >= 1 )
TextBox4.Text = dt.Rows[0]["book_name"].ToString();
else
{
58
cmd = new SqlCommand("select full_name from member_master_table WHERE member_id='" + TextBox2.Text.Trim() + "'" ,
con);
da = new SqlDataAdapter(cmd);
dt = new DataTable();
da.Fill(dt);
if ( dt.Rows.Count >= 1 )
TextBox3.Text = dt.Rows[0]["full_name"].ToString();
else
catch ( Exception ex )
try
if ( e.Row.RowType == DataControlRowType.DataRow )
DateTime dt = Convert.ToDateTime(e.Row.Cells[5].Text);
if ( today > dt )
e.Row.BackColor = System.Drawing.Color.PaleVioletRed;
ADMIN PAGE
60
AUTHOR MANAGEMENT
PUBLISHER MANAGEMENT
BOOK INVENTORY
61
BOOK ISSUING
62
Testing:
System Testing is an important phase. Testing represents an interesting anomaly for the software.
Thus a series of testing are performed for the proposed system before the system is ready for user
acceptance testing.
A good test case is one that has a high probability of finding an as undiscovered error. A
successful test is one that uncovers an as undiscovered error.
Testing Objectives:
2. A good test case is one that has a probability of finding an as yet undiscovered error
Testing Principles:
Testing should begin on a small scale and progress towards testing in large
The primary objective for test case design is to derive a set of tests that has the highest
livelihood for uncovering defects in software. To accomplish this objective two different
categories of test case design techniques are used. They are
White-box testing:
White box testing focus on the program control structure. Test cases are derived to ensure
that all statements in the program have been executed at least once during testing and that all
logical conditions have been executed.
Block-box testing:
Black box testing is designed to validate functional requirements without regard to the internal
workings of a program. Black box testing mainly focuses on the information domain of the
software, deriving test cases by partitioning input and output in a manner that provides through
test coverage. Incorrect and missing functions, interface errors, errors in data structures, error in
functional logic are the errors falling in this category.
Testing strategies:
A strategy for software testing must accommodate low-level tests that are necessary to
verify that all small source code segment has been correctly implemented as well as high-level
tests that validate major system functions against customer requirements.
Testing fundamentals:
Testing is a process of executing program with the intent of finding error. A good test
case is one that has high probability of finding an undiscovered error. If testing is conducted
successfully it uncovers the errors in the software. Testing cannot show the absence of defects, it
can only show that software defects present.
65
Information flow for testing flows the pattern. Two class of input provided to test the
process. The software configuration includes a software requirements specification, a design
specification and source code.
Test configuration includes test plan and test cases and test tools. Tests are conducted and
all the results are evaluated. That is test results are compared with expected results. When
erroneous data are uncovered, an error is implied and debugging commences.
Unit testing:
Unit testing is essential for the verification of the code produced during the coding phase
and hence the goal is to test the internal logic of the modules. Using the detailed design
description as a guide, important paths are tested to uncover errors with in the boundary of the
modules. These tests were carried out during the programming stage itself. All units of Vienna
SQL were successfully tested.
Integration testing:
Integration testing focuses on unit tested modules and build the program structure that is
dictated by the design phase.
System testing:
System testing tests the integration of each module in the system. It also tests to find
discrepancies between the system and it’s original objective, current specification and system
documentation. The primary concern is the compatibility of individual modules. Entire system is
working properly or not will be tested here, and specified path ODBC connection will correct or
not, and giving output or not are tested here these verifications and validations are done by
giving input values to the system and by comparing with expected output. Top-down testing
implementing here.
66
Acceptance Testing:
This testing is done to verify the readiness of the system for the implementation.
Acceptance testing begins when the system is complete. Its purpose is to provide the end user
with the confidence that the system is ready for use. It involves planning and execution of
functional tests, performance tests and stress tests in order to demonstrate that the implemented
system satisfies its requirements.
Coding standards – static analyzers and standard checkers are used to inspect code for deviations
from standards and guidelines.
Test Cases:
Test cases are derived to ensure that all statements in the program have been executed at
least once during testing and that all logical conditions have been executed. Using White-Box
testing methods, the software engineer can drive test cases that
CONCLUSION
After we have completed the project we are sure the problems in the existing system
would overcome. The “LIBRARY MANAGEMENT SYSTEM” process made
computerized to reduce human errors and to increase the efficiency. The main focus
of this project is to lessen human efforts. The maintenance of the records is made
efficient, as all the records are stored in the ACCESS database, through which data
can be retrieved easily. The navigation control is provided in all the forms to navigate
through the large amount of records. If the numbers of records are very large then user
has to just type in the search string and user gets the results immediately. The editing
is also made simpler. The user has to just type in the required field and press the
update button to update the desired field.
The Books and Students are given a particular unique id no. So that they can be
accessed correctly and without errors. Our main aim of the project is to get the
correct information about a particular student and books available in the library.
The problems, which existed in the earlier system, have been removed to a large
extent. And it is expected that this project will go a long way in satisfying users
requirements. The computerization of the Library Management will not only
improves the efficiency but will also reduce human stress thereby indirectly
improving human recourses.
68
FUTURE SCOPE
he impact of technology has greatly expanded the scope and capacity of the average library.
This is an on-going and developing relationship as the computer's full capabilities are gradually
explored and applied to the library.
Computers have radically changed the way people learn and communicate with
each other, as well as the library itself.
The library differs little from other institutions and firms in the impact of computing technology on
them. Changes are in the almost unlimited tracking of the availability of books: Whether a book
has been issued or not is the work of moments, where before it would have entailed a long
search through a card index.
BIBLIOGRAPHY
The following books were referred during the analysis and execution phase of the project
WEBSITES USED:
1. www.microsoft.com
2. www.google.com
3. www.timcorey.com
4. www.stackoverflow.com
5.