Title: Development of a Custom Java Application
OBJECTIVE
The goal of this assignment is to design and implement a Java application of your choice, demonstrating your ability to
apply Java programming concepts and object-oriented principles. You will select a topic that interests you, define the
functionality, and develop a GUI application that meets your specified requirements.
REQUIREMENTS
CLASS DESIGN:
Identify the main entities in your application and design corresponding classes.
Each class should have:
• Attributes: Define the necessary attributes (fields) for each class.
• Methods: Include constructors, getters, setters, and other relevant methods to perform operations on the
class data.
• Consider implementing additional methods to encapsulate specific functionalities related to each class.
FUNCTIONAL REQUIREMENTS:
Define the core functionality of your application based on the chosen topic.
Ensure your application includes at least the following features:
• Adding, updating, and deleting records
• Searching for and displaying records based on certain criteria.
• Providing summaries or reports based on the data (e.g., total expenses, task completion status).
• Implement validation to ensure data integrity (e.g., no negative balances, valid dates).
USER INTERFACE:
• Create a GUI that allows users to interact with your application.
• The menu should provide clear options to perform various operations.
• Ensure the menu handles invalid inputs gracefully and provides appropriate feedback to the user.
Example Application Structure
If you choose to develop a Personal Budget Tracker, your application might include:
Class Design:
Expense:
• Attributes: int id, String category, double amount, String date, String description.
• Methods: Constructor, getters, setters.
Budget:
• Attributes: List<Expense> expenses, double totalBudget.
• Methods: addExpense(Expense expense), removeExpense(int expenseId), getTotalSpent(),
getRemainingBudget(), generateReport().
Functional Requirements:
• Add new expenses.
• Remove existing expenses.
• View a list of all expenses.
• View total amount spent and remaining budget.
• Generate a report summarizing expenses by category or date.
User Interface:
• Add Expense
• Remove Expense
• View All Expenses
• View Total Spent
• View Remaining Budget
IMPLEMENTATION DETAILS
• Programming Language: Java
• Development Environment: Any Java development environment (e.g., IntelliJ IDEA, Eclipse, NetBeans)
• Framework: Spring Framework or any Framework for Frontend
SUBMISSION GUIDELINES
• Submit the complete source code files and slide.
• Include a README file with instructions on how to compile and run the application if need.
EVALUATION CRITERIA
• Correctness: The application meets all specified requirements and performs the operations correctly.
• Code Quality: The code is clean, well-organized, and follows standard naming conventions.
• Documentation: The code is well-commented, and the README file provides clear instructions.
• User Interface: The GUI is user-friendly and handles inputs effectively.
• Innovation: Creativity in the choice of topic and implementation of features.