User Analysis
"Thrift-ster" User Persona
...
- Super simple user-interface - Should not take more than a few seconds to input a debt or payment of debt
- Approvals - When another person places a debt on Shawn, he wants to be able to approve it so that people do not make up claims for money.
Task Analysis
The PennyPincher application will attempt to perform three main tasks
- Adding people (people who owe you money or you owe money to)
- Add transaction (Users are allowed to say that another person owes them X amount of dollars)
- View all transactions (like a credit-card bill)
1. Adding People
Goal: Allow users to register a two-way connection with people that owe them money.
...
- User establishes a connection with another user and can now add transactions
How often used? - Depending on the user, but should be used fairly infrequently as users usually only incur debt with friends
2. Adding/
...
Approving a transaction
Goal: Allow users to input an amount that a particular person owes them
...
- A transaction will be sent from one party to another.
- Approval message will be displayed to the person who owes money
- Upon approval, net balance between the two parties will be updated
How often used? - This task will be performed very frequently as its the core of PennyPincher
3. Viewing Transactions
Goal: Allow users to have a complete review of all posted transactions. This will emulate what a credit card statement might reflect; providing information about charges applied against a user (other people posting that a user owes) as well as transactions that are credited towards the user (a user claiming that other people owe him/her).
Subtasks:
- Ability to arrange transaction order depending on various parameters including but not limited to:
- type (credit or charge)
- person of transaction origination (who posted the original transaction)
- denomination (the size of the credit or charge)
3. Disputing Transactions
Goal: People make mistakes; when there is a transaction against the user that he/she deems incorrect, it may be disputed. Upon dispute, that transaction will be flagged for in-person or alternative settlement.
Subtasks:
- Set the amount that another user owes them
- Input the name of the transaction (what it was for)
- Send the transaction
- Approve transaction Preconditions:
- The two exchanging parties must have an established connection.
Postconditions:
- A transaction will be sent from one party to another.
- Approval