You are on page 1of 176

COMSATS University, Islamabad Pakistan

Game Based Dyslexia and ADHD Diagnosis using ML.


By

Shazif Rizwan CIIT/SP19-BSE-105/ISB


Daniyal Haider CIIT/SP19-BSE-025/ISB

Supervisor
Ms. Gulmina Rextina

Co-Supervisor
Prof. Dr. Sohail Asghar

Bachelor of Science in Software Engineering (2019-2023)

The candidate confirms that the work submitted is their own and appropriate
credit has been given where reference has been made to the work of others.

1
COMSATS University, Islamabad Pakistan

Game Based Dyslexia and ADHD Diagnosis using ML

A project presented to
COMSATS University, Islamabad

In partial fulfillment
of the requirement for the degree of

Bachelor of Science in Software Engineering (2019-2023)

By

Shazif Rizwan CIIT/SP19-BSE-105/ISB


Daniyal Haider CIIT/SP19-BSE-025/ISB

2
DECLARATION
We hereby declare that this software, neither whole nor as a part has been copied out from any
source. It is further declared that we have developed this software and accompanied report
entirely on the basis of our personal efforts. If any part of this project is proved to be copied out
from any source or found to be reproduction of some other, we will stand by the consequences.
No Portion of the work presented has been submitted of any application for any other degree or
qualification of this or any other university or institute of learning.

Shazif Rizwan Daniyal Haider

--------------------------- ---------------------------

3
CERTIFICATE OF APPROVAL
It is to certify that the final year project of BS (SE) “Game Based Dyslexia and ADHD
Diagnosis using ML” was developed by Shazif Rizwan CIIT/SP19-BSE-105/ISB and Daniyal
Haider CIIT/SP19-BSE-025/ISB under the supervision of “Ms. Gulmina Rextina” and co
supervisor “Prof. Dr. Sohail Asghar” and that in his opinion; it is fully adequate, in scope and
quality for the degree of Bachelors of Science in Software Engineering.

---------------------------------------
Supervisor

---------------------------------------
External Examiner

---------------------------------------
Head of Department
(Department of Computer Science)

4
Executive Summary
Traditionally dyslexia are diagnosed using lengthy assessment and require the presence of an
expert. These assessments can be expensive and may for some people it would be difficult to
approach them. Adolescent dyslexia in children, such as five-year-old’s who can't quite learn
their letters, develops into a six-year-old who can't match sounds to letters. By the age of 11, the
kid who would rather hide in the bathroom than read aloud in class. The excruciatingly slow
reading makes it nearly impossible for them to complete important tests in the allotted time at the
age of 18, potentially jeopardizing their college and career prospects. Dyslexia and ADHD
frequently coexist. Untreated ADHD can impose a significant psychological, financial,
academic, and social burden on the individual and the community, emphasizing the importance
of properly diagnosing and treating the disorder.

Our proposed solution will facilitate users get an early and accessible diagnosis for dyslexia and
ADHD at home. This application will help avoid the stigma surrounding the diagnosis of either
of these conditions such as ADHD can seem like a person is not trying hard enough. The
application will help to provide an initial diagnosis of dyslexia especially in young children as
symptoms are not easily recognizable at this age. The application will capture dynamic reading
characteristics such as reaction speed, reading time, and so on. The application will diagnose the
severity of dyslexia and will be able to tell the dominant ADHD factor such as attention-deficit
or hyper-active.

Our app is to facilitate users get a quick and early diagnosis for dyslexia along with ADHD as an
early identification of these disorders is critical to the containment of these disorders. Our
proposed game-based diagnosis system will effectively diagnose dyslexia, dyscalculia and
ADHD especially focusing on children

5
Acknowledgement
All praise is to Almighty Allah who bestowed upon us a minute portion of His boundless
knowledge by virtue of which we were able to accomplish this challenging task.

We are greatly indebted to our project supervisor “Ms. Gulmina Rextina” and our Co-Supervisor
“Prof. Dr. Sohail Asghar”. Without their personal supervision, advice and valuable guidance,
completion of this project would have been doubtful. We are grateful to them for their
encouragement and continual help during this work.

And we are also thankful to our parents and family who have been a constant source of
encouragement for us and brought us with the values of honesty & hard work.

Shazif Rizwan Daniyal Haider

--------------------------- ---------------------------

6
Abbreviations

SRS Software Requirements Specification


SDD Software Design Description
FR Functional Requirements
NFR Non-Functional Requirements
JS Javascript
ML Machine Learning
BS Bachelor of Science
OOP Object Oriented Programming
TC Test Case
UC Use Case
API Application Programming Interface
UI User Interface

7
Table of Contents
Contents
1 Introduction............................................................................................................................11

1.1 Vision Statement..........................................................................................................................11


1.2 Related System Analysis/Literature Review................................................................................11
1.3 Project Deliverables.....................................................................................................................12
1.4 System Limitations/Constraints...................................................................................................12
1.5 Tools and Technologies...............................................................................................................12
1.6 Relevance to Course Modules......................................................................................................13
2 Problem Definition................................................................................................................14

2.1 Problem Statement.......................................................................................................................14


2.2 Problem Solution..........................................................................................................................14
2.3 Objectives of the Proposed System..............................................................................................15
2.4 Scope............................................................................................................................................15
2.5 Modules........................................................................................................................................15
3 Requirement Analysis............................................................................................................17

3.1 User classes and characteristics...................................................................................................17


3.2 Requirement Identifying Technique............................................................................................18
3.2 Detailed Use Case:.......................................................................................................................24
3.3 Functional Requirements.............................................................................................................43
3.4 Non-Functional Requirements.....................................................................................................98
3.5 External Interface Requirements..................................................................................................99
4 Design and Architecture......................................................................................................100

4.1 Architectural Design..................................................................................................................100


4.2 Design Models...........................................................................................................................101
4.3 Data Design................................................................................................................................118
4.4 Human Interface Design............................................................................................................121
5 Implementation....................................................................................................................126

5.1 Algorithm...................................................................................................................................126
5.2 External APIs/SDKs..................................................................................................................130
6. Testing and Evaluation........................................................................................................130

6.1 Unit Testing.....................................................................................................................................130


6.2 Functional Testing...........................................................................................................................150
6.3 Business Rules Testing...................................................................................................................164
6.4 Integration Testing..........................................................................................................................165
7. Conclusion and Future Work...............................................................................................171

7.1 Conclusion.................................................................................................................................171
7.2 Future Work...............................................................................................................................171

8
8. References............................................................................................................................172

9
List of Figures
Figure 1 Admin Panel Use Case....................................................................................................18
Figure 2 User Profile Management Usecase.................................................................................19
Figure 3 Reports and Suggestion Usecase Diagram......................................................................20
Figure 4 Use case diagram for main interface...............................................................................21
Figure 5 Usecase diagram for Dyslexia game...............................................................................22
Figure 6 Use Case diagram for Dyscalculia Game........................................................................23
Figure 7 Usecase diagram for ADHD...........................................................................................24
Figure 8 : Client-Server Architecture Diagram...........................................................................100
Figure 9 Activity Diagram Profile Management.........................................................................101
Figure 10 Activity Diagram Patient History Record...................................................................102
Figure 11 Activity Diagram Dyslexia Game: Preschool.............................................................103
Figure 12 Activity Diagram Dyslexia Game: Learners...............................................................104
Figure 13 Activity Diagram Dyslexia Game: Elementary..........................................................105
Figure 14 Activity Diagram of Dyscalculia Game: Preschool....................................................106
Figure 15 Activity Diagram of Dyscalculia Game: Learners......................................................107
Figure 16 Activity Diagram of Dyscalculia Game: Elementary.................................................108
Figure 17 Activity Diagram of ADHD Game............................................................................109
Figure 18 Class Diagram.............................................................................................................110
Figure 11 Sequence diagram: Profile Management.....................................................................111
Figure 12 Sequence diagram: Dyslexia Preschool......................................................................112
Figure 13 Sequence diagram: Dyslexia Learner..........................................................................113
Figure 14 Sequence diagram: Dyslexia Elementary....................................................................114
Figure 15 Sequence Diagram: Dyscalculia preschool.................................................................115
Figure 16 Sequence diagram: Dyscalculia Learners...................................................................116
Figure 17 Sequence diagram: Dyscalculia Elementary..............................................................117

10
1 Introduction
Dyslexia and ADHD are two distinct types of mental disorders. However, they often co-exist.
ADHD (attention deficit hyperactivity disorder) also known as (ADHD) is one of the most
prevalent neurodevelopmental disorders. ADHD is recognized by symptoms of inattention,
impulsivity, and hyperactivity, which can have a negative impact on behavioral, emotional, and
social aspects of life. Approximately 80% of children with ADHD have symptoms that last into
adolescence and may continue into adulthood.
Dyslexia is a brain induced specific learning disability (LD). It impairs a person's language
ability, making learning to read, spell, decode, and recognize words difficult. As a result,
compared to other children of the same age who do not have dyslexia, reading comprehension,
vocabulary, and general knowledge are reduced.
Dyslexic children frequently experience negative emotions such as low self-esteem, frustration,
and anger. About one in every ten people who have dyslexia also have ADHD. Furthermore, if
you have ADHD, you are six times the more likely than general population to have a mental
illness or a learning disorder such as dyslexia. Therefore, early detection of dyslexia and ADHD
is critical in order to support dyslexic children from the start. Early intervention can have a huge
impact in overcoming the difficulties associated with dyslexia.

1.1 Vision Statement


For children and adults who suffer from symptoms of ADHD and dyslexia and are unable to seek
diagnosis because the current clinical based method is time taking and inconvenient. The Game
Based Dyslexia and ADHD Diagnosis using ML is a diagnosis application that uses and
enhanced version of the moxo d-cpt test and dyslexia tests for accurate diagnosis unlike dyscreen
and the moxo tests which lack machine learning analysis of data our product will incorporate
eye-tracking and a machine Learning based model for higher accuracy of results.

1.2 Related System Analysis/Literature Review

Table 1 Related System Analysis with proposed project solution

Application Name Weakness Proposed Project Solution


MOXO d-CPT neurotech
solutions  Lacks eye tracking  It incorporates eye tracking
diagnosis functionality. functionality for better
diagnosis

 Lacks machine Learning


 It uses machine learning
usage.
based prediction model for
higher accuracy of results.
 Lacks Dyslexia

11
diagnosis tests  The system will test for
dyslexia as well as ADHD

 Lacks diagnosis through  It incorporates eye tracking


eye tracking functionality for better
functionality diagnosis.
Dyscreen
 Does not diagnose for  The system will test for
ADHD. dyslexia as well as ADHD.

1.3 Project Deliverables


Deliverables:
 Scope
 SRS
 SDD
 Final Report
 Demonstration videos

1.4 System Limitations/Constraints

The primary purpose of the game is to collect sufficient data for diagnosis, user won’t
LI-1
find it entertaining.
LI-2 The game needs to be completed to provide correct diagnosis
LI-3 Lack of availability of data sets for our system will limits its accuracy.
The system requires a high-resolution camera for eye tracking functionality to be
LI-4
effective.

1.5 Tools and Technologies

Table 2 Tools and Technologies for Proposed Project

Tools Version Rationale

Visual Studio Code 2021 IDE


Tools Preprocessing and
Google Co-lab Basic
And Training
Technologies Android Emulator 12.0 Emulator

12
Flask Basic API Deployment
MS Word 2019 Documentation
MS PowerPoint 2019 Presentation
Mockups Creation,
Figma 9.5.5
Design and UI work
GitHub - Work Collaboration Tool
Technology Version Rationale
Python 3.10 Programming language

Sklearn 0.23 Python Library


SQL 2013 Query Language
JavaScript 2019 Programming Language
Flutter 0.66 Front End SDK
Git 2.22.0 Version Control System
Firebase Database

1.6 Relevance to Course Modules


This project is a result of courses we have studied throughout our degree like HCI for UI and
game development, Software design architecture for architecture and design of the system,
Artificial Intelligence for implementation of accurate algorithm, software testing to test our
modules and project management to effectively manage our FYP. Software requirement
engineering was helpful for the documentation of our project.

13
2 Problem Definition

2.1 Problem Statement


Traditionally dyslexia are diagnosed using lengthy assessment and require the presence of an
expert. These assessments can be expensive and may for some people it would be difficult to
approach them. With the advancement of technology and availability of smart devices has
created many opportunities one of which is medical applications for providing information and
checkups which were not accessible for everybody in the past. This technology is applicable in
aiding the diagnosis for mental disorders such as Dyslexia which is a learning disability in which
people struggle to learn to read despite being intelligent and motivated to do so. Adolescent
dyslexia in children, such as five-year-old’s who can't quite learn their letters, develops into a
six-year-old who can't match sounds to letters. By the age of 11, the kid who would rather hide
in the bathroom than read aloud in class. The excruciatingly slow reading makes it nearly
impossible for them to complete important tests in the allotted time at the age of 18, potentially
jeopardizing their college and career prospects. Dyslexia and ADHD frequently coexist.
Untreated ADHD can impose a significant psychological, financial, academic, and social burden
on the individual and the community, emphasizing the importance of properly diagnosing and
treating the disorder. While treatment has not been shown to completely "normalize" the
developmental trajectory of individuals with ADHD, those who do not receive treatment have
worse long-term outcomes than those who do. A lack of ADHD treatment also impairs social and
occupational functioning and increases the risk of developing comorbid disorders such as
anxiety, antisocial behavior, depression and personality disorders. The threads follow a person
throughout his or her life. However, with early intervention, this scenario is avoidable.

2.2 Problem Solution


Our proposed solution to the problem discussed above, will facilitate users get an early and
accessible diagnosis for dyslexia and ADHD at home. This application will help avoid the stigma
surrounding the diagnosis of either of these conditions such as ADHD can seem like a person is
not trying hard enough. The application will help to provide an initial diagnosis of dyslexia
especially in young children as symptoms are not easily recognizable at this age. The application
will capture dynamic reading characteristics such as reaction speed, reading time, and so on. The
application will diagnose the severity of dyslexia and will be able to tell the dominant ADHD
factor such as attention-deficit or hyper-active. The main advantage of using this application will
be that it uses advanced machine learning techniques for accurate data analysis this provides a
cheaper and faster assessment that can be useful for parents concerned about their child.
Dyslexia is considered to be genetic and often multiple members of the same family may be
affected.
.

14
2.3 Objectives of the Proposed System
BO-1: The ML model will provide a diagnosis accuracy rate of 85%
BO-2: the cost of diagnosis will be reduced by 90%.

2.4 Scope
The primary goal of our project is to facilitate users get a quick and early diagnosis for dyslexia
along with ADHD as an early identification of these disorders is critical to the containment of
these disorders. Our proposed game-based diagnosis system will effectively diagnose dyslexia,
dyscalculia and ADHD especially focusing on children. First the user will be asked to fill out a
health questionnaire regarding the symptoms experienced by the user related to their medical
condition which will be stored in the database for their respective users. The form will start off
with the user’s basic information and progress towards specific symptoms that are commonly
observed in people with dyslexia and ADHD. The user will now have the option to select the
disease he wants to test for he can select any one or all of them. The dyslexia game will test the
users reading, listening, and speaking capabilities. The dyscalculia games test the users’ basic
mathematical capabilities and his percept of numbers and time. The ADHD module will test for
the user’s attentiveness and impulsivity(hyperactivity). The collected data from these tests will
be analyzed using several machine learning algorithms, the one with the highest accuracy will be
selected. The effected user will be advised to contact a specialist to seek treatment.

2.5 Modules

2.5.1 Module 1: Patient History record


In this module the user will be asked to fill out a health questionnaire regarding the symptoms
experienced by the user related to their medical condition. The form will start off with the user’s
basic information such name, age and family history and progress towards specific symptoms
that are commonly observed in people with dyslexia and ADHD. The user will have to select the
degree (none to severe) for each symptom they relate to. This symptom record will be aid us in
creating a patient database to further aid in diagnosis.

FE-1: Record users’ personal information


FE-2: Record the users’ symptoms.
FE-3: Create patient profile and save in database

2.5.2 Module 2: Game development: Dyslexia diagnosis


After completing the form, the user will be taken the Dyslexia diagnosis game which will test the
users motor skills as well as the simple letter recognition and matching shapes to a given shape.

FE-1: Test users motor skills for dyslexia


FE-2: Test the users motor skills using drag and drop tile questions.

15
FE-3: Testing for letter perception by providing inverse letters and a rotate button

2.5.3 Module 3: Game development: Dyscalculia diagnosis


The system will evaluate for dyscalculia by presenting the user with simple mathematical based
queries. As children with dyscalculia have difficulty counting objects or numbers and even
reading time. So, game will present them with several problems like reading time on a clock,
counting objects and basic addition.

