Uploaded by TheRussianSpy

Final Report - John Soo Hon-1

advertisement
2021/2022
UNIVERSITY OF BEDFORDSHIRE
DEPARTMENT OF SCIENCE AND TECHNOLOGY
BSc (Hons) Information Technology
CIS017-3
USING ARTIFICIAL INTELLIGENCE AND
RECOMMENDER ALGORITHMS TO INCREASE
SALES IN AN ECOMMERCE SYSTEM.
ASSIGNMENT II: UNDERGRADUATE THESIS REPORT
JOHN SOO HON
STUDENT ID: 2113668
SUPERVISOR NAME: RAVI RAGOONATH
CTS COLLEGE OF BUSINESS AND COMPUTER SCIENCE LTD
Abstract
In today's world, online shopping has provided many people with the convenience of
shopping from the comfort of their own home or while on the go. Businesses and
consumers have integrated Ecommerce technologies into their daily routines to provide
a more flexible and alternative reach to the traditional brick and motor store.
Although many consumers have shifted from outdoor cinema experiences to the comfort
of a home entertainment solution, online movies have become a staple for many.
Customer service features are limited in many local business ecommerce applications.
Advanced features such as recommender systems and customer support AI technology
chatbots are not present in comparison to international well known ecommerce
applications like Amazon.com, Netflix.com and Disneyplus.com.
This report will document the development of an e-commerce web application for an
online movie store, as well as the integration of advanced features such as AI Technology
Chatbot, Online Purchases, Responsive Design, and Recommender systems to improve
the user experience and engagement, resulting in returning customer satisfaction and
increased purchases.
The background research, requirements analysis, design, implementation, testing, and
evaluation phases being utilized in the System Development Life Cycle (SDLC) will be
discussed. A conclusion that highlights and summarizes the project, design, and
functionalities implemented, as well as the experiences gained throughout the project will
be delivered in the end.
Acknowledgements
First and foremost, I want to express my gratitude to God for the opportunities and
blessings that he continues to provide for me.
I am grateful to the University of Bedfordshire for accepting me into the final year of the
BSc IT program, and to CTS College for imparting knowledge and wisdom to me. Mr Ravi
Ragoonath, Mr. Keron Ramganesh, and Mr. Marcus Alexander gave excellent learning
opportunities through their patience, motivation, enthusiasm, and vast knowledge of going
above and beyond to ensure that we all grasped what was required.
To my managers and co-workers your support and guidance is much appreciated and
noted.
Dedication
This thesis is dedicated to my parents, Augustine and Carol Soo Hon, and my siblings. It
goes without saying that I am extremely grateful to my family for their consistent support
and patience in allowing me to focus on my education. Your prayers and words of
encouragement, as well as the prayers you provided, were important in my completion of
the BSc program.
Keywords
E-Commerce, Artificial Intelligence (Chatbot), Recommender-based algorithm, System
Development Life Cycle, Project Management, User
Experience, Online Shopping.
Table of Contents
Chapter 1: Introduction .................................................................................................... 1
1.1
Introduction ........................................................................................................ 1
1.2
The Subject ........................................................................................................ 1
1.3
Project Aim ......................................................................................................... 2
1.4
Project Objectives .............................................................................................. 2
1.5
Summary of Chapters ........................................................................................ 3
Chapter 2: Project Management ..................................................................................... 5
2.1
Introduction ........................................................................................................ 5
2.2
Importance of Project Management ................................................................... 5
2.3
Work Breakdown Structure ................................................................................ 5
2.4
Gantt Chart......................................................................................................... 7
Chapter 3: Background Research ................................................................................... 9
3.1
Introduction ........................................................................................................ 9
3.2
Ecommerce Systems ......................................................................................... 9
3.3
Websites Reviewed .......................................................................................... 12
3.4
Ecommerce Functionalities .............................................................................. 12
3.4.1
Artificial Intelligence ...................................................................................... 12
3.4.2
Recommender System ................................................................................. 16
3.4.3
Online Payment Methods .............................................................................. 18
3.5
Project Related Choices ................................................................................... 19
3.5.1
Software Development Tools ........................................................................ 19
3.5.2
Software Development Methodology ............................................................ 20
3.5.3
Version Control ............................................................................................. 21
3.5.4
User Experience ........................................................................................... 22
3.6
Summary .......................................................................................................... 23
3.7
Recommendations ........................................................................................... 23
Chapter 4: Requirements Analysis ................................................................................ 24
4.1
Introduction ...................................................................................................... 24
4.2
The Process of Producing the Requirements ................................................... 24
4.3
Personas .......................................................................................................... 24
4.4
Functional Requirements (FR) ......................................................................... 26
4.5
Non-Functional Requirements (NFR) ............................................................... 27
4.5
UML Diagrams ................................................................................................. 28
4.6
Information Architecture ................................................................................... 29
4.7
Activity Diagram ............................................................................................... 30
Chapter 5: Design ......................................................................................................... 31
5.1
Introduction ...................................................................................................... 31
5.2
Database Design (Back End Design) ............................................................... 31
5.2.1
ERD .............................................................................................................. 31
5.2.2
Normalization Process .................................................................................. 32
5.2.3
Logical Model ................................................................................................ 33
5.2.4
Data Dictionary ............................................................................................. 34
5.3
Application Design (Front End Design) ............................................................ 35
5.3.1
Nielsen’s Heuristics....................................................................................... 35
5.3.2
Storyboard .................................................................................................... 36
5.3.4
Wireframes ................................................................................................... 37
5.3.4
Interactive Prototype ..................................................................................... 38
Chapter 6: Software Implementation ............................................................................. 38
6.1
Introduction ...................................................................................................... 38
6.2
The Development Environment ........................................................................ 39
6.3
Creation of Database ....................................................................................... 40
6.4
Connection between Database and Front End................................................. 40
6.5
User Interface Implementation ......................................................................... 42
6.5.1 Core Features Implemented ............................................................................. 42
6.5.2
Advanced Features Implemented ................................................................. 61
6.6
Security Consideration ..................................................................................... 67
6.8
Error Messages ................................................................................................ 67
6.9
Version Control ................................................................................................ 69
6.10
Features Not Implemented ........................................................................... 70
Chapter 7: Testing ......................................................................................................... 71
7.1
Introduction ...................................................................................................... 71
7.2
Test Plan .......................................................................................................... 71
7.3
Functionality Testing ........................................................................................ 71
7.4
Non-Functionality Testing ................................................................................ 73
7.5
Defects Log ...................................................................................................... 74
7.6
Analysis of Test Results ................................................................................... 75
Chapter 8: Software Evaluation ..................................................................................... 75
8.1
Introduction ...................................................................................................... 75
8.2
Method of Evaluation ....................................................................................... 75
8.3
The Heuristics .................................................................................................. 75
8.4
Heuristic Report ............................................................................................... 76
8.5
Analysis of Results ........................................................................................... 77
Chapter 9: Conclusion ................................................................................................... 77
9.1
Introduction ...................................................................................................... 77
9.2
Tasks Completed ............................................................................................. 77
9.3
Product Built ..................................................................................................... 77
9.4
Experiences Gained ......................................................................................... 78
References .................................................................................................................... 81
Appendices ................................................................................................................... 87
Appendix A - Requirements Analysis (Core and Advance Functionalities) ................ 87
Appendix B – Data Dictionary .................................................................................... 90
Appendix C – Story Board (Sketches) ....................................................................... 92
Appendix D - Core and Advance Functional Requirements (Testing)........................ 95
Appendix E – Non-Functional Requirements (Testing) .............................................. 99
Appendix F – Nielsen's Heuristics Ten (10) principles Review. ............................... 102
Appendix G – Screenshots of Artefact ..................................................................... 109
Chapter 1: Introduction
1.1
Introduction
The Introductory chapter highlights the project's aims, objectives, and scope, as well as
an overview of the project's background context and identified issue area. The Chapter
will also serve as a roadmap by providing a brief description of each remaining chapter
that will be included in the final report.
1.2
The Subject
In many countries around the world, competitive and convenience-focused culture of
people want to purchase from the comfort of their homes. Ecommerce has become a
flexible alternative for both business and consumer. With the integration of such
technology into everyday life, businesses are forced to adapt and adopt a transition from
the typical brick and mortar store to a more innovative service or face losing customers.
Online Movies have become the staple for many consumers with a shift from outdoor
cinema experience to the comfort of a home entertainment solution. According to Vary
(2020), a study conducted showed that 70% of respondents would rather watch movies
at home vs cinema.
The challenge, however, is that most online movie stores are limited when it comes to
customer service. Customers are unsure of what next selection of movies to choose. This
problem is typically resolved by recommender algorithms through Artificial Intelligence
feeding the consumer options based on the information provided from their last-seen
preferences and geographical location. This project seeks to build an online movie store
that focuses on the customer experience and will employ advanced features such as the
use of a chatbot to enhance user engagement.
There are a few companies in Trinidad and Tobago that offer the traditional ‘brick and
mortar' cinema experience. Movie Towne, Caribbeans Cinemas, and Imax are the
primary stakeholders. While these vendors offer an online e-commerce application, the
challenge is that they all focus on a limited number of features, mainly:
● Currently showing movies (in-person viewing)
● Upcoming movies
● Ticket sales.
These websites are devoid of any enhancements that would encourage user interaction
and repeated return engagements. This project aims to address most of these issues by
delivering an artefact that not only includes online viewing of currently showing cinema
movies but with the inclusion of artificial intelligence (AI) technology in the form of a
chatbot, as well as Recommender Algorithms that will encourage increased engagement
and purchases.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
1
Several strategies will be adopted to conduct this research. The review of existing ecommerce websites will play a primary role in assessing system needs and requirements.
Research will also be conducted through peer sources such as journals and publications
to aid in the drafting of this review.
A study by Balakrishnan et al. (2021) suggests that with the growth of technologies, such
as Artificial Intelligence, marketing and other business-related functions have increasingly
been used by global customers for several reasons. Chatbots taking many forms,
inclusive of conversational representatives/ agents have streamlined the way to assist
and improve in the user making decisions. A study on vxchnge.com by Seal (2019)
reinforces the use of such chatbots increasing by 136% by 2021.
It is expected that by the end of this project, the online Movie store will be able to resolve
issues experienced by offering customers a virtual helpdesk assistant to assist in the
decision-making process of what to watch and what next to watch. Customers may query
into the chatbot based on genre, actors, and/or similarities of previously seen movies. To
enhance user engagement and participation, AI will engage a variety of customer servicebased questionnaire approaches centred around the filtered query information provided.
1.3
Project Aim
This project aims to fill a void in the market for an online movie experience solution. It will
define the requirements, design, and implement (build) an artefact in line with the phases
of the System Development Life Cycle (SDLC) model, with the objective of enhancing
user engagement and sales via the use artificial intelligence (AI) technology and
recommender algorithms.
1.4
Project Objectives
Barber et al. (2019) state that objectives help define goals, identify conflicting activities,
guide elements of the decision-making process, and ensure accountability. Listed below
are the objectives of this project:
● Background Research
To conduct background research effectively to complete a comprehensive study.
Data from reliable sources such as published authoritative articles, books, and
reliable websites will be used to supplement this information. Achievement by
Semester 2, Week 1.
● Requirements Analysis
To finish the requirements analysis by listing and concluding the system's
functional and non-functional needs, eliminating any uncertainty about the
system's intended purpose. Achievement by Semester 2, Week 2.
● Design
To design the artefact and create a model with a substantially functional front-end
interface as well as a database entity-relationship diagram (back-end).
Achievement by Semester 2, Week 3.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
2
● Implementation
To implement the application's functions, using the appropriate programming
languages ensuring deliverables of the final design, features, and functionality are
met. Achievement by Semester 2, Week 10.
● Testing
To test the application by creating a thorough test plan that incorporates various
types of test data to ensure performance is as expected. Achievement by
Semester 2, Week 11.
● Evaluation
To evaluating and determine how well the artefact works, using heuristic evaluation
to resolve a conclusion on the level of functionality. Achievement by Semester 2,
Week 12.
● Completion of the Final Report
To create a final report that includes the previously stated objectives as individual
chapters to document the project's progress. Achievement by Semester 2, Week
13.
1.5
Summary of Chapters
Project Management
Because it is responsible for all elements of a project, project management will look at the
necessity of time management and how to utilize tools like the Gannt Chart and the Work
Breakdown Structure (WBS) to manage project deliverables efficiently and successfully.
Background Research
A project of this magnitude necessitates extensive prior investigation. Information will be
gathered through tools such as the internet, books, journals, and articles from credible
sources. To find reputable sources, Google Scholar, Emerald Insights Library, and
ResearchGate will be used. Background research will be crucial in knowing all
components of the project that will be employed, as well as informing the stages of the
project's System Development Life Cycle (SDLC).
Requirements Analysis
The Requirements Analysis is a critical stage in the project and plays a key role in the
System Development Life Cyle (SDLC). In this phase the technical design of the artefact
is developed, as it will identify the core and advance functional requirements needed for
the artefact as well as the ‘nice to have’ non-functional requirements.
Design
A well-planned and thought through design makes an artefact easier to implement and
eliminates the need for large adjustments in the future. To reduce the time required on
constructing the application, much effort was invested during the design process. This
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
3
section focuses on the database (back-end design) and application design (front end
design).
Implementation
The implementation phase focuses on developing code and producing the artefact in
accordance with the previously designed documentation and requirements. The online
movie shop comes to life at this phase, as both the database (backend) and the artefact
(frontend) are constructed and made to connect with one another.
Testing
The purpose of testing is to perform and validate work done in the implementation phase
based on the function and non-function requirements. It can be defined as the activity to
compare the specified requirements against the artefact design, verifying that they match
and ensuring that no errors occur. In this iterative process the artefact will be tested
repeatedly to ensure quality assurance. A poorly designed and tested applications can
negatively impact the service deliverables required of the artefact to its users.
A test plan will be created to identify each test to be conducted using data (normal,
extreme, and abnormal data) where possible. Testing will be done in focusing on three
areas – usability, functionality, and security. Usability testing will cover the look and feel
of the artefact ensuring a good user experience. Functionality testing will assess the
behaviour of the artefact and how it communicates with the database and performs as
expected. Security testing will look at static and dynamic analysis testing for testing of the
code, it will also include white box and black box testing for security vulnerabilities.
Results from the testing will be recorded in a document with errors being placed in a
defects log which will be used to fix any issues at the end of testing.
Evaluation
The primary objective of the evaluation phase is to gather user feedback. This phase is
different to the testing phase as it will apply the use a Heuristic evaluation to evaluate the
usability if the application. Evaluation is an essential step in software development. If an
application contains usability challenges, requests for customer support will increase
resulting in a negative user experience and impacting on overall customer satisfaction.
After the Heuristic evaluation has been completed a review of the Heuristic Report and
Analysis of Results will be conducted.
Feedback is gathered from a variety of audiences inclusive of sponsors, donors,
administrators, staff, and stakeholders. For this project, the evaluation will be provided
through the academic team at University of Bedfordshire (UoB).
Conclusion
The concluding chapter of this project will look at the work done, the experiences gained,
and the limitations / challenges experienced. It will be a critical self-reflection of the
student’s output in achieving the objective for the software artefact and technical
dissertation.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
4
Chapter 2: Project Management
2.1
Introduction
Serrador (2018) asserts that a key factor in any project success is proper project planning.
This chapter looks at the role of project management. It assesses the significance and
impact of good project and time management by utilizing tools such as the Gannt Chart
in collaboration with the Work Breakdown Structure (WBS) to manage the project’s
deliverables efficiently and effectively.
2.2
Importance of Project Management
According to the Project Management Institute (2010), the application of information,
skills, tools, and procedures to project activities to achieve a project’s requirements is
referred to as project management. A project plan will serve to guide the structure and
execution of the project. It plays a key role in the success of the project and can be
considered the most important aspect by identifying critical elements and allowing for
prioritization across tasks.
For the undergraduate project the student is given a thirteen (13) week period to complete
an individual project. It is critical that the student complete this on time as there are
penalties for late submission. The individual project includes numerous deliverables,
including a software artefact, reflective and technical report, poster, viva, and project
supervisor meetings, and will necessitate a wide variety of skills from the student,
including academic writing and programming.
A work breakdown structure showcasing the main tasks as well as the breaking down
each task into smaller tasks for a more manageable approach will be applied. A Gantt
chart will also be used to display the project activities and to control the schedule and
deliverables along the timeline. It will also help to calculate, manage, and mitigate risks
involved should any arise during the rollout of the project that may affect meeting the
ultimate deadline and quality of work.
Additionally, development plan for the artefact is crucial in ensuring that deliverables of
the Undergraduate Project module are met. A thorough plan outlining the requirements
and specifications (software and hardware) will help to guide the design, implementation,
testing, and evaluation of the artefact.
2.3
Work Breakdown Structure
The major deliverables to be achieved for this project were specified in the Project
Handbook for the Undergraduate Project and utilized to develop the Work Breakdown
Structure (WBS). This depicts the primary tasks in a graphical view, as well as the
breaking down of each activity into smaller tasks for a more manageable approach, as
indicated by Dawson (2017).
The six (6) key tasks form the headings of each milestone with their sub tasks identified
the work to be achieved.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
5
•
•
•
•
•
•
Reflective Report
o Self-Reflection
o List of Chapters of Final Report
Final Report
o Complete Writeup of Each Chapter
Software Artefact
o Develop Core Features
o Develop Advanced Features
Poster
Viva
o Prepare Presentation
o Attend Viva
Project Supervisor Meetings
Figure 1: Work Breakdown Structure
Undergraduate Project
Reflective Report
Self Reflection
List of Chapters of Final
Report
Final Report
Software Artefact
Complete Writeup of
Each Chapter
Develop Core Features
Poster
Develop Advanced
Features
Viva
Project Meetings
Prepare Presentation
Submission
Meeting Report 1
Submission
Meeting Report 2
Introduction
Product Inventory
Management
Online Payment
Review Application
Project Management
Product Filtering Tool
AI Technology (chatbot)
Attend Viva
Background Research
Cart Management
Rocommender System
Requirement Analysis
Customer Profile
Management
Colour Psychology
Design
Customer Ratings
Implementation
Search Tool
Testing
Upcoming Releases
Submission
Meeting Report 3
Submission
Meeting Report 4
Submission
Meeting Report 5
Evaluation
Conclusion
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
6
2.4
Gantt Chart
In project management several tools are used to manage tasks and events. One of the
more popular tools is the use of a Gantt chart. This displays the list of activities to be
accomplished as well as a suitable timeframe scale represented by a horizontal bar to
achieve each task. Briefly, a Gantt Chart will allow to you to see the following:
o List of various activities
o Start and end time of each activity
o The duration of each activity
o Status completed
o Resources assigned for each activity
o Milestone achievable
o Overlapping of activities
o Activity dependencies
o A complete overview of the entire project and its timeframe to completion
With proper project management, a Gantt chart must consider risk factors and include
contingencies in the event of unforeseen circumstances (Dawson, 2015). For this project
the Gantt chart was designed using the Project Handbook for the Undergraduate Project
and outlined in the work breakdown structure (WBS). The six (6) key tasks formed the
headings of each milestone while their sub tasks identified the work to be achieved.
Microsoft Excel was used to create the Gantt Chart. Deadline timeframes was set one
week prior to its due date in-order to meet the deliverables. To keep track and measure
the milestones achieved, a Success Criteria column was added outlining the deliverables
of each activity. Additionally, a percent complete column was included to keep a more
accurate account for the status of each task as seen in Figure 2.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
7
Figure 2. Gantt Chart of Undergraduate Project.
TaskID
Task
Est. Start
Date
Est. End
Date
1
1.1
1.2
1.3
2
Reflective Report
Complete Self Reflection
Develop Listing of Chapters
Discuss content of Chapter
Week 5
Week 5
Week 5.5
Week 6
Week 7
Week 5.5
Week 6
Week 7
2 weeks
0.5 week
0.5 week
Software Artefact
Week 1
Week 12
12 weeks
2.1
Requirements Analysis
Week 1
Week 2
1 week
Design
Implementation
Week 2
Week 4
Week 4
Week 10
2 weeks
6 weeks
2.1
2.2
Testing
Evaluation
User Guide
Final Report
Week 10
Week 11
Week 12
Week 7
Week 11
Week 12
Week 12
Week 12
1 week
1 week
2 days
5 weeks
2.3
2.4
2.5
Introduction Chapter
Project Management Chapter
Background Research Chapter
Week 7
Week 7
Week 8
Week 7
Week 8
0.5 week
0.5 week
3.1
Week 8
0.5 week
3.2
Requirements Analysis Chapter
Week 8
Week 9
0.5 week
3.3
2.2
2.3
2.4
2.5
2.6
3
3.1
3.2
3.3
3.4
3.5
3.6
Duration
Predecessor
Task
1.1
1.2
3.9
4
5
5.1
5.2
5.3
6
6.1
6.2
6.3
6.4
6.5
Actual Start
Date
Actual End
Date
% Complete
Week Week Week Week Week Week Week Week Week
1
2
3
4
5
6
7
8
9
Week
10
Week
11
Week
12
Week
13
Week 14
Submission of Reflective Report
Critical review of time management
All chapters included based on SDLC
Description provided for each chapter of report
Submission of Software Artefact
Detailed List of Functional and Non-Functional
Requirements
A Complete list of normalized tables for Backend; Low
Fidelity Prototype for Front End
A High Fidelity Prototype of the Ecommerce System
A complete set of test plan and test results for the entire
artefact
A heuristic evaluation of the software artefact
Develop a user guide to submit with the artefact
A completed technical report
A chapter outlining the Aims and Objectives and Project
Background
Chapter outlining the Project Management of the Project
Chapter outlining the Literature Review into eCommerce
Application
A complete list of functional and non functional
requirements and use case diagrams
A chapter outlining the work done to develop the
Database back end and the front end.
A chapter outlining the work done in implementing the
application
A chapter outlining the test scripts and the test results
showing evidence of testing along with defects log for all
program defects
A chapter discussing the work done in completing
heuristic evaluation of the system
A refection on the Project as a whole.
Design Chapter
Week 9
Week 10
1 week
3.4
Implementation Chapter
Week 10
Week 11
1 week
3.5
Testing Chapter
Week 11
Week 11
0.5 week
3.6
Evaluation Chapter
Conclusion Chapter
Week 11
Week 12
Week 12
Week 12
Week 12
0.5 week
0.5 week
1 week
3.7
3.7
Poster
Project Viva
Schedule Date for Viva
Prepare Q&A for Verbal
Presentation
Review Application in Preparation
for VIVA
Project Meetings
Project Meeting 1
Project Meeting 2
Project Meeting 3
Project Meeting 4
Project Meeting 5
Week 11
Week 13
Week 13
Week 14
Week 13
1 week
1 day
Week 13
Week 13
0.5 week
5.1
List of Q&As related to the system
Week 13
Week 1
Week 1
Week 4
Week 7
Week 10
Week 13
Week 14
Week 13
Week 1
Week 4
Week 7
Week 10
Week 13
0.5 week
13 weeks
1 day
1 day
1 day
1 day
1 day
5.2
Completion of walkthrough of the user guide.
Submission of 5 Project Progress Reports
Submission of Progress Report 1
Submission of Progress Report 2
Submission of Progress Report 3
Submission of Progress Report 4
Submission of Progress Report 5
3.7
3.8
Success Criteria
Submission of Poster
Completion of Project Viva with Examiners
Have a date and time for Viva
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
8
Chapter 3: Background Research
3.1
Introduction
According to McCombes (2021), the study of theories, methods, and gaps on a specific
topic in existing research from relevant and credible scholarly sources describes a
literature review. Critically analysing, evaluating, and explaining what has been found
from relevant publications such as books, journals and articles will define a good literature
review. Information gathered will be used to inform and guide the project and artefact
planning and execution inclusive of the design and implementation phases.
Figure 3. Steps in Literature Review
Source: University of the Bahamas (cob-bs.libguides.com)
For this project, the literature review will focus on ecommerce and the emerging
technologies such as AI Technology and Recommender Algorithms play a role in
improving online customer experience and will include software tools and development
methodology in project related choices.
3.2
Ecommerce Systems
To understand Ecommerce, we must first understand commerce. Cambridge Dictionary
(2021) defines the word Commerce as the buying and selling of goods or services.
Organizations typically function in three categories:
• Brick-and-mortar (Traditional commerce) service - the process of buying and
selling of goods face to face.
• Virtual (Ecommerce) service - the process of buying and selling of goods solely
online.
• Click-and-mortar (Hybrid of Traditional and Ecommerce) service - the process of
buying and selling of goods online, usually as a marketing channel with a physical
store.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
9
While brick and mortar, may have paved the way as the first method for selling and buying
of goods and services, the advancements in technology with the internet came the
evolution of ecommerce, whereby commerce is conducted via electronic means and
technology medium according to Whinstone et al. (1997). This brought with it significant
changes to the way in which business was transacted and highlighted limitations in brick
and mortar such as rent, specific geographic location, face-to-face operations only, and
limited business hours (typically during daytime) to name a few.
Ecommerce allowed for providers opportunities to have a global customer reach at any
given time (24/7). It enabled them to provide a store and product listing, allowing for price
and specification comparison and a faster buying process right at the consumer’s fingertip
and convenience. Additionally, ecommerce has allowed for the ability to handle
automation, multiple purchases, lower cost maintenance and personalized shopping
experience. Although these advancements have enhanced the way in which commerce
is transacted, they have come with some disadvantages such as the lack of personal
interaction/touch, inability to experience product prior to purchase, poor security, site
downtime, and late delivery Niranjanamurthy et al. (2013).
Online shopping has come a long way since its birth approximately forty (40) years ago.
Consumers has shifted from the traditional instore shopping to a more convenient online
shopping. According to Coppola (2021) ecommerce has become an integral part of the
global retail framework. Statistics show that in 2020, online transactions with sales
surpassed 4.2 trillion US Dollars and project that by the end of 2021 online transactions
would reach approximately 5 trillion USD (Statista.com). The Leading global ranking for
online retail traffic is Amazon.com which registered 5.2 billion unique visitors in June
2020. It is without a doubt that the consumer behaviour and ecommerce has been
significantly influenced by coronavirus (Covid 19) pandemic in the last two years as
billions of people have stayed home to contain the virus. In June 2020, ecommerce retail
traffic recorded 22 billion monthly visits with a high demand for technology items (laptops,
computers, and mobile devices), groceries and clothes.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
10
Figure 4. Forecast Growth Retail ecommerce sales worldwide from 2012 to 2024
Source: Statista.com
Despite its disadvantages, ecommerce has played a key role to everyday living in how
business is conducted. Many businesses have adapted to current trends of business in
having a virtual store presence to increase sales. In more recent years the revolution of
ecommerce has adopted the growth in usage of mobile devices. Coursaris et al. (2002)
proposes, m-commerce can be classified as a subset of ecommerce whereby the mobile
nature of wireless technology supports mobile electronic business transactions. The
convenience of having purchase power on the go is wildly being embraced by mobile
users.
As ecommerce continues to evolve, advancements driven by market and consumer
needs as well as innovative technological advancements has created a space for
emerging technologies to enhance user engagement and participation. Trending
technologies such as:
• Gamification to boost sales, making shopping fun and interactive by awarding
points and badges is a marketing technique used to encourage engagement.
• Augmented Reality allowing the customer to have a virtual shopping experience
and product visualisation with the help of AR and VR technology.
• Social Payments such as digital currency through the integration of brands like
PayPal, Apple pay, Google wallet and Facebook payments are filling the gaps for
the boom of social media users that want seamless security in transactions through
their applications being used.
Although these advancements do make ecommerce business more user friendly, they do
come with limitations as users tend to be hesitant when financial info needs to be
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
11
provided. While data encryption does provide some level of support, users tend to be
sceptical to the possibility of being hacked. Additionally, businesses stand the risk of
being targeted with credit card fraud.
Figure 5. Advantages and Disadvantages of Ecommerce
Source: makewebbetter.com
3.3
Websites Reviewed
Successful online movie websites including Amazon's Prime Video, Netflix, Disney Plus,
and Hulu are listed on PracticalEcommerce.com. These websites have advanced
features such as artificial intelligence (chatbot), recommender algorithms, responsive
designs, and encryption that set them apart from the competition. These characteristics
will be examined in this literature review to incorporate them into this project. There will
also be a discussion of the tools used to create the object as well as the development
methods.
3.4
Ecommerce Functionalities
3.4.1 Artificial Intelligence
According to Copeland (2021), Artificial intelligence can be defined as the functions
performed by a computer or a computer-controlled robot that can do tasks and solve
problems that are human like. It can further be identified with the ability to reason,
recognise speech, learn from its experiences, visualise perception, simplify, make
decisions, and conduct intellectual processes associated with that of human
characteristics.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
12
Unlike Human intelligence, artificial intelligence uses algorithms in its decision-making
process. These algorithms are designed by humans and while some level of adaptation
and growth can be achieved from its environment, human intelligence has a greater
capacity to multitasking, memories, social interaction and self-consciousness that come
from a level of I.Q that artificial intelligence doesn’t have as suggested by Narendran
(2021). The thought process of and decision making of the human brain cannot be
mastered by artificial intelligence no matter how smart it is. The understanding of feelings
and cognitive learning will always be different to that of machine learning which makes
human intelligence unique, though able to process quickly, be more objective and
accurate.
Advani (2020), purports that AI can be measured on human likeness through four main
elements
• Turing Test: states that the Turing test can be referred to the behavioural test of AI
and whether sufficiently meets the conditions of presence of mind, thought or
intelligence when interacting with a human. It considers the natural language
processing for successful communication, knowledge representation (memory),
automated reasoning to answer questions and conceptualise conclusions from
information stored and machine learning to adapt to circumstances based on
patterns.
• Cognitive Modelling: This element deals with the simulation of human problem
solving and mental processing used to predict the human behaviour to execute tasks
similar that of a human. It considers introspection on building a model based on study
of human thought, psychological testing based on the behaviour of humans and brain
imaging to monitor the functionality of the brain based on scenarios and coding the
information to be replicated.
• The Law of Thought: this can be defined as the decision-making process based
on a list of logical statements that govern how the mind operates. Although these
can be applied to AI algorithms the issue may arise where actions of a human
may not always be certain of the outcome whereas an algorithm would not be able
to compute if there are too many parameters.
• Rational Approach: this can be applied to the best possible approach/choice
based on the circumstances where logical statements of the right thing does not
exist. IT applies a much more dynamic and adaptable approach then applying to
the decision making.
With the combination if stored data information and intelligent algorithms capable of
performing fast iterative processes, AI can learn from patterns and features within its data.
SAS (2021), highlights its AI theories, methods, and technologies into the following:
• Machine Learning – This method uses statistics, operation research, physics, and
neural networks to create hidden linkages within the data without directly being
programmed as to where to look or conclude. AI increases its intelligence based
on what it learns over time.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
13
•
•
•
Deep Learning – Utilising huge neural networks, this method uses to its
advantage its computing power to process through many layers of data to learn
intricate patterns.
Computer Vision – the understanding an image or video through pattern
recognition and deep learning allowing the machine to interpret its surroundings
through imagery in real time.
Cognitive Computing or Natural Language Processing – can be defines as the
human like interaction from a machine. AI will be able to analyse and understand
human language and behaviour and respond as a human would.
AI can further be classified into two types or categories according to Saleh (2019). They
are the following:
Type1. Based on its capabilities
• Weak or Narrow AI – designed to perform a limited defined set of tasks and lacks
the ability to think and make decisions like humans.
• General or Strong AI – Although not fully there yet, the objective is to create AI
with the ability to apply intelligence in thinking and making decisions like humans.
• Super AI – a hypothetical concept but defined as machines that surpass human
intelligence by being able to perform tasks better than the cognitive characteristics
of human beings.
Type2. Based on its Functionality
• Reactive Machines – responds and reacts only to its current situation with the
best possible action and does not store memory or use past experiences for future
actions.
• Limited Memory – Data can be stored for short periods of time to be allowed in
future decision making by using its experience. It isn’t added to their library of
experiences and is therefore specific to a period.
• Theory of the Mind – In its simplest term, this AI will be capable of understanding
and relating to human emotion and beliefs. While this concept has not yet been
built, the aim is to imitate human mental to drive its behaviour.
• Self-Awareness – this form of AI is still far reached but its objective is to be
extremely intelligent with its ability to become truly self-aware and conscious on its
own.
AI has become part of everyday living and exists in hundreds of ways to assist in making
life easier. It has been used through various types of programming, most commonly in
• Chatbots to strength its customer service relations by allowing generic or
frequently asked questions to be answered without the need of a human.
Responses can be triggered by a word of phrase being used to define the response
given. The objective is to give human level interaction to its customers.
• Voice Recognition to help learn about our preferences and to assist in helping
you. AI uses the questions or commands asked to answer or perform tasks through
devices like Apple’s Siri, Amazon’s Alexa, and Google’s Play.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
14
•
•
•
Self-Driving Cars though still new, machine learning and visual recognition are
used synchronously to help cars understand its environment. Autonomous
vehicles can react and adapt to traffic patterns and signs and can use facial
recognition to recognise and keep people safe.
Streaming Services using algorithms based on the content watched or listened
to and makes suggestions based on a pattern for example Netflix, YouTube, Apple
Music, Tidal.
Online Shopping, like streaming services, utilizes algorithms based on shopping
preference to predict what u make like to shop for next. Systems such as Amazon
and eBay can quickly place recommended items to the forefront to insight your
buying need.
At present AI technology is currently being used to help fight against Covid-19. Machines
being used in thermal imaging at airports, computerised tomography lung scans to
recognise infection and data analysis to track the spread are just a few of the ways being
used.
Figure 6. Timeline of AI Technology
Source: connectjaya.com
The are many benefits to using AI technology with automation of processes, smart
decision making, enhances customer experiences, complex problem solving, Research
and Data analysis, minimizing error, and increased business efficiency through 24/7
operation. But while all these benefits do exist with AI it does come with some
disadvantages such as lack of creativity, high possible start-up cost, reduced human
labour/ unemployment.
Chatbots are becoming the latest channel for businesses to be able to connect with their
customers. According to Intercom (2019), Chatbots account for 41% of sales, 37% of
customer support and 17% of marketing. Many brands such as Domino’s Pizza that uses
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
15
its chatbot to place an order and track the delivery with a simple to use process and in
February of 2017 integrated Facebook Messenger, Peloton that uses their chatbot to
advertise and direct to sales based on a query, Starbucks that uses their chatbot similarly
to Dominos, learns preferences and notifies when order is ready, and AmTrak uses its
chatbot assist in purchase of tickets, have seen growth in their business significantly.
AmTrak reported an increase by 50% in user engagement.
For this project the chatbot will be implemented to assist users in login in issues, movie
recommendations and purchase support. It will act as the first line of support for the most
frequent questions being asked and assist users to meet their goals.
3.4.2 Recommender System
With the growth of many ecommerce business, choices have become overwhelming to
the consumer. This has sparked some level need for a filtration and prioritization system
to effectively provide the most relevant content. From this need, a recommender system
can be considered a filtration system that anticipates user choices by searching possible
suggested items and outputting to the user based on their previous viewed, purchased or
preference items making the decision-making process easier. To achieve this,
recommender systems use a combination of algorithms, data mining analysis and AI as
indicated by Burke (2011).
Furthermore, Schafer (1999) suggests that there are three ways recommender systems
enhance ecommerce sales - Browsers into buyers, Cross-sell, and Loyalty. Browsers into
buyers can be identified as the visitors of websites that have no intention of purchase but
are drawn into a product by the recommendations being made. Cross-sell can be defined
as the additional/supporting products that are recommended based on the purchase
being made. Through recommender systems users have increased their loyalty to by
creating value added relationships. In doing this site have invested into getting to know
its user based on purchases, item visits, and preferences allowing for them to match the
needs and wants of the customer. This in turn drives customer loyalty up with return visits
and more user engagement.
Recommender systems can be differentiated into three types of techniques, as specified
by Doshi (2019). They are Content-based filtering, collaborative filtering, and a hybrid
system.
Content Based filtration system – recommendations are based on user interest and
matches similar products from the content of the product for example price, location, size,
features. This system relies on the item or products the user interacts with or views and
builds a profile based on its content then it builds based on the user profile based on
preferences and connects the two and recommends new items with similar features.
Collaborative Filtering – does not consider user preferences, instead, it considers the
interactions of other customers and items, by analysing customers with similar tastes on
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
16
a selected item and then rating their similarity to the user to decide what to recommend.
The higher the similarity between customers the higher the recommendation.
Hybrid System – uses both content and collaborative filtering. This is done by
understanding the user preference and item features and matching it against other user
preferences to find a similarity rating. By doing this the recommender system finds the
best possible match item to suggest to the user based on all factors.
Figure 7. Recommender Techniques
Source: towardsdatascience.com
While Recommender systems provided users with content they may not have known
existed, there are additional benefits to its implementation of such a system. Dey (2021)
highlights engaged user activity, drive traffic, convert browsers to customers, increase
sale and deliver relevant content as a few advantages. As with all systems there are some
limitations that come with such a system for example the need for a large database of
user preferences to make a recommendation, data manipulation of preferences,
recommendations based on user non-preference items (geo-location of a user), to much
data to make a proper recommendation.
Several businesses have adopted the recommender system and proved to be a
successful tool in driving customer experience. Amazon.com uses the Customer who
bought feature recommending products like that of user preference and purchase.
Additionally, the implementation of email notifications when new products are added
based on the user preference feature and customer comments allowing for text
recommendations have all been features of amazon.com. Levis added its recommender
system to suggest articles of clothing based on gender, category and fit with a rating
score. Netflix added its recommender system based on similarity of watched movies,
similarity of other users that watch the same movies and geo-location of the user. Over
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
17
80% of what people watch comes from recommendations according to Medium.com. For
this project a recommender system will be implemented like that of Netflix, with features
based on user preference and previously clicked on/viewed movies.
3.4.3 Online Payment Methods
Online payments can be defined as the purchasing transaction conducted on an
ecommerce platform between customers and the seller. On a similar note, Dennis (2004)
suggests that this type of system as a type of financial commitment between the customer
and vendor that operates on electronic infrastructures. Oh (2006) purports this process
to involves four major stakeholders - Cardholder (owner of the credit card), Merchant
(Business/Seller), Infrastructure Provider (the facility that manages the credit card
payments for the Merchant routing the transaction credit card networks) and the Finance
Institution (the institution that offers the credit to the cardholder on behalf of the card
networks).
The process by which online payment functions can be simplified into the following stepsCardholder selects item to be purchased online and is then prompted to insert payment
details. The merchant then submits this transaction through the payment gateway which
encrypts the transaction and securely forwards it to the processor for verification also
known as tokenization (the process by which the generation of a random secure code
that carries the data safely via SSL). Once approved, the customer’s financial institution
then forwards the money to the processor which in turn forward to the merchant’s account.
The approved or denied status is then sent to the gateway which in-turn the merchant
receives, together with the money for item is sold. This process happens autonomously
and in a matter of seconds.
Figure 8. Online Payment Method
Source: oroinc.com
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
18
Fatonah et al. (2008) purports, with the evolution of ecommerce, online payment
methods/systems have become a one of the more practical monetary tools being used to
transact business. Most popular online payment methods use credit and debit cards,
however with advancements in technology, alternative methods such as bank transfers,
e-wallets, e-cash payments, smart cards, and crypto-currency have emerged.
Credit and Debit Cards – This is by far the most popular of all online payment methods.
Payments via cards are simple to use and have become more secure as technology
advances. Customers enter at a minimum a card number, expiry date and CVV number.
Examples of which include Visa, Mastercard, American Express, Discover to name a few.
Debit Cards are considered a preferred option for customers who shop within their
financial limits. The main difference between the two cards is with a debit card being a
pre-pard/loaded credit card from the customers bank account.
Digital Wallets and Cardless Payment – This payment method has become widely
adopted and provides for customers who want a faster smoother transaction at the touch
of a button. It is mainly used on mobile devices, apps, or online services that allow for
financial transactions to take place without the need to carry a credit card cash or physical
wallet. Credit Card information is encrypted and stored on the device and only accessed
when the transaction payment is required. Examples of Digital Wallets include PayPal,
Apply Pay, Google Pay, Samsung Wallet, and Amazon Pay.
Within recent times crypto currency has been gaining popularity as a new method of
payment. This type of currency uses blockchain technology and does not have a central
monetary authority such as banks or government. Although considered secure, crypto
currency is still young and investing in it may be considered risky as its value fluctuates
due to no fixed regulations.
Online payments have many benefits to its usage. Increased speed and convenience
compared to traditional cash for payments online, secure payments using encryption
technology, multiple payment methods, more appealing to impulse buyers and recurring
payment capabilities to name a few, have increased the growth in online payment
technologies. There are however limitations such as technical downtime, fraud and cost
associated with fraud, and transactional costs.
For this project the online payment method being used will be credit card payments as it
is the most used option for customers.
3.5
Project Related Choices
3.5.1 Software Development Tools
A project of this nature requires a high level of background research. Tools such as the
internet, books, journals, and articles from reputable sources will be used to acquire
information. Google Scholar, Emerald Insights Library and ResearchGate, just to name a
few will be used to obtain credible sources. No cost factor will be incurred.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
19
The significance of referencing and citing thorough-out the completion of this project was
highlighted. Harvard referencing framework is the recommended style to be used. Once
credible and relevant sources are identified, citation needs to be included in the main
body of the report and a reference and bibliography list at the end of the report. Reference
management applications such as EndNote and RefWorks have been reviewed to assist
in maintaining and organizing bibliographical references and add in-text citations.
RefWorks was selected due to ease of use.
Software tools in the development of the software artefact would be required. Applications
such as XAMPP bring together tools in a single framework package (Integrated
Development Environment). Included in the XXAMP application is a MYSQL database
used for data storage. PHP, JavaScript, CSS, and HTML will be primarily used to design
and style each webpage.
The design of both frontend (application) and backend (database) requires tools to design
the artefact. To build such a design, several programs may be considered, including
Microsoft Visio, Smart Draw, Google Drawings, ER Diagram, and Pencil Project, to
mention a few. Microsoft Visio/ER Diagram (backend) and Balsamiq (frontend) will be
utilized to perform the activities necessary based on experience and simplicity of usage.
Given the nature of this project, Version Control will play a key role in the development
process. Version control systems (VCS) enable an individual/group to track changes
being made throughout a project. It allows for collaboration (groups to work
simultaneously on the same project), backups of changes made by everyone, reviews
and documentation of the progress made. Though several options of VCS are available
for free use GitHub was ideally selected based on familiarity and ease of use/integration
with the Visual Studio Code application.
Project Management is critical in tracking the progress of a project to minimize risk,
monitor progress, and provide deliverables on schedule. Microsoft Excel and Microsoft
Project may be used to arrange work in a timetable and improve planning efficiency to
fulfil these deliverables. Microsoft Excel is chosen to be utilized for this project due of
familiarity. Because the program is already owned, there will be no further costs.
3.5.2 Software Development Methodology
According to McCombes (2020), methodology can be defined as the study of the methods
used and the theories or principles that govern them, in the development of an approach
to match the overall objective. The use of a methodology will allow for this project to easier
manage the implementation stage by separating each phase of the artefact development.
Dawson (2015) indicates, the agile methodology is best suited for student projects and
given the time constraints of this project, the use of the Waterfall methodology which
requires an extensive analysis phase and a defined outlined detailed document before
initiating development activities cannot be used. As such Agile Method is best suited to
achieve the desired project outcome.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
20
The Agile methodology is an adaptable method that employs the use of iterative and
progressive approaches, allowing for modifications to be made at any moment. This is in
comparison to methodologies such as Waterfall which uses a fixed step-by-step approach
to project development.
Agile Methodology encourages best practices such as:
● Advocating for small team functionality (project supervisor and myself)
● Frequent collaboration and communication
● Ability to manage project deliverables that are unclear or require continuous
changes
● Project risk reduction by short iterations
● Product road mapping of every step in the system development life cycle including:
o Background Research
o Requirement Analysis
o Design of Artefact
o Implementation of Artefact
o Testing
o Evaluation
Figure 9: Stages of Artefact Planning (Agile Methodology)
3.5.3 Version Control
Version Control systems allow for the tracking of fundamental changes made during the
process of software development (Spinellis, 2005). By doing this it allows for the team to
view the progress of work being done on project. VCS keeps a master copy of the project
in its repository, then keeps a history of the changes in development as the project
continues enabling for reviewing or roll backs to previous versions if necessary. The use
of version control can also act as a backup to of the project as it stores the data on an
external server.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
21
There is several different software that assist with version control such as Azure DevOps,
Revision Control System, Mercurial and Git. Artefact development code editor software
such as Visual Studio code supports VCS like Git. While A fully functional version will be
stored locally, for this project the use of GitHub is chosen as it will allow for Visual Studio
Code to connect to its online repository via the GitHub extension which can be integrated
seamlessly. Additionally, GitHub makes available through personal accounts a free to use
version.
3.5.4 User Experience
Gualtieri (2009) asserts, to separate a company from its competitors, one must provide
an improved user experience. When this is achieved the business will reap three benefits
– customer recommendation, continued customer loyalty and increased consumer
purchases.
To create a design that factors in the user experience, the design must consider the entire
process of branding, design, usability, and functionality. It anticipates the end user in
mind and looks at the process of consideration, acquisition and even troubleshooting
ensuring that it delivers on the expectations of the user needs. By doing this the design
team ensures a successful product.
According to the Morville (2010), there are 7 factors that influence the User Experience.
• Useful – can a user achieve their purpose for the visit of the website? If the website
has no purpose, it will not achieve in holding the customers attention against its
competitors. It is worth noting that useful can only be measured in the eye of the
beholder.
• Usable – How easy it for a user to achieve their desired task with as little effort as
possible. The easier it is for a user to achieve their objective the greater chance of
having a competitive advantage in addition to giving the user a comfort of usage
and security.
• Findable – this relates to how easy is the desired product to find. The design must
be easy for a user to navigate and find the content needed.
• Credible – Credibility relates to the trust relationship of the user in the product
being offered. It considers not just that it delivers but that it provides a level of
accuracy in the information provided and fits its purpose.
• Desirable – This covers branding, identity, and image. It looks at the complete
aesthetics of the product being offered. The more desirable a product is the more
a user will return and recommend the product.
• Accessible – ensures the user can access by the full range of abilities inclusive of
all devices (desktop and mobile) and able to be accessible by users with
disabilities.
• Valuable – Value is two-fold in its consideration. It must deliver to value to the
business and to the consumer for whom it was created for.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
22
Gualtieri (2009) outlines that to design with the best user experience in mind you must
first apply four best practices: Simulate becoming your user to understand how to
design for them, Design the prototype first to avoid putting the user experience to risk,
Test to verify users will be satisfied, include User Experience design into the SDLC
process of the project.
For this project the Heuristic Evaluation principles will be used in evaluating the
artefact ensuring that all factors of user experience are met and in the SDLC and are
in line with the standard set by the academic team at University of Bedfordshire (UoB).
3.6
Summary
With the use of Emerging Technologies, many ecommerce applications have adapted to
using some features as discussed in Section 2.2. These features have proven to benefit
most while some emerging technologies may not have proven as successful.
• Artificial Intelligence – More and more globally AI technology is being integrated
into everyday life. By utilizing these capabilities AI can assist in automating and
performing tasks associated with human intelligence.
• Recommender System – By making recommendations of liked or similar products
that the consumer may have viewed or purchased, the shopping experience for
user becomes more personalised and directed. This in term generates a better
user experience and generates sales.
• Responsive Design – By allowing for a seamless smooth design to be integrated
across multiple devices, user engagement will increase as the customer
experience isn’t frustrated by the unnecessary scrolling of left to right or having to
zoom in and out.
3.7
Recommendations
The Aim of this project is to deliver an ecommerce online movie store that overall
enhances the user experience. With the implementation of the following
recommendations being made based on the literature review, it is intended that these
features will enhance the user experience.
• Chatbot: the implementation of an Artificial Intelligence feature such as the chatbot
will assist in 24/7 customer service improving on the customer experience for
frequently asked questions.
• The Recommender system will suggest movies for its users based on previously
seen/viewed content allowing for the customer to have a more personalized
experience while generating increased sales based on preferences.
• A Responsive Design will allow for ease of use with customers to view and make
purchases on the go using their mobile devices without the frustration of having to
scroll or zoom in and out.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
23
Chapter 4: Requirements Analysis
4.1
Introduction
One of the crucial phases in the System Development Life Cycle (SDLC) is the
Requirement Analysis. Hay (2003) describes this as a comprehensive study in a specific
area of business as it covers the fundamentals, underlying structures, roles of each
function, including the constraints and gaps, to be developed to achieve the goal.
The requirements analysis will cover the methods used to meet the requirements, it will
define the functional and non-functional requirements of the system, prioritize
requirements, as well as cover the document set that establish and qualify the scope of
the project such as use case diagrams and activity diagrams. Functional requirements
refer to the activities or processes that the system must perform while, non-functional
requirements refer to the operational characteristics related to the system.
4.2
The Process of Producing the Requirements
In this phase an examination was done on existing ecommerce applications. It considered
their functionalities in addition to the look and feel of the design while recognizing areas
for development. Reviewing of documentation on ecommerce applications in addition to
their advanced features was done from credible sources, influencing the requirements
that would be established for the project.
Work done in the Background Research chapter of the Contextual Report had an impact
on the list of Functional and Non-Functional requirements for this Project. Ecommerce
websites such as Netflix.com (2022), Amazon.com (2022), CaribbeanCinemas.com
(2022), MovieTowne.com (2022) was reviewed to determine the core and advanced
functionalities that were utilized and should be included in the artefact, to ensure optimum
user experience and usability. On ecommerce websites, core requirements such as
Registration/Login, Product Listing, and Cart Management are common, whereas
features such as Responsive Design, recommender systems, and AI Chatbot were
incorporated based on background research.
4.3
Personas
Personas, according to Nielsen (2010), are used to build accurate and realistic
representations of your target consumer groups for as a method to communicate data
about the users. They are critical to a product's success because it drives the design
decisions by bringing user needs to the forefront of planning stages before the design
phase begins. Personas help to understand users' requirements, habits, likes, dislikes,
preferences, objectives, and experiences. The following are examples of personas
created to provide a full understanding of a typical customer of the online movie shop
ecommerce application (Figures 10 and 11).
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
24
Figure 10: Persona 1 - Student (Margaret)
Figure 11: Persona 2 – Working Professional (Lulu)
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
25
4.4
Functional Requirements (FR)
Functional requirements are divided in to two categories - The core features are the
fundamental characteristics necessary to have a functioning artefact, however the
advanced features are deemed desirable to have more complex features such as a
recommender system, AI Technology in the form of a chatbot, Gamification, and
Responsive Design. Listed below in Table 1 is a comprehensive listing table with the
functional requirements of both the core and advance features inclusive of the user
access level.
Table 1. List of Functional Requirements
ID NUMBER
FR-1
FR-2
FR-3
FR-4
FR-5
FR-6
FR-7
FR-8
FR-9
FR-10
FR-11
FR-12
FR-13
FR-14
FR-15
REQUIREMENT
CORE
Register / Create an
Account
Login / Log out
Products category list
Product Search
Product Description
Product Inventory
Management
Cart Management
Customer Profile
Management
Upcoming Releases
ADVANCED
Recommender Systems
Responsive Design
Customer Ratings
AI Technology - Chatbot
feature
Online payment methods
Passwrod encryption
USER LEVEL ACCESS
Public
Public
Public
Public
Public
Admin
Registered User
Registered User
Public
Public / Registered User
Public
Registered User
Public
Registered User
Registered User
Furthermore, from the table above, each requirement was then expanded to include a
detailed description of how the requirement works as well as a rationale for the
requirement. This would subsequently be used to guide the database as well as user
interface designs. Table 2 shows the requirement FR-2 that has been generated, and
Appendix A shows the full requirements analysis that has been completed to date.
Table 2. Details of Functional Requirements FR2 (Login/ Logout)
REQUIREMENT
ID NUMBER
Login / Log out (Core)
FR-2
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
26
DESCRIPTION
RATIONALE
4.5
Before any transaction on the ecommerce application can take
place, the user must first log into the account that was created. The
registered email address and password used during registration
must be entered by the user. The application then confirms that the
email address and password entered match those in the
application's database. After being confirmed and validated against
the database's 'users' table, the user is sent to the site and notified
that they have successfully signed in.
Once logged in, a user may make secure purchases, review order
history, track order status, and change profile information such as
address, passwords, and credit card information.
Non-Functional Requirements (NFR)
Non-functional requirements are those components of an application that are equally as
significant as its functional requirements but are less visible. It places a greater emphasis
on user expectations, which include Application Security, Database Security, Browser
Compatibility, Maintainability, Consistency, Usability, Availability, and Scalability. The
non-functional requirements for the application are shown in Table 3 below.
Table 3. Details of Non-Functional Requirements
NONREQUIREMENT
RATIONALE
FUNCTIONAL
ID
NFR-1
Application
To secure the privacy of information from other
Security
users and hackers, sensitive data such as credit
card information should be encrypted in the
database. Access restrictions must be set to
guarantee that users only have access to their own
information and not that of other users.
NFR-2
Database
Users should not be allowed to have access to the
Security
database. Only the database administrators should
have access to it. The application interface should
be the sole way for the user to access the
database.
NFR-3
Browser
Browser compatibility with Google Chrome,
Compatibility
Microsoft Edge, Apple Safari, Mozilla Firefox, and
Microsoft Edge should be available on a wide range
of mobile and desktop devices.
NFR-4
Maintainability The design of the application should be simple
enough that the adding of new product items and
updates to product information can be done quickly
and easily.
NFR-5
Consistency
Consistency focuses on the aesthetic of the user
interface and how people interact with it, delivering
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
27
4.5
NFR-6
Usability
NFR-7
Availability
a uniformed appearance throughout the
application. These include the layout, colour
scheme, fonts, buttons, and any key elements, all
of which must be consistent throughout all pages to
reduce the learning curve.
According to Nielsen's heuristics of system
visibility, consistency, and standards, the
application's interface should be user-friendly
(Nielsen, 1994). Aspects, such as navigation links,
login, registration, the products page, and the
search page, will be comparable to those seen on
other e-commerce sites. To reflect their function,
elements will be given meaningful names.
It is advised that the application be hosted on a
platform that is stable, secure, reputable, and
satisfies industry regulatory requirements with
redundancy to ensure minimal downtime.
UML Diagrams
A use case, according to Larson and Larson (2004), is the manner a possible end user
intends to utilize or interact with a system. Use cases provide a framework for gathering
user requirements/needs and enable for the project's scope to be defined. It is
also valuable in having the actor (end user) test the system throughout the
implementation phase, which results in faster creation of a more usable system.
UML use-case diagrams depict a system's high-level functionality and scope,
representing a system's behavior and assisting in the capture of the system's
requirements. These diagrams also depict how the system and its actors (end users)
interact (IBM, 2017). Below in Figure 12 depicts a high-level use case scenario between
the actor (end user) and their interaction with the system.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
28
Figure 12. Top-Level Use Case Diagram Example
Source: (uml-diagrams.org)
4.6
Information Architecture
Belinda (2017) expresses that the structural design of information or content (including
text, images, and videos) within a digital product is known as information architecture.
This significantly assists a user, as it focuses on the structuring and identifying webpages
so that the users can quickly access the information needed while providing a smooth
flow. A sitemap was constructed to highlight the link between the various site content and
to test for website flow to corroborate these results. The site map for the online movie
store application is shown in Figure 13 below.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
29
Figure 13. Site Map
4.7
Activity Diagram
According to Walker (2019) an activity diagram can be described as a flowchart that
depicts the flow from one activity (a system action) to another activity carried out by the
user until it is completed. The primary goal of activity diagrams is to represent a system's
dynamic behavior, with an emphasis on the execution and flow of that behavior rather
than implementation. Below, in Figure 14, shows the activity diagram for the online movie
store application.
Figure 14. Activity Diagram for Ecommerce Purchase
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
30
Chapter 5: Design
5.1
Introduction
The design of a website can impact on the success of any business in a competitive
industry. Poorly designed sites can have many negative reactions resulting in less
customer visits and usage, while a professionally designed can encourage user
engagement as well as increase visitor frequency.
The next stage of System Development Life Cycle (SDLC) is the Design phase. This
phase consists of identifying the specification required and the creation of the application.
It will capture the structure and behaviour of the software artefact based on the approved
functional and non-functional requirements.
The design phase will look at both Back-End and Front-End designs. The Back end will
cover the design of database required to store the data, its Entity Relationship Diagram
(ERD), Normalization, Logical Schema and Data Dictionary. The Front-End design will
cover the application’s design looking at Nielsen’s Heuristics for usability, its wireframes,
sketches, and interactive prototype.
5.2
Database Design (Back End Design)
The initial stage in developing the software artefact is critical in database design.
According to Watt (2014), when unstructured data is stored in a database, issues such
as data repetition and wastage of storage space might arise. To avoid such issues, tables
were normalized to at least the third normal form, which eliminated insert, update, and
delete faults. In comparison to the bottom-up approach, which is primarily used when
existing databases are available from an existing system, the top-down approach was
used for this project because it eliminates the confusion of attempting to design the
system all at once given that the system is a concept being brought to life.
The design of the database can be broken down into three parts:
•
•
•
•
The design of the Conceptual ER Diagram
The normalisation of the ERD
Using the logical ERD to create a logical model
Creation of a Data Dictionary
5.2.1 ERD
The initial phase in the design process was to determine the entities and the data that
would need to be stored. Because functional requirements constituted the basis of the
data necessary, the requirements analysis provided most of the information for this
phase of the development process.
Below in Table 4 is a list of the entities gathered:
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
31
Table 4. Entities and it’s Characteristics
ENTITY
Cart
User
Items
Reviews
Purchases
Receipts
Upcoming Items
CHARACTERISTICS
Items, Quantity, Status
First Name, Last Name, Email, Password,
Registration Date
Item, Description, Price, Image, Quantity
Item, Subject, Ratings, Message, Date
Price, Quantity, Date
Receipt Code, Date, Subtotal, Total
Item, Description, Price, Image, Quantity
5.2.2 Normalization Process
Following the establishment of the entities and their respective characteristics, the
relationship between these entities, as well as the cardinality of these relationships, was
determined. A Purchase, for example, can be made for several Items, and an Item can
have multiple Purchases. This was then used to build the conceptual ER Diagram.
The conceptual ER diagram was converted to a logical ER diagram using a top-down
normalization procedure, removing any many: many links in the conceptual ER diagram.
The many: many relationship in the ecommerce ER diagram was the one between the
ITEM and the RECEIPT, which went as follows:
• An ITEM can be included in many RECEIPTS
• A RECEIPT can consist of many ITEMS
This was fixed by establishing a link entity table named PURCHASES, which holds the
ITEMs included in the PURCHASE, converting the many: many relationship into a one:
many relationship.
•
•
A RECEIPT consists of many PURCHASEs, but each PURCHASE is for one
ITEM.
An ITEM can be in many PURCHASEs, but each PURCHASE is for one
RECEIPT.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
32
Figure 15. ER Diagram
5.2.3 Logical Model
A logical database model was built when the normalization procedure was completed,
which comprised all tables and attributes as well as integrity requirements (primary and
foreign keys). Table 5 shows the Logical Schema from the ERD.
Table 5. Logical Schema from the ERD
ENTITY
Cart
User
Items
ATTRIBUTES
Primary Key: cart_id
user_id, item_id, cart_item_added, cart_item_quantity,
cart_item_status
Primary Key: user_id
first_name, last_name, email, password, registration_date,
user_type
Primary Key: item id
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
33
Reviews
Purchases
Receipts
Upcoming Items
Avatar
item_title, item_description, item_price, item_image,
item_quantity, item_category, item_category2, item_youtube
Primary Key: review_id,
user_id, item_id, review_rating, review_subject, review_message,
review_date
Primary Key: purchase id
item_id, purchase_item_price, purchase_item_quantity,
purchase_date, receipt_id
primary key: receipt id
user_id, receipt_code, receipt_date, receipt_subtotal, receipt_total
Primary Key: upcomingitem id
upcomingitem_title, upcomingitem_description,
upcomingitem_price, upcomingitem_image,
upcomingitem_quantity, upcomingitem_category,
upcomingitem_category2, upcomingitem_youtube
Primary Key: avatar id
Avatar
5.2.4 Data Dictionary
A Data Dictionary can be defined as a tabular format listing of names, description and
attributes and constraints for the data components produced from the logical schema.
The Table 6 below depicts the data dictionary for the items.
Table 6. Data Dictionary for The Items Table
Table
Field name
items
item_id
Item_title
Data
Type
int
varchar
Field
Length
11
100
Item_description text
Constraint
Description
Primary Key
None
Auto Increment
Name of the Item
Description of the
item
Price of the item
Item Image
Item amount
Item Category
Item Category 2
Youtube trailer
link
None
Item_price
Item_image
Item_quantity
Item_category
Item_category2
double
varchar
int
varchar
varchar
6,2
200
11
100
100
Item_youtube
varchar
300
None
None
None
None
None
None
Appendix B shows the full Data Dictionary from the database.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
34
5.3
Application Design (Front End Design)
5.3.1 Nielsen’s Heuristics
The purpose of a well-designed UI for front-end development cannot be emphasized.
Design principles were used in combination with Nielsen's 10 Usability Heuristics to
ensure the best user experience in compliance with appropriate design criteria such as
efficiency, speed, and smooth functionality (Nielsen, 1995). There are several benefits
to using a heuristic, namely:
•
•
•
It's a thorough, technically sound procedure that evaluates the product against a
set of specific criteria.
You have a higher chance of having a broader picture and discovering more
possible issue areas since several individuals are participating.
Because it concentrates on fewer, more relevant areas, the issues uncovered are
more likely to be significant.
Table 7. Nielsen's 10 Usability Heuristics
(https://www.heurio.co/nielsens-10-usability-heuristics, 2022)
PRINCIPLES
Visibility of system status
DESCRIPTION
The system should always keep users informed
about what is going on, through appropriate
feedback within reasonable time.
Match between system and the The system should speak the users’ language, with
real world
words, phrases, and concepts familiar to the user,
rather than system-oriented terms. Follow real-world
conventions, making information appear in a natural
and logical order.
User control and freedom
Users often choose system functions by mistake and
will need a clearly marked “emergency exit” to leave
the unwanted state without having to go through an
extended dialogue. Support undo and redo.
Consistency and standards
Users should not have to wonder whether different
words, situations, or actions mean the same thing.
Follow platform conventions.
Error prevention
Even better than good error messages are a careful
design which prevents a problem from occurring in
the first place. Either eliminate error-prone conditions
or check for them and present users with a
confirmation option before they commit to the action.
Recognition rather than recall
Minimize the user's memory load by making objects,
actions, and options visible. The user should not
have to remember information from one part of the
dialogue to another. Instructions for use of the
system should be visible or easily retrievable
whenever appropriate.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
35
Accelerators — unseen by the novice user — may
often speed up the interaction for the expert user
such that the system can cater to both inexperienced
and experienced users. Allow users to tailor frequent
actions.
Aesthetic and minimalist design Dialogues should not contain information which is
irrelevant or rarely needed. Every extra unit of
information in a dialogue competes with the relevant
units of information and diminishes their relative
visibility.
Help users recognize, diagnose, Error messages should be expressed in plain
and recover from errors
language (no codes), precisely indicate the problem,
and constructively suggest a solution.
Help and documentation
Even though it is better if the system can be used
without documentation, it may be necessary to
provide help and documentation. Any such
information should be easy to search, focused on the
user’s task, list concrete steps to be carried out, and
not be too large.
Flexibility and efficiency of use
Illustrated below in Table 8 is an example of how this has been applied to the artefact:
Table 8. Example of use - Nielsen's 10 Usability Heuristics
PRINCIPLES
User control and freedom
HOW IT WILL BE APPLIED
Features such as the ability to add/remove things
from their Carts, as well as Log In/Log Out of the
ecommerce application will be clearly visible to
customers. Navigation between screens can be
achieved easily through the header tabs.
5.3.2 Storyboard
Sketches are created to give a visual representation of the artefact's potential screen
layouts. Once a sketch has received a high degree of approval, it will be utilized to create
a higher quality design, such as wireframes and low fidelity prototypes. The plan for the
login screen is depicted in the drawing (Figure 16) below. APPENDIX C will have more
screens
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
36
Figure 16. Sketch of the Login Screen
5.3.4 Wireframes
A wireframe is a two-dimensional representation of a page's appearance and feel, with
an emphasis on space allocation and prioritizing content, accessible features, and
expected actions. As a result, wireframes often lack any styles, colours, or images and
aid in the establishment of linkages between various web page designs. The wireframes
were then created and tested to verify that they adhered to Nielsen's Heuristics, with all
screens having a title identifying the screen's function and buttons being consistently
positioned on each screen with recognizable icons across the program.
The following Table 17 is a wireframe example of a login page:
Figure 17. Login page wireframe (http://mockupbuilder.com, 2022)
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
37
5.3.4 Interactive Prototype
The design's style, colour, logo, and substance are established via interactive prototypes,
which might be of low or high quality. It is also interactive, so something happens when
the user clicks on the item. This explains how the design works and gives a better
understanding of the built-in capabilities. As a result, when you click or tap on a design
element, something happens: a menu will appear or a link to a new page will appear.
Less time was spent learning how to create an Interactive Prototype, which may take long
and be challenging. Because the academic nature of the project's constrained the
development timeframe, extra effort was spent on developing the actual artefact. Below
in Figure 18 depicts the Prototype of the homepage.
Figure 18. Homepage Prototype Concept
Chapter 6: Software Implementation
6.1
Introduction
It is in this phase that the project begins to take shape. The Implementation phase is the
shifting from ideas of the project plan on paper into action. The development of the
artefact for the online movie store initiates at this phase. The gathering of equipment for
the development environment, installation and configuration of software, the creation of
the database tables and ensuring that the database (backend) and the application (front
end) can communicate with each other are the first steps.
User interface advance feature implementations such as a responsive design, AI
Technology and a recommender system are then created in this phase. The handling of
error messages and modifications to the origin design if needed are corrected.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
38
Additionally, security features and version control are implemented to minimize loss of
data and monitor/control the progress.
6.2
The Development Environment
In software and web development, a development environment gives developers an
interface and a convenient overview of the development process, which includes
developing code, testing, debugging, and maintaining without altering anything in a live
environment. Below in Table 9 shows the tools used in the Development environment
and explains their purpose of use.
Table 9. Software Used and Purpose
SOFTWARE
Microsoft Windows 10
Microsoft Office 365
XAMMP
GitHub
Visual Studio Code
PHP Intelephense (VS Code extension)
Highlight Matching Tag (VS Code
extension)
Bracket Pair Colorizer 2 (VS Code
extension)
Auto Complete Tag (VS Code extension)
PURPOSE
Operating system used on laptop
The use of Microsoft Word the
development of the technical reports
while, Excel was used for the development
of the Gannt Chart
Abbreviated for cross-platform, Apache,
MySQL, PHP, and Perl, was used to
house, manage, build, and test the
application and its database offline on a
local device (Laptop)
Used to manage version control
Used as a simplified code editor that
supports version control and development
tasks
–
Integrated
Development
Environmnt (IDE)
To assist with PHP development
Highlights matching open and close tags
Customised colouring matching brackets
Automatically adds the close code and
renames paired tags
Auto Close Tag (VS Code extension)
Automatically adds the close code
Error Lens (VS Code extension)
Identifies and Highlights errors in the code
PHP, HTML, CSS jQuery
Chosen programming languages to build
the application
MySQL
Used with PhpMyAdmin, for the database
tables creation and management
Google Chrome, Microsoft Edge, Opera, Multiple browsers used to test the artefact
Mozilla Firefox
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
39
The installation of the software tools was simple and did not need any extra configuration.
If any issues arise, webpages and YouTube videos give sufficient assistance.
6.3
Creation of Database
To make application administration easier, a project folder named 'ECOMMPROJECT'
was established on the Local disk XAMPP/htdocs to house all project-related application
files and images with 'ecommerce project' established in PhpMyAdmin to administer the
database. In addition to the database being created manually, the primary and foreign
keys were created in alignment with the design phrase of the project. To verify that the
datatypes were correct and that all entity integrity and referential integrity criteria were
followed, the tables were filled with data. Figure 19 shows the creation of the MySQL
database in phpMyAdmin.
Figure19. Snippet of ecommerce_project SQL Database (PhpMyAdmin)
6.4
Connection between Database and Front End
To establish communication between the database (backend) and the application
(frontend), a connection string was created, allowing the websites to send and receive
data from the MySQL database.
A connection.php file was constructed in Visual Studio Code and stored the following
components to guarantee proper communication.
Server Name: "localhost"
Username: "root"
Password:”"
Database name: "ecommerce_project"
Below in Figure 20, shows the snippet of connection string codes used in the
connection.php file
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
40
Figure20. Connection.php - Database Connection String
In doing this, the "include connection.php" string was then used to create the connection,
eliminating the duplication of scripts on each source-code page. The snippet of code that
includes the connection string used in the login.php file is seen below in Figure 21.
Figure21. Connection string used in Login.php
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
41
6.5
User Interface Implementation
To date, the following Table 10 shows the progress made on the list of requirements:
Table 10. Requirements Analysis Status Completed
ID NUMBER
REQUIREMENT
STATUS COMPLETED
CORE
FR-1
Register / Create an
100%
Account
FR-2
Login / Log out
100%
FR-3
Products category list
100%
FR-4
Product Search
100%
FR-5
Product Description
100%
FR-6
Product Inventory
100%
Management
FR-7
Cart Management
100%
FR-8
Customer Profile
50%
Management
FR-9
Upcoming Releases
100%
ADVANCED
FR-10
Recommender Systems
100%
FR-11
Responsive Design
100%
FR-12
Customer Ratings
100%
FR-13
AI Technology - Chatbot
100%
feature
FR-14
Online payment methods
100%
FR-15
Passwrod encryption
100%
Based on the table above 95%of the application has been completed to date and focused
on the core functionalities.
6.5.1 Core Features Implemented
This section will go through the core features that have been implemented this far in the
artefact and will include snippets of code used in the creation process as well as the
frontend display.
FR-1 Register / Create an Account
A user must first be registered before they may login. The Registration/Create an Account
function allows users to create an account that allows them to access capabilities that an
unregistered user would not be able to access, such as making a purchase. The user
must provide a first name, last name, email address, password, and verify the password
once again on the registration page. The email address used must be distinct from any
other email address in the database. Below in Figures 22-24 highlights the code used in
developing the registration, creating the input fields, and ensuring that the email is unique.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
42
Figure22. Registration.php code
Figure23. Registration.php code (Forms input fields)
Figure24. Registration.php code (if Email is unique check)
For the Frontend view, the page was designed using a bootstrap template and
customized to match the artefact's theme as seen in Figure 25 below.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
43
Figure25. Registration (Frontend)
Once the user clicks the 'Register Now' button and the information is validated, the record
is saved in the database. The user is then notified that the account has been successfully
created. Figure 26 shows the MySQL Database record for a new user created.
Figure26. MySQL Database (New user created)
To ensure security measures are in place to restrict persons from seeing the password
being type a password hash was inserted. The snippet of the string used to disguise the
password being entered, can be seen below in Figure 27.
Figure27. Registration.php code (Password Mask)
A check box was also implemented as a requirement before completing their registration
to certify that the user agrees to the terms and conditions for the artefact. Figure 28 shows
the code used in implementing the acceptance.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
44
Figure28. Registration.php code (Accept terms and conditions)
After successfully registering, the user is sent to the login page. The code for the redirect
is shown below in Figure 29.
Figure29. Registration.php code
(Redirect to login page after successful completion)
FR-2 Login / Log out
The user can log in using the login page after successfully registering. User login gives
users access to functions like add to cart, view cart, and checkout, as well as profile
management. A user can only log in if the information given (email address and password)
matches the information recorded in the 'users' table of the database (Figure 30).
Figure30. User Table (MySQL Database)
Like the registration page, code was inserted to mask the password field on the frontend.
The login.php file was configured to start a session with the database and included the
connection.php to communicate with the database as seen in Figure 31 below.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
45
Figure31. Login.php (Start Session to connect to database)
The login.php utilized the sql SELECT command to check the database for the user’s
email address and then checks to verify that the password used matches. The structure
of the navigation bar changes to indicate that a user has successfully signed in and
includes extra links such as cart, account, sign out, and admin (for the admin user). The
header.php file controls the navigation bar and is included on all pages. Figures 32-35
shows the code used to include the header.php in addition to the script used to check the
database and the difference between headers once a user signs in successfully.
Figure32. Login.php (Include Header.php – navigation bar)
Figure33. Login.php (Check for user in database)
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
46
Figure34. Login Page (Frontend design)
Figure35. Login Page (Frontend design after user logs in)
The design template used for the registration page was utilized and customized for the
login page as can be seen in Figure 36.
Figure36. Login.php (Form snippet for user input of login page)
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
47
An error notice will appear if a user has forgotten to enter their email address or password
or has entered inaccurate information that does not match the database as seen in Figure
37.
Figure37. Login.php (Error Message)
A link to the registration page was also included on the login page in case someone who
isn’t a registered user accidentally lands on the login page.
Figure38. Login.php (user direct to registration page if no account)
Once a user has successfully completed all transactions on the artefact, they can logout
using the Logout button. The Logout.php file was created to end the session of the logged
in user, disconnecting them from the database. Below Figure 39 depicts the code used
for Logout file
Figure39. Logout.php (Disconnect Session)
FR-3 Products Category List
The movies (products) mentioned on the store page offer visitors an idea of what's
available to buy. It has ‘quick-view’ and ‘view movie’ information buttons, as well as a list
of all items with their individual titles, costs, and images as seen in Figure 40 below. Items
can be seen by both registered and non-registered visitors, but only registered users can
purchase them.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
48
Figure40. Store Page (frontend)
To avoid hardcoding each item into the storepage, a design was developed to connect to
the database using include connection.php and then pull data contained in the 'items'
table from the database as can be seen in Figure 41.
Figure 41. Item Table in the MySQL Database
This method of programming assisted in mitigating long codes and cutter in the store.php
file. To achieve this a loop function was created that utilized referenced columns in the
database to input the data. Below Figures 41 and 42 show the sql SELECT command to
pull the data from the items table as well the code use to display on the then items.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
49
Figure41. Store.php
(Connection string and SQL to call items from the database)
Figure 42. Store.php
(Code to display info of each item from the database)
A modal is a pop-up feature that appears when a button is pressed. On the store page, a
modal was created to provide users a ‘quick-view’ short brief description of an item that
included the title, description, price, and add to cart features. Figure 43 shows JavaScript
was used to call the quickview.php file that holds the contents to be displayed when the
modal button is clicked.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
50
Figure43. Store.php
(JavaScript code that calls the quickview.php for the modal)
A bootstrap template was used to and configured to match the theme of the artefact.
FR-4 Product Search
On frontend of all pages displays a search bar that allows users (both registered and unregistered) to search for an item or word within the item.
Figure 44. Search bar (Frontend)
To achieve this the search button was given an action to call the search.php file as can
be seen in the snippet of code below in Figure 45.
Figure45. Search Button
(Code used for Search button)
The search.php contains all the information like that of the store.php with the inclusion of
string that calls on an ‘id’ to query the info inputted in the search bar and pull from the
database. Items are then displayed only in relation to the exact work searched. Figure 46
shows the GET variable used to retrieve a query.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
51
Figurev46. Search.php
(Code used to query the database)
Below in Figure47 displays the result of a search for the word ‘Venom’.
Figure47. Search Results (Frontend)
FR-5 Product Description
It is important that a user be well informed of a product before purchasing. For this project
two versions of product descriptions were created, a modal ‘quick view’ and a view movie
full detail. Both a registered and unregistered has access to view the product description.
The quick view was designed as a pop-up modal to provide the user with a summary of
the movie they are going to purchase before clicking the add to cart button. The modal
displays the image, title, description, and price of the movie to be watched. When the user
clicks the 'quickview' button, the code in the quickview.php file is read. Figure 48 and 49
shows the code used for the modal and the frontend user display.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
52
Figure48. Quickview.php (Modal display code)
Figure49. Quickview (Frontend)
It connects to the database and then obtains the needed information from the items table
using the item id. The data is then stored in variables and displayed to the user in the
pop-up. Only a logged in user can add the item being viewed to cart. If the user is not
logged in, they are re-routed to the login.php screen. Below in Figures 50 and 51 show
snippets show the connection string, the sql SELECT command that pulls the items from
the item table in the database in addition to the GET variable that checks and selects the
item id.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
53
Figure50. Quickview.php and details.php
(Connection string and MYSQL command to the items table)
Figure51. Quickview.php and details.php
(MYSQL command to get item_id)
Like the quick view, the details.php displays the image, title, description, and pricing of
the movie, with additional features such as YouTube movie trailers, movie reviews and
ratings, and suggested similar movies the user may enjoy. When the review button is
selected a modal popup comes up with allowing the user to input a subject comment and
rate the movie out of five stars. Figures 52 and 53 show the code used in addition to the
front-end view.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
54
Figure52. Details.php (coding and variables)
Figure53. Details page (Frontend)
FR-6 Product Inventory Management
Product inventory is important to all administrators. The ability to perform Inventory
Management without relying on visiting the PhpMyAdmin SQL database can be useful to
the administrator. The admin page allows the administrator to upload a new movie to the
database through the artefact’s interface which is then displayed on the store page
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
55
automatically. On the navigation bar the admin tab only appears after the header.php has
checked to see if the user is an administrator. See Figure 54 below.
To upload a file to the ‘items’ table, an admin-add-item.php file was created. The file first
checks to see if the user is an administrator. If not, the user is prompted with a restricted
error message and then redirected to the login.php file to sign in as administrator.
Figure54. Code used to Check to see if user is Admin
Once successfully confirmed to be an administrator the user is then allowed to input data
into the relevant fields. The admin-add-item.php file utilizes the POST variable and
includes the connection.php to ensure connectivity to the database.
A sql command to insert the info is then performed to add the item after the include
upload.php file checks and verifies that no fields are missing. If the user erroneously left
out a field a prompt indicating the missing item is shown as an error message.
Figure55.
Command to inlude upload.php file and SQL statement to INSERT into Items table
Figure56.
Upload.php – snippet that checks size and format of image
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
56
Figure57.
Upload.php – Front end of the admin-add-item.php
FR-7 Cart Management
Only registered users can add an item and access the cart by clicking on the ‘add to cart’
button on the ‘quickview’ or ‘details’ pages. When selected the movie is then added to the
cart and user re-directed to the cart.
This process takes place by the details page calling the code.AddtoCart.php file. It first
verifies that the user is logged in, then checks for the item id in the database through he
connection.php., then executes an SQL command that inserts the item into the Cart.
Figure 58. Cart.php
(Includes for code.isLoggedIn.php and code.viewCart.php)
The Cart.php checks to see if the user is logged in and includes the code.ViewCart.php
file, as seen in Figure 58 above, which provides a subtotal of the items in the cart. The
Cart displays each item added to it and includes the item title, image, description, price,
a remove from cart button, subtotal, coupon discount and checkout button. Below in
Figures 59 and 60 shows snippet of code used in the cart.php and the code.ViewCart.php.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
57
Figure 59. Cart.php
Figure 60. code.viewCart.php (SQL command to calculate Subtotal)
The remove from cart button is linked to the code.removeFromCart.php file that ensures
the item id for product being deleted is present, then includes the connection to the
database and executes an SQL command to delete the item from the cart as seen in
Figure 61.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
58
Figure61. code.removeFromCart.php
(SQL command to delete item from cart)
The checkout button is linked to the checkout.php file which navigates the user to a
payment process.
If the Cart is empty, a message indicating the cart is empty is displayed with a button
prompting the user to continue shopping, displayed in Figure 62 below.
Figure 62. code.removeFromCart.php
(SQL command to delete item from cart)
FR-9 Upcoming Releases
Upcoming events informs users of what coming attractions will soon be released. The
code used to retrieve information from the database is comparable to that used on the
store page, except it retrieves information from the 'upcoming items' table rather than the
'items' table as can be seen in Figure 63 below.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
59
Figure 63. UpcomingItems.php
sql command to SELECT data from the upcomingitems table
The data is then presented in a carousel slider fashion, cognate to the recommender
system as seen in Figure 64. For the carousel slider, a bootstrap template was adapted
to meet the theme of the artefact.
Figure 64. Upcoming Releases on the Homepage.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
60
6.5.2 Advanced Features Implemented
FR-10 Recommender Systems
Users are engaged by recommender systems based on a range of characteristics such
as previous search or purchase history, similar item browsing, or geographical zoning.
This project's recommender system was built on the category of the item being viewed.
When a user selects a movie with a category (for example, Animation), the recommender
displays all movies in that category to the user. In the recommender.php file, the PHP
code employs the GET variable to collect the data retrieved from the SQL Select
command by the categories relevant to the movie being shown from the database. The
code used to obtain the information from the database is shown below in Figure 65.
Figure 65. Recommender.php snippet of code.
When the data is acquired, it is shown on the movie's details page. containing the item's
image, title, and price in the form of a carousel slider. Below Figure 66 and 67 shows the
include recommender.php on the details page as well the frontend view of the
recommender system.
Figure 66. Include recommender.php on details.php file
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
61
Figure 67. Recommender System (Frontend view.)
FR-11 Responsive Design
Responsive designs assist a user to manage the way a web page is viewed by resizing
the contents based on the screen size. In doing this the artefact becomes adaptable to
desktop, mobile or tablet mood with no extra effort from the user. Responsive designs
make usability seamless and smooth while increasing user engagement with the potential
to have returning customers based on the ease of use.
The online movie store incorporated several responsive elements through coding in
Visual Studio Code to achieve the seamless design look. Figures 68-70 shows the
responsive design of the details page and navigation bar.
Figure68. Navigation Bar – Collapse function
Figure69. Responsive code on Store page
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
62
Figure70. Responsive Store page (Mobile and tablet mode)
FR-12 Customer Ratings
One way to know if an item is of any value to customers is to read reviews and check
customer ratings. The reviews and ratings and tell a customer what other customers think
about the product for the purpose of make a better-informed decision before making the
purchase. For this project the customer review and ratings were developed on the
details.php file.
A reviews table was created in the database stores data based on user first name, last
name, rating, subject message, and date. The details page was configured to establish a
connection to the database and then execute a sql command that pulls the data from the
database.
Figure71. Snippet of Code used to SELECT data from the Reviews table
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
63
The design was done with a modal pop up that allows for a customer to insert the relevant
review and select a star rating from 1-5 (5 being the highest) shown in Figure 72 and 73.
Figure72. Star ratings code to select 1-5 stars
Figure73. Review and ratings Modal pop up (frontend)
When the user selects the submit button, the latest review is placed to the top of the
reviews inclusive of the star rating. A template design was used from bootsnipp.com and
modified to match the theme of this project.
Figure74. Review posted (frontend)
FR-13 AI Technology - Chatbot feature
Chat bot integration allows for a user to have 24-hour customer support should they need
it. Due to the complexity of designing a chatbot from ground up, a custom-built adaptation
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
64
built by IntelleTicks was chosen to be used in this application. This JavaScript based
application comes customizable with welcome messages and allows the administrator to
insert predefined questions and responses that a customer may use. If the query by the
user does not return a favorable response the chatbot then prompts the user, they will
refer them to the next available customer service representative.
Because a user may have a query at any point in time during the use of the artefact, the
chatbot was placed on all key pages. Figures 75-76 shows the JavaScript used for the
chatbot in addition to the frontend interface the customer interacts with.
Figure75. Chatbot (Javascript code)
Figure76. Chatbot (Frontend)
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
65
FR-14 Online Payment Methods
For the Online movie store to be a functional ecommerce application, it needs to have an
online payment feature. A transaction cannot be completed unless it has some form of
payment method for the movie.
For this project a Stripe account was created and integration of the Stripe’s payment
method using a test stripe credit card was used for the artefact. The checkout,php file
first ensures that the user in signed in, then calls on the code.stripe1.php file. This file
handles the communication between Stripe server and the database and the total price
in the cart is passed to the Stripe for payment. Figure 77 and 78 shows the codes used
and the Stripe dashboard successful transaction.
Figure77. code.stripe1.php
Figure78. Stipe Payment dashboard
FR-15 Payment Encryption
Payment encryption is a security feature that reduces the likelihood of payment
information being stolen. Without the associated encryption key, which permits
transactions between the merchant and financial institution to be conducted, information
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
66
from customer credit cards becomes difficult to utilize. Card issuers encrypt credit cards
using a variety of methods such as magnetic strips, PIN numbers, electronic chips, and,
in the case of online transactions, a CVV.
For this Project, only registered users can checkout items in a cart. The payment
functionality was passed to Stripe to conducted using a Stripe gateway algorithm with
encryption. Figure 79 below, shows the image of encryption being used for payment on
the Stripe dashboard.
Figure79. Stripe Dashboard Payment Encryption
6.6
Security Consideration
Information Security is critical today with Internet-enabled technologies increasingly
becoming vulnerable to security breaches. If software artefacts are to have a chance of
reducing harmful assaults that might lead to phishing and private data loss, they must
apply some level of protection.
For this project, authentication mechanisms based on email addresses and passwords
were used to allow users to gain access and complete activities such as adding an item
to a shopping cart or making a payment. A password hash encryption functionality was
built using PHP to hide/mask the passwords being used from any potential threat of being
easily viewed or recorded. Authentication codes were previously shown at Figure 80 in
the Login in functionality. Below shows the password encryption snippet in the database.
Figure 80. Password in the MySQL Database
6.8
Error Messages
Error messages appear to help a user recognize when an action fails unexpectedly. This
commonly occurs when:
• The artefact does not understand the user input
• The info to be inserted was omitted.
• Or the action a user intends to run is incompatible with the operation of the artefact.
For this project error messages are displayed to the top of the page or in line with the
missing or erroneous inputted data. Source Code data was used to validate and
confirmed info such as email address and password. Once the data could not be validated
an error message would be displayed asking the user to try again. Alerts that give
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
67
instructive error messages were built using Nielson's Heuristics principle 9. Below in
Figures 81-85 shows alerts used to notify users:
Figure 81. Successful Rgistration
Figure 82. Incorrect password
Figure 83. Cart is empty
Figure 84. Search error.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
68
Figure 85. Payment successful. Thank you
6.9
Version Control
Version control is a technique used in software development to track and manage
changes to source code. Because it manages code updates and versions, it can resolve
merge conflicts and other anomalies, safeguarding the source code from irreparable harm
and allowing for experimentation without worry of inflicting mistakes or introducing code
conflicts.
According to Chacon and Straub (2014), a Version Control System (VCS) can achieve
serval key functions:
• It allows you to restore chosen files to a prior saved state
• Revert the entire project to a previous saved state
• It can compare the changes made over a period
• See who last edited anything that may be creating a problem
• The origination of issue, who created it, and when.
Version control assists in saving time, reduction in clutter from several files carrying the
same name with add-ons to indicate the version change, as well as note a specific area
of modification can be utilized in future work.
The frequency of creating back-up sources codes to GitHub’s online repository was made
simple using Visual Studio Code’s built in GIT version control. Figure 86 shows the logs
from GitHub online repository.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
69
Figure 86. Ecommerce Project GitHub repository
6.10 Features Not Implemented
FR-8 Customer Profile Management
User Profiles allows users to easily manage their username, password, profile picture,
and purchase history. To access the customer profile management, the user must first be
a registered user and logged into the system. Once this is accomplished, the user can
select 'My Account' and be redirected to their profile. After confirming that the user is
logged in, profile.php connects to the database and retrieves the preset avatar
information, allowing the user to select an avatar, update their name, bio, and password.
Even though this system was only 50% implemented, the design layout was completed,
with the functionality aspect still awaiting integration. Below shows the sql command to
SELECT a preset avatar from the database.
Figure 86. profile.php sql SELECT from avatar table
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
70
Appendix G shows full screenshots of the artefact and database along with coding used
in the development and implementation stage.
Chapter 7: Testing
7.1
Introduction
According to Study.com (2022), the developer concentrates on research and discovery
during the testing phase to see if the code and programming satisfy the requirements of
the customer. While it is possible that not all flaws will be detected and resolved during
the testing phase, the results of this phase may be utilized to restrict the number of defects
contained inside the software artefact. In doing this confidence is gained with the
customer in the quality of work in the artefact.
This chapter describes and illustrates the testing method for both functional and nonfunctional criteria. Testing plans were created, and each test result was documented, with
defects documented in a separate log. The findings of the issues will be used to correct
any errors in the code at the end of testing.
7.2
Test Plan
The test approach for this project will be the design of a collection of tests that will be
executed on the artefact. The test plan for functional and non-functional requirements
outlines the sorts of testing that will be performed, how the software will be tested, who
should be the testers throughout each step, and the expected and actual test results.
A combination of unit and integration tests will be used to test the functional requirements.
Using data such as intended, boundary, and negative cases, unit tests will guarantee that
the system's smallest components handle known input and outputs effectively.
Any fault/errors will be documented in the Defects Log when a test fails. All items in the
defect log will be attempted to be rectified at the end of testing.
7.3
Functionality Testing
Functional Requirements are checked using data as needed, in addition to processes
being conducted with each outcome documented in the test plan. The results of those
tests are listed in the table below.
Table 11. FR1 (Register/Create an Account)
TEST
NUMBER
FR1.1
TEST
No info placed in fields
for registration
EXEPECTED
ACTUAL
OUTCOME
OUTCOME
Error message Error message
indicating
indicating which
which fields
RESULT
Successful
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
71
FR1.2
FR1.3
FR1.4
FR1.5
FR1.6
are missing
information
Register customer
The customer
John Soo Hon
successfully
with email address:
registered. In
johnsoohon@mail.com the users
and
database, a
password: Password1 record for
customer has
been inserted.
Register another
Error message
customer John Soo
indicting email
Hon
address
with email address:
already exists.
johnsoohon@mail.com Please try
and
again.
password: Password1
Register customer
Error Message
John Soo Hon
indicating
with email address:
passwords
johnsoohon@mail.com don’t match.
and
Please try
password: Password1 again
confirmed password:
password1
User clicks on link
User re‘Already have an
directed to
account? please sign
login page
in’ redirects user to
login screen
User able to use a
User prompted
weak password
to create a
strong
password
fields are missing
information
The customer
Successful
successfully
registered. In the
users database,
a record for
customer has
been inserted.
Error message
indicting email
address already
exists. Please try
again.
Successful
Error Message
Successful
indicating
passwords don’t
match. Please try
again
User re-directed
to login page
Successful
User was not
promoted to
create a strong
password
failed
Table 12. FR2 (Login/Log Out)
TEST
NUMBER
FR2.1
TEST
No info placed in fields
for Login
EXEPECTED
OUTCOME
Error message
indicating
which fields
are missing
information
ACTUAL
OUTCOME
Error message
indicating which
fields are
missing
information
RESULT
Successful
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
72
FR1.2
FR1.3
FR1.4
FR1.5
Register customer
John Soo Hon
with email address:
johnsoohon@mail.com
and
password: Password1
The customer
successfully
Logged in. Redirected to
home screen.
Navigation bar
change to
reflect user
logged in with
log out tab.
Register customer
Error message
John Soo Hon
indicting
with email address:
wrong into
johnsoohon@mail.com inserted.
and
Please try
password: password1 again.
User clicks on link
User re‘Don’t have an
directed to
account? please
registration
register’ redirects user page
to registration screen
When a user is signed When a user
in, the link to "Sign Up" is logged in,
should not be
the link is
available.
hidden.
The customer
successfully
Logged in. Redirected to home
screen.
Navigation bar
change to reflect
user logged in
with log out tab.
Successful
Error message
indicting wrong
into inserted.
Please try again.
Successful
User re-directed
to registration
page
Successful
When a user is
logged in, the
link is hidden.
Successful
See Appendix D for full list of all Functional Requirements Testing.
7.4
Non-Functionality Testing
A series of tests were performed to test the non-functional requirements in the same way
that the functional requirements were tested. Comparable to the functional requirements
testing, these findings were documented and exhibited. Any failed tests were kept track
of in the defects log. Table 11 presents the results of the NFR1 Application Security
testing.
Table 13. NFR1 (Application Security)
TEST
NUMBER
NFR1.1
TEST
The store, details,
chatbot, contact,
registration, and login
EXEPECTED
OUTCOME
A public user
can only
access the
ACTUAL
RESULT
OUTCOME
A public user can Successful
only access the
webpages
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
73
NFR1.2
webpages are all
accessible to the
public.
The store, details,
chatbot, contact, cart,
checkout, registration,
and login webpages
are all accessible to a
registered user.
The store, details,
chatbot, contact, cart,
checkout, registration,
login, and admin
webpages are all
accessible to an
administrator user.
webpages
described in
the test.
A registered
user can
access the
webpages
described in
the test.
The admin can
access the
webpages
described in
the test.
described in the
test.
A registered user
can access the
webpages
described in the
test.
Successful
The admin can
access the
webpages
described in the
test.
Successful
See Appendix E for full list of all Non-Functional Requirements Testing.
7.5
Defects Log
Any mistakes discovered during the testing process of the functional and nonfunctional
requirements were noted in the Defects Log. This generates a list of issues to investigate
and remedy in an effort enhance the artefact. The severity levels assigned to the log
entries indicate the possible impact on the overall performance of the software product.
Table 12 lists the errors discovered during testing and recorded in the Defects Log.
Ratings of severity are as follows:
• 0 - Not a problem at all.
• 1 - Cosmetic issue: Only requires attention if time permits.
• 2 - Minor problem: Low priority attention.
• 3 - Major problem: High priority attention needed.
Table 14. Defects Log
ENTRY
TEST #
REQUIREMENT
PROBLEM
SEVERITY
1
FR-1
Password
Complexity
This feature
was not fully
configured
2
2
FR-8
Customer
Profile
Management
User profile
management
not enabled
2
COMMENT
Due to the
difficulties of
troubleshooting,
this functionality
was not
implemented.
This
functionality
was not
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
74
completed due
to time
constraints.
7.6
Analysis of Test Results
Two difficulties with the functional requirements were detected during testing. Despite
efforts to fulfill the features, the complexity password was not implemented owing to time
limits and difficulties in troubleshooting, in addition to one functional requirement (user
profile management) that was not implemented. No Major problems were detected.
Chapter 8: Software Evaluation
8.1
Introduction
The Evaluation Stage is an essential phase in the System Development life Cycle since
releasing an application with flaws and usability concerns can have a negative impact
and be detrimental to the artefact. Without properly assessing, this may lead to
disgruntled users, continuous demands for help, and the loss of new and returning
prospective customers. The evaluation phase's main objective is to offer "valuable
feedback" to its target audience inclusive of investors/sponsors, stakeholders, or team
members such as the UoB.
As the testing of functional and non-functional requirements was addressed in the
previous chapter, this chapter concentrates on assessing the application's usability using
a heuristic evaluation.
8.2
Method of Evaluation
Although there are the numerous techniques of assessing a software artefact, the
heuristic evaluation was selected for this project. This approach was chosen since it is a
quick and inexpensive way of finding usability issues with an interface. The heuristic
evaluation is guided by the ten (10) Nielsen's heuristics principles, which have been
demonstrated to provide a solid foundation for effective and successful evaluations.
8.3
The Heuristics
Neilsen's 10 Heuristics were considered at the SDLC Design Stage. The examination of
these ten principles will take the shape of a checklist, with multiple tests to certify
application of each notion. Each item will be assigned a value that shows whether the
heuristic was applied correctly, partially, or not throughout the software artefact. The
ranking guide that was employed is as follows:
•
•
•
0 - the heuristic not implemented
1 - the heuristic partially implemented
2 - the heuristic fully implemented
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
75
Table 15. Neilsen Heuristics
1. VISIBILITY OF SYSTEM STATUS
REVIEW CHECKLIST
#
1.1
1.2
Does every display begin with a title or header that
describes screen contents?
RATING
2 - the heuristic
fully
implemented
2 - the heuristic
Is a single, selected icon clearly visible when surrounded by fully
unselected icons?
implemented
1.3
Is there feedback when function keys are pressed?
1.4
If users must navigate between multiple screens, does the
system use context labels,
menu maps, and place markers as navigational aids?
1.5
Is the menu-naming terminology consistent with the user's
task domain?
1.6
High levels of concentration aren't necessary and
remembering information is
not required: two to fifteen seconds.
1.7
Are response times appropriate to the task?
1.8
If multiple options can be selected in a menu or dialog box,
is there visual feedback
about which options are already selected?
2 - the heuristic
fully
implemented
2 - the heuristic
fully
implemented
2 - the heuristic
fully
implemented
2 - the heuristic
fully
implemented
2 - the heuristic
fully
implemented
2 - the heuristic
fully
implemented
Appendix F contains the complete review of Nielsen's ten principles.
8.4
Heuristic Report
The heuristic report is designed to record each test that resulted in the partial or
not implemented Nielsen principle. Since all the evaluation criteria that were targeted for
the Nielsen’s Heuristics were completely implemented, there was no need for a failure
record.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
76
8.5
Analysis of Results
All review checks were thoroughly applied, according to the findings of studying each
heuristic principle. There were no elements in the Heuristic Report that did not fit the fully
implemented requirement, hence no record was identified.
Chapter 9: Conclusion
9.1
Introduction
The undergraduate project requires the student to utilize the skillsets and knowledge
gained in undertaking an individual project by creating a complex practical, functional
artefact, inclusive of a technical dissertation. It is expected that during the project the
student may experience challenges in achieving their objective.
The Final Report aims to define the Undergraduate project experience in the development
of the artefact. It examines the completed work, as well as project management and
project lessons learned. It emphasizes the significance of project planning as well as the
need to develop/acquire new skill sets throughout the project:
• Program Development
• Self-Management
• Self-Reflection
• Time Management
• Professional Technical Writing
• Communication
The project's background research and requirements analysis have been critical
components. This chapter highlights the achievements, acquired competence,
knowledge, and experience, as well as aspects which could have been done differently.
This chapter also conducts a critical examination of the software artefact.
9.2
Tasks Completed
Following the requirements analysis, fifteen core and advanced functions were selected.
The project is currently fully functional and around 90% complete, with fifteen (15) core
and advanced features developed and one (1) functionality, customer profile
management, that is 50% complete. In addition to all the functionalities listed in the
implementation stage, advanced features such as reviews and ratings, AI technology
chatbot, responsive design with the ability for the page to scale and the menu to be hidden
depending on the device being used, and a Recommender system based on item,
category, and release date are all worth mentioning. The 10 principles of Neilsen
Heuristics were applied throughout the artefact to ensure that the design was userfriendly, and that the user experience was worthwhile.
9.3
Product Built
Although lacking the extent of functionalities and capacities of well-known websites like
Netflix.com, Amazon.com, and Disneyplus.com, the artefact does have certain advanced
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
77
functionality features. It can be assumed that there will be some drawbacks in completing
a functional artefact and ensuring the defined deliverables from the requirements analysis
are met within the stipulated twelve (12) week period. The artefact was designed and
created with fifteen (15) capabilities, including AI Technology Chatbot, recommender
system, responsive design, online payment options, and security considerations, to name
a few. If this had been a larger team project, the functionalities, design, implementation,
and testing capabilities may have been considerably greater in the time provided.
Notwithstanding the anomalies, the artefact stands up nicely for a student with limited
programming expertise, with the database being constructed in a top-down normalization
way, removing any many: many relationships, as one of the key strengths. The
ecommerce application is fully functional with advanced capabilities and has been
developed with aesthetics and color psychology in mind to ensure that it is user-friendly,
and that the user experience will improve user engagement.
If the artefact were to be utilized in a public forum, it would be subject to several
limitations, including the usage of advanced online payment systems such as PayPal and
cryptocurrencies. The program is not recommended for public usage in its current state
since it has not been adequately stress tested to ensure that it can withstand security
assaults or high traffic loads. Furthermore, more advanced 'nice to have' functionalities
like gamification methods may have been developed to allow the artefact to be
benchmarked against industry leaders.
9.4
Experiences Gained
Over the course of this project, I have gained knowledge in several aspects. The
requirement of having to submit multiple documents such as Project Proposal, Contextual
Report, Reflective Report, and the Final Report has helped me in my technical writing
skills. Doing research through relevant sources such as Google Scholar and Research
Gate gives me a better appreciation for the work done by my peers in doing literature
reviews. Furthermore, understanding the reason for and how to cite using Harvard
referencing has allowed me to avoid plagiarism in the future as this was not something I
use to do.
Although having been on project teams before, the Undergraduate project has enhanced
my skillset in managing my personal time more effectively while balancing multiple
commitments with project related deadlines. I have gained a better appreciation for
project management, the use of Project Plan, Gantt Charts, work breakdown structures
(WBS), submission of progress reports and managing risk. Having started at final year of
the BSc program and not knowing what to expect made me feel anxious and worried
wondering if I would achieve the tasks set out before me. I however was up for the
challenge, given my work ethic in going above and beyond in meeting my deadlines. A
conscious decision was made to dedicate my evenings and any down time I had to
achieving such with my biggest fear being the competing/conflicting assignments,
projects and meetings of both work and school.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
78
A Project Plan played a key role and was an instrumental tool used in the planning,
delivery, and execution of this project. By dividing the project into smaller tasks,
deliverables made it more easily be managed. In doing this I was able to determine what
tasks to work on based on a specific timeframe to ensure the success of the project meets
its deadlines. This granular approach makes it easier to focus on smaller activities every
day that, when achieved, contribute to the success of the entire project.
The deliverables for this project came from the university’s project handbook and was
informed in the project proposal and contextual report (semester 1). A work breakdown
structure and Gannt Chart was created and identified each deliverable, their due date,
status, allotted timeframes, task dependencies and milestones. Although having some
level of experience when project planning, I have learnt to consider and manage the
risk/unknown factors that can influence the outcome of the deliverables. While project
plans are not exact, fixed or cast in stone, they do sometimes evolve as the project
progresses. Even though the delivery date for the overall project is fixed, the items which
I completed ahead of the scheduled time allowed for me to focus on other tasks more in
depth.
Understanding the System Development Life Cycle and the role of each phase was new
to me and gave me new insight on how proper structured projects should be approached
while finding the right methodology to be used. As in this instance the Agile Method was
best suited for me given the time constraints of this project.
While the project plan certainly helped me in focusing on my deliverables and my
milestones to be achieved, I quickly realized that I would have to consider more allotted
time towards the artefact having not factored the challenges of steep learning curve with
PHP programming language and my skillset being at a beginner’s level. Given my
technical background, the installation and configuration of the required applications to
design and build the artefact did not pose a challenge in contrast to the actual building of
the artefact.
Prior to joining the BSc program at the final year, I had basic knowledge of web
development with HTML and CSS however, none experience using PHP and SQL.
Learning to do PHP programming with the use of tools such as Visual Studio Code and
Xampp/phpMyAdmin for SQL database contributed to my appreciation for web
development. I quickly realised that I would have to spend more time doing background
research in understanding the language, its coding, and functions. Using websites such
as phptutorial.net, w3schools and YouTube quickly became a go to for information. It
should be noted though that my lecturers and project supervisor possessed extensive
knowledge and patience to assist with the many questions being asked in development.
Additionally, the understanding of building ER diagrams and how to normalize the
relationships of entities by my supervisor was hugely beneficial.
Having my lecturer and my supervisor explain top-down approach in database
development, the concept of normalization and how tables are joined in a database
allowed for me develop an ER Diagram and normalize my database to a third form
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
79
eliminating any anomalies. The understanding of SQL queries did pose a challenge for
me in the beginning but after doing some additional research and spending some time
understanding how it functions, I was able grasp the concept.
The progress report focuses on where I am at (the status of work completed), what I need
to work on (the challenges encountered), and what I should be attending to next (the
future plans). My assumption in the beginning, based on my own self-reflection is that I
am ahead of schedule since I dedicated time as often as I could to my project. However,
in having meetings with my project supervisor and receiving feedback and
recommendations, it allowed for me to plan for other smaller deliverables that I may not
have considered. The critical analysing by my project supervisor, allowed for me to any
shortcomings and his recommendation to review samples of other projects that made
high scores impacted on my vision for the future work I needed to get done. Given that
this project relies heavily on self-management and the ability to work independently it was
refreshing to know that I could fall back on useful feedback from my supervisor to provide
the guidance, reassurance, and motivation that I needed. Through the use Project
Progress Reports, it has allowed for me to have better time management by seeing status
updates and more reliable, realistic deliverables to meet deadlines and to and stay on
track with the project plan.
As with all projects, communication during the lifespan project plays a vital role to the
deliverance of a successful outcome. I am profoundly grateful to have a supervisor that
is motivational, knowledgeable in the field and keeps in constant communication
throughout, giving the best advice where he sees fit. I will use this experience in
communication for future projects I may be a part of or managing.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
80
References
a. Advani, V. (2020). What is Artificial Intelligence? How does AI work and future of
it. [online] Great Learning. Available at:
https://www.mygreatlearning.com/blog/what-is-artificial-intelligence/ [Accessed
18 Dec. 2022].
b. Assistant Secretary for Public Affairs (2009). Personas | Usability.gov. [online]
Usability.gov. Available at: https://www.usability.gov/how-to-andtools/methods/personas.html.
c. Balakrishnan, J. and Dwivedi, Y.K. (2021). Role of Cognitive Absorption in
Building User Trust and Experience. Psychology & Marketing.
doi:10.1002/mar.21462.
d. Baturay, M.H. and Birtane, M. (2013). Responsive Web Design: A New Type of
Design for Web-based Instructional Content. Procedia - Social and Behavioral
Sciences, 106, pp.2275–2279. doi: 10.1016/j.sbspro.2013.12.259.
e. Belinda (2017). Information Architecture: What Is It and Where Did It Come
From? [online] Medium. Available at: https://medium.theuxblog.com/informationarchitecture-what-is-it-and-where-did-it-come-from-5ba3105fe6b4.
f. Britton, C. and Doake, J. (2005). Activity Diagram - an Overview | ScienceDirect
Topics. [online] www.sciencedirect.com. Available at:
https://www.sciencedirect.com/topics/computer-science/activity-diagram.
g. Burke, R., Felfernig, A. and Göker, M.H. (2011). Recommender Systems: An
Overview. AI Magazine, 32(3), p.13. doi:10.1609/aimag. v32i3.2361.
h. Cambridge Dictionary (2021). Commerce. [online] Cambridge Words. Available
at: https://dictionary.cambridge.org/dictionary/english/commerce [Accessed 17
Dec. 2021].
i.
Chacon, S. and Straub, B. (2014). Pro Git. Berkeley, Ca Apress.
j.
Chevalier, S. (2020). Global Retail E-Commerce Market Size 2014-2021. [online]
Statista. Available at: https://www.statista.com/statistics/379046/worldwide-retaile-commerce-sales/ [Accessed 22 Dec. 2021].
k. Clement, J. (2020). Mobile Percentage of Website Traffic 2019 | Statista. [online]
Statista. Available at: https://www.statista.com/statistics/277125/share-ofwebsite-traffic-coming-from-mobile-devices/ [Accessed 23 Dec. 2021].
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
81
l.
Cohen, E. (2018). A Beginner-Friendly Guide to Work Breakdown Structures
(WBS). [online] www.workamajig.com. Available at:
https://www.workamajig.com/blog/guide-to-work-breakdown-structureswbs#section-1 [Accessed 18 Dec. 2021].
m. Copeland, B.J. (2021). Artificial Intelligence | Definition, Examples, and
Applications. In: Encyclopedia Britannica. [online] pp.247–272. Available at:
https://www.britannica.com/technology/artificial-intelligence [Accessed 22 Dec.
2021].
n. Coppola, D. (2021). Topic: E-commerce worldwide. [online] Statista. Available at:
https://www.statista.com/topics/871/online-shopping/#dossier-chapter1
[Accessed 21 Dec. 2021].
o. Corman, M. (2020). Responsive Web Design. [online] Medium. Available at:
https://medium.com/@madelinecorman/responsive-web-design-1748f1e6d781
[Accessed 6 Jan. 2022].
p. Dawson, C.W. (2015). Projects in computing and information systems: a
student’s guide. Harlow: Pearson Education.
q. Dey, V. (2021). Collaborative Filtering Vs Content-Based Filtering for
Recommender Systems. [online] Analytics India Magazine. Available at:
https://analyticsindiamag.com/collaborative-filtering-vs-content-based-filtering-forrecommender-systems/ [Accessed 12 Jan. 2022].
r. Doshi, S. (2019). Brief on Recommender Systems. [online] Medium. Available at:
https://towardsdatascience.com/brief-on-recommender-systems-b86a1068a4dd
[Accessed 12 Jan. 2022].
s. Fatonah, S., Yulandari, A. and Wibowo, F.W. (2018). A Review of E-Payment
System in E-Commerce. Journal of Physics: Conference Series, [online] 1140,
p.012033. doi:10.1088/1742-6596/1140/1/012033.
t. Fielding, J. (2014). Introduction to Responsive Design. Beginning Responsive
Web Design with HTML5 and CSS3, pp.1–33. doi:10.1007/978-1-4302-66952_1.
u. Gualtieri, M. (2009). Making Leaders Successful Every Day Best Practices in
User Experience (UX) Design by Mike Gualtieri for Application Development &
Program Management Professionals. [online] Available at:
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
82
http://web.uchile.cl/DctosIntranet/05UsabilidadExperienciaUsuario/BuenasPractic
as/BestPracticesUserExperience.pdf [Accessed 23 Dec. 2021].
v. Haggerty, M. (2018). E-Commerce Has Changed the Way We Shop. Here Are 3
Reasons Why Your Online Business Isn’t Growing. [online] Inc.com. Available at:
https://www.inc.com/maria-haggerty/ecommerce-has-changed-way-we-shopheres-why-your-online-business-needs-to-adapt-now.html [Accessed 21 Dec.
2021].
w. IBM (2017). Use-case Diagrams. [online] www.ibm.com. Available at:
https://www.ibm.com/docs/en/rational-soft-arch/9.6.1?topic=diagrams-use-case.
x. Kavyashree, N., Jagannath, S., Chahar, D. and Niranjanamurthy, M. (2013).
Analysis of E-Commerce and M-Commerce: Advantages, Limitations and
Security Issues. International Journal of Advanced Research in Computer and
Communication Engineering, [online] 2(6), pp.2360–2370. Available at:
https://www.ijarcce.com/upload/2013/june/7-NiranjanamurthyAnalysis%20of%20E-Commerce%20and%20M-Commerce%20Advantages.pdf
[Accessed 21 Dec. 2021].
y. Larson, R. and Larson, E. (2004). Use Cases - What Every Project Manager
Should Know. [online] www.pmi.org. Available at:
https://www.pmi.org/learning/library/use-cases-project-manager-know-8262.
z. Leslie, S. (2021). UB LibGuides: Conducting a Literature Review: Introduction.
[online] cob-bs.libguides.com. Available at: https://cobbs.libguides.com/literaturereview [Accessed 12 Jan. 2022].
aa. Machine Learning | AI | Data Science. (2021). AI Timeline. [online] Available at:
https://connectjaya.com/ai-timeline/ [Accessed 12 Jan. 2022].
bb. McCombes, S. (2019). How to Write a Literature Review | A Step-by-Step Guide.
[online] Scribbr. Available at: https://www.scribbr.com/dissertation/literaturereview/ [Accessed 19 Dec. 2021].
cc. McCombes, S. (2021). How to Write Methodology. [online] Scribbr. Available at:
https://www.scribbr.co.uk/thesisdissertation/methodology/#:~:text=Methodology%20refers%20to%20the%20over
arching. [Accessed 19 Dec. 2021].
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
83
dd. Mishra, S. (2020). Ecommerce Vs Retail: Why Should You Move Your Business
Online? [online] Make Web Better. Available at:
https://makewebbetter.com/blog/ecommerce-vs-retail/?a=&utm_source=MWBNemat-image&utm_medium=MWB-Pinterest&utm_campaign=Pinterest
[Accessed 12 Jan. 2022].
ee. Morville, P. and Sullenger, P. (2010). Ambient Findability: Libraries, Serials, and
the Internet of Things. The Serials Librarian, 58(1-4), pp.33–38.
doi:10.1080/03615261003622999.
ff. Munns, A. and Bjeirmi, B. (1996). The Role of Project Management in Achieving
Project Success. International Journal of Project Management, 14(2), pp.81–87.
doi:10.1016/0263-7863(95)00057-7.
gg. Narendran, K. (2021). Artificial intelligence v/s Human Intelligence. EJ
Publications International Journal Research in Applied Engineering, Science and
Technology (IJRAEST) Impact, [online] 3(3). Available at:
https://www.ijraest.com/Files/pdf/v3i3/2.IJRAEST-Kizhakkekalapurakal(2126).pdf [Accessed 12 Jan. 2022].
hh. Nazre, A. (2015). ‘a Deep Dive in the Venture Landscape of AI’ — Ajit Nazre &
Rahul Garg. [online] Medium. Available at:
https://medium.com/@aniruddhanazrelive/a-deep-dive-in-the-venture-landscapeof-ai-ajit-nazre-rahul-garg-de0543231eb2 [Accessed 12 Jan. 2022].
ii. Nielsen, L. (2010). (PDF) Personas. [online] ResearchGate. Available at:
https://www.researchgate.net/publication/235624780_Personas.
jj. Oh, S. (2006). A Stakeholder Perspective on Successful Electronic Payment
Systems Diffusion. pp.186b186b. doi:10.1109/HICSS.2006.31.
kk. Oppy, G. and Dowe, D. (2003). The Turing Test (Stanford Encyclopedia of
Philosophy). [online] Stanford.edu. Available at:
https://plato.stanford.edu/entries/turing-test/ [Accessed 23 Dec. 2021].
ll. Parlakkiliç, A. (2021). Evaluating the Effects of Responsive Design on the
Usability of Academic Websites in the Pandemic. Education and Information
Technologies. doi:10.1007/s10639-021-10650-9.
mm.
Project Management Institute (2010). The Value of Project Management.
[online] Available at: https://www.pmi.org//media/pmi/documents/public/pdf/white-papers/value-of-project-management.pdf.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
84
nn. Reference. (2020). Why Is Database Design So Important? [online] Available at:
https://www.reference.com/world-view/database-design-important42dda832528ce266.
oo. Schafer, J.B., Konstan, J. and Riedi, J. (1999). Recommender Systems in ecommerce. Proceedings of the 1st ACM Conference on Electronic Commerce EC ’99. [online] doi:10.1145/336992.337035.
pp. Seal, A. (2019). The Most Interesting AI Statistics of 2019. [online] Vxchnge.com.
Available at: https://www.vxchnge.com/blog/ai-statistics [Accessed 27 Dec.
2021].
qq. Serrador, P. (2018). The Importance of the Planning Phase to Project Success.
[online] Pmi.org. Available at: https://www.pmi.org/learning/library/importanceplanning-phase-project-success-6021.
rr. Spinellis, D. (2005). Version Control Systems. IEEE Software, [online] 22(5),
pp.108–109. doi:10.1109/ms.2005.140.
ss. Study.com. (2022). Testing Phase in SDLC. [online] Available at:
https://study.com/academy/lesson/testing-phase-insdlc.html#:~:text=Testing%20Phase%20of%20SDLC.
tt. Walker, A. (2019). UML Activity Diagram: What is, Components, Symbol,
EXAMPLE. [online] Guru99.com. Available at: https://www.guru99.com/umlactivity-diagram.html.
uu. Wangchuk, K. (2017). IMPORTANCE OF PROJECT MANAGEMENT IN
PROJECT.pdf. Importance of Project Management in Climate Change: Report on
Climate Change in Bhutan. [online] Available at:
https://www.academia.edu/38586657/IMPORTANCE_OF_PROJECT_MANAGE
MENT_IN_PROJECT_pdf.
vv. Watt, A. (2014). Chapter 13 Database Development Process – Database Design
– 2nd Edition. [online] Opentextbc.ca. Available at:
https://opentextbc.ca/dbdesign01/chapter/chapter-13-database-developmentprocess/.
ww.
Western Governors University. (2020). What Is AI Technology and How Is
It Used? [online] Available at: https://www.wgu.edu/blog/what-ai-technology-howused2003.html#close [Accessed 22 Dec. 2021].
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
85
xx. Whinston, A., Stahl, D. and Choi, S. (1997). Economics of Electronic Commerce.
[online] Seattle: Que Publishing. Available at:
https://www.pearson.com/us/higher-education/program/Whinston-Economics-ofElectronic-Commerce/PGM2819044.html?tab=overview [Accessed 18 Dec.
2021].
yy. www.sas.com. (2021). Artificial Intelligence – What It Is and Why It Matters.
[online] Available at: https://www.sas.com/en_in/insights/analytics/what-isartificial-intelligence.html [Accessed 21 Dec. 2021].
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
86
Appendices
Appendix A - Requirements Analysis (Core and Advance Functionalities)
CORE
Table 16. Core Functionalities
REQUIREMENT
Register / Create an Account
ID NUMBER
FR-1
DESCRIPTION Users must initially register to make purchases or save a list of their
"favourites" on the ecommerce program. To do so, the user needs
first and last name, as well as their email address and password.
The application then checks to see if the email address and
password are both legitimate (eight or more characters inclusive of
lowercase, uppercase, numbers, and special characters). Once the
information has been validated as a new/unique user, the record is
saved in the database user table. The user is subsequently given
with a message confirming that they have been successfully
registered.
RATIONALE
Registration is essential to enable users to access specific features
such as making a purchase, storing their favourites from previously
viewed movies, and allowing for suggestions based on purchases.
REQUIREMENT
Products Category List
ID NUMBER
FR-3
DESCRIPTION As with all ecommerce, the main feature provides a listing of all the
products carried by the online movie store. Users can access
information such as movie names, prices, descriptions, poster
images that are being offered.
RATIONALE
Displays items for sale that can assist users in making purchases
based on options.
REQUIREMENT
Product Search Bar
ID NUMBER
FR-4
DESCRIPTION A search bar allows for users to find a specific item or range of
specific items
RATIONALE
Searching for objects in an extensive list of categorized items may
be exceedingly frustrating, time consuming, and tedious. To address
this, a search bar will provide a better user experience by quickly
locating the user's need/want.
REQUIREMENT
Product Description
ID NUMBER
FR-5
DESCRIPTION Product description provides users with more details on a specified
product and includes info not usually seen in a title.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
87
RATIONALE
REQUIREMENT
ID NUMBER
DESCRIPTION
RATIONALE
REQUIREMENT
ID NUMBER
DESCRIPTION
RATIONALE
REQUIREMENT
ID NUMBER
DESCRIPTION
RATIONALE
REQUIREMENT
ID NUMBER
DESCRIPTION
RATIONALE
This feature will allow for users to see a brief overview of the movie
including its genre, length, actors.
Product Inventory Management
FR-6
Administrators should be able to easily add, update, and delete
products from the database using a product inventory management
system.
The database must be kept up to date since false advertising might
cost the movie shop customers if things are not priced correctly or
are no longer available.
Cart Management
FR-7
Cart management is a feature of the shopping cart. It allows for
registered users to be able to add, remove or confirm products they
wish to purchase.
By allowing users to remove movies they no longer wish to see will
give the user a better experience in trusting that they can manage
their purchases. movies that remain in the cart can be purchased
when the user is ready to do so.
Customer Profile Management
FR-8
Registered users can access features such as viewpoints, view
purchase history, edit profile or change payment information.
A user may have information that they need to maintain their account
up to date, such as credit card information that has changed. A user
may also wish to know what movies they have already purchased.
Upcoming Releases
FR-9
Upcoming Releases allows for users to plan on purchases and keep
user engagement
By having upcoming releases, users can anticipate what next movie
they want to see. This will keep users engaged and returning to the
website.
ADVANCED
Table 17. Advanced Functionalities
REQUIREMENT
Recommender Systems
ID NUMBER
FR-10
DESCRIPTION Recommender systems suggests products based on purchase
history, geographical location, similar viewed items, other users
viewed history.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
88
RATIONALE
REQUIREMENT
ID NUMBER
DESCRIPTION
RATIONALE
REQUIREMENT
ID NUMBER
DESCRIPTION
RATIONALE
REQUIREMENT
ID NUMBER
DESCRIPTION
RATIONALE
REQUIREMENT
ID NUMBER
DESCRIPTION
RATIONALE
REQUIREMENT
ID NUMBER
DESCRIPTION
RATIONALE
Recommender Systems will provide users with info on what to watch
next, based on purchase history, geographical location, similar
viewed items, other users viewed history keeping users engaged
and returning to the website.
Responsive Design
FR-11
The Ecommerce program instantly resizes and adjusts to fit any
device screen, including laptops, mobile phones, tablets, and
desktop computers.
By having responsive design, users can comfortably view the
ecommerce on any platform/device.
Customer Ratings
FR-12
Users may utilize customer ratings to determine how "excellent" a
product is depending on its quality.
This function will tell the customer if the movie is worth seeing based
on the reactions of other customers.
AI Technology - Chatbot feature
FR-13
Customers benefit from AI technology in the form of a Chatbot since
it provides FAQs to frequent questions, reducing the time it takes for
a human person to respond. If the customer is not satisfied, they are
referred to an agent if the Chatbot is unable to answer a query.
Improving customer service is essential in any business. AI Chatbot
is a direct connect for a user to find out any queries on movies or
use of website. This also frees up any demand for physical one on
one service.
Online Payment Methods
FR-14
The Online Payment option allows for registered customers to
securely enter their credit card information utilized to pay for their
purchases at checkout from their cart.
Customers need a form of payment to buy movies online
Password Encryption
FR-15
Password Encryption safeguards the user by encrypting their
password and storing it as an unreadable string of characters in the
database.
This feature adds an additional layer of security. It also gives comfort
to a user in securing their information.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
89
Appendix B – Data Dictionary
Table 16. Data Dictionary - Users
Table
users
Field name
Data Type
user_id
first_name
last_name
email
password
int
varchar
varchar
varchar
varchar
reg_date
datetime
user_type
varchar
Field
Length
11
100
100
100
200
10
Constraint
Description
primary key
none
none
none
none
current_timestamp
()
none
primary key
user firstname
user lastname
email
password
current date
added
user level
Table 17. Data Dictionary - Cart
Table Field name
cart
Data Type
cart_id
user_id
item_id
int
int
int
cart_item_added
datetime
Field
Length
11
11
11
Constraint
Description
primary key
foreign key
foreign key
current_timestamp
()
primary key
user id
item id
current date
added
quantity
amount
status of
cart
cart_item_quantity int
11
none
cart_item_status
200
none
varchar
Table 18. Data Dictionary - Purchases
Table
purchase
s
Field name
Data
Type
Field
Lengt
h
Constraint
purchase_id
int
11
primary key
item_id
int
11
foreign key
purchase_item_price
double
5,2
none
11
none
purchase_item_quanti
int
ty
purchase_date
datetim
e
receipt_id
int
current_timesta
mp ()
11
foreign key
Descriptio
n
primary
key
item id
purchase
prices
item
quantity
current
purchase
date
receipt id
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
90
Table 19. Data Dictionary - Reviews
Table
reviews
review_id
user_id
item_id
Data
Type
int
int
int
review_rating
int
review_subject
varchar
100
none
review_message
varchar
300
none
review_date
datetime
Field name
Field
Length
11
11
11
11
Constraint
Description
primary key
foreign key
foreign key
primary key
user id
item id
review
rating
review
subject
review
message
current
review date
none
current_timestamp
()
Table 20. Data Dictionary – Receipts
Table
receipts
receipt_id
user_id
Data
Type
int
int
receipt_date
datetime
receipt_code
varchar
10
primary key
foreign key
current_timestamp
()
none
receipt_subject
double
5,2
none
receipt_total
double
5,2
none
Field name
Field
Length
11
11
Constraint
Description
primary key
user id
current date
receipt code
receipt
subject
receipt total
Table 21. Data Dictionary - avatars
Table
Field name
Data Type
avatars
avatar_id
avatar
int
varchar
Field
Length
11
50
Constraint
Description
Primary Key
None
Primary key
Avatar image
Table 22. Data Dictionary – upcomingitems
Table
Field name
upcomingitem
upcomingitem_id
s
Data
Type
Field
Lengt
h
Constrain Descriptio
t
n
int
11
primary
key
auto
increment
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
91
upcomingitem_title
varcha
r
upcomingitem_descripti
on
text
upcomingitem_price
double
6,2
none
upcomingitem_image
varcha
r
200
none
upcomingitem_quantity
int
11
none
upcomingitem_category
upcomingitem_category
2
upcomingitem_youtube
varcha
r
varcha
r
varcha
r
100
none
none
100
100
300
none
none
none
name of
the item
description
of the item
price of the
item
item image
item
amount
item
category
item
category 2
YouTube
trailer link
Appendix C – Story Board (Sketches)
Figure 87. Homepage Sketch
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
92
Figure 88. Checkout Sketch
Figure 89. Cart Sketch
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
93
Figure 90. Details page Sketch
Figure 91. Store page Sketch
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
94
Appendix D - Core and Advance Functional Requirements (Testing)
Table 23. FR3 (Products Category List)
TEST
NUMBER
FR3.1
FR1.2
FR3.3
TEST
Listing of various
products in a
catalogue format
Movie Image, title,
price, are all viewable
Quick view button and
View movie buttons
are functional
(clickable)
EXEPECTED
OUTCOME
Users can see
all movies
listed
All items
retrieved from
database
viewable
Buttons
selected
display the
relevant
content
associated
with it
ACTUAL
RESULT
OUTCOME
Users can see all Successful
movies listed
All items
retrieved from
database
viewable
Buttons selected
display the
relevant content
associated with it
Successful
Successful
Table 24. FR4 (Product Search)
TEST
NUMBER
FR4.1
FR4.2
TEST
Query placed for item
in store in search bar
on the navigation bar
Query placed for item
in not store in search
bar on the navigation
bar
EXEPECTED
OUTCOME
User
redirected with
filtered items
based on
searched item
User
redirected to
error message
no results
found
ACTUAL
RESULT
OUTCOME
User redirected
Successful
with filtered items
based on
searched item
User redirected
to error message
no results found
Successful
Table 25. FR5 (Product Description)
TEST
NUMBER
FR5.1
TEST
Navigate to details
from ‘View Move’ on
Store Page
EXEPECTED
OUTCOME
Full Movie
description
displayed
ACTUAL
OUTCOME
Full Movie
description
displayed
RESULT
Successful
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
95
FR5.2
Navigate to details
from ‘Quick View’ on
Store Page
Preview of
movie
description
displayed
All items
retrieved from
database
viewable
Preview of movie
description
displayed
Successful
FR5.3
Movie Image, title,
price, description,
trailer, Add to Cart,
reviews,
recommended
products are all
viewable on details
page
All items
retrieved from
database
viewable
Successful
FR5.4
Movie Image, title,
price, description,
trailer, Add to Cart, are
all viewable on quick
view page
All items
retrieved from
database
viewable
All items
retrieved from
database
viewable
Successful
FR5.5
Add to Cart button
clickable
Only Registered
user able to click
button, add item
and navigates to
Cart
Successful
FR5.6
Trailer loads and plays
when selected
Only
Registered
user able to
button, adds
item and
navigates to
Cart
Trailer plays
as intended
Trailer plays as
intended
Successful
FR5.7
Review Button
clickable
Only Registered Successful
user able to input
a review
FR5.8
Recommend products
clickable
Only
Registered
user able to
input a review
When selected
item image
user is
redirected to
details page
When selected
item image user
is redirected to
details page
Successful
Table 26. FR6 (Product Inventory Management)
TEST
NUMBER
FR6.1
FR6.2
TEST
EXEPECTED
OUTCOME
ACTUAL
OUTCOME
RESULT
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
96
FR6.3
Table 27. FR7 (Cart Management)
TEST
NUMBER
FR7.1
TEST
Add items and view
the cart
FR7.2
Items can be removed
from cart
FR7.3
Items can be checked
out of cart
FR7.4
Price of Items in cart
are added together
FR7.5
User can add more
items to cart via
Continue Shopping
button
EXEPECTED
OUTCOME
Only a
registered
user can add
items and view
the cart
Remove items
button
removes the
items from cart
Check Out
button
redirects user
to checkout
page
Subtotal
shows value of
all items in
cart
Continue
shopping
button
redirects user
to store page
ACTUAL
OUTCOME
Only a registered
user can add
items and view
the cart
RESULT
Successful
Remove items
button removes
the items from
cart
Check Out
button redirects
user to checkout
page
Successful
Subtotal shows
value of all items
in cart
Successful
Continue
shopping button
redirects user to
store page
Successful
Successful
Table 28. FR8 (Customer Profile Management)
TEST
NUMBER
FR8.1
FR8.2
FR8.3
TEST
EXEPECTED
OUTCOME
ACTUAL
OUTCOME
RESULT
Table 29. FR9 (Upcoming Releases)
TEST
NUMBER
FR9.1
FR9.2
FR9.3
TEST
EXEPECTED
OUTCOME
ACTUAL
OUTCOME
RESULT
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
97
Table 30. FR10 (Recommender System)
TEST
NUMBER
FR10.1
TEST
viewed Item detail
page feeds
recommender with
items of similar
categories
EXEPECTED
OUTCOME
Items shown
in
recommender
are of
categories like
the item being
viewed
ACTUAL
OUTCOME
Items shown in
recommender
are categories
like the item
being viewed
RESULT
Successful
Table 31. FR11 (Responsive Design)
TEST
NUMBER
FR11.1
TEST
Pages can size to fit
cleanly and be seen
on multiple devices
EXEPECTED
OUTCOME
Artefact
resizes
automatically
to fit the
window being
displayed in
ACTUAL
OUTCOME
Artefact resizes
automatically to
fit the window
being displayed
in
RESULT
Successful
Table 32. FR12 (Customer Ratings)
TEST
NUMBER
FR12.1
FR12.2
TEST
Ratings and reviews
can be seen by users
post a review and give
a rating
EXEPECTED
OUTCOME
Details page
allows for all
users to see
ratings and
reviews
Registered
Users can
post reviews
and give a
rating
ACTUAL
RESULT
OUTCOME
Details page
Successful
allows for all
users to see
ratings and
reviews
Registered Users Successful
can post reviews
and give a rating
Table 33. FR13 (AI Technology - Chatbot feature)
TEST
NUMBER
TEST
EXEPECTED
OUTCOME
ACTUAL
OUTCOME
RESULT
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
98
FR13.1
Chatbot accessed on
all pages
FR13.2
Chatbot functional on
a conversation level
Chatbot can
be interacted it
with on all
pages
Chatbot
responds
based on key
words used
Chatbot can be
interacted it with
on all pages
Successful
Chatbot
responds based
on key words
used
Successful
Table 34. FR14 (Online payment methods)
TEST
NUMBER
FR14.1
TEST
User can enter credit
card info to pay for
item
EXEPECTED
OUTCOME
Transaction
successful,
removes item
from cart and
redirected to
thank you
page.
ACTUAL
OUTCOME
Transaction
successful,
removes item
from cart and
redirected to
thank you page.
RESULT
Successful
Table 35. FR15 (Payment encryption)
TEST
NUMBER
FR15.1
TEST
Payment entered
Stripe database is
encrypted
EXEPECTED
OUTCOME
Payment
entered
Database is
encrypted and
not legible
ACTUAL
OUTCOME
Payment entered
Database is
encrypted and
not legible
RESULT
Successful
Appendix E – Non-Functional Requirements (Testing)
Table 36. NFR2 (Database Security)
TEST
NUMBER
NFR2.1
TEST
Access to database
should only be used
through the artefact’s
interface. Both
registered and
unregistered users
must not be to access
EXEPECTED
OUTCOME
Information
from the
database
ONLY be
accessed by
artefact
interface
ACTUAL
OUTCOME
Information from
the database
ONLY be
accessed by
artefact interface
RESULT
Successful
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
99
NFR2.2
the database or to
view/query data.
Administrators access
and edit information in
the database
Administrators
can access
and edit
information in
the database
as required
Administrators
can access and
edit information
in the database
as required
Table 37. NFR3 (Browser Compatibility)
TEST
NUMBER
NFR3.1
NFR3.2
TEST
Artefact displayed
across all common
browsers – Safari,
Opera, Microsoft
Edge, Mozilla Firefox,
and Google Chrome.
Artefact can scale to
size based on device
on each browser
EXEPECTED
OUTCOME
Microsoft
Edge, Safari,
Mozilla
Firefox, Opera
and Google
Chrome are all
capable of
displaying the
artefact.
Artefact can
scale to size
for mobile,
tablet and
desktop based
on device on
each browser
ACTUAL
OUTCOME
Microsoft Edge,
Safari, Mozilla
Firefox, Opera
and Google
Chrome are all
capable of
displaying the
artefact.
Artefact can
scale to size for
mobile, tablet
and desktop
based on device
on each browser
RESULT
Successful
Successful
Table 38. NFR4 (Maintainability)
TEST
NUMBER
NFR4.1
TEST
User modifies
information on the
artefact
EXEPECTED
OUTCOME
User cannot
modify any
information on
the artefact.
Only
administrators
have access
to edit and/or
enhance
content.
ACTUAL
RESULT
OUTCOME
User cannot
Successful
modify any
information on
the artefact. Only
administrators
have access to
edit and/or
enhance content.
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
100
Table 39. NFR5 (Consistency)
TEST
NUMBER
NFR5.1
EXEPECTED
OUTCOME
All pages are designed Layouts,
to be in harmony with
buttons, and
each other. Layouts,
key elements
buttons, and key
have a
elements should have consistency
a consistency
throughout the
throughout the
artefact with
artefact.
Neilsen’s
Heuristics
factored in
TEST
ACTUAL
OUTCOME
Layouts, buttons,
and key
elements have a
consistency
throughout the
artefact with
Neilsen’s
Heuristics
factored in
RESULT
Successful
Table 40. NFR6 (Usability)
TEST
NUMBER
NFR6.1
TEST
The application's
interface should be
user-friendly, with
system visibility,
consistency, and
standards.
EXEPECTED
OUTCOME
Neilsen’s
Heuristics
factored in to
ensure the
artefact is
user-friendly,
with system
visibility,
consistency,
and standards.
ACTUAL
OUTCOME
Neilsen’s
Heuristics
factored in to
ensure the
artefact is userfriendly, with
system visibility,
consistency, and
standards.
RESULT
Successful
Table 41. NFR7 (Availability)
TEST
NUMBER
NFR7.1
TEST
artefact hosted on a
platform that is stable,
secure, reputable, and
satisfies industry
regulatory
requirements with
redundancy to ensure
minimal downtime
EXEPECTED
OUTCOME
Because
artefact is not
in production
environment
and stored
locally, the
platform
hosting is
ACTUAL
OUTCOME
Artefact is not in
production
environment and
stored locally,
the platform
hosting is stable,
secure,
reputable.
RESULT
Successful
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
101
stable, secure,
reputable.
Appendix F – Nielsen's Heuristics Ten (10) principles Review.
Table 42. Neilsen Heuristics
#
2.1
2. Match Between System and the Real World
REVIEW CHECKLIST
RATING
2 - the heuristic
Are icons concrete and familiar?
fully implemented
2.2
Are menu choices ordered in the most logical way,
given the user, the item names,
and the task variables?
2.3
If there is a natural sequence to menu choices, has it
been used?
2.4
Do the selected colors correspond to common
expectations about color codes?
2.5
When prompts imply a necessary action, are the words
in the message consistent with
that action?
2.6
On data entry screens, are tasks described in
terminology familiar to users?
2.7
Are menu titles parallel grammatically?
2 - the heuristic
fully implemented
2.8
Are command names specific rather than general?
2 - the heuristic
fully implemented
2.9
Does the system automatically enter leading or trailing
spaces to align decimal points?
2.10
Does the system automatically enter a dollar sign and
decimal for monetary entries?
2.11
#
Are function keys labeled clearly and distinctively, even
if this means breaking
consistency rules?
3. User Control and Freedom
REVIEW CHECKLIST
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
RATING
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
102
3.1
In systems that use overlapping windows, is it easy for
users to switch between
windows?
3.2
Can users reduce data entry time by copying and
modifying existing data?
3.3
Are character edits allowed in data entry fields?
3.4
If users can go back to a previous menu, can they
change their earlier menu choice?
3.5
Can users move forward and backward between fields
or dialog box options?
3.6
Can users cancel out of operations in progress?
2.7
If the system uses a pointing device, do users have the
option of either clicking on menu items or using a
keyboard shortcut?
2.8
Are users prompted to confirm commands that has
drastic, destructive consequences?
#
4.1
4.2
4. Consistency and Standards
REVIEW CHECKLIST
Have industry or company formatting standards been
followed consistently in all
screens within a system?
Has a heavy use of all uppercase letters on a screen
been avoided?
4.3
Are icons labeled?
4.4
Are there salient visual cues to identify the active
window?
4.5
Does each window have a title?
4.6
Are vertical and horizontal scrolling possible in each
window?
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
RATING
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
103
4.7
Does the menu structure match the task structure?
2 - the heuristic
fully implemented
4.8
Are menu titles either centered or left-justified?
2 - the heuristic
fully implemented
4.9
Are menu items left-justified, with the item number or
mnemonic preceding the
name?
4.10
Are field labels and fields distinguished typographically?
4.11
4.12
4.13
4.14
4.15
4.16
#
5.1
5.2
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
Are field labels consistent from one data entry screen to
another?
Are there no more than four to seven colors, and are
they far apart along the visible
spectrum?
Are system objects named consistently across all
2 - the heuristic
prompts in the system?
fully implemented
Are menu choice names consistent, both within each
2 - the heuristic
menu and across the system, in
fully implemented
grammatical style and terminology?
Does the structure of menu choice names match their
2 - the heuristic
corresponding menu titles?
fully implemented
Are commands used the same way, and do they mean
2 - the heuristic
the same thing, in all parts of
fully implemented
the system?
5. Help Users Recognize, Diagnose, and Recover from Errors
REVIEW CHECKLIST
RATING
2 - the heuristic
Is sound used to signal an error?
fully implemented
Are prompts stated constructively, without overt or
implied criticism of the user?
2 - the heuristic
fully implemented
5.3
Do prompts imply that the user is in control?
2 - the heuristic
fully implemented
5.4
Are prompts brief and unambiguous.
2 - the heuristic
fully implemented
5.5
Are error messages worded so that the system, not the
user, takes the blame?
5.6
If humorous error messages are used, are they
appropriate and inoffensive to the
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
104
user population?
2 - the heuristic
fully implemented
5.7
Are error messages grammatically, correct?
5.8
2 - the heuristic
Do error messages avoid the use of exclamation points? fully implemented
5.9
5.10
5.11
5.12
5.13
5.14
#
Do error messages avoid the use of violent or hostile
words?
If an error is detected in a data entry field, does the
system place the cursor in that
field or highlight the error?
Do error messages inform the user of the error's
severity?
Do error messages suggest the cause of the problem?
Do error messages provide appropriate semantic
information?
Do error messages indicate what action the user needs
to take to correct the error?
6. Error Prevention
REVIEW CHECKLIST
6.1
Are menu choices logical, distinctive, and mutually
exclusive?
6.2
Are the function keys that can cause the most serious
consequences in hard-to-reach
positions?
6.3
If the system uses qualifier keys, are they used
consistently throughout the system?
6.4
Does the system prevent users from making errors
whenever possible?
6.5
Does the system warn users if they are about to make a
potentially serious error?
6.6
Does the system intelligently interpret variations in user
commands?
6.7
6.8
Do data entry screens and dialog boxes indicate the
number of character spaces
available in a field?
Do fields in data entry screens and dialog boxes contain
default values when
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
RATING
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
105
appropriate?
#
7.1
7.2
7. Recognition Rather Than Recall
REVIEW CHECKLIST
RATING
For question-and-answer interfaces, are visual cues and 2 - the heuristic
white space used to distinguish questions, prompts,
fully implemented
instructions, and user input?
2 - the heuristic
Does the data display start in the upper-left corner of the
fully implemented
screen?
7.3
Have prompts been formatted using white space,
justification, and visual cues for easy scanning?
7.4
Are field labels close to fields, but separated by at least
one space?
7.5
Are size, boldface, underlining, color, shading, or
typography used to show relative
quantity or importance of different screen items?
7.6
Are borders used to identify meaningful groups?
7.7
Has the same color been used to group related
elements?
7.8
Is color coding consistent throughout the system?
7.9
Is there good color and brightness contrast between
image and background colors?
7.10
#
8.1
8.2
8.3
Are function keys arranged in logical groups?
8. Flexibility and Minimalist Design
REVIEW CHECKLIST
In dialog boxes, do users have the option of either
clicking directly on a dialog box
option or using a keyboard shortcut?
On menus, do users have the option of either clicking
directly on a menu item or
using a keyboard shortcut?
On data entry screens, do users have the option of
either clicking directly on a field or
using a keyboard shortcut?
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
RATING
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
106
8.4
8.5
#
If the system uses a pointing device, do users have the
option of either clicking on
fields or using a keyboard shortcut?
If menu lists are short (seven items or fewer), can users
select an item by moving the
cursor?
9. Aesthetic and Minimalist Design
REVIEW CHECKLIST
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
RATING
2 - the heuristic
fully implemented
9.1
Is only (and all) information essential to decision making
displayed on the screen?
9.2
Are all icons in a set visually and conceptually distinct?
2 - the heuristic
fully implemented
9.3
Does each icon stand out from its background?
2 - the heuristic
fully implemented
9.4
Does each data entry screen have a short, simple,
clear, distinctive title?
9.5
Are field labels brief, familiar, and descriptive?
9.6
Are prompts expressed in the affirmative, and do they
use the active voice?
9.7
Are menu titles brief, yet long enough to communicate?
#
10.1
10. Help and Documentation
REVIEW CHECKLIST
Is the help system interface (navigation, presentation,
and conversation) consistent with the navigation,
presentation, and conversation interfaces of the
application it supports?
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
RATING
2 - the heuristic
fully implemented
10.2
Navigation: Is information easy to find?
2 - the heuristic
fully implemented
10.3
Presentation: Is the visual layout well designed?
2 - the heuristic
fully implemented
10.4
Conversation: Is the information accurate, complete,
and understandable?
10.5
Is it easy to access and return from the help system?
2 - the heuristic
fully implemented
2 - the heuristic
fully implemented
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
107
10.6
Can users resume work where they left off after
accessing help?
2 - the heuristic
fully implemented
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
108
Appendix G – Screenshots of Artefact
Figure 92. Homepage (Frontend)
Figure 93. Login page (Frontend)
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
109
Figure 94. Register page (Frontend)
Figure 95. Store page (Frontend)
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
110
Figure 96. Quick View (Frontend)
Figure 97. Checkout page (Frontend)
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
111
Figure 98. Details page (Frontend)
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
112
Figure 99. Contact page (Frontend)
Figure 100. Cart page (Frontend)
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
113
Figure 101. Admin page (Frontend)
JOHN SOO HON | CTS-2113668 | UNDERGRADUATE THESIS REPORT
114
Download