Library Management System
Library Management System
LIBRARY MANAGEMENT
SYSTEM
Software Engineering Project Report
Computer Science Engineering
Table of Contents:
1. Problem Statement
2. Software Requirements Specification (SRS)
2.1 Introduction
2.1.1 Purpose
2.1.2 Document Conventions
2.1.3 Intended Audience and Reading Suggestions
2.1.4 Product Scope
2.2 Product Perspective
2.3 Operating Environment
2.4 Design and Implementation
2.5 User Documentation
2.6 Assumptions and Dependencies
3. External Interface Requirements
3.1 User Interfaces
3.2 Hardware Interfaces
3.3 Software Interfaces
3.4 Communication Interfaces
4. System Features
5. Functional Requirements
6. Non Functional Requirements
6.1 Performance Requirement
6.2 Safety Requirement
6.3 Security Requirement
6.4 Software Quality Attributes
6.5 Business Rules
7. Data Requirements
8. UI Design
9. Use Cases
10. Dependencies
11. Constraints
12. Assumptions and Risk
13. Sample Diagram
14. ER Diagram
15. Data Flow Diagrams
15.1 Level 0
15.2 Level 1
16. System Architecture
17. Use Case Diagram
18. Activity Diagram
19. State Chart Diagram
1. PROBLEM STATEMENT:
The current library management system relies heavily on manual processes, leading to
inefficiencies and errors. It has limited search and retrieval capabilities. It has data
inconsistency and lack of integration and lack of user-friendly interface and accessibility. It
is based on outdated technology, making it vulnerable to security breaches and data loss.
Additionally, the lack of proper security measures and access controls puts sensitive patron
information at risk.
To address these challenges and improve overall library operations, a modern and
comprehensive library management system (LMS) is essential. A robust LMS should
encompass the following features:
Automated Book and Patron Management
Advanced Search and Retrieval Capabilities
Integrated Database and Data Consistency
User-Friendly Interface and Accessibility Features
Modern Technology and Enhanced Security
2.1. Introduction:
The purpose of this document is to define the software requirements for a new library
management system (LMS). The LMS will be used to manage all aspects of the library's
operations, including book circulation, patron management, and cataloging.
2.1.1 Purpose
A library management system (LMS) is a software application that helps libraries manage
their collections, resources, and patrons. It is used to automate and streamline many of the
tasks that libraries typically perform manually, such as Cataloging, Circulation, Patron
Management, Acquisitions, Serials Management, ReportingThe main objective of this
document is to illustrate the requirements of the project Library Management system. The
document gives the detailed description of the both functional and non-functional
requirements proposed by the client. 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 report
Font Size: 14
Font Size: 14
Font Size: 12
The document is designed for the developers of the system, UE Librarians, and
administration of faculty of University of Education and also for any party who is
interested.
Library Management System is basically updating the manual library system into an
Internet based application so that the users can know the details of their accounts,
availability of books and maximum limit for borrowing.
The project is specifically designed for the use of librarians and library users. The product will
work as a complete user interface for library management process and library usage from
ordinary users. Library Management System can be used by any existing or new library to
manage its books and book borrowing, insertion and monitoring. It is especially The scope of a
library management system (LMS) encompasses a broad range of functionalities that aim to
streamline and enhance the operations of a library. Its primary objective is to manage and
organize the library's collection of resources, facilitate patron access, and provide administrative
support for library staff.
The proposed Library Management System will take care of the current book detail at
any point of time. The book issue, book return will update the current book details
automatically so that user will get the update current book details.
The product will be operating in windows OS. The Library Management System is a
website and will operate in all famous browsers like Google Chrome, IE, and Mozilla
Firefox. The only requirement to use this online product would be the internet
connection.
The hardware configuration include Hard Disk: 40 GB, Monitor: 15" Colour monitor,
Keyboard: 122 keys. The basic input devices required are keyboard, mouse and output
devices are monitor, printer etc. VIRT
Any update regarding the book from the library is to be recorded to have update &
correct values, and any fine on a member should be notified as soon as possible and
should be correctly calculated. ULTIMA
User will be able to download User Manual from website's help section Video
tutorials will be available for further guidance
Help Button will be available everywhere
The information of all users, books and libraries must be stored in a database that is
accessible by the website The system should have more storage capacity and provide
fast access to the database The system should provide search facility
Dependencies:
The specific hardware and software due to which the product will be run.
The end users (admin) should have proper understanding of the product .
The information of all the users must be stored in a database that is accessible by the
Library System
Any update regarding the book from the library is to be recorded to the database and the
data entered should be correct
It allows user to view quick reports like Book Issued/Returned in between particular
time.
The design should be simple and all the different interfaces should follow a standard
template
The user interface should be able to interact with the user management module and a
part of the interface must be dedicated to the login/logout module.
This software package is developed using java as front end which is supported by
sun micro system. Microsoft SQL Server as the back end to store the database. Operating
System: Windows XP, windows 7 and higher versions. Language: Java Runtime
Environment, Net beans 7.0.1 (front end)
Database: MS SQL Server (back end)
communication standards that will be used, such as FTP or HTTP. Specify any
communication security or encryption issues, data transfer rates, and synchronization
mechanisms.
4. System Features
The users of the system should be provided the surety that their account is secure. This is
possible by providing:-
User authentication and validation of members using their unique member ID.
Proper monitoring by the administrator which includes updating account status, showing a
pop up if the member attempts to issue number of books that exceed the limit provided by
the library policy, assigning fine to members who skip the date of return.
Proper accountability which includes not allowing a member to see other member's
account. Only administrator will see and manage all member accounts.
5. Functional Requirements:
Book Management : The LMS shall be able to manage all aspects of the library's
book collection.
Patron Management : The LMS shall be able to manage all aspects of the library's
patron records.
Cataloging : The LMS shall be able to catalog all of the library's books.
Circulation : The LMS shall be able to manage all aspects of book circulation.
6. Non-Functional Requirements:
Performance : The LMS shall be able to handle the library's workload without performance
bottlenecks. The system shall be able to handle a high volume of transactions and
support a large number of users.
Usability : The LMS shall be easy to use and learn. The system shall have a user-friendly
interface and provide clear and concise instructions.
Reliability : The LMS shall be reliable and available to users when they need it. The
system shall have a high uptime and be able to recover from failures quickly.
Scalability : The LMS shall be scalable and be able to grow with the library's needs. The
system shall be able to accommodate an increasing number of books, patrons, and
transactions.
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/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.
Normal users can just read information but they cannot edit or modify anything except
their personal and some other information.
System will have different types of users and every user has access constraints
Proper user authentication should be provided No one should be able to hack users'
password
There should be separate accounts for admin and members such that no member can
access the database and only admin has the rights to update the database.
The Quality of the database is maintained in such a way so that it can be very user
friendly to all the users of the database
A rule can enforce business policy, make a decision, or infer new data from existing data.
This includes the rules and regulations that the System users should abide by. This includes
the cost of the project and the discount offers provided. The users should avoid illegal rules
and protocols.
.
7. Data Requirements:
a. Bibliographic Data: This data describes the library's collection of books, periodicals,
audio-visual materials, and other resources.
b. Patron Data: This data maintains information about the library's patrons.
c. Circulation Data: This data tracks the movement of library materials between the
library and its patrons.
d. Acquisitions Data: This data manages the purchasing and acquisition of new library
materials.
[Link] Design:
Designing the user interface (UI) for a Library Management System (LMS) involves
creating a visually appealing and user-friendly experience for both library staff and patrons.
Here's a basic outline of the UI design for an LMS: Homepage, Navigation, User
authentication, Catalog management, Circular management, User services, Reporting
analytics, Responsive design, Accessebility, Notifications, Settings, Help and support,
Security features, Feedback mechanism, Logout.
[Link] Cases:
Cataloging and Metadata Management: Librarians can use the LMS to create and
maintain bibliographic records for library materials. This includes entering
bibliographic data, assigning subject headings, and adding keywords. The LMS should
provide tools for creating and managing metadata to ensure that resources are easily
discoverable by patrons.
Circulation Management: Librarians can use the LMS to manage the circulation of
library materials. This includes checking out and checking in materials, tracking due
Acquisitions and Serials Management: Librarians can use the LMS to manage the
acquisition of new library materials. This includes creating purchase orders, tracking
acquisitions costs, and managing subscriptions to periodicals and journals.
Reporting and Analytics : Librarians can use the LMS to generate reports on library
usage, collection development, patron activity, and circulation trends. These reports can
help librarians make informed decisions about resource allocation, collection
development, and library services.
10. Dependencies:
11. Constraints:
Risk: The LMS may not fully align with the specific needs and workflows of the
library, leading to gaps in functionality or inefficiencies in daily operations.
Mitigation: Conduct thorough requirements gathering and vendor evaluations to
ensure the LMS aligns with library needs, prioritize essential features, and consider
customization options.
[Link] Diagrams:
4. Cardinality and Multiplicity: Cardinality defines the number of instances of one entity
that can be associated with another entity. It helps specify the nature of the relationship.
Multiplicity indicates how many instances of an entity are related to another entity. It can
be one-to-one, one-to-many, or many-to-many.
2. Data Flows: Show the movement of data between processes, data stores, and external
entities.
4. External Entities: Represent sources or destinations of data that interact with the
system but are outside of it.
15.1 Level 0:
15.2 Level 1:
[Link] Architecture:
The system architecture for a library management system (LMS) typically follows a layered
approach to ensure modularity, scalability, and maintainability. The architecture comprises
several layers, each responsible for specific functionalities and interacting with each other to
provide a comprehensive LMS solution.
a. Presentation Layer:
The presentation layer serves as the user interface, providing patrons and librarians
with a user-friendly interface to interact with the LMS. It includes web applications, mobile
apps, self-checkout kiosks, and other user-facing components.
The data access layer interacts with the database, managing the storage, retrieval, and
manipulation of library data. It ensures data integrity, consistency, and security through
database management techniques.
d. Database Layer:
The database layer stores and manages all library data, including bibliographic records,
patron information, circulation history, and acquisitions records. It employs a relational
database management system (RDBMS) or a NoSQL database.
In a Library Management system, actors could include “Librarian”, ”Library Member”, and
“System”. Use cases might be “Manage Books”, ”Borrow Book”, ”Return Book”, etc.
Arrows represent the communication between actors and use cases.
[Link] diagram is basically a flowchart to represent the flow from one activity to
another activity.
[Link] control flow is drawn from one operation to another. This flow can be sequential,
branched, or concurrent.
[Link] diagrams deal with all types of flow control by using different elements such as
fork, join, etc.
For a Library Management System, activities could be “Check Book Availability”, “Issue
Book”, “Receive Returned Book”,etc. Each activity is represented by a rounded rectangle,
and arrows show the flow of control between activities
For a Library Management System,you might have states like “Available”, ”Checked
Out”, ”Overdue”,etc.,for books. Arrows indicate the transitions between these states,
triggered by events such as “Borrow Book” or “Return Book”.
A sequence diagram is an interaction diagram. From the name, it is clear that the
diagram deals with some sequences, which are the sequence of messages flowing from one
object to another.
For a Library Management System, you could have objects like "Librarian,""Book," and
"Member." The sequence diagram would show the sequence of messages exchanged between
these objects for actions like "Borrow Book" or "Return Book."
The class diagram is the main building block of object-oriented modeling. It is used for
general conceptual modeling of the structure of the application, and for detailed modeling,
translating the models into programming code. Class diagrams can also be for data modeling.
The classes in a class diagram represent both the main elements, interactions in the
application, and the classes to be programmed.
To create a collaboration diagram, first identify the structural elements required to carry out
the functionality of an interaction. Then build a model using the relationships between those
elements. Several vendors offer software for creating and editing collaboration diagrams.
A collaboration diagram resembles a flowchart that portrays the roles, functionality and
behavior of individual objects as well as the overall operation of the system in real time.
The four major components of a collaboration diagram include the following:
Objects. These are shown as rectangles with naming labels inside. The naming label
follows the convention of object name: class name. If an object has a property or state that
specifically influences the collaboration, this should also be noted.
Actors. These are instances that invoke the interaction in the diagram. Each actor has a
name and a role, with one actor initiating the entire use case.
Links. These connect objects with actors and are depicted using a solid line between two
elements. Each link is an instance where messages can be sent.
Messages between objects. These are shown as a labeled arrow placed near a link. These
messages are communications between objects that convey information about the activity
and can include the sequence number.
The most important objects are placed in the center of the diagram, with all other
participating objects branching off. After all objects are placed, links and messages
should be added in between.
Login form: The test cases involved are whether valid password and name are entered
or invalid name and password entered.
Book entry form: The test cases included are-on the click of add button, delete button,
update button, search button, clear button, exit button and next button.
User account form: The test cases included are-on the click of add button, delete button,
update button, search button, clear button, exit button and next button.
Book return form: The test cases included are-on the click of add button, delete button,
update button, search button, clear button, exit button and next button.
LOGIN FORM: