You are on page 1of 80

PERSONAL SERVICES LOCATOR

BY
AKHIGBE DAVID CHDOZIE
BU/18A/IT/2993

FACULTY OF COMPUTER SCIENCE


BAZE UNIVERSITY
ABUJA

September, 2020
Personal Services Locator

Thesis/Report submitted in partial fulfilment of the requirement


for the degree of

B.Sc.
In
Software Engineering
By

Akhigbe David Chidozie


To
The Department of Computer Science
Baze University, Abuja

September, 2020
DECLARATION

This is to certify that this Thesis/Report, Personal Services Locator which is submitted by
AKHIGBE DAVID CHIDOZIE in partial fulfilment of the requirement for the award of
degree for B.Sc. in Software Engineering to the Department of Computer Science, Baze
University Abuja, Nigeria, comprises of only my original work and due acknowledgement
has been made in the text to all other materials used.

Date:10/9/2020 Name of Student: Akhigbe David Chidozie

APPROVED BY …………………

Dean

Faculty of Computing and Applied Sciences


CERTIFICATION

This is to certify that this Thesis/Report entitled Personal Services Locator, which is
submitted by AKHIGBE DAVID CHIDOZIE in partial fulfilment of the requirement for
the award of degree for B.Sc. in Information Technology to the Department of Computer
Science, Baze University Abuja, Nigeria is a record of the candidate’s own work carried
out by the candidate under my/our supervision. The matter embodied in this thesis is
original and has not been submitted for the award of any other degree.

Date: Supervisor: Dr. Sylvanus A. Ehikioya


APPROVAL

This is to certify that the research work, Personal Services Locator and the subsequent
preparation by Akhigbe David chidozie with [BU/18A/IT/2993] has been approved by the
Department of Computer Science, Faculty of Computing and Applied Science, Baze
University, Abuja, Nigeria.

By

Dr. Sylvanus A. Ehikioya Date/Sign


1st Supervisor

Mr .Samuel Ubaru Date/Sign


2nd Supervisor

Dr. C. V. Uppin Date/Sign


Head, Department of Compuer Sciences

Prof. MOHAMMED HAMMAWA BABA Date/Sign


Dean, Faculty of Computing and Applied Science

Prof. Ahmed Baita Garko


External Examiner Date/Sign
DEDICATION

This project is dedicated to the almighty God for his mercy and grace for keeping me to
see the end of this chapter of my life, and to my Father Mr. Michael Akhigbe,and my
mother Mrs. Ngozi Akhigbe, thank you for your unwavering support towards me against
all oddsI also dedicate this to my lecturer’s Dr Sylvanus, Dr Amit, Mr. Julius, Mr.
Abubakar, Mr. Kvac for their immeasurable assistance and also to my classmates and great
friends Fidelis, Al-Kassim, Bill, Basil, Shin-shil these elite individuals work ethic rubbed
off on me and helped me conquer my fear and for which I am eternally grateful.
ABSTRACT

In this Thesis, The Personal Services Locator helps users to find personalized workers or
“Handymen” as fast as possible. The issue of finding a person or an individual to do a certain
job has always been around, even though it has been reduced with the use of adverts and
various social media, it’s not as fast and as efficient at locating people. This application finds
the closest person(s) with the services running depending on which personalized service the
user is looking for and which service the other user provides and links them together thus
creating an appointment within the two users on where to meet and the transaction will be
carried out. This software will run on Android and will be developed using Java
programming language.

TABLE OF CONTENTS

CHAPTER 1: INTRODUCTION .......................................................................................... 13


1.1 OVERVIEW............................................................................................................................... 13
BACKGROUND AND MOTIVATION ................................................................................................. 13
1.2 STATEMENT OF THE PROBLEM ................................................................................................ 13
1.4 AIMS AND OBJECTIVES ............................................................................................................ 14
1.5 SIGNIFICANCE OF THE PROJECT .............................................................................................. 14
1.6 PROJECT RISKS ASSESSMENT.................................................................................................. 15
1.7 SCOPE/PROJECT ORGANIZATION ............................................................................................ 15
CHAPTER 2: LITERATURE REVIEW .............................................................................. 17
2.1 INTRODUCTION........................................................................................................................ 17
2.2 BACKGROUND LITERATURE.................................................................................................... 17
2.3 HISTORICAL OVERVIEW’ ........................................................................................................ 19
2.4 LOCATION BASED SERVICES ................................................................................................... 20
2.4.1 LOCATION BASED MOBILE SERVICES .................................................................................. 20
2.4.3 GROWTH OF LOCATION BASED MOBILE SERVICES .............................................................. 20
2.4.3 LIMITATIONS OF LOCATION BASED MOBILE SERVICES ...................................................... 20
2.5 RELATED WORKS .................................................................................................................... 21
2.5.1 UBER .................................................................................................................................... 21
2.5.3 TASKRABBIT ........................................................................................................................ 22
2.6 SUMMARY ............................................................................................................................... 23
CHAPTER 3: REQUIREMENT ANALYSIS AND DESIGN ............................................... 23
3.1 OVERVIEW............................................................................................................................... 23
3.2 RESEARCH METHODOLOGY .................................................................................................... 24
3.2.1 METHOD 1 (QUESTIONNAIRE) ......................................................................................... 24
3.2.2 METHOD 2 (DESK RESEARCH) ........................................................................................ 24
3.3 DESIGN METHODOLOGY ......................................................................................................... 24
3.3.1 AGILE FRAMEWORK .......................................................................................................... 24
3.3.2 INCREMENTAL MODEL..................................................................................................... 26
3.3.3 STRENGTHS OF INCREMENTAL MODEL................................................................................. 26
3.3.4 WEAKNESS OF INCREMENTAL MODEL ................................................................................. 26
3.4.5 PROPOSED METHODOLOGY .................................................................................................. 27
3.5 TOOLS AND TECHNIQUES ........................................................................................................ 27
3.6 ETHICAL CONSIDERATION ...................................................................................................... 29
3.7 REQUIREMENT ANALYSIS ....................................................................................................... 29
3.8 REQUIREMENTS SPECIFICATIONS............................................................................................ 30
3.8.1 FUNCTIONAL REQUIREMENT SPECIFICATIONS .................................................................... 30
3.7.2 NON-FUNCTIONAL REQUIREMENT SPECIFICATIONS ........................................................... 32
3.8 SYSTEM DESIGN .............................................................................................................. 32
3.8.1 APPLICATION ARCHITECTURE ........................................................................................ 32
3.8.2 USE CASE DIAGRAM ............................................................................................................. 34
3.8.4 ACTIVITY DIAGRAM............................................................................................................. 35
3.8.5 DATA FLOW DIAGRAM......................................................................................................... 36
3.8.6 USER INTERFACE DESIGN .................................................................................................... 38
3.9 SUMMARY ............................................................................................................................... 42
CHAPTER 4: IMPLEMENTATION AND TESTING.......................................................... 43
4.1 OVERVIEW............................................................................................................................... 43
4.2 MAIN FEATURES ..................................................................................................................... 43
4.3 IMPLEMENTATION PROBLEMS................................................................................................. 47
4.4 OVERCOMING IMPLEMENTATION PROBLEMS ......................................................................... 47
4.5 TESTING........................................................................................................................... 49
APPROVALS ............................................................................................................................ 51
4.5.2 Test Suite (for Unit Testing, Integration Testing, and System Testing)..................... 52
4.5.2 Test Traceability Matrix (for Unit Testing, Integration Testing, and System Testing)
65
4.5.4 Test Report Summary (for Unit Testing, Integration Testing, and System Testing).. 66
4.5.5 Error Reports and Corrections ................................................................................. 67
4.6 USER GUIDE .................................................................................................................... 67
4.7 SUMMARY ....................................................................................................................... 67
CHAPTER 5: DISCUSSION, CONCLUSION, AND RECOMMENDATIONS..................... 68
5.1 OVERVIEW............................................................................................................................... 68
5.2 OBJECTIVE ASSESSMENT ........................................................................................................ 68
5.3 LIMITATIONS AND CHALLENGES ............................................................................................ 69
5.4 FUTURE ENHANCEMENTS ....................................................................................................... 69
5.5 RECOMMENDATIONS ............................................................................................................... 70
5.6 SUMMARY ............................................................................................................................... 70
REFERENCES ...................................................................................................................... 70
APPENDICES .............................................................................................................................. 71
APPENDIX A - PROJECT DOCUMENT ............................................................................................. 72
LIST OF TABLES

