Java SRS
Java SRS
OBJECTIVES:
The main objective of the Expense Calculation Website using Core Java is to provide a user-
friendly and efficient platform for tracking, managing, and analyzing expenses. Some are –
• User Expense Tracking – Allow users to add, edit, delete, and categorize their expenses.
• Expense Categorization – Organize expenses into categories like food, rent, and
utilities.
• Filtering & Search – Enable users to filter expenses by date, category, or amount.
• Mobile & Desktop Friendly – Ensure a responsive UI for seamless access on all device.
SCOPE:
➢ Expense Entry:
• Users can add and edit details of each expense (e.g., amount, category, date,
description).
• Option to set recurring expenses (e.g., monthly subscriptions).
➢ Categorization of Expenses:
• Categorize expenses into predefined or custom categories (e.g., groceries,
entertainment, transport).
HARDWARE REQUIREMENTS:
• Windows computer/laptop with monitor and mouse/touch input and other common
hardware peripherals.
• Android smartphone (for user).
SOFTWARE REQUIREMENTS:
➢ Operating System:
• Windows (7/10/11), macOS, or a Linux-based operating system (Ubuntu,
CentOS, etc.).
➢ JDK (Java Development Kit):
• JDK 8 or later (JDK 11+ recommended) for Core Java development.
• Java is essential for both backend development and connecting with databases.
➢ Web Server/Container:
• Apache Tomcat or any other servlet container for running Java web applications.
➢ Database:
• Relational Database such as MySQL.
PROBLEM DEFINATION:
Managing personal and business expenses manually can be time-consuming, error-prone, and
inefficient. Many individuals struggle to keep track of their expenditures, leading to
overspending, poor budgeting, and financial mismanagement. Existing solutions may either be
too complex for everyday users or lack essential features like categorization, and overspending.
A Core Java-based Expense Calculator aims to provide an easy-to-use, secure, and efficient
platform for users to track, manage, and analyze their expenses in an organized manner.
FUNCTIONAL REQUIREMENTS:
1.Programming Languages
The application is built using Core Java with the following key elements:
• JDK 8 or later (JDK 11+ recommended for improved performance and security).
• Core Java is used for:
The system requires a relational database to store and manage expense records. Supported
databases include:
• MySQL – Recommended for large-scale deployment with robust security and multi-user
support.
Database Structure:
➢ Expense Table:
➢ Category Table:
3. Expense Management
Users can efficiently manage their expenses through the following functions:
• Amount
• Date
• Category (Predefined or Custom)
➢ Edit Expense: Users can modify existing expense details for corrections or updates.
4. Expense Categorization
➢ Category Management:
• Date Range: View expenses for specific timeframes (e.g., monthly or weekly).
• Category: Filter by selected categories for better analysis.
• Amount Range: Identify expenses above or below a specific threshold.
6. User Management
The system provides essential user control features for security and accessibility:
• Email/password combinations.
• Optional OTP or Google Login for enhanced security.
➢ Profile Management: Users can update personal details such as name, email, and
contact information.
➢ Role-Based Access (Optional): Allows multi-user support for family or business
expense tracking.
➢ Homepage: Provides access to key features like adding, viewing, and filtering expenses.
➢ Expense Management Page: Dedicated section for adding, editing, and deleting
expenses.
➢ Category Management Page: For adding or modifying expense categories.
➢ Search/Filter Panel: An intuitive interface to refine search results quickly.
NON – FUNCTIONAL REQUIREMENTS:
1. Performance Requirements:
• The system should process transactions and display results within 2 seconds.
• The database should efficiently handle a large number of expense records.
2. Usability Requirements
• The user interface (UI) should be intuitive, clean, and responsive for all devices.
• The system should provide easy navigation and accessibility for non-technical
users.
USER BENEFITS:
1. Better Financial Management – Helps users track expenses, set budgets, and control
spending.
2. Time-Saving – Reduces manual expense tracking effort.
KEY FEATURES:
1. User Registration & Login – Secure authentication (email/password, OTP, or Google
login).
2. Profile Management – Users can update personal details.
3. Role-Based Access (Optional) – Multi-user accounts for family or business tracking.
ACTIVITY DIAGRAM
ENTITY – RELATIONSHIP DIAGRAM
CONCLUSION:
The Expense Tracker Website provides an efficient and user-friendly platform for tracking and
managing expenses using Core Java. It enables users to categorize expenses, set budgets, and
generate reports, ensuring better financial control. The intuitive interface makes it accessible to
all users, simplifying financial management.
With a focus on security, availability, and scalability, the system ensures reliable data storage and
easy access. It minimizes manual errors and enhances financial awareness. Future enhancements
like AI-driven insights, mobile support, and cloud storage can further improve its functionality,
making it a valuable tool for effective expense management.