Code Pros Basic Prototype

UsecaseDiagram

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
Class Diagram

2- Class Diagram

This is the initial draft of class diagram which represent the basic requiremtents regardless of GUI relevant classes and additional libraries. The most complete one will be provided later.

Class Diagram overview

2.1 User

Class Name Details
Description xxxx
Pre-conditions Operation1:
Pre-conditions Operation2:
Post-conditions Operation1:
Post-conditions Operation2:


2.2 Transactions

Class Name Details
Description xxxx
Pre-conditions Operation1:
Pre-conditions Operation2:
Post-conditions Operation1:
Post-conditions Operation2:


2.3 Database

Class Name Details
Description xxxx
Pre-conditions Operation1:
Pre-conditions Operation2:
Post-conditions Operation1:
Post-conditions Operation2:
activitydiagram

3- First Activity Diagram

Overview of Activity Digaram

In this scenario user opens the application and application in response asks user to fill user name and password in order to login. After filling username and password, application will verify it and in case of false, it will be redirected to login page to fill the username and password again. And if in case it was true, application will direct the user to a new page which the user can view recent transactions and add new transaction if he/she want. User Can view Statistical charts and transactions log and can add new transactions which the application in response will store it in database.

activity2diagram

3- Second Activity Diagram

Overview of Activity Digaram

In Here , the user opens the app and is greeted by a login page which asks him either login if he is already a member or register if he is new .The next screen asks the user to input the currency of his choice .Following this , he/she is taken to the transactions page which dispalys all the previous transactions and balance .It will be blank if the person is a new user.He/She can click the + button to add new transactions by providing details such as Trasaction type ,date,amount etc which gets reflected in the previous transactions page when the changes gets committed .In the Trasactions page , he/she can also click the settings icon to change currency,password or logout from the app itself.