TABLE 1. 1 PROJECT RISK ASSESSMENT ......................................................................................................... 15

TABLE 3. 1 ADVANTAGES AND DISADVANTAGES OF THE AGILE FRAMEWORK (MEDIUM, 2018) ................. 25
TABLE 3. 2 FUNCTIONAL REQUIREMENT SPECIFICATIONS ............................................................................ 31
TABLE 3. 3 NON-FUNCTIONAL REQUIREMENT SPECIFICATIONS ................................................................... 32

TABLE 4. 1TEST SUITE PERFORMED FOR LOGIN ............................................................................................ 52


TABLE 4. 2 TEST SUITE PERFORMED FOR SEARCH REQUEST ........................................................................ 54
TABLE 4. 3 TEST SUITE PERFORMED FOR CANCEL REQUEST ......................................................................... 57
TABLE 4. 4 TEST SUITE PERFORMED FOR LOGOUT........................................................................................ 58
TABLE 4. 5 TEST SUITE PERFORMED FOR COMMUNICATION BY CALL .......................................................... 60
TABLE 4. 6 TEST SUITE PERFORMED FOR HISTORY DETAILS ........................................................................ 62
TABLE 4. 7: SUMMARY OF THE TEST SUITE(S) PERFORMED .......................................................................... 64
TABLE 4. 8: TEST TRACEABILITY MATRIX ..................................................................................................... 65
TABLE 4. 9:TEST REPORT SUMMARY............................................................................................................... 66
LIST OF FIGURES

FIG 2. 2: CONCEPTUAL MODEL (EHIKIOYA, 2018) ..............................................................18


FIG 2. 3: INTERACTION BETWEEN CONSUMER AND PROVIDER (EHIKIOYA, 2018) .............19

FIG 3. 1: AGILE FRAMEWORK (MEDIUM,2018). ..................................................................25


FIG 3. 2: INCREMENTAL METHOD DIAGRAM (TUTORIALSPOINT,2018) ..............................26
FIG 3. 3: DATABASE MODEL ..................................................................................................28
FIG 3. 4: APPLICATION ARCHITECTURE ..............................................................................33
FIG 3. 5:. USE CASE DIAGRAM ..............................................................................................34
FIG 3. 6: ACTIVITY DIAGRAM FOR SIGNUP ...........................................................................35
FIG 3. 7: DATA FLOW DIAGRAM LEVEL 0 .............................................................................36
FIG 3. 8: SPLASH SCREEN ......................................................................................................38
FIG 3. 9: SIGN UP PAGE ..........................................................................................................39
FIG 3. 10: LOGIN PAGE .........................................................................................................40
FIG 3. 11: HOME PAGE ..........................................................................................................41
FIG 3. 12: USER INFO PAGE ...................................................................................................42

FIG 3.7. 1: DATA FLOW DIAGRAM LEVEL 1 ..........................................................................37

FIG 4. 1: IMPLEMENTATION CODE FOR GETTING HANDYMANS CURRENT LOCATION ........44


FIG 4. 2: IMPLEMENTATION CODE FOR GETTING CLOSEST HANDYMAN .............................44
FIG 4. 3: IMPLEMENTATION CODE FOR POLYLINE ACTIVATION .........................................45
FIG 4. 4: IMPLEMENTATION CODE FOR GETTING CLIENT INFO ...........................................46
FIG 4. 5: IMPLEMENTATION CODE FOR GETTING HANDYMAN INFORMTION ......................46
FIG 4. 6: PHONE CALL CODE FRAGMENT..............................................................................48
FIG 4. 7: SCREENSHOT OF LOGIN TO CLIENT MAP PERFORMED ..........................................53
FIG 4. 8: SCREENSHOT OF SEARCH REQUEST ......................................................................56
FIG 4. 9: SCREENSHOT OF LOGOUT TEST ............................................................................59
FIG 4. 10: SCREENSHOT OF PHONE CALL TEST ....................................................................61
FIG 4. 11: SCREENSHOT FOR CLIENT AND HANDYMAN DETAILS .........................................63
LIST OF ABBREVIATIONS

CPU Central Processing Unit

ERD Entity Relationship Diagram

IT Information Technology

LBS Location Based Services

LBMS Location Based Mobile Services

DB Database

UI User Interface
CHAPTER 1: INTRODUCTION
1.1 Overview
Personal Services Locator is a platform that helps individuals find workers or “Handymen”
that are closest to the individuals’ location. This is achieved by creating a platform that helps
with easier access to personal workers. This application helps to find workers effectively and
efficiently with the ease and comfort from homes or offices or wherever a user may be. With
a few clicks of a button on the Personal Services Locator, details of the user’s location (i.e
the person ordering the services) will be sent to the closest “Handymen” around that area
who may offer the specific services being requested

Background and motivation


Finding qualified artisans in addition to a trusted artisan is not very easy, even if they exist
there are no referrals, this makes the task of getting certain services accomplished within the
environment not easy. There is the need for a software tool that serves as a personal
consultant in sourcing for “Handymen”.

Having this tool will offer the following benefits:

• Faster Attendance to issues


• Easier Access to “Handymen”.
• Saves time
• Easy to get help
• Online payment Facility
• Local jobs in and around the neighborhood are easily resourced
• Working at your own time
1.2 Statement of the Problem
Finding qualified artisans is a difficult errand particularly when one voyages and moves to
another spot since Handymen are arranged across various territories and contrast in costs,
quality and kind of services that they give. The current arrangements endeavoring to tackle
this issue are random people offering services dispersed in the web which now and again are
not genuine but rather wind up being fraudsters acting like Handymen. Another difficulty
that exists is deciding quality services given by these Handymen who fall under the class of
private ventures. Potential customers regularly see private companies as without the capacity
to have the option to offer quality types of assistance. This makes these administrations to
be more costly and hazardous in situations where helpless administrations are given and one
must look to other Handymen to do a similar activity

1.4 Aims and objectives


The aim of this project is to enable users have faster access to home service workers Also
called “Handymen”. Users will be able to use their Android enabled mobile devices to
quickly find the nearest personal worker wherever they are at any time.

The objectives of this project are:

• To develop an android application that allows users make quick requests for personal
workers.

• To alert Personal Service workers that someone needs help in their field of expertise.

• To design an Application that give” Handymen” better exposure of their services

• To validate the effectiveness of a mobile application for locating handyman services


within
a specific location.

1.5 Significance of the Project


With this application the issue of finding a "Handyman" when you need one will be
controlled. It will take out the requirement for making calls particularly to housekeeping
organizations who may burn through your time and make you hold up quite a while as the
greater part of these solicitations are off the cuff. With the rise of handyman service
providers because of the inability of the formal sector to be able to give jobs to the
unemployed in the country, this study is very important as it looks to bring out the process
of acquiring these handymen. It serves to build the public trust in handyman’s quality of
service by providing them with a rating feature and repair person work history to determine
the quality of service. It also serves to meet the growing need for on-demand handyman
services by easing and fastening the process of acquiring handymen
1.6 Project Risks Assessment

Table 1 1 Project Risk Assessment

Risk(s) Possible solution(s)

Inability to carry out research due to loss of Be aware of and observe school security procedures.
hardware/software resources.

Loss of work due to equipment Weekly data backup.


failure/loss.

Software availability (Unavailability of API’s). Alternative API’s will be checked for.

Unwillingness to pass sensitive Non-disclosure agreement signing.


information/business model.

Inadequate supervision. Report to a higher authority like the HOD.

Health related issues. Report to the project management team.

1.7 Scope/Project Organization


