Budget Tracker Agha

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

i

Budget Tracker

By

Wishma Hassan 2020-GCUF-15071


Aftab Kaleem 2020-GCUF-15553
Jahanzaib Fazal 2020-GCUF-12886

BACHELOR OF SCIENCE
IN
COMPUTER SCIENCE

DEPARTMENT OF COMPUTER SCIENCE


Government College University Faisalabad
Session (2020-2024)
ii

Table of Contents
1. Introduction.................................................................................................................................1
1.1 General Information................................................................................................................1
1.2 Purpose..................................................................................................................................1
1.3 Document Conventions............................................................................................................1
1.4 Project Objective.....................................................................................................................2
1.5 Intended Audience and Reading Suggestions.............................................................................2
1.6 Project Scope:.........................................................................................................................3
2. Overall Description.......................................................................................................................5
2.1 Product Perspective.................................................................................................................5
2.2 Product Features.....................................................................................................................5
2.3 User Classes and Characteristics...............................................................................................6
2.4 Operating Environment............................................................................................................6
2.5 Design and Implementation Constraints....................................................................................7
2.6 User Documentation................................................................................................................8
2.7 Assumptions and Dependencies................................................................................................8
3. System Features.........................................................................................................................10
4. External Interface Requirements..................................................................................................12
5. Other Non-functional Requirements.............................................................................................15
5.1 Performance Requirements:...................................................................................................15
5.2 Safety Requirements:.............................................................................................................15
5.3 Security Requirements:..........................................................................................................15
5.4 Software Quality Attributes:...................................................................................................15
6.WBS..........................................................................................................................................17
7. Analysis model...........................................................................................................................20
7.1 Use Case Diagram.................................................................................................................20
7.2 Class Diagram......................................................................................................................23
7.3 Object Diagram.....................................................................................................................25
7.5 Activity Diagram..................................................................................................................29
7.6 Collaboration Diagram..........................................................................................................30
7.8 ERD.....................................................................................................................................32
iii

8. Tools & Technologies.................................................................................................................34


Appendix A: Glossary....................................................................................................................35
Appendix B: Check List..................................................................................................................36
Appendix C: Supervisory Committee...............................................................................................37
iv

Revision History
Name Date Reason For Changes Version
1

1. Introduction

1.1 General Information


The “ Budget Tracker ” has been developed to override the problems prevailing in the
practicing manual system. The software is supported to eliminate and in some cases reduce
the hardships faced by this existing system. The application is reduced as much as possible
to avoid errors while entering invalid data. No formal knowledge is needed for the user to
use this system. Thus by this all it provides it is user-friendly. Expense Tracker
Management, as described above, can lead to error free, secure, reliable and fast
management system. It can assist the user to concentrate on their other activities rather to
concentrate on the record keeping. Thus it will help organization in better utilization of
resources. This is designed to assist in strategic planning, and will help you ensure that your
organization is equipped with the right level of information and details for your future goals.

Project Name: Budget Tracker Starting


Date: 16/10/2023
Controlling Agency: GCUF Layyah
Final Date: 05/05/2024
Authorized by: GCUF Layyah

Prepared By: Wishma Hassan 2020-GCUFLC-15071


Aftab Kaleem 2020-GCUFLC-15553
Jahanzaib Fazal 2020-GCUFLC-12886

1.2 Purpose
A budget tracker app helps individuals manage finances by tracking income and expenses, setting
spending limits, and providing insights into financial habits. It promotes financial discipline, goal setting,

and awareness, empowering users to make informed decisions and achieve their financial objectives.

1.3 Document Conventions


Document conventions for a budget tracker app encompass clear and meaningful naming, consistent
documentation style, adherence to coding standards, logical file organization, version control guidelines,
2

testing practices, UI design principles, API documentation, error handling standards, security measures,
and procedures for data storage and deployment.

1.4 Project Objective


Our goal is to create an expense tracking system where user can be tracking all financial activities and
view previous income and expense report.
1. User can easily review the reports daily, weekly, monthly or yearly.
2. User can update or delete records.
3. User can easily Add Expense and Income.
4. User can categorized the income and expenses.
5. User can get the pictorial representation of income and expenses.
6. User can import expense and income record into excel and csv format easily.
The external oversight committee must approve the project performance measurement plan.

