Shreya cover page 123

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

JNANA SANGAMA, BELAGAVI – 590018

RAO BAHADUR Y. MAHABALESWARAPPA ENGINEERING COLLEGE,


CANTONMENT, BALLARI- 583 104, KARNATAKA
2024-25

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Software requirement specification


report
On

“PERSONAL FINANCE DASHBOARD”


In

COMPUTER SCIENCE & ENGINEERING


For the academic year 2024-25

Under the guidance of By:


Sunitha S Ruchitha p s-3vc22cs138
Asst professor R.Likhitha-3vc22cs139
Dept.computer science &Engg Thanushree M-3vc22cs173
Hamsashree G P-3vc22cs069
TABLE OF CONTENTS:

1. Introduction
1.1 Purpose of this document
1.2 Scope of this document
1.3 Overview
1.4 Business Context

2. General Description
2.1 Product Functions
2.2 Similar System Information
2.3 User Characteristics
2.4 User Problem Statement
2.5 User Objectives
2.6 General Constraints

3. Functional Requirements

4. Interface Requirements
4.1 User Interfaces
4.2 Hardware Interfaces
4.3 Communications Interfaces
4.4 Software Interfaces
5. Performance Requirements

6. Other non-functional attributes


6.1 Security
6.3 Reliability
6.4 Maintainability
6.5 Portability
6.6 Extensibility
6.7 Reusability
6.8 Application Affinity/Compatibility

7. Operational Scenarios

8. Preliminary Use Case Models and Sequence Diagrams


8.1 Use Case Model
8.2 Sequence Diagrams

9. Updated Schedule

10. Appendices
10.1 Definitions, Acronyms, Abbreviations
10.2 References
1. INTRODUCTION:
1.1 Purpose of This Document:

This paper aims to define, explain, and summarize the main features of the Personal Finance Dashboard,
such as its goals, usefulness, and applicability. It seeks to give stakeholders a comprehensive grasp of the
dashboard's capabilities and how it might improve financial management. In order to properly design,
implement, and operate the dashboard, developers and end users can both refer to this paper.

1.2 Scope of this Document:

The document focusses on:

1.Outlining the Personal Finance Dashboard: Essential elements including goal-setting, savings analysis,
investment tracking, spending classification, and income tracking.
2. Identifying Target Users: People or families who want to monitor and improve their financial situation.
3. Detailing Functionalities: Emphasizing data entry, automation, integration with financial accounts, and
visualization tools (charts and graphs).
4. Restrictions: Does not include tax preparation or sophisticated financial advising services. It is not a
substitute for expert financial guidance.

1.3 overview:

A digital tool called the “Personal Finance Dashboard” was created to assist users in tracking, evaluating,
and managing their financial actions. By combining financial information into a single, interactive platform,
consumers can: - Monitor their earnings and outlays in real time.
Visualize your spending patterns and look for areas where you might cut costs.
Keep an eye on asset growth and investments.
Establish and meet both immediate and long-term financial objectives.
The dashboard enables users to take charge of their finances and make wise decisions by offering actionable
insights through analytics and visualizations.

1.4 Bussiness context:

People frequently find it difficult to monitor their financial operations in the complicated financial
environment of today, which results in inefficiencies, lost savings opportunities, and inadequate financial
planning. To fill this void, a “Personal Finance Dashboard” provides:
Consolidating data from multiple sources into a single, user-friendly interface management.
Giving data-driven insights to help make better financial decisions is one way to improve decision-making.
Goal Alignment: Helping users prioritize spending and saving based on personal objectives.
Market Relevance: Tools such as these are becoming more and more in demand as financial literacy and
interest in personal finance increase.

The dashboard not only caters to individuals seeking better financial control but also aligns with trends in
digital transformation and user-friendly financial technology solutions.
2.General Description:

2.1 Product Functions:

The personal finance dashboard focusses on following tasks:

1. Income Tracking: Keeps track of and classifies all revenue sources.