The work done in this project is organized into different chapters, there is a total of five
chapters in this dissertation. Chapter 1 includes the background, the statement of the problem
at hand, the problem objectives in addition with the aims of the project, lastly, we have the
project risk assessment and the scope of the project. Chapter 2 provides the historical
overview of the field of choice and also related works done in the field chosen. Chapter 3
consists of the methods/approaches and the overall framework taken in building the
application, the requirements of the application both functional and non-functional, hardware
and software requirements are also included in this chapter, the activity diagrams, use case
diagrams, ERDs and the user interface design. Chapter 4 covers the system implementation,
testing on various levels and their various results, the main features of the application will
be mentioned and discussed, problems encountered during implementation and how they
were solved, error reports and solutions will be provided also. Chapter 5 covers the overview
of the whole dissertation, the objective assessment, suggested improvements, limitations and
challenges encountered during implementation, recommendations, and summary. Other
areas covered at the end are references, and appendices.
CHAPTER 2: LITERATURE REVIEW
2.1 Introduction
This chapter is based on the literature review of the techniques and technology used in this
thesis. Section 2.2 gives descriptions of some of the literature available with regards to this
application in solving the research question. Section 2.3 is based on the Historical
Overview of personal Services. Section 2.4 is talking about location based mobile services
which would be the basis of this application. Section 2.5 is a summary of the entire chapter,
this section summarizes the historical overview in addition to the related work. This builds
the basis of the work and highlights the differences with work done in the literature

2.2 Background Literature


Internet business has furnished individuals with a bigger number of alternatives nowadays
than previously. With online platforms being made each day and all over the place,
individuals currently have the choice of purchasing merchandise and enterprises from their
rooms and with their gadgets with no complain. The most imaginative piece of E-business is
the individual to individual market though when an individual needs a particular thing done
on the stage the individual who can do the particular thing will be found. Instances of Markets
like these are Uber which matches people with vehicles and additional chance to drive them
(called the Drivers) with others in their territories that need rides (called the Riders). This
application is created from distributed registering. The design of the application is done
differently in relation to a customer-worker platform. these frameworks are made with the
possibility of PCs having the option to locate one another.

(Ehikioya, 2018)
SERVICE
SERVICE SERVICE
REGISTRY
PROVIDER CONSUMER
PLATFORM

fig 2. 1: Conceptual model (Ehikioya, 2018)