FE-1: Test users motor skills for dyscalculia


FE-2: Test the user’s perception of time from a clock.
FE-3: Checking for mathematical anxiety using simple to complex mathematical questions.

2.5.4 Module 4: Game development: ADHD diagnosis


In this module, the user will be evaluated using a dino run game based on the go no go concept
the player has a running avatar which they have to use to avoid different obstacles in their way.
the raccoon must jump over 180 holes that are grouped into 18 blocks. “Each block is identified
by the speed of the raccoon, the length of the trunk, and the width of the hole. The length of the
trunk and the speed of the avatar determine the time between stimuli, which is about 1.5, 2.5, and
3.5 seconds, while the width of the hole determines how difficult it is to jump over,”

 total 180 obstacles in groups of 10.


 Each group separated by speed of player character.

The module will integrate eye tracking functionality to assist in detection of users’
inattentiveness.
FE-1: Engage the user in an 8-stage game.
FE-2: Track users inattentiveness and hyperactivity

2.5.5 Module 5: Reports and Suggestion


The user will be given a detailed report of his diagnosis along with locations of nearby hospitals
and clinics.

FE-1: Detailed report of diagnosis


FE-2: Best doctor recommendation
FE-3: Nearest hospitals and clinics location from google maps.

2.5.6 Module 6: Admin Panel


The admin panel will allow the administrators to manage the content of the game.

FE-1: Add new Questions in dyslexia/dyscalculia game.


FE-2: change stage durations in ADHD

16
FE-3: change distractors in ADHD game
FE-4: Add users.
FE-5: Delete Users

2.5.7 Module 7: User profile Management


In this module, User will be able to manage his/her account profile.

FE-1: Update personal information.


FE-2: change Password
FE-3: Add profile picture.
FE-4: Delete account.

2.5.8 Module 8: Analysis and Prediction


The diagnosis of developmental dyslexia and ADHD is done using machine Learning
Algorithms. First the data is collected from the database after which the data is pre-processed
and and filtered using pre-processing and feature extraction techniques so that it can be used in
the machine learning model.
After the data has been pre-processed, it is used in the training and classification of several
machine learning algorithms like KNN, SVM, Random Forest Classifier, and simple Neural
Network.
The performance of each of these modules will be evaluated using WEKA and pythons-based
tools and the algorithm with the highest accuracy for diagnosis will be selected for future
diagnosis.

FE-1: Pre-processing and feature extraction of data


FE-2: Training and classification of ML algorithms
FE-3: Performance evaluation of each algorithm and selecting the algorithm with highest
accuracy.

3 Requirement Analysis
Provide an introduction to the chapter in a few lines. Write details in each of the sections
provided ahead.

3.1 User classes and characteristics

Table 3 User classes and characteristics for Targeted Project

User class Description

17
The parent will be able to setup an account on the app for the child. They will be
Parent
able to fill out the necessary information required and view the child’s diagnosis
results.

Child The child will be able to play 3 games dyslexia, dyscalculia and ADHD each
testing for 3 disabilities.

teen The teen user has the functionality of both the parent and child but will select
game difficulty according to age.

3.2 Requirement Identifying Technique

3.2.1 Use Case Diagram:

3.1.1 Admin Panel Use Case

Figure 1 Admin Panel Use Case

Figure 1 shows the use case diagram for admin panel. It shows the functions accessible to admin
i.e., adding deleting a user.

18
3.1.2 User Profile Management

Figure 2 User Profile Management Use case

Figure 2 shows the use case diagram for user panel. It shows the functions accessible to user i.e.
adding profile picture deleting account

19
3.1.3 Reports and Suggestion

Figure 3 Reports and Suggestion Use case Diagram

Figure 3 shows the use case diagram for reports and suggestion module. Which includes the
diagnosis report and suggestions for nearby hospitals and clinics?

20
3.1.4 Main Interface Use case

Figure 4 Use case diagram for main interface

Figure 4 shows the use case diagram for main interface of the application. It shows the layout of
the home screen.

21
3.1.5 Dyslexia Use Case Diagram:

Figure 5 Use case diagram for Dyslexia game

Figure 5 shows the use case diagram for the dyslexia game. It shows the diverse types of
questions such as drag and drop, sound based etc.

22
3.1.6 Dyscalculia Use Case Diagram:

Figure 6 Use Case diagram for Dyscalculia Game

Figure 6 shows the use case diagram for the dyscalculia game. It shows the different types of
questions such as drag and drop, sound based etc.

23
3.1.7 ADHD Use Case Diagram

Figure 7 Use case diagram for ADHD

Figure 7 shows the use case diagram for the ADHD game.

3.2 Detailed Use Case:

3.2.1 Use case Tables for Admin Panel


Table 4 Login Admin

Use Case ID: UC-1A


Use Case Name: Login
Actors: Super Admin Panel
Description: The admin must login into the application through their assigned

24
credentials
Trigger: Users click on login button.
Preconditions: User identity must be authenticated.
Post conditions: User login successfully, dashboard appears.
Normal Flow: 1) System prompts the user to enter user ID and password.
2) User enters the required inputs.
3) System validates the user input.
4) User gets to the dashboard page.
Alternative Flows: 1a) In step 1 of normal flow if user does not have account.
1. System prompts the user to register account.
2. User will enter the details.
3. System verifies the details through means.
4. Account created and used case resumes to step 1.
1b) In step 1 of normal flow if the user is registered.
System prompts user to enter ID and password.
1b.1.1) If invalid inputs, use case resumes to step 1.
1b.1.2) If valid input, use case resumes to step 4.

Exceptions: 2a) In step 2 of normal flow, if the registered user enters, wrong user
ID and password.
1) Message re-enters inputs.
2) Users enter valid inputs.
3) System validates user inputs.
Use case resumes to step 4.
Business Rules: System should provide access to authorized users only, so users must
have an account to login and use application.
Assumptions: None

Table 5 Delete User

Use Case ID: UC-2A


Use Case Name: Delete Customer Profile
Actors: Admin Panel
Description: This use case describes the scenario where the super admin can delete
customer profile as he is an already registered user.
Trigger: The user wants to delete customer profile and clicks on profile delete
icon.
Preconditions: User has logged into the system and deleted his profile.
Post conditions: The user successfully deleted his profile.
Normal Flow: 1. User goes to account option in the app.
2. User chooses the option to delete.
3. System prompts user to select which thing to delete.
4. System successfully Delete information.
Alternative Flows: None
Exceptions: 3a. In Step 2 of normal flow, if the user enters invalid input in any of
the fields (user ID, password)

25
1. Message re-enters inputs.
2. User enters valid inputs.
3. Use case resumes on Step 3.
Business Rules: System should provide access to authorized users only, so users must
have an account to login to perform operations.
Assumptions: None

Table 6 Add User

Use Case ID: UC-3A


Use Case Name: Add Customer Profile
Actors: Admin Panel
Description: This use case describes the scenario where the super admin can add
customer profile as he is an already registered user.
Trigger: The user wants to add customer profile and clicks on profile add icon.
Preconditions: User has logged into the system and created his profile.
Post conditions: The user successfully adds his profile.
Normal Flow: 1. System prompts the user to add his user profile details.
2. User will enter the data into related fields like user ID, phone
number, address, rank and updated password.
3. System prompts the user to confirm details.
4. User clicks on confirm option and then on profile details.
5. System provides the user with profile data.
Alternative Flows: None
Exceptions: 3a. In Step 2 of normal flow, if the user enters invalid input in any of
the fields (user ID, password)
1. Message re-enters inputs.
2. User enters valid inputs.
3. Use case resumes on Step 3.
Business Rules: System should provide access to authorized users only, so users must
have an account to login and create profile for customer.
Assumptions: None

3.2.2 Use case Tables for Main Interface

Table 4 Sign Up Via Email

Use Case ID: UC-1


Use Case Name: Sign Up Via Email
Actors: Primary Actor: Parent
This Use case will enable the user to create an account on our application and
Description:
which will allow him to view and compare his child’s overall performance.
Trigger: User will fill in all the required fields and hit sign up button

26
PRE-1. User must open our application.
Preconditions:
PRE-2. User must not have an existing account.
1. User will receive an account confirmation email
Postconditions: 2. User’s information will be stored in our database.
3. User will be logged on in our app
1. User opens up our application
2. User clicks on the login button
3. User clicks on sign up button.
Normal Flow: 4. User fills in the fields such as username, email, password, etc.
5. User clicks on the Sign-Up button
6. System will send a confirmation link to user’s email.
7. A new account would be created for the user.
Alternative
N/A
Flows:
In step 3, the system will check if the entered username and email exists in
our database already.
Exceptions: 1. System will generate an error if the given username or email exists.
2. User will be asked to enter another email or username.
3. System will resume from step 3.
N/A
Business Rules
Assumptions: User has a valid email address

Table 5 Login

Use Case ID: UC-2


Use Case Name: Login
Actors: Primary Actor: Parent
This Use case will allow the user to login to our application using his
Description:
credentials
Trigger: User enters email and password and clicks login button
PRE-1. User must open our application.
Preconditions:
PRE-2. User must have created an account previously
1. User will be logged into our application
Postconditions:
2. User will be redirected to his profile page
1. User opens up our application
2. User clicks on the login button
Normal Flow: 3. User fills in the fields such as username and password
4. User clicks on the Login button
5. User will be redirected to his profile page
Alternative
N/A
Flows:
Exceptions: In step 3, the system will check if the entered username and email exists in
our database already.

27
1. System will generate an error if the given username or email does not
exist.
2. User will be asked to create an account first
N/A
Business Rules
Assumptions: User has created an account before

Table 7 Sign Up via Google

Use Case ID: UC-3


Use Case Name: Sign Up via Google
Actors: Primary Actor: Parent
This Use case will enable the user to create an account by using his google
Description:
account
Trigger: User clicks on sign up via google button
PRE-1. User must open our application.
Preconditions: PRE-2. User must not have an existing account.
PRE-3. User must have an existing google account
1. User will be redirected to Google’s sign in page
Postconditions: 2. User’s information will be stored in our database.
3. User will be logged on in our application
1. User opens up our application
2. User clicks on the login button
3. User clicks on sign up button
Normal Flow: 4. User clicks on sign up with google button
5. User is redirect to Google’s sign in page
6. User enters his google credentials
7. User will be redirect to his profile upon successful sign up
Alternative
N/A
Flows:
Exceptions: N/A
N/A
Business Rules
Assumptions: User has a valid google account

Table 8 Email verification

Use Case ID: UC-4


Use Case Name: Email verification
Actors: Primary Actor: Parent
Description: This Use case will allow the user to verify his account
Trigger: User clicks on sign up via google button
PRE-1. User must open our application.
Preconditions: PRE-2. User must not have an existing account.
PRE-3. User must have had an attempt to create a new account.
Postconditions: User’s account will be verified, and he will be able to store his child’s

28
performance.

1. User opens up his email account.


2. User clicks on the link given in the email sent by our server.
Normal Flow: 3. User’s credentials are stored in our database.
4. User is redirected to his profile.

Alternative
N/A
Flows:
Exceptions: N/A
N/A
Business Rules
Assumptions: User has attempted to create an account

Table 9 Update Information

Use Case ID: UC-5


Use Case Name: Update Information
Actors: Primary Actor: Parent
This use case will allow the parent to update any of his or his child’s
Description:
information such as child’s age or parent’s email address.
Trigger: User clicks on settings button below their profile avatar
PRE-1. User must open our application.
Preconditions:
PRE-2. User must be logged in on our application
Postconditions: User’s information will be updated in our database
1. User opens up our application
2. User clicks on the login button
Normal Flow: 3. User enters his credentials and logs in to our application
3. User clicks on his profile icon and clicks on settings option.
4. User updates his information and clicks save.
Alternative
N/A
Flows:
Exceptions: N/A
N/A
Business Rules
Assumptions: Users want to update his information

Table 10 Upload Profile Picture

Use Case ID: UC-6


Use Case Name: Upload Profile Picture
Actors: Primary Actor: Parent
Description: This use case will allow the parent to upload either his or his child’s picture
as profile picture.
Trigger: User clicks on settings button below their profile avatar

29
Preconditions: PRE-1. User must open our application.
PRE-2. User be logged in on our application

Postconditions: User’s profile picture will be updated


Normal Flow: 1. User opens up our application
2. User clicks on the login button
3. User enters his credentials and logs in to our application
3. User clicks on his profile icon and clicks on settings option.
4. User uploads his profile picture and clicks on save.
Alternative N/A
Flows:
Exceptions: N/A
Business Rules N/A

Assumptions: User wants to upload his profile picture

Table 11 Information Registration

Use Case ID: UC-7


Use Case Name: Information Registration
Actors: Primary Actor: Parent
This use case will allow parents to fill in the forms which is necessary for the
Description: record of their child. Some of this entered data will be used to train machine
learning classifiers.
Trigger: User will click the Let’s go button
PRE-1. User must open our application.
Preconditions: PRE-2. User have watched the instructional video.
PRE-3. User must understand English to answer the questions properly.
Postconditions: The user’s information will be stored in our database
1. User opens up our application
2. User clicks on the Let’s go button
Normal Flow:
3. User will be taken to the form registration screen.
4. User will click on the proceed button to proceed to the game
Alternative
N/A
Flows:
User doesn’t fill some or any of the required fields.
Exceptions:
User must fill this form so that data analysis can be performed, and better
Business Rules prediction can be made.

Assumptions: Proper Interest connection and basic knowledge of computers is necessary.

Table 12 Select Level

Use Case ID: UC-8


Use Case Name: Select Level

30
Actors: Primary Actor: Parent
This use case will allow the parent to select the game level according to their
Description: child’s age group. The child will then be displayed various questions relevant
to his age group.
Trigger: User will click the start game button after filling in the information form.
PRE-1. User must open our application.
Preconditions: PRE-2. User have watched the instructional video.
PRE-3. User must have filled in the information registration form
Postconditions: User will be taken to first game screen.
1. User opens up our application
2. User clicks on the Let’s go button
3. User fills in the information form
Normal Flow:
4. User is displayed three different age group levels for selection
5. User selects a level according to his child’s age
6. The user proceed to the game.
Alternative
N/A
Flows:
N/A
Exceptions:
So that user is given specific questions and option chosen for his particular
Business Rules age group.

Assumptions: N/A

Table 13 Play Game

Use Case ID: UC-9


Use Case Name: Play Game
Actors: Primary Actor: Parent
Description: This use case will allow the children to proceed with playing the game after
their parents has filled all the necessary information
Trigger: User will click ‘start game’ button
Preconditions: PRE-1. User must open our application.
PRE-2. User have watched the instructional video.
PRE-3. User must have filled in the information registration form.
PRE-4. User must have selected a level
Postconditions: User will be displayed questions and time clock will be started
Normal Flow: 1. User opens up our application
2. User clicks on the Let’s go button
3. User fills in the information form
4. User selected difficulty level
5. That Avatar is saved for the rest of the session.
6. User clicks on start game button.
Alternative N/A
Flows:
Exceptions: N/A

31
Business Rules N/A

Assumptions: N/A

Table 14 Feedback Form

Use Case ID: UC-10


Use Case Name: Provide Feedback
Actors: Primary Actor: Parent
Description: This use case will allow the parents to enter any sort of feedback based on
their experience with our system. This use case will also serve the purpose if
any parent wants to give any suggestion.
Trigger: Feedback dialog will pop up after user will click the OK button after viewing
the diagnosis result
Preconditions: PRE-1. User must open our application.
PRE-2. User must have filled in the information registration form.
PRE-3. User must have completed the game.
PRE-4. The system should have displayed the prediction result.
Postconditions: N/A
Normal Flow: 1. User opens up our application
2. User clicks on the Let’s go button
3. User fills in the information form
4. User selected difficulty level
5. User clicks on start game button.
6. User completes the game in given time frame
7. Prediction result is displayed.
8. User form pops up when user press ok button on result page
Alternative N/A
Flows:
Exceptions: N/A

Business Rules N/A

Assumptions: User is willing to provide feedback

Table 15 Export Data

Use Case ID: UC- 11


Use Case Name: Export Data
Actors: Primary Actor: User
Description: This use case will allow the user to select either CSV or JSON as the desired
data format when request data from our resources.
Trigger: User selects export data type from the dropdown menu

32
Preconditions: PRE-1. User must open our application.
PRE-2. User must scroll down to the contact us section of our application

Postconditions: User will receive an email with the data file attached to it
Normal Flow: 1. User opens up our application
2. User scrolls down to contact us page
3. User enters his email address
4. User enters a valid reason for request our data.
5. User selects his desired data type such as CSV or JSON.
6. User clicks on Request button.
Alternative N/A
Flows:
Exceptions: N/A
Business Rules N/A