2. Expense Monitoring: Keeps track of daily, monthly, and yearly expenses and classifies them.
3. Budgeting:Enables users to establish spending plans for particular areas (like grocery or vacation) and
track compliance.
4. Savings Analysis: Computes the proportion of income saved and shows savings trends.
5.Reporting: Produces reports regarding products.

2.2 Similar System Information:

1.Mint:
Features: Monitors credit ratings, budgets, income, and expenses.
Strengths: Integrates with financial accounts; comprehensive and easy to use.
limitations: Limited tracking of investments and customisation.

2.You Need A Budget, or YNAB:


Features: Emphasizes debt management and proactive budgeting.
Strengths: Robust financial education resources and a sound budgeting strategy.
limitations: subscription-based; requires a high learning curve for new users.

2.3 User Characteristics:

1.Demographics:
People between the ages of 18 and 60 who have a range of financial objectives, including retirees, working
professionals, and students.
Depending on financial intricacy, income levels might range from low to high.

2.Characteristics of Behavior:
Tech-savvy consumers looking for automated fixes.
Individuals possess different levels of financial literacy, from novices to professionals.

3. Requirements:
Tools for personal financial management that are easier to use.
Real-time monitoring and financial health insights.

The fourth accessibility feature is multi-platform (web and mobile).


Support for several languages and currencies.
2.4 User Problem Statement:

The following factors frequently make it difficult for users to manage their own finances:

1. A lack of insight into spending trends.


2. The challenge of monitoring several accounts and revenue streams.
3. Limited resources for tracking and reaching financial objectives.
4. An overwhelming amount of data that is challenging to manually examine.
5. The inability to monitor the status of long-term financial goals (such as retirement or home ownership).

2.5 User Objectives:

1. Get a comprehensive understanding of your earnings, outlays, investments, and savings.


2. Find and cut back on wasteful spending.
3. Effectively manage and follow budgets.
4. Reach financial objectives including debt repayment, asset acquisition, and emergency savings.
5. Automate financial tracking to cut down on errors and manual labor.

2.6 General Constraints:

1.Budgetary Restrictions: The solution must be reasonably priced or provide a free tier for people with
little money.
2.Technological Restrictions:Must function flawlessly on various platforms and devices.
3.Privacy and Security:Needs to abide by data protection laws (such as the CCPA and GDPR).
4.Scalability: The ability to manage expanding user data and changing financial requirements.
5.Integration Limits: Limited to financial institutions or APIs that are supported.
6.User Experience: To accommodate consumers with varying degrees of financial literacy, complexity and
simplicity must be balanced.

3.Functional Requirements:

1. User profiles and authentication:


Accounts can be created, updated, and deleted by users.
Multi-factor authentication (MFA) is supported for security reasons.
Permit users to make and maintain several profiles (such as family or individual).

2. Management of Income and Expenses:


Income sources (such as salaries and freelance work) can be added, categorized, and tracked by users.
Give users the ability to add, modify, and group costs.
tracking recurring revenue and expenses (such as rent or subscriptions).
Compare revenue and expenses over a given time period (daily, monthly, or annual).

3. Management of Budgets:
Permit users to establish spending limits for particular categories (e.g., entertainment, grocery).
Notify or issue alerts when a budget is approaching or above its limit.
Budget utilization is shown visually (e.g., bar charts, progress meters).
4.Interface Requirements:

4.1 User Interface:


The way users engage with the dashboard is referred to here. The user interface should be responsive,
aesthetically pleasing, and easy to use.

Qualities:
1.financial data presented graphically (charts, graphs, tables).
2.sliders and other interactive widgets for savings objectives and budgeting.
3.responsive design to make content accessible on smartphones, tablets, and PCs.
Example:
An overview of the dashboard that shows the income, expenses, and savings.
For in-depth transactions, use drill-down views.
Buttons for quickly adding income and spending.

4.2 Hardware Interfaces:


Hardware interfaces improve usability by ensuring compatibility with peripherals and devices.