In the conceptual model fig 2.1, users provide services and other users (who are the
consumers will consume these services the platform which makes this possible will have a
matchmaking function which links the consumers and providers together and also a way of
communication to reduce wrong information sent and secure way to make payments and
accept payments to reduce scam situations. In most situations these applications aren't solely
by provider and consumer, they would always be a middleman who is introduced to deal
with the requests and multiple services as seen in fig 2.1
MIDDLEMAN /
ADMIN
DISCOVERABLE
FIND

SERVICE COMMUNICATION
SERVICE PROVIDER
CONSUMER

fig 2. 2: Interaction between consumer and provider (Ehikioya, 2018 )

2.3 Historical Overview’


According to (Bellavista, K, & Helal, 2008) The history of location-based services started in
1991 with the Enhanced 911 mandate, which the Us government made in 1996. The mandate
was made for the US mobile operators to locate emergency callers with accuracy, so the
operators could get a caller's location to Public Safety Answering Points. Cell innovation
couldn't satisfy these exactness requests in those days, so operators begun tremendous
endeavors to present advanced positioning methods. To pick up returns on the E911
speculations, operators propelled an arrangement of business LBSs. By and large, these
comprised of locater services that, on-demand conveyed to clients a rundown of close by
focal points, for example, cafés or service stations. Nonetheless, most clients weren't keen
on this sort of LBS, endless operators immediately staged out their LBS contributions and
halted related improvement endeavors. Unit 2005 where it started seeing good light in the
industry with the introduction of several favorable things coming together like 3g mobile
devices GPS-capable mobile devices. In that time software companies realized what they
could do with Location based services and made It work.

2.4 Location Based services


2.4.1 Location Based Mobile Services
Location Based Services (LBS) are portable applications that give data relying upon the
Location of the client. To make LBS work, diverse framework segments are required, i.e.,
cell phones, positioning, correspondence systems, and service providers. Pretty much every
LBS application needs a few key components to deal with the primary errands of positioning,
data modeling, and data correspondence. With the quick advances in Technology, LBS has
gotten universal in our day by day lives with numerous application fields, for example, route
and navigation, social media, amusement, and social security. (Huang, Gao, 2018)

2.4.3 Growth of location Based mobile Services


Location based services have been around since 2000 with their utilization basically being
in trade with a membership- based plan of action. Designers are currently ready to acquaint
a great many buyers with LBMS with the arrival of Apple's 3G iPhone and Google's LBS
empowered Android working framework. Area Based Mobile administrations have topped
the worldwide association. Consider Uber and Instagram. these convenient applications have
gotten radical changes in transportation, individual to individual correspondence, and
gaming zones independently. What is the central purpose of these applications? It's Location
based Services or LBS. As the name proposes, LBS are connected with the capacity to find
the zone of the adaptable customers and offer sorts of help reliant on this region. of LBS.

2.4.3 Limitations of Location Based Mobile Services


Location based mobile services are limited where there is use of low end devices that lack
built-in sensor techniques and are unable to transfer their location information over the
network known as the low-end mobile phones (LEMPS). This limitation can be overcome
using carrier billing records. These are used to identify the geolocation of the base station
transceiver (BTS) with which the mobile phone is communicating because the BTS for each
cell is in fixed location, this can be buffered with maximum distance of the BTS antenna
coverage. This can be translated later into a location of the mobile user and then the better
approximate location can be achieved through interactive communications (Azene, 2014).

2.5 Related works


This section of the thesis presents work related to the task of creating an application for a
digital peer to peer marketplace.

The Uber app and the TaskRabbit apps are Examples of peer to peer applications that are
running.

2.5.1 Uber
Uber is a technology platform. Where apps connect drivers and clients In urban areas where
Uber works, individuals utilize their rider application to demand a ride. At the point when a
close by driver-accomplice acknowledges your solicitation, your application shows an
expected time of appearance for the driver-accomplice going to your pickup area. Your
application informs you when the driver-accomplice is going to show up. The driver at that
point takes the client to the ideal area and the client would be charged dependent on the
separation of the ride (How does Uber work?,2020)

The fruitful development of Uber has been in light of a misleadingly basic utilization of
current innovation, in which the underlying appointments, the course to be taken, the figuring
of pay also, at long last, payment, are totally made by implementation of an advanced mobile
phone application. In operational terms, this innovative base is joined with the monetary idea
of the 'sharing economy,' which means to unite providers and shoppers by utilizing save
limit. On account of Uber, this implies that, given that an engine vehicle is ordinarily inactive
for more than 90% of the time, the driver of a private vehicle can download the Uber
application and be placed in contact with clients who are utilizing their own Uber savvy
telephone application. Innovation, joined with the ‘sharing economy', should mean a more
productive coordinating of gracefully and request than for customary taxi administrations. ,
(Dudley, Banister, & Schwanen, 2017) Also, Uber utilizes variable estimating that can be applied
to manage times of pinnacle request, while both driver and client give score appraisals to one
another. The capacity of Uber to challenge and regularly undercut the officeholder taxi
administrators has unavoidably caused savage resistance to its administrations in numerous
nations. Especially for administrative purposes. Uber looks to separate itself from its
opponents by depicting itself as an innovation stage as opposed to a taxi organization, while
it groups its drivers not as employees, but as 'partners’. Uber and its rivals have rolled out
basic improvements to an old industry that worked similarly to it did decades back:
Individuals needing a taxi needed to either truly wave at a taxi or call a neighborhood vehicle
administration to hold a vehicle at any rate thirty minutes before the pickup time. E-hail
administrations like Uber have made it conceivable to make sure about a vehicle or taxi by
means of a cell phone from any area. A disadvantage, in any case, is that this problematic
innovation has diminished the piece of the pie of customary taxi benefits and brought down
the general benefits of drivers. Uber and its rivals have a few particular points of interest
over customary taxicabs: like the use of credit cards

Rather than pursuing down a taxi on a road—or calling and standing by thirty minutes for a
vehicle administration—e-hail application clients can hail a vehicle from any area and have
it show up in practically no time. Since the traveler's Visa card is connected to the account,
no money changes hands. Upon landing in the objective, the driver carries the ride to a stop
and the traveler can basically leave the vehicle. A receipt is sent through email. Another
advantage is proficient services. In significant urban communities like New York where the
taxi business is directed, most vehicles are later models, very much kept up and chauffeured
by proficient drivers who have legitimate business protection inclusion. When a driver
acknowledges a task, travelers can follow a driver's position and course, and speak with their
driver if essential. A driver possibly learns the traveler's objective when the passage begins.
This deals with the issue of being declined admittance to a taxi on the grounds that the
traveler wishes to venture out to unfortunate pieces of town. Amateurish drivers are removed
on the grounds that travelers get the opportunity to rate the driver's exhibition. A reliably low
evaluating will constrain a driver out of Uber or its rivals. In numerous urban communities,
as Los Angeles, and states with less rigid guidelines (contrasted with New York), normal
residents can give the Uber administration. This builds the quantity of drivers and makes
more vehicles accessible. The entirety of the above mentioned and more encourage a positive
encounter for Uber clients. (Jalloh, 2020)

2.5.3 TaskRabbit
In the work of TaskRabbit. TaskRabbit is a two-sided marketplace that connects ‘Task
Posters,’ people who need help, with ‘Task Rabbits,' a network of pre-approved and
background checked individuals, who have the time and skills needed to complete the
listed task. Hailed as a godsend to people with more money than time, it allows people to
outsource small jobs and tasks to others in their neighborhood. TaskRabbit aims to help
people take back their lives, be their boss, help people out, and make some money.

(How TaskRabbit Works, 2020)

2.6 Summary
Even though all knowledge that since the beginning of civilization, personal services have
been needed from different people with specific abilities and expertise to get things done.
This also consists of what personal services are in the world today are needed by virtually
almost everybody. This shows how personal services have fared nicely in the world without
being automated and how it will fare better if we added information technology to it and
make it easier for people to get jobs done

CHAPTER 3: REQUIREMENT ANALYSIS AND DESIGN


3.1 Overview
This chapter explains the requirement analysis design, the functionalities of the system, and
the data gathering tools used in the design of this system. The data used was carefully
analysed and the requirement gathering techniques tools used in the creation of the system,
the openings for improvements were identified, designed a working information system to
implement them, and also the development of a prototype for the new system. With help of
proper conduct of system analysis which is ultimately described as the process of collecting
and analysing facts concerning an executing operation, procedure, and system. To acquire
the full picture of the situation at hand so that an efficient and operative computerized system
can be designed and implemented. The system design was initiated, system design is a
technical blueprint that either describes the new system or describes how the current system
will be altered. It ultimately answers the question "How will the system do what it must do
to obtain a solution to a problem?" It also details system outputs, inputs, and user interfaces;
specifies hardware, software, databases, telecommunication, personnel, and procedures; and
shows how these components are related.

3.2 Research Methodology


3.2.1 Method 1 (Questionnaire)
The questionnaire allows for the collection of data from various groups, people that have
experience in a field, and users. Using a standard format to ask questions helps to give better
results than other techniques used for data collection, and its wide conveyance guarantees
anonymity for respondents, which can prompt increasingly genuine reactions. This method
would be used in the course of this project to gather data from a specialist about the procedure
of the system.

3.2.2 Method 2 (Desk Research)


Desk research is the collection of data from sources that already exist. Before carrying out a
project it only makes sense to see what people may have said or done based on the topic of
that project because someone may have already asked a question and someone may have
tried looking for answers on the topic. It is also the cheapest way to research where not a lot
of money would be spent. Which is why it will be very useful in the progress of this project

3.3 Design Methodology


The design methodologies are the splitting of software development work into distinct phases
or stages containing activities with the intent of better planning management. Common
methodologies may include

3.3.1 Agile Framework


This is a recently introduced design model which focuses on user involvement during
development process. It is an iterative process as developer continuously gets feedback from
the user at every stage or phase of development an makes changes to the system. The user
writes what they want to see in the system to be developed in small papers or notes called
user stories, it is based on these user stories that the developer works. It is a fusion of the
iterative and incremental models; so, after every iteration, a particular feature is integrated
and then a working prototype is delivered. At the end of the iteration, the final system that
is delivered will contain all the features that the user expects to see.

fig 3. 1: Agile Framework (Medium,2018).

The figure above depicts the agile framework and its lifecycle with some of its deliverables.
It is not a methodology but rather a framework to apply towards any preferred methodology.

Table 3. 1 Advantages and Disadvantages of the Agile Framework (Medium, 2018)

Advantages Disadvantages

Consistent consideration regarding technical There is lack of significance on important


excellence and great plan. design and documentation.

Adjusts normally to evolving situations. Ability of customer to express user needs.

Requirements added later on are accepted. Documentation is done at later stages.


It is flexible. It is not scalable.

Prototyping is supported. Reduction in component usability.

The table above describes some of the advantages and disadvantages of the agile framework
in minimal details.

3.3.2 Incremental model


This is a software development methodology whereby all the requirements are broken down
into multiple standalone modules represented in the development cycle. Therefore, each
iteration passes through each phase of the development cycle until the system is completed

3.3.3 Strengths of incremental model


The software will be generated quickly during the software life cycle. Also, it is flexible and
less expensive to change requirements and scope. Throughout the development, stages
changes can be done. This model is also less costly compared to others. A customer can
respond to each building and Errors are easy to be identified

3.3.4 Weakness of incremental model


The incremental model has various weaknesses, such as it requires good planning for
designing. Problems might cause due to system architecture as such not all requirements
collected upfront for the entire software lifecycle. Also, each iteration phase is rigid and
does not overlap with each other. And Rectifying a problem in one unit requires correction
in all the units and consumes a lot of time.

fig 3. 2: Incremental method diagram (Tutorialspoint,2018)


3.4.5 Proposed methodology
For this project, The Agile Methodology and the Incremental methodology is utilized. The
decision was made in light of the fact that the Agile Method is a circumstance that is iterative
though parts of the product advancement procedure would be done however changes would
be done a great deal of times and afterward the designer could return to change a few things
dependent on changes in different parts which makes testing and refinement simpler all the
while. While the Incremental model will be utilized on the grounds that it gives opportunity
to get better and takes into consideration fast improvement of programming arrangements.
This application will have a great deal of functionalities when the final result is finished. It
can't all be finished and comply with the time constraint. This model permits an exhaustive
comprehension of the objective of the application and separates it into smaller than normal
activities to be finished.

3.5 Tools and Techniques


The development tool that is used to build this project is Android Studio. The Database that
I chose is firebase, this is a no SQL document-oriented database developed by google. So
instead of storing data with a bunch of columns and rows like you would with a traditional
SQL database. It stores data as collections of documents. collections don’t store any data of
their own. they’re just containers to hold multiple documents that you can query, and a
document itself can just be thought of as a JSON object. It is also helpful because it allows
us a storage bucket that we can use to store all of our user's files like profile images, which
we’ll be expecting from the Handyman. this is good for Handling big data.
Since there is no such thing as an ERD diagram for no SQL databases. I created this to
illustrate the data modelling which I designed for my app.
fig 3. 3: database model

In far left we see the client table that store similar data structures. Which have an auto-
generated 27 character ID, this is good because it is more secure than user assigned id’s.

While the client collection has data about the client and the handyman table has data about
the handyman the client table which makes it easier to store information with these
collections we

The client database always accesses the customer request which means one client can make
one request and the customer request would access the table of the handymen available and
only picks one driver at a time which is the closest. The available table doesn’t have
handyman Information just the Handyman’s unique key and their location which uses geo
fire go query the handyman's updated location is then moved from the available to the
working table when being accessed by the customer request which puts the customer work
id into the handyman map for the time being to indicate that’s whom the handyman is
working for and when the work has been done the details of the handyman and the client
would be put into the history table which has a unique key to identify the client and the
handyman involved in that job. which will also be a foreign key in both handyman and the
client table to track history in case of history retrieval.
3.6 Ethical Consideration
There have to be guidelines that govern a software developer in the creation of software and
the organizations, and they include:

• The risk of harm: We ought to make every effort to protect study members. For this,
we should concentrate on the hazard to profit proportion. If potential dangers exceed
the advantages, at that point we should desert or change the research. risk of harm
additionally expects us to quantify the hazard to profit proportion as the research
advances.

• Validity: The research configuration must address explicit research questions. Thus,
the findings of the study must associate with the inquiries presented and the
outcomes. Likewise, research about morals requests that the techniques utilized must
relate explicitly to the research questions.

• Confidentiality: Any confidential information provided by the user will be stored in


a hashed key in other to reduce chances of having the information stolen by hackers
or cyber criminals.
This project deals with a lot of data and it important to ensure personal information
is not accessed by unauthorized parties.
• Permission: If your application wishes to make perform some specific activities on a
users’ behalf like the use of the users’ Current location it’s will ask for permission
3.7 Requirement Analysis
The point or aim of requirement analysis is to find issues with the framework prerequisites,
particularly inadequacy and irregularities. Some analysis is inter-leaved with requirement
elicitation as issues are now and again clear when a prerequisite is stated. There are 3 analysis
stage and these are:

• Checking of necessity

• Consistency and culmination checking


• Feasibility checking

3.8 Requirements Specifications


The requirement is an early stage of the software development process. This is the description
of a software system to be developed. It lays out the functional and non-functional
requirements specification.

3.8.1 Functional Requirement Specifications


The table below contains a list of the functional requirements of the system coupled
together with brief descriptions of these functional requirements
Table 3. 2 Functional Requirement Specifications

Req. No. Description Type

R-101 The application should use an android smartphone Configuration


R-102 A minimum of 512 MB RAM memory Configuration
R-103 The operating system should be android 5.0 and above Configuration

R-104 The smartphone should have a minimum of 1Gb disk space Configuration
for installation
R-105 Firebase Realtime Database Configuration
R-106 The application should include a user interface. Functional
R-107 The application should work on all android smartphones Functional

R-108 The application should use Location Services to search for Functional
nearby devices
R-109 The application shall allow users find the closest Handyman Functional

R-110 The application shall Activate Location Services on the users Functional
Device
R-111 The application should work on all android smartphones Functional

R-112 The application shall use internet Connection Functional


R-113 The application shall allow user Login Functional
R-114 The application shall allow user Logout Functional
R-115 The application should allow users make payments Functional
R-116 The application shall allow users receive payment Functional
R-117 The application shall allow users make calls Functional
R-118 Users should be able to cancel request before making contact Functional
with Handyman physically
R-119 Users shall be able to start job Functional
R-120 The Application should allow users see their history Functional
3.7.2 Non-Functional Requirement Specifications
The table below contains a list of the non-functional requirements and the constraints of the
system coupled together with brief descriptions of these non-functional requirements and
their various types.
Table 3. 3 Non-Functional Requirement Specifications

Req. Description Type


No.
R-101 When launched, the application shall stay running Performance
unless there is an intentional shutdown of the
application or the platform.

R-102 The system shall secure access of confidential data Security

R-103 The Application is simple to use Usability


R-104 The Application is available at any time Availability

3.8 System Design


This section of the chapter contains:

• Application Architecture
• Database description
• Data Flow Diagram
• Activity Diagram
• Use Case Diagram
3.8.1 Application Architecture
This section consists of the application architecture which defines the framework of the
application to be developed against the several requirements identified to ensure scalability,
reliability and manageability.
Splash Screen

Choices

Login Signup Signup Login

Database Database
Accessor Accessor

API
API Client Map Handyman map

Handyma
n details Cloud
Maker Cloud
Database
Accessor
Cloud Placer

CloudDatabase
Accessor
Client
Details
Marker
Handyman placer
Client Profile History profile
Polyliines
Direction

Cloud
Update
profile Cloud
Database
Accessor
Update
profile
View
profile View
profile
Detailed
History

Cloud
Cloud
Database
Accessor

Figure 6

fig 3. 4: Application Architecture

The figure above describes the interaction between the several components of the system
and how the system will appear to the user of the application. Several major components
have been identified based on the provided requirements and this will aid in a much better
implementation process by ensuring ease of understanding.
3.8.2 Use case diagram
The use case diagrams describe system functionality as a set of tasks that the system must
carry out and actors who interact with the system to complete the tasks.

MANAGE USERS

<<extend>> ADMIN
<<extend>> <<extend>>
register users
edit users delete users

PHONE NUMBER
REGISTER <<include>>
AUTHENTICATION

CAPTURE CLIENT DETAILS LOGIN

<<include>>

VALIDATE USER
LOGOUT

CALL
HANDYMAN

CLIENT CANCEL REQUEST


CAPTURE HANDYMAN
DETAILS
<<include>>

REQUEST
VIEW CLIENT
MAKE
<<extend>> Cash DETAILS
PAYMENTS
<<extend>>
ANSWER
Card debit REQUEST

RATE TURN ON LOCATION


HANDYMAN

VIEW HANDYMAN DETAILS

VIEW HISTORY VIEW HISTORY

fig 3. 5:. Use Case diagram

The figure above shows the use case for the Handyman application which depicts the
interaction between the user and the system to achieve certain objectives.
3.8.4 Activity Diagram
Activity diagram is a type of UML that describes the dynamic aspects of a system. It
represents the flow from one activity to another which can also be referred to as the
operations of a system. This application will be represented in several activity diagrams so
as to give a better picture of the dynamic aspects of the system

fill in details

If account is taken

true
If account is not taken

Display error send verification


message code

If code is not valid

If code is valid

display success
message

display home
screen

fig 3. 6: Activity diagram for signup

The figure above shows the flow of processes to be registered into the system.
3.8.5 Data flow diagram
The DFD shows the representation of the flow of data of a process or a system, it also
provides information on the inputs and outputs of each entity and the process itself.

Sign In Sign In
Sign Up Sign Up
Search for handyman Turn on location
Make payment Make Calls
Client Handyman Handyman
Make calls Sees Clients in need
Handyman location Client location
Handyman information

fig 3. 7: Data flow diagram level 0


Client Handyman Client Handyman
Log into application Register

Admin

Log into application Register


Recieves Payment
Login Authentication Authenticate user using OTP code Register

Payment Debit client account

Stores user details


Retrieves User details
Click Search

Database
Click Profile
Update database

Retrieve updated database

Call History

Search
Profile

Show updated profile


Call handyman Show updated profile
Receive call from handyman Receive Client call
Search for handyman
Show search result Call Client

Udate profie

View history
Client Client
Client

Handyman

View detailed history

Send payment details

fig 3.7. 1: Data flow diagram level 1


3.8.6 User Interface Design
The (UI) is the purpose of human-PC association and correspondence in a gadget. This can
incorporate showcase screens, consoles, a mouse and the presence of a work area. It is
likewise the path through which a client communicates with an application or a site. The
developing reliance of numerous organizations on web applications and portable applications
has driven numerous organizations to put expanded need on UI with an end goal to improve
the client's

general understanding

fig 3. 8: splash screen

The splash screen in the first thing a user first sees when the application is opened, this splash
screen lasts a period of 5 seconds.
fig 3. 9: sign up page

The sign-up page is accessible for new users, this page gathers vital data that is used to make
an account for a user,
3

fig 3. 10: Login page

The login page allows the user put in their credentials to log in to the system and start
making use of the functionalities
fig 3. 11: Home page

This page shows what a user sees when successfully signed in. in this page, A user can call
for a “handyman” and a “handyman” can wait for request or turn off and on their locations
fig 3. 12: User info page

In this page a user can edit their info or check what their info says to other people they can
also choose to add a profile picture or not

3.9 Summary
This chapter explained the research methodology, analysis and design of the application.
This chapter also explained how the process flow of data and activities are being carried out
in the system. This section carefully analyzed the current existing system, and identified the
opportunities for improvements by conducting thorough desk research
CHAPTER 4: IMPLEMENTATION AND TESTING
4.1 Overview
This chapter is dedicated to going over the main features of the application and going
through details of its implementation, and Identifying any problems experienced during
the implementation. After problems have been Identified details on how and why the
problems occurred will be provided, as well as how said problems were overcome. The
chapter will also go through the testing plan by identifying all major components and
report on their behavior. We will also go through the test and error report summary and
look at corrections for those errors. Finally, the user guide will be provided and then the
contents of this chapter will be summarized.

4.2 Main Features


The application would be able to use a user's location to find other users within their radius
to find a person who is available to do work for the user. the application would also let the
user track the “Handyman’s” movement on the way to the client's location. When the
Application Connects client and handyman the application will direct the handyman to the
client's location using the polylines on the google maps API. The application lets the client
and the “Handyman” exchange name and phone number and profile pictures for easy
identification when they have met each other. It also allows the client or handyman to call
each other to be better sure about the location and other things they need to be sure of.

The application was implemented through coding. Some of the codes that were used to
implement this application will be further shown to explain the main features of this
application.
fig 4. 1: Implementation code for getting Handymans current location

This figure above shows the implementation to connect the handyman to the database with a switch so he
can be found if there is a request the switch is used so as not to be logged in and always ready for work

fig 4. 2: Implementation code for getting closest handyman

The figure above shows the code for finding the closest handyman device the clients device using geo
locations
fig 4. 3: Implementation code for polyline activation

This snippet of code shows the implementation of the polyline activation for the direction to the client
fig 4. 4: Implementation code for getting client info

The figure above shows the code that was used to implement getting the client info from the cloud database
and display it on the Handymans map /device

fig 4. 5: Implementation code for getting Handyman informtion


The figure above shows the code that was used to implement getting the Handyman info from the cloud
database and display it on the Client map /device

4.3 Implementation Problems


During the development process, several bugs were encountered. Although this was expected
because there is never any application that is free of bugs and errors during the development
process.
In the process of implementing this project I encountered several technical challenges and
they include:

• Coding
• Integrating the database in the android environment
• Integrating maps
• Payment services

4.4 Overcoming Implementation Problems


Integrating the database in the android environment

It was really difficult understanding how to integrate the firebase database I watched a lot
of you tube videos to help me understand the new kind of no sql database I was about to
get into because the way firebase works you have to make references to the different json
trees in the fire base and there are many commands for that in the documentations

Coding

Phone calls integration

I had to find a way to code the phone calls and make sure the phone number being called
is the one being displayed and the ne being gotten from the database but it wasn’t working
at first because I was making reference to a string in the database so it went to that string
and usually called a bunch of things that shouldn’t be called (the file path). So I had to
make a string and set that string to what was already gotten from the database which was
in the textview ui and then that is what will be called when the button is pressed.

fig 4. 6: Phone call code fragment

Integrating maps

Integrating the maps API was a huge problem because of the billing and the attainment of
the SHA keys to link to your android project It took days of going through pages and pages
of the web to find out how to get an SHA key and SHA keys change if a system is formatted
which was done to my system for risk mitigation. Another Problem with the maps was
trying to get the current location of the user, it was hard because google deprecated the
maps API and made an update so I had to research on how to access current location with
the new implementation.

Notwithstanding these issues I experienced I had the option to beat the greater part of them,
I was as yet ready to convey a proficient framework that meets the client prerequisite that
was expressed in the investigation and configuration stage. I conquered the blunders in my
code via cautiously investigating each line of code, evaluating the module that were having
issues.
4.5 Testing
Testing is one of the most significant pieces of a product improvement life cycle. It assists
with giving check and approval on whether the entirety of our useful necessities are met.
This is finished by creating test information and taking care of it to the application to screen
the conduct. This assists with recognizing the weaknesses and impediments of our
application. On the off chance that an element neglects to meet desires it will be separated
from different segments and will be looked at.

This is where the application would be tested. Several tests were conducted such as unit test,
integration test, system test, and acceptance test.
• Unit Test: Unit test is the testing of the individual modules of a system or application. It
tests if the objects and methods of an application are working and performing as well as they
should. The unit tests carried out can be found in the appendices section.
• Integration test: This is the test carried out after the unit test. The modules which have been
tested individually in the unit test are then grouped to form larger groups or aggregates. The
large aggregates are then tested according to the integration test plan. In the case of this
application, the acceptance of speech and the results return method were grouped together
and tested.
• System Test: This test comes after integration testing. After all the components have been
integrated and tested, the system test comes in. Here, the whole system is tested altogether.
It ensures that the system is tested altogether. It ensures that the system as a whole achieves
its stated objectives; that it fulfils the purpose for which it was created. In the case of this
application its main purpose is to recognize verses of the Quran and return the English
meaning together with other criteria’s like the English Surah name and so on. Another
purpose is to guide Muslims towards the direction to face whilst praying. The system test
was conducted to see if this application can perform the its required functions.
• Acceptance Test: The test is performed by users of the application. It tests to verify that the
application meets user’s requirements. The user uses the application and concludes whether
it conforms to what they need. This application was tested under this technique by sending
the installation media to 13 different individuals for their consumption and all the feedbacks
were positive with some few criticisms towards the color theme and new features to consider
like the prayer notification feature and so on.
4.5.1.1 Test Identifier:
TEST LEVEL: Master Test Plan

AUTHOR’S NAME: Akhigbe David Chidozie

AUTHOR’S CONTACT: Davidakhigbe@gmail.com

4.5.1.2 Reference

• Personal Services Locator

• Work Plane

• Detailed project documentation

• Test summary

4.5.1.3 Introduction
The personal Services locator app master test plan is provided here which will
verify and validate the functional requirement. Different testing methods such
as white and black box testing will be performed.
5.1.4 Features To Be Tested
The following is a list of the areas to be focused on during testing of the
application.

• Login
• Logout
• Search Request
• Cancel Request
• History page
• Detailed History page
• Real time Tracking of Handyman
• User Info page update and display
• Making phone calls to linked Handyman or client
4.5.1.5 Features Not To Be Tested
• External APIs
• Internet protocols

4.5.1.6 Approach
Theses testing can be done at different levels but using measuring criteria. Built in debugger
in android studio will be used, android emulator would also be used to test the application
before it is then deployed.

4.5.1.7 Test Deliverables


The deliverables of this test plan are:
• Test cases
• Test report
• Traceability matrix
• Test results
• Error report

APPROVALS
Akhigbe David Chidozie
Chief Technology Officer
4.5.2 Test Suite (for Unit Testing, Integration Testing, and System Testing)
Table 4. 1Test Suite Performed for Login

Test case TC-001(Login)


Test Suit ID R-113
Test Case ID TC-001
Test case summary This test case is designed to make sure users are able to login

Related Requirement R-113


Prerequisite • Application must be installed

• Uninterrupted internet Connection

Test Procedure 1. Launch Application


2. Choose role
3. login
Test Data User password
Expected Result The application should login the user and take him to the map
Actual Result The result was as expected
Status Test case passes
Remarks The test was successful
Created by Akhigbe David Chidozie
Date Created 24th August 2020
Executed by Akhigbe David Chidozie
Date of Execution 24th August 2020
Test Environment Hardware: Infinix Android , Windows envy (Windows 10 pro)
Software: android 6.0

fig 4. 7: Screenshot of login to client map performed


Table 4. 2 Test Suite Performed for Search Request

Test case TC-002(Search Request)


Test Suit ID R-109
Test Case ID TC-002
Test case summary This Test case is designed to allow Clients search an available handyman
and exchange information with them such as location and phone numbers
Related Requirement R-109
Prerequisite • Launch application
• Sign in
• Uninterrupted internet
• Location services should be running

Test Procedure 4. Launch Application


5. Click on “Call Handyman” Button
Test Data Longitude and latitude
Expected Result The application allows a marker to be made on the Map signifying client
location and another marker on the screen signifying Handyman location
While the handyman information pops up on the screen and the client
information pops up on the handyman screen with the clients location
marker and a polyline leading them there
Actual Result The result was as expected
Status Test case passes
Remarks The test was successful
Created by Akhigbe David Chidozie
Date Created 24th August 2020
Executed by Akhigbe David Chidozie
Date of Execution 24th August 2020
Test Environment Hardware: Infinix Android , Windows envy (Windows 10 pro)

Software: android 6.0


fig 4. 8: Screenshot of search Request
Table 4. 3 Test Suite Performed for cancel request

Test case TC-003(Cancel Request)


Test Suit ID R-118

Test Case ID TC-003

Test case summary This test case is designed to allow user cancel a request after finding
a handyman

Related Requirement R-118

Prerequisite • Launch application

• Sign in

Test Procedure 1. Launch Application


2. Click on “Call Handyman” Button
3. Click on “Call Handyman” Button Again
Test Data Current location

Expected Result The application allows the markers to be removed from the map and
all other pop ups of the handyman’s information
Actual Result The result was as expected

Status Test case passes

Remarks The test was successful


Created by Akhigbe David Chidozie

Date Created 25th August 2020

Executed by Akhigbe David Chidozie

Date of Execution 25th August 2020

Test Environment Hardware: Infinix Android , Windows envy (Windows 10 pro)

Software: android 6.0


Table 4. 4 Test Suite Performed for Logout

Test case TC-004(Logout)


Test Suit ID R-114
Test Case ID TC-004
Test case summary This test case is designed to make sure application logout user
Related Requirement R-114
Prerequisite • must be a logged-in user

• must be on the user’s dashboard

• must click on the log out button


Test Procedure

1. Login

2. Click logout
Test Data Logout
Expected Result The user should be logged out redirected to the choices page
Actual Result The user is logged out
Status Test case passes
Remarks The test was successful
Created by Akhigbe David Chidozie
Date Created 28th August 2020
Executed by Akhigbe David Chidozie
Date of Execution 28th August 2020
Test Environment Hardware: Infinix Android , Windows envy (Windows 10 pro)

Software: android 6.0


fig 4. 9: Screenshot of Logout Test
Table 4. 5 test Suite Performed for communication by call

Test case TC-005(Communication by call)


Test Suit ID R-117

Test Case ID TC-005

Test case summary This test case is designed to allow user call a user that he /she is linked to

Related Requirement R-117

Prerequisite • Launch application

• Sign in

Test Procedure 1. Launch Application


2. Click on “Call Handyman” Button
3. Click on phone number displayed in the pop up
4. Give the device permission to call that phone number
Test Data Phone number

Expected Result The phone allows the application to call displayed number

Actual Result The result was as expected

Status Test case passes

Remarks The test was successful

Created by Akhigbe David Chidozie

Date Created 25th August 2020

Executed by Akhigbe David Chidozie

Date of Execution 25th August 2020

Test Environment Hardware: Infinix Android , Windows envy (Windows 10 pro)

Software: android 6.0


fig 4. 10: Screenshot of Phone call test
Table 4. 6 Test Suite Performed for History details

Test case TC-006(History Details)


Test Suit ID R-120
Test Case ID TC-006
Test case summary This test case is designed to allow user see history of handymen or
client they have met
Related Requirement R-120

Prerequisite • Launch application

• Sign in

Test Procedure 1. Launch Application


2. Click on history button
3. Click on particular history based on date and key
Test Data Client or Handymans key
Expected Result See users details and details of the work done
Actual Result The result was as expected
Status Test case passes
Remarks The test was successful
Created by Akhigbe David Chidozie
Date Created 25th August 2020
Executed by Akhigbe David Chidozie
Date of Execution 25th August 2020
Test Environment Hardware: Infinix Android , Windows envy (Windows 10 pro)

Software: android 6.0


fig 4. 11: Screenshot for Client and handyman details
Tables 4.1-4.6 show all the test suites of the testable requirements identified and their
various prerequisites, status and procedures. The application was tested at the master
level which consists of all other test plan levels (unit test plan, integration test plan,
system test plan, acceptance test plan)

Figures 16-20 show all the screenshots of the various test procedures followed to
prove test results stated as either pass or fail in the status field.

Measurement metrics: The measure of the extent to which each tested case satisfies
specified requirements would be given in form of pass or fail. “pass” means that the
test case satisfies the given requirement. While “fail” means the test case does not
conform to the specified requirements.

Pass/Fail criteria: these are the conditions which determine whether each test item
passes or fails the corresponding tests.

Table 4. 7: Summary of the Test Suite(s) Performed

Requirement Feature Description Type


No.
R-113 Allow the user to Tests if the allows the user to Functional
login login.

FR-109 The application Test if the Application allowed Functional


shall allow users user find handyman and
find the closest exchange information and
Handyman location
FR-118 Users should be Tests to see if the application Functional
able to cancel allows user cancel a request
request
FR-114 The Application Tests to see if the application Functional
shall allow user allows users log out
Logout
FR-117 The Application Test to see if the application Functional
shall allow users allow users to make calls
make calls
FR-120 The Application Tests to see if users history can Functional
should allow be seen
users see their
history

The table above is the summary of all the test suites executed coupled together with
their various descriptions.

4.5.2 Test Traceability Matrix (for Unit Testing, Integration Testing, and
System Testing)
This section captures the requirements identified during data gathering and maps these
requirements to test cases executed during the testing phase to ensure that all test cases
have been covered and documented. See figures 4.7-4.11 to see tests carried out.

Table 4. 8: Test Traceability Matrix

Reqt. Description Priority Test Test Data Test Result

#
Case

R-113 1 1 24/08/2020 Pass


User shall be able to Login

R-109 The application shall allow users 1 2 24/08/2020 Pass


find the closest Handyman
R-118 Users should be able to cancel 2 3 25/08/2020 Pass
request

R-114 The Application shall allow user 5 4 28/8/2020 Pass


Logout

R-117 The Application shall allow users 3 5 25/08/20 pass


make calls

R-120 The Application should allow 2 6 25/08/20 pass


users see their history

4.5.4 Test Report Summary (for Unit Testing, Integration Testing, and
System Testing)
Table 4. 9:Test report summary

SUMMARY OF TEST CARRIED RESULTS

OUT

Number of functions tested: 6

The number of functions not tested: 4

The number of tests passed: 6

The number of tests failed: 0

Percentage of tests passed: 100%

Percentage of tests failed: 0%


4.5.5 Error Reports and Corrections
Error Reports

• Internal Error Exception due to some mistakes in the code.

Corrections

• In order to correct this error, I isolated the faulty module and each
line of code till the error was identified and fixed also ran the code
and found the errors through the error messages from the logcat

4.6 User Guide


The user guide is an explanation of how the users of the software will make full use of the
software. It describes each user role when using the application, it serves as referencing tools
for the users when they encounter problems in using the application.

4.7 Summary
This chapter explained the software tools used in developing the system, the system
implementation procedure, and test conducted on the software before it was deployed for
user consumption and the documentation of the software, this chapter also explained how
and why all these processes where carried out. This chapter is very critical in the software
development life cycle of a project because adequate implementation is important to provide
a reliable and efficient system that meets the requirements of the organizations; an improper
installation may affect the efficiency an overall general output of a system.
CHAPTER 5: DISCUSSION, CONCLUSION, AND
RECOMMENDATIONS

5.1 Overview
This chapter is the final chapter of this thesis. In it, we’ll go over an objective assessment
of the project as a whole in section 5.2. And then discuss the limitations and challenges
faced during the development of this project in section 5.3. in section 5.4 we’ll also go
over plans for future enhancements for this project. and finally, recommendations will be
made, based on the findings of this project.

5.2 Objective Assessment


The project successfully delivered on all requirement specification specified by the user.
Care was ensured during the design to make sure data integrity is maintained and to avoid
all forms of redundancies associated with data.
The user is ensured a very friendly interface, behind which there are wide ranging technical
details that go in. There is no need for even a user guide because it was specially created
bearing in mind interaction designs that would make users feel as though they have used
a system such as this.
This project has also been built in such a manner that future changes or modifications that
are required can easily be implemented without affecting the functionality of the system.
This project is only used on android environment, and can be used on any version so it can
be used by individuals with different levels of android devices. The technical document
that is provided in the report of this project will help developers understand the internal
workings of the system.

5.3 Limitations and Challenges


During the development process, there was an outbreak of a deadly called COVID-19, this
out-break spread worldwide and was declared as a national emergency when the first case
was recorded in Nigeria. Due to this, a nationwide lockdown was announced which
prevented civilian movements and the federal government announced that all educational
institutions were to close immediately. The lockdown also prevented interactions with
other lecturers for outside counsel and opinions. However, communications with the
assigned supervisors continued via formal online interactions like sending e-mails.
Demonstrations of the project were performed by screen recording the application and
providing voice-over narrations. Another major challenge was the implementation of the
geofire- java to get users location to update to the database frequently. The limitations of
this mobile application only targets handyman services which are majorly home-based
repairs and maintenance and home cleaning, thirdly, its only useful to smartphone users
running android operating system. Finally, the application is dependent on the availability
of internet connectivity for users to be able to send and retrieve data, hence Internet
connectivity is required for one to use the application

5.4 Future Enhancements


The end of this project does not mark the end of the application’s developments. Future
updates and improvements will be added. The design of the app will also change over time
to fit modern UI design trends. Updates that will be added :

• Different categories of help such as plumbers and carpenters


• Choosing from specific said handymen list rather than closest to location
• The application should be able to run on other operating systems rather than only
android platform
• Integration of payment gateways rather than only cash
• It should add inclusivity by being able to change languages on the app
• , bug fixes will be done as real-world users discover them because they are free to
interact with the application is an unexpected way which can help highlight
unnoticed problems or bugs.
5.5 Recommendations
The new system is very important to the informal sector as it provides a platform for the
job seekers mainly handymen to connect easily and efficiently with their clients by
streamlining this process. It serves to build the public trust in handyman’s quality of
service by providing them with a rating feature and work history information to determine
the quality of service. It also serves to meet the growing need for on demand handyman
services by easing and fastening the process of acquiring handymen.

5.6 Summary
This chapter concluded this project thesis. In it, we were able to give an objective
assessment of the project itself. And discussed limitations and challenges such as the
nationwide lockdown, we discussed plans for future improvements such as Different
categories of help such as plumbers and carpenters, Choosing from specific said handymen
list rather than closest to location, Versatility of operating systems and plans for evolving
the application for major project supervision. And finally, we discussed the author's
recommendation.

REFERENCES
[1] Investopedia. 2020. Personal-Service Activity. [online] Available at:
<https://www.investopedia.com/terms/p/personal-service-activity.asp> [Accessed
25 March 2020].
[2] Rosenberg, Kathryn. "Restoring the Seven Year Rule in the Music Industry."
Fordham Intell. Prop. Media & Ent. LJ 26 (2015): 275.
[3] Medium. 2020. How Taskrabbit Works: Insights Into Business & Revenue Model.
[online] Available at: <https://medium.com/uber-for-x/how-taskrabbit-works-
insights-into-business-revenue-model-640c8e4895ef> [Accessed 3 April 2020].
[4] Ehikioya, S. A. (2018). A formal model of peer-to-peer digital product marketplace.
International Journal of Networked and Distributed Computing, 6(3), 143-154.\
[5] U. (n.d.). How does Uber work? Retrieved July 30, 2020, from
https://help.uber.com/riders/article/how-does-uber-work?nodeId=738d1ff7-5fe0-
4383-b34c-4a2480efd71e
[6] Ramer, G. B. (n.d.). Personal Service With A Smile: A History Of California's.
Retrieved July 30, 2020, from https://www.mondaq.com/unitedstates/employee-
rights-labour-relations/279512/personal-service-with-a-smile-a-history-of-
california39s-seven-year-rule
[7] How TaskRabbit Works: Insights into Business &amp; Revenue Model. (2019, July
05). Retrieved August 27, 2020, from https://jungleworks.com/how-task-rabbit-
works-insights-into-business-revenue-model/
[8] Jalloh, M. (2020, February 05). Uber: Advantages and Disadvantages. Retrieved
August 27, 2020, from
https://www.investopedia.com/articles/investing/110614/taxi-industry-pros-cons-
uber-and-other-ehail-apps.asp
[9] Dudley, G., Banister, D., & Schwanen, T. (2017). The rise of Uber and regulating
the disruptive innovator. The political quarterly, 88(3), 492-499.
[10] Azene, F. (2014). Location based services for low-end mobile phones. Enschede:
University of Twente Faculty of Geo-Information and Earth Observation (ITC).
[11] Huang, H., & Gao, S. CP-12-Location-Based Services.
[12] Schiller, J., & Voisard, A. (Eds.). (2004). Location-based services. Elsevier.
[13] Bellavista, P., Küpper, A., & Helal, S. (2008). Location-based services: Back to the
future. IEEE Pervasive Computing, 7(2), 85-89.

