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.
tabler-icon-diamond-filled.svg

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
Candidate number : 7194
Centre number :12350
A level Computer science project
2019/2020
Budgeting tracker/ assistance
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
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

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
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

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
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:
Document Page
Candidate number : 7194
Centre number :12350
After a user successfully logs-in they will be required to input a unique 5 digit pin
number.This is done in order to decrease the possibility of unwanted access.
Pin required after successful login
Logo
Enter your pin:
Create new pin:
Logo
Create pin:
Confirm pin
Back
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
After a user creates a new account they will need to create a unique 5 digit pin.This pin will
be required to use after every time a user logs in.
Transactions
3 months
ago
Last month2 months
ago
Today:
This month
Document Page
Candidate number : 7194
Centre number :12350
Development and testing
Introduction
This application is expected to be a cross-platform product that runs on windows, Mac OS
and Linux distributions thus achieving primary purpose of allowing flexibility within the
deployed environment. During development several tools will be used most of which will be
open source so as to exploit the advantage of cost-free and large online support community.
Programming development Language and tools.
Many languages can be used to develop this application, for instance, Java, Python, c++ Dot
Net languages. Some of these languages it can build websites, desktop apps and even in
scientific analysis, moreover, they can interact with many database systems, either
commercial or non-commercial. The database that people always are using are Informix,
Microsoft SQL Server, MySQL, ODBC, Oracle and Sybase. This application aims at a
language that its code is easy to maintain and update, open source, easy to learn and a
reasonable support community is available online. Programming languages with good
front-end and back-end performance are highly feasible for this application.
The programming environment or platform to be used will be highly dependent on the
programming language of choice. However, most text editors and integrated development
environments offer multiple language support. Some of the available tools include:
Text Editors: Sublime text, atom, notepad++, visual studio code, notepad etc.
IDE: PyCharm, Spider, NetBeans, Visual Studio etc.
Database development tools.
The budget tracker/assistance works based on records therefore a database backend that
offers efficiency and good performance with minimum resources will be feasible for this app.
The graphs that visualize the expenditure requires data from the database to develop those
graphs and the other information is to be cached. The login authentication as well will
depend on the user credentials for authentication and authorization. Some of the databases
available include: Oracle, Sqlite3, Postgress, MySQL, MongoDB etc.
The choice of database tools for this system is SQl Lite3 with SQLAlchemy ORM due to the
large online support and the fact that its open source.
Document Page
Candidate number : 7194
Centre number :12350
System Modules
Authentication modules: These are modules within which the login program logic and the
User interface for authentication is residing where the identification using user id,
authentication using the password and authorization into the application resources will be
handled. These modules may include login, reset and new user registration.
Application modules: These modules will contain the user interaction handling logic where
the options to select what to view, calculate or information on user budget tracking will be
provided. These modules will be only accessible once a user was successful authenticated.
These modules may include the preferences setting like user profile, connectivity (offline and
online), alerts on texts and emails.
Database modules: These are the modules that provide the user with the source of the
database logic for creating models to interact with database to provide the aesthetic and
pleasant views and other visuals which include graphs on expense, budgetary data in
tabular format etc. These modules are dependent upon the application and authentication
modules.
Function / Robustness Testing & Evaluation
Test id Description Test Data Expected Results
1 Login Incorrect password
and username
Deny access
2 Login Correct password
and username
Allow access
3. Off budget/On budget User expenditure
data
Alert using designated
colour either via texts or
mail.
4. Register new user Correct username
and password
format
Allow registration
5. Register new user Incorrect
username and
password
Deny registration ask
for correct format.
6. Offline/online usability Send alert via mail
and text when
online
Allow texting and
mailing of alert
7. Offline/online usability Send alert via mail
and text when
online
Deny text and mail
alerts.
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Candidate number : 7194
Centre number :12350
Usability Testing and Evaluation
The end user at the deployment environment will have a chance to use this system and see
the ease of usability of the system. This will focus on evaluating if the budget tracking
application will have satisfied the user needs. The key aspects that the user may evaluate
may include:
What is the learning curve of the application usage to a standard end user? This
seeks to ensure that the application is user friendly and familiar at a glance in order
to minimize the learning curve.
Is the Budgetary tracking application’s UX acceptable? which includes having
responsive input controls on the help bar and presentable output.
Does its performance impress the end user? This can be based on its capability to
alert and mail within time and using minimal resources.
Has the user accepted the application as good solution for their problems? An
application’s success depends on end user acceptance thus this key to gauge
success of the budget tracking application.
Evaluation – Maintenance / Limitations / Improvements.
System Evaluation and Limitations
The budget tracking application is will run on a personal computer, will not be available on all
platforms like the mobile platform and will only be a single user mode application. Moreover,
the application will send texts and alerts on off/on budget alerts which may be challenging
due to international telecommunication charges that are not harmonized. Therefore, the key
limitation of application that ought to address include:
Single user mode limitation.
Texts alerts international mobile charges by Telecoms.
Single platform availability limitation.
Utility nature which makes it very suitable when made available on mobile handsets
for ubiquity.
System Improvements
The budget tracking application will improve on the existing similar applications which have
limited features compared to this budget tracker. The major improvements in this budget
tracker application include:
Document Page
Candidate number : 7194
Centre number :12350
chronological view on all spending 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.
A responsive 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.
Enhanced security through login factor.
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.
Background operation feature with minimal resources consumption.
This will be very useful as the system can be minimized 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.
Document Page
Candidate number : 7194
Centre number :12350
System Recommendation
In the future in case any resourceful developer chooses to develop/improve a budget
tracking/assistance should consider the following:
1. Focus on creating a multi user mode application which depends on an
advanced database management system that supports concurrency features.
2. Focus on expanding the platform coverage to tablets and mobile platforms to
satisfy portability and utility nature of this application which requires it
available on handsets which are carried during shopping, vacations and road
trips.
3. Improve on the text alerts to use on cost effective international communication
platforms that might exist at their time of developing the application.
The deployment method of this system should be in phases. The application features
should be availed in phases so as not to overwhelm the end user as well as get
iterative feedback during the development process.
Intense user training of about one week so as to allow for mental and skill preparation
since just like any system, the end user is the pivotal stakeholder’s in a system’s
success.
Appendix:
Screenshot of test results
LOGIN TEST
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
NEW REGISRTATION TEST
TRANSACTION HISTORY
chevron_up_icon
1 out of 20
circle_padding
hide_on_mobile
zoom_out_icon
logo.png

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]