You are on page 1of 58

A Project Report on

LIBRARY MANAGEMENT SYSTEM

Submitted in partial fulfillment of the requirements for the award of

MASTER IN COMPUTER APPLICATION

Submitted by
ARVIND KUMAR
Enrolment No. 9501004407

Under the guidance of


Mr Sandeep Chauchan
i

Declaration

I hereby declare that this project entitled “Library Management

System” submitted by me to the “ICFAI” for the course of Master in

Computer Application" is an original and independent work carried

out by me under the guidance of Mr Sandeep Chauhan.

Submitted by

Arvind Kumar
Enrolment No. 9501004407
ii
ACKNOWLEDGEMENT

The enduring pages of the work are the cumulative sequence of


extensive guidance and arduous work. I wish to acknowledge and
express my personal gratitude to all those without whom this project
could not have been reality.
I feel very delighted to get this rare opportunity to show my
profound senses of reverence and indebtedness to my beloved wife
Anju Parmar for her constant source of encouragement and cheer all
long in achieving my goal.
I would like to give my sincere thanks to my project guide Mr.
Sandeep Chauhan for the guidance, inspiration and constructive
suggestions and Mrs. Prerna Malik for spending their precious time
with me to clarify my doubts regarding project.
At last I would like to thanks all those who have directly or
indirectly helped and cooperated in accomplishing this Project.
iii

Title: Library Management System


Name: Arvind Kumar
Reg.No: 9501004407
ABSTRACT

Library Management System is the system that gives to the Users/Librarian the best
monitoring and controlling the transactions in a library. The Java technologies have been
developed in such a manner that they can provide good services to the users. The Library
Management System is a Java based application which has been developed and based on
Swing concept and for the database, Microsoft Access 2007 is used for the backend.

The Library Management System is the system that not only monitoring and
controlling the transactions in a library but also it gives the complete information about the
members of the library, available books, title of book, price of book and their authors. The
user interface is made very easy for the administrator, librarian as well as for users. For the
controlling and security purpose different restrictions are imposed for accessing the library
management system. Only administrator has given the authority to create users. As and when
the user is created by the administrator, user can login the system by their user id. , and
default password and change their password thereafter.

This 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 searching Insertion
and reporting capabilities. The report generation facility of library system helps to get a good
ideas of which are the books borrowed by the members and complete information of
members.

The person who wants to get issued the book has to login and can have the
information about the available books then he can get the reservation/issue. If the issue or
reservation is done by the member a dialog box show the book is issued or book is reserved
otherwise it show that the particular is already issued. The book is issue for the 21 days;
defaulters are to pay the fine 1 Rs. per day.
Headquarters Eastern Naval Command
(DEPARTMENT OF INFORMATION TECHNOLOGY)

Command Information Technology Centre

This is to certify that Arvind Kumar. Reg.No: 9501004407 is a student of


MCA from ICFAI (Institute/University) has carried out his project at Training
Division, CITC, Visakhapatnam, from 16 Aug to 14 Sep. The project work entitled
“Library Management System” embodies the original work done by Arvind
Kumar during his above full project training period and this project is executed and
run in the Central Reference Library (Unit Library of Defence Division) ,found
successfully.

Director
Training Division
(v)

LIST OF ILLUSTRATIONS

Figure 2.1: Use Case Diagram for Administrator & Librarian 25


Figure 2.2: Use Case Diagram for Users 25
Figure 3.1: Sequential Diagram 28
Figure 3.2: State Chart Diagram 29
Figure 3.3: Activity Diagram 30
Figure 4.1: ER Diagram 34
Figure 4.2: Context Level DFD 35
Figure 4.3: First Level DFD for Login Subsystem 35
Figure 4.4: Change Password Subsystem 36

Relational Database Schema Tables


Table 1: admin 37
Table2: bk 37
Table3: bksearch 38
Table4: userdata 38
Table5: userpasswrd 38
TABLE OF CONTENTS
PAGE NO
Declaration i
Acknowledgement ii
Abstract iii
Company certificate iv
List of Illustrations v
1. INTRODUCTION 1
1.1 Introduction to Project 1
1.2 Introduction to Module 1
1.3 Introduction to Front-End 7
1.4 Introduction to Back-End 10
1.5 Introduction to UML 12
2. REQUIREMENT ELICITATION 13
2.1 Introduction 13
2.2 Current system 13
2.3 Drawbacks of Present System 14
2.4 User Requirement 15
2.5 Performance of the proposed System 15
2.6 Alternative Solutions Examined 15
2.7 Cost Benefit Analysis 16
2.8 Proposed System 16
2.9 System Requirement Specification 17
2.10 System Model 21
2.11 Technical Dictionary 26
3 SYSTEM ANALYSIS 26
3.1. Object Model 27
3.2. Dynamic Model 28
3.2.1. Sequence Diagram 28
3.2.2. State Chart Diagram 29
3.2.3. Activity Diagram 30
4. SYSTEM DESIGN 31
4.1 Introduction 31
4.2 Mapping Sub System 31
4.3 System Design Goal 32
4.4 Global Control Flow 33
4.5 Automation Boundary 33
4.6 Design Diagram 33
4.6.1 ER Diagram 33
4.6.2 Data Flow Diagram 35
5 Data Base Design 36
6 Testing 38
6.1 Testing concepts 39
6.2 Test Cases 42
7 Conclusion 43
8 BIBLIOGRAPHY 44
9 APPENDIX 45
Screen Detail
Coding
1. INTRODUCTION

1.1 Introduction to project:

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 and back end database used is Microsoft Access 2003, which
mainly focuses on basic operations in a library like adding new member, new books, and
updating new information, searching books, popping up member's table, writing off old
books, delete users, 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. This 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 searching Insertion and reporting capabilities. The
report generation facility of library system helps to get a good ideas of which are the books
borrowed by the members.

1.2 Introductions to Modules:

Consists of the following Modules:

1. Member Management

2. Book Management

3. Transaction

1. MODULE I: MEMBER MANAGEMENT


(a) Sub-module1: creatusers()
DESCRIPTION:
This sub module is the user entry module to add the detail of the student / User and
for the security reason this can be edited and updated by the administer or staff login
authorized member, this module has the following details to update
1. UserId: in this text field users will fill the user id of their choice. UserId will
require for initially login for member login. For member login Password is also
required that is a default password creflib is used. User can change the password of
their choice.
2. UserName: This field holds the User Name.
3. Gender : Gender of User (Male/Female)
2

4. Department: Students have different department i.e. Biology, Physics, Math etc.
This field is filled with the department.

5. Course: Which course the student opt for is punched in this text field;
6. Semester: Student's semester
OUTPUTS:
A Record is created in the following table in data base.
(i) userdata.
(ii) usernpasswd. in this table username and default password creflib is recorded.
ALGORITHM:
The various student details including the UserID, Name, Gender, Department, Course
and Semester are taken as input to create a record in database.
(b) Sub-module 2: ListMembers()
DESCRIPTION:
This module is used to display the list of all member and their details.
OUTPUT:
Output is shown in the form of Table that has the following columns with detail of
members.
1. UserId
2. UserName
3. Gender
4. Department
5. Course
6. Semister
ALGORITHM:
1. Connecting this module to database through ODBC driver.
2. Read the contents from the userdata table in database.
3. Display the contents of the data base in table format.
(c) Sub-module 3: DeleteAccout()
DESCRIPTION:
This module is used to delete a member's account and his information from the
userdata and usernpasswd table in database.
INPUT:
Enter the UserId of the student or member whose details are to be deleted.
3
4

