This document outlines the deliverables produced during the requirement analysis phase of the BudgetBuddy project. Requirement analysis is the first and a critical step in the Software Development Life Cycle (SDLC) that ensures the final product aligns with the stakeholders' needs.
This section defines the functional and non-functional requirements for BudgetBuddy.
-
User Authentication
- Sign Up/Login: Users must securely create accounts and log in to the app.
-
Income Management
- Add Income: Users can add income from various sources.
- Income Sources: Users can specify different income types to their account.
-
Budget Planning
- Draw Budget: Users can create budgets based on their total income, allocating funds to designated categories.
-
Expense Tracking
- Deduct Expenses: Users can input and categorize expenses, deducting them from their total income. Each entry requires amount and reason for the expense.
-
Expenditure Review
- Select Dates for Review: Users can choose specific dates to review their expenditures and compare them against their budget for those periods.
-
Savings Calculation
- Check Savings: Users can view accumulated savings over different periods.
-
Advice and Reporting
- Generate Reports: Users can generate reports based on selected dates to analyze their financial activities.
- Financial Advice: The app should offer general and personalized(maybe later) financial advice based on users' income, expenses, and savings patterns.
Security
- The application must ensure the secure handling of user data, including:
- Encryption of sensitive information
- Secure authentication mechanisms
Performance
- The application should:
- Have minimal load times
Usability
- The user interface must be:
- Intuitive
- Easy to navigate
- Cater to users with varying levels of technical proficiency
Scalability
- The system should be scalable to accommodate:
- An increasing number of users
- Additional features in the future
Reliability
- The application must be:
- Reliable
- Have minimal downtime
- Have robust data backup mechanisms to prevent data loss
Compatibility
- The application should be compatible with:
- Mobile devices(Android first, iOS later.)
Maintainability
- The codebase should be:
- Well-documented
- Modular
- Facilitate easy maintenance and updates
Compliance
- The application must comply with relevant financial data protection regulations and standards.(None done yet)
This diagram visually represent interactions between users and the system.
This(se) diagram(s) is/are to describe features from the user's perspective, including acceptance criteria (e.g., "Add income sources to track finances"). - To be completed soon.
user | Onboarding | Views |
---|---|---|
This diagram details the database structure (entities, attributes, relationships) for data storage and management. Click here to edit These are a list of the categories for expenditure(budget/expenses) with their descriptions :
- housing: self explanatory
- transportation: self explanatory
- food: self explanatory
- utilitites: gas, water bill, electricity bill, sewage bills, airconditoining, internet expenses and cell phone bills
- insurance: health insurance, homeowners insurance, auto insurance, life insurance
- healthcare: self explanatory
- saving, investing and debt payment
- personal spending: gym membership, clothes and shoes, home decor and furnishings, gift
- recreation and entertainment: concert tickets, sporting events, family activities & vacation, streaming services, restaurant, video games, hobbies
- education: online courses, university(undergrad, grad school)
- miscellaneous
- Document meetings, discussions, and communication during requirement gathering for transparency and future reference.
- To be added later.
- Outlines activities, timelines, resources, risks, and mitigation strategies for the requirement analysis phase.
- To be added later.