Requirement Analysis

Ashraful Islam - 08 May 2017

There are three phases of requirement analysis

Phase One: Requirement Elicitation

For this phase, we need to collect an overview of the requirements from the customer. We arranged meetings with our customer and noted down his requirements. Our customer was Dr. Sandro Schulze. During meetings we used a set of guided questions to gauge the requirements from the customer. Instead of using open questions, we tried to use his past experience using other apps, to get a more convenient series of requirements. For example, instead of asking “What information do you want to store?”, we may have asked “If we were to give you a form with several fields, which fields would you want for an entry?”.

After every meeting we combined our notes in group discussion among the team members and generated a list of requirements and key features. Our customer helped us with the prioritization by dividing each requirement into three categories

Following are some points from these three categories collected during our meeting:

We always validated each requirement by asking questions regarding each requirements until what the customer wanted was clarified.

Phase Two: Requirement Analysis

During this phase, we combined all requirements into a comprehensive list of key points and then checked for any ambiguity, issues, missing information or conflicts with other requirements. In cases where issues previously mentioned occured, we discussed these with customer during next meeting to clarify or together workout alternatives. It is vital to solve any issues before moving onto later stages.

In cases where we suspected wrong or false assumptions, we discussed with the customer to iron out any outstanding issues. For example, after our first meeting, one of our member noted that we may need to support all android versions from Android 2.2 till latest. This however stood out as our notes did not agree on this and other team members reported that this topic did not come up during meeting, but if this is required we must clarify that this will involve more complexity by introducing technical limitations and extending required implementation time. Hence we discussed with our customer during next meeting, when he reported that this is not necessary as his requirement is only support from lastest Android API(Nougat/7.x) and one version backward compatibility(Android Marshmallow/6.x).

Phase Three: Requirement Documentation

In this phase, we had a complete comprehensive idea about the requirements and we started splitting each requirement into appropriate usable tasks.

First we split each requirement into user stories.

User Stories

Following are some of the major user-stories derived from our list of requirements:

As a user:

We also made usecase diagrams describing how each user story fits to the overall user interaction. One example of usecase diagram showing where certain options may be available to user is shown below

user case requirements 18360853_1400433093382940_611893004_n 2

we are naming our App conveniently as Money Tracker

main mini

main app