OUTPUT:
The deleted UserId is displayed in popup dialog box and the particular records of the
user is deleted from the database, if the filled User Id does not match with the
database record then it show the message User Id does not exist
ALGORITHM:
1. The UserId filled by the student whose account is to be deleted is obtained from the
module and this UserId is matched with Userdetail table from the data base, if the
UseId is matched then this specific record is deleted.
2. The changes in the file are saved.
3. The deleted roll number is displayed.

2. MODULE II: BOOK MANAGEMENT


(a) Sub-module 1: NewBook()
DESCRIPTION:
This sub-module add the book details. Each entry has the following attributes:
1. Book Id No. : This is the ISBN or Library allotted No. that is to be put for the
reference of books and for the search of a particular book.
2. Book Name: Book name and title
3. Book Author: Writer of book
4. SUB/ CATEGORY: This is Combo Box, where some category are predefined
(Management, Computer, General, Magazine).This Combo Box is editable so that
other than predefined categories, user can put other subject or Categories also.
OUTPUT:
When the update button is pressed a record is added to the book database, if the Book
Name and Author Field left empty then it show the error showing “Please enter the
Book Details" and as all the field is filled correctly then it show the message "Book
Added".
ALGORITHM:
The various details of the book such as the Title, Author, Sub/Cat and Edition are
obtained from the module and updated in the book database.
(b) Sub-module 2: ListBook()
DESCRIPTION:
Library contain a thousand of books so it is important to display the books those are
currently available in the library so this module is developed to display the book
details and apart from the book detail it also display the availability of book, if book
is not available then it show the username to whom this book is issued.
5

OUTPUT:
Output is shown in the form of Table that has the following columns with detail of
books.
1. Book Id No. : This is the ISBN or Library allotted No.
2. Book Name: Book's name and title
3. Book Author: writer of the book
4. Sub/Category
5. Issued to: If the book is issue then it show the User Id to whom this particular book
is issued
6. Status: Status show the availability of the books whether the particular book is
available or not. If the book is available then status is set '0' and if not available then
status is set '1'.
ALGORITHM:
1. Connect this module to database through ODBC driver.
2. Read the contents from the bk table in database.
3. Display the contents of the data base in table format and if the data is more than the
allotted space, a scroll bar is added to scroll the books.
(c) Sub-module 3: SearchBook()
DESCRIPTION: Library having a thousand of books so it is very difficult to find
the particular book hence it become necessary to introduce a module to search the
book details on the base of their
- Title: Book's name or their title
- Author: writer of the books
- Category: subject or category of books
- Book ID: Book's ISBN or Library allotted number (Often this is used by the
librarians or administrator to search the book)
OUTPUT:
Output is shown in the table format having following attributes:
-BookId
-Book Name
-Category
-Author
-Availability
6

ALGORITHM:
1. Particular Key Field is matched with the data base table
2. If the field is matched with the record then it will be displayed in the table format
otherwise it will pop up the message “No record found”.

(d) Sub-module 4: DeleteBook()


DESCRIPTION:
This module is used to delete the book’s detail from the record.
INPUT:
Enter the BookId of the book whose details are to be deleted.
OUTPUT:
The deleted BookId is displayed and the record is deleted.
ALGORITHM:
1. The BookId of the student whose detail is to be deleted is obtained from the bk
table form database.
2. The details of the Book are deleted.
3. The changes in the file are saved.
4. The deleted BookId is displayed.

3. MODULE III: TRANSACTION


(a) Sub-module 1: issue()
DESCRIPTION:
This module is used to issue a book to a student.
INPUT:
1. Members ID No
2. Book ID No
OUTPUT:
1. Book Issued
2. Change in database
ALGORITHM:
On valid entry of the Member ID No. and Book ID No., the book ID No is flagged in
the database (so that flagged book cannot be issued again) and necessary changes
made in the userdata table.
7

VALIDATION:
1. To check the validity of the Member ID No
2. To check the validity of the Book ID No.
3. To check if the number hasn’t exceeded the total number of tokens available for
each student.
ERROR HANDLING:
Rejects the issue request on the failure of any one of the above validation criteria.
(b) Sub-module 2: return()
DESCRIPTION:
This module enables the student to return the issued book.
INPUT:
1. Members ID No
2. Book ID No
OUTPUT:
1. Book returned
2. Change in database
ALGORITHM:
On valid entry of the Member ID No. and Book ID No., the flagged book ID No is
removed from database (so that flagged book can be issued again) and necessary
changes made in the userdata table.
VALIDATION:
1. To check the validity of the Member ID No
2. To check the validity of the Book ID No.
ERROR HANDLING:
Rejects the issue request on the failure of any one of the above validation criteria.
Sub-module 2: reservebook()
DESCRIPTION:
This module enables the student to reserve the book.
INPUT:
1. Members ID No
2. Book ID No
8

OUTPUT:
1. Book Reserved
2. Change in database
ALGORITHM:
On valid entry of the Member ID No. and Book ID No., the particular book is flagged
(so that flagged book can be reserved) and necessary changes made in the userdata
table.
Reports Generation:
(1) No of Books available
(2) Issued Books
(3) Individual List of Books
(4) No of User’s list
1.3 Introduction to Front End

JAVA Introduction
Java is a programming language originally developed by James Gosling at Sun Microsystems
and released in 1995 as a core component of Sun Microsystems' Java platform. The language
derives much of its syntax from C and C++ but has a simpler object model and fewer low-
level facilities. Java applications are typically compiled to bytecode (class file) that can run
on any Java Virtual Machine (JVM) regardless of computer architecture.

History James Gosling initiated the Java language project in June 1991 for use in one of his
many set-top box projects. Gosling aimed to implement a virtual machine and a language that
had a familiar C/C++ style of notation. Sun released the first public implementation as Java
1.0 in 1995. It promised "Write Once, Run Anywhere" (WORA), providing no-cost run-times
on popular platforms. Fairly secure and featuring configurable security, it allowed network-
and file-access restrictions. Major web browsers soon incorporated the ability to run Java
applets within web pages, and Java quickly became popular.

Principles There were five primary goals in the creation of the Java language:

1. It should be "simple, object oriented and familiar".

2. It should be "robust and secure".

3. It should be "architecture neutral and portable".

4. It should execute with "high performance".

5. It should be "interpreted, threaded, and dynamic".


9

Java Platform One characteristic of Java is portability, which means that computer programs
written in the Java language must run similarly on any supported hardware/operating-system
platform. This is achieved by compiling the Java language code to an intermediate
representation called Java bytecode, instead of directly to platform-specific machine code.
Java bytecode instructions are analogous to machine code, but are intended to be interpreted
by a virtual machine (VM) written specifically for the host hardware. End-users commonly
use a Java Runtime Environment (JRE) installed on their own machine for standalone Java
applications, or in a Web browser for Java applets.

