Expense Manager Software: Design, Prediction Algorithm, Maintenance

Verified

Added on  2023/05/30

|8
|905
|157
Report
AI Summary
This report provides a comprehensive overview of the design and development of an expense manager software using C#. It covers key functionalities such as adding payees and expenses, generating financial reports, and predicting future expenses. The software design emphasizes user interface paradigms, particularly invalid data handling and inter-page navigation. The program utilizes object-oriented programming principles with classes like Payee, Expense, and Manager, employing XML data files for storage. A prediction algorithm forecasts expenses based on historical data within a 5-day range of the user-specified date. While an initial XML auto threaded-update feature was dropped, a dynamic update system was implemented where XML files are updated upon new data entry. The report also includes screenshots of the software's home view, payee entry, expense entry, expense report view, and prediction view.
Document Page
Running head: EXPENSE MANAGER SOFTWARE
Expense Manager Software
Name of the student:
Name of the University:
Author note:
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
1
EXPENSE MANAGER SOFTWARE
Table of Contents
Introduction................................................................................................................................2
Software Functionalities.............................................................................................................2
Software Design.........................................................................................................................2
Interface Design.....................................................................................................................2
Program Design......................................................................................................................3
Prediction Algorithm..............................................................................................................3
Maintenance...............................................................................................................................4
Screenshots of the software........................................................................................................4
Document Page
2
EXPENSE MANAGER SOFTWARE
Introduction
An expense manager software is a crucial need for the modern day chain of works. In
this report, the design and development of on such software is going to be discussed, with fair
importance to the implementation changes and other choices.
Software Functionalities
The Expense Manager software is being designed and developed using the C#
programming language. The following forms are being implemented:
A view page for all the options available.
A view to add new Payees to the system.
A view to add new expenses to the system. This is to be made dynamic to assess the
user’s needs.
The financial report view to allow the user to set date ranges and get the expense
records that fall in the same.
A prediction view page to predict the expense to be made by the user on the
following date.
Software Design
Interface Design
The interface for the program has been designed with keen attention to User Interface
paradigms. Most preference was given to invalid data handling and inter-page navigation or
reversal of action. This was done by adding a Back or Cancel button to every page. Also,
message boxes have been used to respond to erroneous user inputs.
Document Page
3
EXPENSE MANAGER SOFTWARE
Program Design
The software program is being written using the Object Oriented Programming
paradigm, in the C# language. The program is to consist of various classes, objects, data
structures and XML data files, in order to function. The identified classes are as follows:
Payee: A class to represent each Payee entity with their names and contacts.
Expense: A class to represent each expense entries with their valid information.
Manager: This is the controller class of the program. It holds the data structure.
Among the other classes, the form classes are considered to be a crucial part of the
program. These classes represent each view of the software and accesses the Manager class
for further assistance.
The Manager class helps to store all the data collected from the external database or
during run-time and store them inside respective List data structures, which are further saved
into XML files from time to time during threaded updates. The Manager class also has the
liability to create and store new Payee and Expense objects or records into the system. The
expense entries will also be dynamically handled.
Prediction Algorithm
The prediction algorithm that has been used in this program is meant to produce an
expense status of the date entered by the user. The algorithm will hunt through the existing
expense records to find out the expenses that have been made on the same date or in its 5-day
range, in the previous years. The total of all these expenses will be calculated first. This will
allow the program to sort out an average of this collected date-based data which will be
produced as the prediction.
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
4
EXPENSE MANAGER SOFTWARE
Maintenance
The program has been designed to make sure that it is modifiable and maintainable
with ease. The XML files, from which the data is to be loaded into the program at start-up
can be changed externally. This can lead to data corruption or even lead the program to be
crashed. It is hence necessary to check the data that is being brought up from the XML files
and put into the program data structure. In case of invalid data, pop-up messages will be
presented. Furthermore, the list data structures in the program have been implemented to
store as many data as possible, hence it can hold up to any number of data values.
Implementation Changes
The XML auto threaded-update feature had to be dropped due to the rising
complexity of the program and the bugs that it gave rise to. It was instead replaced by another
dynamic feature that saved the system of its processor usage. In this implementation, the
XML file is being updated based on whenever the user chooses to enter a new data. This also
updates the internal data structures.
Also, the expense entries will be created based on the number that the user chooses
for a particular date. The number of entries are to be achieved using a reload method for the
page, that is the page will be recalled as many number of times to register the user’s
requested number of entries. This will give it a dynamic use case as necessary.
Document Page
5
EXPENSE MANAGER SOFTWARE
Screenshots of the software
Home View
New Payee Entry
Document Page
6
EXPENSE MANAGER SOFTWARE
New Expense Date and frequency Entry
New Expense Entry
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
7
EXPENSE MANAGER SOFTWARE
Expense Report View
Prediction View
chevron_up_icon
1 out of 8
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]