project-proposal-2025

ExpenseFlow

Abstract

Have you ever had to explain a suspiciously large ‘business lunch’, wonder where all your money went, or chase down friends for their share of last night’s dinner? With ExpenseFlow, budget leaks become a thing of the past and you’ll never have to play detective with your finances again. ExpenseFlow is a comprehensive expense management tool aimed at both individuals and businesses. It simplifies financial tracking, budgeting and reporting through an intuitive interface. With automated document scanning, customisable reports and real-time monitoring, ExpenseFlow empowers users to gain financial clarity and control. For businesses, it streamlines approval workflows, and ensures compliance for smarter financial decisions. For individuals, it offers easy budget management and spending analysis. Whether managing corporate finances or personal budgets, ExpenseFlow makes expense management effortless and transparent.

Author

Name: Lucas Hicks

Student number: 47440085

Functionality

The functionality that the full system should have is:

Scope

The scope for the project’s MVP will include:

Quality Attributes

Overview

The three chosen quality attributes deemed to be the most important are security, reliability and extensibility. However, it should be noted that the following attributes were also considered but were not ultimately chosen.

Security

Security in the context of quality attributes is a measure of how a software system remains protected from threats, unauthorised access and data breaches.

As ExpenseFlow handles financial data, including receipts, invoices and payments information, the system will be handling sensitive information. There are several laws in place (in Australia) to ensure privacy, security and transparency when handling user data (Privacy Act 1988, Consumer Data Right, etc.). As a result, security is one of the most important attributes of the system.

Testing and measuring of the system’s security can be done through penetration testing (e.g., using ZAP, or intruder), looking at authorisation and authentication success/fail rates and through regular code/security audits.

Reliability

Reliability is a measure of how a system consistently performs its intended function without failures or errors.

Since financial data directly impacts the decisions of both businesses and individuals, even minor data inconsistencies or failures can lead to significant issues for the systems users. Data inconsistencies and/or lost data can cause misreported financials for users.

To assess the system’s reliability, system consistency will be measured using metrics such as error rates. Additionally, the system’s ability to maintain correct functionality under various conditions will be closely monitored and evaluated.

Extensibility

Extensibility is a measure of how easy a system can be modified to add new features, functionalities and integrations without significant change.

This attribute is especially important for ExpenseFlow within a business use-case as often times different businesses have varying cost structures and procedures to manage their expenses. By developing the solution with this key attribute in mind, it can be ensured that the product can be easily extended to support businesses and other third party integrations (noted: this overlaps with interoperability).

Extensibility can be tested by evaluating how easily new features, modules, or integrations can be added without disrupting existing functionality. This can involve performing regression testing using automated test suites, and validating system behaviour with new features. Additionally, testing scenarios that simulate feature flag toggling or version upgrades can help ensure the stability and maintainability of the system.

Evaluation

Overview

For the MVP, the evaluation approach will be scaled to focus on critical aspects while balancing time and resource constraints.

Security

Reliability

Extensibility