Automatic memory management Java uses an automatic garbage collector to manage


memory in the object lifecycle. The programmer determines when objects are created, and
the Java runtime is responsible for recovering the memory once objects are no longer in use.
Once no references to an object remain, the unreachable memory becomes eligible to be freed
automatically by the garbage collector. One of the ideas behind Java's automatic memory
management model is that programmers be spared the burden of having to perform manual
memory management.

Syntax The syntax of Java is largely derived from C++. Unlike C++, which combines the
syntax for structured, generic, and object-oriented programming, Java was built almost
exclusively as an object oriented language. All code is written inside a class and everything is
an object, with the exception of the intrinsic data types (ordinal and real numbers, boolean
values, and characters), which are not classes for performance reasons. Java uses the same
commenting methods as C++. There are two different styles of comment: a single line style
marked with two forward slashes, and a multiple line style opened with a forward slash
asterisk (/*) and closed with an asterisk forward slash (*/).

SWING Introduction

Swing is a widget toolkit for Java. It is part of Sun Microsystems' Java Foundation Classes
(JFC) — an API for providing a graphical user interface (GUI) for Java programs. Swing was
developed to provide a more sophisticated set of GUI components than the earlier Abstract
Window Toolkit. Swing provides a native look and feel that emulates the look and feel of
several platforms, and also supports a pluggable look and feel that allows applications to have
a look and feel unrelated to the underlying platform.

History The Internet Foundation Classes (IFC) were a graphics library for Java originally
developed by Netscape Communications Corporation and first released on December 16,
10

1996. On April 2, 1997, Sun Microsystems and Netscape Communications Corporation


announced their intention to incorporate IFC with other technologies to form the Java
Foundation Classes. Swing introduced a mechanism that allowed the look and feel of every
component in an application to be altered without making substantial changes to the
application code. The introduction of support for a pluggable look and feel allows Swing
components to emulate the appearance of native components while still retaining the benefits
of platform independence. This feature also makes it easy to make an application written in
Swing look very different from native programs if desired. Originally distributed as a
separately downloadable library, Swing has been included as part of the Java Standard
Edition since release 1.2. The Swing classes and components are contained in the javax.swing
package hierarchy.

Architecture Swing is a platform-independent, Model-View-Controller GUI framework for


Java. It follows a single-threaded programming model, and possesses the following traits:

Foundations Platform independence Swing is platform independent both in terms of its


expression (Java) and its implementation (non-native universal rendering of widgets).

Extensibility Swing is a highly partitioned architecture, which allows for the "plugging" of
various custom implementations of specified framework interfaces: Users can provide their
own custom implementation(s) of these components to override the default implementations.
In general, Swing users can extend the framework by extending existing (framework) classes
and/or providing alternative implementations of core components.

Component-oriented Swing is a component-based framework. The distinction between


objects and components is a fairly subtle point: concisely, a component is a well-behaved
object with a known/specified characteristic pattern of behavior. Swing objects
asynchronously fire events, have "bound" properties, and respond to a well-known set of
commands (specific to the component.) Specifically, Swing components are Java Beans
components, compliant with the Java Beans Component Architecture specifications.

Customizable Given the programmatic rendering model of the Swing framework, fine
control over the details of rendering of a component is possible in Swing. As a general
pattern, the visual representation of a Swing component is a composition of a standard set of
elements, such as a "border", "inset", decorations, etc. Typically, users will programmatically
customize a standard Swing component (such as a JTable) by assigning specific Borders,
Colors, Backgrounds, opacities, etc., as the properties of that component. The core
11

component will then use these property (settings) to determine the appropriate renderers to
use in painting its various aspects. However, it is also completely possible to create unique
GUI controls with highly customized visual representation.

Configurable Swing's heavy reliance on runtime mechanisms and indirect composition


patterns allows it to respond at runtime to fundamental changes in its settings. For example, a
Swing-based application can change its look and feel at runtime. Further, users can provide
their own look and feel implementation, which allows for uniform changes in the look and
feel of existing Swing applications without any programmatic change to the application code.

Lightweight UI Swing's configurability is a result of a choice not to use the native host OS's
GUI controls for displaying itself. Swing "paints" its controls programmatically through the
use of Java 2D APIs, rather than calling into a native user interface toolkit. Thus, a Swing
component does not have a corresponding native OS GUI component, and is free to render
itself in any way that is possible with the underlying graphics APIs.

Look and feel Swing allows one to specialize the look and feel of widgets, by modifying the
default (via runtime parameters), deriving from an existing one, by creating one from scratch,
or, beginning with J2SE 5.0, by using the skinnable synth Look and Feel, which is configured
with an XML property file. The look and feel can be changed at runtime, and early
demonstrations of Swing frequently provided a way to do this.

1.4 Introduction to Back End

MS – ACCESS Introduction

Microsoft Office Access, previously known as Microsoft Access, is a relational database


management system from Microsoft that combines the relational Microsoft Jet Database
Engine with a graphical user interface and software development tools. It is a member of the
Microsoft Office suite of applications and is included in the Professional and higher versions
for Windows and also sold separately.

Access stores data in its own format based on the Access Jet Database Engine. It can also
import or link directly to data stored in other Access databases, Excel, SharePoint lists, text,
XML, Outlook, HTML, dBase, Paradox, Lotus 1-2-3, or any ODBC-compliant data container
including Microsoft SQL Server, Oracle, MySQL and PostgreSQL. Software developers and
data architects can use it to develop application software and non-programmer "power users"
can use it to build simple applications.
12

Features

Users can create tables, queries, forms and reports, and connect them together with
macros. The original concept of Access was for end users to be able to “access” data from
any source. Other uses include: the import and export of data to many formats including
Excel, Outlook, ASCII, dBase, Paradox, FoxPro, SQL Server, Oracle, ODBC, etc. It also has
the ability to link to data in its existing location and use it for viewing, querying, editing, and
reporting. This allows the existing data to change and the Access platform to always use the
latest data. It can perform heterogeneous joins between data sets stored across different
platforms. Access is often used by people downloading data from enterprise level databases
for manipulation, analysis, and reporting locally.

There is also the Jet Database format (MDB or ACCDB in Access 2007) which can
contain the application and data in one file. This makes it very convenient to distribute the
entire application to another user, who can run it in disconnected environments.

Microsoft Access offers parameterized queries. These queries and Access tables can be
referenced from other programs like VB6 and .NET through DAO or ADO. From Microsoft
Access, VBA can reference parameterized stored procedures via ADO.

The desktop editions of Microsoft SQL Server can be used with Access as an alternative
to the Jet Database Engine. This support started with MSDE (Microsoft SQL Server Desktop
Engine), a scaled down version of Microsoft SQL Server 2000, and continues with the SQL
Server Express versions of SQL Server 2005 and 2008.

Microsoft Access is a file server-based database. Unlike client-server relational database


management systems (RDBMS), Microsoft Access does not implement database triggers,
stored procedures, or transaction logging.

Protection

