Requirements Analysis
15 May 2019
Welcome to the second stage of our development for the app SPENDEMON. In this particular blog, we intend to present the requirements which our customer wanted implemented in our app and how we analyzed the requirements into tangible formats so as to implement it in our App.
Overview:
The main stages for the Requirement Analysis includes:
-
Drafting the initial Requirements questionnaire.
-
Gathering and Analyzing the requirements from the customer.
-
Creation of User stories.
-
Mapping the user stories into various diagrams.
1. Drafting the initial Requirements questionnaire:
We did a thorough research on the available apps in the market and brain stormed new ideas which were doable for us as well as which would give the App an X-factor. With this information we came up with the questionnaire below for our team meetings with the customer:
-
Do you need the option for automated expenses and incomes/Salaries?
-
Should we consider loan and instalment in the app? And interest rate.
-
Should we have a coin counting page?
-
Do you need a summary for your financial status and history? If so monthly?
-
Do you need your history as graph?
-
Do you need to show different time durations for the first page: daily weekly monthly yearly?
-
Should it be offline or online? Or both?
-
Should it have a password? Whole thing or just some parts?
-
Do you want add categories for your expenses (predefined categories and an option to add extra categories)?
-
Do you think it is a good idea to have color coded expenses? Or just two colors for income and expense?
-
What do you want to see in your first page? (Short summary of your balance, The fake page for security concerns and also tricking others, Options menu or customized)
-
Do you need money suggestions (you need to spend less this month or you can relax this week)?
-
Do you want to be able to change the font, add and remove options?
-
Do you need to have different currencies? Conversion?
-
Do you need the carry over option?
-
Should be a collaboration between any other app and this app? Also connection to email or phone number?
-
Do you need to have fiscal date end? (calendar, monthly, yearly)
-
Do you need to share your data through internet? Or share specific thing?
-
Do you want the app to be connected to others? Or at least some part of it? As in sharing a common expense?
-
Do you need to connect it to your credit card, Bank card or etc.? //
-
Do you need a schedule with deadlines added to the app?
-
Do you want everything related to one person to be in a separate account meaning that if you have an account or few money accounts and repositories you will make an account in the app and add all there? So multiple accounts for multiple purposes. Or you need to be able to add as many money sources in on account in separately?
-
Do you need options for people depending on you? Family members, shared expenses and so on. This will be a constant part of your account and different from category?
-
Do you need subscription for news outlets related to business?
-
Do you need a link to local stock market, or a live feed for certain stocks?
-
Are you interested in the night mode day mode or more customized color and font changes?
-
Do you need different currencies to be adjusted based their current value?
-
Do you want to rate your or connected accounts based on their performance?
-
Do you need to have an online account to synchronize (drop box, google drive)?
-
A backup options?
-
Local or global repository?
-
Reminder for something that you don’t have time to put down right now/ Fast mode
2. Gathering and Analysing the requirements from the customer.
The meeting for our requirement analysis took place on the 20/04/2019, where we decided on the questions and requirements that we want to suggest to the customer for the next meeting. Based on the meetings with our customer, we could now finalize on our User stories and decided to divide the requirements based on the stages of the App development as follows:
-
Prototype Model Requirements:
-
Login page.
-
Summary page.
-
Edit Expenses/Incomes page.
-
Save option.
-
-
Advanced Prototype Model Requirements:
-
Categorical Display of Expenses and Incomes.
-
In-built Calculator.
-
Delete Option.
-
Sorted Summary.
-
Option to add tailor-made categories.
-
Basic Carryover Option.
-
-
Beta Model Requirements:
-
Notification
-
Settings Option.
-
Goals page.
-
Notifications.
-
-
Things to experiment with:
-
Color-coded Display Option.
-
Coin Counting page.
-
Backup Option.
-
Automate Expenses/Incomes.
-
3. Creation of User stories:
Based on the requirement analysis we were able to design the following User-stories which we validated in the next team meeting with the customer:
-
As a user, I want to add my expenses and incomes quickly and assign it to a category (sub category)
-
As a user, I want to see my expenses and incomes sorted by date, category, amount, source and etc.
-
As a user, I want to see my usual expenses away from unexpected (one time) transitions
-
As a student, I want to maintain my budget and if I go over a certain amount before a certain deadline, I need an alarm.
-
As a user with bad memory, I want to save my location (or picture of my receipt or something else) when I have no time to type in these things.
-
As a busy user, I need a notepad to quickly write down my usual shopping list and have an estimate based on my previously saved data.
-
As a user, I want to save my frequently bought items with their details and prices for later.
-
As a user, I want to set aside a certain amount every month to buy an expensive thing and I want to know how close I am to buy that thing.
-
As a user, I want to do simple calculations within the app (sum, multiple, interest rates, tax and etc.)
-
As a user, I want to explore different strategies and options and see how it will effect my finances in long term. (buying a car, house or …)
-
As a user, I need to put password, finger print or other security measures for the app for easier access.
-
As a user, I need to keep all my financial transactions in one place with easy access
4. Mapping the user stories into Use-Case diagrams:
After validation of the User stories, we needed to map the requirements into the Use-Case Diagrams with the valid interactions and activities. A snapshot of our design is given below:

Final Thoughts:
Going through this entire process of dealing with customer demands and mapping them to a Use-Case diagram was both testing and educational. Although we struggled initially with categorizing the requirements based on priorities, but once that was done, it gave us a clear idea about the direction which we need to take.
This blog is still in the User level of the development stage. For the next blog, we shall dive into the details of the implementation procedure with Class Diagrams and Activity Diagrams.
See you soon!! Tschüss!!