APPENDICES
Appendix A - Project Document
The project documentation Personal service locator

DETAILED PROJECT DOCUMENTATION

Candidate Name: Akhigbe David Chidozie

Student Id No: BU/18A/IT/2993.

The project documentation Personal service locator

Course of Study: B.Sc. Software Engineering

Appendix B – Source Codes


Appendix C – Test Cases

Test case TC-005(Communication by call)


Test Suit ID R-117
Test Case ID TC-005
Test case summary This test case is designed to allow user call a user that he /she is linked to

Related Requirement R-117

Prerequisite • Launch application

• Sign in

Test Procedure 5. Launch Application


6. Click on “Call Handyman” Button
7. Click on phone number displayed in the pop up
8. Give the device permission to call that phone number
Test Data Phone number
Expected Result The phone allows the application to call displayed number
Actual Result The result was as expected
Status Test case passes
Remarks The test was successful
Created by Akhigbe David Chidozie
Date Created 25th August 2020
Executed by Akhigbe David Chidozie
Date of Execution 25th August 2020
Test Environment Infinix Hardware

Suite Performed for communication by call


Test case TC-006(History Details)
Test Suit ID R-120
Test Case ID TC-006
Test case summary This test case is designed to allow user see history of handymen or
client they have met
Related Requirement R-120