Microsoft Access offers several ways to secure the application while allowing users to
remain productive. The most basic is a database password. Once entered, the user has full
control of all the database objects. This is a relatively weak form of protection which can be
easily cracked. A higher level of protection is the use of workgroup security requiring a user
name and password. Users and groups can be specified along with their rights at the object
type or individual object level. Databases can also be encrypted. The ACCDB format offers
significantly advanced encryption from previous versions.
13

1.5 Introduction to UML

UNIFIED MODELING LANGUAGE (UML)

The Unified Modeling Language™ (UML™) is the industry-standard language for


specifying, visualizing, constructing, and documenting the artifacts of software systems. It
simplifies the complex process of software design, creating a "blueprint" for construction.
UML stands for Unified Modeling Language. This object-oriented system of notation has
evolved from the work of Grady Brooch, James Rum Baugh, Ivar Jacobson, and the Rational
Software Corporation. These renowned computer scientists fused their respective
technologies into a single, standardized model. Today, UML is accepted by the Object
Management Group (OMG) as the standard for modeling object oriented. While UML was
designed to specify, visualize, construct, and document software-intensive systems, UML is
not restricted to modeling software. UML has its strengths at higher, more architectural levels
and has been used for modeling hardware (engineering systems) and is commonly used for
business process modeling, systems engineering modeling, and representing organizational
structure.

It is now an international standard:

ISO/IEC 19501:2005 Information technology -- Open Distributed Processing --


Unified Modeling Language (UML) Version 1.4.2"

Modeling: It is important to distinguish between the UML model and the set of diagrams of
a system. A diagram is a partial graphical representation of a system's model. The model also
contains a "semantic backplane" — textual documentation such as written use cases that drive
the model elements and diagrams.

There are three prominent parts of a system's model:

Structure Diagrams emphasize what things must be in the system being modeled. They are
the components of the object model:

Behaviour Diagrams emphasize what must happen in the system being modeled. They are the
components of the functional model:

Interaction Diagrams, a subset of behavior diagrams, emphasize the flow of control and data
among the things in the system being modeled. They are the components of the dynamic
model:
14

In our application, we are going to use the class diagram in structural model, the use case
diagrams in the behavioral model and the sequence and collaboration diagrams in the
dynamic model.

Class Diagrams:Class diagrams are the backbone of almost every object-oriented method
including UML. They describe the static structure of a system.

Use Case Diagrams: Use case diagrams model the functionality of a system using actors
and use cases. Use cases are services or functions provided by the system to its users.

Sequence Diagrams: Sequence diagrams describe interactions among classes in terms of an


exchange of messages over time.

Collaboration Diagrams: A collaboration diagram describes interactions among objects in


terms of sequenced messages. Collaboration diagrams represent a combination of information
taken from class, sequence, and use case diagrams describing both the static structure and
dynamic behavior of a system

2. REQUIREMENT ELICITATION

2.1 Introduction: The Objective of this system is to illustrate the use of controlling and
managing the library. This system curtails the paper work along with the redundancy. Library
Management System will provide the facility of adding /deleting the book’s details,
member’s detail and issue, reserving ,returning the book and collecting the fine from
defaulters .Restrictedly only administrator have given the authority to create the user’s
membership by Add New User Account. The one who wants to travel, he will book the
tickets through online reservation. First of all they need to check the information about the
details of the particular services i.e. whether they are available are not. Main purpose of this
system is the Photo identification.

2.2 Current System:

Working of Present Manual System

The staffs of library are involved in the following tasks.

1. Membership process: person has to fill membership form and they are provided with
member id. , and a separate page is booked for the member in books issue book.
2. Books are leveled with the Rack No and Book Id
3. Person desire to get the book issued, pick up the book and get his name entered in the
Book Issue Book.
15

4. At the time of return he gets his name cut from the Book Issue Book.

2.3 Drawbacks of Present System

This is Problem definition and it includes the description of the current system and the
deficiencies in the current system. Current system is manual maintenance of all the entities
and transaction of the library.
1. Lack of the immediate information retrieval :
The manual system lacks immediate retrieval of information. This problem is common to all
of us just to retrieve the information about the availability of Books, etc...
2. Lack of immediate information storage :
The manual system lack immediate storage of information. To store proper information at
proper place, we need to find a proper place in our books and we need to store the
information at the places that can be easily searched.
3. Lack prompt updating:
“ Nothing is permanent “ everything changes, as time passes on. The same stands true with
the system, which we are talking about, one can imagine, how difficult it is, to alter some
information written on the piece of paper. One way to alter is just cut off and throws away the
paper and rewrites the same information with minor changes on the fresh sheet of paper.
Another way is erase the previous information. Both are disgusting.
4. Lack storing of information:
Information is not an information, if it is unordered. In fact it is nothing more than a raw data.
To make data useful we need to store it on various basis like on the basis of Book code, Title
id, subject id, etc., but imagine how to store information in a manual system.
5. Redundancy of information:
We have to make transactions with number of book at a number of times. There are always
chances of recording information about the same book number of times. This is
“redundancy”. Redundancy invites inconsistency. In case some information about a member
or book is maintained twice or more than twice in future, if modification done at one place
then how will you be able to decide which of the various information about the same is Some
of the problems being faced in manual system are as follows:
1. Fast report generation is not possible.

2. Tracing of books is difficult.

3. Information about issue/return of the books is not properly maintained.


16

4. No central database can be created as information is not available in database.

2.4 User Requirement

Various requirements laid by the user are:


 Maintains data about the books of the library.
 Arranging data in logical order for easy maintenance.
 Collection of data about books which are issued.
 Collection of data about books which are returned.
 Data of fine on the students for late return of books, damage of books etc…
 Generation of various reports according to the management request.

2.5 Performance of the proposed System


 Immediate retrieval of information
 Better storage facility
 Better sorting of efficient report
 Quick sorting of information.
 Preparation of efficient report.
 Accuracy of data i.e. no redundancy hence no inconsistency.
 Prompt updating of information.

2.6 Alternative Solutions Examined


To achieve various goals and sub-goals set above, broadly three solutions where
examined. These solutions are consists of:
1. Specification of information to be made available by the system.
2. Description of what will be done manually and what has to be done by the computer.
3. Specification of the new computer equipments those are required. For each alternative
solution cost and benefit have to be examined before deciding one of the alternatives.
Solution A: -- One can improve existing manual system by carrying out the following steps :
All the related records could be updated as soon as Book is issued . Instead of keeping
information at various places about the books and the members of the library a master
register can be made and it can be kept at the centre place. A data entry staff can be made to
sit at the counter and can be assigned the job of entering all the books details and verifying it
at the same time. He can also be assigned the job of taking out reports regularly on a fixed
date. A separate master file can also be made for the employees and it can also be kept at the
centre.
Solution B: -- A transaction file can be maintained in which records related to a particular
period can be kept and after a fixed interval main records could be updated using this
transaction file.
17