Agency Goals Project Objectives

Maintain fiscal responsibility and achieve financial Clearly outline the project's scope, including specific
stability to support on going operations and future deliverables and outcomes.
initiatives.

Ensure satisfaction among stakeholders, including Establish a realistic timeline with measurable milestones
clients, employees, and the community, through to track progress and ensure timely completion.
effective communication and engagement.

Invest in the professional development and well-being Identify and allocate necessary resources, such as
of employees to foster a skilled and motivated personnel, budget, and technology, to support project
workforce. activities..

Prioritize the security and privacy of data, ensuring Develop a communication plan to keep stakeholders
the confidentiality and integrity of information. informed about project progress, challenges, and
achievements

1.5 Intended Audience and Reading Suggestions


Intended Audience
3

Target individuals or businesses seeking effective financial management tools. The audience includes
anyone looking to track income, manage expenses, set budgets, and achieve financial goals conveniently.
Reading Suggestions
"Personal Finance for Dummies" by Eric Tyson
"The Total Money Makeover" by Dave Ramsey
"YNAB (You Need A Budget) Guide" on budgeting principles

1.6 Project Scope:


The scope of a budget tracker app project defines the boundaries, objectives, and deliverables of the
project. It outlines what the project will achieve, the features it will include, and any constraints that may
affect the project. Here's an example of scoping for a budget tracker app project.
1. Project Objectives
Objective 1: Develop a user-friendly budget tracker application.
Objective 2: Provide tools for users to track expenses, manage income, and set financial goals.
Objective 3: Enable users to view detailed reports and visualizations of their financial data.
Objective 4: Ensure data security and privacy in compliance with relevant regulations.
Objective 5: Support multi-platform access (web, mobile) for user convenience
2. Features and Functionalities:
 Feature 1: User authentication and authorization.
 Feature 2: Expense tracking with add, edit, and delete functionalities.
 Feature 3: Income tracking with add, edit, and delete functionalities.
 Feature 4: Categorization of expenses and incomes.
 Feature 5: Budget goal setting and tracking.
 Feature 6: Report generation and data visualizations.
 Feature 7: Notifications and alerts for budget milestones and limits.
 Feature 8: Import and export of financial data.
 Feature 9: Support for multiple currencies and date formats.
 Feature 10: Accessibility features for users with disabilities.
 Feature 11: Collaboration and sharing of budget data among users.
 Feature 12: Offline mode for uninterrupted access.
4

3. Out of Scope:
 Out of Scope 1: Advanced investment tracking or portfolio management.
 Out of Scope 2: Real-time market data integration for stock prices.
 Out of Scope 3: Tax calculation and filing functionalities.
 Out of Scope 4: Integration with specific financial institutions not supported by APIs.
 Out of Scope 5: In-depth financial planning or advisory features.
5

2. Overall Description

2.1 Product Perspective


The budget tracker app operates as a standalone financial management tool, providing users with a
comprehensive platform for tracking income, expenses, and budgets. It interfaces with various financial
data sources, offering a holistic view of one's financial landscape while prioritizing user-friendly design

and data security.

2.2 Product Features


Income Tracking
Log and categorize sources of income for a comprehensive financial overview.
Expanse Management
Categorize and track expenses, providing insights into spending patterns.
Budget Creation
Set personalized budgets for different expense categories to control spending.
Goal Setting
Establish and monitor financial goals, such as saving targets or debt reduction.
Real Time Updates
Provide instant updates on financial transactions for timely decision-making.
Expense Categories
Include predefined and customizable expense categories for accuracy.
Financial Reports
Generate detailed reports and visualizations to analyse financial trends.
Reminders and Alerts
Set reminders for bill payments and receive alerts for budget limits.
Secure Data Storage
Ensure the protection of sensitive financial information through robust security measures.
User-Friendly Interface
Design an intuitive and easy-to-navigate interface for a positive user experience.
6