Assumptions: User wants access to our data for research purposes.

Table 16 Consent Form

Use Case ID: UC-12


Use Case Name: Consent Form
Actors: Primary Actor: Parent
Description: This use case will display a consent form to the user upon the completion of
information registration form. This consent form will state that, we will use
the data entered by them for future research purposes if they allow it.
Trigger: User will fill in the last detail of information form and click of ‘Proceed’
button
Preconditions: PRE-1. User must open our application.
PRE-2. User must have filled the complete information form

Postconditions: N/A
Normal Flow: 1. User opens up our application
2. User clicks on the Let’s go button
3. User fills in the information form
4. User clicks on proceed button
5. Consent form pops up displaying relevant message
6. User approves or rejects
Alternative N/A
Flows:
Exceptions: N/A

Business Rules N/A

Assumptions: N/A

33
Table 17 Save Information

Use Case ID: UC-13


Use Case Name: Save Information
Actors: Primary Actor: Parent
Description: This use case will be checkbox which the parents can tick if they plan to visit
our application more than once. This checkbox will save their information in
the browser so that the user doesn’t have to fill in the form if they visit our
application again.
Trigger: User will click on the checkbox below the form.
Preconditions: PRE-1. User must open our application.
PRE-2. User must have filled the complete information form

Postconditions: N/A
Normal Flow: 1. User opens up our application
2. User clicks on the Let’s go button
3. User fills in the information form
4. User opts in to tick the checkbox or not.

Alternative N/A
Flows:
Exceptions: N/A

Business Rules To exempt the parents to fill the form each time they visit the form.

Assumptions: N/A

3.2.3 Use case Tables for Dyslexia Game Interface

Table 18 Select Options

Use Case ID: UC-14


Use Case Name: Select Options
Actors: Primary Actor: Child
Description: This use case will be allowing user to interact with the game by choosing an
option from the given choices. This use case will be used for questions such
as shape matching or similar letter matching.
Trigger: User will click on the any one of the given options
Preconditions: PRE-1. User must open our application.
PRE-2. User must be playing our game

Postconditions: An option will be selected and will be evaluated later on


Normal Flow: 1. User opens up our application
2. User fills the information
3. User selects level

34
4. Multiple choice questions are displayed to the user
5. User selects any one of the given options
Alternative N/A
Flows:
Exceptions: N/A

Business Rules Some questions require to display multiple choice options.

Assumptions: N/A

Table 19 Play Sound

Use Case ID: UC-15


Use Case Name: Play Sound
Actors: Primary Actor: Child
Description: This use case will display a speaker icon and allow the user to replay the
sound/voice which was initially played in the question
Trigger: User will click on the microphone icon given below the question
Preconditions: PRE-1. User must open our application.
PRE-2. User must be playing our game

Postconditions: A relevant sound used in the question will be replayed


Normal Flow: 1. User opens up our application
2. User fills the information
3. User selects level
4. Question is displayed, and sound is played automatically
5. User didn’t hear it correctly and will click the icon to replay
Alternative N/A
Flows:
Exceptions: N/A

Business Rules User can answer the question correctly by replaying the sound multiple
times.

Assumptions: N/A

Table 20 Drag Objects

Use Case ID: UC-16


Use Case Name: Drag Objects
Actors: Primary Actor: Child
Description: This use case will be allowing user to interact with the game by dragging
tiles across the screen. This use case will be used for questions such as sound
to word matching or missing letter matching.
Trigger: User will drag the given tiles to appropriate places

35
Preconditions: PRE-1. User must open our app.
PRE-2. User must be playing our game

Postconditions: An option will be selected and will be evaluated later on


Normal Flow: 1. User opens up our website
2. User fills the information
3. User selects level
4. Letter tiles are displayed
5. User drags any one of the tiles to appropriate position
Alternative N/A
Flows:
Exceptions: N/A

Business Rules Some questions require to display letter tiles for selection.

Assumptions: N/A

Table 21 Rotate Object

Use Case ID: UC-17


Use Case Name: Rotate Object
Actors: Primary Actor: Child
Description: This use case will display rotation icon which will allow user to rotate shapes
till they match the given shape.
Trigger: User will click on the rotation icon given with the option
Preconditions: PRE-1. User must open our website.
PRE-2. User must be playing our game

Postconditions: A relevant sound used in the question will be replayed


Normal Flow: 1. User opens up our website
2. User fills the information
3. User selects level
4. Question is displayed and option are displayed to the user
5. User clicks the icon to rotate object till they match the shape
Alternative N/A
Flows:
Exceptions: N/A

Business Rules To increase the difficulty a little bit for the user.

Assumptions: N/A

Table 22 Proceed.

Use Case ID: UC-18


Use Case Name: Proceed

36
Actors: Primary Actor: Child
Description: This use case will display arrow icon which will allow user to proceed to the
next question.
Trigger: User will click on the next button to proceed to the next button
Preconditions: PRE-1. User must open our application.
PRE-2. User must be playing our game

Postconditions: Next question will load up on the screen


Normal Flow: 1. User opens up our application
2. User fills the information
3. User selects level
4. Question is displayed and option are displayed to the user
5. User select an option according to the given instruction
6. User clicks on next button
Alternative N/A
Flows:
Exceptions: N/A

Business Rules To proceed to the next question

Assumptions: N/A

Table 23 Submit

Use Case ID: UC-19


Use Case Name: Submit
Actors: Primary Actor: Parent
Description: This use case will allow the parent to submit the data for analysis and
prediction once their child has completed the game and answered all the
questions.
Trigger: Parents will click the submit or finish button
Preconditions: PRE-1. User must open our application.
PRE-2. User must be playing our game
PRE-3. User must have completed all questions
Postconditions: Analysis will be done and prediction will be made.
Normal Flow: 1. User opens up our application
2. User fills the information
3. User selects level
4. User completes all questions
5. Parents click on finish button and wait for prediction’s result

Alternative N/A
Flows:
Exceptions: N/A

Business Rules To submit the data to our ML algorithm and calculate predictions based on

37
the data.

Assumptions: N/A

Table 24 Play Again

Use Case ID: UC-20


Use Case Name: Play Again
Actors: Primary Actor: Parent
Description: This use case will allow the parent replay the game if their child wants to
replay.
Trigger: Parents will click the replay button
Preconditions: PRE-1. User must open our application
PRE-2. User must be playing our game
PRE-3. User must have completed all questions
PRE-4. Prediction result must have been displayed to the parents.
Postconditions: Game will be started again from first question.
Normal Flow: 1. User opens up our application
2. User fills the information
3. User selects level
4. User completes all questions
5. Parents click on finish button and wait for prediction’s result
6. Results are displayed
7. Parents click the play again button.
Alternative N/A
Flows:
Exceptions: N/A

Business Rules N/A

Assumptions: N/A

Table 25 Quit

Use Case ID: UC-21


Use Case Name: Quit
Actors: Primary Actor: Parent
Description: This use case will allow the parents to quit the game.
Trigger: Parents will click the replay button
Preconditions: PRE-1. User must open our application
PRE-2. User must be playing our game
PRE-3. User must have completed all questions.
PRE-4. Prediction result must have been displayed to the parents.
Postconditions: User will be redirected to home page
Normal Flow: 1. User opens up our application
2. User fills the information

38
3. User selects level
4. User completes all questions
5. Parents click on finish button and wait for prediction’s result
6. Results are displayed
7. Parents click the quit button.
Alternative N/A
Flows:
Exceptions: N/A

Business Rules N/A

Assumptions: N/A

Table 26 Show Scoreboard

Use Case ID: UC-22


Use Case Name: Show Scoreboard
Actors: Primary Actor: Parent
Description: This use case will allow the parents to view the details about how their child
performed on each question.
Trigger: Parents will click the show scoreboard button
Preconditions: PRE-1. User must open our application.
PRE-2. User must be playing our game.
PRE-3. User must have completed all questions.
PRE-4. Prediction result must have been displayed to the parents.
Postconditions: User will be displayed the scoreboard.
Normal Flow: 1. User opens up our application
2. User fills the information
3. User selects level
4. User completes all questions
5. Parents click on finish button and wait for prediction’s result
6. Results are displayed
7. Parents clicks the show scoreboard button.
8. Score board is displayed.
Alternative N/A
Flows:
Exceptions: N/A

Business Rules So that the parents can see the progress of their children.

Assumptions: N/A

Table 27 View Nearby Doctors

Use Case ID: UC-23


Use Case Name: Find Nearby Hospitals

39
Actors: Primary Actor: Parent
Description: This use case will allow the parents to view the psychologist nearby their
location.
Trigger: Parents will click the find nearby doctors’ button
Preconditions: PRE-1. User must open our application.
PRE-2. User must be playing our game.
PRE-3. User must have completed all questions.
PRE-4. Prediction result must have been displayed to the parents.
Postconditions: User will be displayed a list of nearby located doctors
Normal Flow: 1. User opens up our application
2. User fills the information
3. User selects level
4. User completes all questions
5. Parents click on finish button and wait for prediction’s result
6. Results are displayed
7. Parents clicks the find nearby doctors button.
8. A list of nearby psychologists is displayed.
Alternative N/A
Flows:
Exceptions: N/A

Business Rules So that the parents can see the nearby doctors and decide to visit them or not.

Assumptions: N/A

3.2.4 Use case Tables for ADHD Game Interface

Table 28 Select GO

Use Case ID: UC-24


Use Case Name: Select go
Actors: Primary Actor: child / teen / adult
This use case will allow the player to show that he sees the stimuli on the
Description:
screen
Trigger: User will press the assigned button to select option
PRE-1. User must open our application.
Preconditions:
PRE-2. User must have selected ADHD game
Postconditions: Game timer will reset and user will move forward.
1. User opens up our application
2. User fills the information
Normal Flow:
3. User selects level
4. User selects ADHD game
Alternative
N/A
Flows:

40
N/A
Exceptions:
N/A
Business Rules
Assumptions: N/A

Table 29 Play again.

Use Case ID: UC-25


Use Case Name: Play Again
Actors: Primary Actor: Parent
Description: This use case will allow the parent to replay the game if their child wants to
replay.
Trigger: Parents will click the replay button
Preconditions: PRE-1. User must open our application
PRE-2. User must be playing our game
PRE-3. User must have completed all stages.
PRE-4. Prediction result must have been displayed to the parents.
Postconditions: Game will be started again from first stage.
Normal Flow: 1. User opens up our application
2. User fills the information
3. User selects level
4. User completes all stages
5. Parents click on finish button and wait for prediction’s result
6. Results are displayed
7. Parents click the play again button.
Alternative N/A
Flows:
Exceptions: N/A

Business Rules N/A

Assumptions: N/A

Table 30 Quit.

Use Case ID: UC-26


Use Case Name: Quit
Actors: Primary Actor: Parent
Description: This use case will allow the parents to quit the game.
Trigger: Parents will click the quit button
Preconditions: PRE-1. User must open our application.
PRE-2. User must be playing our game.
PRE-3. User must have completed all questions.
PRE-4. Prediction result must have been displayed to the parents.
Postconditions: User will be redirected to home page

41
Normal Flow: 1. User opens up our application
2. User fills the information
3. User selects level
4. User completes all questions
5. Parents click on finish button and wait for prediction’s result
6. Results are displayed
7. Parents click the quit button.
Alternative N/A
Flows:
Exceptions: N/A

Business Rules N/A

Assumptions: N/A

Table 31 Show Scoreboard

Use Case ID: UC-27


Use Case Name: Show Scoreboard
Actors: Primary Actor: Parent
Description: This use case will allow the parents to view the details about how their child
performed in the game.
Trigger: Parents will click the show scoreboard button
Preconditions: PRE-1. User must open our application.
PRE-2. User must be playing our game.
PRE-3. User must have completed all stages
PRE-4. Prediction result must have been displayed to the parents.
Postconditions: User will be displayed the scoreboard.
Normal Flow: 1. User opens up our application
2. User fills the information
3. User selects level
4. User completes all stages
5. Parents click on finish button and wait for prediction’s result
6. Results are displayed
7. Parents clicks the show scoreboard button.
8. Score board is displayed.
Alternative N/A
Flows:
Exceptions: N/A

Business Rules So that the parents can see the progress of their children.

Assumptions: N/A

42
3.3 Functional Requirements
The functional requirements for our final year project are given below. These FRs will be
arranged according to logical flow of the project.

3.3.1 Functional Requirement X

3.3.1.1 Create Account


Table 32 FR-1

Identifier FR-1
Title Enter Name
Requirement The user shall be able to enter full name
Source Supervisor.
Rationale This shall allow the user to create his account on the name of the user.
Business Rule (if System should provide access to authorized users only, so users must
required) have login and create account respectively.
Dependencies NIL
Priority High

Table 33 FR-2

Identifier FR-2
Title Enter Email
Requirement The user shall be able to enter the email.
Source Supervisor.
This shall allow the user to create the account which will be required
Rationale at the time of login
Business Rule (if System should provide access to authorized users, and user must have
required) valid authenticate credentials.
Dependencies NIL
Priority High

Table 34 FR-3

Identifier FR-3
Title Enter Password

43
Requirement The user shall be able to enter the password
Source Supervisor.
This shall allow the user to protect the account from outside
Rationale interference and required at the time of login
Business Rule (if System should provide access to authorized users, and user must have
required) valid authenticate credentials.
Dependencies NIL
Priority High

Table 35 FR-4

Identifier FR-4
Title Confirm Password
Requirement The user shall be able to enter the password again
Source Supervisor.
This shall allow the user to re-enter the password in case he did not
Rationale enter the password he wants to set for the account.
Business Rule (if System should provide access to authorized users, and user must have
required) valid authenticate credentials.
Dependencies NIL
Priority High

Table 36 FR-5

Identifier FR-5
Title User details verification
System will check the format of each fields information accordingly.
 Username must be at least 5 characters long.
 Password should be at least 8 characters, with at least 1
Requirement letter,1 number,1 special character.
 Retype password should match the password.
 Email should be a valid email.
 Username should be at least 5 characters long.

Source Developer 2
Rationale In order for system to verify the signup details
Business Rule (if N/A
44
required)
Dependencies FR-2, FR-3
Priority High

Table 37 FR-6

Identifier FR-6
Title Upload profile picture
Requirement The user will be able to upload the picture
Source Supervisor.
Rationale This shall be used for identity purpose.
Business Rule (if Nil
required)
Dependencies NIL
Priority High

Table 38 FR-7

Identifier FR-7
Title Login
The user shall be able to login the system by entering a valid User ID and
Requirement Password in specified input fields available on the login page.
Source Supervisor
This shall allow the users to perform their intended tasks through the
Rationale
application and to give access to authenticate users only.
Business Rule System should provide access to authorized users only, so users must have
(if required) an account to login and use application.
Dependencies FR-1
Priority High

Table 39 FR-8

Identifier FR-8
Title Enter. Login. Details.
The system prompts user to enter User ID and password to access their
Requirement account.
Source Supervisor.

45
Rationale User should get access to system after successful login.
Business Rule System should provide access to authorized users only, so users must have
(if required) an account to login and use application.
Dependencies NIL
Priority High

Table 40 FR-9

Identifier FR-9
Title Login. Details. Authentication.
Requirement The system shall authenticate user ID and password entered by the user.
Source Supervisor.
Rationale User should get access to system after successful login.
Business Rule System should provide access to authorized users only, so users must have
(if required) an account to login and use application.
Dependencies FR-8
Priority High

Table 41 FR-10

Identifier FR-10
Title Login. Successful.
The system shall display “Welcome” message when the login is
Requirement successful.
Source Supervisor.
To notify user that his details are correct, and he has successfully logged
Rationale
into the system.
Business Rule System should provide access to authorized users only, so users must have
(if required) an account to login and use application.
Dependencies FR-12
Priority Medium

Table 42 FR-11

Identifier FR-11
Title Login. Fail.
Requirement The system notifies the user that entered details are invalid.
Source Supervisor.

46
Rationale To notify user that entered details are not correct.
Business Rule System should provide access to authorized users only, so users must have
(if required) an account to login and use application.
Dependencies Fr-12
Priority High

Table 40 FR-12

Identifier FR-12
Title Update Name
Requirement The user will be able to enter a full name.
Source Supervisor.
Rationale This shall allow the user to update name.
Business Rule (if Only the registered user can update his profile.
required)
Dependencies FR-10
Priority Medium

Table 41 FR-13

