track and go! mobile application using decision …track and go! mobile application using decision...
TRANSCRIPT
-
TRACK AND GO! MOBILE APPLICATION
USING DECISION TREE METHOD
MUHAMAD AMIR FITRI BIN SHAMSUDIN
BACHELOR OF COMPUTER SCIENCE
(SOFTWARE DEVELOPMENT) WITH HONOURS
UNIVERSITI SULTAN ZAINAL ABIDIN
2018
-
TRACK AND GO! MOBILE APPLICATION
USING DECISION TREE METHOD
MUHAMAD AMIR FITRI BIN SHAMSUDIN
Bachelor of Computer Science (Software Development) With Honours
Faculty of Informatics and Computing
Universiti Sultan Zainal Abidin, Terengganu, Malaysia
AUGUST 2018
-
i
DECLARATION
I hereby declare that this report is based on my original work except for quotations and
citations, which have been duly acknowledged. I also declare that it has not been
previously or concurrently submitted for any other degree at Universiti Sultan Zainal
Abidin or other institutions
________________________________
Name : MUHAMAD AMIR FITRI BIN
SHAMSUDIN
Date : ..................................................
-
ii
CONFIRMATION
This is to confirm that this final year project entitled Track and Go! Using Decision
Tree Method has been prepared and submitted by Muhamad Amir Fitri bin Shamsudin,
with matric number BTAL15039713 and has found satisfactory in terms of scope,
quality, and presentation as a part of the requirement for the Bachelor of Computer
Science in Software Development with Honours in University Sultan Zainal Abidin
(UniSZA). The research conducted and the writing of this report was under my
supervision.
________________________________
Name : DR. MUMTAZIMAH BINTI
MOHAMAD.
Date : ..................................................
-
iii
DEDICATION
In the name of Allah, Most Gracious, Most Merciful
First of all, all praises and thanks due to Allah SWT, for His limitless blessing
on us, May Allah SWT bestow his peace and blessings upon His Prophet Muhammad
SAW and his family .Acknowledgement are due to all lectures of Universiti Sultan
Zainal Abidin for providing knowledge and support my final report project proposal
with the title Track and Go! Mobile Application using Decision Tree Method.
I am deeply indebted to my supervisor, Dr. Mumtazimah Binti Mohamad for
her invaluable guidance and enlightening advices in preparing this thesis. I was proud
to be supervise by her with her guidance, ideas and invaluable advices.
Thank you to Dr. Nurnadiah Binti Zamri, Dr. Wan Aezwani Binti Wan Abu
Bakar and Pn. Rohana Binti Ismail had been helpful exchanging ideas, concept and
opinion through my research endeavour. I would also like to thank my classmate for
their support about my project. Last but not least, my special thanks to my beloved
father and mother, En, Shamsudin bin Mohamad and Pn. Zety Azlin binti Hj. Elias for
their prayers, love, and encouragement. Thanks to everybody who contributed for this
proposal, both directly and giving their support.
-
iv
ABSTRACT
Nowadays, outdoor activities becoming a main routine for those who like to
have a challenging activity such as mountain bike, hiking and so on. Sometimes they
not are well prepared with some important equipment or gears before beginning the
activity. In addition, those people are recommended to start from small to big outdoor
activity for not having some injuries (according to their age and places). For this
problem, we might come to solution if the outdoor activity are managed carefully and
provide some useful recommendation before starting an activity. In this situation,
decision tree method is pretty useful to guide people in making decision on which things
to be considered and where they could pick the places that are suitable for outdoor
activity and some useful suggestion before starting any activity.
-
v
ABSTRAK
Pada hari ini, aktiviti sukan luar sudah mennjadi satu rutin bagi sesiapa yang
menyukai aktiviti yang mencabar seperti berbasikal lasak,mendaki dan macam macam
lagi. Kadang kala mereka tidak mempunyai persiapan yang lengkap dan perkakasan
yang penting sebelum memulakan aktivit tersebut. Tambahan pula, mereka juga
digalakkan untuk bermula dari peringkat awal hinggalah peringkat yang lebih
professional supaya tidak mempunyai sebarang kecederaan mengikut tempat dan umur
mereka. Untuk masalah ini, kita mungkin mempunyai jalan penyelesaian jika
pengurusan aktiviti ini lebih tersusun dengan teratur dan cadangan lokasi yang sesuai
untuk memulakan aktiviti tersebut. Dalam hal ini, penggunaan teknik Decision
Tree(Pepohon Keputusan) adalah amat sesuai untuk membantu pengguna dalam
perkara apa yang perlu dititikberatkan dan dimana tempat yang paling sesuai untuk
memilih aktiviti berdasarkan peringkat mereka dan cadangan yang berguna sebelum
memulakan aktiviti.
-
vi
CONTENTS
PAGE
DECLARATION i
CONFIRMATION ii
DEDICATION iii
ABSTRACT iv
ABSTRAK v
CONTENTS vi
LIST OF TABLES viii
LIST OF FIGURES ix
LIST OF ABBREVIATIONS xx
CHAPTER I ............................................................................................................................. 1
INTRODUCTION .................................................................................................................... 1
1.1 Background .............................................................................................................. 1
1.2 Problem Statement ......................................................................................................... 2
1.3 Objectives .................................................................................................................. 2
1.4 Scope ………………………………………………………………………………………………………………..3
1.5 Limitation Work ...................................................................................................... 3
1.6 Expected Result ........................................................................................................ 4
1.7 Project Planning ....................................................................................................... 4
1.8 Chapter Summary.................................................................................................... 4
CHAPTER II ............................................................................................................................ 5
Literature Review .................................................................................................................... 5
2.1 Introduction .................................................................................................................... 5
2.1.1 Android™ Definition .............................................................................................. 5
2.1.2 Android™ System Structure .................................................................................. 6
2.2 Decision Tree Method .................................................................................................... 8
2.3 Review Summary ..................................................................................................... 9
2.3.1 Method Comparison ........................................................................................ 9
-
vii
2.3.2 Application Comparison ....................................................................................... 11
2.3.3 Chapter Summary......................................................................................................... 12
CHAPTER III ........................................................................................................................ 13
METHODOLOGY ................................................................................................................ 13
3.1 Introduction ................................................................................................................ 13
3.1.1 Initial Planning Phase .................................................................................... 14
3.1.2 Planning Phase ............................................................................................... 15
3.1.3 Requirement Phase ........................................................................................ 15
3.1.4. Analysis and Design ....................................................................................... 15
3.1.5 Implementation and Testing ......................................................................... 16
3.1.6 Evaluation ....................................................................................................... 16
3.1.7 Deployment ..................................................................................................... 17
3.2 System Requirement .............................................................................................. 17
3.2.1 Software Requirement ................................................................................... 17
3.2.2 Hardware Requirement ................................................................................. 19
3.3 Requirement Specification .................................................................................... 20
3.3.1 Functional Requirement ................................................................................ 20
3.3.2 Non-Functional Requirement ....................................................................... 22
3.4 System Design ......................................................................................................... 24
3.4.1 Framework Design ......................................................................................... 24
3.4.2 Process Model ................................................................................................. 25
3.4.3 Data Model...................................................................................................... 32
3.4.4 Data Dictionary .............................................................................................. 37
3.5 Chapter Summary............................................................................................................ 41
CHAPTER IV ......................................................................................................................... 42
IMPLEMENTATION AND TESTING ............................................................................... 42
4.1 Introduction ................................................................................................................ 42
4.2 Application Interface Design ..................................................................................... 44
4.2.1 Welcome Screen Page .................................................................................... 44
4.2.2 Sign Up Page ................................................................................................... 45
4.2.3 Sign In Page .................................................................................................... 46
4.2.4 User Dashboard .............................................................................................. 47
4.2.5 Info Page ......................................................................................................... 48
4.2.6 Choose Activity Page ..................................................................................... 49
4.2.7 Choose Activity by Level ............................................................................... 50
4.2.8 List Activity by Level Page. ........................................................................... 51
-
viii
4.2.9 Activity Description Page .............................................................................. 52
4.2.10 Pick Time and Date Page .............................................................................. 53
4.2.11 User Activity Page ......................................................................................... 54
4.2.12 Location Services Page .................................................................................. 55
4.2.13 Give Review Page .......................................................................................... 56
4.2.14 Navigate Page ................................................................................................ 57
4.2.15 Update Date and Time Page ......................................................................... 58
4.2.16 Requirement Page ......................................................................................... 59
4.2.17 Choose by State Page .................................................................................... 60
4.2.18 Explore Page .................................................................................................. 61
4.2.19 Category Page ................................................................................................ 62
4.2.20 Profile Page .................................................................................................... 63
4.3 Testing Analysis.......................................................................................................... 64
4.3.1 Black Box Testing ........................................................................................... 64
4.3.2 White Box Testing .......................................................................................... 64
4.3.2 Test Cases........................................................................................................ 65
4.4 Chapter Summary...................................................................................................... 74
CHAPTER V .......................................................................................................................... 75
CONCLUSION ...................................................................................................................... 75
5.1 Introduction ................................................................................................................ 75
5.2 Project Contribution .................................................................................................. 75
5.3 Project Limitation ...................................................................................................... 76
5.4 Future Work ............................................................................................................... 76
5.5 Conclusion .................................................................................................................. 77
REFERENCES ....................................................................................................................... 78
APPENDIX ............................................................................................................................. 80
-
ix
LIST OF TABLES
TABLE TITLE PAGE
2.1 Review Summary (Method Comparison) 9
2.2 Review Summary (Application Comparison) 11
3.1 Software Requirement 17
3.2 Hardware Requirement 19
3.3 Track and Go! database 37
3.4 Activity location Table 37
3.5 Activity PicPoint Table 38
3.6 Location Table 38
3.7 Nearbyservices Table 38
3.8 nservicesLoc Table 39
3.9 Requirement Table 39
3.10 Review Table 39
3.11 User Table 40
3.12 Useractivity Table 40
-
x
LIST OF FIGURES
FIGURE
2.1
TITLE
Android System Structure.
PAGE
6
2.2 Decision Tree on choosing activity by level. 8
3.1 Iterative and Incremental Model. 14
3.2 Framework for Track and Go! Mobile Application. 24
3.3 Context Diagram for Track and Go! Mobile Application. 25
3.4 Data Flow Diagram (Level 0) for Track and Go! Mobile
Application.
27
3.5 Data Flow Diagram Level 1 (Manage Activity Location) 30
3.6 Data Flow Diagram Level 1 (Manage User Activity) 31
3.7 Entity-Relationship Diagram for Track and Go! Mobile
Application.
32
4.1 Welcome screen with Skip, Sign Up and Sign In button 44
4.2 Sign Up Page 45
4.3 Sign In Page 46
4.4 User Dashboard Page 47
4.5 Info Page 48
4.6 Choose Activity Page 49
4.7 Choose Activity by Level Page 50
4.8 List Activity by Level Page 51
4.9 Activity Description Page 52
4.10 Activity Location Maps Page 52
-
xi
4.11 Pick Date and Time Page 53
4.12 Interface after adding activity 53
4.13 User Activity Page 53
4.14 Location Services Page 55
4.15 Give Review Page 56
4.16 Activity Description Page 57
4.17 Navigate Page 57
4.18 Update date and time Page 58
4.19 Requirement Page 59
4.20 Requirement Detail Page 59
4.21 Choose by State Page 60
4.22 Explore Page 61
4.23 Category Page 62
4.24 Choose Category Activity Page 62
4.25 Profile Page 63
4.26 Update Profile Page 63
-
xii
LIST OF ABBREVIATIONS / TERMS / SYMBOLS
CD Context Diagram
DFD Data Flow Diagram
ERD Entity Relationship Diagram
FYP Final Year Project
GPS Global Positioning System
TAG Track and Go!
PK Primary Key
FK Foreign Key
-
CHAPTER I
INTRODUCTION
1.1 Background
Planning before starting an activity are important for people who like to do
outdoor activities. In order to mentally and physically prepared, they have to find
some places that are suitable with their level either they are in Beginner, Medium
and Hard level. With this application, user can have a flexible and easy navigation
whether they want to choose activity by level and state.
Furthermore, instead of using manual checklist, they can use this application to
make a reminder or notification of what are the things need to be prepared. There is
a section to tick the checklist and they have to tick on what they have done. This
mobile application is intended to help people on preparing and recommend some
useful thing that are need to be considered and places suggestions for outdoor
activity.
Therefore, the development of the project is based on Decision Tree Method that
are applied for recommending user to choose the activity based on its level or the
-
2
preferred state. The activity location are grouped by level according to their height,
distance and suitability.
1.2 Problem Statement
Nowadays, people like to try a new adventure even it is hard or easy. But,
sometimes there are a lot of problems before starting the outdoor activity like not having
much equipment before starting a journey, not having much stamina, and don’t even
know a suitable place for beginner level. Sometimes they often forget what to bring
during outdoor activities and how much energy used during the outdoor activities.
Besides, they also need a suggestion on what places that are suitable for them according
to their level respectively.
1.3 Objectives
a) To design an application that show some recommendation for places and
suitable level for user to start with.
b) To develop an application by using Decision Tree method that can guide people
on what preparation before starting an outdoor activities.
c) To test the function of mobile application in making recommendation and
suggestion based on their level.
-
3
1.4 Scope
a) User
a) Able to access the system at any time
b) Able to choose what level of each activity they are started.
c) Able to receive recommendation and suggestion on before starting the
journey and places based on its level.
d) Able to give review about the places.
b) System
a) Able to show the recommended and suggestion on gathering equipment
and preparation before starting activity.
b) Able to show nearby location based on their activity and location.
1.5 Limitation Work
a) Only available for Android™ mobile application.
b) This application can only be used for those who like outdoor activities.
c) This application interface only uses English language.
d) This application required GPS to work with nearby location features.
e) This application does need internet connection to receive activity
location.
-
4
1.6 Expected Result
a) This application are able to make a place recommendation before
starting an activity.
b) User can view the nearby places to make an outdoor activity.
c) User can check the needed equipment before starting an activity.
1.7 Project Planning
Project planning is a part of project management that are need to be followed.
Gant chart is created and planned with project progress. It is used to complete the
work are listed and grouped into a work breakdown structure. The Gantt chart is
shown in the Appendix section.
1.8 Chapter Summary
This chapter basically is the brief introduction to the proposed project. The
description about development of this project will be discussed on the next
chapter.
-
5
CHAPTER II
Literature Review
2.1 Introduction
Mobile application is commonly used by people today. Mostly people are using
Android™ as their devices for daily uses. In this project, Android™ devices are used
for deployment of this project and for testing phase. This project are deployed to
Android™ devices because there are many people used it to make life much easier.
With this Track and Go! Application, it can guide people on what to do before going
any outdoor activity and suggest where places are suitable with their level to begin.
2.1.1 Android™ Definition
Android is a mobile operating system that are written in Java for the UI, C
language for the core, C++ and many more [1]. It is designed primarily for touchscreen
mobile devices such as smartphones and tablet. The operating system has multiple
-
6
release of version and the latest release version is Android 9 (Pie). This system is
embedded into many devices and it has package management system that automate the
process of installing, upgrading, configuring, and removing application. Mainly the
installer of Android application are available in the Play Store.
2.1.2 Android™ System Structure
There are five layers of Android Operating System which are Application Framework,
Binder IPC proxies, Android System Services, Hal and Linux Kernel. The layer can be
shown in Figure2.1.
Figure 2.1: Android System Structure.
-
7
The Application Framework is used by the Application Developers for Android that
control the application behaviour such as quitting an application that are not used in
current time and create secure environment within the operating system. Next for Binder
IPC Proxies is the interface that allows a programmer make application communicate
with other application and run multiple processes at the same time. For Android System
Services is started when application calls for it. HAL is Hardware Abstraction Layer
which is insert functionality without having any modifications to the system. Lastly is
Linux Kernel that control the whole main system that using the Linux Language [2].
-
8
2.2 Decision Tree Method
Decision tree methodology is a commonly used for establishing classification
systems based on multiple covariates for developing prediction algorithms for a target
variable. Each branch represents the outcome of a test, and each leaf (or terminal) node
holds a class label .The topmost node in a tree is the root node [3].
Based on Figure 2.2, decision tree is applied when choosing the right path/way
according user input. User will choose their level and the system will pick the selection
of requirement before starting a journey. This show that each node are corresponded to
an attribute. Same goes to choose the location suggestion, the application will choose
the suitable places to start with their level.
Figure 2.2: Decision Tree on choosing activity by level.
ACTIVITY
HIKING KAYAKING CAVING
EASY
MEDIUM
HARD
MEDIUM
EASY
MEDIUM
HARD
LOCATION
EASY HARD
-
9
2.3 Review Summary
Mostly, application used Android for recommender system which is easy to
navigate and flexible to use. There are many applications that focusing on
recommending food destination, interesting event and nearby activity which is can
navigate user to the related places by maps and geolocation services.
2.3.1 Method Comparison
There are lot of applications and system used decision tree as their main
algorithm and method to run the recommender system. Table 2.2 shows several
reviews of the method used by previous researcher.
Author/
Year
Title Method/
Technique
Description Advantage/
Disadvantag
e
Amancio
Bouza,
Gerald Reif,
Abraham
Bernstein,
Harald Gall,
University
of Zurich,
2011[4]
SemTree:
Ontology-Based
Decision Tree
Algorithm for
Recommender
Systems
Decision
Tree
Algorithm
The algorithm
calculates for
every feature its
information gain
by splitting the
(item) instances
into two sets.
Gets a list of
superclasses for
every feature
Items are
classified by
the learned
user model
and ranked
on the basis
of the
predicted
ratings.
-
10
and analogously
calculates the
associated
information
gain.
Gerard
Bieber,
Fraunhofer
Institute for
Computer
Graphics
Research
IGD (2014)
[5]
Low Sampling
Rate for Physical
Activity
Recognition
Decision
Tree
Algorithm
Track the
sampling rate
from by
monitoring
physical activity
to reduce
smartphone
battery lifetime.
Classify the
extracted
features that
are generated
by the data
mining tool
(WEKA).
Wahidah
Husain,
Universiti
Sains
Malaysia,
2015 [6]
A Framework of a
Personalized
Location-based
Traveler
Recommendation
System in Mobile
Application
Collaborative
Filtering
Method
Cluster user into
highly similar
groups and
make
recommendation
s based on the
group into
which the target
user is clustered.
Solve the
scalability
problem as
the
recommendat
ion process
seeks the
user rating
only from the
clustered
group instead
-
11
of whole
database.
Table 2.2 Review Summary (Method Comparison)
2.3.2 Application Comparison
Table 2.3 reviews the application from Android developer that are available
from Play Store. Those applications have many its own advantages and disadvantages
that are used to improve the Track and Go! Application.
Application
Name
Function Advantages Disadvantages
AllTrails –
Hiking,Trail
Running &
Biking Trails
[7]
An application
that can provide
trails for hiking
, running and
biking
Provide many
places suggestion
on various
location
Does not provide any
nearby location services.
Komoot-
Cycling &
Hiking Maps
[8]
An application
that are able to
show
destination for
cycling and
User can plan
route with offline
map.
Not have planning
preparation option before
starting a journey.
-
12
hiking and
maps.
ViewRanger –
Hiking Trails
& Bike Rides
[9]
An application
that can view
route for the
trails with
augmented
reality.
User can view
route for the trails
with augmented
reality.
The activities are limited
only for hiking and biking.
Table 2.3 Review Summary (Application Comparison)
2.3.3 Chapter Summary
This chapter discusses the collected literature review that have been reviewed
during feasibility studies. The literature review helps developer to discover the problem
of previous research or application that needs to be improve and overcome in the
application developments. Furthermore, it also help to gain understanding about the
application that undergo the development process. With all reviewed method and
application, some useful information and method can be used and following the right
guidelines to make a useful application.
-
13
CHAPTER III
METHODOLOGY
3.1 Introduction
This section describes the methodology used to develop the application project.
In this Track and Go! Mobile Application use Iterative and Incremental model to
develop this project. With this model, it allows developer to develop the project more
efficiently and go through phase by phase. It also possible to return to the previous phase
before the project is finalized.
-
14
In Figure 3.1 shows the Iterative and Incremental Model. This model has 8 phases which
are Initial Planning, Planning, Requirements, Analysis and Design, Implementation,
Testing, Evaluation, and Deployment phase.
Figure 3.1: Iterative and Incremental Model.
3.1.1 Initial Planning Phase
During this phase, the activities are planned according to the given period to complete
the proposal of the application. It is start from the discussion with the supervisor to
come out with the idea and title of the project. The title has been decided which is Track
and Go! Mobile Application Using Decision Tree Method. The problem statement,
objectives, scope, limitation work and expected result are done.
-
15
3.1.2 Planning Phase
After deciding the title of the project and approach to be used, the next
discussion is on defining the problem statements, objectives and the system
scope. Existing applications and methods are reviewed to get a better
understanding. The required information are collected and compared with the
older projects. The Gant Chart are drafted according to the weeks and scope and
the progress are checked with supervisor.
3.1.3 Requirement Phase
In this phase, the main activities is to acquire the requirements that are needed
to develop the complete project. All data that are related with application are collected
and studied from the internet, journal and some android applications to get overview
about it. The requirement for this application is the activity location details, the study
of application, the activity spot, requirement before the activity started and the route to
the activity location.
3.1.4. Analysis and Design
During this phase, the requirements that are collected from the previous phase
are analysed. The prototype are sketched based on the functionality. Based on the
requirement, several problem have identified. The problem regarding to the requirement
of planning apps for outdoor activity has been thoroughly justified with the
development of the objective of the project. The scope and the system limitation also
been outline in order to make sure the system cover certain process and project
-
16
requirement, Based on objective, scope and then system, several design have been
undergone such as the system framework and methodology, Context Diagram (CD),
Data Flow Diagram (DFD) Level 0, 1 and Entity Relationship Diagram (ERD) to clarify
the application system. It is built as a guideline of the application system. Next, database
and interface is design based on the process involve in the application. The database
named ‘TAG’ is created and it’s have nine entity table in it. There are two actor in this
application which is the system and the user.
3.1.5 Implementation and Testing
Implementation phase begin when the design is approved. The implementation
is using the software such as Xampp to run the localhost, Visual Studio Code to write
the coding and Ionic Framework UI documentation to create the user interface of
application. Black and White Box testing and Test Case are used to detect the error
whether from the outside or the inside of the application.
3.1.6 Evaluation
During this phase, the application must be evaluated before deployed to the end
user. A group of user will be asked to use the application and evaluate if the application
meet the requirement or not. The application must fulfilled the entire application
requirement before it is approved to be deployed.
-
17
3.1.7 Deployment
After the evaluation is done, the complete system is approved to release to the
targeted user. The system will be ready as it is meets all the requirement of the
application.
3.2 System Requirement
System requirement is very important in development of the application. The
project need specific software and hardware to build a complete and working
application. Thus, this Track and Go! Mobile Application using Decision Tree Method
deployed several software and hardware as listed.
3.2.1 Software Requirement
Table 3.1 shows the software requirement in developing the Track and Go!
Application. There are 12 software used in order to make the application work.
Software Description
MySQL (phpMyAdmin) A software to run the database of
the project.
Xampp Server A localhost to run phpMyAdmin.
MySql Workbench A software to run the database and
design ERD of the project.
-
18
Microsoft Word 2016 A software to design framework,
DFD, CD.
Google Chrome A browser to open the application
and run the localhost.
Visual Code Studio A software to create code of
application and run integrated
terminal for launching application
deployment.
Ionic Open mobile application
development framework for
hybrid mobile application
deployment.
Node.js Node.js is an open-source, cross-
platform JavaScript run-time
environment that executes
JavaScript code outside the
browser
Windows PowerShell A command-line interface to run
the application.
Android™ ADB Android™ driver to connect with
Android™ Device.
Adobe Illustrator For designing icon and assets.
Adobe Photoshop For designing images.
Table 3.1: Software Requirement.
-
19
3.2.2 Hardware Requirement
Table 3.2 shows the hardware requirement in developing the application. There
are four hardware involved in developing the application.
Hardware Description
Lenovo Ideapad 320s Laptop Laptop that are used to build the
application.
Memory ( 8 GB RAM ) RAM of the laptop.
Processor ( Intel Core i5-8250U ) Processor that are embedded to
run the process in laptop.
Android™ Devices Android™ device to test the
application.
Table 3.2: Hardware Requirement.
-
20
3.3 Requirement Specification
3.3.1 Functional Requirement
The User will be able to:
1.0 Sign Up Process
1. FR-USER-001 The system shall allow user to register new user to the
application.
2.0 Sign In Process
1. FR-USER-002 The system shall allow user to sign in into the application.
3.0 Manage Profile
1. FR-USER-003 The system shall allow user to update password to the system.
2. FR-USER-004 The system shall allow user to view profile in the system.
3. FR-USER-005 The system shall allow user to update their profile.
4. FR-USER-006 The system shall allow user to update their current location.
4.0 Manage User Activity
1. FR-USER-007 The system shall allow user to add their activity
2. FR-USER-008 The system shall allow user to update their activity.
3. FR-USER-009 The system shall allow user to delete their activity.
5.0 Get Location
1. FR-USER-010 The system shall allow user to get their current location.
-
21
6.0 Manage Activity Location
1. FR-USER-011 The system shall allow user to change their location.
2. FR-USER-012 The system shall allow user to update their activity location.
3. FR-USER-013 The system shall allow user to delete their activity location.
7.0 View Activity
1. FR-USER-014 The system shall allow user to view their activity based on its
current location.
2. FR-USER-015 The system shall allow user to view the available activity.
8.0 Give Review
1. FR-USER-016 The system shall allow user to give review about outdoor
activity based on its activity location.
9.0 View Nearby Services
1. FR-USER-017 The system shall allow user to view nearby services such as
available hotels, homestay or other services.
-
22
3.3.2 Non-Functional Requirement
1.0 Security
NFR-SEC-001 User shall be required to login for all application. The password will
be encrypted and store in the database.
2.0 Reliability
NFR-REL-001 The application shall have an availability of 99% which mean out of
100 request, 99 must be satisfied.
NFR-REL-002 The application must collect the data carefully and correctly.
NFR-REL-003 The database must be backed-up regularly and can be covered if
necessary.
3.0 Availability
NFR-AVA-001 The application should be available anytime when user want to use it.
NFR-AVA-002 The application should have availability for 24 hours * 7 days.
-
23
4.0 Performance
NFR-PER-001 Response to queries shall take no longer than 5 seconds to load onto
the screen after user submit the details and information.
NFR-PER-002 The login information shall be verified within 5 seconds.
NFR-PER-003 The application shall accommodate 500 users at a time
simultaneously.
5.0 Portability
NFR-POR-001 The application can be used with any android devices.
6.0 Maintainability
NFR-MAIN-001 The application shall provide capability to back up data.
NFR-MAIN-002 The system shall keep a log of all errors.
NFR-MAIN-003 All actions in the application are logged and can be traced back to
actor if necessary.
7.0 Flexibility
NFR-FLEX-001 The application provides users to update and delete their profile.
NFR-FLEX-002 The application provides owners to add, delete and update their
profile, current location and activities.
-
24
3.4 System Design
3.4.1 Framework Design
The framework for Track and Go! Mobile Application is shown at Figure 3.2.
The user must sign up first and sign in if the user have signed up to access the
application. After user successfully sign in, user can access the interface of the
application. In the first stage, user will select their state based on its current location.
User then will pick the preferred outdoor activities and its level that are available on its
location. The application will show suggestion of the available activities based on their
level. The activity page interface will show the activities that are selected by user and
its related description.
Figure 3.2: Framework for Track and Go! Mobile Application.
-
25
3.4.2 Process Model
3.4.2.1 Context Diagram
As shown in Figure 3.3, there are only one entity involved in Track and Go!
Mobile Application which is user. The data flow incoming from user represents the
functionality of the system where the user is able to manage user details, location details
and activity details. All this process are required to functioning well. The data flow from
system is view user details, view location details and view activity details. The system
will generate the activity details and location of activity based on information that are
gathered from user’s level.
Figure 3.3: Context Diagram for Track and Go! Mobile Application.
-
26
3.4.2.2 Data Flow Diagram (Level 0)
The Figure 3.4 shows the Data Flow Diagram (Level 0).The DFD has one
actor which is USER. The process that are involved in this application is SIGN UP,
SIGN IN, MANAGE PROFILE, MANAGE USER ACTIVITY, GET LOCATION,
MANAGE ACTIVITY LOCATION, and GIVE REVIEW AND VIEW SERVICES.
There are nine location of data store which is USER, REVIEW, LOCATION,
ACTIVITY LOCATION, USER ACTIVITY, REQUIREMENT,
ACTIVITYPICPOINT, NSERVICESLOC AND NEARBY SERVICES.
-
27
Figure 3.4: Data Flow Diagram (Level 0) for Track and Go! Mobile Application.
-
28
3.4.2.2.1 Process in Data Flow Diagram (Level 0)
a. Process 1.0: Sign Up
User has to enter its details such as user ID, first name, last name, email, password, age
and its current location. The details will be stored in data store USER.
b. Process 2.0: Sign In
In this process, user are required to sign in into the application if the user has entered
the Sign Up process earlier. User need to enter their user ID and password and the
system will verify from data store USER.
c. Process 3.0: Manage Profile
In this process, user can manage their profile by change their current location, update
their email, current location and password. The data will be stored in data store USER.
d. Process 4.0: Get Location
In this process, user are required to give permission for the application to access the
location. It is used to navigate user to the chosen activity location. The user’s location
will be used in Manage Activity Location to the specified location.
-
29
e. Process 5.0: Manage Activity Location
In this process, it allows user to add the activity based on the preferred level and
location. In this process also allow user to view some pictures of the location,
description, emergency number, nearby services and view the location’s review.
f. Process 6.0: Manage User Activity
In this process, it allows user to view its activity update their requirements, time, date
and delete their activity. The process will be explain more on DFD Level 1.
g. Process 7.0: Give Review
In this process, the application allow user to give review about the places.
h. Process 8.0: View Services
In this process, user are able to view nearby services that are available to the specific
activity location.
i. Process 9.0: View Services
In this process, user are able to view services that are available nearby the activity
location.
-
30
3.4.2.3 Data Flow Diagram (Level 1)
3.4.2.4.1 Manage Activity Location
Figure 3.5 shows Data Flow Diagram Level 1 for Manage Activity Location
process. User is able to view location from LOCATION data store, activity location
details from ACTIVITYLOCATION and ACTIVITYPICPOINT data store, nearby
services from NEARBYSERVICES and NSERVICESLOC data store and view the
review of the location from REVIEW data store.
Figure 3.5: Data Flow Diagram Level 1 (Manage Activity Location)
-
31
3.4.2.4.2 Manage User Activity
Figure 3.6 shows Data Flow Diagram Level 1 for Manage User Activity
process. User is able to Update User Activity, Delete User Activity, View User Activity
and Update Requirement. The User Activity data will store into the USERACTIVITY
data store and User Requirement Data will store into the REQUIREMENT data store.
Figure 3.6: Data Flow Diagram Level 1 (Manage User Activity)
-
32
3.4.3 Data Model
3.4.3.1 Entity Relationship Diagram
An entity-relationship diagram is specialized graphic form that illustrate the
relationships between entities in a database. Figure 3.7 shows the Entity Relationship
Diagram for Track and Go Application. It has five table that are connected to each other
to hold data from another table which is USER, USERACTIVITY,
ACTIVITYLOCATION, LOCATION, REVIEW,REQUIREMENT, NEARBY
SERVICES and NSERVICESLOC.
Figure 3.7: Entity-Relationship Diagram for Track and Go! Mobile Application.
-
33
Each process has its interaction with others table. The details below shows the
interaction between tables with other table.
a) Interaction of nearbyservices with nservicesloc
One to Many relationship
A nearbyservices can have many nservicesloc
But nservicesloc can have only one nearbyservices
In nearbyservices: nsId (PK)
In nservicesloc: nsId (PK)
b) Interaction of activitypicpoint with activitylocation
One to Many relationship
An activitypicpoint can have many activitylocation
But activitylocation can have only one activitypicpoint
In activitypicpoint: ppId (PK)
In activitylocation: ppId
c) Interaction of activitylocation with useractivity
Many to Many relationship
An activitylocation can have many useractivity
An useractivity can have many activitylocation
In activitylocation: activitylocationId (PK)
In useractivity: activitylocationId
-
34
d) Interaction of activitylocation with review
Many to Many relationship
An activitylocation can have many review
An review can have many activitylocation
In activitylocation: activitylocationId (PK)
In review: activitylocationId (PK)
e) Interaction of activitylocation with requirement
Many to Many relationship
An activitylocation can have many requirement
An requirement can have many activitylocation
In activitylocation: activitylocationId (PK)
In requirement: activitylocationId (PK)
f) Interaction of activitylocation with location
Many to Many relationship
An activitylocation can have many location
An location can have many activitylocation
In activitylocation: locationId (PK)
In location: locationId (PK)
-
35
g) Interaction of user with review
One to Many relationship
An user can have many review
An review can have only one user
In user: userId (PK)
In review: userId (PK)
h) Interaction of user with location
One to Many relationship
A location can have many user
An user can have only one location
In user: currentLocation
In location: locationId(PK)
i) Interaction of user with useractivity
Many to Many relationship
An user can have many useractivity
An useractivity can have many user
In user: userId (PK)
In useractivity: userId
-
36
j) Interaction of user with requirement
Many to Many relationship
An user can have many requirement
A requirement can have many user
In user: userId (PK)
In requirement: userId (PK)
-
37
3.4.4 Data Dictionary
Table 3.3 are the list of table in Track and Go! Application database. There are
nine table which is activitylocation table, activitypicpoint table, location table,
nearbyservices table, nservicesloc table, requirement table, review table, user table, and
useractivity table.
Table 3.3: Track and Go! Database.
Table 3.4 is activitylocation table which containing 14 attributes which is,
activitylocationId, activityName, locationId, level, description, activityLat,
activityLong, activityState, activityDistrict, activityShortDesc, activityPic, noTelResp,
nameTelResp, ppId. ActivityLocationId is the PRIMARY KEY and it is set as
UNIQUE.
Table 3.4: Activitylocation table.
-
38
Table 3.5 is activitylocation table containing 4 attributes which is, ppId, picone,
pictwo and picthree. Ppid is PRIMARY KEY and set as UNIQUE.
Table 3.5: ActivityPicPoint table.
Table 3.6 is location table containing 3 attributes which is, locationId,
locationState and codeState. LocationId is PRIMARY KEY and set as UNIQUE.
Table 3.6: Location table.
Table 3.7 is nearbyservices table containing 4 attributes which is nsId, name,
noTel, address. NsId is PRIMARY KEY and set as UNIQUE.
Table 3.7: NearbyServices table.
-
39
Table 3.8 is nservicesloc table containing 2 attributes which is allId, and nsId.
AlId and nsId is PRIMARY KEY and set as UNIQUE.
Table 3.8: Nservicesloc table.
Table 3.9 is requirement table containing 8 attributes which is userId,
activitylocationId, req1, re12, req3, req4, req5 and req6. UserId and activitylocationId
are PRIMARY KEY and set as UNIQUE.
Table 3.9: Requirement table.
Table 3.10 is review table containing 3 attributes which is userId,
activitylocationId and review. UserId, activitylocationId and review are PRIMARY
KEY and set as UNIQUE.
Table 3.10: Requirement table.
-
40
Table 3.11 is user table containing 7 attributes which is userId, email password
currentLocation, firstname, lastname and age. UserId is PRIMARY KEY and set as
UNIQUE.
Table 3.11: User table.
Table 3.12 is useractivity table containing 4 attributes which is date, time, userId
and activitylocation. Date and time are PRIMARY KEY and set as UNIQUE.
Table 3.12: Useractivity table.
-
41
3.5 Chapter Summary
This chapter discusses the design of the application framework, requirement,
database structure and design and the detailed process model is explained. All design
will be used to develop the application’s interface and functionality.
-
42
CHAPTER IV
IMPLEMENTATION AND TESTING
4.1 Introduction
This chapter discusses the implementation of the application developed.
Implementation is executed to describe the flow system that should be developed based
on the application design and to ensure that the system is developed according to main
objectives and fulfil the user’s requirement.
For development of Track and Go! Mobile Application (TAG), several
programming language and software has been used. The software used to connect with
the localhost server database is Xampp version 3.2.1 are used. MySQL Workbench is
used as database interface version 6.3. The server side programming language used is
Hypertext Preprocessor (PHP) that are used to fetch data from the database.
-
43
The interface design used in development is Syntactically Awesome Style
Sheets (SASS) that are identical like Cascading Style Sheets (CSS). In order to work
with the Ionic Framework, the design of interface is work with SASS and compatible
with HTML5 structure.
The validation used in this application is Typescript (TS) that are similar with
JavaScript (JS) which is much simpler to use in the application development. It is used
to check whether the form are not completely filled, the email input is not correct and
user activity date and time cannot be at the same date and time. TS are needed to develop
the application as it is embedded to run the application framework.
-
44
4.2 Application Interface Design
The interface design that are used to develop the TAG application is shown as
in Figure 4.1 to Figure 4.26 below. The interface used is from Ionic Framework
documentation that are similar to most available application that are available for
Android devices.
4.2.1 Welcome Screen Page
Figure 4.1 show the welcome screen which for the first time user will go through
the four slides of introduction with some guides when entering the application. Skip
button function is to skip the slide walkthrough. Sign Up button function is to redirect
the user to Sign Up Page for register the new user and store to the database and Sign In
button function is to redirect existing user to sign in into the application if user has
registered to the application.
Figure 4.1: Welcome screen with Skip, Sign Up and Sign In button.
-
45
4.2.2 Sign Up Page
Figure 4.2 shows the Sign Up Page. Once user open the application, the
application will ask user to register first by fill up the form that is consist of Username,
Email, First Name, Last Name, Age, Current Location, Password and Re-enter
Password to check the entered password are correct with first entered password.
Figure 4.2: Sign Up Page.
-
46
4.2.3 Sign In Page
Figure 4.3 shows the interface of Sign In Interface. Once the user registered in
the sign up page, user need to sign in into the application by filling up the Username
and password. The application will store the user session until the user logged-out.
Figure 4.3: Sign In Page.
-
47
4.2.4 User Dashboard
Figure 4.4 shows the interface for the user dashboard for activity after user
successfully logged in. For the first time user, user has to add the new activity by tap
the ‘plus’ (+) icon and application will go to the choose activity page. User also can
view some useful tips and guides by tapping the ( ! ) icon at the top. There are four
active tabs which are Activities, Explore, Category, and Profile tabs. The Activities tab
is to show the user activity.
Figure 4.4: User Dashboard Page.
-
48
4.2.5 Info Page
Figure 4.5 shows the guides and tips in choosing the level of some activities and
basic rules before doing the activities. This page briefly explained on how to know their
level, who should user contact if any unexpected things happened and what the other
things need to be followed.
Figure 4.5: Info Page.
.
-
49
4.2.6 Choose Activity Page
Figure 4.6 shows the interface for choosing the activity. There are two buttons
which are ‘Lets Hike (Level)’ and ‘Lets Hike (State) means User can choose whether it
want to select the activity by Level or by State. There are three activities available in
this application which is Hiking, Kayaking and Caving and all activities are only
available on the east coast of Malaysia. If user choose the Lets Hike!(Level) button,
user will be alerted with radio button to choose their preferred level. If user choose the
Lets Hike!(State) button, user will redirect to the Choose State Page to choose their
preferred state.
Figure 4.6: Choose Activity Page.
-
50
4.2.7 Choose Activity by Level
Figure 4.7 below shows the radio button for user to choose the level. User will
go to the chosen level page according to the level of activity.
Figure 4.7: Choose Activity by Level Page
-
51
4.2.8 List Activity by Level Page.
Figure 4.8 below shows list of activities that are available by user’s level. In this
page, the activities are viewed in all state but according to their level. The ‘Read More’
button function is to redirect the user to Activity Description Page
Figure 4.8: List activity by Level Page
-
52
4.2.9 Activity Description Page
Figure 4.9 and 4.10 below shows the description of the activity on its location. .
In this page, the activity location details are divided into three section which is
Description, Services and Review. The Description Section tells about the details of the
location, emergency numbers and the location in the maps with coordinates. The
Services section tells about the available services near with the activity location with
the address and the phone number. The Review section is about the review that are
given by other user. User also can give their review on this section.
Figure 4.9: Activity Description Page Figure 4.10: Activity Location Maps
-
53
4.2.10 Pick Time and Date Page
Figure 4.11 and 4.12 below shows the user can pick date and time before adding
the activity by tapping the ‘Pick Your Date’ and ‘Pick Your Time’ button. The ‘Add
Me!’ button function is to add the activity to user activity. After user tap the ‘Add Me!’
button, a notification will show that the activity is successfully added to the user activity
and stored into the database. User activity will be shown in the ‘Activity’ tab which is
User Activity Page after user added the activity.
Figure 4.11: Pick Date and Time
Page Figure 4.12: Interface after
adding activity.
-
54
4.2.11 User Activity Page
Figure 4.13 below shows the added activity for User Activity in Activity tab.
User can manage their activity by tapping the ‘View’ button and delete the activity by
tapping the ‘Delete’ button at the card.
Figure 4.13: User Activity Page
-
55
4.2.12 Location Services Page
Figure 4.14 below shows available location service such as Homestay or Hotels
nearby the activity location in the Services section. The services are attached with the
name of the services, contacts and the address of the services.
Figure 4.14: Location Services Page
-
56
4.2.13 Give Review Page
Figure 4.15 below shows the Review section that shows review from another
user in the location respectively. User can give review by submitting their review and
tap the ‘Send’ icon button. User also can view the other user’s review.
Figure 4.15: Give Review Page
-
57
4.2.14 Navigate Page
Figure 4.17 below shows the navigation from user’s location to the activity
location in maps by tapping the ‘Navigate Me!’ button in the Figure 4.16. User can
navigate to the activity location with the route showed on the top of the map.
Figure 4.16: Activity
Description Page
Figure 4.17: Navigate Page
-
58
4.2.15 Update Date and Time Page
Figure 4.18 below shows the current user time and date. By tapping the ‘Pick
Your Time’ and ‘Pick Your Date’ button, user will update the current time and date
after user tapping the ‘Update’ button. User can delete the activity by tapping the
‘Delete’ button below or at the ‘Trash’ icon at the top of header bar. User can check the
required requirements before starting the journey by tapping the ‘Check’ button. User
will go to the Requirement Page to see more details about the requirement of the
activity.
Figure 4.18: Update Date and Time Page
-
59
4.2.16 Requirement Page
Figure 4.19 below shows the requirement that are needed before starting a
journey. User can save the tick by tapping the ‘Save’ button to the database. Figure 4.20
shows more details about the requirements by tapping the ( ! ) beside the ‘Let’s Check’
title. This page can only viewed when user added this activity. The requirement of the
activity is different with other activity.
Figure 4.19: Requirement Page
Figure 4.20: Requirement Details
Page
-
60
4.2.17 Choose by State Page
Figure 4.21 below shows the Choose by state page when user tapping the
preferred activity in previous page (Choose Activity Page). The application will show
the available states for the activity. For this application, it only shows only in East Coast
Zone in Malaysia only.
Figure 4.21: Choose by State Page
-
61
4.2.18 Explore Page
Figure 4.22 below shows Explore tabs that shows the random available activity
in different locations.
Figure 4.22: Explore Page
-
62
4.2.19 Category Page
Figure 4.23 below shows the Category Page in Category Tab. User can choose
whether user want to go for a journey with Family or Group/Individual category. By
tapping the ‘Let’s Go!’ button, application will alert user to choose the activity based
on Figure 4.24. User will be redirect to the Choose Activity Page after choosing the
activity in the alert box.
Figure 4.23: Category Page Figure 4.24: Choose Category
activity Page
-
63
4.2.20 Profile Page
Figure 4.25 below shows the User Profile Page. User can update the profile by
tapping the ‘Update Profile’. The application will redirect User to Update Profile page
(Figure 4.26). User can update their email, current location and password. User’s details
will be updated when user tapping the ’Update’ button.
Figure 4.25: Profile Page Figure 4.26: Update profile page
-
64
4.3 Testing Analysis
Testing analysis is a process to determine and identify the correctness of the
application and to ensure the application to meet the user requirement. The test used for
the application is Black Box Testing, White Box Testing and Test Case. This test are
conducted to test the application functionality and ensure that the application get the
respective input and output for each process involved in TAG.
4.3.1 Black Box Testing
Black box testing is a software testing technique which tested the system without
looking for the source code. It is based on software requirement and focuses on the input
and output of the application without taking part into the application. This test has been
done on retrieving the activity data from database, adding activity to the user activity
and deleting activity.
4.3.2 White Box Testing
White box testing are focusing on the flow of input and outputs through the application
and improving the design and usability. The goals is to verify the working flow of data between
processes and involved a series of predefined input against expected outputs. If some process
not giving the expected result, the application has a bug that need to fix. This test has been done
on validating the date and time cannot be the same with other activity and the email input from
the sign-up form.
-
65
4.3.2 Test Cases
Test case is a set of conditions of variables under which a tester will determine
whether a system under test satisfies requirement or work properly. The process of
developing test can also help find bugs in the requirements or design of an application.
There are some steps and validation to test the expected output in a test case. The test
has been done on Sign Up, Sign In, Choose Activity based on Level and State, Insert
Review, Update User Activity, Save Activity Requirement, Update Profile, Delete User
Activity and View Activity Location Details.
-
66
4.3.2.1 Test Case for Sign Up
Based on table 4.1, the Sign Up process has 3 action which is the Sign Up button
functionality, form filling and Sign Up button process.
Table 4.1: Test case for Sign Up test.
4.3.2.2 Test Case for Sign In
Based on table 4.2, the Sign Up process has 3 action which is the Sign In button
functionality, form filling and Sign In button process.
Table 4.2: Test case for Sign In test.
Step Action Expected
Application
Result
Pass/Fail
1 Click on Sign Up
Button
Display the Sign
Up form.
Pass
2 Fill up the form - Pass
3 Click on ‘Sign Up’
button
A pop up alert
‘Success’ message
when user sign up
or “Error’ if user
not filled up the
form or not entered
a correct form
details.
Pass
Step Action Expected
Application
Result
Pass/Fail
1 Click on Sign In
Button
Display the Sign In
form.
Pass
2 Fill up the form - Pass
3 Click on ‘Sign in
button
A pop up alert
‘Welcome’
message when user
sign up or “Error’
if user not filled up
the form or not
entered a correct
form details.
Pass
-
67
4.3.2.3 Test Case for Choose Activity based on Level
Based on table 4.3, the Choose Activity based on Level process has 5 actions which is
the red ‘ +’ button functionality, choose level, choose activity location, pick date and
time and the ‘Add Me!’ button functionality.
Step Action Expected
Application
Result
Pass/Fail
1 Click the red ‘+ ‘
button.
Display the list of
activity.
Pass
2 Choose the level Pop up alert to
show the available
level.
Pass
3 Choose the activity
location
Display the list of
activity location
Pass
4 Pick time and date Date and time
chooser pop up
appear.
Pass
5 Click the ‘Add
Me!’ button
The user activity,
date and time are
successfully added
in the useractivity
table and ‘Your
activity is
successfully
added.’ appeared.
Pass
Table 4.3: Test case for Choose activity by level test.
-
68
4.3.2.4 Test Case for Choose Activity based on State
Based on table 4.4, the Choose Activity based on State process has 5 action which is
the red ‘ +’ button functionality, choose state, choose activity location, pick date and
time and the ‘Add Me!’ button functionality.
Table 4.4: Test case for Choose activity by level test.
Step Action Expected
Application
Result
Pass/Fail
1 Click the red ‘+ ‘
button.
Display the list of
activity.
Pass
2 Choose the state Display the list of
state.
Pass
3 Choose the activity
location
Display the list of
activity location
Pass
4 Pick time and date Date and time
chooser pop up
appear.
Pass
5 Click the ‘Add
Me!’ button
The user activity,
date and time are
successfully added
in the useractivity
table and ‘Your
activity is
successfully
added’ appeared.
Pass
-
69
4.3.2.5 Test Case for Insert the Review
Based on table 4.5, the Insert Review process has 3 action which is click the review
section, writing review for activity location and send button functionality.
Table 4.5: Test case for Insert Review test.
4.3.2.6 Test Case for Update User Activity
Based on table 4.6, the Update User Activity process has 3 action which is clicking the
user activity functionality, click the time and date chooser and update button
functionality.
Table 4.6: Test case for Update User Activity test.
Step Action Expected
Application
Result
Pass/Fail
1 Click the review
section
Display the review
section
Pass
2 Writing the review
for activity
location.
- Pass
3 Click the ‘Send’
button
‘The review is
successfully
added’ alert
popped up and
data are
successfully stored
in database.
Pass
Step Action Expected
Application
Result
Pass/Fail
1 Click one of the
user activity.
Display the user
activity details.
Pass
2 Click the time and
date chooser.
Date and time
chooser pop up
appear.
Pass
3 Click the ‘Update’
button
The date and time
are successfully
stored in database.
Pass
-
70
4.3.2.7 Test Case for Save Activity Requirement
Based on table 4.7, the Save Activity Requirement process has 4 action which is click
the user activity, click the requirement section, tick the requirement and ‘Save’ button
functionality.
Table 4.7: Test case for Save Activity.
Step Action Expected
Application
Result
Pass/Fail
1 Click one of the
user activity.
Display the user
activity details.
Pass
2 Click the
‘Requirement’
section
Display the list of
activity
requirement.
Pass
3 Tick the
requirement.
- Pass
4 Click ‘Save’
button
The message
‘Your requirement
is successfully
added’ and the
data of ticked list
of requirement are
added into
database.
Pass
-
71
4.3.2.7 Test Case for Update Profile
Based on table 4.8, the Update process has 4 action which is click the ‘Profile Icon’
functionality, update profile section, filling the update form and ‘Update’ button
functionality.
Table 4.8: Test case for Update Profile test.
Step Action Expected
Application
Result
Pass/Fail
1 Click the ‘Profile
Icon’ tab
Display the user
details.
Pass
2 Click the ‘Update
Profile’ section
Display the update
form.
Pass
3 User fill the update
form.
- Pass
4 Click ‘Update’
button
The message
‘Your requirement
is successfully
added’ and the
data of ticked list
of requirement are
added into
database.
Pass
-
72
4.3.2.8 Test Case for Delete User Activity
Based on table 4.9, the Delete User Activity process has 2 action which is clicking the
‘Activity’ tab functionality and ‘Trash’ icon functionality.
Table 4.9: Test case for Update Profile test.
Step Action Expected
Application
Result
Pass/Fail
1 Click the
‘Activity’ tab
Display the user
activity details.
Pass
2 Click the ‘Trash’
icon with ‘Delete’
text
The alert of ‘Do
you want to delete
this activity?’ is
popped out, the
user activity are
deleted
successfully from
database if user
tapping ‘Yes’ and
the user activity
not removed from
database if user
tapping ‘No’.
Pass
-
73
4.3.2.8 Test Case for View Activity Location Details
Based on table 4.10, the View Activity Location process has 4 action which is clicking
‘Read More’ button functionality, click the ‘Description’ section, click the ‘Services’
section and click the ‘Review’.
Table 4.10: Test case for View Activity Location test.
Step Action Expected
Application
Result
Pass/Fail
1 Click the ‘Read
More’ button on
activity location
card.
Display the
activity location
details.
Pass
2 Click the
‘Description’
section.
The application
will show the
details of the
activity location
such as
description,
location on map,
navigation to the
location,
coordinates and
emergency details.
Pass
3 Click the
‘Services’ section.
The application
will show the
available services
nearby with the
activity location.
Pass
4 Click the ‘Review’
section
The application
show the review
from previous user
review on specific
location.
-
74
4.4 Chapter Summary
The implementation of coding and testing of the system is discussed in this
chapter. To create a robust and well function system, all test case are needed to test
precisely and carefully to get the intended result. The main process and the flow of
process are discussed and the application functionality are had been evaluated and
tested. The test has been done to find the encountered errors and the errors has been
fixed and passed.
-
75
CHAPTER V
CONCLUSION
5.1 Introduction
This chapter discusses on the contribution, limitation, recommendation and the
summary of the application. All content of this chapter will be explained more details
and detailed.
5.2 Project Contribution
The Track and Go! Mobile Application Using Decision Tree Method is a
developed mobile application that help user that like outdoor activity to plan and get
recommendation about the places user want to go with its level. There are two optional
choices whether user want to get recommendation by level or by state. Once user has
chosen the activity, user can check the requirement of the activity before going to an
activity and save it to the database. Other than that, User also can view the nearby
services that are available to each places respectively. User also can give and view the
review from other user in the activity location in Review section.
-
76
5.3 Project Limitation
There are several limitations that are occurred throughout the development of
the application. The problems and limitations are:
i) In this application, user need to sign up first in order to access the
application. If the user has signed in, user can use it as usual.
ii) This application does not automatically notify user about the user’s schedule
to its activity.
iii) This system need a working internet connection and GPS activated in order
to make all function works.
iv) User cannot add additional custom requirement in the requirement section
which the requirement for each activity are fixed.
5.4 Future Work
This application has a huge potential to be upgraded and improved. There are
still lot of features can be added in this application. Firstly, this application should add
custom requirement in the requirement section. This is because user can add their
custom checkbox to add other important things before going to an activity. Next, this
application also should consider about the weight and height and how many energy
required for user to make a useful recommendation where should user go with the
preferred activity. And next the application should add nearby activities function. The
application detect automatically what is the nearest activity available at user’s location.
-
77
5.5 Conclusion
The Track and Go! Mobile Application using Decision Tree is able to help user
who likes outdoor activity in getting recommendation to choose places with its level.
User can find activity location based on its level faster than searching it on the internet.
Moreover, with Decision Tree Method can help the user to make choices based on its
level and location. This application can further be used to make another useful
additional features.
-
78
REFERENCES
[1] Android Language Breakdown, Open Hub.
https://www.openhub.net/p/android/analyses/latest/languages_summary . Accessed on 13
August 2018.
[2] Structure of an Android Operating System, From EDUCBA.
https://www.educba.com/structure-of-an-android-operating-system/ . Accessed on 12
August 2018.
[3] Yan-yan SONG, Ying LU (2015), Decision tree methods: Applications for
Classification and Prediction. Shanghai Jiao Tong University School of Medicine
[4] Amancio Bouza, Gerald Reif, Abraham Bernstein, Harald Gall (2011).
SemTree: Ontology Based Decision Tree Algorithm for Recommender Systems.
University of Zurich.
[5] Gerard Bieber (2014), Low Sampling Rate for Physical Activity Recognition.
Institute for Computer Graphics Research, PETRA '14 The 7th International
Conference on Pervasive Technologies Related to Assistive Environments IGD.
[6] Wahidah Husain (2015), A Framework of a Personalized Location-based
Traveler Recommendation System in Mobile Application. International Journal of
Multimedia and Ubiquitous Engineering.Universiti Sains Malaysia.
[7] Komoot, Cycling, Hiking & Mountain Biking Maps Application.
https://play.google.com/store/apps/details?id=de.komoot.android&hl=en. Accessed on
21 February 2018.
https://www.openhub.net/p/android/analyses/latest/languages_summaryhttps://www.educba.com/structure-of-an-android-operating-system/https://play.google.com/store/apps/details?id=de.komoot.android&hl=en
-
79
[8] AllTrails, Hiking, Running & Mountain Bike Trails.
https://play.google.com/store/apps/details?id=com.alltrails.alltrails . Accessed on 21
February 2018.
[9] ViewRanger Hike, Ride or Walk.
https://play.google.com/store/apps/details?id=com.augmentra.viewranger.android .
Accessed on 21 February 2018.
https://play.google.com/store/apps/details?id=com.alltrails.alltrailshttps://play.google.com/store/apps/details?id=com.augmentra.viewranger.android
-
80
APPENDIX
Appendix A shows the Gant Chart for FYP1 schedule and planning for this application
timeline. The project starting from February until May 2018.
TASK NAME WEEK1
WEEK
2 WEEK
3 WEEK
4 WEEK
5 WEEK
5 WEEK
6 WEEK
7 WEEK
7 WEEK
8 WEEK
9 WEEK1
0 WEEK1
1 WEEK1
2 WEEK1
2 WEEK1
2 TOPIC DISCUSSION AND DETERMINATION
PROJECT TITLE PROPOSAL
PROPOSAL WRITING - INTRODUCTION
PROPOSAL WRITING – LITERATURE REVIEW
PROPOSAL PROGRESS PRESENTATION AND EVALUATION
DISCUSSION AND CORRECTION & PROPOSED SOLUTION METHODOLOGY
PROOF OF CONCEPT
DRAFTING REPORT OF PROPOSAL
SUBMIT DRAFT OF REPORT TO SUPERVISOR
SEMINAR PRESENTATION
REPORT CORRECTION
FINAL REPORT SUBMISSION
Appendix A: Gantt chart: FYP 1 Schedule
-
81
Appendix B shows the Gant Chart for FYP2 schedule and planning for this application
timeline. The project starting from June until August 2018.
Appendix B: Gantt chart: FYP 2 Schedule
TASK NAME WEEK 1 WEEK 2 WEEK 3 WEEK 4 WEEK 5
DEVELOPMENT AND IMPLEMENTATION OF PROJECT
PRE CONFERENCE EVALUATION OF SYSTEM
DEVELOPMENT AND IMPLEMENTATION OF PROJECT
DEVELOPMENT AND IMPLEMENTATION OF PROJECT
DEVELOPMENT AND IMPLEMENTATION OF PROJECT
FIK ACADEMIC CONFERENCE
SUBMISSION AND CORRECTION OF THESIS