Multi-Platform Accessibility
Enable access from various devices, including smartphones, tablets, and computers.

2.3 User Classes and Characteristics


Individual Users:
Characteristics:
Personal finance management, goal-oriented savings, expense tracking.
Small Business Owners:
Characteristics: Business expense tracking, budgeting for operational costs, revenue monitoring.
Families/Households:
Characteristics: Joint budgeting, shared expense tracking, family financial planning.
Freelancers/Contractors:
Characteristics: Variable income tracking, project-based budgeting, tax preparation.
Students:
Characteristics: Limited income management, expense tracking for tuition and living costs,
budgeting for student life.
Savers/Investors:
Characteristics: Goal-oriented savings, investment tracking, portfolio monitoring.
Debt Repairs:
Characteristics: Debt tracking, repayment planning, budgeting for debt reduction.
Travelers:
Characteristics: Expense tracking during trips, budgeting for travel costs, currency conversion.
Retirees:
Characteristics: Fixed income management, retirement savings tracking, budgeting for healthcare
and leisure.
Entrepreneurs:
Characteristics: Business and personal expense separation, financial planning for start-ups, profit
tracking.

2.4 Operating Environment


The budget tracker app operates in a dynamic digital environment, including:
7

Operating Systems:
Compatible with major operating systems such as iOS, Android, and Windows.
Web Browsers:
Supports popular web browsers like Chrome, Firefox, Safari, and Edge for online access.
Device Compatibility:
Optimized for smartphones, tablets, and computers to ensure cross-device functionality.
Internet Connectivity:
Requires a stable internet connection for real-time updates and synchronization.
Cloud Services:
Utilizes cloud storage for secure data backup and seamless multi-device access.
Security Protocols:
Adheres to industry-standard security protocols to protect user financial data.
API Integration (optional):
Allows integration with financial institutions, payment gateways, or other relevant APIs.
Local Storage:
Provides offline functionality with local storage for users in areas with limited internet access.
Accessibility Standards:
Complies with accessibility standards to ensure usability for users with disabilities.
Privacy Compliance:
Adheres to data protection regulations and prioritizes user privacy.
Updates and Maintenance:
Supports regular updates to incorporate new features, security patches, and improvements.
User Support:
Offers customer support channels, including help guides, FAQs, and user forums.

2.5 Design and Implementation Constraints

1. Cross Platform Compatibility


Constraint: Limited resources may affect the simultaneous development and maintenance of the app
across multiple platforms (iOS, Android, web).
2. Security and Privacy Regulations
8

Constraint: Adherence to strict data security and privacy regulations may limit certain features or require
additional development efforts for compliance.
3. Integration with Financial Institutions
Constraint: Connectivity and compatibility issues may arise when integrating with various financial
institutions, impacting the real-time synchronization of financial data.
4. Offline Functionality
Constraint: Providing seamless offline functionality may be challenging, particularly when dealing with
real-time data synchronization and updates.
5. User Adoption and Behaviour
Constraint: User adoption may be influenced by factors such as resistance to change or the
learning curve associated with a new financial management tool.

2.6 User Documentation


Provide a comprehensive user manual explaining app features, navigation, and step-by-step guides for
tasks such as setting up accounts, creating budgets, and generating reports.
Provide documentation on accessibility features and guidelines to ensure users with disabilities can use
the app effectively.
Regularly update release notes to inform users of new features, improvements, and bug fixes with each

app update.

2.7 Assumptions and Dependencies


1. Data Accuracy
Assumption: Users input accurate financial data.
Dependency: The app's functionality relies on the accuracy of user-provided financial
information.
2. Internet Connectivity
 Assumption: Users have consistent internet access.
 Dependency: Real-time data synchronization and updates require a reliable internet
connection.
3. API Availability

 Assumption: Third-party APIs for features like currency conversion remain available.
9

 Dependency: The app's performance relies on the availability and reliability of external
APIs.

4. User Engagement
 Assumption: Users actively engage with the app and regularly update financial data.
 Dependency: The effectiveness of budgeting and reporting features depends on consistent
