Upload
others
View
3
Download
1
Embed Size (px)
Citation preview
FYP 1 REPORT
TITLE :
EXPENSES TRACKER SYSTEM USING LEAST SQUARE METHOD
NAME : SITI ZULAIKHA BINTI MAHIZAN
MATRIC NO : BTAL 17046376
COURSE : BACHELOR OF COMPUTER SCIENCE
(SOFTWARE DEVELOPMENT)
SUPERVISOR : PN. FAUZIAH BINTI AB. WAHAB
Table of Contents
CHAPTER I 1
INTRODUCTION 1
1.1 Background 1
1.2 Problem Statement 2
1.3 Objectives 3
1.4 Scope 3
1.5 Limitations 4
1.6 Implementation And Planning 4
1.7 Expected Result 5
1.8 Summary 5
CHAPTER II 6
LITERATURE REVIEW 6
2.1 Introduction 6
2.2 Related Research And Technique 7
2.3 Related Software 9
2.5 Summary 9
CHAPTER III 10
METHODOLOGY 10
3.1 Introduction 10
3.2 Waterfall Methodology 11
3.2.1 Phase 1: Requirement Gathering 12
3.2.2 Phase 2: System Design 12
3.2.3 Phase 3: Implementation 12
3.2.4 Phase 4: Testing 13
3.2.5 Phase 5: Deployment 13
3.2.6 Phase 6: Maintenance 13
3.3 System Requirement 14
3.3.1 Software Requirement 14
3.3.2 Hardware Requirement 15
3.4 System Design And Modelling 16
3.4.1 Framework Design 17
3.4.2 Context Diagram 18
3.4.3 Data Flow Diagram 19
3.5 Entities Relationship Diagram(ERD) 25
3.5.1 Data Dictionary 27
REFERENCES 32
1
CHAPTER I
INTRODUCTION
1.1 Background
Management of finance and accounts has been an actual issue for a long time.
People are less likely to keep track of their spending, be it, in checkbook or even
spreadsheets. Despite that, for the recent decades, it has got a new perspective with
the advent of modern technologies and the internet which is becoming more and more
accessible.
Expenses Tracker is a way that can help us to keep up with our spending. Not
only that, it can help us pinpoint areas that we have been spending and track
upcoming bill payments.
It is a web-based system that can keep track of their expenses and determine
whether they are spending as per their set budget. Potential users need to input the
required data such as the expense amount, merchant, category, and date when the
expense was made. This mobile system is a full detailed expense tracker tool that will
not only help users keep a check on their expenses, but also cut down the unrequired
expenses, and thus will help provide a responsible lifestyle.
2
1.2 Problem Statement
As for the time being, there a lot of budget planner software that are available
online but some of these software fall short in helping users to actually create and
stick to a budget.
One of the drawbacks is the on-going maintenance, a lot of budget software offer
the simplicity of integrating with all users financial accounts and consolidating their
activity into one dashboard. However though, some of this existing software mostly
have complicated features that are not user friendly.
Also, due to the busy and hectic lifestyle people tend to overlook their budget and
end up spending an excessive amount of money since they usually didn’t plan their
budget wisely. Last but not least, user cannot predict future expenses. While they can
wirte down their expenses in a piece of paper or manage them in excel spreadsheet,
their lack of knowledge in managing finances will be a problem.
3
1.3 Objectives
1. To design a user friendly and an attractive interface so that users can easily access
the system.
2. To develop a systematic system that will help to improve users’ financial
management and forecast future budget planning.
3. To test and evaluate the reliability of the system to generate monthly report and
forecast budget for the users.
1.4 Scope
The scope of this study are divided into:
Admin
⚫ The role of an admin is to login the system to make changes or update.
⚫ Admin can control user data and do the system maintenance.
User
⚫ User needs to input their monthly income and expenses to manage their financial.
⚫ Able to log in to system.
⚫ Can view the generated report.
⚫ Can view previous spending
4
1.5 Limitations
This system can only be used by individuals as it includes only personal expenses.
And only admin is allowed to manage the maintenance of the system. The system
cannot be performed offline.
1.6 Implementation And Planning
Using a Gantt Chart that describes key of activities and timescales involves in
implementing this project as shown in Table 1.1
Table 1.1 Gantt Chart
5
1.7 Expected Result
The expected outcomes from this project is that the system can precisely keeping
track of user’s expenses as well as their budgeting. A report will be automatically
generated by at the end of the month for user to review their spending. This report is
retrieved from the database that they have entered.
The goals that are achieved by the system are:
⚫ User friendly and flexible interface.
⚫ Efficient calculation and forecsting.
⚫ Improved productivity
⚫ Instant access.
1.8 Summary
The details of Expenses Tracker System has been discussed in this chapter which
include the project’s problem statements, objectives, scope, expected result and
project planning.
6
CHAPTER II
LITERATURE REVIEW
2.1 Introduction
This chapter will be focusing on the work or research that are related either
directly or indirectly to this project. This part is very important for the development of
the project as it works as a guideline. It is an evaluative report of studies found in the
literature that related to the selected area. Besides, by studying and understanding the
researches, it will help in determining the best approach for the system development.
7
2.2 Related Research And Technique
Some research and journals have been reviewed throughout this project to make
out a distinct image of it. These journals in short, works as a guide for this project to
implement Least Square Method.
Based on article [4], it discusses about regression models. Basically, it holds a
concept where we forecast the time series of interest at y-axis assuming that it has a
linear relationship with other time series at x-axis. The author [4] also stated that, the
least squares principle provides a way of determining the coefficients effectively by
minimising the sum of the squared errors.
A study carried out by author [9], it introduces tools and methods for both finance
and accounting that help with asset pricing, corporate finance, options and futures,
and conducting financial accounting research. How least square method works and
implied in financial forecasting is discussed.
The author [2] applied several of statistical time series models to observe forecast
errors in the demand of juice production are within the expected limit and to choose a
forecasting technique which has a less relative error. The author [2] proved that Least
Square Method is more accurate than the others. Article [3] also did the study in order
to forecast milk production in India using statistical time series modeling- Double
Exponential Smoothing and AutoRegressive Integrated Moving Average and
concluded that Auto Regressive Integrated Moving Average performed better.
8
In a paper studied by [7] explains that Batch-mode Least Squares SVM (LSSVM)
is often associated with unbounded number of support vectors (SVs). This, makes it
unsuitable for applications if it involves large-scale streaming data.
In this paper [7], it explains how to train the limited-scale LSSVM dynamically.
By applying a budget online LSSVM (BOLSSVM) algorithm, methodologically, by
setting a fixed budget for SVs, LSSVM model is updated according to the current SVs
set dynamically without re-training from scratch. This way, the proposed BOLSSVM
algorithm is especially useful for online prediction tasks. Thus, batch-mode learning
methods were compared, the computational complexity of the proposed BOLSSVM
method is significantly reduced. The validity and effectiveness of the proposed
BOLSSVM algorithm is shown by the experimental results of classification and
regression on benchmark datasets and real-world applications.
The paper [10] aims to describe a computerized system that is able to predict the
budget for the new year based on past budgets by using time series analysis. It will
then show results with most minimum errors and controls the budget during the year.
Through the ability to control exchange, compared to the scheme with the investigator
and calculating the deviation, measurement of performance ratio and the growth of a
number of indicators relating to budgets, it is possible to achieve the objective. For
example, this article [10] uses the rate of condensation of capital, the growth rate and
profitability ratio and gives a clear indication whether these ratios are good or not.
9
2.3 Related Software
One of the most common existing software that is related to this project is MINT.
Mint was formally introduced in September 2007. it is a server-based web, but this
software also can be used using PC or smarphone.
Based on a research from author [1], MINT is aware of users’ daily expense and
if they have a future goal of buying something, user can reduce your current spending
according to it. Most importantly, it keeps a track on users’ credit bills, home bills and
savings. This budgeting software also will notify users whenever user are due to pay a
bill or payment. This will lower the chance for users to forget to make payment.
Despite having some great advandtages, MINT also comes with a plenty of
drawbacks such as there no guarantee of the security in this online software. The
chances of getting their account hacked is worrisome as this software stores users’
financial account. The rivalry from other potential software also becomes one of the
big factor. Website has too many ads while browsing through finances.
2.5 Summary
In conclusion, the selection of accurate technique is very important to make sure
that the system successfully implemented and achieved the objective. The selected
technique is artificial neural networks that can be able to predict the financial forecast
correctly. Based on the research study, it can be conclude that the artificial neural
networks is suitable for Expenses Tracker System.
10
CHAPTER III
METHODOLOGY
3.1 Introduction
In this chapter, it will be discussing about the methodology choosen in order to
develop Expenses Tracker System. A few methodologies have been taken into
consideration such as Agile Methodology and Rapid Application Development(RAD)
Methodology. Agile is a conceptual framework for undertaking software engineering
projects. It is adaptive which means that it responds to changes well. While, RAD is
created to take the maximum advantage of the development software. It makes the
entire development process uncomplicated as it also aid client in taking quick reviews
and uses them to make improvement.
But, at the end of the day, we decided to choose Waterfall Methodology to be
implemented in this project. There are few reasons why we choose the method and
more will be discussed as we get further into this chapter.
11
3.2 Waterfall Methodology
Waterfall Methodology is also one of Software Development Life Cycle(SDLC)
approach. It is choosen to be implemented in Expenses Tracker System because it is
very simple to understand and use. In waterfall model, there will be no overlapping in
the phases as each phase must be completed before the next phase can begin. The
phases consist of requirement gathering, system design, implementation, testing and
maintenance.
Figure 3.1 Waterfall Methodology
12
3.2.1 Phase 1: Requirement Gathering
The first phase is done by brainstorming the solution for the problem occured.
Hence, this project, Expenses Tracker System was decided. At this stage, all possible
requirements are collected in order to develop the system by doing questionnaire. The
requirements then are analysed and documented.
3.2.2 Phase 2: System Design
During this phase, the requirements captured from the first phase are studied and
the system design for Expenses Tracker is prepared which specifies hardware and
system requirements. This is to ensure that every requirement and any related things
need to be done are suitable with the system. This stage will help in defining the
overall system architecture for Expenses Tracker System.
Designing the Context Diagram(CD), Data Flow Diagram(DFD), and Entity
Relationship Diagram(ERD) are also being done here in order to translate the process
flow of Expenses Tracker System.
3.2.3 Phase 3: Implementation
As the name implies, in this phase the source code is written as per
requirements. The information from the previous stage is taken and a working code is
written to create a functional product. Small pieces of code will be implemented and
then are integrated at the end of this phase or the beginning of the next. For Expenses
Tracker System is developed using XAMPP, MySQL and Notepad++ .
13
3.2.4 Phase 4: Testing
Once the implementation is completed, the final product of Expenses Tracker will
be tested and evaluated to find any problem that might occur on its perfomance. Bugs
is fixed in this phase. This is also where the system will be determine whether it meets
the requirements or not.
3.2.5 Phase 5: Deployment
In this phase, the complete product of Expenses Tracker will be released and
tested to the end-users. They will use the system and give their feedbacks on whether
it needs to be improved or modify. Any modifications or changes are being made
based on the feedbacks from the user to make sure the system is completely fulfilling
the requirements.
3.2.6 Phase 6: Maintenance
After the deployment phase, the next step is to provide support and maintenance
for the system, making sure it works perfectly as it should. If users come across any
errors, defects or bugs during the process, fixing them is the main aim of this stage.
To fix those issues, patches are released. Also some better versions are released to
enhance the product.
14
3.3 System Requirement
System requirement contains of software requirement and hardware requirement.
These are needed to ensure the accomplishment of all processes are well covered. So,
every aspect required during implementation phase needs to be determined.
3.3.1 Software Requirement
List of software required:
No. Software Purpose
1. LARAVEL Framework to develop the system.
2. Notepad++ Used for coding and as connection to
database.
3. XAMPP Used as local server.
4. MYSQL Database Acts as the database for the system.
5. WPS Office Writer Used to do the documentation for the project.
6. Flutter Framework to develop the system
7. Google Chrome A browser to run localhost and search for
information.
Table 3.1 List of software requirements
15
3.3.2 Hardware Requirement
Some of the requirements for hardware(PC):
No. Aspect Details
1. CPU intel CORE i5
2. RAM 4 GB
3. ROM 256 GB
4. Operating System(OS) Windows 10
5. System type 64-bit operating system
Table 3.2 List of hardware requirements
16
3.4 System Design And Modelling
Constructing a few work flow diagrams will be taken into account moving into
the next stage in the Waterfall methodology. This will help developers to define a
clearer idea based on the specified requirements. As for Expenses Tracker System, it
will include the Context Diagram and Data Flow Diagram shows the physical design
of the system while the Entities Relationship Diagram act as the logical design of the
system.
17
3.4.1 Framework Design
Figure 3.2 Framework design for the system
The framework for Expenses Tracker System includes Admin, User, Database
and the system itself. Based on Figure 3.2 above, it shows the flow of how the system
works in general where users can input their income, expense and budget to the
system and all the data will be stored in the database. From the database, the data will
be analyzed and new report and budget will be generated.
18
3.4.2 Context Diagram
LEVEL 0
Figure 3.3 Context Diagram of the system
Figure 3.2 shows the main process flow of how Expenses Tracker works. There
two entities involved, Admin and User. The role of Admin is that they can manage the
data of the user and do the maintenance. Meanwhile, user is required to register their
profile in order to use the system. User is allowed to input their income and expenses.
19
3.4.3 Data Flow Diagram
LEVEL 1
Figure 3.4 DFD Level 1 for Admin
Based on Figure 3.4 above, there are six processes involve in Admin module.
Admin can be login to the system as a first step to get into the system. After login,
process that involve admin is Manage Income, Manage Expenses, Forecast Budget
and Generate Report from the system. At the end on the process, admin canlogout
from the system.
20
LEVEL 1
Figure 3.5 DFD Level 1 for User
Figure 3.5 above shows that there are four processes involve in User module. User
can be login to the system as a first step to get into the system. Then, other processes
carried in this module are Manage Income, Manage Expenses and Generate Report
from the system.
21
LEVEL 2
Figure 3.6 DFD Level 1
Figure 3.6 shows the login process of the system in details. User is required to
enter the details needed in order to use the system.
22
LEVEL 2
Figure 3.7 DFD Level 2 Manage Income
Based on Figure 3.7, the process above means that user can enter their income,
edit and delete if needed.
23
LEVEL 2
Figure 3.8 DFD Level 2 Manage Expenses
Based on Figure 3.8, the process above shows that user can enter their expenses,
edit and delete if needed.
24
LEVEL 2
Figure 3.9 DFD Level 2 Report Generation
From Figure 3.9, it shows the process to generate a report based on data has been
entered in income and expenses. The data from these data store will be retrieve to
display a report and forecast next month budget.
25
3.5 Entities Relationship Diagram(ERD)
ERD is a data modelling technique that creates a graphical representation of
the entities and the relationships within a system. Figure 3.10 below shows the
entities involved in Expenses Tracker System and its relationships. There are
several entities which are user, admin, expenses, income, budget and category.
Figure 3.10 Entities Relationship Diagram(ERD)
Figure 3.10 visualizes the entities, their attributes and the relatonships between
the entities.
26
Figure 3.11 Database Design
Figure above shows the database design of Expenses Tracker System. It
visualized the connection and relationship between the tables involved in the
database.
27
3.5.1 Data Dictionary
A data dictionary is a file or a set of files that contains a database's metadata.
It has records about other objects in the database, such
as data ownership, data relationships to other objects, and other data. The following
tables below are showing the specification of each table involves in the database:
1. TABLE Users
2. TABLE Income
3. TABLE Expenses
4. TABLE Category
5. TABLE Budget
28
Column Type Null Length Key Description
username varchar no 10 PK
firstName varchar yes 20
lastName varchar yes 20
email varchar yes 50
password varchar yes 12
Table 3.3 Users Table
Column Type Null Length Key Description
income_id varchar no 10 PK
username varchar no 10 FK
inc_amount decimal yes 7
inc_date datetime yes
inc_source varchar yes 20
Table 3.4 IncomeTable
29
Column Type Null Length Key Description
expense_id varchar no 10 PK
username varchar no 10 FK
exp_amount decimal yes 7,0
exp_date datetime yes
category varchar yes 20
exp_status varchar yes 20
Table 3.5 Expenses Table
30
Column Type Null Length Key Description
username varchar no 10 PK
groceries varchar yes 7
entertainment varchar yes 7
automobile varchar yes 7
household varchar yes 7
loans varchar yes 7
insurance varchar yes 7
rent varchar yes 7
bill varchar yes 7
others varchar yes 7
Table 3.6 Category Table
31
Column Type Null Length Key Description
budget_id varchar no 10 PK
username varchar no 10 FK
income_id varchar no 10 FK
budgetName varchar yes 20
budget_amount decimal yes 7,0
firstDate datetime yes
secondDate datetime yes
category varchar yes 20
period varchar yes 10
Table 3.7 Budget Table
32
REFERENCES
[1] Morgan L. (2017). Why Do People Think Mint is Bad For Budgeting. Investing
Education.[online] Retrieved from:
http://www.investinged.com/why-do-people-think-mint-is-bad-for-budgeting/
[Accessed 1 April 2017].
[2] Kumar, R and Mahto, D 2013, ‘A case study : Application of Proper Forecasting
Technique in Juice Production’, Global Journal of Researches in Engineering,
vol. 13, no. 4, pp. 1-6
[3] Pal, S, Ramasubramanian, V and Mehta, SC 2007, ‘Statistical Models for
Forecasting Milk Production in India’, Journal of Indian Society of Agricultural
Statistics, vol.61, no.2, pp. 80-83.
[4] Hyndman, R. J., & Athanasopoulos, G. (2018). Forecasting: Principles and
Practice.
[5] Thanapal, P., Patel, M., Lokesh Raj, T., & Satheesh Kumar, J. (2015). Income
and Expense Tracker. Indian Journal Of Science And Technology, 8(S2), 118-122.
33
[6] Chauhan, B. D., Rana, A., & Sharma, N. K. (2017, September). Impact of
development methodology on cost & risk for development projects. In 2017 6th
International Conference on Reliability, Infocom Technologies and Optimization
(Trends and Future Directions)(ICRITO) (pp. 267-272). IEEE.
[7] Jian, L., Shen, S., Li, J., Liang, X., & Li, L. (2016). Budget online learning
algorithm for least squares SVM. IEEE transactions on neural networks and learning
systems, 28(9), 2076-2087.
[8] Gaither, G. H., Dukes, F. O., & Swanson, J. R. (1981). ENROLLMENT
FORECASTING: USE OF A MULTIPLE‐METHOD MODEL FOR PLANNING
AND BUDGETING. Decision Sciences, 12(2), 217-230.
[9] Lee, C. F., Chen, H. Y., & Lee, J. (2019). Econometric Approach to Financial
Analysis, Planning, and Forecasting. In Financial Econometrics, Mathematics and
Statistics (pp. 125-157). Springer, New York, NY.
[10] Elbasheer, F. A., & Samani, A. T. (2014). Forecasting Budget Estimated Using
Time-Series. Intelligent Information Management, 2014, 6, 142-148, Published
Online May 2014 in SciRes. http://www. scirp. org/journal/iim.