Synopsis of Project | Project Proposal
Project
On
Library Management System
Contents
Chapter 1. Introduction
1.1
Existing System
1.2
Proposed System
1.3
Objective
Chapter 2. System Analysis
2.1 Problem
Definition
2.2 Software
Requirements Specification
2.3 Software
Tools Used
2.4 About
Technologies
Chapter 3. System Design
3.1 Software
Architecture
3.2 Data
Modules
3.3 Data
Structure
3.4 Detailed
System Design
3.4.1
Entity Relationship Model (E-R Diagram)
3.4.2
Data Flow Diagram (DFD)
3.4.3
User Interface Design
3.4.3.1 Input and Output with screen
shots
Chapter 4. Implementation
4.1
Coding Details with Screen Shots
Chapter 5. Validation
5.1
Validation or Security
Chapter 6. Conclusion
6.1
Conclusion
6.2
Limitations of System
6.3
Future Scope
Bibliography
Chapter-1
Introduction
1.1 Existing System
In our existing system, all the transaction of
books is done manually, so taking more time for a transaction like borrowing a
book or returning a book and also for searching of members and books. Another
major disadvantage is that preparing the list of books borrowed and the
available books in the library will take more time, currently a one-day process
for verifying all records. So, after conducting the feasibility study we
decided to make a computerized library management system.
1.2 Proposed System
The aim of this project is to
develop an automated Library Management System which is used to maintain books
record, issue book, return book and all necessary requirements for the library
to manage day-to-day operations.
It will track on the how many
books available in library and books issued to the members or users.
The application is reduced as
much as possible to avoid errors while entering the data. It also provides
error message while entering invalid data. It leads to error free, secure,
reliable and fast management system.
Our proposed system has the
following advantages:
·
User friendly interface
·
Fast access to database
·
Less error
·
Search facility
·
Look and Feel
Environment
·
Quick Transaction
1.3 Objective
The objective of this project is to develop a
system that can handle and manage the activities involved in a library in an
efficient and reliable way. Develop a system that can replace the manual
library managing system. Develop a database which stores user details and book
details. Give reliable search facility for the users. Administrator or
Librarian should have logins. Create an easy to understand user friendly
environment. Attractive user interfaces to navigate through the system for the
users.
General Objective
of the Project
The main objective of the proposed system is
to change the manual system in to computerized system, so the user can get
books within instant time.
Specific Objective
of the Project
Some specific objectives of the project are:
ü It provides better
and efficient service to members/student.
ü Reduce workload
ü Faster retrieval
of information about the book
ü Provide facility
for proper monitoring reduce paper work and provide data security.
ü All details
available on a click
ü Fast access to
database
ü Less error
ü More storage
capacity
ü Search facility
ü Look and Feel
Environment
Chapter-2
Requirements and Analysis
2.1 Problem Definition
Library Management System can
be used to maintain the records of books, issue books, return books, and all
necessary requirements for the library to manage day-to-day operations.
Achieving this objective is difficult using manual system as the information is
scattered, can be redundant and collecting relevant information may be very
time consuming. All these problems are solved using this project. As there are
many books present in library and also there are various books issued by
librarians to the members. This application is reduced as much as possible to
avoid errors while entering the data. It also provides error message while
entering invalid data. Although manual system can handle but there are some
flaws in this system:
·
Data Redundancy
·
Lots of Paperwork
involved
·
Time Consuming Process
·
Risk of Data Loss etc…
2.2 Software Requirements Specification
A software requirements
specification (SRS)
is a detailed description of a software system to be developed with its
functional and non-functional requirements.
Functional Requirements:
ü Log
In
-user
id is provided when they register
-The
system must only allow user with valid id and password to enter the system.
-The
system performs authorization process which decides what user level can access
to.
-The
user must be able to logout after they finished using system.
ü New
Member Registration
-System
must be able to verify information
-System
must be able to delete information if information is wrong.
ü Register
New Book
-System
must be able to verify information
-System
must be able to enter number of copies into table.
-System
must be able to not allow two books having same book id.
ü Search
Book
-System
must be able to search the database based on select search type.
-System
must be able to filter book based on keyword entered
-System
must be able to show the filtered book in table view.
ü Book Issue and Book Return
-System
must be able to enter issue information in database.
-System
must be able to update number of books.
-System
must be able to search if book is available or not before issuing books.
-System
should be able to enter issue and return date information.
Non-Functional Requirements
·
The performance of the
system should be fast and accurate.
·
Library Management
System shall handle expected and non-expected errors in ways that prevent loss
in information and long downtime period. Thus, it should have inbuilt error
testing to identify invalid username and password.
·
The system should be
able to handle large amount of data. Thus, it should accommodate high number of
books and users without any fault.
2.3 Software
Tools Used
Hardware Requirement Tools
·
Processor: Pentium IV
or better
·
Hard Disk: 20 GB
·
RAM :256 MB
Software
Requirement Tools
·
MySQL for Backend
·
Java Language for
Frontend
·
NetBeans IDE
2.4 About Technologies
What
is MySQL?
MySQL is a
fast, easy-to-use RDBMS being used for many small and big businesses. MySQL is
developed, marketed and supported by MySQL AB, which is a Swedish company.
MySQL is becoming so popular because of many good reasons −
·
MySQL
is released under an open-source license. So you have nothing to pay to use it.
·
MySQL
is a very powerful program in its own right. It handles a large subset of the
functionality of the most expensive and powerful database packages.
·
MySQL
uses a standard form of the well-known SQL data language.
·
MySQL
works on many operating systems and with many languages including PHP, PERL, C,
C++, JAVA, etc.
·
MySQL
works very quickly and works well even with large data sets.
·
MySQL
is very friendly to PHP, the most appreciated language for web development.
·
MySQL
supports large databases, up to 50 million rows or more in a table. The default
file size limit for a table is 4GB, but you can increase this (if your
operating system can handle it) to a theoretical limit of 8 million terabytes
(TB).
·
MySQL
is customizable. The open-source GPL license allows programmers to modify the
MySQL software to fit their own specific environments.
What is Java?
Java
is a programming language which follows an object-oriented programming
paradigm. Java is an-
·
Object
Oriented − In Java, everything is an Object.
Java can be easily extended since it is based on the Object model.
·
Platform
Independent − Unlike many other programming
languages including C and C++, when Java is compiled, it is not compiled into
platform specific machine, rather into platform independent byte code. This
byte code is distributed over the web and interpreted by the Virtual Machine
(JVM) on whichever platform it is being run on.
·
Simple − Java is designed to be easy to learn. If you understand the
basic concept of OOP Java, it would be easy to master.
·
Secure − With Java's secure feature it enables to develop virus-free,
tamper-free systems. Authentication techniques are based on public-key
encryption.
·
Architecture-neutral − Java compiler generates an architecture-neutral object file
format, which makes the compiled code executable on many processors, with the
presence of Java runtime system.
·
Portable − Being architecture-neutral and having no implementation
dependent aspects of the specification makes Java portable. Compiler in Java is
written in ANSI C with a clean portability boundary, which is a POSIX subset.
·
Robust − Java makes an effort to eliminate error prone situations by
emphasizing mainly on compile time error checking and runtime checking.
·
Multithreaded − With Java's multithreaded feature it is possible to write
programs that can perform many tasks simultaneously. This design feature allows
the developers to construct interactive applications that can run smoothly.
·
Interpreted − Java byte code is translated on the fly to native machine
instructions and is not stored anywhere. The development
process is
more rapid and analytical since the linking is an incremental and light-weight
process.
·
High
Performance − With the use of Just-In-Time
compilers, Java enables high performance.
·
Distributed − Java is designed for the distributed environment of the internet.
·
Dynamic − Java is considered to be more dynamic than C or C++ since it is
designed to adapt to an evolving environment. Java programs can carry extensive
amount of run-time information that can be used to verify and resolve accesses
to objects on run-time.
Chapter-3
System Design
3.1 Software Architecture
The
general methodology in developing a system is involved in different phases
which describe the system’s life cycle model for developing software project. Waterfall
model is one of a system development life cycle (SDLC) model. Users proceed to
next phase if and only if current phase is complete. Users are not allowed go
back to previous phases if there are any mistake so they named it waterfall model,
just like the water is always fall down from the waterfall and not flow upward.
The basic WATERFALL MODEL is being used that is its stages.
Requirement
Analysis
|
System Design
|
Implementation\Coding
|
Testing
|
Deployment
|
Maintenance
|
These are as follows: -
·
Requirement Analysis
·
System Design
·
Implementation\Coding
·
Testing
·
Deployment
·
Maintenance
Requirement
Analysis-All possible requirements of the system to be developed
are captured in this phase and documented in a requirement specification
document.
System
Design-The requirement specification from first phase are studied
in this phase and the system design is prepared. This system design helps in
specifying hardware and system requirements and helps in defining the overall
system architecture.
Implementation-With
inputs from the system design, the system is first developed in small programs
called units, which are integrated in the next phase. Each unit is developed
and tested for its functionality, which is referred to as unit testing.
Integration
and Testing-All the units developed in the implementation
phase are integrated in to a system after testing of each unit. Post integration
the entire system is tested for any faults and failures.
Deployment
of system-Once the functional and non-functional testing is done, the
product is deployed in the customer environment or released into the market.
Maintenance-There
are some issues which come up in the client environment. To fix those issues,
patches are released. Also, to enhance the product some better versions are released.
Maintenance is done to deliver these changes in the customer environment.
Waterfall
Model-Advantages
·
Simple and easy to
understand and use.
·
Easy to manage due to
the rigidity of the model. Each phase has specific deliverables and a review
process.
·
Phases are processed
and completed one at a time.
·
Works well for smaller
projects where requirements are very well understood.
·
Clearly defined stages.
·
Well understood
milestones.
·
Easy to arrange tasks.
·
Process and results are
well documented.
Waterfall
Model-Disadvantages
·
No working software is produced until late during the life cycle.
·
High amounts of risk and uncertainty.
·
Not a good model for complex and object-oriented projects.
·
Poor model for long and ongoing projects.
·
Not suitable for the
projects where requirements are at a moderate to high risk of changing. So,
risk and uncertainty is high with this process model.
·
It is difficult to
measure progress within stages.
·
Adjusting scope during the life cycle
can end a project.
3.2 Data Modules
Authorization and Authentication Module
This module is used by user which means librarian in the
library. They need to login to the system using their id and password.
Authorization / Authentication
|
Checking ID and
Password
|
Member Maintenance Module
This module can be accessed by
either librarian or admin to maintain member’s profile or record such as add,
edit, search etc...
Member
Maintenance
|
Add member
|
Search member
|
Update profile
|
Delete a member
|
Book Maintenance Module
Book module can access by any user.
This module can be used to maintain the book inventory record such as add,
edit, search.
Book Maintenance
|
Add Book
|
Edit Book
|
Search Book
|
Delete Book
|
Publisher Maintenance Module
This module allow user to add and edit the book’s
publisher. Publisher is used when new book is registered.
Publisher
Maintenance
|
Add New Publisher
|
Edit Info
|
Search Publisher
|
Delete Publisher
|
Book Issue/Return Module
This module is used to
maintain the record of book issue or return on time.
Book Issue/Return
|
Issue Book
|
Fine
|
Return Book
|
3.3 Data Structure
A
database is a container object which contains tables, queries, reports and data
validation policies enforcement rules or constraints etc. A logical data often
represented as a record are kept in different tables after reducing anomalies
and redundancies. The goodness of data base design lies in the table structure
and its relationship.
This
software project maintains a database named Library which contains the following tables.
1.1.1 Table
Design:
The
database of Library System contains 5 tables. The tables are normalized to
minimize the redundancies of data and enforcing the validation rules of the
organization. Most of the tables are designed to store master records. The
tables and their structure are given below.
Table: Publisher
Column Name
|
Type
|
Size
|
Pub_Id
|
Integer
|
Primary Key
|
Pub_Name
|
Varchar (30)
|
|
Pub_Add
|
Varchar (30)
|
|
Pub_Phone
|
Varchar (10)
|
|
Pub_Status
|
Varchar (30)
|
Table: Lib
Column Name
|
Type
|
Size
|
Acc_No
|
Integer (Autoincrement)
|
Primary Key
|
Title
|
Varchar (30)
|
Not Null
|
Author
|
Varchar (20)
|
|
Pub_Id
|
Integer
|
Foreign Key ref publisher
(Pub_Id)
|
Price
|
Decimal (8,2)
|
|
Pages
|
Integer
|
|
Purchase Date
|
Date
|
|
Edition
|
Varchar (20)
|
|
Status
|
Varchar (20)
|
Table: Member
Column Name
|
Type
|
Constraint
|
Memb_No
|
Integer (Autoincrement)
|
Primary Key
|
Mem_name
|
Varchar (20)
|
|
Memb_Add
|
Varchar (20)
|
|
Memb_Phone
|
Char (10)
|
|
Join Date
|
Date
|
Default current Date
|
Expiry Date
|
Date
|
Default currentDate+12 months
|
Fee
|
double (8,2)
|
Default 2000
|
Status
|
Varchar (20)
|
|
Book Issue
|
Varchar (20)
|
Table: Issue
Column Name
|
Type
|
Constraint
|
AccNo
|
Integer
|
Foreign Key
|
Title
|
Varchar (40)
|
Not Null
|
Fine
|
Int
|
Default 0
|
MembNo
|
Integer
|
Foreign Key
|
Issue Date
|
Date
|
Default 0
|
Return Date
|
Date
|
Default 0
|
Book Issue
|
Varchar
|
Default ‘Issued’
|
Book Return
|
Varchar
|
Default ‘Null’
|
Book Return By
Date
|
Date
|
Default 0
|
Table: Login
Column Name
|
Type
|
Constraint
|
UserID
|
Varchar (20)
|
Primary Key
|
Password
|
Varchar (20)
|
Not null
|
Library Management System Screen
Login Page
No comments:
Post a Comment