user engagement.
5. Compliance with Privacy Regulations
 Assumption: Users adhere to data privacy and security regulations.
 Dependency: The app's security measures depend on users following recommended
privacy practices.
6. Device Compatibility
 Assumption: Users have devices compatible with the app.
 Dependency: The app's performance relies on compatibility with various devices and
operating systems.
7. Use Learning Curve
Assumption: Users can quickly learn and adapt to the app's interface.
Dependency: User satisfaction and effective use of the app depend on a manageable learning
curve.
8. Bug Fixes and Updates
Assumption: Users regularly update the app to the latest version.
Dependency: Bug fixes and new features depend on users staying current with app updates.
10

3. System Features
The features of a budget tracker app are designed to help users manage their finances effectively.
Below are common system features that you might find in a budget tracker app:
1. User Authentication and Authorization:
 Feature: Secure user authentication and authorization mechanisms.
 Purpose: Ensure that only authorized users can access and modify their budget data.
2. Expense Tracking:
 Feature: Add, edit, and delete expense entries.
 Purpose: Enable users to track and manage their spending by recording individual
expenses.
3. Income Tracking:
 Feature: Add, edit, and delete income entries.
 Purpose: Help users monitor their sources of income to get a comprehensive view of their
financial situation.
4. Budget Categories:
 Feature: Categorize expenses and incomes into predefined or customizable categories.
 Purpose: Provide a structured way for users to organize and analyse their financial
transactions.
5. Budget Goals:
 Feature: Set financial goals, such as saving targets or spending limits.
 Purpose: Empower users to plan and achieve specific financial objectives.
6. Budget Reports and Analysis:
 Feature: Generate reports and visualizations of spending patterns and budget
performance.
11

 Purpose: Offer insights into financial habits and trends to help users make informed
decisions.
7. Notifications and Alerts:
 Feature: Set up notifications for approaching budget limits, goal achievements, or other
relevant alerts.
 Purpose: Keep users informed about their financial status and progress toward their
goals.

8. Currency and Date Settings:


 Feature: Support multiple currencies and customizable date formats.
 Purpose: Cater to users with diverse financial contexts and preferences.
9. Data Security and Privacy:
 Feature: Implement robust security measures to protect user data.
 Purpose: Ensure the confidentiality and integrity of sensitive financial information.
10. Multi-Platform Access:
 Feature: Provide access to the budget tracker app across various devices and platforms
(web, mobile, etc.).
 Purpose: Enable users to manage their finances seamlessly from different devices.
11. Search and Filtering:
 Feature: Search for specific transactions and apply filters for detailed analysis.
 Purpose: Facilitate efficient exploration and retrieval of financial data.
12. Import and Export Data:
 Feature: Import financial data from external sources and export data for backup or
analysis.
 Purpose: Enhance flexibility and data portability for users.
13. Collaboration and Sharing:
 Feature: Collaborate on budgets with family members or share specific financial
insights.
 Purpose: Facilitate joint financial planning and sharing of relevant information among
users.
12

14. Offline Mode:


 Feature: Allow users to access and modify their budget data even when offline.
 Purpose: Ensure usability in scenarios with limited or no internet connectivity.

4. External Interface Requirements


External Interface Requirements in a budget tracker app outline how the system interacts with
external entities, systems, and users. These requirements help define the boundaries and
connections between the budget tracker app and the external environment. Here are some key
aspects of external interface requirements for a budget tracker app:
1. User Interface (UI):
Requirement: The budget tracker app should have an intuitive and user-friendly interface.
Details: Specify design principles, layout, and navigation elements to ensure a positive user
experience. Consider supporting various devices (desktop, tablet, mobile) with responsive
design.
2. Authentication and Authorization:
Requirement: Users must authenticate securely, and access permissions should be granted based
on roles.
Details: Specify the login process, password policies, and mechanisms for role-based access
control. Consider supporting multi-factor authentication for enhanced security.
3. Data Import and Export:
Requirement: Users should be able to import and export financial data.
Details: Define supported file formats for data import/export. Specify the process for importing
data from external sources (e.g., bank statements) and exporting data for backup or analysis.
4. Currency and Date Formats:
13