Solution C: -- This is an online information system which helps in fast information retrieval
of the books when member request for the issue of book. Various calculation becomes easy
such as calculation of fine.
2.7 Cost Benefit Analysis
A cost benefit analysis is necessary to determine economic feasibility of the proposed
system. The primary objective of cost benefit analysis is to find out whether it is
economically worthwhile to invest in the project. If the return is good, then the project is
considered economically worthwhile. Cost benefit analysis should be done before preparing
the proposed system. Cost benefit analysis is done for all the cost associated with the project.
Conceptually, the cost of the project represents all the items of outlay associated with the
project which are associated with long term funds as well. It is sum of outlays of the
following:
 Hardware :- Pentium III processor, Printer, UPS Costs up to RS. 40,000.00
 Software :- Java, MS Access Installation costs near about RS. 1000.00
 Cost of Stationary, CD, Electricity & Maintenance is about RS 1500.00
 Cost of Operator RS 10,000.00
Benefits of the proposed system:
- Saving of extra employee for maintain books, Calculations etc. - about RS 10,000.00
- Reduction in wastage & damage of books - RS 10,000.00
- Timely information – RS 5000.00
- Easy Report generation - RS 1000.00
2.8 Proposed System:

Proposed system is computerized system based on java application and equipped with
user-friendly interface that provide deferent login for deferent categories of authority such as
administrator login, librarian login, user login; this system is connected with the database that
maintain the records of books details along with issue and return ,user’s complete
information. User-Interface provides the tabulated view of member’s list and book list that
show the available book and issued to books. It also provides the search engine to search the
books on the base of following categories: -

(a) Book ISBN/Book Id


(b) Book Title
(c) Book Author
(d) Book Category.
18

2.9 System requirement specification:

A requirement is a feature that the system must have or a constraint that it must
satisfy to be accepted by the client. Requirements engineering, aims at defining the
requirements of the system under construction. Requirement engineering includes two main
activities, requirements elicitation, which results in the specification of the system that the
client understands, and analysis, which results in an analysis model that the developers can
unambiguously interpret. A requirement is a statement about what the proposed system will
do. Requirements can be divided into two major categories: functional requirements and non-
functional requirements.

Feasibility Study:

Feasibility study is the high level capsule version of the entire requirement analysis
process. The objective of feasibility study is to determine whether the proposed system can
be developed with available resources.

There are three steps to be followed in determining the feasibility of the proposed
system.

1 Technical Feasibility

2 Operational Feasibility

3 Economic Feasibility

Technical Feasibility:

Evaluating the technical feasibility is the trickiest part of a feasibility study. This is
because, at this point in time, not too many detailed design of the system, making it difficult
to access issues like performance, costs on (on account of the kind of technology to be
deployed) etc. A number of issues have to be considered while doing a technical analysis.

1. Understand the different technologies involved in the proposed system

Before commencing the project, we have to be very clear about what are the
technologies those are required for the development of new system.

2. Find out whether the organization currently possesses the required technologies

Is the required technology available with the organization?

If so is the capacity sufficient?


19

For instance – “Will the current printer be able to handle the new reports and forms required
for the new system?”

Operational Feasibility:

Proposed projects are beneficial only if they can be turned into information systems
that will meet the organizations operating requirements. Simply stated, this test of feasibility
asks if the system will work when it is developed and installed. Are there major barriers to
Implementation? Here are questions that will help test the operational feasibility of a project:

 Is there sufficient support for the project from management from users?

If the current system is well liked and used to the extent that persons will not be able to
see reasons for change, there may be resistance.

 Are the current business methods acceptable to the user? If they are not, Users may
welcome a change that will bring about a more operational and useful systems.

 Have the user been involved in the planning and development of the project? Early
involvement reduces the chances of resistance to the system and in General and increases the
likelihood of successful project. Since the proposed system was to help reduce the hardships
encountered. In the existing manual system, the new system was considered to be operational
feasible.

Economical Feasibility:

Economic feasibility attempts 2 weigh the costs of developing and implementing a


new system, against the benefits that would accrue from having the new system in place. This
feasibility study gives the top management the economic justification for the new system.

A simple economic analysis which gives the actual comparison of costs and benefits
are much more meaningful in this case. In addition, this proves to be a useful point of
reference to compare actual costs as the project progresses. There could be various types of
intangible benefits on account of automation. These could include increased customer
satisfaction, improvement in product quality better decision making timeliness of
information, expediting activities, improved accuracy of operations, better documentation and
record keeping, faster retrieval of information, better employee morale.

Problem Specifications:
20

Further Drawbacks of the Existing System

The following are the drawbacks of the existing manual System.

 Time Delay

In the existing system, information related to all books and members cannot be
accessed in a Single Application. It’s a time taking process.

 Redundancy

As there are many copies of the same book and the reservations done by different many
users, which involve lot of complication and duplication in work, thus it causes redundancy.

 Accuracy

Since Book is issue to any member, it is very difficult to get the book detail without
their ISBN or Book Id. It is very difficult to get the particular book detail.

General requirements:

1. The new system should be cost effective.

2. To augment management, improve productivity and services.

3. To enhance User/System interface.

Key Goals of This Project:

1 Fully compatible with Online Booking.

2 User can visit the proposed system and can have the complete information of all
books detail

3 User can make the Reservation, issue and return of any type of book in a Single
Application, where as administrator and librarian have a complete control over the
library management.

4 We can provide the Security by maintaining login module .

Functional Requirements:

Inputs: The major inputs for this application can be categorized module -wise. Basically all
the information is managed by the software and in order to access the information one has to
produce their identity by entering the user-id and password. Every user has their own domain
of access beyond which the access is dynamically refrained rather denied.
21

Output: The major outputs of this system are user details, books list, books availability and a
search engine that search the books on the base of their ISBN, title, author and category. This
application must be able to produce output at different modules for different inputs.

Non Functional Requirements:

Performance is measured in terms of reports generated according to the requirements.


Nonfunctional requirements describe aspects of the system that are not directly related the
functional behavior of the system. Nonfunctional requirements include a broad variety of
requirements that apply to many different aspects of the system, from usability to
performance. The Unified Process provides the following categories of nonfunctional
requirements.

1 Response time: Time taken by the user to get output.

2 This provides user friendly GUI (Graphical User Interface).

3 Memory usage: It is total amount of memory used by the system.

4 Usability is the ease with which a user can learn to operate, prepare input for, and
interpret outputs of a system or component. Usability requirements include conventions
adopted by the user interface and the level of user documentation.

5 Reliability is the ability of a system or component to perform its required functions


under stated conditions for a specified period of time. Reliability requirements include
ability to detect specified faults or to withstand specified security attacks.

6 Performance requirements are concerned with quantifiable attributes of the system,


such as response time, throughput and accuracy.

Pseudo Requirements:

The user is expected to ensure that the minimum requirements for running the product
are satisfied. The hardware and software environment in which this product was developed is
specified. It is necessary to make sure that the hardware and software the consumer uses is
compatible to the specification given below

SOFTWARE REQUIREMENT
 Front end : Java Swing
 Back end : MS-Access 2007
 Operating System : Cross-platform
 JRE : version 6 update 15 (1.6.0_15)
22

HARDWARE REQUIREMENT
 64 MB Ram
 1 GB HDD
 810 Pentium 600 MHz Processor
 Series Motherboard
 Monitor
 Keyboard
2.10 System Models:

List of Use Cases and Scenarios

Actors represent external entities that interact with the system. An actor can be
human or an external system. Actors define the classes of functionality. Actors are role
abstractions and do not necessarily directly map to persons. The identification of actors is to
define the boundaries of the system.

