A Level Computer Science 2019/2020 Budgeting Tracker Project

Verified

Added on  2022/08/26

|20
|4545
|10
Project
AI Summary
This document presents an A-level Computer Science project focused on developing a budgeting tracker and assistance system. The project includes a comprehensive analysis of the problem, identifying the need for a tool to help users control their spending habits and manage their finances effectively. It involves stakeholder analysis, outlining the needs and requirements of the end-users, and justifying the computational methods used. The design phase covers system objectives, decomposition, interface designs, and data structures. The development and testing sections detail the iterative development process, including coding, testing, prototyping, and end-user feedback. The project also addresses limitations and success criteria, with a final evaluation assessing the functionality, robustness, and usability of the system. The project also includes a literature review of existing budgeting systems like Yolt and details the features and functionalities of the developed system, such as history views, different graph presentations, text alerts and a login system for data security.
Document Page
Candidate number : 7194
Centre number :12350
A level Computer science project
2019/2020
Budgeting tracker/ assistance
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Candidate number : 7194
Centre number :12350
Contents
Section 1 - Analysis 3
1.1 Problem identification 3
1.2 Stakeholders/ Clients 3
1.3 Justification of Computational Method 4
1.4 Project Investigation 4
1.5 Project Requirement 4
1.5.1 Requirement a 4
1.5.2 Requirement b 4
1.5.3 Hardware and software requirements 4
1.6 Success Criteria 4
Design 6
Development and testing 7
Document Page
Candidate number : 7194
Centre number :12350
Section 1 - Analysis
1.1 Problem identification
Technology has improved heavily over the past years and has made it easier to spend
money faster, also advertising has improved so people tend to lose track of how much
they're spending and on what till they end up with a huge credit card bill at the end of the
month. So my program will warn consumers when they have spent more than their set limit
for the month or week.my program will also remind people when they are close to hitting the
set limit or if they have even managed to save funds.
There are different categories of things people tend to spend money on, the most basic
being food, shelter and clothing but there are also others such as the cost of looking after
family/children, cost of travel, cost of entertainment and many more. By categorizing a
person's costs it helps identify where they could cut down their spending on.
This would help save people a lot of money which they could, in turn, spend on something
more beneficial such as a new phone, car or even a holiday.
1.2 Stakeholders/ Clients
The main stakeholders for my system would be anyone who struggles to control their
spending habits or for people who want to save a bit more. I will interview a friend who tends
to waste money constantly and see if he finds the idea beneficial for him. I will ask for
important features that he would want as a consumer to help cut his spending habits
Conversation with a friend
What is the problem?
After speaking to my friend he identified that the main issues with programs that display
results are that he struggles to understand what the results actually mean, he finds this
annoying and sees it as having no benefit to him, despite the lack of control over his pwn
spending habits. He also stated that if it was easy to read then he would find it very useful
and even suggest it to others.
What are the key features that you want out of the system?
He said he wants notifications or reminders so he's constantly aware of his spending,
making him less likely to overspend.
He also wants to see how long it would take him to save up for a new phone so suggests
having a feature which calculates how long he would need to save for certain items.
He would also like to see a saving plan so he would be more understanding of how to save.
Another feature which he suggested was adding rules for younger users, an example being
that parents would be informed via email if their child had spent over a certain limit.
Document Page
Candidate number : 7194
Centre number :12350
He also wants to see clearly what his biggest costs are (shown based on category and
actual cost) and a graph which represents this data in a clear and understandable way.
He also mentioned that if the program can save certain recurring expenses in memory so
that the user does not have to constantly input them. (e.g. Gym membership costs or cost of
rent ) this makes the program more convenient to be used.
USE GOOGLE FORMS
FOR QUESTIONNAIRE
1.3 Justification of Computational Method
I believe that using a computational method would be beneficial as it would be easy to store
data and instantly calculate a consumer's daily spending which would then be recorded and
could be referred to at a later date. Also, as it would set reminders for the user this helps
prevent them from making mistakes on what they are spending their money on
Data Abstraction could be applied through showing only the end result of calculations and
not the process. It could store data in a cache memory
existence of pattern recognition for computation thinking
The end user of the Budget tracking application just like any user has a spending routine
with which they follow, for instance:
1.user gets a given amount of income/earnings which is recorded by the tracker.
2.user creates a budget for each category of expenditure i.e. shopping, Vacation etc.
3.The application saves these records constantly as part of routine.
4.user enters their spending’s into the application for tracking.
5.application the keeps track whether a user is on budget or off budget.
This pattern exists for the entire time a user uses the budget tracking during their spending
annually. Therefore, this pattern can then be applied to this system since it monitors
expenditures categories of the user based on their earnings and budget estimates.
Recognition patterns is a form of computational thinking that uses the things that are
common between programs.
This can be implemented as follows:
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Candidate number : 7194
Centre number :12350
Identifying common elements in the tracking system. For instance, at what time of the year is
the user experiencing off budget and at what earnings. Using this pattern, we can create a
prediction algorithm to assist the user in taking caution to evade the alerts.
Once the pattern has been identified then individual items like earnings, categories and
expenditure which are seen to be influenced by income and months of the year they can be
processed and saved into the database to establish a basis for the graphs and statistical
data like the regression, coefficients which justify accuracy of the end developed algorithm.
Once the tracking application has a prediction algorithm based on a verifiable data that it
monitors from the user then we can use to speculate user spending.
The budget tracking application based on the comparison between income, budget for each
category and expenditure of the user the application is able to identify when the user is
about to exceed the budget and when they exceed the budget. The application will save the
budget plan for each category into the database for a given user then once an expenditure is
made, an abstracted method calculates to see whether the customer is off budget or on
budget then using an alert color for instance red to highlight the records that are off budget.
The database holds chronological data of the user budget. Using an identified pattern which
may be how the user is influenced to spend during given times of the year i.e. during
holidays, the category of spending i.e. Shopping or vacation, their average amount they
spend on each category during the year. The spending summary can as well be presented
from a statistical perspective like using pie charts with percentages (the database can be
queried to refined this data for presentation) the presented in customized user interface from
the budget tracking application.
1.4 Project Investigation
Another budgeting system which already exists is called ‘Yolt’ it can be found here:
https://www.yolt.com/
The app works by using your usual online banking details to connect to your bank using the
double security encryptions that banks do but the benefit being you can view multiple
accounts and see the data on spending habits between your different accounts at the same
time. once your banking history has been imported into the app, it will then put into useful
categories. If the user disagrees with any of the systems categorisations, the user can
manually move their spending to other categories. The categorisation is also much more
specific than other apps, resulting in users receiving more detailed and useful insights on
their spendings. As shown below
Document Page
Candidate number : 7194
Centre number :12350
Another useful feature about Yolt is that they allow users to find the best exchange rates
when travelling abroad.this is very useful for most people who have little/ no knowledge on
the exchange rates of multiple currencies so helps them save more money.
Key features of the solution (system goals)
History view on all spendings and earnings
This will allow the user to view their history of expenditure between any dates.this will help
see at what periods through the year does their expenditure increase (e.g: during December
due to Christmas sale). There will be a table holding all the statistics of the user, along with
this it will show the user what they spend the most in each category. All results will be
represented in many different ways, to allow the user to customise.
Different presentations of graphs and statistics
Multiple different graphs will be used to clearly highlight and understand users spending
habits, the user will be able to customise the complexity of the data they see. ( a simple pie
chart or in-depth and accurate numbers) A colour-coded scheme will also be available to
help make the data more visually simpler and understanding for users, this will help pinpoint
anomalies in their spending and where they should focus on cutting costs.
All graphs will also be able to be printed if users prefer a hard copy rather than digital.
Document Page
Candidate number : 7194
Centre number :12350
A help bar
This will help new users to understand all the functions and features which are available for
them. Also, this will help users understand the data they have been shown and answer
commonly asked questions about saving.
Text alerts/reminders
Users may want to be warned or reminded not to spend as much within a given time frame.
Constant updates help keep users focused on saving instead of spending as they will be
more aware of their bills straight away rather than waiting to receive bank statements. Some
users would like to just be aware when they are nearing or have surpassed a certain
spending limit. This can be manually set and turned off if the user desires.
Login system to help keep all information secure
This will help keep data safe and secure as no one but the user will have access to the
information on their account. also, this prevents unwanted third parties from retrieving
personal information such as bank details. Passwords will be encrypted and stored along
with all other information from the user. double security encryptions will also be implemented
in order to guarantee proper protection of all data.
The system can operate in the background of a computer, without impeding with
anything else
This will be very useful as The system can be minimised to the taskbar and will run in the
background. This means it will not intervene with the normal operation of the computer when
double-clicking on the icon, the system will then open. This is convenient for the user who
wishes to use another program while the system starts up.
Limitations in the system
Any limitation that I could be presented with when creating the program
One limitation that my system will face is that it will not be available on every platform, it can
only be accessed via pc. Another limitation is that only one user can use the system at a
time, accounts can not be used simultaneously.
Inability to text foreign landlines due to overseas charges for alerts/ reminders, in these
cases, users will have the option of alternatives such as email.
Requirements for the solution
Any device that uses the system must be able to connect to a stable and secure internet
connection.
The computer must also meet the following specifications:
Hardware:
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Candidate number : 7194
Centre number :12350
Processor (CPU) with 2 gigahertz (GHz) frequency or above
A minimum of 2 GB of RAM
Monitor Resolution 1024 X 768 or higher
A minimum of 20 GB of available space on the hard disk
Internet Connection Broadband (high-speed) Internet connection with a speed of 4
Mbps or higher
Keyboard and a Microsoft Mouse or compatible pointing device
Sound card
SUCCESS CRITERIA
The criteria has been split into important and preferable, because the main aim is to make
the system function properly before adding any new features, and in the event where I do
not have enough time to include all said features, I will have at the minimum covered the
important ones for the operation of the system.
The important criteria are:
History view on all spending and earnings
Ability to see all records of your daily, weekly, monthly and annual spending and
earnings.
Different presentations of graphs and statistics
Ability to see different layouts of the data to clearly highlight and understand a
consumer's spending habits.
The system can operate in the background, without impeding with anything
else
The system will be minimised to the taskbar and will run in the background. This
means that it will not intervene with the normal operation of the computer. when you
double click on the icon, the system will open.
The Preferable criteria is :
Text alerts/reminders
The user will be able to set up custom text and email alerts to any email address or
mobile phone depending on certain settings.
Login system to protect all of the user’s data and history
There will be a login screen before being able to use the system, users will be able to
change passwords and create or delete accounts.
Usability offline
Document Page
Candidate number : 7194
Centre number :12350
The system can be used offline for small features such as checking bank balance
and receiving alerts/reminders.
Design
Top-down design:
This top-down design indicates all the different elements that make up a user login page.
First the system connects to the database. Then the password is encrypted after that the
login details which have been entered are seen, the database is queried to ensure that the
login details are correct. Variables are then assigned to user details and parts of the
application will be limited depending on user ranking. This is done to make sure no private
information gets out.
User
login
See overall
statistics and
results
Upload
spreadsheet
file
Update on
expense for
the day
User login
Connect
to
database
Encrypt
password
Obtain
login details
entered
Query
database to
make sure
user is valid
Set
variables to
user details
Limit parts of
application
depending
on the user
ranking
Document Page
Candidate number : 7194
Centre number :12350
Database design
History view on all spending and earnings
The statistics obtained from the server are as follows: current spending for the day,
the average weekly and daily spending, average earnings per month
This will need to be designed to enable the storage of a large history of the data,
along with it being easily query-able as the history report can be personalized.
Login system to protect all of the user’s data and history
All statistics will be periodically logged in to a table
Name nul?
Log_ID Not null
Log_DateTime Not null
Log_Income Not null
Log_Outflows Not null
User Login
Name: Surname:
Username: Password:
This is a simple design for my user login
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Candidate number : 7194
Centre number :12350
https://inews.co.uk/inews-lifestyle/money/good-money-managing-apps-
635219
LOGO
LOGIN
REGISTER
Start screen
Document Page
Candidate number : 7194
Centre number :12350
Log-in Window
Logo
Username:
Password:
Login Back
Register Window
Logo
Username:
Password:
Create a new account Back
Re-enter Password:
chevron_up_icon
1 out of 20
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]