Requirement: Support multiple currencies and customizable date formats.


Details: Specify how the app handles different currency symbols, decimal separators, and date
representations based on user preferences.
5. Notifications and Alerts:
Requirement: Users should receive notifications and alerts.
Details: Define the types of notifications (e.g., approaching budget limits, goal achievements)
and the mechanisms for delivering them (e.g., in-app notifications, email, push notifications).
6. External APIs and Integrations:
Requirement: The app should integrate with external services or APIs.
Details: Specify the APIs or services to integrate, such as financial institutions for transaction
data import, or third-party services for currency conversion or market data.

7. Accessibility:
Requirement: The app should be accessible to users with disabilities.
Details: Define accessibility standards to ensure that users with visual or auditory impairments
can use the app effectively. Consider features like screen reader compatibility and keyboard
navigation.
8. Multi-Platform Access:
Requirement: Users should access the app across different platforms (web, mobile, etc.).
Details: Specify the platforms supported, and ensure a consistent user experience across all
platforms.
9. Offline Mode:
Requirement: Users should be able to use the app in offline mode.
Details: Define the functionalities available in offline mode and specify how data
synchronization occurs when the app goes back online.
10. Security Measures:
Requirement: Implement robust security measures to protect user data.
Details: Define encryption standards, secure data transmission protocols, and mechanisms for
protecting user authentication information. Ensure compliance with data protection regulations.
11. Collaboration and Sharing:
Requirement: Support collaboration features and data sharing among users.
14

Details: Specify how users can collaborate on budgets, share specific insights, and control access
permissions for shared data.
12. Error Handling and Logging:
Requirement: Implement effective error handling and logging mechanisms.
Details: Define how the app handles errors, displays error messages to users, and logs relevant
information for debugging purposes.
13. External User Documentation:
Requirement: Provide user documentation and support resources.
Details: Outline the creation and maintenance of user manuals, help guides, and online support
resources to assist users in using the app effectively.
14. Legal and Compliance:
Requirement: Ensure compliance with legal and regulatory requirements.
Details: Specify how the app complies with data protection laws, financial regulations, and other
relevant legal and compliance standards.
15

5. Other Non-functional Requirements

5.1 Performance Requirements:


Response Time:
The app should respond to user interactions within two seconds to ensure a seamless and
responsive user experience.
Data Load Time:
Financial data, reports, and visualizations should load promptly, even for users with extensive
transaction histories.
Scalability:
The system should be scalable to accommodate a growing user base and increased data volume
without significant degradation in performance.

5.2 Safety Requirements:


Data Integrity:
Implement measures to ensure the integrity of user data, preventing data corruption or loss in the
event of unexpected issues.
User Authentication:
Utilize secure authentication methods to safeguard user accounts and prevent unauthorized
access.

5.3 Security Requirements:


Data Encryption:
16

Implement end-to-end encryption for sensitive user data to protect against unauthorized access.
Secure Transactions:
Ensure secure communication protocols for all data transmissions to prevent data interception.
Access Controls:
Implement access controls to restrict user access based on roles and permissions.

5.4 Software Quality Attributes:


Reliability:
The app should operate reliably without frequent crashes or disruptions, ensuring a dependable
financial management tool.
Usability:
Design the interface to be intuitive and user-friendly, accommodating users with varying levels
of technical expertise.
Maintainability:
Develop the app with modular and well-documented code to facilitate easy maintenance and
future updates.
Portability:
Ensure the app's compatibility across different platforms (iOS, Android, web) for a broad user
base.
17

6.WBS
18

WBS stands for Work Breakdown Structure, and it is a project management tool that breaks
down a project into smaller, more manageable components. In the context of a budget tracker
app, creating a WBS can help organize and structure the development process. Here's how you
might create a WBS for a budget tracker app:
1. Project Definition:
 Define the overall project goal and scope.
 Identify the purpose of the budget tracker app and its key features.

2. Research and Planning:


 Conduct market research to understand user needs and existing solutions.
 Define the target audience and user personas.
 Create a project plan, including timelines and milestones.