This project is developed to make accessible to

1. Administrator

2. Librarian

3. User

Use Case 1: MAINTAIN USER DATA


This use case is used to login the userid and password and also to create an account for the
new user.
Actors : Administrator, Librarian , Student.

Purpose: This use case is used to login the userid and password

Overview : The userid and the password of the user have to be entered.

Scenario #1.1 Login as User


Flow of events:
1. User types the userid in the login screen
2. The user then types in the password assigned to him and clicks on “submit”.
3. The system then checks for the validity of the userid and password from the data base,
if it is correct then the user page is displayed for student, guest and teacher user and
librarian page for the librarian.
Alternate Course:

Line 1: Empty or wrong userid indicate error and displays the error message along
23

with the “OK” button.


Line 2: Empty or wrong password indicate error and displays the error message along
with the “OK” button.
Scenario #1.2 Add new user
Participating Actors: Admin

Flow of events:

1. Login as administrator
2. In administrator page, Add New User Account
3. Fill the details of the user.
4. Default password is creflib.

Use Case #2/ MAINTAIN BOOK


This is used to maintain the book details.
Scenario #2.1 Acquire new book.
Participating Actors: Admin and Librarian

Flow of events:

1. Select the category under which the book to be added


2. Enter the book details
3. System then verifies the information in the various fields and if correct then displays
the success message and module will create a record in database.

Scenario #2.2 Delete book

Participating Actors: Admin and Librarian

Flow of events:

1. Actor will clicks on the book deletion in the Admin or Librarian home page.
2. The Librarian fills the field’s bookid and then click “Ok”.
3. System then verifies the information in the fields and if correct then displays the
success message and module will update the record in database
Alternate Course:
Line 2: Invalid bookid details indicate error.
Scenario #2.3 Book Issued

Participating Actor : User

Flow of events:

1. Enter the userid to view the issued issued


24

2. Book is Displayed on the user home page.

Alternate Course:
Line 1: Invalid userid details indicate error.
Use Case #3/MAINTAIN TRANSACTION
This is used to maintain the transaction of books like issuing and canceling book to user.
Scenario #3.1 Issue a book
Participating Actors: Librarian, User

Flow of events:

1. Login as required.
2. Issue Book
3. Enter the Book Id and UserId
4. This module will update the record in database.

Alternate Course:
Line 1: Invalid userid and password details indicate error.
Line 3: Invalid Bookid and UserId details will indicate error.
Scenario #3.2 (normal) Return an issued book
Participating Actors: Librarian and Users

Flow of events:

1. Login as required.
2. Return Book
3. Fill the Book Id and UserId.
4. This module will cancel the issued book and update the record in database.

Alternate Course:
Line 1: Invalid userid and password details indicate error.
Line 3: Invalid Bookid and UserId details will indicate error.
Use Case #4/View
This is used to the detail of the books issued , list of members .
Scenario #4.1 Members’ Table
This is used to view the members of the Library Management System.
Participating Actors: Admin, Librarian and Users

Flow of events:
1. Members’ table button is placed just on the first page
25

2. Click on the Button.


3. This will show the detail of all members in Tabulated form.
Scenario #4.2 Books’ Table
This is used to view the all the books in the library.
Participating Actors: Admin, Librarian and Users

Flow of events:

1. Books’ table button is placed just on the first page


2. Click on the Button.
3. This will show the detail of all books in the library in Tabulated form.

Use Case #5/Search


This is used to the search the books
Scenario #5.1 Search Book
This is used to search the books on the basis of the following fields
1. By Title
2. By Author
3. By Category
4. By ID
2.6 Relationships among Actors and Use cases:

Use case diagrams identify the functionality provided by the system (use cases), the
users who interact with the system (actors), and the association between the users and the
functionality. Use cases are used in the analysis phase of software development to articulate
the high-level requirements of the system. The primary goals of Use Case diagrams include.

Use case diagrams for Administrator and Librarian:


26

System

Maintain
Userdata

Maintain
Books

Maintain
Transaction

Maintain Fine
Details

Administrator Librarian
Search

View Details

Update Details

Fig 2.1 Use Case Diagram for Administrator and Librarian

System
Maintain
Userdata

issue book

Return book

User
Search

View Details

Update Details

Fig 2.2 Use Case Diagram for User


27

2.7 TECHNICAL DICTIONARY

1. User: One who intends to use this software

2. Invalid user: One who does not have a valid userid and password to access the system

3. Valid user: One who does have a valid userid and password to access the system .

4. Login: The event through which the user gains access to the system.

5. Librarian: One who manages the whole Online Library Management System

6. Input validation: The checking of details entered by the user at the interface level.

3. SYSTEM ANALASYS

Introduction:

System analysis is a systematic investigation of a real or planned system to determine


the functions of the system and how they relate to each other and to any other system.

This term has many different meaning. System analysis is an explicit formal inquiry
carried out to help someone (referred to as the decision maker) identify a better course of
action and make a better decision than he might otherwise have made. The characteristic
attribute of a problem situation where systems analysis is called upon are complexity of the
issue and uncertainly of the outcome of any course of action that might reasonable be taken.

Analysis results in a model of the system that aim to be correct, complete and
consistency. Analysis results in a model of the system that aim to be correct complete,
consistent and verifiable. Developers formalize the system specification produced during
requirements elicitation and examine in more detail boundary conditions and exceptional
cases. Developers correct and clarify the system specification if any error or ambiguities are
found. The client and user usually involved in this activity.

The analysis model is composed of three individual models.

 The functional model represented by use cases and scenarios.


 The analysis object model represented by class and object diagrams
 The dynamic model is represented by state chart and sequence diagrams.
28

3.1 Object model:

Identifying entity objects:

It represents the persistence information tracked by the system.

User: This is the person who comes to Library for Issue/Return/Search of books. He is
assigned a UserId and password to access Library Management system for above
transactions.

Administrator: This is the person who is manage the library and helps the user for easily
transactions.

Database: It is a repository of data. All the information about books and users are available.

Identifying boundary objects:

A boundary object represents the system interface with the actors. In each use case,
each actor interfaces with at least one boundary object. The boundary objects collect the
information from the actor and translate it that can be used by the entity objects and also by
the control objects.

Login Page: This is the doorway to access the system; every actor has to interact with this
interface to enter in the system.

View details: After enter all the details of registration (by adding the user), the system show
the details of user and books’ detail issue to him.

Members’ List: Member’s List displays the existing members list in the system.

Books’ List: Books’ List displays the total book existing in system data base.

Search: Search interface facilitate the user to search the books on the basis of different field

Identifying control objects:

Control objects are responsible for conditioning boundary objects. A control object is
usually created at the beginning of a use case and ceases exits at its end.
29

Report emergency transaction control: The Administrator is responsible for giving the
correct data when client requires.
30

3.2 Dynamic model:

3.2.1 Sequence Diagram:

The UML sequence diagram shows the time based dynamics of the interaction. The
sequence diagram consists of objects represented in the usual way as named rectangles (with
underline messages), messages represented as solid line arrows and time represented as
vertical progression. Mainly these are used for formalize the behavior of the system and to
visualize the communication among the objects

