Library Management System: Submitted in Partial Fulfillment of The Requirements For The Award of
Library Management System: Submitted in Partial Fulfillment of The Requirements For The Award of
Library Management System: Submitted in Partial Fulfillment of The Requirements For The Award of
Submitted by
ARVIND KUMAR
Enrolment No. 9501004407
Declaration
Submitted by
Arvind Kumar
Enrolment No. 9501004407
ii
ACKNOWLEDGEMENT
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)
Director
Training Division
(v)
LIST OF ILLUSTRATIONS
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.
1. Member Management
2. Book Management
3. Transaction
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.
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”.
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:
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.
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
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.
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.
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.
MS – ACCESS Introduction
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.
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
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.
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.
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.
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.
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.
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 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.
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
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:
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
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:
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.
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.
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.
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:
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.
1. Administrator
2. Librarian
3. User
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.
Line 1: Empty or wrong userid indicate error and displays the error message along
23
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.
Flow of events:
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
Flow of events:
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
Flow of events:
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.
System
Maintain
Userdata
Maintain
Books
Maintain
Transaction
Maintain Fine
Details
Administrator Librarian
Search
View Details
Update Details
System
Maintain
Userdata
issue book
Return book
User
Search
View Details
Update Details
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:
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.
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.
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
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
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 ()
8: Acknowledgement ()
9: Fill UserId ()
10: verify ()
11: success ()
Enter
{or}
Invalid
Login
Select Transaction
Type
Invalid Another
Update
Transaction
View Detail
Defaulter
Yes
Pay Fine
Log Out
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.
Enter
Collect report
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:-
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
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
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
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.
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.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 :
Lines: link attributes to entity to entity sets and entity sets to relationships 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
ISSUE DETAIL
LMS
BOOK ACQUISITION RETURN DETAIL
USER DETAIL
Admin/Librarian/
Student
Administrator Form
Student Form
Invalid User
Or
Password
Login
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 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:
Conceptual model
Logical model
39
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:
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
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
Table 3: bksearch
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:
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
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
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.
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.
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.
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.
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:
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:
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.
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.
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