1- Use case Diagram
Here is the initial draft, illustrated as a use case model for the following discription we got from customer in initial stage.
"Spending money is easy, taking control over it is most of the times a challenge. This App should be designed and implemented to help with the latter. It should allow users to (manually) specify what they spent their money for. Given some income (that can be specified as well), it allows you at any time to double-check whether your money is in balance or not. Moreover, maintaining a history of your inputs allows to observe how your behavior has changed, which is especially useful to get rid of imbalances. Also, some statistics should be show virtually to the user."
Use cases overview
1.1 Register
Use Case Name |
Register |
Description |
User should register for the first time and requires to select level of security in initial stage as if want to protect app using password/pin |
Pre-conditions |
User identification information being filled |
Flow of Events |
User opens app, fill name L/name date of birth, currency and optional password, click signup button, app send synchronized message to database, leads to initial stage page to fill transactions |
Post-conditions |
initial stage page to fill transactions will appear |
Exit Criteria |
In case of successful transaction to database will lead user to initial stage for filling data
In case of aborted transaction to database, user will be redirected to register page
|
1.2 Login
Use Case Name |
Register |
Description |
If in case no password being assigned, user can use app just by clicking on app And if app protected using password/pin user need to fill password while username will be remained in cache and by clicking signin button synchronized message will be sent to database and act accordingly |
Pre-conditions |
Secure authentication type being selected Correct username & password |
Flow of Events |
User opens app, fill password/pin and username if delated from cache, click login button, app send synchronized message to database, access will be granted based on database response |
Post-conditions |
Authentication succeed |
Exit Criteria |
call logout |
1.3 Filling Data
Use Case Name |
Register |
Description |
details of daily transactions including both expenses and incomes with date and time tags and an optional comment are going to be filled in this page of applicatin and need to be stored locally and if connected to internet should synchronize with database. The key pad and keyboard should be used where required in oder to be moreuser friendly and minimize typing error. in addition it should provide a check button to make automatic transaction with repeatatively on daiy/weekly/monthly. |
Pre-conditions |
clicking on new transaction button and filling all details while comment section need to be optionally filled |
Flow of Events |
clicking on new transaction, filling details, clicking finish button |
Post-conditions |
all details should be filled and comment is optional |
Exit Criteria |
clicking on finish button |
1.4 Automated Transactions
Use Case Name |
Register |
Description |
In order to help user not to forget some repeatative transactions, there will be a checkbox to be selected and daily/weekly/monthly or user defined based on number of days for transactions. |
Pre-conditions |
All details of the page should be filled (comment is optional). |
Flow of Events |
After filling details of transaction and before clicking add button, there will be a checkbox to be selected if in case it is repeatative transaction. by selecting this checkbox, additional part of form will become visible like daily/weekly/monthly or user specified number of days to be filled and finally should click finish button |
Post-conditions |
all details should be filled and comment is optional |
Exit Criteria |
clicking on finish button |
1.5 View Transactions
Use Case Name |
Register |
Description |
User should be able to view transactions log history. a tabulated history and some graphical representation like balance and expenses categories need to be shown on main page |
Pre-conditions |
One or more transactions should have been filled otherwise a blank page with the comment "No transactions found. Please add new Transaction." need to be represented |
Flow of Events |
After sign in user will be directed to this page and an "add new transaction" option will be there. |
Post-conditions |
xxxx |
Exit Criteria |
Clicking on exit button to exit from app or adding new transactions to direct to new page |