: Login : Home Page : Add New : Add Books : Delete User : Delete Book : Database
User

: Administrator
1: user id pwd ()
2: success ()
3: Enter data()
4: Update ()
4: Invalid () 5: Acknowledgement ()

6: Enter Books' Detail() 7: Update ()

8: Acknowledgement ()

9: Fill UserId ()

10: verify ()

11: success ()

13: Fill Book Id ()


14: verify ()
15: success ()

Fig 3.1 Sequential Diagram


31

3.2.2 State Chart Diagram :

State chart is a notation for describing the sequences of states of


objects goes through in response to external events. State charts are extensions of the finite
state machines. A state chart is a condition satisfied by the attribute of an object.

Enter
{or}

View Books & Search Select Login Type

Invalid

Login

Select Transaction
Type

Invalid Another
Update
Transaction

View Detail

Defaulter

Yes

Pay Fine

Log Out

Fig 3.2 State Chart Diagram


32

3.2.3 Activity diagram:

The activities that occur within a use case or within an objects behavior typically
occur in a sequence .An activity diagram is designed to be simplified look at what happens
during an operations or a process.

Each activity is represented by a rounded rectangle the processing within an activity


goes to compilation and than an automatic transmission to the next activity occurs. An arrow
represents the transition from one activity to the next. The activity diagram has a starting
point represented by a filled in circle, and an endpoint represented by a bull’s eye. An activity
diagram describes a system in terms of activities. Activities are the state that represents the
execution of a set of operations. These are similar to flow chart diagram and dataflow

Enter

Select Login type View details


Transaction Check details

Collect report

Fig 3.3 Activity Diagram


33

4. SYSTEM DESIGN

4.1 Introduction:

Systems design is the process or art of defining the architecture, components, modules,
interfaces, and data for a system to satisfy specified requirements. One could see it as the
application of systems theory to product development. There is some overlap with the
disciplines of systems analysis, systems architecture and systems engineering. In the projects
we have the many modules that provides the following functionality:-

 The system should ask for login


 All the modules should display information according to the category of user who has
logged in.
 The book search module for the users should be able to search books through bookid,
title, author and category.
 The issue details module for the users should be able to display the issued details of a
particular user.
 The return book module for the users should be able to return date so that librarian
could be able to calculate the fine amount of a particular user.
 The change password module for the users should be able to change the password,
because the default password of the new user is creflib.
 The list member module of the system should be able to display the total members of
the library management system in tabulated form.
 The book information module for the librarian should be able to display the detail
information of all the books present in the library.
 The book deletion module for the librarian should be able to delete books from the
library.
 The book issue module for the librarian should be able to issue the books.
 The book return module for the librarian should be able to return the books.
 The book reservation module for the user should be able to reserve the book.

4.2 Mapping Sub system:

Sub system mapping issues often leads to the definition of additional subsystems
dedicated to moving data from one node to another, dealing with concurrency, and reliability
34

issues. Off-the-shelf components enable developers to realize complex services more


economically.

4.3 System design goals:

The project helps in issuing the books online for the college library. It is used to search
books, requests to buy a new book, calculate fines and many other applications.
Performance criteria
The Performance Criteria is mainly concentrated on the following 3 areas

1. The main design of the system is based to increase the speed of the transmission of
files through the network.(for the future when this system will connect to the network)
2. Doesn’t require too much of memory space
3. Throughput is very good
Dependability criteria

Not much expenditure has to be implemented, as the expected system crashes are very few in
the following system. Security systems have already been established. Therefore no
additional costs are incurred.

Cost criteria

The software cost estimation is done by the following criteria

 Number of months to develop the project – 4 months


 Number of developers require – 3
 Hardware Required to develop is already set up

Therefore the cost can be estimated basing on per developer payment which is $300.
Therefore the estimation can be put up to $900 x 4 = $3600

Maintenance criteria

They are no special issues of maintenance of the present developed system, as it


doesn’t require any special kind of maintenance.

End user criteria

Whether the system is user friendly or not?


35

Utility: Our system that is computed the shortest path between source and destination by
using straight line routing algorithm.

Usability: our system is very easy to use Straight line routing algorithm.

4.4 Global control flow

The relationships among predicates are tracked globally by uniformly treating both
control flow and explicit predicates by mapping them to a single connected partition graph.
This allows for the analysis of predicate relations based on the scope of an entire procedure.
This predicate analysis can be invoked by various phases of compiler optimization without
being constrained by an incremental update of any persistent data structures.

4.5 Automation Boundary


An online information system is able to achieve almost all goals and sub goals listed before in
other words it overloads almost all problems encountered in manual and batch system. We
strongly suggest the online information for the user in modern competitive world, where time
and efforts are valuable we just can’t afford their wastage. But here is also some boundary for
working. Some specification known as Automation Boundary.
These are: -
 Data have to enter manually.
 All the Transaction have to be done using entering data manually.
 Some of the reports may be missing and they can be added as and when required.
 Security measures are not taken into care this will have to be implemented by the co.
 Information about stationary is not maintained.
4.6 Design Diagram

4.6.1 ER Diagram

ER diagram views the real world as entities and relationships. The E-R diagram is a
model of entities in the business environment, the relationships among the entities, and the
attributes or properties of both the entities and their relationships. A basic component of the
model is the Entity-Relationship diagram which is used to visually represent data objects.

The overall logical structure of a database can be expressed graphically by an E-R diagram :

Rectangle: represent entity sets.

Ellipses: represent attributes.

Diamonds: represents relationship sets among entity sets.


36

Lines: link attributes to entity to entity sets and entity sets to relationships sets.

Double ellipse: represents multivalued attributes.

Dashed lines: represents derived attributes.

Double lines: indicate total participation of an entity in a relationship.

Double rectangle: represent weak entity sets.

Book Name
Author

BookId/ISBN

Book Sub/Cat

Issue Borrowed by

Due_date Reserved By

Return_Date

User Name
Semester
User
UserId
Course
Department Gender

Fig 4.1 ER Diagram of the Library Management System


37

4.6.2 Data Flow Diagram:

LOGIN BOOK SEARCH

ISSUE DETAIL

LMS
BOOK ACQUISITION RETURN DETAIL

USER DETAIL

CHANGE PASSWORD FINE DETAIL

Figure 4.2 Context Level DFD for Library Management System

Admin/Librarian/
Student
Administrator Form

Login subsystem Valid users


Admin/Librarian/ Librarian Form
Student

Student Form

Invalid User
Or
Password

Figure 4.3 First Level DFD for Login SubSystem


38

Change Password subsystem


Valid Data
Admin/Librarian/ User & Password
Student

Login

Invalid User or Password

Figure 4.4 Change Password SubSystem

5. DATABASE DESIGM

The design starts with the end users vie of the organization called conceptual
requirements and user in a decision making, which user uses information obtain by accessing
the database. The end users also provide data to be stored in the database. In considering the
end user requirements following trade-off have to be taken into account.

It should satisfy today’s need for information.

 It should not only satisfy today’s needs but also satisfy them in reasonable time i.e., it
should satisfy the performance requirements.
 It should satisfy the anticipated as well as anticipated requirements of the end users.
 It should be easily expandable with the reorganization and expansion of the
