... | ... | @@ -2,11 +2,11 @@ |
|
|
|
|
|
**The Personas**
|
|
|
|
|
|
**TomLowIncome**: is a low income father of a family of 4 who just got a job at a local slaughterhouse making minimum wage and is living paycheque to paycheque and would like to better manage their finances. Tom is moderately tech literate, having previously used Excel, but would like to work with software that is easier to use and more sophisticated.
|
|
|
**TomLowIncome**: is a low income father of a family of 4 who just got a job at a local slaughterhouse making minimum wage and is living paycheque to paycheque and would like to better manage their finances. TomLowIncome is moderately tech literate, having previously used Excel, but would like to work with software that is easier to use and more sophisticated.
|
|
|
|
|
|
**MaryShopaholic**: is a 27 year old single middle class shopaholic that makes enough money to live comfortably, but enjoys spending money on her various hobbies, which has made paying rent difficult on occasion. She has tried to set budgets before using physical paper copies of her receipts but with how much time it took she quickly gave up. Mary Shopoholic is a visual learner. She is moderately tech savvy as she has a middle management job at a local potash mining company and is comfortable using applications like Excel and Word.
|
|
|
**MaryShopaholic**: is a 27 year old single middle class shopaholic that makes enough money to live comfortably, but enjoys spending money on her various hobbies, which has made paying rent difficult on occasion. She has tried to set budgets before using physical paper copies of her receipts but with how much time it took she quickly gave up. MaryShopaholic is a visual learner. She is moderately tech savvy as she has a middle management job at a local potash mining company and is comfortable using applications like Excel and Word.
|
|
|
|
|
|
**DaveBossBusiness**: is the boss of a small business called Blossom's Lawn Care, that he started 2 years ago.DaveBossBusiness is 26 and has a degree in marketing. He is moderately knowledgeable in technology. DaveBossBusiness works seven days a week and lives with his girlfriend, Alice who is the manager at a local tire shop and only has a high school degree. DaveBossBusiness has always had problems with losing his business receipts.
|
|
|
**DaveBossBusiness**: is the boss of a small business called Blossom's Lawn Care, that he started 2 years ago. DaveBossBusiness is 26 and has a degree in marketing. He is moderately knowledgeable in technology. DaveBossBusiness works seven days a week and lives with his girlfriend, Alice who is the manager at a local tire shop and only has a high school degree. DaveBossBusiness has always had problems with losing his business receipts.
|
|
|
|
|
|
**SallyStudent**: is a 20 year old university student who moved from a small town to attend university. SallyStudent’s parents aren’t exactly well off, so between student loans and only working part time, she has a very tight budget. Being a university student however, means that SallyStudent needs to be able to be able to blow off some steam every once in a while. She needs a way to track and manage her limited budget, but like most students today, can’t be bothered with anything other than an app. SallyStudent is quite proficient with technology, having grown up in the age of computers and smartphones.
|
|
|
|
... | ... | @@ -14,110 +14,101 @@ |
|
|
|
|
|
As DaveBossBusiness, I want to be able to enter my receipts manually so I know all of the information is correct.
|
|
|
|
|
|
As DaveBossBusinessBossBusiness and Sally, I want to be able to scan my receipts so that the information from the receipts is easily put into the database
|
|
|
As DaveBossBusiness and SallyStudent, I want to be able to scan my receipts so that the information from the receipts is easily put into the database
|
|
|
|
|
|
As Sally, I would like to be able to categorize my receipts so that the information is easier to find.
|
|
|
As SallyStudent, I would like to be able to categorize my receipts so that the information is easier to find.
|
|
|
|
|
|
As Tom, I would like to serialize the data so that I can close the program and reopen it later.
|
|
|
As TomLowIncome, I would like to serialize the data so that I can close the program and reopen it later.
|
|
|
|
|
|
As Mary, I would like to see my spending visually in a way that’s intuitive and makes sense so that I can intuitively know what I overspent on.
|
|
|
As MaryShopaholic, I would like to see my spending visually in a way that’s intuitive and makes sense so that I can intuitively know what I overspent on.
|
|
|
|
|
|
**User Stories**
|
|
|
|
|
|
**For Tom**
|
|
|
**For TomLowIncome**
|
|
|
|
|
|
|
|
|
|
|
|
* As Tom, I want to be able to share my spending with my wife so we can both see our household spending.
|
|
|
* As Tom, I want be able to save the items I have input into the system so I can see them at a later date.
|
|
|
* As Tom, I want to set constraints on my budget based on tag/category so that i don’t overspend on unnecessary items.
|
|
|
* As TomLowIncome, I want to be able to share my spending with my wife so we can both see our household spending.
|
|
|
* As TomLowIncome, I want be able to save the items I have input into the system so I can see them at a later date.
|
|
|
* As TomLowIncome, I want to set constraints on my budget based on tag/category so that I don’t overspend on unnecessary items.
|
|
|
* E.G. $20/month allotted for entertainment
|
|
|
|
|
|
**For DaveBossBusiness**
|
|
|
|
|
|
|
|
|
|
|
|
* As DaveBossBusiness, I want to be able to manually enter the price so that I know the cost is right.
|
|
|
* As DaveBossBusiness, I would like to manually input the tax amount so that the total amount from that receipts taxed the proper amount.
|
|
|
* As DaveBossBusiness, I want to be able to categorize business purchases so that it is easier to know when I purchased what where.
|
|
|
* As Sally and DaveBossBusiness, they don’t have a lot of time/I’d like to save time and would like to be able to scan receipts and have all the information automatically captured to save me time.
|
|
|
* As DaveBossBusiness, I want to be able to categorize business purchases so that it is easier to know what I purchased, and when and where I purchased it from.
|
|
|
* As SallyStudentand DaveBossBusiness, they don’t have a lot of time/I’d like to save time and would like to be able to scan receipts and have all the information automatically captured to save me time.
|
|
|
* As DaveBossBusiness, I capture a lot of receipts for my business and I don’t want to have all my storage space occupied by pictures.
|
|
|
|
|
|
**For Mary**
|
|
|
|
|
|
|
|
|
**For MaryShopaholic**
|
|
|
|
|
|
* As Mary, I would like to be able to create my own personal categories so I can track my spending for each of my hobbies.
|
|
|
* As Mary, I want to see my spending visually in different graphs so that I know what I overspend on.
|
|
|
* As MaryShopaholic, I would like to be able to create my own personal categories so I can track my spending for each of my hobbies.
|
|
|
* As MaryShopaholic, I want to see my spending visually in different graphs so that I know what I overspend on.
|
|
|
|
|
|
**For Sally**
|
|
|
|
|
|
|
|
|
|
|
|
* As Sally, I want to be able to save a picture of her receipt so I can get the textbook code for later.
|
|
|
* As Sally, I’d like to be able to search my purchases by tag/category so that I can see _how_ I spend my money.
|
|
|
* As Sally, I’d like to be able to search my purchases by company/business name so that I can see_ where_ I spend my money.
|
|
|
* As Sally, I can set time-framed budget goals for myself so that I can better plan my finances
|
|
|
* As SallyStudent, I want to be able to save a picture of her receipt so I can get the textbook code for later.
|
|
|
* As SallyStudent, I’d like to be able to search my purchases by tag/category so that I can see _how_ I spend my money.
|
|
|
* As SallyStudent, I’d like to be able to search my purchases by company/business name so that I can see _where_ I spend my money.
|
|
|
* As SallyStudent, I can set time-framed budget goals for myself so that I can better plan my finances
|
|
|
|
|
|
**Acceptance Test**
|
|
|
|
|
|
|
|
|
|
|
|
1. User Story: As Sally, I can set time-framed budget goals for myself so that I can better plan my finances
|
|
|
1. User Story: As SallyStudent, I can set time-framed budget goals for myself so that I can better plan my finances
|
|
|
* Tests:
|
|
|
1. Set budget of 0 and make a purchase
|
|
|
2. Set budget of 1,000,000 and make a purchase
|
|
|
3. Set weekly budget of 1 and go over-budget
|
|
|
4. Set weekly budget of 1000 and go under-budget
|
|
|
|
|
|
|
|
|
1. Set budget of 0 and make a purchase shows you're over budget
|
|
|
2. Set budget of 1,000,000 and make a small purchase you're under budget
|
|
|
3. Set weekly budget of 1 and go over-budget shows you're over budget
|
|
|
4. Set weekly budget of 1000 and go under-budget shows you're under budget
|
|
|
|
|
|
2. User Story: As Sally, I’d like to be able to search my purchases by tag/category so that I can see _what_ I spent my money on
|
|
|
2. User Story: As SallyStudent, I’d like to be able to search my purchases by tag/category so that I can see _what_ I spent my money on
|
|
|
* Tests:
|
|
|
5. Search for tag that exists
|
|
|
6. Search for a tag that doesn’t exist
|
|
|
7. Search for an empty string
|
|
|
8. Search for a very long string
|
|
|
9. Search for a special character
|
|
|
3. As Mary, I would like to be able to create my own personal categories so I can track my spending for each of my hobbies.
|
|
|
1. Searching for tag that exists works correctly
|
|
|
2. Searching for a tag that doesn’t exist fails gracefully
|
|
|
3. Searching for an empty string fails gracefully
|
|
|
4. Searching for a very long string works correctly
|
|
|
5. Searching for a special character works correctly
|
|
|
|
|
|
3. User Story: As MaryShopaholic, I would like to be able to create my own personal categories so I can track my spending for each of my hobbies.
|
|
|
* Tests:
|
|
|
10. Test that a new category is created
|
|
|
11. Test that a new category is selectable
|
|
|
12. Test that a new category is saveable
|
|
|
4. User Story: As Sally and DaveBossBusiness, I don’t have a lot of time/I’d like to save time and would like to be able to scan receipts and have all the information automatically captured to save me time.
|
|
|
1. Test that a new category is created
|
|
|
2. Test that a new category is selectable
|
|
|
3. Test that a new category is saveable
|
|
|
|
|
|
4. User Story: As SallyStudent and DaveBossBusiness, I don’t have a lot of time/I’d like to save time and would like to be able to scan receipts and have all the information automatically captured to save me time.
|
|
|
* Tests:
|
|
|
13. Cost is correct more than 90% of the time
|
|
|
14. Date is correct more than 90% of the time
|
|
|
15. Store name is correct more than 90% of the time
|
|
|
1. Cost is correct more than 90% of the time
|
|
|
2. Date is correct more than 90% of the time
|
|
|
3. Store name is correct more than 90% of the time
|
|
|
|
|
|
5. User Story: As DaveBossBusiness, I want be able to save the items I have input into the system so I can see them at a later date.
|
|
|
* Tests:
|
|
|
16. Test if data is written to database
|
|
|
17. Test if data is readable from database
|
|
|
18. Test if written data is readable from database
|
|
|
6. User Story: As DaveBossBusiness, I want to be able to manually enter the price so that I know the cost is right.
|
|
|
1. Test if data is correctly written to database
|
|
|
2. Test if data is correctly read from the database
|
|
|
3. Test if written data is readable from database
|
|
|
|
|
|
6. User Story: As DaveBossBusiness, I want to be able to manually enter information so that I know the cost is right.
|
|
|
* Tests:
|
|
|
19. Data is saved correctly
|
|
|
20. Data is only numbers
|
|
|
21. Data is numbers and letters
|
|
|
22. Data is only letters
|
|
|
23. Data is special characters
|
|
|
7. As Mary, I want to see my spending visually in different graphs so that I know what I overspend on.
|
|
|
1. Data is saved correctly
|
|
|
2. Data is only numbers for the numeric entries
|
|
|
3. Data is all allowable characters for string entries
|
|
|
|
|
|
7. User Story: As MaryShopaholic, I want to see my spending visually in different graphs so that I know what I overspend on.
|
|
|
* Tests:
|
|
|
24. Graph output is correct
|
|
|
25. Pretty
|
|
|
8. As SallyStudent I want to be able to save a picture of her receipt so I can get the textbook code for later.
|
|
|
* Test saving a picture:
|
|
|
26. JPEG
|
|
|
27. PNG
|
|
|
* Test that file path saved correctly
|
|
|
* Test non-images
|
|
|
28. TXT
|
|
|
29. DOC(X)
|
|
|
30. PDF
|
|
|
1. Graph output is correct
|
|
|
2. Graph is visually appealing
|
|
|
|
|
|
8. User Story: As SallyStudent, I want to be able to save a picture of her receipt so I can get the textbook code for later.
|
|
|
* 1. Test saving picture works correctly with the formats:
|
|
|
- JPEG
|
|
|
- PNG
|
|
|
2. Test that file path saved correctly
|
|
|
* 3. Test non-images fail gracefully
|
|
|
- TXT
|
|
|
- DOC(X)
|
|
|
- PDF
|
|
|
|
|
|
**Story Points**
|
|
|
|
|
|
|
|
|
<table>
|
|
|
<tr>
|
|
|
<td><strong>#</strong>
|
... | ... | @@ -146,7 +137,7 @@ As Mary, I would like to see my spending visually in a way that’s intuitive an |
|
|
<tr>
|
|
|
<td>3
|
|
|
</td>
|
|
|
<td>As Mary, I would like to be able to create my own personal categories so I can track my spending for each of my hobbies.
|
|
|
<td>As MaryShopaholic, I would like to be able to create my own personal categories so I can track my spending for each of my hobbies.
|
|
|
</td>
|
|
|
<td>2
|
|
|
</td>
|
... | ... | @@ -178,7 +169,7 @@ As Mary, I would like to see my spending visually in a way that’s intuitive an |
|
|
<tr>
|
|
|
<td>7
|
|
|
</td>
|
|
|
<td>As Mary, I want to see my spending visually in different graphs so that I know what I overspend on.
|
|
|
<td>As MaryShopaholic, I want to see my spending visually in different graphs so that I know what I overspend on.
|
|
|
</td>
|
|
|
<td>3
|
|
|
</td>
|
... | ... | @@ -186,7 +177,7 @@ As Mary, I would like to see my spending visually in a way that’s intuitive an |
|
|
<tr>
|
|
|
<td>8
|
|
|
</td>
|
|
|
<td>As SallyStudent I want to be able to save a picture of my receipt so I can get the textbook code for later.
|
|
|
<td>As SallyStudent, I want to be able to save a picture of my receipt so I can get my textbook code for later.
|
|
|
</td>
|
|
|
<td>2
|
|
|
</td>
|
... | ... | @@ -198,8 +189,6 @@ As Mary, I would like to see my spending visually in a way that’s intuitive an |
|
|
|
|
|
This Milestone:
|
|
|
|
|
|
|
|
|
|
|
|
* As a group
|
|
|
* User roles, story points
|
|
|
* Jorgen
|
... | ... | @@ -207,7 +196,7 @@ This Milestone: |
|
|
* Saving picture / Saving receipt data / creating categories for hobbies user stories
|
|
|
* Acceptance cases respectively.
|
|
|
* Jeremie
|
|
|
* MaryShopoholic persona
|
|
|
* MaryShopaholic persona
|
|
|
* Storing data user stories
|
|
|
* Proofreading document
|
|
|
* Michael
|
... | ... | @@ -222,14 +211,14 @@ This Milestone: |
|
|
|
|
|
Next Milestone:
|
|
|
|
|
|
|
|
|
|
|
|
* As a group
|
|
|
* Define the domain model (e.g. class diagram)
|
|
|
* Database schema and glossary/data dictionary.
|
|
|
* Submit a prioritized product backlog
|
|
|
* Jorgen & Jeremie (Back-end)
|
|
|
* Specify choice of technology
|
|
|
* NodeJs
|
|
|
* SQLite
|
|
|
* Michael & Lucas (Front-end)
|
|
|
* Specify choice of technology:
|
|
|
* HTML, CSS, JS, D3.js Electron
|
... | ... | |