Example:
Security integration with biometric authentication (facial recognition, fingerprint scanners).
link to Internet of Things gadgets, such as financial trackers or smart wallets.
Printer compatibility for prints of statements.
use NFC or hardware tokens to conduct safe transactions.

4.3 Communications Interfaces:


The dashboard can communicate with external systems through several interfaces.

Qualities:
API compatibility with investing platforms, banks, and credit unions.
technologies for secure data sharing (such as OAuth 2.0 and HTTPS).
email or SMS alerts in real time.
Connectivity with financial assistants (like Google Assistant and Alexa).
Example:
retrieving transaction histories and current bank account balances.
integrating with Mint or YNAB, two budgeting apps.
interacting with payment processors such as Stripe or PayPal.

4.4 Software Interfaces:


The dashboard software's interactions with other apps are controlled by these interfaces.

Qualities:
interoperability between platforms (iOS, Android, Windows, and macOS).
Numerous file types are supported, including CSV for imports and exports.
integration with QuickBooks and other accounting software.
Predictive financial analysis using machine learning algorithms.
Example:
Financial summaries are exported in order to prepare taxes.
importing credit card bill transaction data.
information on expenditure trends and areas for savings powered by AI.
6. Other non-functional attributes:
6.1 Security:

Encryption: Use AES for stored data and end-to-end encryption (such as TLS/SSL) for data transfer.

Authentication and Authorization: Use role-based access control (RBAC), multi-factor authentication
(MFA), and OAuth 2.0.

Secure APIs: Make sure your APIs adhere to OWASP guidelines and use token-based authentication.

6.2 Reliability:

High Availability: To guarantee uptime, use load balancers, redundant servers, and auto-scaling.

Error Recovery: Put in place thorough error logging and retry procedures for unsuccessful processes.
Data Integrity: Consistently check that synced financial data is accurate and consistent.

Backup and Disaster Recovery: Make sure disaster recovery happens in 1–5 minutes and perform backups
every day.

6.3 Maintsinability:

Modular Architecture: To make maintenance simpler, isolate features using microservices or modular
design patterns.

Code Quality: Use automated code reviews and adhere to clean coding standards.

Monitoring: To keep an eye on app performance and identify problems, use tools like Prometheus,
Dynatrace, or New Relic.

Documentation: Keep thorough records for IT and development teams.

6.4 Portability:

Cross-Platform Frameworks: To guarantee portability across online and mobile platforms, use
frameworks such as React, Flutter, or Angular while building the application.

Containerization: To facilitate simple deployment across many infrastructures, use Docker or Kubernetes.
Assure compatibility with various cloud providers (AWS, Azure, GCP) by practicing cloud agnosticism.

6.5 Extensibility:

Support for APIs: Offer thoroughly explained RESTful or GraphQL APIs for incorporating third-party
services or new functionality.

Plugin Architecture: Create a dashboard that can accommodate plugins to add features without interfering
with the main system.

Scalability: Enable the smooth addition of new widgets or modules as user requirements change.
6.6 Reusability:

Component-Based Design: Develop reusable UI components (e.g., charts, graphs, filters) using libraries
like React or Vue.js.

Shared Libraries: Create shared libraries for functions like authentication, data formatting, or API
communication.

Configuration-Based Logic: Use configuration files for customizations instead of hardcoding.

6.7 Application Affinity/compatibility:

Integration with Financial Services: Make sure that different banks, payment gateways, and financial
organizations (like Plaid and Yodlee) are compatible with your application through APIs.

Device Compatibility: Use responsive design to make the dashboard work better on PCs, tablets, and
smartphones.

Check for compatibility with the most widely used browsers, including Chrome, Edge, Safari, and Firefox.

Support for Operating Systems: Make sure that Windows, macOS, Android, and iOS run smoothly.

7.Operational Scenarios:

1. Tracking expenses and creating a budget


Situation: A user want to monitor their monthly expenses and contrast them with their spending
plan.
Input: The user establishes a monthly spending limit for things like entertainment, food, rent, and
transportation.
Dashboard Activities:
Sort bank account transactions into categories automatically.
Use a visual representation of spending vs budget, such as pie charts or bar graphs.
Notify the user when their budget is approaching or being exceeded.
Result: The user gets useful information to modify their expenditures.