3. User Interface (UI) Design:
 Develop wireframes for the app's user interface.
 Design the visual elements, including colors, fonts, and icons.
 Create mockups and prototypes for user testing.
4. Backend Development:
 Set up the server infrastructure.
 Implement the database to store user data and budget information.
 Develop the backend logic for budget calculations and data retrieval.
5. Frontend Development:
 Implement the user interface based on the approved designs.
 Integrate frontend components with the backend logic.
 Ensure a responsive and user-friendly interface.
6. User Authentication and Security:
 Implement user authentication mechanisms.
 Ensure data security and privacy.
 Test and verify the effectiveness of security measures.
7. Budget Tracking Functionality:
 Develop features for adding, editing, and deleting budget entries.
19

 Implement budget categorization and tagging.


 Enable users to view and analyse their spending patterns.
8. Notifications and Alerts:
 Implement notifications for budget goals and reminders.
 Set up alerts for overspending or reaching budget limits.
 Test and refine notification mechanisms.
9. Testing and Quality Assurance:
 Conduct thorough testing of the app's functionality.
 Perform usability testing to ensure a positive user experience.
 Identify and fix bugs and issues.
10. Documentation:
 Create user manuals and documentation.
 Provide support materials for users.
 Document the app's architecture and codebase for future reference..
11. Maintenance and Updates:
 Establish a plan for on-going maintenance and support.
 Address user feedback and bug reports promptly.
 Plan for future updates and feature enhancements.
20

7. Analysis model

7.1 Use Case Diagram

A Use Case Diagram is a visual representation of the functional requirements of a system or


application, focusing on how users interact with it. It illustrates the various use cases (or user
interactions) and actors (individuals or systems interacting with the application) within a system.
In the context of a budget tracker app, here's how you might represent some key use cases:
1. Actors:
User: The primary actor who interacts with the budget tracker app.
Administrator: If there are administrative roles, an administrator may have additional
functionalities.
2. Use Cases:
1. Login:
Actor: User
Description: The user logs into the budget tracker app using credentials.
21

2. View Budget:
Actor: User
Description: The user can view their current budget, categorized by expenses and income.
3. Add Expense:
Actor: User
Description: The user can add a new expense entry, providing details such as amount, category,
and description.
4. Edit Expense:
Actor: User
Description: The user can edit or update existing expense entries.
5. Delete Expense:
Actor: User
Description: The user can delete an expense entry from their budget.
6. Add Income:
Actor: User
Description: The user can add a new income entry, providing details such as amount, source, and
description.
7. Edit Income:
Actor: User
Description: The user can edit or update existing income entries.
8. Delete Income:
Actor: User
Description: The user can delete an income entry from their budget.
9. Set Budget Goals:
Actor: User
Description: The user can set budget goals, specifying targets for spending or saving in different
categories.
10. View Reports:
Actor: User
Description: The user can view detailed reports and visualizations of their spending patterns and
budget performance.
22

11. Receive Notifications:


Actor: User
Description: The user receives notifications for approaching budget limits, goal achievements, or
other relevant alerts.
12. Administer User Accounts:
Actor: Administrator
Description: The administrator can manage user accounts, including creation, modification, and
deactivation.
23

7.2 Class Diagram

A Class Diagram is a type of UML (Unified Modelling Language) diagram that illustrates the
structure and relationships of the classes in a system. In the context of a budget tracker app, a
Class Diagram would depict the various classes, their attributes, methods, and the relationships
between them. Here's an example of how you might represent classes in a budget tracker app:
1. User Class:
 Attributes: UserID, Username, Password, Email
 Methods: Login(), Logout(), ViewBudget(), AddExpense(), EditExpense(),
DeleteExpense(), AddIncome(), EditIncome(), DeleteIncome(), SetBudgetGoals(),
ViewReports(), ReceiveNotifications()
2. Employee Class:
 Attributes: EmployeeID, Amount, Category, Description, Date
 Methods: EditEmployeeDetails(), DeleteEmployee()
24

3. Sale Class:
 Attributes: SaleID, Amount, Source, Description, Date
 Methods: EditSaleDetails(), DeleteSale()