Prerequisite • Launch application

• Sign in

Test Procedure 4. Launch Application


5. Click on history button
6. Click on particular history based on date and key
Test Data Client or Handymans key
Expected Result See users details and details of the work done
Actual Result The result was as expected
Status Test case passes
Remarks The test was successful
Created by Akhigbe David Chidozie
Date Created 25th August 2020
Executed by Akhigbe David Chidozie
Date of Execution 25th August 2020
Test Environment Hardware Hp

Software: Android Studio Emulator

Test Suite Performed for History details


Test case TC-004(Logout)
Test Suit ID R-114
Test Case ID TC-004
Test case summary This test case is designed to make sure application logout user
Related Requirement R-114
Prerequisite • must be a logged-in user

• must be on the user’s dashboard

• must click on the log out button


Test Procedure

3. Login

4. Click logout
Test Data Logout
Expected Result The user should be logged out redirected to the choices page
Actual Result The user is logged out
Status Test case passes
Remarks The test was successful
Created by Akhigbe David Chidozie
Date Created 28th August 2020
Executed by Akhigbe David Chidozie
Date of Execution 28th August 2020
Test Environment Hardware: HP Laptop

Software: Android studio Emulator

Test Suite Performed for Logout


Appendix D – User Guide/Manual

1. The application shall be installed on an android phone. The Sign in page is the
next page after the splash screen. In this page you will have to sign in if you have an
account already.

2. The Choices in page is the next page after the splash screen. In this page you will have
to choose your role
3. After a role is chosen the login page is the next page which you can login and it takes
you to the maps page
4. If you are a new user, you will have to click sign up at the bottom of the page.
5. If you are the new user, you are expected to input email, password, first name, last
name, mobile number then click sign up.
6. After clicking sign up, it will take the user to the page for confirming their phone
number which a code will be sent to them for confirmation

7. After the correct code has been inputted, they will be taken to the login page

8. And then they can login and go to the map page


9. In the map page for the Handyman they can turn on their location or check their
history or profile
10. In the client page they can request the closest handyman and the handyman or
check their history or the detailed history
11. The client can cancel a request by clicking the handyman found button.
12. when the client does meet customer, he can start the work which is then being
calculated based on time
13. When customer is done with work, he clicks end work to display the money that
should be paid.
14. And the client pays with cash

You might also like