2. Trends in Income and Expenses

Situation: A user wishes to examine their financial patterns over an extended period.
Input: The user chooses a time period, such as the previous six months or a year.
Dashboard Activities:
Create a line graph that displays earnings and outlays for the chosen time frame.
Emphasize patterns such as rising costs.

3. Handling Debt

Situation: A user wishes to monitor and lower their debt.


User input includes the loan's principal, interest rate, and monthly installments.
Dashboard Activities:
Compute the interest paid over time and the remaining loan sum.
Provide payment plans ,Notify recipients of impending payments.
Result: The user avoids missing payments and creates a clear payback plan.

8.Preliminary Use Case Models and Sequence Diagrams:

Use case model:

Sequence diagram:

user input

input income and expenses

update button

calculate savings, update


piechart,linechart,financial table

display updated dashboard


components
9.Updated schedule

The four main stages of the personal finance dashboard project's revised schedule are planning and
design, development, testing and refinement, and deployment. A thorough and well-organized
approach to creating the dashboard is ensured by the project timeline, which is set up to last four
weeks.

Week 1: Design and Planning.


Establishing the project's scope and the important financial indicators to monitor, such as revenue,
costs, savings, and investments, take up the first week. The dashboard's layout, user interface (UI),
and user experience (UX) are all determined at this phase by conceptualizing the design using
wireframes and mockups. To improve the design and make sure it meets user demands, stakeholder
input is obtained.

Week 2: Core Feature Development & Design Finalization


The team starts developing core features in Week 2 after honing designs.Complete the new interface's
high-fidelity mockups and wireframes. Emphasize elements such improved budget management,
savings objectives, and expense classification. Begin backend work, which includes syncing real-time
transactions and integrating with external financial APIs. Start the early-stage features' internal
testing.

Week 3: Development and Testing of Features


The third week is dedicated to finishing feature development and testing:The new tools for goal-
setting, budgeting, and cost analysis have been fully coded.Perform comprehensive internal testing,
including performance, unit, and bug fixes. Start a small group of target consumers for user
acceptability testing (UAT) to collect their input on functionality and usability.Features can be
improved in response to input and test results.

Week 4: Documentation, Launch, and Final Adjustments


The dashboard's polish and deployment readiness are the main goals of the last week: Apply final
performance optimizations and design adjustments.Verify the seamless operation of API integrations
and data synchronization. Make tutorial films, user manuals, and frequently asked questions for new
features.With a small user base, do a soft launch. Once functionality is stable, do a complete rollout.
After the launch, keep an eye on user comments and system performance to handle any new
problems.

With this accelerated 4-week timeline, important upgrades will be delivered promptly while
maintaining a flawless, superior user experience. Enhancing the Personal Finance Dashboard's
usability, functionality, and responsiveness to user demands is intended to help users handle their
money more skillfully.
10.Appendices:

References:

Dash and Plotly Documentation


Title: "Dash User Guide and Documentation"
URL: https://dash.plotly.com/
Purpose: Used for developing the interactive components and visualizations in the
dashboard.

Pandas Documentation
Title: "Pandas: Python Data Analysis Library"
URL: https://pandas.pydata.org/docs/
Purpose: Utilized for data manipulation and creation of dataframes for the charts and tables.

Bootstrap for Styling


Title: "Bootstrap Documentation"
URL: https://getbootstrap.com/docs/5.0/getting-started/introduction/
Purpose: Enhanced the styling and responsiveness of the dashboard using Dash Bootstrap
Components.

Plotly Express for Data Visualization


Title: "Plotly Express: Simple and High-Level Interface for Plotly"
URL: https://plotly.com/python/plotly-express/
Purpose: Used to create pie charts and line charts for financial data visualization.

Python Documentation
Title: "Python Official Documentation"
URL: https://docs.python.org/3/ Purpose: Used for foundational Python concepts and
integrations

You might also like