Identifier FR-13
Title Update Email.
Requirement The user will be able to enter an email.
Source Supervisor.
Rationale This shall allow the user to update the email.
Business Rule (if Only the registered user can update his profile.
required)
Dependencies FR-10
Priority Medium

Table 42 FR-14

Identifier FR-14
Title Update Profile Picture
Requirement The user will be able to upload the profile picture.
Source Supervisor.
Rationale This shall allow the user to update the profile picture.

47
Business Rule (if Only the registered user can update his profile.
required)
Dependencies FR-10
Priority Medium

Table 43 FR-15

Identifier FR-15
Title Enter the current password
Requirement The user will be able to enter a current valid password.
Source Supervisor.
Rationale This shall allow the system to verify the password before changing.
Business Rule (if System should provide access to authorized users only, so users must
required) have an account to login.
Dependencies FR-10
Priority High

Table 44 FR-16

Identifier FR-16
Title Enter new password
Requirement The user will be able to enter a new password.
Source Supervisor.
Rationale This shall allow the system to update the user’s password
Business Rule (if System should provide access to authorized users only, so users must
required) have an account to login.
Dependencies FR-15
Priority High

Table 45 FR-17

Identifier FR-17
Title Confirm New Password
Requirement The user will be able to enter a new password again
Source Supervisor.
This shall allow the user to confirm the password in order to confirm
Rationale that the entered password is correct or not.

48
Business Rule (if System should provide access to authorized users only, so users must
required) have an account to login.
Dependencies FR-19
Priority Medium

Table 46 FR-18

Identifier FR-18
Title Enter Email
Requirement The user will be able to enter an email
Source Supervisor.
This shall send the user a verification code on the entered email for
Rationale verification
Business Rule (if System should provide access to authorized users only, so users must
required) have an account to login.
Dependencies NILL
Priority High

Table 47 FR-19

Identifier FR-19
Title Enter Email verification Code
Requirement The user will be able to enter a verification code.
Source Supervisor.
Rationale This shall allow the user to enter the valid code sent on the email.
Business Rule (if Only the code sends on the email which is already registered at the
required) time of account creation.
Dependencies FR-18
Priority High

Table 48 FR-20

Identifier FR-20
Title Enter new password
Requirement The user will be able to enter a new password.
Source Supervisor.

49
Rationale This shall allow the system to update the user’s password.
Business Rule (if System should provide access to authorized users only, so users must
required) have an account to login.
Dependencies FR-19
Priority High

Table 49 FR-21

Identifier FR-21
Title Confirm New Password
Requirement The user will be able to enter a new password again.
Source Supervisor.
This shall allow the user to confirm the password in order to confirm
Rationale that the entered password is correct or not.
Business Rule (if System should provide access to authorized users only, so users must
required) have an account to login.
Dependencies FR-20
Priority Medium

Table 50 FR-22

Identifier FR-22
Title Confirm New Password
Requirement The user will be able to enter a new password again.
Source Supervisor.
This shall allow the user to confirm the password in order to confirm
Rationale that the entered password is correct or not.
Business Rule (if System should provide access to authorized users only, so users must
required) have an account to login.
Dependencies FR-21
Priority Medium

Game dyslexia

Table 51 FR-23

Identifier FR-23
50
Title Select game
Requirement User have to choose the game he /she wants to play
Source Developer 1
Upon clicking of this button, user should be able to see the patient
Rationale health form
Business Rule (if N/A
required)
Dependencies FR-10
Priority High

Table 52 FR-24

Identifier FR-24
Title Accept consent form
User shall be displayed a consent form asking for permission to use
Requirement his information for further research purposes
Source Developer 1
Rationale User should be asked for his consent before using his information.
Business Rule (if N/A
required)
Dependencies NILL
Priority High

Table 53 FR-25

Identifier FR-25
Title Select Review Stars
Requirement User shall be able to give our game a star rating
Source Developer 1
So that we know how friendly and likeable our interface and game
Rationale was
Business Rule (if NILL
required)
Dependencies NILL
Priority High

51
Table 54 FR-26

Identifier FR-26
Title Enter Message Box
User shall be able to type in any sort of feedback or improvement
suggestions.
Requirement
User shall be displayed a thank you note after successful submission
of the review.
Source Developer 1
Rationale So that user can express his feelings about our system
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 55 FR-27

Identifier FR-27
Title Patient’s health record
User shall be displayed a detailed form asking for relevant
Requirement information about the player from the parent
Source Developer 1
Rationale Later on, Data analysis can be performed on the gathered data.
Business Rule (if NILL
required)
Dependencies FR-10
Priority High

3.3.1.2 Dyslexia

Table 56 FR-28

Identifier FR-28
Title Start game
Requirement User will click on start game button

52
Source Developer 2
Rationale In order to start the game
Business Rule (if NILL
required)
Dependencies FR-24, FR-27
Priority High

Table 57 FR-29

Identifier FR-29
Title Level selection
Requirement System will display three different levels
Source Developer 2
Rationale In order for the user to select the level according to age group
Business Rule (if NILL
required)
Dependencies FR-32
Priority High

1.1.1. preschooler level

Table 58 FR-30

Identifier FR-30
Title Start preschooler level
Requirement User will click on start button of preschooler level
Source Developer 2
Rationale In order to start the preschooler level game.
Business Rule (if N/A
required)
Dependencies FR-24
Priority High

Table 59 FR-31

Identifier FR-31
Title Scoreboard

53
Requirement The user will click on the score-board icon at the top
Source Developer 2
Rationale In order for the user to keep track of their scores of each question
solved
Business Rule (if N/A
required)
Dependencies N/A
Priority Medium

Table 60 FR-32

Identifier FR-32
Title Shape matching
Requirement System will display first group of question related to shape matching
Source Developer 2
Rationale In order for user to start solving the questions
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 61 FR-33

Identifier FR-33
Title See shape
Requirement System will display a shape hole on the screen
Source Developer 2
Rationale In order for the user to fill the hole with the correct shape
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 62 FR-34

Identifier FR-34
Title Shape option tiles
Requirement User will select and drag a shape option

54
Source Developer 2
Rationale In order to fill the shape hole and solve the question
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 63 FR-35

Identifier FR-35
Title Shape rotation
Requirement System will display second group of question related to shape
matching
Source Developer 2
Rationale In order for user to start solving the questions
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 64 FR-36

Identifier FR-36
Title See shape rotation
Requirement System will display the correct shape rotation for 3 seconds on the
screen
Source Developer 2
Rationale In order for the user to memorize the shape
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 65 FR-37

Identifier FR-37
Title Shape with rotate button

55
Requirement User will click on the rotate button next to the shape.
Source Developer 2
Rationale In order to match the rotation of the shape that was shown before
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 66 FR-38

Identifier FR-38
Title End game
Requirement The user will click on end button at the last question
Source Developer 2
Rationale In order for the user to end the preschooler level game
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 67 FR-39

Identifier FR-39
Title Preschooler result board
Requirement System will display the avatar with the result board
Source Developer 2
Rationale In order to show the user, the total score and the dyslexic prediction.
Business Rule (if NILL
required)
Dependencies FR-38
Priority High
1.1.2. Leaners level

Table 68 FR-40

Identifier FR-40
Title Start Leaners level
Requirement User will click on start button of Leaners level

56
Source Developer 2
Rationale In order to start the Leaners level game.
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 69 FR-41

Identifier FR-41
Title Leaners Scoreboard
Requirement The user will click on the score-board icon at the top
Source Developer 2
Rationale In order for the user to keep track of their scores of each question
solved
Business Rule (if NILL
required)
Dependencies NILL
Priority Medium

Table 70 FR-42

Identifier FR-42
Title Single letter/number sound recognition
Requirement System will display first group of question related to sound
recognition
Source Developer 2
Rationale In order for user to start solving the questions
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 71 FR-43

Identifier FR-43
Title Listen sound

57
Requirement System will play the sound of a letter/number at the start of the
question
Source Developer 2
Rationale In order for user to listen to the sound
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 72 FR-44

Identifier FR-44
Title Replay letter
Requirement The user will click on the replay icon.
Source Developer 2
Rationale In order for user to replay the sound
Business Rule (if NILL
required)
Dependencies N/A
Priority High

Table 73 FR-45

Identifier FR-45
Title Letter/number option tiles
Requirement User will select a tile option from a group
Source Developer 2
Rationale In order for user to solve the question
Business Rule (if N/A
required)
Dependencies N/A
Priority High

Table 74 FR-46

Identifier FR-46
Title 2-3 letter word sound recognition
Requirement System will display second group of question related to sound

58
recognition
Source Developer 2
Rationale In order for user to start solving the questions
Business Rule (if N/A
required)
Dependencies N/A
Priority High

Table 75 FR-47

Identifier FR-47
Title Listen sound
Requirement System will play the sound of the word at the start of the question
Source Developer 2
Rationale In order for user to listen to the sound
Business Rule (if N/A
required)
Dependencies N/A
Priority High

Table 76 FR-48

Identifier FR-48
Title Replay word
Requirement The user will click on the replay icon.
Source Developer 2
Rationale In order for user to replay the sound
Business Rule (if N/A
required)
Dependencies FR-58
Priority High

Table 77 FR-49

Identifier FR-49
Title Letter tiles
Requirement User will select a letter tile option from a group

59
Source Developer 2
In order for user to fill in the missing letter of the word and solve the
Rationale question
Business Rule (if N/A
required)
Dependencies N/A
Priority High

Table 78 FR-50

Identifier FR-50
Title Picture recognition
System will display third group of question related to picture
Requirement recognition
Source Developer 2
Rationale In order for user to start solving the questions
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 79 FR-51

Identifier FR-51
Title Display picture
Requirement System will display the picture
Source Developer 2
Rationale In order for user to recognize the object in the picture
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 80 FR-52

Identifier FR-52
Title Letter option tiles
Requirement User will select a tile option from a group

60
Source Developer 2
Rationale In order for user to complete the word describing the picture and to
solve the question
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 81 FR-53

Identifier FR-53
Title End game
Requirement The user will click on end button at the last question
Source Developer 2
Rationale In order for the user to end the Leaners level game
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 82 FR-54

Identifier FR-54
Title Leaners result board
Requirement System will display the avatar with the result board
Source Developer 2
Rationale In order to show the user, the total score and the dyslexic prediction.
Business Rule (if NILL
required)
Dependencies FR-53
Priority High
1.1.3. Elementary level

Table 83 FR-55

Identifier FR-55
Title Start Elementary level
Requirement User will click on start button of Elementary level

61
Source Developer 2
Rationale In order to start the Elementary level game.
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 84 FR-56

Identifier FR-56
Title Elementary Scoreboard
Requirement The user will click on the score-board icon at the top
Source Developer 2
Rationale In order for the user to keep track of their scores of each question
solved
Business Rule (if NILL
required)
Dependencies NILL
Priority Medium

Table 85 FR-57

Identifier FR-57
Title 3-5 letter word sound recognition
Requirement System will display first group of question related to sound
recognition
Source Developer 2
Rationale In order for user to start solving the questions
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 86 FR-58

Identifier FR-58
Title Listen sound
Requirement System will play the sound of the word at the start of the question

62
Source Developer 2
Rationale In order for user to listen to the sound
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 87 FR-59

Identifier FR-59
Title Replay word
Requirement The user will click on the replay icon.
Source Developer 2
Rationale In order for user to replay the sound
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 88 FR-60

Identifier FR-60
Title Letter tiles
Requirement User will select multiple letter tile option from a group
Source Developer 2
Rationale In order for user to fill all the missing letter blocks of the word and
solve the question
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 89 FR-61

Identifier FR-61
Title Picture recognition
Requirement System will display second group of question related to picture
recognition

63
Source Developer 2
Rationale In order for user to start solving the questions
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 90 FR-62

Identifier FR-62
Title Display picture
Requirement System will display the picture
Source Developer 2
Rationale In order for user to recognize the object in the picture
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 91 FR-63

Identifier FR-63
Title Letter option tiles
Requirement User will select multiple tile options from a group
Source Developer 2
Rationale In order for user to complete all the letter blocks of the word
describing the picture and to solve the question
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 92 FR-64

Identifier FR-64
Title Non-word recognition
Requirement System will display the third group of questions related to non-word
recognition

64
Source Developer 2
Rationale In order for user to start solving the questions
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 93 FR-65

Identifier FR-65
Title Play sound
Requirement System will play the sound of the word at the start of the question
Source Developer 2
Rationale In order for user to listen to the word
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 94 FR-66

Identifier FR-66
Title Replay word
Requirement The user will click on the replay icon.
Source Developer 2
Rationale In order for user to replay the sound
Business Rule (if NILL
required)
Dependencies FR-65
Priority High

Table 95 FR-67

Identifier FR-67
Title Letter tiles
Requirement User will select multiple letter tile option from a group
Source Developer 2

65
Rationale In order for user to construct the spelling of the word and solve the
question
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 96 FR-68

Identifier FR-68
Title End game
Requirement The user will click on end button at the last question
Source Developer 2
Rationale In order for the user to end the Elementary level game
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 97 FR-69

Identifier FR-69
Title Elementary result board
Requirement System will display the avatar with the result board
Source Developer 2
Rationale In order to show the user, the total score and the dyslexic prediction.
Business Rule (if NILL
required)
Dependencies FR-68
Priority High

Table 98 FR-70

Identifier FR-70
Title Play again
Requirement User will click on the play again button
Source Developer 2
Rationale In order for the user to get back to level selection screen to replay the

66
game
Business Rule (if NILL
required)
Dependencies NILL
Priority Low

Table 99 FR-71

Identifier FR-71
Title Quit game
Requirement User will click on the quit button
Source Developer 2
Rationale In order for the user to quit the game and get back to landing page
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 100 FR-72

Identifier FR-72
Title Google map implementation
Requirement System should implement the Google map API
Source Developer 2
Rationale In order to read the current location of the user
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 101 FR-73

Identifier FR-73
Title Nearest educational psychologist
Requirement System should search for nearest psychologist on Google map
Source Developer 2
Rationale In order collect and store the nearest psychologist location and

67
address based on users’ current location
Business Rule (if NILL
required)
Dependencies FR-80
Priority High

Table 102 FR-74

Identifier FR- 74
Title Predict Results
Requirement System should fetch the data thorough the REST API and make
predictions on that data.
Source Developer 1
Rationale In order to test the trained machine learning model and make
prediction
Business Rule (if NILL
required)
Dependencies NILL
Priority High

3.3.1.3 Adhd
Table 103 FR-75

Identifier FR- 75
Title Start adhd game
Requirement System will start adhd game
Source Developer 1
Rationale In order to start the game of adhd
Business Rule (if NILL
required)
Dependencies FR-10
Priority High

Table 104 FR-76

Identifier FR- 76
Title Patient health record

68
Requirement System should fetch the data from fire store and make predictions on
that data.
Source Developer 1
Rationale In order to test the trained machine learning model and make
prediction
Business Rule (if NILL
required)

Table 105 FR-77

Identifier FR-77
Title Accept consent form
Requirement User shall be displayed a consent form asking for permission to use
his information for further research purposes
Source Developer 1
Rationale User should be asked for his consent before using his information.
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 106 FR-78

Identifier FR-78
Title Select game level
Requirement User shall be able to select the game level
Source Developer 1
Rationale User should be asked for the level in which he or she wants to play
Business Rule (if NILL
required)
Dependencies FR-81
Priority High

Table 107 FR-79

Identifier FR-79
Title Enable eye tracker
Requirement Eye tracker is required to play add game

69
Source Developer 1
Rationale User will be asked to align his eyes into the camera.
Business Rule (if NILL
required)
Dependencies FR-77
Priority High

1.1.4. Preschool level

Table 108 FR-80

Identifier FR-80
Title Preschool level
Requirement Preschool level of the game will be played
Source Developer 1
Rationale Preschool level pf the game
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 109 FR-81

Identifier FR-81
Title Keep eyes still
Requirement Eyes have to be kept still during all the questions
Source Developer 1
Rationale User eyes will be tracked
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 110 FR-82

Identifier FR-82
Title Solve Questions

70
Requirement Eyes will be tracked during each question
Source Developer 1
Rationale Eye tracking
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 111 FR-83

Identifier FR-83
Title End game
Requirement End the game
Source Developer 1
Rationale Game will be ended
Business Rule (if N/A
required)
Dependencies NILL
Priority High
1.1.5. Elementary level

Table 112 FR-84

Identifier FR-84
Title Preschool level
Requirement Preschool level of the game will be played
Source Developer 1
Rationale Preschool level pf the game
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 113 FR-85

Identifier FR-85
Title Enable eye tracker
Requirement Eye tracker is required to play add game

71
Source Developer 1
Rationale User will be asked to align his eyes into the camera.
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 114 FR-86

