Library Automation IIMT JAVA BCA
Library Automation IIMT JAVA BCA
Library Automation
By
NITISH KUMAR SINGH
Roll No. 1706131874
A PROJECT REPORT
Certificate
PROJECT GUIDE
Ms. Parul Bhatnagar
3
Declaration
We hereby declare that the project work entitled “Library Management System” is
an authenticated work carried out by us. Under the guidance of Ms. Parul
Bhatnagar for the partial fulfillment of the award of the degree of BACHELOR
OF COMPUTER APPLICATIONS and this work has not been submitted for
similar purpose anywhere else except to IIMT College of Management, GREATER
NOIDA, affiliated to CCS University.
Signature
Name:NITISH KUMAR SINGH
4
ABSTRACT
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 Core java, which mainly focuses on basic
operations in a library like adding new member, new books, and updating new
information, searching books and members and facility to borrow and return books.
“Library Management System” is a windows application, designed to help
users maintain and organize library. Our software is easy to use for both beginners
and advanced users. It features a familiar and well thought-out, an attractive user
interface, combined with strong searching Insertion and reporting capabilities.
The software Library Management System has following main modules.
Insertion to Database Module – User friendly input screen
Extracting from Database module – Attractive Output Screen
Search Facility system – search for books and members
5
Acknowledgement
It is high privilege for me to express my deep sense of gratitude to all those faculty
members who helped me in the completion of the project.
My special thanks to Ms. Parul Bhatnagar (, Department of Computer
Application, IIMT College of Management Greater noida, for helping me in the
completion of project work and its report submission.
Signature:
Name : Nikhil
Roll No.:
6
INDEX
1. Introduction ------------------------------------------------------------------- 8
1.1 Purpose ------------------------------------------------------------------- 8
1.2 Scope ------------------------------------------------------------------- 8
1.3 Definition, Acronyms and Abbreviations -----------------------------8
1.4 Overview
2. System Analyses -------------------------------------------------------9
2.1 Existing System ------------------------------------------------------9
2.2 Proposed System ------------------------------------------------------9
2.3 Feasibility study -----------------------------------------------------9
2.4 Assumptions and Dependencies ------------------------------------9
3. Specific Requirements --------------------------------------------10
3.1 External Interface --------------------------------------------10
3.1.1 User Interface -------------------------------------------10
3.1.2 Hardware Interface --------------------------------------------10
3.1.3 Software Interface --------------------------------------------10
3.1.4 Communication Interface --------------------------------------------10
3.2 Functional Requirements -------------------------------------------10
3.3 Performance Requirements --------------------------------------------11
3.4 Design constraints ---------------------------------------------------11
3.5 System Attributes ---------------------------------------------------11
3.5.1 Reliability ---------------------------------------------------11
3.5.2 Availability ----------------------------------------------------11
3.5.3 Security ----------------------------------------------------11
3.5.4 Maintainability -----------------------------------------------------11
3.5.5 Portability ----------------------------------------------------11
4. Analyses and Design ----------------------------------------------------12
4.1 Use Case Diagram ----------------------------------------------------12
4.1.1 Overview Use Case ----------------------------------------------------12
4.1.2 Login Use Case ----------------------------------------------------12
4.1.3 Manage Member Information Use Case --------------------------- 13
4.1.4 Member Use Case -------------------------------------------13
4.2 Activity Diagram -----------------------------------------------------14
4.2.1 Login ------------------------------------------------------14
7
1. Introduction
1.1 Purpose:
The purpose of the report document is to specify all the information
required to design, develop and test the software. The purpose of this
project is to provide a friendly environment to maintain the details of
books and library members.
The main purpose of this project is to maintain easy circulation system
using computers and to provide different reports.
1.3 Overview:
The implementation of Library Management starts with entering and
updating master records like book details, library information. Any
further transaction like book issue, book return will automatically update the
current books.
9
System Analyses
2.1 Existing System:
The overall scope of the feasibility study was to provide sufficient information to
allow a decision to be made as to whether the Library Management System
project should proceed and if so, its relative priority in the context of other
existing Library Management Technology.
The feasibility study phase of this project had undergone through various steps
which as describe as under:
Identity the origin the information at different level.
Identity the expectation of user from computerized system.
- Analyze the drawback of existing system(manual system)
All the data entered will be correct and up to date. This software package is
developed using java as front end which is supported by sun micro system.
Oracle server as the back end.
10
3 Specific Requirements
The user should be simple and easy to understand and use. Also be an interactive interface .The
system should prompt for the user and administrator to login to the application and for proper
input criteria
3.1.1 User Interface:
The software provides good graphical interface for the user any administrator can
operate on the system, performing the required task such as create, update,
viewing the details of the book.
Allows user to view quick reports like Book Issues/Returned etc in between
particular time.
RAM : 512 MB
● Java language
● Oracle DB server
Window
Book entry: In this module we can store the details of the books.
Book issue: This module is used to keep a track of book issue details.
Book return: This module enables to keep a track of return the books.
The capability of the computer depends on the performance of the software. The software
can take any number of inputs provided the database size is larger enough. This would
depend on the available memory space.
Each member will be having a identity card which can be used for the library book issue,
fine payment etc. whenever library member wish to take a book, the book issued by the
library authority will be check both the book details as well as the student details and store it
in library database. In case of retrieval of book much of human intervention can be
eliminated.
3.5.1 Maintainability: There will be no maintained requirement for the software. The
database is provided by the end user and therefore is maintained by this user.
3.5.3 Availability: This system will available only until the system on which it is
install, is running.
Activity diagrams are constructed from a limited repertoire of shapes, connected with
arrows. The most important shape types:
Arrows run from the start towards the end and represent the order in which activities
happen.
Hence they can be regarded as a form of flowchart. Typical flowchart techniques lack
constructs for expressing concurrency. However, the join and split symbols in activity
diagrams only resolve this for simple cases; the meaning of the model is not clear when they
are arbitrarily combined with decisions or loops.
A sequence diagram is a kind of interaction diagram that shows how processes operate with
one another and in what order. It is a construct of a Message sequence chart. A sequence
diagram shows, as parallel vertical lines (lifelines), different processes or objects that live
simultaneously, and, as horizontal arrows, the messages exchanged between them, in
the order in which they occur.
.
4.4 ER Diagram:
It is clear that the physical objects from the previous section – the member, books, and
library – correspond to entities in the Entity-Relationship model, and the operations to be
done on those entities – holds, checkouts, and so on – correspond to relationships. However,
a good design will minimize redundancy and attempt to store all the required information in
as small a space as possible.
.
4.5 Data Flow Diagram (DFD):
A data flow diagram (DFD) is a graphical representation of the "flow" of data through an
information system. DFDs can also be used for the visualization of data processing
(structured design).
On a DFD, data items flow from an external data source or an internal data store to an
internal data store or an external data sink, via an internal process.
A DFD provides no information about the timing of processes, or about whether processes
will operate in sequence or in parallel. It is therefore quite different from a flowchart, which
shows the flow of control through an algorithm, allowing a reader to determine what
operations will be performed, in what order, and under what circumstances, but not what
kinds of data will be input to and output from the system, nor where the data will come from
and go to, nor where the data will be stored (all of which are shown on a DFD).
5.1 Login:
6 Testing
Unit testing focuses verification effort on the smallest unit of software i.e. the
module. Using the detailed design and the process specifications, testing is
done to uncover errors within the boundary of the module. All modules must
be successful in the unit test before the start of the integration testing begins.
In this project each service can be thought of a module. There are so many
modules like administrator,user,visitor. Each module has been tested by giving
different sets of inputs. When developing the module as well as finishing the
development, the module works without any error. The inputs are validated
when accepting them from the user.
After unit testing, we have to perform integration testing. The goal here is to
see if modules can be integrated properly, the emphasis being on testing
interfaces between modules. This testing activity can be considered as testing
the design and hence the emphasis on testing module interactions.
In this project the main system is formed by integrating all the modules. When
integrating all the modules I have checked whether the integration effects
working of any of the services by giving different combinations of inputs with
which the two services run perfectly before integration.
30
testing
Unit
Module testing
Sub-system
testing
System testing
Acceptance testing
Testing is the process of detecting errors. Testing performs a very critical role
for quality assurance and for ensuring the reliability of the software. The
results of testing are used later on during maintenance also.
Testing is vital to the success of the system. System testing makes a logical
assumption that if the parts of the system are correct, the goal will be
successfully achieved. In adequate testing or non-testing leads to errors that
may not appear until months or even years later. This creates two problems:
31
The time lag between the cause and the appearance of the problem.
The time interval effect of the system errors on files and the records on
the system.
A small error can conceivably explode into a much larger problem. Effective
testing early in the process translates directly into long term cost savings from
a reduced number of errors.
Another reason for system testing is its utility as a user oriented vehicle before
implementation. The best program is worthless if it does not meet the user
requirements. Unfortunately, the user’s demands are often compromised by
efforts to facilitate program or design efficiency in terms of processing time or
design efficiency.
Thus in this phase we went to test the code we wrote. We needed to know if
the code compiled with the design or not? Whether the code gave the desired
outputs on given inputs? Whether it was ready to be installed on the user’s
computer or some more modifications were needed?
Through the web applications are characteristically different from their
software counterparts but the basic approach for testing these web applications
is quite similar. These basic steps of testing have been picked from software
engineering practices. The following are the steps, we undertook:
The content of the Intranet site is reviewed to uncover content errors. Content
errors covers the typographical errors, grammatical errors, errors in content
consistency, graphical representation and cross referencing errors.
The design model of the web application is reviewed to uncover the navigation
errors. Use cases, derived as a part of the analysis activity allows a web
designer to exercise each usage scenario against the architectural and
navigational design. In essence these non-executable tests help to uncover the
errors in navigation.
When web applications are considered the concept of unit changes. Each web
page encapsulates content navigation links, content and processing elements. It
is not always possible to test each of these individually. Thus is the base of the
web applications the unit to be considered is the web page. Unlike the testing
of the algorithmic details of a module the data that flows across the module
interface, page level testing for web applications is driven by content,
processing and links encapsulating the web page.
The assembled web application is tested for overall functionality and content
delivery. The various user cases are used that test the system for errors and
32
Levels of Testing
In order to finding the errors present in different phases, we have the concept
of levels of testing. The basic levels of testing are
Integration Testing
Design
Software testing can also be stated as the process of validating and verifying
that a software program/application/product:
1. meets the business and technical requirements that guided its design and
development;
2. works as expected; and
3. can be implemented with the same characteristics
Non-functional testing refers to aspects of the software that may not be related
to a specific function or user action, such as scalability or security. Non-
functional testing tends to answer such questions as "how many people can log
in at once", or "how easy is it to hack this software".
testing. Static testing can be (and unfortunately in practice often is) omitted.
Dynamic testing takes place when the program itself is used for the first time
(which is generally considered the beginning of the testing stage). Dynamic
testing may begin before the program is 100% complete in order to test
particular sections of code (modules or discrete functions). Typical techniques
for this are either using stubs/drivers or execution from a debugger
environment. For example, spreadsheet programs are, by their very nature,
tested to a large extent interactively ("on the fly"), with results displayed
immediately after each calculation or text manipulation.
Although there are close links with SQA, testing departments often exist
independently, and there may be no SQA function in some companies.
Testing Methods
The Box Approach
Software testing methods are traditionally divided into and white- and
black-box testing. These two approaches are used to describe the point of
view that a test engineer takes when designing test cases.
Manipulating input data and formatting output do not qualify as grey box,
because the input and output are clearly outside of the "black-box" that we
are calling the system under test. This distinction is particularly important
when conducting integration testing between two modules of code written
by two different developers, where only the interfaces are exposed for test.
However, modifying a data repository does qualify as grey box, as the user
would not normally be able to change the data outside of the system under
test. Grey box testing may also include reverse engineering to determine,
for instance, boundary values or error messages.
7.1 Implementation:
System implementation is the stage when the user has thoroughly tested the
system and approves all the features provided by the system. The various tests
are performed and the system is approved only after all the requirements are
met and the user is satisfied.
The new system may be totally new, replacing an existing manual or
automated system, or it may be a major modification to an existing system. In
case of, proper implementation is essential to provide a reliable system to meet
organizational requirements. Successful implementation may not guarantee
improvement in the organization using the new system, but improper will
prevent it.
Implementation is the process of having systems personnel check out and
put new equipment into use, train users, install the new application and
construct any files of data needed to use it. This phase is less creative than
system design. Depending on the size of the organization that will be
involved in using the application and the risk involved in its use, systems
developers may choose to test the operation in only one area of the firm
with only one or two persons. Sometimes, they will run both old and new
system in parallel way to compare the results. In still other situations,
system developers stop using the old system one day and start using the
new one the next.
37
7.2 Evaluation:
The evaluation phase ranks vendor proposals and determines the one best
suited. Evaluation of the system is performed to identify its strengths and
weaknesses. The actual evaluation can occur along any of the following
dimensions:
Operational Evaluation
Assessment of the manner in which the system functions, including case of
use, response time, overall reliability and level of utilization.
Organizational Impact
Identification and measurement of benefits to the organization in such areas, as
financial concerns, operational efficiency and competitive impact.
Development Performance
Evaluation of the development process in accordance with such yardsticks as
overall development time and effort, conformance to budgets and standards
and other project management criteria.
7.3 Maintenance:
are made properly and in time to keep the system in tune with user
specifications.
Maintenance is costly. One way to reduce maintenance costs is through
maintenance management and software modification audits. Software
modification consists of program rewrites system level updates, and re-audits
of low ranking programs to verify and correct the soft spots. The outcome
should be more reliable software, a reduced maintenance backlog, and higher
satisfaction and morale among the maintenance staff.
39
8 Conclusion
From a proper analysis of positive points and constraints on the component, it can
be safely concluded that the product is a highly efficient GUI based component.
This application is working properly and meeting to all user requirements. This
component can be easily plugged in many other systems.
40
9 References
http://www.java2s.com/
http://docs.oracle.com/javase/tutorial/java/TOC.html
Database Programming with JDBC and Java by Oracle
Head First Java
A Programmer's Guide to Java (Rahul Kumar)