anis azuma binti che zulkifli · 2018. 8. 17. · masalah yang dihadapi adalah pelanggan perlu...
TRANSCRIPT
ONLINE SHOP RECOMMENDATION SYSTEM
ANIS AZUMA BINTI CHE ZULKIFLI
BACHELOR OF COMPUTER SCIENCE
(SOFTWARE DEVELOPMENT) WITH HONOURS
UNIVERSITI SULTAN ZAINAL ABIDIN
2018
ONLINE SHOP RECOMMENDATION SYSTEM
ANIS AZUMA BINTI CHE ZULKIFLI
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 : Anis Azuma Binti Che Zulkifli
Date : ..................................................
ii
CONFIRMATION
This is to confirm that:
The research conducted and the writing of this report was under my supervision.
________________________________
Name : Dr Zahrahtul Amani binti Zakaria
Date : ..................................................
iii
DEDICATION
First at all, be grateful to Allah SWT because got chance to finish my final year project,
ONLINE SHOP RECOMMENDATION SYSTEM. Thanks also to my supervisor, DR
ZAHRAHTUL AMANI BINTI ZAKARIA because willing to teach and motivate me
in order to finish this final project. This work is dedicated to my parent, CHE
ZULKIFLI BIN CHE ABDUL RAHMAN and MAZURA BINTI MAHMUD, without
whose caring support it would not have been possible. Not forget also, my friends and
my classmates, thanks to them because together help me complete this project. I am
really appreciate their action to me.
iv
ABSTRACT
Online Store Recommendation System is a web based concept that provides convenient
and efficient services that will create the opportunity for the company to advertise their
products. Customers can search and view the information details about their desire
stores in such a simple way. The problem faced is customers have to go to multiple
business sites to find out the information that they need such as the location of the
branch and contact number. Instead of having to go to multiple business site, they can
just go to one location for all the information needed. They can find all the local stores
and shops details under one roof. No need to browse all different sites to get their
details. This is a complete unique solution, helps in reducing browsing across various
sites either in browser or social media. Unfortunately, it is hard to recall all the
techniques for each selected application. However, if all the techniques learnt in each
course are mapped to certain possible application, it can assist a student to select the
appropriate topic and technique. In realizing this solution, content-based filtering
technique will be used to recommend some possible algorithm from the specialized
courses based on the similar application domain of the system. In a content-based
recommender system, keywords are used to describe the items and a user profile is built
to indicate the type of item this user likes. In other words, these algorithms try to
recommend items that are similar to those that a user liked in the past. Other technique
used is decision tree method. This method uses branching method to illustrate every
v
possible outcomes of a decision and all their possible consequences. It is one way
conditional control statements.
vi
ABSTRAK
Sistem Cadangan Kedai Dalam Talian adalah konsep berasaskan web yang
menyediakan perkhidmatan mudah dan cekap yang akan mewujudkan peluang bagi
syarikat untuk mengiklankan produk mereka. Pelanggan boleh mencari dan melihat
butir-butir maklumat tentang kedai-kedai keinginan mereka dengan cara yang mudah.
Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan
untuk mengetahui maklumat yang mereka perlukan seperti lokasi cawangan dan
nombor telefon. Daripada perlu pergi ke banyak tapak perniagaan, mereka hanya
boleh pergi ke satu lokasi untuk semua maklumat yang diperlukan. Mereka boleh
mencari semua kedai-kedai dan butiran kedai-kedai tempatan di bawah satu bumbung.
Tidak perlu melayari semua laman web yang berbeza untuk mendapatkan butiran
mereka. Ini adalah penyelesaian unik yang lengkap, membantu dalam mengurangkan
penyemakan imbas di pelbagai laman web sama ada dalam pelayar atau media sosial.
Malangnya, sukar untuk mengingati semua teknik untuk setiap aplikasi yang dipilih.
Walau bagaimanapun, jika semua teknik yang dipelajari dalam setiap kursus dipetakan
ke aplikasi tertentu, ia dapat membantu pelajar memilih topik dan teknik yang sesuai.
Dalam merealisasikan penyelesaian ini, teknik penapisan berasaskan kandungan akan
digunakan untuk mencadangkan beberapa algoritma yang mungkin dari kursus-kursus
khusus berdasarkan domain permohonan serupa sistem. Dalam sistem pengesyorkan
berasaskan kandungan, kata kunci digunakan untuk menggambarkan item dan profil
pengguna dibina untuk menunjukkan jenis item pengguna ini suka. Dengan kata lain,
vii
algoritma ini cuba mengesyorkan perkara yang serupa dengan yang disukai pengguna
pada masa lalu. Teknik lain yang digunakan adalah kaedah pokok keputusan. Kaedah
ini menggunakan kaedah cawangan untuk menggambarkan setiap hasil keputusan
yang mungkin dan semua kemungkinan akibatnya. Ini adalah satu cara penyataan
kawalan bersyarat.
viii
Table of Contents
CHAPTER 1 ....................................................................................................................................... 1
INTRODUCTION .............................................................................................................................. 1
1.1 PROJECT BACKGROUND ........................................................................................................ 1
1.2 PROBLEM STATEMENT ........................................................................................................... 2
1.3 OBJECTIVES ............................................................................................................................... 3
1.4 SCOPE .......................................................................................................................................... 3
1.4.1 Admin .................................................................................................................................... 4
1.4.2 Client ...................................................................................................................................... 4
1.4.3 Customer ................................................................................................................................ 4
1.5 PROJECT PLANNING ................................................................................................................ 5
1.6 LIMITATION ............................................................................................................................... 6
1.7 CONTRIBUTION OF THE SYSTEM ......................................................................................... 6
CHAPTER 2 ....................................................................................................................................... 7
LITERATURE REVIEW ................................................................................................................... 7
2.1 INTRODUCTION ........................................................................................................................ 7
2.2 RESEARCH OF RECOMMENDATION SYSTEM ON DIFFERENT METHOD .................... 8
2.3 LITERATURE REVIEW OF CONTENT BASED FILTERING METHOD ............................ 11
2.4 LITERATURE REVIEW OF COMPARISON ON EXISTING SYSTEM ............................... 13
2.5 SUMMARY ................................................................................................................................ 15
CHAPTER 3 ..................................................................................................................................... 16
PROJECT METHODOLOGY .......................................................................................................... 16
3.1 INTRODUCTION ...................................................................................................................... 16
3.2 ITERATIVE MODEL ................................................................................................................ 16
3.2.1 PLANNING ......................................................................................................................... 17
3.2.2 ANALYSIS & DESIGN ...................................................................................................... 17
3.2.3 IMPLEMENTATION .......................................................................................................... 18
3.2.4 TESTING ............................................................................................................................. 18
3.2.5 DEPLOYMENT .................................................................................................................. 18
3.2.6 EVALUATION .................................................................................................................... 18
3.3 PROPOSED LANGUANGE ...................................................................................................... 19
3.4 SYSTEM REQUIREMENT ....................................................................................................... 19
3.4.1 SOFTWARE ........................................................................................................................ 19
ix
3.4.2 HARDWARE ...................................................................................................................... 20
3.5 SUMMARY ................................................................................................................................ 20
CHAPTER 4 ..................................................................................................................................... 21
DESIGN AND FRAMEWORK ....................................................................................................... 21
4.1 INTRODUCTION ...................................................................................................................... 21
4.2 CONTEXT DIAGRAM .............................................................................................................. 21
4.3 DATA FLOW DIAGRAM LEVEL 0 ........................................................................................ 22
4.4 DATA FLOW DIAGRAM LEVEL 1 ........................................................................................ 23
4.4.1 PARTNERSHIP APPLICATION (CLIENT) ...................................................................... 23
4.4.2 MANAGE PROFILE (CLIENT) ......................................................................................... 24
4.4.3 MANAGE PROFILE (CUSTOMER).................................................................................. 24
4.4.4 MANAGE SHOP (CLIENT) ............................................................................................... 25
4.4.5 MANAGE BRANCH (CLIENT) ......................................................................................... 26
4.4.6 CHOOSE CRITERIA (CUSTOMER) ................................................................................. 26
4.4.7 GENERATE REPORT (ADMIN) ....................................................................................... 27
4.4.8 GENERATE REPORT (CLIENT) ...................................................................................... 27
4.5 ENTITY-RELATIONSHIP DIAGRAM (ERD)......................................................................... 28
4.6 FRAMEWORK ........................................................................................................................... 29
4.7 SOLUTION OF COMPLEXITY ................................................................................................ 30
4.7.1 Drawing a Decision Tree ..................................................................................................... 30
4.7.2 Algorithm ............................................................................................................................. 32
4.8 DATABASE DESIGN ................................................................................................................ 34
4.9 DATA DICTIONARY ................................................................................................................ 38
4.10 PROOF OF CONCEPT ............................................................................................................ 42
4.10.1 Admin ................................................................................................................................ 42
4.10.2 Client .................................................................................................................................. 42
4.10.3 Customer ............................................................................................................................ 43
4.11 SUMMARY .............................................................................................................................. 44
CHAPTER 5 ..................................................................................................................................... 45
IMPLEMENTATION AND TESTING ............................................................................................ 45
5.1 INTRODUCTION ...................................................................................................................... 45
5.2 IMPLEMENTATION ................................................................................................................. 45
5.2.1 INTERFACES ..................................................................................................................... 45
5.2.2 TEST CASES ....................................................................................................................... 57
x
5.3 TESTING .................................................................................................................................... 66
5.3.1 UNIT TESTING .................................................................................................................. 66
5.3.2 INTEGRATION TESTING ................................................................................................. 68
5.4 CONCLUSION ........................................................................................................................... 69
CHAPTER 6 ..................................................................................................................................... 70
CONCLUSION ................................................................................................................................. 70
6.1 INTRODUCTION ...................................................................................................................... 70
6.2 PROJECT CONTRIBUTION ..................................................................................................... 70
6.3 PROJECT CONSTRAINT AND LIMITATION ....................................................................... 71
6.4 FUTURE WORKS ...................................................................................................................... 71
6.5 CONCLUSION ........................................................................................................................... 71
REFERENCES ................................................................................................................................. 72
1
CHAPTER 1
INTRODUCTION
1.1 PROJECT BACKGROUND
Online shopping has emerged in every single time since the 1990s where ecommerce
blew up and significantly transformed the landscape of retail environment. Internet usage in
Malaysia has grown rapidly and has become a common way for searching information either
in development, education or general knowledge. User’s dependability towards internet and
devices are the factor that often making an online shop as a success.
Nowadays, people prefer online shopping over traditional shopping experience where
they need to stop by at the shop because it is convenient and price are more comparable. This
has been researched and most people use online shop not just to buy goods and services, but
also to gain knowledge about potential purchases.
Online shopping is the act of purchasing products or services over the internet. Online
shopping has grown in popularity over the year, mainly because people find it convenient and
easy to shop from their homes or workplaces. One of the biggest challenges of the company is
to organizes, stores and retrieves relevant and important information about their branch’s details
such as location, agents under their company and the product itself. These all factors are very
important to gain optimum competitive in the given market base.
2
Online shopping has shown to provide more satisfaction to modern consumers seeking
convenience and speed. According to Magee (2003), the number of online shoppers is greater
than the Internet users, it means that more Internet users are becoming comfortable to dealand
shop online. Furthermore, it is not only the number of adapters that grow, but also the volume
of their purchases is proportionally increased.
Customers also can get all the information needed by just clicking in the website such
as their agents, location, contact number and social media and even about the products if
provided. Customers can easily see the details about their desire shop and proceed with the
dealing process under one roof. They can directly contact the agents by their phone number and
deal with them. Customers also can search the store by categories, states and deal option so
they can easily buy the product by cash delivery for free or little bit charges. For those who is
in rushed, this is the most efficient way because no need to wait for days for the item to arrive.
1.2 PROBLEM STATEMENT
Customers need to browse all different sites to find the details about their desired store.
While searching the products, customer maybe not found certain specification that they want.
This will just wasting their time and phone storage too since there will be caches and cookies
in the phone. So this problem will be solved if all the information needed by them is gathered
in one place. It will be much easier and convenience to both seller and customer.
Furthermore, customers find it hard for finding the store that they want to buy from
since not all the details about the product is provided by the store itself. It also hard for them to
view the update about the product either it is in stock or out of stock. So in realising this
3
problem, a website where all store details are provided all in one roof since it is convenience
for both seller and buyer themselves.
Online Store Recommendation System helps users overcome the information overload
problem by exposing them to the most interesting items, and by offering novelty, insight, and
relevance. This recommendation technology is hence an important part of the information
seeking problem that has emerged along with the World Wide Web.
1.3 OBJECTIVES
To design a user-friendly website that helps in recommending the best store for user
To develop a website that apply a decision tree algorithm in recommending the store based
on user’s interest
To evaluate and test functionality of the system
1.4 SCOPE
The scope is going to outline the users and functions of this application system and make the
implementation easier. The scope of this system is divided into several parts such as register,
login, add, update and delete module. This authority can only be accessed by the authorized
module so that there will be no problem in during the process in the system.
There are several uses of the history of user interactions. First, the system can simply display
recently visited items to facilitate the user returning to these items. Second, the system can filter
out from a recommendation system an item that the user has already searched and read. Another
important use of the history in content-based recommendation systems is to serve as training
data for a machine learning algorithm that creates a user model.
4
As for scope of users, it will be divided into three (3) parts which are admin scope, client scope
and customer scope. The details of their function will be described in the section below.
1.4.1 Admin
Admin can manage and control all the functions in the system such as approve the registration
request from any store and hide or delete the inactive store. Admin also can update the system
from time to time if there are any better changes and also making sure that both clients and
customers understand how to use the system.
1.4.2 Client
Client can register and login into the system and then manage their profile. Client can access
and fill the criteria details of their shop. They also can add and update store details such as their
name, branches’ location, email contact number and social media. They also able to delete any
desired details if there are any changes regarding their shop information. They can also add,
update and delete the product through the system.
1.4.3 Customer
Customers need to register before they can proceed with the shop recommendation. After
registration, they can login into the system and fill in the criteria in the section provided. They
will be able to see their shop recommendation result after submitting their answer. The system
will automatically give them result that closely to their preferences. Customers also can manage
their profile details and update their account password through the system.
5
1.5 PROJECT PLANNING
6
1.6 LIMITATION
The limitation in this system is that it does not support online payment. There are no specific
modules for this process. Although this proposed system support recommendation for store
recommendation but unfortunately this system not yet support online payment.
So, customers still need to pay manually and update or inform the seller about the payment that
has been made. So that, seller can proceed with delivery either self-pickup or via postage using
courier such as Poslaju, Gdex or others depends on their desired courier.
Other than that, this system does not provide booking function for customer to buy the product
since they need to directly deal with the seller. It may not be a big problem since they can
negotiate about the deposit or instalment with the seller if they are willing to.
Lastly, this system only support web-based and can only be accessed through web browser. An
application is not provided for both Android and iOS user at this time.
1.7 CONTRIBUTION OF THE SYSTEM
An easy website to maintain, ready to run, scalable, affordable and reliable. Does not require
any educational level, experience and technical expertise for user to use the website. This
system is paperless and can be access anywhere
7
CHAPTER 2
LITERATURE REVIEW
2.1 INTRODUCTION
In this chapter, literature review on several journals will be discussed and a comparison table
is made. This chapter is one of the most important chapters as it helps in determining algorithm to
be used. The aim of this chapter is to review the past and current related techniques that have been
proposed or being used and every critical point will be listed and pointed out to be discussed and
described even detailed. Each review that is done will be tabulated for better and clearer
understanding and also the main point in respective review can be well understood. To be
emphasized, the main purposed of the literature review is to find, review and analyse any related
studies that can be related to the purposed project.
For the related review, works related to Content Based Filtering method that associates with
other factor such as Decision Tree, Collaborative Filtering, Demographic Recommendation and
Utility-based are discussed. Generally, there are five recommendation methods that are commonly
used which are Content Based Recommendation, Collaborative Filtering Recommendation,
Demographic Recommendation, Utility Based Recommendation and Knowledge Based
Recommendation.
As said by Goldberg, K., Roeder, t. in 2001, recommender systems improve access to
relevant products and information by making personalized suggestions based on previous examples
of a user's likes and dislikes. Most existing recommender systems use collaborative filtering methods
8
that base recommendations on other users' preferences. By contrast, content-based methods use
information about an item itself to make suggestions. This approach has the advantage of being able
to recommend previously unrated items to users with unique interests and to provide explanations
for its recommendations.
2.2 RESEARCH OF RECOMMENDATION SYSTEM ON DIFFERENT
METHOD
The researcher of method Decision Tree recommendation in 2016, which is Sayali D. Jadhav
was developing a methodology that derives from the field of Decision Theory. Given a training set,
they create a model that relies on the values of items in certain characteristics in order to accurately
classify a previously unclassified item, using the least number of characteristics possible. Every node
of the tree represents a set of items, with restricted values on their characteristics [1]. The root node
does not follow that rule, including the whole set of items, whereas the leaf nodes consist of items
that belong only to one class or have restricted values in every characteristic. In the case of
recommender systems, the training data set is the number of items rated. We usually have only two
classes, consisting of the items favoured or not by the user. The training data set is used in order to
create the decision tree. Then, we simply estimate if an item might be relevant to the user's interests
by inserting it in the root node of the decision tree and then traversing the tree until we reach a leaf
node, given the item's value on the partitioning characteristics [2]. In order to interpret the results,
we need to select items that have classified as positive, while the level of confidence in this
classification can be used as a comparison measure. Then, we can recommend a number of those
items to the user.
In 2010 Robin Burke was doing a research on a method that is commonly used which is
Collaborative Filtering. Collaborative filtering recommender system is a widely accepted technique
in electronic commerce. These systems aggregate data about customers’ purchasing habits or
preferences and make recommendations to other users based on similarity in overall patterns [3]. For
9
example, in the Ringo music recommender system (Shardanand & Maes, 1995), users who had
expressed their musical preferences by rating various artists and albums could get suggestions of
other groups and recordings that others with similar preferences also liked. As a collaborative
filtering system collects more ratings from more users, the probability increases that someone in the
system will be a good match for any given new user [4]. A collaborative filtering system must be
initialized with a large amount of data, because a system with a small base of ratings is unlikely to
be very useful. Further, the accuracy of the system is very sensitive to the number of rated items that
can be associated with a given uses [5].
Other than that, in 2014 Sven Ewan Shepstone, Zheng-Hua Tan, Søren Holdt Jensen are
doing a research on Demographic Recommendation. Demographic Recommendation is new method
of using automatic age and gender recognition to recommend a sequence of multimedia items to a
home TV audience comprising multiple viewers. Instead of relying on explicitly provided
demographic data for each user, we define an audio-based demographic group profile that captures
the age and gender for all members of the audience [6]. A 7-class age and gender classifier employing
a fusion of acoustic and prosodic features determines the probability of each speaker belonging to
each class.
The information for all speakers is then combined to form the group profile, which itself is
the input to a recommender system. The recommender system finds the content items whose
demographics best match the group profile. We tested the effectiveness of the system for several
typical home audience configurations. In a survey, users were given a configuration and asked to rate
a set of advertisements on how well each advertisement matched the configuration [7].
Lastly in 2011, the project in speech and signal processing was researched by A. Maier, J.
G. Bauer, F. Burkhardt, and E. Nth. Utility-based recommender systems make recommendations
based on the calculation of the utility of each item for the user. Utility-based recommender techniques
10
elicit multi-attribute utility function based on item rates that user offer to describe user preferences,
and apply the utility function to calculate item utility for user. Utility-based recommendations have
not some problems of collaborative filtering recommender technique, such as cold-start, sparsity,
and high dimensions [8].
However, utility-based recommender systems face eliciting utility function for each user,
which require remarkable burden of interaction. Several utility-based recommender systems have
been developed based on user rating for items. They are based on MAUT and needs significant user
effort. So, modelling utility function with little user effort is a critical issue in designing utility-based
recommender systems [9].
AUTHOR/YEAR TECHNIQUE ADVANTAGES DISADVANTAGES
Sayali D.
Jadhav, H. P.
Channe, Shaw,
M., Chang, H.,
Nelson, W.
(2016)
Decision Tree - High performance
in terms of time
needed to estimate
an item. - Well documented
tool, used in
Decision Support
Systems
- Being
implemented by a
wide number of
algorithms
- Quite static and
does not function
well in the
dynamic
environment of the
Web.
- Depend highly in
the training data set
to build the user
model.
- Dependence on the
training set
introduces a
problem common
to machine
learning
algorithms.
Denny Abraham
Cheriyan,
Dhanyatha
Manjunath, Roja
Ennam, Shruthi
Ramamurthy
(2010)
Collaborative
Filtering - The information
that is being
considered for
recommendation is
domain
independent
- It does not depend
on analysing the
content provided
by the user
- Cold start problem
- Problem in
handling new users
and new items
- Unpopular tastes
are not strongly
supported
Sven Ewan
Shepstone,
Zheng-Hua Tan,
Demographic - No new item
problem
- Can identify cross-
genre niche
- Problem of
gathering the
requisite
11
Søren Holdt
Jensen (2014)
- Quality improve
over time
- Domain
knowledge not
needed
demographic
information
- New user problem
- Quality dependent
on large historical
data set
N. Manouselis
and C.
Costopoulou,
Deng Feng (2011)
Utility-based - No ramp-up
required
- Can include non-
product features
- Sensitive to
change preference
- Utility function
- Suggestion ability
static(does not
learn)
- Not feasible with
complex subjective
domain
- Less appropriate
for casual browser
- No historical data
Table 2.1 Research of Recommendation System on Different Method
2.3 LITERATURE REVIEW OF CONTENT BASED FILTERING METHOD
The researcher of Content Based Filtering Method in 2017 which are Jieun Son and Seong
Bum Kim were developing a project content based filtering using multiattribute networks. In this
study, they propose a novel CBF method that uses a multiattribute network to effectively reflect
several attributes when calculating correlations to recommend items to users. In the network analysis,
they measure the similarities between directly and indirectly linked items. Moreover, the proposed
method employs centrality and clustering techniques to consider the mutual relationships among
items, as well as determine the structural patterns of these interactions. This mechanism ensures that
a variety of items are recommended to the user, which improves the performance [10].
The researcher of Content Based Filtering Recommendation Algorithm using HMM were
Hui Li, Fei Cai and Zhifang Liao in 2012. In this research, they combine probabilistic model and
classical content-based filtering recommendation algorithms to propose a new algorithm for
recommendation system, which we call content-based filtering recommendation algorithm using
HMM. They utilize the HMM of recommended items to match user model and recommend items
12
using user data. According to experiment result, this new method is more effective on describing a
user's interest compared with the VSM-based algorithm [11].
Li and Yamda and Bouza et al. propose to use content features to build a decision tree. A
separate decision tree is built for each user and is used as a user profile. The features of each of the
items are used to build a model that explains the user’s preferences. The information gain of every
feature is used as the splitting criteria. It should be noted that although this approach is interesting
from a theoretical perspective, the precision that was reported for this system is worse than that of
recommending the average rating [12].
Year/Author Journal Advantages Disadvantages
Jieun Son,
Seong Bum
Kim (2017)
Content-Based
Filtering using Multi-
attribute Networks
- Addresses the data
sparsity and over-
specialization
problems.
- Can consider
similarities among
indirectly-connected
items.
- Provides
little
indication of
how easily an
attitude
might
changed
- Provides
little
guidance of
how to
change
attitudes
Hui Li, Fei
Cai and
Zhifang Liao
(2012)
Content-Based
Filtering using HMM - Recommend items to
match user model
and recommend
items using user
data.
- Have a large
number of
unstructured
parameters
- Cannot
express
dependencies
between
hidden states
Amir
Gershman,
Amnon
Meisels (2013)
Content-Based Fitering
user Decision Tree - Easy to uunderstand
- Easy to generate
rules
- Reduces problem
complexity
- May suffer
from
overfitting
- Classifies by
rectangular
partitioning
13
Table 2.2 Literature Review of Content Based Filtering Method
2.4 LITERATURE REVIEW OF COMPARISON ON EXISTING SYSTEM
There are a lot of online shopping website that can be found on the internet nowadays. Mostly
they are both from Malaysia and other countries. But most of them are normal business website
which is the seller themselves, providing a web-based system for their own company. This is
different from those systems because this system uses an admin who is in charge in managing the
website from the start. This system also provided a platform where the local stores in Malaysia are
able to promote and advertise their business and products in the website. It may looks like a
competition but why not since it is also convenience for the user to search and browse their desired
stores and products.
Figure 2.1
Figure 2.1
14
Figure 2.2
Figure 2.3
Name Link Problem Statement Advantage Disadvantage
11street http://www.11street
.my/store/laneige
- Problem in
understanding
the
process/operatio
n of the system
- The
website is
easy to
learn
- The
website
colour is
too
bright
- Page is
packed
with
picture
Hermo.
my
https://www.hermo.
my/skin-
care/?ucf=purple-
bar
- Problem in
explaining to
the users who
access for the
first time
- Provide
complete
informati
on to
users
- Hard to
understa
nd the
process
flow
15
OneRoo
fStore
https://oneroofstore
.com/studio-
gear.html
- Problem in
understanding
the
process/operatio
n of the system
- Provides
customer
services
using an
online
chat room
- Hard to
understa
nd the
process
flow
- Does
not
fulfil
custome
r
require
ment
Table 2.3 Literature Review of Comparison on Existing System
2.5 SUMMARY
Finding information on a large web site can be a difficult and time-consuming process.
Recommender systems can help users find information by providing them with personalized
suggestions. Based on research paper that have been discussed and compared, each of the papers has
their own advantages and disadvantages that need to be considered. Most of the paper can solve data
sparsity but does not confidently can solve the cold start problem. Hence, for this project, a
recommendation that solves both sparsity and cold start problem is proposed by applying Decision
Tree Algorithm based on Content Based Filtering that will take note on both their interest and order
data.
16
CHAPTER 3
PROJECT METHODOLOGY
3.1 INTRODUCTION
This chapter discussed about the methodology used to develop the project. Iterative model
is used for Online Shop Recommendation System (OSRS). The activity conducted during each phase
is elaborated in this chapter.
3.2 ITERATIVE MODEL
In iterative model, the project is divided into small parts. This allows the development team
to demonstrate results earlier on in the process and obtain valuable feedback from system users.
Iterative model is actually the evolution of the traditional waterfall model. It is just that in an iterative
model multitasking and review is allowed even if the phase has been done. Each iteration is actually
a mini-Waterfall process with the feedback from one phase providing vital information for the design
of the next phase [13].
Iterative model is chosen among the Software Development Life Cycle (SDLC) technique
since it is a much better model of the software process. Other than that, it allows a feedback to
proceeding stages and it can be used for project wherein the requirements are not well understand
[13].
17
Figure 3.1 : Iterative model
3.2.1 PLANNING
Planning is the first phase in SDLC, whereas in this phase, project requirements will be
specified and clearly stated. The problem statement of this system is clearly identified and expected
outcome will be considered as achievable. The scopes of this project will be identified and
distinguished.
3.2.2 ANALYSIS & DESIGN
In this phase, every requirement that has been identified shall be analysed for further
understanding. Framework and diagram will be constructed and the main functions also being
determined. Context Diagram (CD), Data Flow Diagram (DFD) and Entity-Relationship Diagram
(ERD) is planned and adjusted to fulfill the user requirement.
18
3.2.3 IMPLEMENTATION
In this phase, codes will be implemented in the real system. All codes are based on the
pseudocode and flowcharts constructed during analysis and design phase. User interfaces are build
up following the Human-Computer interaction guidelines.
3.2.4 TESTING
After the code have been implemented into the proposed project, next a testing will be done
to test of the smoothness of the project and to detect any bugs or defects that might affect or lead to
project failure. There are two testing conducted. The first testing is the unit testing, which used
White-box testing technique to verify the input. The second testing is the integration testing, which
used Black-box testing technique to validate the input.
3.2.5 DEPLOYMENT
This stage need to get the project ready for the use of user. The bugs and defects that have
been detected have been removed during the testing stage and once the project is ready it will be
presented to the user.
3.2.6 EVALUATION
Last stage is evaluation. In this stage, the system that has undergone deployment stage will
be presented to user and they will use it. User will evaluate the system to help in improving the
system.
19
3.3 PROPOSED LANGUANGE
PHP and MYSQL are being proposed to be used in this development project.
PHP
As an open-source project, PHP is completely free, and supported by a worldwide
community of volunteers. This open-source, community-driven approach has produced a platform
that is significantly more robust and error-free than many commercial alternatives. So using PHP is
also good economics for organizations: it allows them to save on licensing fees and expensive server
hardware, while simultaneously producing higher-quality products in shorter time frames [14].
MYSQL
MySQL is an open source relational database management system. Information in a MySQL
database is stored in the form of related tables. MySQL databases are typically used for web
application development (often accessed using PHP). A MySQL database can be accessed (queried)
directly using; C, C++, Eiffel, Java, Perl, PHP and Python computer languages. There is also third
party support for connection in a Windows environment. MySQL databases are queried using a
subset of the standard Structured Query Language (SQL) commands [15].
3.4 SYSTEM REQUIREMENT
3.4.1 SOFTWARE
Notepad++
Netbeans
MYSQL Workbench
Microsoft Visio
XAMPP
20
Snipping Tool
Dropbox
3.4.2 HARDWARE
Laptop : Lenovo
Hardisk : 1TB
Memory : 4GB RAM
Thumbdrive
Printer
Log Book
3.5 SUMMARY
Based on this chapter, the methodology used for the project has been elaborated. The system
requirements that will be used for this project also have been stated. Methodology used for system
is a crucial part to ensure that the system start off at a great pace. It is important in order to fulfill the
user’s requirement and activities timeline.
21
CHAPTER 4
DESIGN AND FRAMEWORK
4.1 INTRODUCTION
This chapter describes the design and framework to explain more about the proposed system
implementation. The design of the system includes the Context Diagram, Data Flow Diagram of
Level 0 and Level 1, Entity-Relationship Diagram, Framework, Database Design and Data
Dictionary. The main functions and the processes will be discussed further in this chapter.
4.2 CONTEXT DIAGRAM
22
Figure 4.1 Context Diagram
Figure 4.1 display the context diagram of proposed system. There are three main entities that
connected to the system which are Admin, Client and Customer. Admin has three data flows. There
is one outgoing data flow and two ingoing data flow. One outgoing data is application approval while
ingoing data flows are partnership application detail info and report. Customer has four data flows.
There are two outgoing data flows and two ingoing data flow. Two outgoing data flows are profile
detail and criteria detail while two ingoing data flows are profile info and criteria result. There are
nine data flows which consist of four outgoing data flows and five ingoing data flows involved Client
entity. Data provided into the system by the Client are partnership application detail, profile detail,
product detail and branch while the ingoing data flows are partnership approval info, profile info,
product info, branch info and product and branch report.
4.3 DATA FLOW DIAGRAM LEVEL 0
23
Figure 4.2 Data Flow Diagram Level 0
Figure 4.2 shows the Data Flow Diagram of the system. There are six main activities involved in this
proposed system. Those functions are Apply Partnership, Manage Profile, Manage Shop, Manage
Criteria, Choose Criteria and Generate Report. Three main entities involved are Admin, Client and
Customer. There are five different data store which are D1, D2, D3, D4 and D5. D1 will record all
data involving partnership once they request into the system and approved by admin. D2 is a storage
for client records. D3 stored customer information. D4 stored all the shop details input by client. D5
stored criteria recorded by both client and user involved.
4.4 DATA FLOW DIAGRAM LEVEL 1
4.4.1 PARTNERSHIP APPLICATION (CLIENT)
Figure 4.3 7 Data Flow Diagram Level 1 – Manage Partnership
In figure 4.3, client input to apply partnership into apply partnership process, input to cancel
partnership into cancel partnership process which output partnership details and cancel details in
partnership record data store respectively. Admin receives the partnership application form and make
approval process which output partnership details into partnership record data store. Admin input
termination status details into inactive shop and terminate status in partnership record data store.
24
4.4.2 MANAGE PROFILE (CLIENT)
Figure 4.4 7 Data Flow Diagram Level 1 – Manage Profile for Client
In Figure 4.4 there are four processes involved in manage profile for client. They can either
Register, Update Profile, Update Password or View Profile. Client needs to register before
having an access into the system. They need to provide profile detail and the detail will be
stored into D2.
4.4.3 MANAGE PROFILE (CUSTOMER)
25
Figure 4.5 7 Data Flow Diagram Level 1 – Manage Profile for Customer
In Figure 4.5 there are four processes involved in manage profile for customer. They can either
Register, Update Profile, Update Password or View Profile. Customer needs to register before having
an access into the system. They need to provide profile detail and the detail will be stored into D3.
4.4.4 MANAGE SHOP (CLIENT)
Figure 4.6 Data Flow Diagram Level 1 – Manage shop for Client
In Figure 4.7, there are four processes involved in manage product for client. To add product, client
needs to insert product details. The record will be stored in product table. After that, product list will
be displayed. Client can view, delete and update on this page. Any changes will be stored in the table
26
4.4.5 MANAGE BRANCH (CLIENT)
Figure 4.7 Data Flow Diagram Level 1 – Manage Branch for Client
In Figure 4.7, there are four processes involved in manage branch for client. To add branch, client
needs to insert branch details. The record will be stored in criteria table. After that, branch list will
be displayed. Client can view, delete and update on this page. Any changes will be stored in the table
4.4.6 CHOOSE CRITERIA (CUSTOMER)
Figure 4.8 Data Flow Diagram Level 1 – Choose Criteria for Customer
In Figure 4.8, there are three processes involved in choose criteria for customer. Customer needs to
select criteria then click submit to generate shop recommendation which retrieve the shop record and
criteria record. Score will be calculated and result will be displayed.
27
4.4.7 GENERATE REPORT (ADMIN)
Figure 4.9 Data Flow Diagram Level 1 – Generate Report for Admin
In Figure 4.9 there are three processes involved in generate report for admin. They can either generate
partnership report, client report or customer report. Data that flows in these processes are partnership
detail, client detail and customer detail.
4.4.8 GENERATE REPORT (CLIENT)
Figure 4.10 : Data Flow Diagram Level 1 – Generate report for Client
In Figure 4.10 there are three processes involved in manage report for client. They can either generate
shop report and branch report. Data that flows in these processes are shop detail and branch detail.
28
4.5 ENTITY-RELATIONSHIP DIAGRAM (ERD)
Figure 4.11 Entity-Relationship Diagram
There are seven entities involved in Figure 4.11 which are login, admin, partnership, client, customer,
product and branch. Login and admin, client and customer are related with one to one relationship.
Client and product are related to each other by one-to-many relationship. Client and branch related
to each other by one-to-many relationship.
29
4.6 FRAMEWORK
Figure 4.12 Framework
Figure 4.12 shows the framework proposed for this system. Framework is designed to understand
the process happened in the system. As for client, they first need to register into the system and once
approved by admin, then they can access the system. The information about both client and customer
must be in the database of the system. After succeed logging in, client can manage their profile,
details and information about their shop. They can add and update criteria regarding their shop into
the system. Client also can add, update and delete their product and also update the status of their
product to be viewed by customer. Next, in order to access the system, customer first must be needed
to register before proceeding into the login page and accessing the system. After succeed logging in,
customer can simply fill in the desired criteria in the section provided. The criteria such as category,
location, deal option and price are provided in the system for recommendation. After that, the result
of recommendation will be displayed in the next page and customer can simply view and choose the
best shop based on their preferences.
30
4.7 SOLUTION OF COMPLEXITY
Decision Tree provides a highly effective structure within which we can lay out options and
investigate the possible outcomes of choosing those options. They also help us to form a balanced
picture of the risks and rewards associated with each possible course of action.
Decision trees provide an effective method of Decision Making because they:
Clearly lay out the problem so that all options can be challenged.
Allow us to analyse fully the possible consequences of a decision.
Provide a framework to quantify the values of outcomes and the probabilities of achieving them.
Help us to make the best decisions on the basis of existing information and best guesses.
As with all Decision Making methods, decision tree analysis should be used in conjunction with
common sense. Decision Trees are just one important part of the Decision Making tool kit.
4.7.1 Drawing a Decision Tree
We start a Decision Tree with a decision that we need to make. Draw a small square to represent this
towards the left of a large piece of paper.
From this box draw out lines towards the right for each possible solution, and write that solution
along the line. Keep the lines apart as far as possible so that we can expand our thoughts.
At the end of each line, consider the results. If the result of taking that decision is uncertain, draw a
small circle. If the result is another decision that we need to make, draw another square. Squares
represent decisions, and circles represent uncertain outcomes. Write the decision or factor above the
square or circle. If we have completed the solution at the end of the line, just leave it blank.
31
Starting from the new decision squares on our diagram, draw out lines representing the options that
we could select. From the circles draw lines representing possible outcomes. Again make a brief note
on the line saying what it means. Keep on doing this until we have drawn out as many of the possible
outcomes and decisions as we can see leading on from the original decisions.
An example of the sort of thing we will end up with is shown in figure 4.13:
Figure 4.13: Decision Tree Draw based on the criteria stated
Figure 3.8 shows an example of decision tree method for Online Shop Recommendation System. To
view the recommended shop, user needs to pick the category first. An example for categories are
fashion, gadget and skincare. Then, user needs to choose criteria location which is one of the state in
Malaysia. In Figure 3.8, an example of the locations is either Terengganu, Kedah or Selangor. Then,
user needs to choose either they want to deal by postage or meetup. The system then sorts the data
based on the category, location and deal option to display all the recommended shop to the user. It
shows the classification to view shops based on category, location and deal option.
32
4.7.2 Algorithm
Decision trees are structures with information that determines conditions and which route to move
when a decision about a condition is made. This package implements decision trees by connecting
decision questions and answers, so applications can implement questionnaires to help users reaching
a decision to solve a complex problem. This package can compose decision trees and evaluate
subjects. It can compose a decision tree by connecting question decision nodes with answering nodes.
It can also evaluate decisions based on given answering nodes.
Figure 4.14 Array list of shops in the system
33
Figure 4.15 Decider and Decision of the criteria
34
Figure 4.16 Result of array based on the criteria selected
4.8 DATABASE DESIGN
This system was developed using a database for data storage. There are a few different tables
which make data storage on the basis of certain parts. In the process of designing data is very
important because it is used as a reference during the programming process is carried out. There are
the tables contained in the system is as in table 4.1
Table 4.1 Database
Database design is used to store data systematically and can be accessed easily by user. There are
seven tables that involve in storing data which are admin, branch, client, customer login, partnership
and product.
35
Table 4.2 Admin
In table 4.2, there are two attributes which are adminusername and password. The primary of this
table is adminusername while there is no foreign key involved.
Table 4.3 Client
In table 4.3 there are ten attributes. The attributes are clientusername, password, shopname,
shopdescription, shopphoneno, shopemail, category, location, dealoption and adminusername. The
primary key of the table is clientusername and the foreign key involved in this table is
adminusername.
Table 4.4 Customer
36
In table 4.4 there are six attributes. The attributes are custusername, password, custfullname,
custaddress, custemail and custphoneno. The primary key of table 4.3 is custusername. Which each
registered customer will have different customer username.
Table 4.5 Product
In table 4.5 there are seven attributes. The attributes are productid, productname, productdescription,
price, status, productimage, and clientusername. Primary key for table 4.6 is productid and for
foreign key it is clientusername.
Table 4.6 Branch
In table 4.6 there are five attributes. The attributes are username, agentname, agentphneno, location,
dealoption, clientusername and custusername. There are one foreign keys which is username.
37
Table 4.7 Partnership
In table 4.7 there are fourteen attributes. The attributes are username, password, shopname, houseno,
road, postcode, city, state, shopdescription, shopemail, shopphoneno, category, location and
dealoption The foreign key involved in this table is username.
38
4.9 DATA DICTIONARY
1. Admin
Table comments: admin
Column Type Null Default Links to Comments MIME
username varchar(30) No login -> username
password varchar(30) No
Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
username_2 BTREE Yes No username 1 A No
username BTREE No No username 1 A No
2. Branch
Table comments: branch
Column Type Null Default Links to Comments MIME
username varchar(30) No login -> username
agentname varchar(30) No
agentphoneno varchar(12) No
location varchar(30) No
dealoption varchar(30) No
Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
agentname BTREE Yes No agentname 10 A No
username BTREE No No username 5 A No
39
3. Client
Table comments: client
Column Type Null Default Links to Comments MIME
username varchar(30) No login -> username
password varchar(30) No
shopname varchar(100) No
houseno varchar(10) No
road varchar(30) No
postcode varchar(5) No
city varchar(30) No
state varchar(30) No
shopdescription varchar(100) No
shopemail varchar(30) No
shopphoneno varchar(30) No
category varchar(30) No
location varchar(30) No
dealoption varchar(30) No
Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
username BTREE Yes No username 12 A No
4. Customer
Table comments: customer
Column Type Null Default Comments MIME
username varchar(30) No
password varchar(30) No
custfullname varchar(100) No
40
custaddress varchar(100) No
custemail varchar(30) No
custphoneno varchar(12) No
Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
username BTREE No No username 7 A No
5. Login
Table comments: login
Column Type Null Default Comments MIME
username varchar(30) No
password varchar(30) No
Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No username 17 A No
username BTREE No No username 17 A No
username_2 BTREE No No username 17 A No
6. Partnership
Table comments: partnership
Column Type Null Default Comments MIME
username varchar(30) No
password varchar(30) No
shopname varchar(30) No
houseno varchar(10) No
road varchar(30) No
postcode varchar(5) No
41
city varchar(30) No
state varchar(30) No
shopdescription varchar(100) No
shopemail varchar(30) No
shopphoneno varchar(12) No
category varchar(30) No
location varchar(30) No
dealoption varchar(30) No
Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
username BTREE Yes No username 2 A No
username_2 BTREE No No username 2 A No
7. Product
Table comments: product
Column Type Null Default Links to Comments MIME
productID int(10) No
username varchar(30) Yes NULL client -> username
productname varchar(30) Yes NULL
productdescription varchar(100) Yes NULL
price varchar(100) Yes NULL
productimage varchar(30) Yes NULL
Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No productID 6 A No
username BTREE No No username 6 A Yes
42
4.10 PROOF OF CONCEPT
User interface design (UI) or user interface engineering is the design of user interfaces for machines
and software, such as computers, home appliances, mobile devices, and other electronic devices,
with the focus on maximizing usability and the user experience. The goal of user interface design is
to make the user's interaction as simple and efficient as possible, in terms of accomplishing user
goals (user-cantered design).
4.10.1 Admin
Figure 4.17 Homepage Figure 4.18 Partnership Report
4.10.2 Client
Figure 4.19 Update Profile Figure 4.20 Add Product
43
4.10.3 Customer
Figure 4.21 Update Profile Figure 4.22 Choose Criteria
Figure 4.23 View Shop Recommendation Figure 4.24 View Shop
44
4.11 SUMMARY
In this chapter, the design of the system have been described in detail with techniques such
as and data flow diagram, entity relationship diagram, database design, framework and user interface.
The related processes and data stores also have been stated and elaborated. Analysis of user needs
and requirements have been studied and the design of the proposed system can be described. The
success of the system depends on the primary processes described in this chapter.
45
CHAPTER 5
IMPLEMENTATION AND TESTING
5.1 INTRODUCTION
This chapter include description of implementation and testing done. There are
several tests that implemented to test functionality of the system as well as working graphic
user interface. It is to ensure that the system will provide the intended results.
5.2 IMPLEMENTATION
5.2.1 INTERFACES
Figure 5.1: Homepage viewed by all users (Admin. Client and Customer)
46
Figure 5.2: Request Partnership
Figure 5.2 shows the interface design for request a partnership. User can add their shop into
the system by register their shop information first and must wait for admin approval.
Figure 5.3: Sign Up Page (Customer)
Figure 5.3 show the sign up page for Customer. Each customer must sign up before they
can login. Customer need to fill the sign up form with username, password, fullname,
address, e-mail and phone number.
47
Figure 5.4: Login page for all users
Figure 5.4 show the login page for Admin, Customer and Staff. Username and password
are needed for login.
Figure 5.5: Admin Menu
Figure 5.5 display the homepage and menu for Admin. Admin can view requested
partnership and view report (client report, product report and customer report).
48
Figure 5.6: Requested Partnership
Figure 5.6 display the partnership requested by user. Then, admin will view the partnership
details. Only then, admin can decide whether they want to approve or reject the request.
Figure 5.7: Client Report
Figure 5.7 show the interface for order report. Admin can view a list of client that has been
approved. Admin can view username, shoppname, shopdescription, shopphoneno,
shopemaill, category, location and dealoption.
49
Figure 5.8: Customer Report
Figure 5.8 show the interface for customer report. Admin can view a list of customer that
has register into the system. Admin can view username, fullname, address, email and
phoneno.
Figure 5.9: Product Report
Figure 5.9 show the interface for product report. Admin can view a list of product that has
been added into the system by client. Admin can view username, productname,
productdescription, price and image.
50
Figure 5.10: Client Menu
Figure 5.10 display the homepage and menu for Client. Client can manage profile, manage
product, manage branch and view report (product report and branch report).
Figure 5.11: Update Profile
Figure 5.11 display the update profile interface. Client can update their profile which
consists of username, password, shopname, shopdescription, shopphonenumber,
51
shopemail, category, location and dealoption. A pop-up message will appear to inform
either they have successfully update the profile or not.
Figure 5.12: Add product’s image
Figure 5.12 show the interface for adding a new product. Client needs to select any image
from library and then click the add button.
Figure 5.13
Figure 5.13 show the interface for adding new product. Each attribute need to be filled up.
After the form has been submitted then a pop-up message will appear to inform the client
either product is successfully added or not.
52
Figure 5.14: Product added by client
Figure 5.14 show the interface for product that has been added. Client can click at the
image to view the detail of the product.
Figure 5.15: View Product Details
Figure 5.15 show the interface for view product details. Client can view the detail of a
product.
53
Figure 5.16: Add New Branch
Figure 5.16 show the interface for add new branch. Each attribute need to be filled up. After
the form has been submitted then a pop-up message will appear to inform the staff either
branch successfully added or not.
Figure 5.17: Product Report
Figure 5.17 show the interface for product report. Client can view a list of product that has
been added into the system. Client can view productID, productname, productdescription,
price and image.
54
Figure 5.18: Branch Report
Figure 5.18 show the interface for branch report. Client can view a list of branch that has
been added. Client can view agentname, agentphoneno, location and dealoption.
Figure 5.19: Customer Menu
Figure 5.19 display the homepage and menu for Customer. Customer can manage profile
and choose criteria based on their preferences.
55
Figure 5.20: Choose Criteria
Figure 5.20 show the interface for choosing criteria such as category, location and deal
option. Customer needs to choose those criteria first then the system will recommend the
best shop in the next page.
Figure 5.21: Recommended Shop
Figure 5.21 display the interface of a recommendation provided by the system for user that
have gone through choosing criteria process. The recommendation is made by the rating
that is given over certain shop category but is made over the whole community of registered
customer whom rate the shop under the same category.
56
Figure 5.22: View Product Details
Figure 5.22 show the interface for the recommended shop. Client can view the detail of the
product and the branch.
57
5.2.2 TEST CASES
In this part, the test cases for each process are shown. Starting from Table 5.1 until Table
5.14 each process have been described. The description, input, steps, test data, pre-
condition, output and expected result for every processes involved in the system are shown.
Table 5.1 : Login
Name Description
Test Case ID Login
Description - Admin, Client and Customer login into the system
Input - Username and password
Steps - Insert username and password
Test Data - username : ahmad123
- password : abcde12345
Pre-condition - Record exist in database
Output - Gain access to the system
Expected Result - Gain access to the system
58
Table 5.2 : Partnership Request
Name Description
Test Case ID RequestPartnership
Description - Client request a partnership
Input - Username, password, shop name, description, phone no, email, category, location and deal option
Steps - Insert username, password, shop name, description, phone no, email, category, location and deal option
Test Data - Username : Zyfanysa
- Password : 123456
- Shop Name : Zyfanysa Outlet
- Shop Description : Selling High Quality Material Only
- Shop Phone No : 0148397292
- Shop Email : [email protected]
- Category : Fashion
- Location : Terengganu
- Deal Option : Both (Postage and Meet-up)
Pre-condition - Record does not exist in database
Output - Requested partnership are either success or failed
Expected Result - Requested partnership is approved by admin
59
Table 5.3 : Update Profile (Client)
Name Description
Test Case ID UpdateProfile
Description - Client update profile
Input - Username, password, shop name, description, phone no, email, category, location, deal option
Steps - Insert username, password, shop name, description, phone no,
email, category, location, deal option
Test Data - Username : zyfanysa
- Pasword : 123456
- Shop Name : Zyfanysa Outlet
- Shop Description : Selling High Quality Material
- Shop Phone No : 0148397292
- Shop Email : [email protected]
- Category : Fashion
- Location : Terengganu
- Deal Option : Both (Postage and Meet-up)
Pre-condition - Record exist in database
Output - Profile updated
Expected Result - Profile successfully updated
60
Table 5.4 : Customer Register
Name Description
Test Case ID Register
Description - Customer register new account
Input - Username, password, full name, address, phone no and email
Steps - Insert username, password, full name, address, phone no and email
Test Data - Username : Nur
- Password : 123456
- Full Name : Nur Atyra Bt Ahmad
- Address : 17 Taman Bahagia
- Phone No : 0198898899
- Email : [email protected]
Pre-condition - Record does not exist in database
Output - Registration success or registration failed
Expected Result - Registration success
61
Table 5.5 : Update Profile (Customer)
Name Description
Test Case ID UpdateProfile
Description - Customer update profile
Input - Username, password, full name, address, phone no and email
Steps - Insert Username, password, full name, address, phone no and email
Test Data - Username : nur
- Password : 123456
- Full Name : Nur Atyra Bt Ahmad
- Address : 17 Taman Bahagia
- Phone No : 0199989988
- Email : [email protected]
Pre-condition - Record exist in database
Output - Profile updated
Expected Result - Profile successfully updated
62
Table 5.6 : Add Product (Client)
Name Description
Test Case ID Add Product
Description - Client add new product
Input - Product image, name, description and price
Steps - Insert product image, name, description and price
Test Data - Product Name : Love Yourself Tshirt
- Product Description : An exclusive collection from Highlight
- Product Price : RM20
Pre-condition - Record does not exist in database
Output - New product is added
Expected Result - Product details inserted into the database
Table 5.7 : Update Product (Client)
Name Description
Test Case ID UpdateProduct
Description - Client update product detail
Input - Product image, name, description and price
Steps
- Insert any of the detail product image, name, description and price
Test Data - Product status : Unavailable
Pre-condition - Record already exist in database
Output - Product detail is updated
Expected Result - Product new detail is stored in database
63
Table 5.8 : Add Branch (Client)
Name Description
Test Case ID Add Branch
Description - Client add new branch
Input - Agent name, agent phone no, location and deal option
Steps - Insert agent name, agent phone no, location and deal option
Test Data - Agent Name : Maizatul
- Agent Phone No : 0145545544
- Location : Terengganu
- Deal Option : Postage
Pre-condition - Record does not exist in database
Output - New branch is added
Expected Result - Branch details inserted into the database
Table 5.9 : Update Branch (Client)
Name Description
Test Case ID UpdateBranch
Description - Client update branch detail
Input - Agent name, agent phone no, location and deal option
Steps
- Insert any of the detail agent name, agent phone no, location and deal option
Test Data - Branch status : Unavailable
Pre-condition - Record already exist in database
Output - Branch detail is updated
Expected Result - Branch new detail is stored in database
64
Table 5.10 : View Product (Admin)
Name Description
Test Case ID ViewProduct
Description - Client view product detail
Input - Username, product name, description, price and image
Steps - Select username or product name
Test Data - Username : Zyfanysa
- Product Name : Love Yourself Tshirt
Pre-condition - Record already exist in database
Output - View product detail
Expected Result - Product detail is viewed to the client
Table 5.11: View Requested Partnership (Admin)
Name Description
Test Case ID ViewReqPartnership
Description - Admin view requested partnership detail
Input - Username, password, shop name, description, phone no, email,
category, location and deal option
Steps - Select username or shop name
Test Data - Username : Zyfanysa
- Shop Name : Zyfanysa Outlet
Pre-condition - Record already exist in database
Output - View requested partnership detail
Expected Result - Requested partnership detail is viewed to the admin
65
Table 5.12 : View Client (Admin)
Name Description
Test Case ID ViewClient
Description - Admin view client detail
Input - Username, password, shop name, description, phone no, email,
category, location and deal option
Steps - Select username or shop name
Test Data - Username : Zyfanysa
- Shop Name : Zyfanysa Outlet
Pre-condition - Record already exist in database
Output - View client detail
Expected Result - Client detail is viewed to the admin
Table 5.13 : Logout
Name Description
Test Case ID Logout
Description - Staff and customer logout from the system
Input - None
Steps - None
Test Data - None
Pre-condition - Have login
Output - Logout from the system
Expected Result - Logout from the system
66
5.3 TESTING
5.3.1 UNIT TESTING
Unit testing is a testing that does not involve the whole system. In this part, white-box
testing technique has been used to test the possible cases involving the verification of input.
5.3.1.1 WHITE-BOX TESTING
White-box testing is done from the developer perspective. This test is done to detect any
possible factor that will cause system failure. The developer will always deal with the
internal structure of the system. White-box testing technique that is used for the unit testing
is Branch Coverage. Branch Coverage focused on the verification of input.
INPUT USERNAME, PASSWORD;
IF (USERNAME==TRUE && PASSWORD==TRUE) {
PRINT “LOGIN SUCCESS”;
}
ELSE {
PRINT “LOGIN FAILED”;
}
Figure 5.23: Pseudocode for Branch Coverage in login process
67
Figure 5.23 display the pseudocode for username and password verification. Both
username and password must be true.
Table 5.14 depict the possible input of username and password. There are four cases with
different results.
Table 5.14: Input cases for username and password in login process
Input Case 1 Case 2 Case 3 Case 4
username True True False False
password True False True False
Result Login Login Login Login
Success Failed Failed Failed
68
5.3.2 INTEGRATION TESTING
Integration testing is a testing that involve the whole system.
5.3.2.1 BLACK-BOX TESTING
Black-box testing is done from the user perspective. Random user are selected and asked
to experience the system. Their feedback are noted and being used for further improvement.
They will experience the system by using the graphic user interface. Black-box testing
focused on the validation of an input.
Table 5.15 specify the characters needed in a username. The input is validated through a
set of regular expression created by the developer. Table 5.17 shows the possible input
of a username.
Table 5.16: Condition for username and password validation
Attribute Description
Length 6 to 20 characters
First character Alphabets (Uppercase or Lowercase)
Middle Character . or _ or -
Last Character Alphabets or Numbers (Uppercase or Lowercase)
Regular Expression ^.{6,20}$)^[a-zA-Z][a-zA-Z0-9]*[._-]?[a-zA-Z0-9]+$
69
Table 5.15: Possible input for username
Input Expected Result
ahm Invalid
ahmad Invalid
Ahmad* Invalid
123ahmad Invalid
Ahmad123_ Invalid
a123mad_12 Valid
Ahmad123_45a Valid
5.4 CONCLUSION
In conclusion, this chapter describe about processes involved in implementing and testing
the internal or external structure of the system. Tests are done to ensure that the errors or
defects are minimized. Test that have been done used two techniques which are white-box
testing and black-box testing.
70
CHAPTER 6
CONCLUSION
6.1 INTRODUCTION
This chapter conclude the contributions, constraint and limitation of the system. The
important of this chapter is to let conclude the works that have been done and to suggest
future works.
6.2 PROJECT CONTRIBUTION
This system can contribute for the user of online shops. It can help in enhancing the
purchase experience of a customer. At the same time, it helps to spread the usage of online
shop into a wider platform and be able to convince the customer.
71
6.3 PROJECT CONSTRAINT AND LIMITATION
The only limitation in this system is that it does not support online payment. There
is no specific module for this process. Although this proposed system support
recommendation for product recommendation but unfortunately this system not yet support
an online payment. So, customer still need to pay manually when the product is delivered
and staff will update payment into the system to keep the record exist.
6.4 FUTURE WORKS
In the future, the system can provide the module for online payment. It is surely can
upgrade the shopping experience of a customer where all process can be done at the same
time.
6.5 CONCLUSION
As a conclusion, this system has two main user which is staff and customer. This
system aimed to help customer in getting better experience while using online shop and to
provide cake recommendation that can satisfies their interest. The methodology that will be
used is iterative model. All diagram related to processes and data such as Context Diagram,
Data Flow Diagram Level 0, Data Flow Diagram Level 1 and Entity-Relationship Diagram
have been included in this report. This system supposed bring benefits and at the same time
should be able to improve customer’s shopping experience with product recommendation.
72
REFERENCES
1. Kim, J., Lee, B., Shaw, M., Chang, H., Nelson, W.: Application of Decision-Tree Induction
Techniques to Personalized Advertisements on Internet Storefronts. International Journal of
Electronic Commerce 5(3) (2001) 45-62
2. A. S. Galathiya, A. P. Ganatra and C. K. Bhensdadia, “Improved Decision Tree Induction
Algorithm with Feature Selection, Cross Validation, Model Complexity and Reduced Error
Pruning”, International Journal of Computer Science and Information Technologies, Vol. 3, No.
2, 2012.
3. Zhi Qiao, Peng Zhang, Yanan Cao, Chuan Zhou and Li Guo, “Improving Collaborative
Recommendation via Location-based User-Item Subgroup”, 14th International Conference on
Computational Science, Vol. 29, 2014.
4. Balabanovic, M., Shoham Y.: FAB: Content-based, Collaborative Recommendation.
Communications of the Association for Computing Machinery 40(3) (1997) 66-72
5. Billsus, D., Pazzani, M.: Learning Collaborative Information Filters. In: Proceedings of the
International Conference on Machine Learning. Morgan Kaufmann Publishers. Madison, WI
(1998) 46-54
6. T. I. Meinedo H., “Age and gender detection in the I-DASH project,” ACM Transactions on
Speech and Language Processing (TSLP), vol. 7, 2011.
7. A. Maier, J. G. Bauer, F. Burkhardt, and E. Nth, “Age and gender recognition for telephone
applications based on gmm supervectors and support vector machines,” IEEE Acoustics, Speech
and Signal Processing, pp. 1605–1608, 2008.
8. S. l. Huang, “Designing Utility-based Recommender Systems for E-commerce: Evaluation of
Preference-elicitation Methods,” Electronic Commerce Research and Applications, vol.10,
2011, pp.398–407.
73
9. N. Manouselis and C. Costopoulou, “Analysis and Classification of Multi-criteria Recommender
Systems,” World Wide Web: Internet and Web Information Systems, vol 10, Apr. 2007, pp.415–
441.
10. Keeney, Ralph L.; Raiffa, Howard (1993). Decisions with Multiple Objectives.
11. G. Adomavicius and A. Tuzhilin. "Toward the Next Generation of Recommender Systems: A
Survey of the State-of-the-Art and Possible Extensions," IEEE Transactions on Knowledge and
Data Engineering, vol. 17, Jun. 2005, pp. 734-749.
12. P. Li and S. Yamada. A Movie Recommender System Based on Inductive Learning. In IEEE
Conference on Cybernetics and Intelligent Systems, 2004.
13. 13. Shikha M. & Dinesh C.J, 2012. A Comparative Analysis of Different Types of Models in
Software Development Life Cycle. International Journal of Advanced Research in Computer
Science and Software Engineering, 2(5). Pages 285-290.
14. Mario Lurig, 2008. PHP reference: Beginner to intermediate PHP.
15. http://www.motive.co.nz/glossary/mysql.php (accessed at 06:50:21 Monday 23/5/2016)
74
APPENDIX
75
APPENDIX A (Gantt chart)
Task / Month January Febuary March April
Week 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Project Title
Discussion and
Briefing
Project Title
Registration
Proposal Writing
(introduction)
Proposal Writing
(literature review-1)
Proposal Writing
(literature review-2)
Proposal Progress
Presentation and
Evaluation
Discussion and
Correction of
the Proposal
Proposed Solution –
Methodology – 1
Proposed Solution –
Methodology – 2
Proof of Concept Drafting Report
Proposal
Submit draf report -
supervisor
Report Correction
Seminar Presentation
76
Final Report
Submission
Gantt chart: FYP I
Task / Month JULY AUGUST
Week 1 2 3 4 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
Gantt chart: FYP II
77
APPENDIX B (Requirement)
Functional Requirement
1. Admin
FR- ADMIN -001: The system shall allow admin to view, approve or reject partnership
request
FR- ADMIN -002: The system shall allow admin to view all report
FR- ADMIN -003: The system shall allow admin to login and logout
2. Client
FR- CLIENT -001: The system shall allow client to manage profile
FR- CLIENT -002: The system shall allow client to add and manage shop
FR- CLIENT -002: The system shall allow client to add and manage branch
FR- CLIENT -004: The system shall allow client to view report
FR- CLIENT -005: The system shall allow client to login and logout
3. Customer
FR- CUSTOMER -001: The system shall allow customer to manage profile
FR- CUSTOMER -002: The system shall allow customer choose criteria
FR- CUSTOMER -003: The system shall allow customer view shop recommendation
FR- CUSTOMER -007: The system shall allow customer to login and logout
78
Non-Functional Requirement
1 Security.
NFR-SEC-001: The admin, client and customer are required to login to their respective
account.
The passwords will be encrypted.
2 Reliability
NFR-REL-001: Data must be collected and be stored correctly.
NFR-REL-002: The Database should be backed up and can be recovered if necessary.
3. Availability
NFR-AVA-001: The system should be available for users when the user wants to use it.
NFR-AVA-002: The system should be available 24 hours × 7 days.
4. Performance
NFR-PER-001: The system should be able to respond to a user request in 5 seconds.
NFR-PER-002: The system should be able to verify login information in 5 seconds.
APPENDIX C (Coding)
<h3> Recommended Shop </h3>
<%
Connection connection = null;
try{
Class.forName("org.gjt.mm.mysql.Driver");
String url = "jdbc:mysql://localhost/osrs";
String user = "root";
String pwd = "";
connection = DriverManager.getConnection(url, user, pwd);
79
Statement statement = connection.createStatement();
String C = request.getParameter("category");
String L = request.getParameter("location");
String DO = request.getParameter("dealoption");
String querySelect = "SELECT username, shopname, shopdescription FROM client where
category ='"+C+"' and location ='"+L+"' and dealoption='"+DO+"'";
ResultSet rows = statement.executeQuery(querySelect);
{
%>
<!-- Output -->
<div class="gallery clear">
<ul>
<% while (rows.next()) {
%>
<li>
<a
href="shopdetail.jsp?username=<%=rows.getString("username")%>"><%=rows.getString("userna
me")%></a>
</li>