Identifier FR-86
Title Keep eyes still
Requirement Eyes have to be kept still during all the questions
Source Developer 1
Rationale User eyes will be tracked
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 115 FR-87

Identifier FR-87
Title Solve Questions
Requirement Eyes will be tracked during each question
Source Developer 1
Rationale Eye tracking
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 116 FR-88

Identifier FR-88
Title End game
Requirement End the game

72
Source Developer 1
Rationale Game will be ended
Business Rule (if NILL
required)
Dependencies NILL
Priority High

1.1.6. Learner Level

Table 117 FR-89

Identifier FR-89
Title Lerner level
Requirement Preschool level of the game will be played
Source Developer 1
Rationale Preschool level pf the game
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 118 FR-90

Identifier FR-90
Title Enable eye tracker
Requirement Eye tracker is required to play add game
Source Developer 1
Rationale User will be asked to align his eyes into the camera.
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 11943 FR-91

Identifier FR-91
Title Keep eyes still
Requirement Eyes have to be kept still during all the questions

73
Source Developer 1
Rationale User eyes will be tracked
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 120 FR-92

Identifier FR-92
Title Solve Question
Requirement Eyes will be tracked during each question
Source Developer 1
Rationale Eye tracking
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 121 FR-93

Identifier FR-93
Title End game
Requirement End the game
Source Developer 1
Rationale Game will be ended
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 122 FR-94

Identifier FR-94
Title View results
Requirement View the results of the game
Source Developer 1

74
Rationale User reaction during each question will be displayed
Business Rule (if NILL
required)
Dependencies FR-93
Priority High

Table 123 FR-95

Identifier FR-95
Title Compare result
Requirement All past games
Source Developer 1
Rationale All games played by that user will be compared
Business Rule (if NILL
required)
Dependencies FR-93
Priority High

3.3.1.4 Dyscalculia

Table 124 FR-96

Identifier FR-96
Title Start dyscalculia
Requirement Select dyscalculia game to play
Source Developer 1
Rationale Start the dyscalculia game
Business Rule (if NILL
required)
Dependencies FR-10
Priority High

Table 125 FR-96

Identifier FR-97
Title Select game level

75
Requirement Levels of game play needs to be selected
Source Developer 1
Rationale Select the level to load game
Business Rule (if NILL
required)
Dependencies FR-96
Priority High

Table 126 FR-99

Identifier FR-98
Title Patients’ health record
Requirement Health record pf the player is required
Source Developer 1
Rationale Give the player health record
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 127 FR-99

Identifier FR-99
Title Accept consent
Requirement Accept the consent to use the user data
Source Developer 1
Rationale User health record will be used
Business Rule (if NILL
required)
Dependencies NILL
Priority High

1.1.7. Pre school


Table 128 FR-100

Identifier FR-100
Title Preschool level

76
Requirement Preschool level of the game will be played
Source Developer 1
Rationale Preschool level pf the game
Business Rule (if NILL
required)
Dependencies FR-97
Priority High

Table 129 FR-101

Identifier FR-101
Title Read Question
Requirement Read the numerical Question
Source Developer 1
Rationale Numerical question will be displayed
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 130 FR-102

Identifier FR-102
Title Answer question
Requirement Answer to the numerical question is required
Source Developer 1
Rationale Enter the answer
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 131 FR-103

Identifier FR-103
Title See clocks

77
Requirement See the clock in the question
Source Developer 1
Rationale Read the time in the clock question
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 132 FR-104

Identifier FR-104
Title Answer time
Requirement Enter the time in the question
Source Developer 1
Rationale Need answer
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 133 FR-105

Identifier FR-105
Title See addition subtraction question
Requirement Simple addition subtraction mathematical question will be displayed
Source Developer 1
Rationale Need answer
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 134 FR-106

Identifier FR-106
Title Answer the questions

78
Requirement Simple addition subtraction mathematical question will be answer
Source Developer 1
Rationale Need answer
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 135 FR-107

Identifier FR-107
Title End game
Requirement Game will be ended
Source Developer 1
Rationale End the game to see result
Business Rule (if NILL
required)
Dependencies NILL
Priority High

1.1.8. Lerner level


Table 136 FR-108

Identifier FR-108
Title Lerner level
Requirement Lerner level of the game will be played
Source Developer 1
Rationale Lerner level pf the game
Business Rule (if NILL
required)
Dependencies FR-97
Priority High

Table 137 FR-109

Identifier FR-109
Title Read Question

79
Requirement Read the numerical Question
Source Developer 1
Rationale Numerical question will be displayed
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 137 FR-110

Identifier FR-110
Title Answer question
Requirement Answer to the numerical question is required
Source Developer 1
Rationale Enter the answer
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 139 FR-111

Identifier FR-111
Title See clocks
Requirement See the clock in the question
Source Developer 1
Rationale Read the time in the clock question
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 140 FR-112

Identifier FR-112
Title Answer time

80
Requirement Enter the time in the question
Source Developer 1
Rationale Need answer
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 141 FR-113

Identifier FR-113
Title See addition subtraction question
Requirement Simple addition subtraction mathematical question will be displayed
Source Developer 1
Rationale Need answer
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 142 FR-114

Identifier FR-114
Title Answer the questions
Requirement Simple addition subtraction mathematical question will be answer
Source Developer 1
Rationale Need answer
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 143 FR-115

Identifier FR-115
Title End game
Requirement Game will be ended

81
Source Developer 1
Rationale End the game to see result
Business Rule (if NILL
required)
Dependencies NILL
Priority High

1.1.9. Elementary level

Table 144 FR-116

Identifier FR-116
Title Elementary level
Requirement Elementary level of the game will be played
Source Developer 1
Rationale Elementary level pf the game
Business Rule (if NILL
required)
Dependencies FR-97
Priority High

Table 145 FR-117

Identifier FR-117
Title Read Question
Requirement Read the numerical Question
Source Developer 1
Rationale Numerical question will be displayed
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 146 FR-118

Identifier FR-118
Title Answer question

82
Requirement Answer to the numerical question is required
Source Developer 1
Rationale Enter the answer
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 147 FR-119

Identifier FR-119
Title See clocks
Requirement See the clock in the question
Source Developer 1
Rationale Read the time in the clock question
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 148 FR-120

Identifier FR-120
Title Answer time
Requirement Enter the time in the question
Source Developer 1
Rationale Need answer
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 149 FR-121

Identifier FR-121
Title See addition subtraction question
Requirement Simple addition subtraction mathematical question will be displayed

83
Source Developer 1
Rationale Need answer
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 150 FR-122

Identifier FR-122
Title Answer the questions
Requirement Simple addition subtraction mathematical question will be answer
Source Developer 1
Rationale Need answer
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 151 FR-123

Identifier FR-123
Title End game
Requirement Game will be ended
Source Developer 1
Rationale End the game to see result
Business Rule (if NILL
required)
Dependencies NILL
Priority High

Table 152 R-124

Identifier FR-124
Title Nearby physiatrist
Requirement User needs to select he nearby doctor for further health work
Source Developer 1

84
Rationale Nearby locations of doctor will be displayed
Business Rule (if NILL
required)
Dependencies FR-123
Priority High

Table 153 FR-125

Identifier FR-125
Title View results
Requirement View the results of the game
Source Developer 1
Rationale User reaction during each question will be displayed
Business Rule (if NILL
required)
Dependencies FR-123
Priority High

Table 154 FR-126

Identifier FR-126
Title Compare result
Requirement All past games
Source Developer 1
Rationale All games played by that user will be compared
Business Rule (if NILL
required)
Dependencies FR-123
Priority High

Table 155 FR-127

Identifier FR-127
Title Login
Requirement The user shall be able to login the system by entering a valid User ID
and Password in specified input fields available on the login page.
Source Developer 2
Rationale This shall allow the users to perform their intended tasks through the

85
application and to give access to authenticate users only.
Business Rule System should provide access to authorized users only, so users must
(if required) have an account to login and use application.
Dependencies NILL
Priority High

Table 156 FR-128

Identifier FR-128
Title Enter Username
Requirement The user shall be able to enter username in the given input field.
Source Developer 2
Rationale This shall allow the users to enter username to get access.
Business Rule System should provide access to authorized users only, so users must
(if required) have an account to login and use application.
Dependencies NILL
Priority High

Table 157 FR-129

Identifier FR-129
Title Enter Password
Requirement The user shall be able to enter password in the given input field.
Source Developer 2
Rationale This shall allow the users to enter password to get access.
Business Rule (if System should provide access to authorized users only, so users
required) must have an account to login and use application.
Dependencies NILL
Priority High

Table 158 FR-130

Identifier FR-130
Title Login. Details. Correct. Yes.
Requirement If the user enters correct login details, the system shall take him to his
account’s home page.
Source Developer 2

86
Rationale To login to user account.
Business Rule System should provide access to authorized users only, so users must
(if required) have an account to login and use application.
Dependencies NILL
Priority High

Table 159 FR-131

Identifier FR-131
Title Login. Details. Correct. No.
Requirement The system tells the user that entered details are invalid.
Source Developer 2
Rationale To notify user that entered details are not correct.
Business Rule System should provide access to authorized users only, so users must
(if required) have an account to login and use application.
Dependencies NILL
Priority High

3.3.1.5 Create Users Profile (Admin)


Table 160 FR-132

Identifier FR-132
Title Enter. User. Details.
Requirement User enters details including name, mobile no, address, password, and
gender.
Source Developer 2
Rationale To gather the necessary and minimum information to create an account
for the user.
Business Rule Other User cannot have access to the system unless created an account.
(if required)
Dependencies NILL
Priority High

Table 161 FR-133

Identifier FR-133
Title User. Details. Compulsory.

87
Requirement User enters details including name, mobile no, address, password,
gender.
Source Developer 2
Rationale To gather the necessary information to create an other’s user profile.
Business Rule User cannot have access to the system unless created an account.
(if required)
Dependencies NILL
Priority High
Table 162 FR-134

Identifier FR-134
Title User. Details. Compulsory. Filled.
Requirement User enters details including name, mobile no, address, password, and
gender.
Source Developer 2
Rationale To gather the necessary information to create other user’s profile.
Business Rule User cannot have access to the system unless created an account.
(if required)
Dependencies NILL
Priority High

Table 163 FR-135

Identifier FR-135
Title User. Details. Compulsory. Not Filled.
Requirement If the user did not enter any of the compulsory details for sign-up, the
system shall display message to enter missing details and highlight the
respective unfilled data field.
Source Developer 2
Rationale To notify user that he missed some necessary points.
Business Rule User cannot have access to the system unless created an account.
(if required)
Dependencies NILL
Priority High

Table 164 FR-136

Identifier FR-136
Title Check. User. Details.
Requirement To check if the user enters details including name, mobile no, address,

88
password and gender according to the format.
Source Developer 2
Rationale To check if the user enters the correct input.
Business Rule User cannot have access to the system unless created an account.
(if required)
Dependencies NILL
Priority High
Table 165 FR-137

Identifier FR-137
Title User. Account. Confirmation.
Requirement The system shall send account confirmation to user.
Source Developer 2
Rationale System takes user to the dashboard to show user that he is a verified user
and created account successfully.
Business Rule User cannot have access to the system unless created an account.
(if required)
Dependencies NILL
Priority High

3.3.1.6 Delete Users Profile (Admin)

Table 166 FR-138

Identifier FR-138
Title Delete User Account
Requirement The system wants to delete any user profile.
Source Developer 2
Rationale System takes into user dashboard and click on his name and delete
account by name.
Business Rule System only deletes those account which are register in app and show in
(if required) system database.
Dependencies NILL
Priority High

Table 167 FR-139

Identifier FR-139
Title Delete User Account.Successfullly

89
Requirement The system wants to delete any user profile.
Source Developer 2
Rationale System takes into user dashboard and click on his email and delete
account by using his email address or name.
Business Rule System only deletes those account which are register in app and show in
(if required) system database. After deletion check his database system delete user
successfully.
Dependencies NILL
Priority High

3.3.1.7 View Feedback (Super Admin)


Table 168 FR-140

Identifier FR-140
Title View. System. Notification.
Requirement The system shall allow the user to view feedback through system
notifications.
Source Developer 2
Rationale To view feedback.
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 169 FR-141

Identifier FR-141
Title Display. Notification. List.
Requirement The system shall display a list of notifications to Admin about feedback.
Source Developer 2
Rationale To display a list to admin.
Business Rule NILL
(if required)
Dependencies NILL
Priority High
Table 170 FR-142

Identifier FR-142

90
Title Filter Feedback list.
Requirement The system shall filter feedback list.
Source Developer 2
Rationale To display feedback view.
Business Rule NILL
(if required)
Dependencies NILL
Priority High

3.3.1.8 ADHD setting


Table 171 FR-143

Identifier FR-143
Title View. ADHD. Timer. settings
Requirement The system shall show the Adhd question timer
Source Developer 2
Rationale To display Timer of adhd question
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 172 FR-144

Identifier FR-144
Title Change time
Requirement The system shall show the timer to change it for Adhd question
Source Developer 2
Rationale A timer will be shown to set for the questions
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 173 FR-145

Identifier FR-145
Title Update success

91
Requirement The system shall read the new timer for Adhd question
Source Developer 2
Rationale A new timer for the question will be uploaded
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 174 FR-146

Identifier FR-146
Title Update fail
Requirement The system failed to read the new timer for Adhd question
Source Developer 2
Rationale A new timer for the question will be not be uploaded. An error screen
will be displayed
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Dyslexia Questions delete.


Table 175 FR-147

Identifier FR-147
Title View old questions
Requirement The system shall show all the old questions of dyslexia.
Source Developer 2
Rationale To display questions of dyslexia quiz
Business Rule NILL
(if required)
Dependencies NILL
Priority High
Table 176 FR-148

Identifier FR-148
Title new question
Requirement The system shall show a screen for new question.

92
Source Developer 2
Rationale A new question will be added
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 177 FR-149

Identifier FR-149
Title Update success
Requirement The system shall read the new questions and add it the list for dyslexia
question
Source Developer 2
Rationale A new question will be added, and a screen will be showed.
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 178 FR-150

Identifier FR-150
Title Update fail
Requirement The system failed to add the new question for Dyslexia.
Source Developer 2
Rationale A new question will be not be uploaded. An error screen will be
displayed.
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Edit question for dyslexia.

Table 179 FR-151

Identifier FR-151
Title View Question
Requirement The system shall show the question of dyslexia

93
Source Developer 2
Rationale To display all the question for the user to edit
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 180 FR-152

Identifier FR-152
Title Edit question
Requirement The system shall ask the user for the update in the question
Source Developer 2
Rationale Question will be edited by the user.
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 181 FR-153

Identifier FR-153
Title Update success
Requirement The system shall read the updated question for dyslexia and change it.
Source Developer 2
Rationale A new question for the dyslexia will be uploaded
Business Rule NILL
(if required)
Dependencies NILL
Priority High
Table 182 FR-154

Identifier FR-154
Title Update fail
Requirement The system failed to read the edited question for dyslexia.
Source Developer 2
Rationale the updated question will be not be uploaded. An error screen will be
displayed

94
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Dyscalculia new question

Table 183 FR-155

Identifier FR-155
Title View old questions
Requirement The system shall show all the old questions of dyscalculia.
Source Developer 2
Rationale To display questions of dyscalculia quiz
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 184 FR-156

Identifier FR-156
Title new question
Requirement The system shall show a screen for new question.
Source Developer 2
Rationale A new question will be added
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 185 FR-157

Identifier FR-157
Title Update success
Requirement The system shall read the new questions and add it the list for
dyscalculia question

95
Source Developer 2
Rationale A new question will be added, and a screen will be showed.
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 186 FR-158

Identifier FR-158
Title Update fail
Requirement The system failed to add the new question for dyscalculia.
Source Developer 2
Rationale A new question will be not be uploaded. An error screen will be
displayed.
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Edit question for dyslexia.

Table 187 FR-159

Identifier FR-159
Title View Question
Requirement The system shall show the question of dyscalculia
Source Developer 2
Rationale To display all the question for the user to edit
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 188 FR-160

Identifier FR-160
Title Edit question
Requirement The system shall ask the user for the update in the question
Source Developer 2

96
Rationale Question will be edited by the user.
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 189 FR-161

Identifier FR-161
Title Update success
Requirement The system shall read the updated question for dyscalculia and change it.
Source Developer 2
Rationale A new question for the dyslexia will be uploaded
Business Rule NILL
(if required)
Dependencies NILL
Priority High

Table 190 FR-162

Identifier FR-162
Title Update fail
Requirement The system failed to read the edited question for dyscalculia.
Source Developer 2
Rationale the updated question will be not be uploaded. An error screen will be
displayed
Business Rule NILL
(if required)
Dependencies NILL
Priority High

