AOOP Report
AOOP Report
SUBMITTED BY:
ALIZA AZHAR (CE20F-151)
SUBMITTED TO:
S.NO CONTENTS
1 ABSTRACT
2 INTRODUCTION
4 FUTURE SCOPE
5 METHODOLOGY
6 FLOW CHART
7 COMMANDS
8 SOURCE CODE
9 RESULT
10 APPLICATION
11 REFERENCE
12 CONCLUSION
INTRODUCTION
The Library Management System GUI was developed to provide a more user-friendly interface for
managing books in a library. The previous console-based system required users to input commands, which
could be unintuitive for non-technical users. By introducing a GUI, we aimed to improve the usability of the
system, allowing users to interact with buttons, text fields, and dropdowns to perform operations such as
adding books, searching by title, and displaying all books in the library.
This project is a practical implementation of object-oriented programming principles. The Book class is
designed as an abstract class, with concrete subclasses for PhysicalBook and DigitalBook to illustrate
inheritance. Polymorphism is applied by treating all books uniformly when adding them to the system,
regardless of their specific type. Additionally, encapsulation ensures that book attributes (title, author, year,
format) are protected and can only be accessed through getter methods.
Adding Books: Users can add both physical and digital books. The GUI prompts the user to input the
book's title, author, and publication year, and for digital books, the file format (e.g., PDF, EPUB). Books
are stored in an ArrayList, which dynamically manages the collection.
Displaying Books: The system retrieves and displays all books in the library in a text area within the
GUI. Users can see a detailed list of both physical and digital books with their respective information.
Searching for Books by Title: The system allows users to search for books by entering the title. If a
match is found, the book’s details are displayed. If no match is found, the system notifies the user that
the book is not available.
These features are implemented using Java Swing components like JTextField for input, JButton for
actions, and JTextArea for displaying results. The system utilizes JComboBox to allow users to select
between physical and digital books when adding them.
METHODOLOGY
The project followed a structured development process:
Planning: In the initial phase, we identified the need for a more user-friendly system and decided to use
Java Swing for the interface. The requirements were gathered to ensure that the system would be simple
but extensible for future features like database integration.
Analysis: The system's core functionalities, such as adding, displaying, and searching for books, were
defined. These features were mapped to the GUI elements, ensuring that the user interface would be
intuitive and responsive.
Design: Object-oriented principles guided the design of the system. The Book class serves as the base
class, with PhysicalBook and DigitalBook subclasses extending it. The Library class manages the
collection of books, and the main LibraryManagementSystemGUI class handles user interactions.
Diagrams and flowcharts were created to visualize the system's functionality.
Development: The system was implemented using Java Swing for the GUI. Various components like
JButton, JTextField, and JComboBox were used to capture user inputs. The ArrayList was employed
to store books in memory.
Testing: The system was thoroughly tested to ensure that all functionalities—adding books, displaying
them, and searching—work as expected. Various test cases, including invalid inputs (e.g., non-numeric
years), were handled using error messages.
Hardware Requirements:
Software Requirements:
FLOW CHART
COMMANDS
While the system is now primarily GUI-based, the underlying Java code includes methods that
perform operations when buttons are clicked. These methods manage the library's core functionalities.
REFERENCE
https://www.youtube.com/watch?v=SWYqp7iY_Tc
https://dzone.com/articles/top-20-git-commands-with-examples
https://JavaDocumentation
CONCLUSION
The Library Management System GUI successfully demonstrates how a console-based system can
be enhanced with a graphical user interface. By applying OOP principles in a practical project, we
developed a system that is both functional and extensible. Future improvements, such as database
integration and user role management, can transform this system into a complete library management
solution.