Building a Library Management System using Object-Oriented Analysis and Design (OOAD) principles helps create a robust, scalable, and efficient system. The approach focuses on minimal code in the GUI and well-decoupled entities, making the system easier to maintain and extend.
Table of Contents
System and Their Roles
Different users interact with the Library Management System according to their specific roles and responsibilities. The primary actors are:
- Borrower
- Checkout Clerk
- Librarian
- Administrator
Borrower Use Cases
The Borrower is a library member who uses the system to manage book borrowing activities.
- Search for Items: Search for books by title, author, or subject.
- Place a Book on Hold: Place a hold on a book when it is currently loaned out.
- View Personal Information: Check personal details and view books currently on loan.
Checkout Clerk Use Cases
The Checkout Clerk manages the borrowing and returning of books and includes all Borrower use cases.
- Check Out an Item: Check out a book to a Borrower.
- Check In an Item: Record the return of a borrowed book.
- Renew an Item: Renew a book loan for a Borrower.
- Record Fine Payments: Record payments for overdue books.
- Manage Borrowers: Add new Borrowers and update their personal information.
Librarian Use Cases
The Librarian oversees the library collection and has the responsibilities of both the Borrower and Checkout Clerk.
- Add New Items: Add new books to the library collection.
- Delete Items: Remove books from the collection.
- Update Item Information: Modify the details of books in the system.
Administrator Use Cases
The Administrator handles the overall management of the system.
- Add/Manage Staff: Add Checkout Clerks and Librarians to the system.
- View Issued Books History: View the history of all issued books.
- View All Books: Access a complete list of books in the library.
System Design and Implementation
The OOAD approach makes the Library Management System modular and maintainable. The system focuses on creating classes for entities such as Book, Borrower, and Clerk, along with defining interactions between these classes.
Decoupling and Minimal GUI Code
The system architecture follows the Model-View-Controller (MVC) pattern.
- Model: Manages the system data and business logic.
- View: Handles the user interface with minimal code so that the GUI remains lightweight and responsive.
- Controller: Works as an intermediary between the Model and View, processing user inputs and updating the model.
Decoupling the entities allows each component to be developed, tested, and maintained independently.
Screenshot and Demo Video






How to Download
Get This Project
The complete package is available so you can run, study, and submit it with confidence. It includes:
- Full Source Code
- Project Report
- Synopsis
- PPT Presentation
For any queries or a quick response, reach out on WhatsApp: +91 79834 34684
How to Run the System
1. Install Java SE Development Kit 8
Download and install JDK 8.
2. Install NetBeans IDE
After installing JDK 8, download and install NetBeans IDE.
3. Load the Project
Open NetBeans IDE and select File -> Open Project. Browse to the downloaded project folder and select it to load the project.
4. Set Up the Database
The system uses Java DB (Derby) Database, which comes with NetBeans.
- In NetBeans, go to
Services -> Databases. - Right-click on
Java DBand selectStart Server. - Right-click on
Java DBagain and selectCreate Database. - Enter the required details and create the database.
- Make sure the database connection is active and linked to the project.
5. Run the Project
Right-click on the project in NetBeans IDE and select Run. The Library Management System will start and be ready to manage library operations.
Database Code
CREATE TABLE PERSON
(
"ID" INTEGER not null PRIMARY KEY,
"PNAME" VARCHAR(30) not null,
"PASSWORD" VARCHAR(10) not null,
"ADDRESS" VARCHAR(30) not null,
"PHONE_NO" INTEGER not null
);
CREATE TABLE BOOK
(
"ID" INTEGER not null PRIMARY KEY,
"TITLE" VARCHAR(30) not null,
"AUTHOR" VARCHAR(20) not null,
"SUBJECT" VARCHAR(20) not null,
"IS_ISSUED" BOOLEAN not null
);
CREATE TABLE STAFF
(
"S_ID" INTEGER not null PRIMARY KEY,
"TYPE" VARCHAR(10) not null,
"SALARY" DOUBLE
);
CREATE TABLE CLERK
(
"C_ID" INTEGER not null PRIMARY KEY,
"DESK_NO" INTEGER not null
);
CREATE TABLE LIBRARIAN
(
"L_ID" INTEGER not null PRIMARY KEY,
"OFFICE_NO" INTEGER not null
);
CREATE TABLE BORROWER
(
"B_ID" INTEGER not null PRIMARY KEY
);
CREATE TABLE BORROWED_BOOK
(
"BOOK" INTEGER not null PRIMARY KEY,
"BORROWER" INTEGER not null
);
CREATE TABLE LOAN
(
"L_ID" INTEGER not null,
"BORROWER" INTEGER not null,
"BOOK" INTEGER not null,
"ISSUER" INTEGER not null,
"ISS_DATE" TIMESTAMP not null,
"RECEIVER" INTEGER,
"RET_DATE" TIMESTAMP,
"FINE_PAID" BOOLEAN
);
CREATE TABLE ON_HOLD_BOOK
(
"REQ_ID" INTEGER not null PRIMARY KEY,
"BOOK" INTEGER not null,
"BORROWER" INTEGER not null,
"REQ_DATE" DATE not null
);
Conclusion
Building a Library Management System using OOAD principles provides a well-structured and maintainable solution. By focusing on minimal GUI code and decoupling entities, the system provides a flexible and efficient structure that can adapt to future needs.
Keywords: Library Management System Using Object-Oriented Analysis and Design, library management system project in java, library management system project in java source code, library management system using object oriented analysis and design, library management system project, library management system in java, library management system java project, library management system project source code