3.4 Non-Functional Requirements

3.4.1 Reliability

REL-1 Users can log into the application 98% of the time without failure.

97
REL-2 Users can complete the game 90% of the time without any error.

3.4.2 Usability

USE-1 The user shall be able to start the game with a single interaction

USE-2 The system shall be efficient enough to perform a task without a delay.
About 80% of our users i.e., parents shall be able to use the application without any
USE-3
difficulty.
USE-4 Users will be given understandable error messages

3.4.3 Performance

PER-1 The application shall respond to any trigger within 1 second


The application shall display the results of the game within 20 seconds 90% of the
PER-2
time
PER-3 The application will be able to handle 500 diagnoses in a minute.
Each level’s graphics shall take 2-3 seconds to render even with a slow internet
PER-4
connection
System should train at least 3 or more models to achieve maximum prediction
PER-5
accuracy
PER-6 System should achieve a prediction accuracy of more than 75%

3.4.4 Security
The application will use firebase AUTH to validate user identity to avoid
SEC-1
unauthorized access.
SEC-2 A particular user shall not be given access to other user’s data

3.5 External Interface Requirements

3.5.1 User Interfaces Requirements

UI-1 UI shall be consistent throughout the Application

UI-2 The system shall provide error message to show what went wrong

98
UI-3 The UI will use native components of the OS the application is being used on.

3.5.2 Software interfaces

SEC-1 The game will interact with the Machine Learning model to provide a diagnosis

3.5.3 Hardware interfaces

HI-1 The application requires a camera for eye tracking functionality

3.5.4 Communications interfaces

CI-1 The application shall send a conformation email for sign up verification.

CI-2 The application shall send a notification for any updates from the app

99
4 Design and Architecture

4.1 Architectural Design

Figure 8 : Client-Server Architecture Diagram

Figure 8: The Architectural style of our application is a multi-tiered architecture, with Flutter
frontend framework is responsible for all the presentation layer activities, the Dart is responsible
for backend activities and the firebase database is responsible for the data management functions.

100
4.2 Design Models
4.2.1 Activity Diagram

101
4.2.1.1 Activity Diagram of Profile Management

Figure 9: Activity Diagram for user profile management shows the login and sign up process.

4.2.1.2 Activity Diagram of Patient History Record

Figure 9 Activity Diagram Profile Management

102
Figure 10: Activity Diagram for Patient history record shows process of collecting user data in a
form and saving to database.

103
4.2.1.3 Activity Diagram of Dyslexia Game: Preschool Level

Figure 11 Activity Diagram Dyslexia Game: Preschool

Figure 11: Activity Diagram for dyslexia game at preschool level showing the several types of
questions such as shape rotation and matching shapes.

104
4.2.1.4 Activity Diagram of Dyslexia Game: Learners Level

Figure 12 Activity Diagram Dyslexia Game: Learners

Figure 12: Activity Diagram for dyslexia game at learner’s level showing the different types of
questions such as drag and drop and matching shapes.

105
4.2.1.5 Activity Diagram of Dyslexia Game: Elementary Level

Figure 13 Activity Diagram Dyslexia Game: Elementary

Figure 13: Activity Diagram for dyslexia game at elementary level showing the several types of
questions such as puzzle images.

106
4.2.1.6 Activity Diagram of Dyscalculia Game: Preschool Level

Figure 14 Activity Diagram of Dyscalculia Game: Preschool

Figure 14: Activity Diagram for dyscalculia game at preschool level showing the several types of
questions such as number rotation and matching shapes.

107
4.2.1.7 Activity Diagram of Dyscalculia Game: Learners Level

108
Figure 15: Activity Diagram for dyscalculia game at learner’s level showing the different types
of questions such as sound to number matching and multiple tiles dragging.

109
4.2.1.8 Activity Diagram of Dyscalculia Game: Elementary Level

Figure 16 Activity Diagram of Dyscalculia Game: Elementary

Figure 16: Activity Diagram for dyscalculia game at elementary level showing the several types
of questions such as number rotation and matching shapes.

110
111
4.2.1.9 Activity Diagram of ADHD Game

Figure 17 Activity Diagram of ADHD Game


Figure 17: Activity Diagram for ADHD game showing the distinct levels of the game the first
level includes no distractors while the higher levels consist of image and sound-based distractors.

112
4.2.2 Class Diagram

Figure 18 Class Diagram


113
4.2.3 Sequence Diagram
4.2.3.1 Sequence diagram for User Profile Management

Figure 18 Sequence diagram: Profile Management


Figure 18: Sequence Diagram for profile management shows the flow between front end and
backend for login and sign up process.

114
4.2.3.2 Sequence diagram Dyslexia Game: Preschool

Figure 19 Sequence diagram: Dyslexia Preschool

Figure 19: Sequence Diagram for Dyslexia at preschool level shows the flow and ordering of
different questions at this level.

115
4.2.3.3 Sequence diagram Dyslexia Game: Learners

Figure 20 Sequence diagram: Dyslexia Learner

Figure 20: Sequence Diagram for Dyslexia at learner’s level shows the flow and ordering of
different questions at this level.

116
4.2.3.4 Sequence diagram Dyslexia Game: Elementary

Figure 20 Sequence diagram: Dyslexia Elementary

Figure 21: Sequence Diagram for Dyslexia at elementary level shows the flow and ordering of
different questions at this level.

117
4.2.3.5 Sequence diagram Dyscalculia Game: Preschool

Figure 22 Sequence Diagram: Dyscalculia preschool

Figure 22: Sequence Diagram for dyscalculia at preschool level shows the flow and ordering of
different questions at this level.

118
4.2.3.6 Sequence diagram Dyscalculia Game: Learners

Figure 23 Sequence diagram: Dyscalculia Learners

Figure 19: Sequence Diagram for dyscalculia at learner’s level shows the flow and ordering of
different questions at this level.

119
4.2.3.7 Sequence diagram Dyscalculia Game: Elementary

Figure 24 Sequence diagram: Dyscalculia Elementary

Figure 24: Sequence Diagram for dyscalculia at elementary level shows the flow and ordering of
different questions at this level.

120
4.3 Data Design

4.3.1 Data Dictionary

4.3.1.1 A. ‘users’ Collection:

Entities Type Description


id Object Unique Identifier
username String Username for the account
email String User’s email
password String User’s Password
Child’s Parent/Guardian
parent name String
Name
child name String Child’s Name
child age Int Child’s Age
child gender String Child’s Gender

4.3.1.2 ‘initialFormData’ Collection:

Entities Type Description


id Object Unique Identifier
The date and time for the
instance when user completed
datetime string
the information registration
form.
A Json array of objects
containing all the questions
data Array
and their corresponding
answers
JSON Object consisting of
json_object JSON
question and answer
Question that is displayed in
question String
the information form
Answer String Answer to the Question

121
4.3.1.3 ‘UserGameScores Dyslexia/Dyscalculia Collection:

Entities Type Description


id Object Unique Identifier
level String Current Level
gender String Child’s gender
hits Integer Number of correct answers
miss Integer Number of incorrect answers
Time taken by the user to
time Integer
attempt each question
Total time taken by the user
totalTime Integer
to answer all the questions
Total number of clicks a child
numberOfClicks Integer
takes to answer one question
Number of correct answers
Score Integer
out of total questions
the number of Clicks divided
Accuracy Float
by the number of Hits
the number of Clicks divided
Miss Rate Float
by the number of Misses
The date at time at which this
timestamp Datetime object
record was taken

4.3.1.4 ‘UserGameScores ADHD Collection:

Entities Type Description


id Object Unique Identifier
level String Current Level
gender String Child’s gender
hits Integer Number of correct answers
miss Integer Number of incorrect answers
Time the user was distracted
Inattentive Duration Integer
during the level
Total time the user was
totalTime Integer distracted during the whole
game
Number of correct answers
Score Integer
out of total questions
Accuracy Float the number of Clicks divided
122
by the number of Hits
the number of Clicks divided
Miss Rate Float
by the number of Misses
The date at time at which this
timestamp Datetime object
record was taken

4.3.1.5 ‘userScores Collection:

Entities Type Description


id Object Unique Identifier
The username from which
username String
user is logged in
The level which user played
lastPlayedLevel String
last time.
JSON Object containing array
for each respective level to
Scores Object
record all of user’s previous
records.

4.3.1.6 ‘History Collection:

Entities Type Description


id Object Unique Identifier
The username from which
username string
user is logged in
JSON Object containing
latestDiagnosis JSON Object
previous prediction result.
Probability of child’s
Accuracy Float diagnosis from previous
prediction result
Result of previous prediction
Diagnosis String whether the child is dyslexic
or not.

4.4 Human Interface Design


Quality was prioritised over quantity in terms of execution and interface design. Because our
system is intended to be used mostly by children, the user interface has been created to entirely
123
assist users through the process of performing a task. For example, the system sends interactive
toast notifications to the user to let them know where they are, what the system is doing right
now, and what they should do if there is a mistake. So far, the implementation has gone well.

1. All this along with some interactive toast messages from the server side make it
completely interactive and friendly for the user.

2. All the interfaces have been kept extremely simple to avoid any complexity of use for the
system’s most targeted users.

4.4.1 Screen Images

4.4.1.1 Login/Sign up.

124
User logins sign up screen complete with validation.

125
4.4.1.2 Patient History record

4.4.1.2 Patient Form: Form to be filled by


user before the start of game to collect basic
information.

126
4.4.1.3 Home Screen
4.4.1.1: Home displaying the 3 games
Dyslexia, Dyscalculia and ADHD.

On the right of app bar user panel is given to


check up user info and to logout of the app.

127
4.4.1.4 Dyslexia Game Screen

Dyslexia Game screen that shows a “match the shape” question.

128
4.4.1.5 ADHD Game Screen

ADHD game screen showing 4 distractors. User presses the “GO” button when the distractors
disappears and a stimulus is shown in the middle

4.4.2 Screen Objects and Actions

4.4.3 Signup button

4.4.4 Letter tile

129
4.4.5 Next question button

4.4.6 New account button

4.4.7 Shape tile

4.4.8 Input field

5 Implementation

5.1 Algorithm

ML Backend
from random import choices, randint
import pandas as pd.
import numpy as np.
from sklearn. model_selection import train_test_split
import tensorflow as tf.
from tensorflow. keras. models import load_model.

130
def generate_positive_dataset(size_of_dataset):
levels = [1, 2, 3]
# 0 for Male and 1 for Female
gender = [0, 1]
# Click count minimum and maximum ranges in clicks
click_count_min = 110
click_count_max = 200
# Duration minimum and maximum ranges in mins
duration_min = 10
duration_max = 25
# Correct answer minimum and maximum ranges
correct_answer_min = 1
correct_answer_max = 25
# Avg FCT minimum and maximum ranges in seconds
avg_fct_min = 7
avg_fct_max = 16

# Ignoring feature incorrect due to feature correlation


# Ignoring feature accuracy due to correlation with feature click count and correct
# Ignoring feature missrate due to correlation with feature click count and incorrect
# Ignoring feature effect due to correlation with feature click count and correct
# Ignoring feature average click time due to correlation with duration and total clicks

levels = choices (levels, k = size_of_dataset)


gender = choices (gender, k = size_of_dataset)
click_count = [randint(click_count_min, click_count_max) for p in range(0, size_of_dataset)]
duration = [randint (duration_min, duration_max) for p in range(0, size_of_dataset)]
correct_answer = [randint(correct_answer_min, correct_answer_max) for p in range(0,
size_of_dataset)]
avg_fct = [randint(avg_fct_min, avg_fct_max) for p in range(0, size_of_dataset)]
output = [1] * size_of_dataset

positive_dataset = pd. DataFrame (


{
'levels’: levels,
"gender”: gender,
'Click_count’: click_count,
'duration’: duration,
'Correct_answer’: correct_answer,
'Avg_fct’: avg_fct,
'output’: output
}
)

positive_dataset.to_csv('positive_dataset.csv')

131
def generate_negative_dataset(size_of_dataset):
levels = [1, 2, 3]
# 0 for Male and 1 for Female
gender = [0, 1]
# Click count minimum and maximum ranges in clicks
click_count_min = 110
click_count_max = 150
# Duration minimum and maximum ranges in mins
duration_min = 7
duration_max = 15
# Correct answer minimum and maximum ranges
correct_answer_min = 20
correct_answer_max = 40
# Avg FCT minimum and maximum ranges in seconds
avg_fct_min = 5
avg_fct_max = 14

# Ignoring feature incorrect due to feature correlation


# Ignoring feature accuracy due to correlation with feature click count and correct
# Ignoring feature missrate due to correlation with feature click count and incorrect
# Ignoring feature effect due to correlation with feature click count and correct
# Ignoring feature average click time due to correlation with duration and total clicks

levels = choices (levels, k = size_of_dataset)


gender = choices (gender, k = size_of_dataset)
click_count = [randint (click_count_min, click_count_max) for p in range(0, size_of_dataset)]
duration = [randint (duration_min, duration_max) for p in range(0, size_of_dataset)]
correct_answer = [randint (correct_answer_min, correct_answer_max) for p in range(0,
size_of_dataset)]
avg_fct = [randint (avg_fct_min, avg_fct_max) for p in range(0, size_of_dataset)]
output = [0] * size_of_dataset

negative_dataset = pd. DataFrame (


{
'levels’: levels,
"gender”: gender,
'click_count’: click_count,
'duration’: duration,
'correct_answer’: correct_answer,
'avg_fct’: avg_fct,
'output’: output
}
)

132
negative_dataset.to_csv('negative_dataset.csv')

def generate_dataset ():


negative_dataset = pd. read_csv("negative_dataset.csv")
positive_dataset = pd. read_csv("positive_dataset.csv")

dataset = pd. concat([negative_dataset, positive_dataset])

dataset = dataset. iloc[:, 1:]


dataset.to_csv('dataset.csv')

def train_model ():


# Reading in the dataset
dataset = pd. read_csv("dataset.csv")
X = dataset. iloc[: , 1:-1]
Y = dataset. iloc[: , 7:]

# Splitting dataset into training and testing dataset


X_train, X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.2,random_state=0)

# Initialising ANN
ann = tf. keras.models.Sequential()
# Adding First Hidden Layer
ann.add (tf. keras. layers.Dense(units=6,activation="relu"))
# Adding Second Hidden Layer
ann.add (tf. keras.layers.Dense(units=6,activation="relu"))
# Adding Output Layer
ann.add (tf. keras.layers.Dense(units=1,activation="sigmoid"))
# Compiling ANN
ann. compile(optimizer="adam",loss="binary_crossentropy",metrics=['accuracy'])
# Fitting ANN
ann.fit (X_train,Y_train,batch_size=32,epochs = 100)

# Save Model
ann. save('custom_model.h5')
print ('Model saved')

def result(test_sample):
# Load model
savedModel=load_model('custom_model.h5')
savedModel.summary()
# Predicting result for Single Observation

return(savedModel.predict(test_sample) > 0.5)

133
5.2 External APIs/SDKs

Table 5 Details of APIs used in the project.


Name of API Description of API Purpose of usage List down the API
and version endpoint/function/class in which
it is used
Firebase API Firebase API is Use to store and retrieve Null
used to integrate data
firebase database
functionality
Flask API Flask API will be It will help us to analyze null
used to deploy whether the child has adhd
Machine Learning/ or dyslexia
Deep learning
models

6. Testing and Evaluation

6.1 Unit Testing

Unit Testing 1: Create Account


Testing Objective: To ensure that the account has been created successfully.
Test Case Id: TC_01
Test Case Description: Test the project creation functionality.
Test Scenario: User will create the account with valid information.

No Test Test Expected Actual Result Pass/Fail/Not


. Case/Test Attributes/values Result Executed/
Script Suspended

134
1. User will Username:” An alert will As Expected, Pass
fill the Daniyal CH” generate with
valid Password: the message
credentials “********” “account has
for account Confirm Password: been created
creation “********” successfully”
Email:”
ABC@gmail.com”

Gender:” Male”
Age: “22”

2. If user N/A An alert will As Expected, Pass


leaves the generate with
form the message
unfilled “fields cannot
and hits the be empty”
submit
button

Unit Testing 2: Login


Testing Objective: To ensure that the user has logged in successfully.
Test Case Id: TC_02
Test Case Description: Test the project login functionality.
Test Scenario: User will login into the system with valid information

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Check the Email: abc@gmail.com Validates As Pass


email field of email Expected,
login to address
validate that
and moves
it takes
proper email cursor to
next.
textbox