enterprise.
 It should be easy to modify in changing software and hardware environments.
 Before inserting any data into the database the data should be tested for validity.
 Only authorized people should access to the data stored in the database.
Steps involved in designing a database:

There are about two steps to designing database. They are:

 Conceptual model
 Logical model
39

About the Database:

The entire database is maintained as a set of related tables. Each table is a specific to
certain to functions and eases the storage, retrieval of a data from the database.

The following are the detailed descriptions of the tables that are created for
implementing the system effectively.

Conventions used:

Constraint type: The type of the constraint.

P: Primary Key Constraint.

F: Foreign Key Constraint.

List of Tables:

Table 1: adminlog

The details of the Administrator and Librarian in the organization are maintained in
this table. The attributes of the table with their description are listed below

S.No.  Field Name Data Type


1 UserId Text
2 Passwd Text

Table 2: bk

The complete details of the books those held in the library. The attributes of the table with
their description are listed below

S.No.  Field Name Data Type


1 bookid Text
2 Bname Text
3 bauther Text
4 bcat Text
5 bissueto Text
6 Status Number
7 breturn Text
8 ReservedFlag Number
9 reserevedby Text
10 issueddate Date
11 returndate Date
40

Table 3: bksearch

S.No.  Field Name Data Type


1 bookid Text
2 name Text
3 cat Text
4 Author Text
5 mid Text

Table 4: userdata

This table keep the complete details of the user including the number of books issue
to him, the attribute of the table is tabulated below:

S.No.  Field Name Data Type


1 Useridno Text
2 username Text
3 gender Text
4 department Text
5 course Text
6 semester Text
7 noofbookstaken Number

Table 5: usernpasswd

The details of the user’s userid and password in the organization are maintained in
this table. The attributes of the table with their description are listed below

S.No.  Field Name Data Type


1 UserId Text
2 passwd Text

7. TESTING

Software testing is a critical element of software quality assurance and represents the
ultimate reviews of specification, design and coding. Testing represents an interesting
anomaly for the software. During earlier definition and development phases, it was attempted
to build software from an abstract concept to a tangible implementation. No system is error
free because it is so till the next error crops up during any phase of the development or usage
of the product. A sincere effort however needs to be put to bring out a product that is
satisfactory.
41

7.1 Test concepts:

The testing phase involves the testing of development system using various data.
Preparation of the test data plays a vital role in system testing. After preparing the test data,
the system under study was tested using those data. While testing the system, by using the
test data, errors were found and corrected by using the following testing steps and corrections
were also noted for future use. Thus, a series of testing is performed on the proposed system
before the system is ready for implementation.

The various types of testing done on the system are:

 Uniting testing

 Integration testing

 Acceptance testing

 Functional testing

 System testing

Unit testing

Unit testing is usually conducted as part of a combined code and unit test phase of the
software lifecycle, although it is not uncommon for coding and unit testing to be conducted as
two distinct phases.

Field testing will be performed manually and functional tests will be written in detail.
Test objectives
 All field entries must work properly.
 Data must be selected from the browse link.
 The messages and responses must not be delayed.

White box testing:

This type of testing ensures that

 All independent paths have been exercised at least once

 All logical decisions have been exercised on their true and false sides

 All loops are executed at their boundaries and within their operational bounds

 All internal data structures have been exercised to assure their validity.
42

To follow the concept of white box testing we have tested each form .we have created
independently to verify that Data flow is correct, All conditions are exercised to check their
validity, All loops are executed on their boundaries.

Conditional testing:

In this part of the testing each of the conditions were tested to both true and false
aspects. And all the resulting paths were tested. So that each path that may be generate on
particular condition is traced to uncover any possible errors.

Data flow testing:

This type of testing selects the path of the program according to the location of
definition and use of variables. This kind of testing was used only when some local variable
were declared. The definition-use chain method was used in this type of testing. These were
particularly useful in nested statements.

Loop testing:

In this type of testing all the loops are tested to all the limits possible. The following
exercise was adopted for all loops:

All the loops were tested at their limits, just above them and just below them.

All the loops were skipped at least once.

For nested loops test the inner most loop first and then work outwards.

For concatenated loops the values of dependent loops were set with the help of connected
loop.

Unstructured loops were resolved into nested loops or concatenated loops and tested as
above.

Each unit has been separately tested by the development team itself and all the input
have been validated.

Integration testing:

Software integration testing is the incremental integration testing of two or more


integrated software components on a single platform to produce failures caused by interface
defects.
43

The task of the integration test is to check that components or software applications, e.g.
components in a software system or – one step up – software applications at the company
level – interact without error.

Test Results: All the test cases mentioned above passed successfully. No defects encountered.

Functional testing:
Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user
manuals.
Functional testing is centered on the following items:

Valid Input : identified valid input must be accepted.

Invalid Input : identified invalid input must be rejected.

Functions : identified functions must be exercised.

Output : identified outputs must be exercised.

Systems/Procedures: interfacing systems or procedures must be invoked.

Organization and preparation of functional tests is focused on requirements, key


functions, or special test cases. In addition, systematic coverage pertaining to identify
Business process flows; data fields, predefined processes, and successive processes must be
considered for testing. Before functional testing is complete, additional tests are identified
and the effective value of current tests is determined.

System testing:

System testing ensures that the entire integrated software system meets requirements. It
tests a configuration to ensure known and predictable results. An example of system testing is
the configuration oriented system integration test. System testing is based on process
descriptions and flows, emphasizing pre-driven process links and integration points.

Test Results: All the test cases mentioned above passed successfully. No defects encountered.
44

Acceptance testing:
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional
requirements.

Test Results: All the test cases mentioned above passed successfully. No defects encountered.

7.2 Test cases: TEST CASES

Status
Test
Case Input Expected Behavior Observed Behavior P=Passed
No
F=Failed

The system is
Open the
comparing the The two results are
Administrator system
1. password with same allow the P
enters admin name
already stored Administrator.
and password.
password.

Admin enter All the details are Display the


2. transaction details in display in user view transaction details in P
the database. details different modules

Administrator enter The data should be Generate the userid


P
3. all the details of user transfer to the and default
for membership server. password for users

The user and books If book available


P
detail is send to then it reserve or
User issue , return or database and issue the book
4
reserve the book confirmed whether If not available
book is available or F
not
45

Scope for Expansion

The project Library Management System can be expanded to full pledged Online
Library Management System which can be implemented at any organization or on any server.
Online Library Management System can maintain all the information and data of many
libraries connected with each other and student can get the information about the available
books in other library

8. CONCLUSION

After 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.
46

Bibliography
Books:
 Beginning Java Objects: From Concepts to Code –by Jacquie
Barker)
 Introduction to Java Programming (ICFAI publication)
 System Analysis and Design (ICFAI publication)
 The Complete Reference Java(McGrawhill; Herbert Schildth-
reprint 2008)
 Introduction to MS-Access (Aptech)

Web Sites:
 www.apache.org
 www.wikipedia.com
 www.google.co.in
 www.sun.com
 www.scribd.com
47

Appendix
48

Screen Detail
(inputs and outputs)
49

Coding

You might also like