4. Budget Class:
 Attributes: GoalID, Category, TargetAmount, CurrentAmount
 Methods: SetTargetAmount(), TrackProgress()
5. Inventory Class:
 itemId: int - itemName: string- quantity: int- price: decimal
 + getItemId(): int + getItemName(): string + getQuantity(): int + getPrice(): decimal
6. Customer Class:
 Attributes: CustomerID, Name
 Methods: getCustomerId():getUsername(): getPassword(): getEmail():
7. Permission Class:
 Attributes: permissionId: permissionName:
 Methods: getPermissionId(): getPermissionName():
8. Role Class:
 Attributes: roleId, roleName
 Methods: getroleId, getroleName
25

7.3 Object Diagram

Zero Level Data Flow Diagram (0 Level DFD) Of Budget tracker:


This is the Zero Level DFD of Budget Controlling System, where we have elaborated the high level
process of Budget. It's a basic overview of the whole Budget Controlling System or process being
analysed or modelled. It's designed to be an at-a-glance view of Inventory, Login and Authentication
showing the system as a single high-level process, with its relationship to external entities of Budget,
Employee and Customer. It should be easily understood by a wide audience, including Budget, Customer
and Inventory In zero level DFD of Budget Controlling System, we have described the high level flow of
the Budget system.
High Level Entities and process flow of Budget Controlling System:
• Managing all the Budget
• Managing all the Employee
• Managing all the Customer
• Managing all the Sales
26

• Managing all the Inventory


• Managing all the Login
• Managing all the Authentication
27

7.4 Sequence Diagram


28

A Sequence Diagram is a type of UML (Unified Modelling Language) diagram that illustrates
the interactions and sequence of messages between objects or components in a system. In the
context of a budget tracker app, a Sequence Diagram can help visualize how different parts of
the system interact with each other to accomplish a specific task or scenario. Let's consider an
example scenario: "User adds a new expense."
1. Objects/Participants:
 User: The person interacting with the budget tracker app.
 Budget TrackerApp: The main application handling user interactions.
 Expense Controller: The component responsible for managing expense-related
operations.
 Database: Represents the database where expense data is stored.
2. Sequence of Events:
User initiates the action:
The sequence starts with the user initiating the action by interacting with the user interface of the
budget tracker app.
Budget TrackerApp forwards the request to ExpenseController:
 The Budget TrackerApp sends a message to the ExpenseController to handle the request.
 Message: addExpense(expenseDetails)
Expense Controller interacts with the Database:
 The Expense Controller sends a message to the Database to store the new expense details.
 Message: store Expense (expenseDetails)
Database stores the expense data:
 The Database acknowledges the successful storage of expense data.
 Message: expenseStored(success)
Expense Controller responds to the Budget TrackerApp:
 The ExpenseController informs the BudgetTrackerApp about the success or failure of the
operation.
29

7.5 Activity Diagram

Activity Diagram is an UML diagram used in software development. It is a graphical


representation of the workflow in an activity, showing the sequence of activities and their inter-
related flows. It can show the steps in parallel, conditional and concurrent activities. Activity
diagrams are used for a variety of tasks, from process modelling to flow charting of business
logic to visualization of a web application. Activity diagrams are very helpful in understanding
and managing complexity within a system, allowing a developer to easily identify and
understand the process being implemented.
Activities:
User: Represents the person interacting with the budget tracker app.
Budget Tracker App: The main application handling user interactions.
Budget Goal Manager: The component responsible for managing budget goals.
30

Database: Represents the database where budget goal data is stored.

7.6 Collaboration Diagram

The collaboration diagram is used to show the relationship between the objects in a system. Both
the sequence and the collaboration diagrams represent the same information but differently.
Instead of showing the flow of messages, it depicts the architecture of the object residing in the
system as it is based on object-oriented programming. An object consists of several features.
Multiple objects present in the system are connected to each other. The collaboration diagram,
which is also known as a communication diagram, is used to portray the object's architecture in
the system.

1. Objects/Participants:
 User: Represents the person interacting with the budget tracker app.