135
2. Check the Email: abc.gmail.com Highlight As Pass
email field s field and Expected,
of login to displays
validate error.
that it. message
displays
error
message
3. Check the Password: 19063000as Validates As Pass
password the Expected,
field of login password
to validate and account
that it takes is
proper successfully
password logged
in
4. Check Password: 19063000 Field gets As Pass
the highlighted Expected,
password and the
field to error
validate message is.
it displayed
displays
error
message.
for wrong
password

Unit Testing 3: Select Game


Testing Objective: To ensure that the user has selected the game successfully.
Test Case Id: TC_03
Test Case Description: Test the project start game functionality.
Test Scenario: User will select the game he or she wants to play.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that Click on any game to start Patient As Pass


player is history form Expected,
able to will appear

136
select the
game to
play.

Unit Testing 4: fill and submit history form.


Testing Objective: To ensure that the user has filled his/her history form successfully.
Test Case Id: TC_04
Test Case Description: Test the patient history form functionality.
Test Scenario: User will fill out the form.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that Name:” Shazif rizwan” Patient As Pass


player is Age:12 history form Expected,
able to will be
submit his Yes/no answers. submitted
health Past diagnoses: Yes/NO
history form Family history diagnosed:
Yes/NO
Class behavior: normal or
destructive
……..

Click on submit button.

2. Verify that Does not answer some of An alert will As Pass


player has the fields. generate with Expected,
not the message
answered all “fields cannot
the be empty”
Questions
3. If user N/A An alert will As Pass
leaves the generate with Expected,
form the message
unfilled and “fields cannot
hits the be empty”
submit
button

Unit Testing 5: Start Game(Dyslexia)


Testing Objective: To ensure that the user has started the game successfully.

137
Test Case Id: TC_05
Test Case Description: Test the patient history form functionality.
Test Scenario: User will fill out the form.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that Level As Pass


user can Click on start button. selection page Expected,
start the will appear
game
successfully

Unit Testing 6: Select game level (Dyslexia)


Testing Objective: To ensure that the user has level of the game successfully.
Test Case Id: TC_06
Test Case Description: Test the game level functionality.
Test Scenario: User will select the level of the game.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that Preschool As Pass


user can Click on preschool level. level of the Expected,
select the game will
game start.
successfully
2. Verify that Click on Intermediate level Intermediate As Pass
user can level of the Expected,
select the game will
game start.
successfully
3. Verify that Click on hard level hard level of As Pass
user can the game will Expected,
select the start.
game
successfully

Unit Testing 7: Select game avatar (Dyslexia)


Testing Objective: To ensure that the user has selected the avatar successfully.

138
Test Case Id: TC_07
Test Case Description: Test the player avatar functionality.
Test Scenario: User will select the avatar.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will No Fail


user can User chooses an avatar. choose that avatar
select the User clicks on the select avatar and found.
avatar. button of the avatar. display it
throughout
the game

Unit Testing 8: Start the game (Dyslexia)


Testing Objective: To ensure that the system has started the game successfully.
Test Case Id: TC_08
Test Case Description: Test the system game functionality.
Test Scenario: User will start the game.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will Game Pass


user can Click on start the game start the game started.
start the button. for the user to
game play.

Unit Testing 9: Test case for select picture option.


Testing Objective: To ensure that the user can select the picture options successfully.
Test Case Id: TC_09
Test Case Description: Test the system select picture option functionality.
Test Scenario: User will select the correct option.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/

139
Script Suspended

1. Verify that System will As Pass


user can Click on show image. show a expected,
select an picture for the
option user.
2. Verify that Select the option User can As Pass
user can select the expected,
select an option.
option
3. Verify that Next Question User can As Pass
user can move to next expected,
move to question
next
question.

Unit Testing 10: Test case for select word option.


Testing Objective: To ensure that the user can select the word options successfully.
Test Case Id: TC_10
Test Case Description: Test the system select word option functionality.
Test Scenario: User will select the correct option.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can Click on play button. start a sound expected,
hear the for user to
letter sound. hear.
2. Verify that Select the option User can As Pass
user can select the expected,
select an option.
option
3. Verify that Next Question User can As Pass
user can move to next expected,
move to question
next
question.

Unit Testing 11: Test case for drag word option.


Testing Objective: To ensure that the user can drag the word options successfully.

140
Test Case Id: TC_11
Test Case Description: Test the system drag word option functionality.
Test Scenario: User will drag the correct option.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can Click on play button. start a sound expected,
hear the for user to
letter sound. hear.
2. Verify that Drag the option User can drag As Pass
user can the option. expected,
drag an
option
3. Verify that Drop the option in bucket User can drop As Pass
user can the option in expected,
drag an the bucket
option
4. Verify that Next Question User can As Pass
user can move to next expected,
move to question
next
question.

Unit Testing 12: Test case for drag picture option.


Testing Objective: To ensure that the user can drag the picture options successfully.
Test Case Id: TC_12
Test Case Description: Test the system drag picture option functionality.
Test Scenario: User will drag the correct picture.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

2. Verify that Drag the picture User can As Pass


user can drag the expected,
drag a picture.
picture
3. Verify that Drop the option in bucket User can As Pass
user can drop the expected,
drag a picture in the

141
picture bucket
4. Verify that Next Question User can As Pass
user can move to next expected,
move to question
next
question.

Unit Testing 13: Test case for viewing each round score.
Testing Objective: To ensure that the user view the round score successfully.
Test Case Id: TC_13
Test Case Description: Test the system scoring functionality.
Test Scenario: User will complete a round.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can User completes a round. show each expected,
view round round score
score
2. Verify that User does not completes Question As Pass
user can’t the round will keep expected,
see round appearing
score before
completion
of round

Unit Testing 14: Test case for viewing each round score.
Testing Objective: To ensure that the user view the round score successfully.
Test Case Id: TC_14
Test Case Description: Test the system scoring functionality.
Test Scenario: User will complete a round.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass

142
user can User completes a round. show each expected,
view round round score
score
2. Verify that User does not complete Question As Pass
user can’t the round will keep expected,
see round appearing
score before
completion
of round

Unit Testing 15: Test case play sound.


Testing Objective: To ensure that the user hear the sound successfully.
Test Case Id: TC_15
Test Case Description: Test the system play sound functionality.
Test Scenario: User will select play button.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can Users select play button. speak the expected,
hear a letter word

Unit Testing 16: play again.


Testing Objective: To ensure that the user play again successfully.
Test Case Id: TC_16
Test Case Description: Test the system play again functionality.
Test Scenario: User will select play again button.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can User ends game first. start the expected,
play again User selects play again game again
button.

143
Unit Testing 17: Quit.
Testing Objective: To ensure that the user can quit the game successfully.
Test Case Id: TC_17
Test Case Description: Test the system quit game functionality.
Test Scenario: User will select quit game button.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can User has started the game quit the expected,
quit game. and ended it. game and
move to
home page

Unit Testing 18: scoreboard.


Testing Objective: To ensure that the user can view the whole game scoreboard successfully.
Test Case Id: TC_18
Test Case Description: Test the system scoring functionality.
Test Scenario: User will end the game.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can User ends game. show the expected,
view game score
score

Unit Testing 19: nearby doctors.


Testing Objective: To ensure that the user can view the clinics successfully.
Test Case Id: TC_19
Test Case Description: Test the system finding nearby clinics functionality.

144
Test Scenario: User can view the clinics in nearby affinity.

No Test Test Attributes/Values Expected Actual Pass/Fail/Not


. Case/Test Result Result Executed/
Script Suspended

1. Verify that System will No clinic Fail


user can User ends game. show the
view clinics User Clicks on the fin clinics
doctors.

Unit Testing 20: Start the game (Dyscalculia)


Testing Objective: To ensure that the system has started the game successfully.
Test Case Id: TC_20
Test Case Description: Test the system game functionality.
Test Scenario: User will start the game.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will Game Pass


user can Click on start the game start the game started.
start the button. for the user to
game play.

Unit Testing 21: Test case for select picture option.


Testing Objective: To ensure that the user can select the picture options successfully.
Test Case Id: TC_21
Test Case Description: Test the system select picture option functionality.
Test Scenario: User will select the correct option.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass

145
user can Click on show algebraic show an expected,
select an questions. algebraic
option question.
for the user.
2. Verify that Select the option User can As Pass
user can select the expected,
select an option.
option
3. Verify that Next Question User can As Pass
user can move to next expected,
move to question
next
question.

Unit Testing 22: Test case for select number option.


Testing Objective: To ensure that the user can select the word options successfully.
Test Case Id: TC_22
Test Case Description: Test the system select word option functionality.
Test Scenario: User will select the correct option.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

2. Verify that Select the option User can As Pass


user can select the expected,
select an option.
option
3. Verify that Next Question User can As Pass
user can move to next expected,
move to question
next
question.

Unit Testing 23: Test case for drag number option.


Testing Objective: To ensure that the user can drag the word options successfully.
Test Case Id: TC_23
Test Case Description: Test the system drag number option functionality.
Test Scenario: User will drag the correct option.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not

146
Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can Click on show question. show an expected,
hear the image for 2
letter sound. seconds
2. Verify that Drag the option User can drag As Pass
user can the option. expected,
drag an
option
3. Verify that Drop the option in bucket User can drop As Pass
user can the option in expected,
drag an the bucket
option
4. Verify that Next Question User can As Pass
user can move to next expected,
move to question
next
question.

Unit Testing 24: Test case for drag picture option.


Testing Objective: To ensure that the user can drag the picture options successfully.
Test Case Id: TC_24
Test Case Description: Test the system drag picture option functionality.
Test Scenario: User will drag the correct picture.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

2. Verify that Drag the correct number User can As Pass


user can of pictures drag the expected,
drag a picture.
picture
3. Verify that Drop the option in bucket User can As Pass
user can drop the expected,
drag a picture in the
picture bucket
4. Verify that Next Question User can As Pass
user can move to next expected,
move to question
next
question.

147
Unit Testing 25: Test case for viewing each round score.
Testing Objective: To ensure that the user view the round score successfully.
Test Case Id: TC_25
Test Case Description: Test the system scoring functionality.
Test Scenario: User will complete a round.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can User completes a round. show each expected,
view round round score
score
2. Verify that User does not complete Question As Pass
user can’t the round will keep expected,
see round appearing
score before
completion
of round

Unit Testing 26: Test case show numbers.


Testing Objective: To ensure that the user can see the numbers successfully.
Test Case Id: TC_26
Test Case Description: Test the system play sound functionality.
Test Scenario: User will select play button.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can see Users select show button. show the expected,
number and numbers
count them

Unit Testing 27: play again.

148
Testing Objective: To ensure that the user play again successfully.
Test Case Id: TC_27
Test Case Description: Test the system play again functionality.
Test Scenario: User will select play again button.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can User ends game first. start the expected,
play again User selects play again game again
button.

Unit Testing 28: Quit.


Testing Objective: To ensure that the user can quit the game successfully.
Test Case Id: TC_28
Test Case Description: Test the system quit game functionality.
Test Scenario: User will select quit game button.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can User has started the game quit the expected,
quit game. and ended it. game and
move to
home page

Unit Testing 29: scoreboard.


Testing Objective: To ensure that the user can view the whole game scoreboard successfully.
Test Case Id: TC_29
Test Case Description: Test the system scoring functionality.
Test Scenario: User will end the game.

149
No. Test Test Attributes/Values Expected Actual Pass/Fail/Not
Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can User ends game. show the expected,
view game score
score

Unit Testing 30: nearby doctors.


Testing Objective: To ensure that the user can view the clinics successfully.
Test Case Id: TC_30
Test Case Description: Test the system finding nearby clinics functionality.
Test Scenario: User can view the clinics in nearby affinity .

No Test Test Attributes/Values Expected Actual Pass/Fail/Not


. Case/Test Result Result Executed/
Script Suspended

1. Verify that System will No clinic Fail


user can User ends game. show the
view clinics User Clicks on the fin clinics
doctors.

Unit Testing 31: Start game (ADHD)


Testing Objective: To ensure that the start adhd successfully.
Test Case Id: TC_31
Test Case Description: Test the system Adhd game functionality.
Test Scenario: User can play the game.

No Test Test Attributes/Values Expected Actual Pass/Fail/Not


. Case/Test Result Result Executed/
Script Suspended

1. Verify that System will Game Pass


user start User selects start game start game started
ADHD button.

150
Unit Testing 32: picture distractor.
Testing Objective: To ensure that the user can view distractors successfully.
Test Case Id: TC_32
Test Case Description: Test the system distracting functionality.
Test Scenario: User can view the distractor.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will Distractor pass


user can User starts game. show the shown
view distractor
distractors

Unit Testing 33: sound distractor.


Testing Objective: To ensure that the user can hear distractors successfully.
Test Case Id: TC_33
Test Case Description: Test the system distracting functionality.
Test Scenario: User can hear the distractor.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will Distractor pass


user can User starts game. speak the spoken
hear distractor
distractors

Unit Testing 34: combined distractor.


Testing Objective: To ensure that the user can hear and see distractors successfully.
Test Case Id: TC_34
Test Case Description: Test the system distracting functionality.

151
Test Scenario: User can hear and see the distractor

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will Distractor pass


user can User starts game. speak and spoken
hear and show the and
see distractor shown
distractors

Unit Testing 35: tap when asked.


Testing Objective: To ensure that the user can tap successfully.
Test Case Id: TC_35
Test Case Description: Test the system tapping functionality.
Test Scenario: User can follow the instructions.

No Test Test Attributes/Values Expected Actual Pass/Fail/Not


. Case/Test Result Result Executed/
Script Suspended

1. Verify that System will Correct pass


user can see User sees the middle show an image
the picture. image for set will be
instructions time shown

Unit Testing 36: play again.


Testing Objective: To ensure that the user play again successfully.
Test Case Id: TC_36
Test Case Description: Test the system play again functionality.
Test Scenario: User will select play again button.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass

152
user can User ends game first. start the expected,
play again User selects play again game again
button.

Unit Testing 37: Quit.


Testing Objective: To ensure that the user can quit the game successfully.
Test Case Id: TC_37
Test Case Description: Test the system quit game functionality.
Test Scenario: User will select quit game button.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can User has started the game quit the expected,
quit game. and ended it. game and
move to
home page

Unit Testing 38: scoreboard.


Testing Objective: To ensure that the user can view the whole game scoreboard successfully.
Test Case Id: TC_38
Test Case Description: Test the system scoring functionality.
Test Scenario: User will end the game.

No. Test Test Attributes/Values Expected Actual Pass/Fail/Not


Case/Test Result Result Executed/
Script Suspended

1. Verify that System will As Pass


user can User ends game. show the expected,
view game score
score

Unit Testing 39: nearby doctors.

153
Testing Objective: To ensure that the user can view the clinics successfully.
Test Case Id: TC_39
Test Case Description: Test the system finding nearby clinics functionality.
Test Scenario: User can view the clinics in nearby affinity.

No Test Test Attributes/Values Expected Actual Pass/Fail/Not


. Case/Test Result Result Executed/
Script Suspended

1. Verify that System will No clinic Fail


user can User ends game. show the
view clinics User Clicks on the fin clinics
doctors.

6.2 Functional Testing

1.1.10. Functional Testing 1: Login


Testing Objective: To ensure that the correct page is loaded.

No. Test Attribute and Expected result. Actual result Result


case/Test value
script

1. Login as a Username: daniyal Main page for the Logged in and Pass
‘player’ Password: player is loaded. redirected to
152584fdwff player main page.
2. Login as a Username: Gulmina Main page for the Logged in and Pass
‘admin’ Password: admin is loaded redirected to
Gul1234? admin main page.

3. Login as a Username: shazif Main page for the Logged in and Pass
‘parent’ Password: parent is loaded redirected to
shazif1234! parent main page.

1.1.11. Functional Testing 2: Login as Admin

Objective: To ensure the login as admin is working properly.

154
Test Test Data Expected Result Actual Pass/Fail/Not
Case/Test Result Executed/
Script Suspended

Verify user Email: Successfully login into the As Pass


login as admin123@gmail.com dashboard of the admin. Expected,
admin after Password:
clicking on 1234
the ‘Login’
button on
login form
with correct
input data.

Verify that Email: The system displays As Pass


the system Admin123gweds.com “invalid credentials.” Expected,
generates Password:
error on 1234
entering
incorrect
credentials.
Verify that Email: Error is displayed against As Pass
system Admin123@gweds.com the missing field. Expected,
generates
the error for
the field that
is missing
on clicking
login button.

1.1.12. Functional Testing 3: User Signup

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1 Verify user Email: System verifies As pass
entered a valid alamk377@gmail.com email id is valid expected,
Email id

