track and go! mobile application using decision …track and go! mobile application using decision...

95
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

Upload: others

Post on 29-Jan-2021

2 views

Category:

Documents


0 download

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