Java Assignment S2
Java Assignment S2
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.
FUNCTIONAL REQUIREMENTS:
Define the core functionality of your application based on the chosen topic.
USER INTERFACE:
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.