155
2 Verify user Username: “alamk” System verifies As pass
entered a valid username is expected,
username that is valid
at least 5
characters
3. Verify user Password: Kid1234% System verifies As pass
entered a valid password is expected,
password that is valid
at least 8
characters, with
at least 1 letter,1
number and 1
special
character
4. Verify user re- Password: Kid1234% System As pass
entered the matches the expected,
same password password and
verifies it is
same
5. Verify user Parent’s name: System verifies As pass
entered a valid Younas khan parent name is expected,
full parent name valid
at least 5
characters long
6. Verify user Child’s name: System verifies As Pass
entered a valid Alam khan child name is expected,
full child name valid
at least 5
characters long
7. Verify user Age: 9 System verifies As Pass
entered a valid child’s age is expected,
age of the child less than 13
between 1-12
8. Verify user N/A System verifies As Pass
selected a that a gender expected,
gender of the option is
child selected by
highlighting it
9. Verify the N/A System verifies As Pass
signup button the entered expected,
works information and
creates an
account for the
user

156
1.1.13. Functional Testing 4: Access User Profile

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1 Verify that user N/A System takes As pass
can access user the user to the expected,
profile page by user profile
clicking on page
profile image

1.1.14. Functional Testing 5: Upload Profile Image

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that user N/A System will As pass
can select open up the expected,
profile image by local storage.
clicking on Pop-up window
upload button for the user to
select an image
file
2. Verify that the N/A System will As Pass
new image is upload the expected,
uploaded by selected image
clicking on file as user’s
select button profile image

1.1.15. Functional Testing 6: Delete Profile Image

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended

157
1. Verify that user N/A System will As pass
can delete the remove the expected,
profile image by user’s current
clicking on profile image
delete button

1.1.16. Functional Testing 7: Edit User Information

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As pass
clicking on edit activate the expected,
button the fields input fields and
become make them
editable. editable

2. Verify that by N/A System will As Pass


clicking on edit update the user expected,
button the profile with the
current new
information will information and
be updated display it in the
fields

1.1.17. Functional Testing 8: Performance Tracking

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended

158
1. Verify that by N/A System will As pass
clicking on display all the expected,
scoreboard scoreboards to
button user can the user
see all the
scoreboards of
previous games
2. Verify that by N/A System will As Pass
clicking on display all the expected,
Dyslexic dyslexic
prediction predictions to
button user can the user
see all the
prediction
results of
previous games
3. Verify that by N/A System will As Pass
clicking on the display the expected,
improvement user.
graph button The
user can see improvement
how much graph
he/she has
improved in the
form of graph

1.1.18. Functional Testing 9: Instructional Video

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
clicking on play play the expected,
button the video instructional
starts. video for the
user

159
2. Verify that by N/A System will As Pass
clicking on stop the expected,
pause button the instructional
video stops video

1.1.19. Functional Testing 10: Consent Form

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
clicking on the verify that user expected,
checkbox of has accepted
accepting terms our terms and
and condition display the
proceed button proceed button
appears
2. Verify that by N/A System will As Pass
not clicking on verify that that expected,
the checkbox the checkbox
user cannot has not been
continue ticked it will
not display the
proceed button

1.1.20. Functional Testing 11: Form Submission

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
clicking on the verify that user expected,
done button on has filled out
last form page the form and
users’ register their
information is information in

160
registered the database

1.1.21. Functional Testing 12: Save Information

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
clicking on the verify that user expected,
save has selected the
information checkbox and
checkbox users will save his
would not have information and
to fill the form will not ask
again again to fill the
form

1.1.22. Functional Testing 13: Level Selection

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
clicking on start verify that user expected,
button of selected
preschooler preschooler
level that level and it will
gaming level redirect the user
starts to that level
2. Verify that by N/A System will As Pass
clicking on start verify that user expected,
button of selected learner
learner level level and it will
that gaming redirect the user
level starts to that level
3. Verify that by N/A System will As Pass
clicking on start verify that user expected,
button of selected

161
elementary elementary
level that level and it will
gaming level redirect the user
starts to that level

1.1.23. Functional Testing 14: Avatar Selection

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
clicking on verify that user expected,
select button of selected the
‘ahmed’ avatar ‘ahmed’ avatar
that avatar is and will display
selected for the the avatar
game throughout the
game
2. Verify that by N/A System will As Pass
clicking on verify that user expected,
select button of selected the
‘bismah’ avatar ‘bismah’ avatar
that avatar is and will display
selected for the the avatar
game throughout the
game

1.1.24. Functional Testing 15: Drag And Place Tile

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
selecting at least verify that a tile expected,
one tile and has been placed
placing into in the answer
answer container and
container user will display the
can move onto next question
next question button

162
2. Verify that by N/A System will As Pass
not placing any verify that no expected,
tile into the tile has been
answer placed in the
container user answer
cannot move container so it
onto next will not display
question the next
question button

1.1.25. ] Functional Testing 16: Select Option


No. Test Case/Test Test data Expected Actual Pass/Fail/Not
Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
selecting an verify that an expected,
option as an option has been
answer from selected by
multiple options highlighting it
can move onto and display the
next question next question
button
2. Verify that by N/A System will As Pass
not selecting verify that no expected,
any option as an option has been
answer from selected by user
multiple options and not display
cannot move the next
onto next question button
question

1.1.26. Functional Testing 17: Write Answer

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended

163
1. Verify that by N/A System will System Pass
typing the verify that already
answer in the answer field is shows the
answer field filled and will next
then user can display the next question
move onto next button question button
question without
having the
need to
type the
answer

1.1.27. Functional Testing 18: Select Sound

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
selecting a verify that a expected,
sound option sound option
then user can has been
move onto next selected as an
question answer and will
display the next
question button

1.1.28. Functional Testing 19: Question Difficulty

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
giving three verify that user expected,
consecutive has given three
correct answers consecutive
in easy level correct answers
question it will increase
difficulty will the difficulty
increase to level from easy
medium level to medium

164
2. Verify that by N/A System will As Pass
giving three verify that user expected,
consecutive has given three
correct answers consecutive
in medium level correct answers
question it will increase
difficulty will the difficulty
increase to hard level from
level medium to hard
3. Verify that by N/A System will As Pass
giving three verify that user expected,
consecutive has given three
wrong answers consecutive
in hard level wrong answers
question it will decrease
difficulty will the difficulty
decrease to level from hard
medium level to medium
4. Verify that by N/A System will As Pass
giving three verify that user expected,
consecutive has given three
wrong answers consecutive
in medium level wrong answers
question it will decrease
difficulty will the difficulty
decrease to easy level from
level medium to easy
5. Verify that by N/A System will As Pass
giving even one verify the user expected,
wrong answer has given a
the difficulty wrong answer
level will not so difficulty
increase level will not
increase, and
loop will start
again

1.1.29. Functional Testing 20: Dyslexic Prediction

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
clicking on send the game expected,

165
submit button data to the
on last question machine
user is shown learning model
the dyslexic and get the
result prediction
result and
display it on the
result screen

1.1.30. Functional Testing 21: Nearest Hospitals

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
clicking on read the users expected,
submit button current location
on last question and will display
user is shown the nearest
nearest hospital hospitals to the
recommendation user on the map
on a map

1.1.31. Functional Testing 22: Displaying Score Board

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
clicking on send will send a expected,
submit button request to the
on last question API and catch
user is shown the answers of
the scoreboard the user of each
on the result question and
screen generate and
display a
scoreboard

166
1.1.32. Functional Testing 23: Displaying Badge

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended
1. Verify that by N/A System will As Pass
clicking next verify that two expected,
question button questions have
on every second been answered
question a and will display
badge is a badge to the
displayed user
2. Verify that by N/A System will As Pass
clicking on the verify that all expected,
submit button the question has
on the last been answered
question all the and will display
collected all the collected
badges are badges together
displayed on the screen

167
6.3 Business Rules Testing
Business rules testing helps to test our Business rule and see if they are working in their intended
manner
Business Testing 1: Choose email for account registration
Testing Objective: To ensure that email chosen is valid.
Conditions:
1. Email should follow the given pattern
2. No two users can have the same email

Conditional Rule 1 Rule 2 Rule 3 Rule 4


Email to True True False False
follow
pattern
No two users True False True False
can have
same
username
Actions/Outcome
Email is True False False False
selected

Business Testing 2: Choose password for account registration.


Testing Objective: To ensure that password chosen is valid.
Conditions:
1. Password should follow be alphanumeric
2. Password should be minimum 8 characters long
Conditional Rule 1 Rule 2 Rule 3 Rule 4
Password True True False False
alphanumeric
Minimum True False True False
length is 8
Actions/Outcome
Password is True False False False
valid

Business Testing 3: Login into the account


Testing Objective: To ensure that password chosen is valid.

Conditions:
1. Password should be valid
2. Email to be valid
3. Credentials should belong to an existing user

Conditi Rule 1 Rule 2 Rule 3 Rule 4 Rule 5 Rule 6 Rule 7 Rule 8


on
Passwor True True True True False False False False
d is

168
valid
Email is True True False False True True False False
valid
Credenti True False False True True False True False
als
belong
to an
existing
user
Action/Outcome
Login True False False False False False False False
Success
ful

6.4 Integration Testing

Integration Testing 1: User Login


Testing Objective: To ensure the login form is working correctly and the user is redirected to
the user form.
Test Case Id: ITC_01
Test Case Description: Test the login functionality.
No. Test Case/Test Test data Expected Actual Pass/Fail/Not
Script Result Result Executed/
Suspended
1. Verify that the Username: User will be As Pass
user is redirect mutahharbinmuzaffar redirected to the expected,
to the ‘user Password: user form page.
form’ page Mutahhar@123
upon successful
login.
2. Verify that the Username: bmutahhar User will not be As Pass
user is not Password: Mutahhar redirected to the expected,
redirected to the userform page.
‘user form’
page upon
unsuccessful
login.
3. Verify that user Username: User will be As Pass
is redirected to mutahharbinmuzaffar redirected to the expected,
‘levelSelect’ Password: levelSelect
page if he has Mutahhar@123 page instead of
previously the userform

169
ticked the ‘save page.
my information
for next time’
box

Integration Testing 2: Information Registration form


Testing Objective: To ensure the information form is working correctly and the user is
redirected to the levelSelect screen.
Test Case Id: ITC_02
Test Case Description: Test the information registration functionality.
No. Test Case/Test Test data Expected Actual Pass/Fail/Not
Script Result Result Executed/
Suspended
1. Verify that the Answers to all User will be As Pass
user is redirect questions in the form. redirected to the expected,
to the levelSelect
levelSelect page page.
upon successful
submission of
data to the API.
2. Verify that the Answers of all User will not be As Pass
user is not questions in the form. redirected to the expected,
redirected to the levelSelect
levelSelect page page.
upon
unsuccessful
submission of
data to the API.

Integration Testing 3: Preschooler Level


Testing Objective: To ensure the preschooler level is working perfectly and data flow is not
interrupted.
Test Case Id: ITC_03
Test Case Description: Test the data flow and question generation of preschooler.

No. Test Case/Test Test data Expected Actual Pass/Fail/Not


Script Result Result Executed/
Suspended

170
1. Verify that N/A Score for each As Pass
score is particular expected,
submitted for question will be
each question stored in an
and next array and next
question is question will be
displayed. displayed
randomly.
2. Verify that N/A Difficulty will As Pass
consecutive be changed expected,
score is based on the
monitored, and condition of
difficulty is three
changed consecutive
accordingly. score.
3. Verify that N/A A new badge is As Pass
badges are displayed and expected,
displayed after added to the
every two placerholder
questions. after every two
questions along
with the yay
sound.

Integration Testing 4: Learner Level


Testing Objective: To ensure the learner level is working perfectly and data flow is not
interrupted.
Test Case Id: ITC_04
Test Case Description: Test the data flow and question generation of learner.
No. Test Case/Test Test data Expected Actual Pass/Fail/Not
Script Result Result Executed/
Suspended
1. Verify that N/A Score for each As Pass
score is particular expected,
submitted for question will be
each question stored in an
and next array and next
question is question will be
displayed. displayed
randomly.

171
2. Verify that N/A Difficulty will As Pass
consecutive be changed expected,
score is based on the
monitored, and condition of
difficulty is three
changed consecutive
accordingly. score.
3. Verify that N/A A new badge is As Pass
badges are displayed and expected,
displayed after added to the
every two placerholder
questions. after every two
questions along
with the yay
sound.

Integration Testing 5: Elementary Level


Testing Objective: To ensure the elementary level is working perfectly and data flow is not
interrupted.
Test Case Id: ITC_05
Test Case Description: Test the data flow and question generation of elementary.
No. Test Case/Test Test data Expected Actual Pass/Fail/Not
Script Result Result Executed/
Suspended
1. Verify that N/A Score for each As Pass
score is particular expected,
submitted for question will be
each question stored in an
and next array and next
question is question will be
displayed. displayed
randomly.
2. Verify that N/A Difficulty will As Pass
consecutive be changed expected,
score is based on the
monitored, and condition of
difficulty is three
changed consecutive
accordingly. score.
3. Verify that N/A A new badge is As Pass
badges are displayed and expected,
displayed after added to the
every two placerholder

172
questions. after every two
questions along
with the yay
sound.

Integration Testing 6: Profile Update and History Tracking


Testing Objective: To ensure the elementary level is working perfectly and data flow is not
interrupted.
Test Case Id: ITC_06
Test Case Description: Test the data flow and question generation of elementary.
No. Test Case/Test Test data Expected Actual Pass/Fail/Not
Script Result Result Executed/
Suspended
1. Verify that N/A Profile data is As Pass
profile data can saved and expected,
be updated and success
saved. snackbar is
displayed.

2. Verify the N/A Profile picture As Pass


profile picture will be deleted expected,
can be deleted from the
and saved. database.

3. Verify that Img_3663.jpg Uploaded As Pass


profile picture profile picture expected,
can be is displayed and
uploaded. success
snackbar is
shown.
4. Verify that N/A User’s previous As Pass
user’s previous performance expected,
performance in record is shown
shown in in all three
scoreboard, panels.
prediction
panel, and
graphs.
5. Verify that is N/A User’s most As Pass
user is logged in recent expected,
and plays the performance
game, his latest details are

173
score and updated and is
details are stored in the
updated and database.
displayed.

Integration Testing 7: ML Prediction


Testing Objective: To ensure that the score is submitted to the API and prediction is displayed
on the screen..
Test Case Id: ITC_07
Test Case Description: Test the score submission and API response in the form of prediction.
No. Test Case/Test Test data Expected Actual Pass/Fail/Not
Script Result Result Executed/
Suspended
1. Verify that the N/A User will be As Pass
all the question redirected to the expected,
scores are sent result page in a
to the API and very subtle way
url handle is and the url
changed upon handle will be
successful changed.
submission.
2. Verify that the N/A Loading As Pass
API response is indicator is expected,
received, and stopped and
prediction is prediction
displayed upon result is
successful score displayed along
submission. with the map.
3. Verify that no N/A The error page As Pass
prediction is is displayed expected,
processed or instead of the
displayed if the prediction
empty score screen.
array is
received.

174
7. Conclusion and Future Work

7.1 Conclusion
This gaming application is a great step forward towards the automation of the diagnosis of
dyslexia and ADHD among young children. The ease of access and the child-friendly
environment of the gaming application will make it quite easy for the parent if they have any
suspicion to diagnose their child for dyslexia in the early stages. And then take precautionary
measures accordingly.

7.2 Future Work


The game is not limited to the data set used in this project. It can be used with a much-refined
dataset to give better and accurate dyslexic predictions. This game can also be modified in a way
to help dyslexic children improve their reading, writing, listening and motor skills. This game
can be used in education sector for special children’s schools and can also be used in the medical
sector for the diagnosis of dyslexia.

8. References
 How to design using UML (OOP): For guidance, please follow the instructions mentioned in
the link: http://agilemodeling.com/artifacts/
 Maria Rauschenberg, Ricardo Baeza-Yates, and Luz Rollo. 2020. Screening risk of dyslexia
through a web-game using language-independent content and machine learning. In
Proceedings of the 17th International Web for All Conference (W4A ’20). Association for
Computing Machinery, New York, NY, USA, Article 13, 1–12.

175
 Rauschenberg, M., Lines, C., Rousselle, N., Hein, A., & Fudickar, S.J. (2019). Designing a
New Puzzle App to Target Dyslexia Screening in Pre-Readers. GoodTechs '19.
 Khan, Rehman & Lee, Julia & Oon, Yin Bee. (2018). Machine Learning and Dyslexia:
Diagnostic and Classification System (DCS) for Kids with Learning Disabilities.
 http://dgames.futurechange.de/

176

You might also like