31

 Budget Tracker App: The main application handling user interactions.


 Budget Manager: The component responsible for managing budget-related operations.
 Database: Represents the database where budget data is stored.
2. Collaboration Steps:
 User initiates the action: The user triggers the action of viewing budget details.
 Budget Tracker App communicates with Budget Manager:
 The Budget Tracker App sends a message to the Budget Manager to request budget
details.
 Message: request Budget Details()
3. Budget Manager interacts with the Database:
 The Budget Manager sends a message to the Database to retrieve the budget details.
 Message: retrieve Budget Details()
32

7.8 ERD

This ER (Entity Relationship) Diagram represents the model of Budget tracker Entity. The
entity- relationship diagram of Budget tracker shows all the visual instrument of database tables
and the relations between Employee, Sales, Budget, Login etc.
• Budget Entity: Attributes of Budget are budget_id, budget_employee_id, budget_type,
budget_description
• Employee Entity: Attributes of Employee are employee_id, employee_name,
employee_mobile, employee_email, employee_username, employee_password,
employee_address
33

• Customer Entity: Attributes of Customer are customer_id, customer_name, customer_mobile,


customer_email, customer_username, customer_password, customer_address
• Sales Entity: Attributes of Sales are sales_id, sales_customer_id, sales_amount, sales_type,
sales_description
• Inventory Entity: Attributes of Inventory are inventory_id, inventory_items,
inventory_number, inventory_type, inventory_description
• Login Entity: Attributes of Login are login_id, login_user_id, login_role_id, login_username,
login_password, login_lastlogin
34

8. Tools & Technologies

PROJECT NAME: Budget Tracker APP


SYSTEM USED: Intel(R) Core(TM) i5-3337U CPU @ 1.80GHz
Ram 8GB
OPERATING SYSTEM: Window 10

DOCUMENTATION TOOL: Microsoft Office 2016

LANGUAGE USED Java

DATABASE Firebase

USER INTERFACE DESIGN XML

Case Tool Android studio


35

Appendix A: Glossary
1. SRS: Software Requirements Specification
2. API: Application Programming Interface
3. UI: User Interface
4. UX: User Experience
5. CSV: Comma-Separated Values
6. PDF: Portable Document Format
7. FAQ: Frequently Asked Questions
8. AI: Artificial Intelligence
9. SDK: Software Development Kit
10. SSL: Secure Sockets Layer
11. HTTPS: Hypertext Transfer Protocol Secure
12. CSV: Comma-Separated Values
13. PDF: Portable Document Format
14. QA: Quality Assurance
15. iOS: Apple Operating System for mobile devices
16. Android: Google's Operating System for mobile devices
17. HTML: Hypertext Markup Language
18. CSS: Cascading Style Sheets
19. JSON: JavaScript Object Notation
20. SQL: Structured Query Language
21. API: Application Programming Interface
22. URL: Uniform Resource Locator
23. KPI: Key Performance Indicator
24. VPN: Virtual Private Network
25. HTTPS: Hypertext Transfer Protocol Secure
36

Appendix B: Check List


Check List Yes No

I. Starting/Ending Dates

II. Project Scope

III. Product modules (covering all aspects of scope)

IV. System Features (covering scope)

V. Interface Requirements

VI. Non-Functional Requirements

VII. WBS

VIII. Tools and Technologies Detail (for implementation)

IX. Plagiarism Report


37

Appendix C: Supervisory Committee


For Approval of any two Consultant Teachers

Teacher Consulted Teacher Consulted


Name:____________________________________ Name: _
Designation: _________________________________
_______________________________ Designation:
Comments:________________________________ _____________________________
_________________________________________ Comments:_________________________________
_________________________________________ __________________________________________
_________________________________________ __________________________________________
_________________________________________ __________________________________________
__________________________________________

Signature: _ _____________________________ Signature: _________________________________

---------------------------------------------------------------------

(For office use only)

Date: _________
Group ID:__________
Approved
Meeting Required: Date: _______Time: ______Place:________
Rejected
38

Project Title (if Revised):


_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
______________________________

Project Coordinator ____________________________

You might also like