You are on page 1of 98

Cover 6

Chapter 1: Project Proposal 7


1.1 Introduction 7
1.2 Aims, Objective and Scope 9
1.2.1 Aims 9
1.2.2 Objective 9
1.2.3 Scope 9
1.3 Project Plan 10
1.3.1 Schedule 10
Chapter 2 Feasibility Study 13
2.1 Introduction 13
2.2 Project Initialization 14
2.3 Terms Of References 15
2.4 Investment Budget 16
2.5 Project Task Force Team 17
2.6 Organizational Arrangement 21
2.7 Ethical Issues 21
2.8 Proposal Solution 22
Chapter 3 Analysis & Requirement Specification 24
3.1 Introduction of Existing Operation 24
3.2 Issue List Of Current Operation and System 25
3.2.1 Operational Issues 25
3.2.2 Management Issues 26
3.3 Stakeholder Analysis 27
3.3.1 Stakeholder List 27
3.3.2 Stakeholder Matrix 27
3.4 Proposed Solution - Plan A: Agile Approach 28
3.5 Assumptions, Dependencies, And Risks 28
3.5.1 Assumptions 28
3.5.2 Dependencies 29
3.5.3 Risks 29
3.6 Impact Of The New System 29
3.7 User Requirements 30
3.7.1 Functional Requirements 30
3.7.2 Non-Functional Requirements 32
3.8 Other Requirement 33
3.8.1 Hardware Requirements 33
3.8.2 Server Requirements 33
3.8.3 Security Requirements 33
3.9 Conclusion 34
3.9.1 Function dictionary 34
3.9.2 Sample Data Flow Diagram (Level 1) 37
3.10 Er Diagram of Mr Organic Online Shop 38
3.11 System Architecture Diagram 39
Chapter 4 Logical & Physical Design 40
4.1 Logical Design 40
4.1.1 Entity 40
4.1.2 Data Dictionary 40
4.2 Physical Design 44
Chapter 5 Test Plan 45
5.1 Introduction 45
5.2 Detailed Test Plan Document 45
5.2.1 Test plan schedule 45
5.2.2 Test plan 46
5.3 Test Report 51
5.4 Testing Issues And Solution Status 52
Chapter 6 Implementation Plan 53
6.1 Introduction 53
6.1.1 Success factors 53
6.1.2 Strategy of Implementation 53
6.2 Implementation Schedule 54
6.2.1 Preparation Phase 54
6.2.2 Migration Phase 54
6.2.3 Review Phase 55
6.2.4 Launch Phase 55
Chapter 7 System Review & Evaluation 56
7.1 Introduction 56
7.2 User Interview 56
7.3 System Performance 57
7.4 Enhancement 57
7.5 Conclusion 57
Appendix 58
Appendix 1: User Guide (Online Shop) 58
Section 1: Introduction: 58
Section 2: Site Map: 58
Section 3: Comment Element 59
Section 4: Main Page 61
Section 5: About Mr Organic 64
Section 6: Product List 65
Section 7: Product Detail 66
Section 8: Meal List 67
Section 9: Meal Detail 68
Section 10: News & Event List 69
Section 11: News & Event Detail 70
Section 12: Course List 71
Section 13: Course Detail 72
Section 14: Member Login 73
Section 15: Member Dashboard 74
Section 16: Order History List 75
Section 17: Order History Detail 76
Section 18: Course Application 77
Section 19: Account Detail 78
Appendix 2: Testing Device Spec 79
Appendix 3: Server Spec Comparison 81
Appendix 4: Query Script 82
Frontend - Member Related: 82
Frontend - Product Related: 82
Frontend - News & Events Related: 85
Frontend - Course Related: 86
Frontend - Retail Related: 87
Frontend - Order Related 88
Frontend - Applied Course 89
Backend - Staff Related 90
Backend - Member Related: 91
Backend - Product Related: 92
Backend - News & Events Related: 93
Backend - Course Related: 94
Backend - Retail Related: 95
Backend - Order Related 96
Backend - Applied Course 97
Appendix: Reference 98
Mr Organic Online Shop

Student Name:
NCC Number:
Word Count: 11,283
Chapter 1: Project Proposal

1.1 Introduction
Mr Organic is one of the most famous supermarket chain retailers in Hong Kong, which
sells over a thousand kinds of organic food produced in different countries. Mr Owen
Mak, the founder and CEO of Mr Organic, set up the first retail shop in Hong Kong in
2012. In the beginning, Mr Organic is mainly focusing on reselling the organic products
manufactured overseas such as Japan, the USA or Australia. “Taste Organic, Feel
Fantastic", which is the most famous slogan of Mr Organic. Different from the other
organic resellers, they start offering dine-in services which allow customers to order the
dishes and enjoy the meal within the restaurant area. This breakthrough strategy brings
Mr Organic to win the award of “Great Enterprise in Hong Kong 2016”, and raises the
profit of the company rapidly.

Nowadays, there are a total of 10 branches of Mr Organic in Hong Kong. Although the
branches are growing steady, Owen wants to investigate a new direction for Mr Organic
to increase the income. According to the existing business model, each branch manages
its own sales record and members data, which is simply basically using Excel for data
monitoring and sharing. Although they recorded the membership information, it is
difficult for them to arrange some marketing campaigns since the data are not well
stored and organized, Owen always thinks that this is a great asset for him and is willing
to reorganize and redesign the data management method to make use of these data.

In 2020, due to the effect of the COVID-19, users' behaviour in Hong Kong changed,
they become more willing to cook the meal at home, or buy out and take away from
restaurants. Owen Mak thinks that it is a good chance for Mr Organic to change their
business model: To help customers to enjoy Mr Organic’s dishes at home.

With discussion with his management team, Owen plans to change some of the
branches’ restaurant area into “Learning Centre”, to let customers join some lessons
related to Mr Organic, such as how to cook the famous dishes of Mr Organic, or how to
choose the best food for you. On the other hand, they start planning to sell their product
or order the dishes by their online system, so customers can taste their dishes at home,
no matter if they are cooking themselves, or enjoy it directly.

According to these changes, Owen thinks that they need a new website which allows
customers to check the course schedule and purchase Mr Organic’s products and dishes.
On top of the website, Owen also wants to capture the customers’ behaviour and link
them up with the existing data from the retail shop.
1.2 Aims, Objective and Scope

1.2.1 Aims
The new system should allow Admin Clerk to manage the latest information about Mr
Organic to the website, including the course information, product information and the
latest news for Mr Organic. Customers can also log in to the system to purchase the
products, apply for the course and review their previous order history.

The frontend of the system should be developed by HTML5, CSS, Javascript and
Bootstrap, and the backend should be developed by PHP and Mysql, on Linux platform
provided by AWS.

1.2.2 Objective
The Project “Mr Organic Online Shop” is designed for Mr Organic to provide customers
with the following new service:
- Allow Customer to keep an eye on Mr Organic’s news and events
- Allow Customer to purchase the products provided by Mr Organic
- Allow Customer to apply the courses provided by Mr Organic
- Allow Customer to review their order history on Mr Organic

The system should also provide a new workspace for Mr Organic Staffs including:
- Allow admin staff to manage Company related news and events easily
- Allow admin staff to manage Company products easily
- Allow admin staff to manage Company courses easily
- Allow admin staff to review the application of the courses for further action

1.2.3 Scope
To complete the project, the following deliverables should be included:
- A simple user guide for the backend control panel usage
- A simple how to use the online guideline for customer
- A completed system with all the functions mentioned, with a completed UAT
report.
1.3 Project Plan

1.3.1 Schedule
A brief Project Plan Schedule is listed as follow:
# Stage Name Start Date Est. Complete Date Working
Day

1 Project Initial August 3, 2020 September 1, 2020 30

2 Feasibility Study September 1, 2020 September 24, 2020 24

3 Analysis & September 24, 2020 October 11, 2020 18


Requirement
Specification

4 System Design October 12, 2020 October 30, 2020 19

5 Test Plan Design October 30, 2020 November 8, 2020 10

6 Implementation October 30, 2020 December 28, 2020 60


Design

7 Deploy and December 28, 2020 January 1, 2021 5


Maintenance

8 System Review and January 4, 2021 February 7, 2021 35


Evaluation

Total Working Days: 145


According to the above table, the objective and the deliverables for each stage are listed
as follow:

Stage 1 - Project Initial

Objectives To get the basic information about the project and agreement from each
party

Activities Arrange to a Kick-off meeting with different users and plan for the High-
Level Design of the system

Deliverables A document for High-Level Design of the system

Stage 2 - Feasibility Study

Objectives To identify and find out all relevant factor which affects the project

Activities Arrange meetings with different parties to identify the key factor of the
project and identify the role between each party

Deliverables A document which included the key factor and the suggested proposal

Stage 3 - Analysis & Requirement Specification

Objectives To identify the requirement of the system with different parties

Activities Arrange meetings with different parties to get their opinion about the
problem they are facing and get some ideas about the features

Deliverables A Report with a list of requirements and issue they facing

Stage 4 - System Design

Objectives To design the flow of the new system and the function of the system

Activities Production Team will design the system with the requirements provided
by different parties

Deliverables Some diagram including UI/UX Design, Use case Diagram, ER Diagram

Stage 5 - Test Plan Design

Objectives To plan for the UAT after the development

Activities Arrange some meetings to list our the cases User would like to test in
UAT

Deliverables A completed Test Plan for UAT


Stage 6 - Implementation Design

Objectives To process for development and testing

Activities System Development and UAT

Deliverables A completed System for testing, and a UAT test Result following the test
plan

Stage 7 - Deploy and Maintenance

Objectives To deploy the tested system

Activities Deploy the tested system to the live server

Deliverables A migrated System in live server

Stage 8 - System Review and Evaluation

Objectives To Review the system according to the launch

Activities Review the log and User activity

Deliverables A report for review and suggest the improvement of the system
Chapter 2 Feasibility Study

2.1 Introduction
Mr Organic is one of the most famous supermarket chain retailers in Hong Kong, which
sells over a thousand kinds of organic food produced in different countries. Mr Owen
Mak, the founder and CEO of Mr Organic, set up the first retail shop in Hong Kong in
2012. In the beginning, Mr Organic is mainly focusing on reselling the organic products
manufactured overseas such as Japan, the USA or Australia.

“Taste Organic, Feel Fantastic”, which is the most famous slogan of Mr Organic.
Different from the other organic resellers, they start offering dine-in services which
allow customers to order the dishes and enjoy the meal within the restaurant area. This
breakthrough strategy brings Mr Organic to win the award of “Great Enterprise in Hong
Kong 2016”, and raises the profit of the company rapidly.

Since 2017, Mr Organic has started cooperating with farms all over the world. They
start building their food branding named Organic Choice 101. On the other hand, Mr
Organic also processed for some merger and acquisition with some Organic Food
Producer. In 2019, Organic Choice 101 becomes one of the top 10 favourite brandings
in Organic Food Producer.

Nowadays, there are a total of 10 branches of Mr Organic in Hong Kong. Although the
branches are growing steady, Owen wants to investigate a new direction for Mr Organic
to increase the income. According to the existing business model, each branch manages
its own sales record and members’ data, which is simply using Excel for data
monitoring and sharing. Although they recorded the membership information, it is
difficult for them to arrange some marketing campaigns since the data are not well
stored and organized, Owen always thinks that this is a great asset for him and is willing
to reorganize and redesign the data management method to make use of these data.
2.2 Project Initialization
In 2020, due to the effect of the COVID-19, users' behaviour in Hong Kong changed,
they become more willing to cook the meal at home, or buy out and take away from
restaurants. Owen Mak thinks that it is a good chance for Mr Organic to change their
business model: To help customers to enjoy Mr Organic’s dishes at home.

With discussion with his management team, Owen plans to change some of the
branches’ restaurant area into “Learning Centre”, to let customers join some lessons
related to Mr Organic, such as how to cook the famous dishes of Mr Organic, or how to
choose the best food for you. On the other hand, they start planning to sell their product
or order the dishes by their online system, so customers can taste their dishes at home,
no matter if they are cooking themselves, or enjoy it directly.

According to these changes, Owen thinks that they need a new website which allows
customers to check the course schedule and purchase Mr Organic’s products and dishes.
On top of the website, Owen also wants to capture the customers’ behaviour and link
them up with the existing data from the retail shop.
2.3 Terms Of References
The Feasibility study information is gathered from the following candidates and
department:
● Founder and CEO - Mr Owen Mak
● General Manager - Mr Jasper Yip
● Project Manager - Ms Debbie Wong
● Account Manager - Mr Calvin Lung
● Marketing Manager - Ms Polly Fong
● Operation Manager - Ms Amy Kang
● District Manager - Ms Chris Cheung
● Dining Team Manager - Mr Martin Lam
● Retail Shop Management Teams
● Retail Shop Operation Team
● Dining Team

All the information is gathered by meetings, interviews and site visit from 1 to 24 Sept
2020. The feasibility report summarized the information gathered into two sections:
● Current Issue Findings
● Suggested Solutions

The expected functions and requirements of the Mr Organic Online Shop are listed as
follow:
● [Must Have] Show the Product information clearly on the website
● [Must Have] Show the Retail shop information and location on the website
● [Must Have] Show the Course information on the website
● [Must Have] Allow Customer to purchase a product on the online shop
● [Must Have] Allow Customer to order dishes on the online shop
● [Must Have] Allow Customer to join as a member
● [Must Have] Allow Customer to view their order history
● [Must Have] Show Mr Organic News and Events on the website
● [Should Have] Customer can leave their email for the Newsletter
● [Should Have] Show the Nutrition label and the ingredients of the products and
the meals
● [Should Have] Allow Admin to update Product information in backend panel
● [Should Have] Allow Admin to update Course information in backend panel
● [Should Have] Allow Admin to check the purchase history in backend panel
● [Could Have] Show view count and purchase count
● [Could Have] Share to Social Media
● [Won’t Have] Comment on products or course
● [Won’t Have] Online Payment Gateway [Will link up with 3rd party ordering
system with payment and delivery]
● [Won’t Have] Membership loyalty system [Next Phase]
● [Won’t Have] Online Course for cooking [Next Phase]

The whole feasibility study report will be presented to the founder and all Task Force
Team members on 24 Sept 2020.

2.4 Investment Budget


The total budget of Mr Organic Online Shop is HKD400,000, including:
● UI/UX Design
● Website and Online Shop development
● Link up Online shop with Fast Delivery (3rd party online services provider, with
Online Payment handling and Delivery Support)
● Database Design
● Server Setup on AWS
● Networking and Security Setup
● Scheduled Backup
● Installation
● User Manual and User Training
2.5 Project Task Force Team
To make sure the requirement from all the users can be covered during the feasibility
study stage, we would like to form a Project Task Force Team. The team member in the
Project Task Force Team should know well about the domain they belong to, and so
they can provide suitable feedback and judgement during the discussion during the
meetings. Also, to make sure the project is running on the track, a regular meeting will
be held once a week.

The following is the organization chart for Mr Organic:

According to the chart, Mr Jasper Yip and Debbie Wong are directly reported to Mr
Owen Mak, and the managers of Operation Department, Finance and Account
Department and Sales and Marketing Department are directly reported to Jasper Yip,
and so the person who listed as above should join the Project Task Force Team.
Here is some additional background about how each role important to the project, and
which area can they covered:
Founder and CEO - Mr Owen Mak

Background Founder of Mr Organic, the key person who drives the business direction
of the company. To make the project successful, he had announced that
this project is one of the most important aims of the company.

Role Founder of the Project

Responsibility Make a final decision on the project

General Manager - Mr Jasper Yip

Background He has worked for Mr Organic since 2012, one of the key person who
helps the branches to make decisions and design the daily operation flow.
Know well about the current operation flow of each department.

Role Requirement Provider on the business flow of all department

Responsibility Provide Requirement for the project, make a high-level decision of the
project

Project Manager - Ms Debbie Wong

Background She has worked for Mr Organic since 2014, which mainly focuses on
managing the IT Department and development department. Work closely
with the Sales and Marketing Team on supporting the events and
promotions organized.

Role Project Coordinator

Responsibility Project Manager of the Mr Organic Online Shop works closely with the
management team and development team to manage the project status
Account Manager - Mr Calvin Lung

Background He had worked in the accountant related area for over twenty years and
joined Mr Organic in 2013. She knows much about the operation and
requirement of the accounting department

Role A representative from Account & Finance Department

Responsibility Superuser

Marketing Manager - Ms Polly Fong

Background She had worked in the marketing area for over ten years, joined Mr
Organic in 2016. She is the key person on market planning on the
company’s products, and know well about the Sales and Marketing
Department’s requirement

Role A representative from the Sales & Marketing Department

Responsibility Superuser

Operation Manager - Ms Amy Kang

Background She had joined Mr Organic in 2015. She had worked as a dining team and
operation team during her working career in Mr Organic.

Role A representative from Operation Department

Responsibility Superuser

District Manager - Ms Chris Cheung

Background She had joined Mr Organic in 2015, and mainly focus on managing the
daily operation of the retail shop

Role A representative from Retail Shop Side end user

Responsibility Superuser
Dining Team Manager - Mr Martin Lam

Background He had joined Mr Organic in 2015, which the main responsibility is to


arrange the restaurant team and handling issues on daily operation in
restaurants.

Role A representative from Restaurant Side end user

Responsibility Superuser
2.6 Organizational Arrangement
The Online Shop will be developed under the UAT environment until all the
requirements are solved. After the development is completed, the system will go under
UAT. Once the UAT is completed and received by the Project Task Force Team’s all
total approval, the system will be launched to the production server and go live.

2.7 Ethical Issues


Development
● All the resources used during development, including development tools,
hardware and software should be legally licensed
Critical Privacy Data
● All the critical privacy data including invoice, payment transcript, contract and
personal information should be under statutory law protection approved by the
Account & Finance Department before data processing into the system.
● The critical privacy data should be handled with care and not disclosed to any
other party due to the company and personal privacy ordinances.
2.8 Proposal Solution
According to the project requirement, we have proposed the following 2 planning for
the project management, and here is the table of comparison:

Proposal Plan A - Agile Approach Plan B - Waterfall


Approach

Development DSDM – Agile SSADM - Waterfall


Methodology

User Interface ● Web-based Interface Same as Plan A


● Responsive Website
● Support most popular
browser including a mobile
(Android & Apple IOS)

Functional Company Content Display Same as Plan A


Requirements ● Product information
● News and Events
● Course

Member related function


● Connect to Fast Delivery
for product order and
shipment handling
● Login / Logout
● Course Application
● Order History Review

Non-Functional ● Fast Respond time Same as Plan A


Requirements ● Clear Layout
● Easy to use
● User Friendly
Hardware Requirements ● AWS EC2 Server Same as Plan A

Development Strategy All stakeholder should work All process should go through
closely to keep on monitoring stage by stage, no requirement
and discussing the project is allowed when the stage is
status and problem faced, to started, and no stage back and
make a quick response if any fore are allowed.
requirement needs changes.

Time Schedule Feasibility Study – 3 weeks Feasibility Study – 3 weeks


Analysis – 6 weeks Analysis – 3 weeks
Deployment – 12 weeks Deployment – 8 weeks
Testing - 2 weeks Testing - 2 weeks
Chapter 3 Analysis & Requirement Specification

3.1 Introduction of Existing Operation


According to the discussion about the management team, the daily operation of Mr
Organic mainly relies on an open-source offline POS system since 2012. The POS
allows Admin clerks to manage the product selling in each retail shop, and record down
the daily sales record within a local database.

Every morning, the admin clerk should check the email, and see whether there are any
product adjustment tasks planned, such as new products on the shelf, special discount
sales, or product off the shelf. Since the POS using is an offline system, each retail shop
should manage their data on the POS, it spends around 1 hour every day to manage the
local data, and valid the pricing and stock status.

On the everyday end, the admin clerk should process a check balance action and send
back the sales records to the accounting department by email. The admin clerk should
export the sales records from the POS into an excel format. After the accounting
department receives the excel, they should manually copy the data and paste into one
single file as a finance report.

For the customer side, as there is no online system provided to the customer, the
customer needs to call the hotline for support. This support included reserve the table
from the restaurant, ask for information about the product, check whether the product
they want is selling in a specific retail shop.

As a quick conclusion about the existing operation, there are lots of offline tasks needed
to be handled by Admin Clerks manually, time is consuming and mistakes are easily
made since the main communication method between each other is mainly by hand.
3.2 Issue List Of Current Operation and System

3.2.1 Operational Issues


● Time-consuming on managing products
According to the scenario, the admin clerk of each retail shop should manage
their product master data using the open-source POS, extra time is needed to
compare the update list from email to the data in POS.

● Time-consuming on sending the sales order data to the head office


According to the scenario, the admin clerk should export the data from the POS
and send the sales order to headquarter’s email daily, extra time is needed for
both consolidating the sales orders on both retail shop side and the headquarter
site.

● Hard for customers to submit the order request


For the current situation, customers needed to call the retail shop directly for
every reason, like ask for the question about the product no online system
allowed customers to place order

● Hard for customers to review their profile and order history


In addition to the customer support case, as there is no online system for
customers, they need to call customer support if they need to check their order
history and profile.
3.2.2 Management Issues
● Hard to cross-check the product pricing on each retail shop
As there is no centralized database for managing the product master, the
management team can only review the pricing list via the daily sales report from
the email.

● Time-consuming on data transfer


According to the case, there are lots of admin workload before retail shop starts
working and after retail shops closed, and those tasks are mainly completed
manually by the admin clerk, including sending the pricelist update notification
and receiving and handling the sales from the retail shops.

● High risk of human mistake in data conversion, transfer or leaking


As the notification is sent by hand and delivered via emails, it is possible to
make human mistakes like data misplacement or typo mistakes. On the other
hand, those secret data may leak due to human mistake like sent to an incorrect
email, or email account leaked.
3.3 Stakeholder Analysis

3.3.1 Stakeholder List


● Founder and CEO
● General Manager
● Project Manager from the IT Department
● Account Manager from Account and Finance Department
● Marketing Manager from the Sales and Marketing Department
● Operation Manager from Operation Department
● District Manager from Operation Department - Retail Team
● Dining Team Manager from Operation Department - Dining Team

3.3.2 Stakeholder Matrix


3.4 Proposed Solution - Plan A: Agile Approach
According to the discussion between the management team, we all agreed to choose the
DSDM Agile approach for the Project management and development approach. The
agile approach needs all stakeholders to work together. We will arrange meetings,
workshops for stakeholders, so stakeholders can further discuss, queries or feedback
during these meetings, which make stakeholders more understand the outcome and
more confidence in using the new system.

On the other hand, if there are any critical changes needed, we can provide a quick
response on the changes and arrange the further action about these changes as soon as
possible, which reduces the harm of the changes affecting the project schedule.

3.5 Assumptions, Dependencies, And Risks

3.5.1 Assumptions
● The project will start on 3 Aug 2020, and target deploy date will be 1 Jan 2021
● The stakeholders of this project should join the meetings arranged for each
stage, including Feasibility Study, Foundations, Exploration, and Deployment
stages.
● The developers of this project should strictly follow the guideline of the DSDM
Agile iterative development approach
● Project Manager is responsible for monitoring the progress and the resources
and financial budget required of this project, which is empowered by the Project
Founder.
● To speed up the development time, Third Party Company Fast Delivery will take
part in the delivery management, shopping cart handling and online payment
service of Mr Organic Online Shop at the first stage. Followup review will be
made after launch, including the number of usages, a number of the purchase,
and spending required if we add a shopping cart-related functions and online
payment-related functions.
3.5.2 Dependencies
● Project success has closely relied on Stakeholders planning and judgement.
Stakeholders should be able to join all the meetings arranged, for a status update,
progress review, and planning discussion.
● Stakeholders should voice out if anything they found is unclear or not following
their requirement as early as they can since the cost required for changes will be
increased due to development progress.
● Developers should report to Project Manager as soon as possible if anythings
strangled during development, and so Project Manager can follow up
immediately in the regular meeting.
● The Fast Delivery should be able to support Mr Organic for the integration
between the online shop and their shipment & payment gateway.

3.5.3 Risks
● Stakeholders may change their requirement during the time, although changes
are allowed in DSDM, to make the project, stakeholder should arrange the
changes and requirement into the level, and the sequence of the amendment
should follow the priority to allow the management team to place all the
resource on higher priority first.
● Operation Team needs time to study the new operation flow, especially Dining
Team, they need to prepare teaching resources for customers to join the course.

3.6 Impact Of The New System


With access to the new system, Mr Owen Mak wants to add a new service to Mr
Organic. The Online Shop system allows customers to purchase products and dishes via
the website, and also provides cooking courses for application. These changes will
provide a challenge to the operation team, in which they should study the new system
and complete their original daily operation.

On the other hand, the dining team should handle the workload on taking away orders
and the cooking class, a good planning and system guideline is needed for the operation
team to help them to migrate to the new system.
3.7 User Requirements
According to the meetings, here are the user requirements from the stakeholders:
● Provide a new online platform to strengthen the bonding between customers and
our company
● Provide a platform for customers to know more about our company, including
the events, promotions, products, courses and meals.
● The new system should share part of the workload of the operation team, so the
operation team can focus on the things that need their help.
● The new system should provide a new method for the customer to enjoy our
company’s product, like to learn how to cook the dishes of our company, or
ordering the meals and enjoy at home
● The online platform should motivate the customer to purchase our company’s
product.
● The online shop should be able for the customer to use on either desktop or their
mobile device
● The online platform should attract customers to visit periodically
● The online platform should provide a 7-24 service

Regarding the above requirements, we can group and categorize the requirements into
the following:

3.7.1 Functional Requirements


Online Shop should:
● Contains a News and Event Section to show the company’s latest news and the
promotion events
● Contains a Section to show the location and contact information of the retail
shop
● Contains a Course Section to show the upcoming course availability
● Allow Customer to apply for the course they want to join
● Contains a Product Section to show the product’s information
● Contains a Meal Section for the customer to order
● Allow Customer to leave their email for the newsletter
● Allow Customer to join as a member
● Allow Member to check their order history
● Allow Member to view the course applied
● Contains a Terms and Condition Page for User to review our company policy
● Allow Member to purchase product, meals or join the course

Backend Panel should:


● Allow Admin to grant Permission to staff
● Allow Admin to manage Product Information
● Allow Admin to manage Course Information
● Allow Admin to manage News and Events Information
● Allow Admin to manage Member Information
● Allow Admin to view Course Application
● Allow Admin to view Order Information
3.7.2 Non-Functional Requirements
Interface:
● The Design of the website should be simple and easy to use
● The Design of the website should be using green as the main colour tone, to
match our branding design
● The webpage should support both desktop and mobile
● The font should be clear enough for the elderly to read
● A Menu Bar should be shown on the top of each page
● A footer with a clear sitemap should be shown at the bottom of the website
● The attractive image should be used to attract customer to use and purchase

Performance:
● The System should fast in response, the target that around 90% of the function
should be completed within 2 seconds
● Available for the user to switch to other permitted pages, module and functions,
according to user role setting
● User can reach the pages that they want to visit in 3 clicks (Under Desktop
Environment)
● The systems should support multiple users at the same time

Usability:
● Maintenance Schedule should be planned and announced to Users before at least
1 week
● Downtime for each Maintenance should be estimated and announced to Users
within the announcement
3.8 Other Requirement

3.8.1 Hardware Requirements


The new system should support the following device:
● Windows Platform Laptop or Desktop
● Mac Platform Laptop or Desktop
● Mobile in Android
● Mobile in Apple iOS
● Tablet in Android
● iPad

3.8.2 Server Requirements


● The Server should use Cloud service to reduce the chance of failure
● Database, Online Shop and Control Panel should build on a separate server
● Database and Source code should be backup regularly

3.8.3 Security Requirements


● Control Panel should not be accessed via the public network
● Control Panel should allow permitted staff to use only
● Online Shop should not access to Database directly
3.9 Conclusion

3.9.1 Function dictionary


Online Shop
Function ID Description Function

OS-UI User-friendly interface Design to the requirements of customers

OS-PROD- Online Shop Product List Function to show the list of the products
LIST

OS-PROD- Online Shop Product Detail Function to show the details of the
DETAIL product

OS-COU-LIST Online Shop Course List Function to show the list of the course

OS-COU- Online Shop Course Detail Function to show the detail of the course
DETAIL

OS-NEWS- Online Shop News List Function to show the list of News and
LIST Events

OS-NEWS- Online Shop News Detail Function to show the detail of News and
DETAIL Events

OS-ABOUT Online Shop About Mr Function to show the Information about


Organic Mr Organic

OS- Online Shop Newsletter Function to allow Customer to join and


NEWSLETTE receive Mr Organic's newsletter
R

OS-RET-LIST Online Shop Retail Shop Function to show the list of Retail Shop
List

OS-RET- Online Shop Retail Shop Function to show the detail of the retail
DETAIL Detail shop

OS-MEM-REG Online Shop Member Function to allow Customer to join as a


Registration member
OS-MEM- Online Shop Member Function to allow the member to log in to
LOGIN Login the system

OS-MEM-OH- Online Shop Member Function to allow the member to view his
LIST Order History List or her list of order history

OS-MEM-OH- Online Shop Member Function to allow the member to view his
DETAIL Order History Detail or her previous order's detail

OS-MEM- Online Shop Member Function to allow the member to view his
COU-LIST Course Application List or her application of course

OS-CART Online Shop Shopping Cart Function to allow the member to manage
the shopping cart

Control Panel
Function ID Description Function

CP-UI User-friendly interface Design to the requirements of customers

CP-LOGIN Control Panel Login Function for permitted Staff to login

CP-USER- Control Panel User List Function to list control panel user
LIST

CP-USER- Control Panel User Detail Function to view the detail of the control
DETAIL panel user

CP-NEWS- Control Panel News List Function to list the news and events
LIST

CP-NEWS- Control Panel News Detail Function to view the detail of news and
DETAIL events

CP-PROD- Control Panel Product List Function to list the products


LIST

CP-PROD- Control Panel Product Detail Function to view the detail of the
DETAIL products

CP-COU- Control Panel Course List Function to list the course


LIST

CP-COU- Control Panel Course Detail Function to view the detail of the course
DETAIL

CP-RET-LIST Control Panel Retail Shop Function to list the Retail Shop
List

CP-RET- Control Panel Retail Shop Function to view the detail of Retail Shop
DETAIL Detail

CP- Control Panel Newsletter Function to export the newsletter list


NEWSLETTE Export
R

CP-MEM- Control Panel Member List Function to list the member


LIST

CP-MEM- Control Panel Member Function to view the detail of the


DETAIL Detail member

CP-ORD- Control Panel Order List Function to list the Order


LIST

CP-ORD- Control Panel Order Detail Function to view the detail of the order
DETAIL

CP-COU-APP Control Panel Course Function to list the application of the


Application course
3.9.2 Sample Data Flow Diagram (Level 1)
3.10 Er Diagram of Mr Organic Online Shop
3.11 System Architecture Diagram
Chapter 4 Logical & Physical Design

4.1 Logical Design

4.1.1 Entity
Mr Organic Online shop contains 10 Entities within the database:

# Entity Name Entity Description

1 Member An entity to Store Member for Online Shop

2 Orders An entity to store the sales records

3 OrderItem An entity to store the item related to the sales


record

4 Application An entity to store the application from the


member for reservation of course

5 Course An entity to store the course information

6 Product An entity to store the product information

7 News An entity to store the news information

8 Retail An entity to store the retail information

9 Company An entity to store the company information

10 Staff An entity to store the staff information for


the control panel login

4.1.2 Data Dictionary

Attribute Range/Lengt
Name Data Type h Null Constraints

Member

member_id Integer 30 NOT NULL PK


member_nam
e Varchar 100 NOT NULL

member_emai
l Varchar 50 NOT NULL

member_tel Varchar 50 NOT NULL

member_addr Text 30

password Varchar 200 NOT NULL

Orders

order_id Integer 30 NOT NULL PK

member_id Integer 30 NOT NULL FK

order_date date NOT NULL

payment_ref text

address text

status char 1

OrderItem

order_item_id int 30 NOT NULL PK

order_id int 30 NOT NULL FK

product_name varchar 100

qty int 10

unit_price decimal 10,2

Application

application_id int 30 NOT NULL PK

member_id int 30 NOT NULL FK

apply_date date NOT NULL


status char 1

Course

course_id int 30 NOT NULL PK

course_name varchar 100 NOT NULL

description text

date date

time varchar 40

status char 1

Product

product_id int 30 NOT NULL PK

unit_price decimal 10,2

product_name varchar 100

stock_qty int 30

description text

type enum V, S, F

News

news_id int 30 NOT NULL PK

news_title varchar 100

description text

status char 1

Retail

retail_id int 30 NOT NULL PK

retail_name varchar 100


description text

address text

status char 1

tel varchar 20

open_hour varchar 20

email varchar 40

Company

company_id int 30 NOT NULL PK

company_nam
e varchar 100 NOT NULL

description text

Staff

staff_id int 30 NOt NULL PK

staff_name varchar 100 NOT NULL

email varchar 100

staff_tel varchar 100

password varchar 100

status char 1
4.2 Physical Design
According to the system design, we will separate the network into 2 networks:
1) Public Network
Public networks included the Online store hosting (Service provided by AWS), and the
API gateway. The public network is open for all user to access, and the data of the
website will be called from frontend to database through the API Gateway, which the
network between API Gateway and database is a trusted and secure connection.

2) Private Network
Private networks included the Database, workstations and the hosting of the Control
Panel. Only the workstation is allowed to access the private network, which can protect
the secure data and information. The only bridge between public and private network
will be between the database and the API gateway, which provide us with a more easy
way to monitor and troubleshooting.

Here is a Network design diagram with the idea of the hardware design:
Chapter 5 Test Plan

5.1 Introduction
The purpose of this test plan is to ensure the Mr Organic Online Shop is developed
following our systematic and organized approach, according to our System Logical and
Physical Designs. Users should perform the test based on all listed functions and test
cases following the test plan and record all unexpected results on our Testing Report.

5.2 Detailed Test Plan Document

5.2.1 Test plan schedule


Subject: Mr Organic Online Shop Testing Schedule

Schedule Start Date: 22 Dec 2020 10:00


Date/Time:
End Date: 24 Dec 2020 18:00

The person in Debbie Wong Jasper Yip


Charge: Checked by:

Key Persons Account Manager - Mr Calvin Lung


Involved: Marketing Manager - Ms Polly Fong
Operation Manager - Ms Amy Kang
District Manager - Ms Chris Cheung
Dining Team Manager - Mr Martin La

Test Approach: Will focus on functional testing and non-


functional testing. Candidates will follow the
test plan to test for the system, using their
device for testing. Values used for testing
will not be provided and candidates should
think about the value used for testing the
related case.
Test Environment: Testing (UAT) Server:
- http://uat.mrorganic.shop
- http://uatcp.mrorganic.shop

5.2.2 Test plan

Online Shop Testing Case

Test Case Code Function Code Tasks Team

T-OS-UI-1 OS-UI UI Checking to see whether All


there are any layout issue
on Desktop

T-OS-UI-2 OS-UI UI Checking to see whether All


there are any layout issue
on Mobile Device

T-OS-PROD-LIST- OS-PROD-LIST The Product media is Marketing


1 displayed normally Team

T-OS-PROD-LIST- OS-PROD-LIST The information on Product Operation


2 shows normally Team

T-OS-PROD-LIST- OS-PROD-LIST The ordering of Product Operation


3 shows as expected Team

T-OS-PROD- OS-PROD-DETAIL The Product media is Marketing


DETAIL-1 displayed normally Team

T-OS-PROD- OS-PROD-DETAIL The information on Product Operation


DETAIL-2 shows normally Team

T-OS-COU-LIST-1 OS-COU-LIST The Course media is Marketing


displayed normally Team

T-OS-COU-LIST-2 OS-COU-LIST The information, of course, Operation


shows normally Team

T-OS-COU-LIST-3 OS-COU-LIST The ordering, of Course, Operation


shows as expected Team
T-OS-COU- OS-COU-DETAIL The Course media is Marketing
DETAIL-1 displayed normally Team

T-OS-COU- OS-COU-DETAIL The information, of course, Operation


DETAIL-2 shows normally Team

T-OS-NEWS-LIST- OS-NEWS-LIST The News media is Marketing


1 displayed normally Team

T-OS-NEWS-LIST- OS-NEWS-LIST The information about Operation


2 News shows normally Team

T-OS-NEWS-LIST- OS-NEWS-LIST The News media is Operation


3 displayed normally Team

T-OS-NEWS- OS-NEWS-DETAIL The information about Marketing


DETAIL-1 News shows normally Team

T-OS-NEWS- OS-NEWS-DETAIL The ordering of News Operation


DETAIL-2 shows as expected Team

T-OS-ABOUT-1 OS-ABOUT The Media of Mr Organic is Marketing


shown as normal Team

T-OS-ABOUT-2 OS-ABOUT The Content of Mr Organic Operation


is shown as normal Team

T-OS- OS-NEWSLETTER User can fill in and Operation


NEWSLETTER-1 subscribe to the newsletter Team

T-OS-RET-LIST-1 OS-RET-LIST The Retail Shop media is Marketing


displayed normally Team

T-OS-RET-LIST-2 OS-RET-LIST The information of Retail Operation


Shop shows normally Team

T-OS-RET-LIST-3 OS-RET-LIST The ordering of Retail Shop Operation


shows as expected Team

T-OS-RET- OS-RET-DETAIL The Retail Shop media is Marketing


DETAIL-1 displayed normally Team

T-OS-RET- OS-RET-DETAIL The information of Retail Operation


DETAIL-2 Shop shows normally Team
T-OS-MEM-REG OS-MEM-REG User can register as a All
Member

T-OS-MEM- OS-MEM-LOGIN Registered Member can log All


LOGIN-1 in normally

T-OS-MEM- OS-MEM-LOGIN A non-Member cannot log All


LOGIN-2 in to the system

T-OS-MEM-OH- OS-MEM-OH-LIST Order History of login Account


LIST-1 member show normally Team

T-OS-MEM-OH- OS-MEM-OH- Order History of login Account


DETAIL-1 DETAIL member show normally Team

T-OS-MEM-COU- OS-MEM-COU-LIST Member can apply for Operation


LIST-1 Course Team

T-OS-CART-1 OS-CART Member can add the item to Operation


Shopping Cart Team

Control Panel Testing Case

Test Case Code Function Code Tasks Team

UI Checking to see
whether there are any
T-CP-UI-1 CP-UI layout issue on Desktop All

Permitted Staff can log


T-CP-LOGIN-1 CP-LOGIN in to the panel All

Permitted Staff cannot


T-CP-LOGIN-1 CP-LOGIN log in to the panel All

Staff Information Listed


T-CP-USER-LIST-1 CP-USER-LIST as normal Operation Team

T-CP-USER- Staff Information Show


DETAIL-1 CP-USER-DETAIL as normal Operation Team
T-CP-USER- Admin can manage Staff
DETAIL-2 CP-USER-DETAIL Information as normal Account Team

T-CP-NEWS-LIST- News Information Listed


1 CP-NEWS-LIST as normal Operation Team

T-CP-NEWS- CP-NEWS- News Information Show


DETAIL-1 DETAIL as normal Operation Team

Admin can manage


T-CP-NEWS- CP-NEWS- News Information as
DETAIL-2 DETAIL normal Account Team

Product Information
T-CP-PROD-LIST-1 CP-PROD-LIST Listed as normal Operation Team

T-CP-PROD- Product Information


DETAIL-1 CP-PROD-DETAIL Show as normal Operation Team

Admin can manage


T-CP-PROD- Product Information as
DETAIL-2 CP-PROD-DETAIL normal Account Team

Course Information
T-CP-COU-LIST-1 CP-COU-LIST Listed as normal Operation Team

T-CP-COU- Course Information


DETAIL-1 CP-COU-DETAIL Show as normal Operation Team

Admin can manage


T-CP-COU- Course Information as
DETAIL-2 CP-COU-DETAIL normal Account Team

Retail Shop Information


T-CP-RET-LIST-1 CP-RET-LIST Listed as normal Operation Team

T-CP-RET- Retail Shop Information


DETAIL-1 CP-RET-DETAIL Show as normal Operation Team

Admin can manage


T-CP-RET- Retail Shop Information
DETAIL-2 CP-RET-DETAIL as normal Account Team
Submitted Newsletter
T-CP- subscription should show
NEWSLETTER-1 CP-NEWSLETTER normally Account Team

Member Information
T-CP-MEM-LIST-1 CP-MEM-LIST Listed as normal Operation Team

T-CP-MEM- Member Information


DETAIL-1 CP-MEM-DETAIL Show as normal Operation Team

Admin can manage


T-CP-MEM- Member Information as
DETAIL-2 CP-MEM-DETAIL normal Account Team

Sales Records Listed as


T-CP-ORD-LIST-1 CP-ORD-LIST normal Operation Team

Sales Records
T-CP-ORD- Information Show as
DETAIL-2 CP-ORD-DETAIL normal Operation Team

Submitted Course
application should show
T-CP-COU-APP-1 CP-COU-APP normally Account Team
5.3 Test Report
All the key personnel have joined the UAT and tested for the system following the
testing plan. The testing period starts from 22 Dec 2020 to 24 Dec 2020, and the testing
is completed follow our expectation.

A testing review meeting was held on 27 Dec 2020, all the key person have joined and
shared their experience and testing feedback as below:
● UI is displayed as expected, Marketing team suggested to change some of the
icons into the wording and so the user can use the system more easily
● Loading time is slightly longer than expected, the Development team will
review and seek the reason
● The online purchase process is smooth and can integrate into a Fast Delivery
system under expectation.
● Operation Team reported that Data input in Control Panel is good, and improved
their daily operation.
● Some data misplant problem found in Retail Shop Section during UAT,
Development Team will followup the issue
5.4 Testing Issues And Solution Status
According to the Testing review meeting, the following outstanding issue is found and
the followup status are listed as follow:

Issue Reported Team Feedback Settled Date

The AWS server was set


in Singapore, which
increased the loading
time.

The production server


will move to the new AZ
in Hong Kong, and the
development team
proved that the loading
The long Loading time is greatly improved
Time issue Operation Team after a trial run 04 Jan 2021

Checked is due to a
minor bug in the control
Data Misplanted in panel, and it is fixed
Retail Shop Operation Team afterwards. 05 Jan 2021
Chapter 6 Implementation Plan

6.1 Introduction
The objective of the implementation plan is to define the steps of the implementation
and provide a schedule of implementation.

6.1.1 Success factors


During the feasibility study stage, end-users provided many opinions and suggestions in
different directions, and the settlement of these opinions became the guideline for
measuring the success of the new system.

The success factors of the implementation of the Online Shop are listed below:
● The online shop should be able to help users on daily operation
● The data received from frontend including the Sales order and Course
Application should be stored and centralized, so Admin Staff in back-office can
process for further action
● Customers can easy to submit purchase and application, and provide a new
insight for customers to know more about Mr Organic’s services
● The system can provide stable, reliable and accurate data processing

6.1.2 Strategy of Implementation


The implementation was divided into different phases:
● Preparation Phase
● Migration Phase
● Review Phase
● Launch Phase
This Strategy can:
● Provide enough time for users to learn how to use the Online Shop and Control
Panel
● Provide users with an environment for further explore and improve the new
system
● Reduce the pressure of each user since the phase will not affect their daily
operation.
6.2 Implementation Schedule
According to the plan listed above, here are some details about what should be done
within each phase:

6.2.1 Preparation Phase


During this phase, the Testing Data in UAT will be clear out, and user and development
team prepare for the following:
1. Data Preparation
The marketing team should prepare the content of the online shop and some
marketing material for the retail shop to promote the online shop. Also,
Operation Team should review and see whether these content are entered into
the UAT server.
2. Hardware Preparation
The Development Team should set up the new server and the network between
each party, following our system design. Also, they need to test for the setup
once the servers are configured.
3. User Training
During Data preparation, we will also provide user training to the user. The
training will be separated into Online Shop training and Control Panel Training,
the Online Shop Training is mainly for marketing team and operation team to
learn how customer uses the Online Shop, which the Control Panel is mainly for
Back Office Admin and Operation Team to learn how to use the control panel to
manage the Online Shop.

This Phase is estimated for 10 days to complete.

6.2.2 Migration Phase


After both Data and Server are ready, the Development team should try to migrate the
data from UAT to Production Server. Once the data is migrated to Production Server,
the development team should also check again the connection and see whether the
system works as it does on UAT.
This Phase is estimated for 2 days to complete.
6.2.3 Review Phase
Once development Team completed their process, another user should review the
system on the production server, and final check whether the content is correct.
This Phase is estimated for 2 days to complete.

6.2.4 Launch Phase


After users confirm the content is valid, the development team will help to point the live
domain to our new system.
This Phase is estimated for 1 day to complete.
Chapter 7 System Review & Evaluation

7.1 Introduction
Mr Organic Online Shop has been launched for over one month, the Mr Organic Online
Shop provided a new way for the customer to enjoy Mr Organic’s services and
products. For system improvement and business forecast, we have processed a
Questionnaire for different parties, to collect user feedback and comment about the new
system.

7.2 User Interview


According to the review, we have sent out a questionnaire to all registered members and
internal staff and arranged a meeting for stakeholders on discussing the feedback.

We have sent out the questionnaire to 6475 members and 128 staff, and over 90%
replied. The questionnaire covered the following questions:

1. Do you know Mr Organic Online Shop?


Over 90% of the customers know the online shop, they can see the poster pasted
on the retail shops and advertising displayed on social media.
2. Have you ever tried the Mr Organic Online Shop?
Over 75% of the customers have used Mr Organic Online Shop. For those who
haven’t tried the Online Shop is mainly because they don’t have a habit of
online shopping.
3. Which Section do you like most?
For those who have tried the Online Shop, around 30% of them have joined the
course via Online Shop, 40% of them have ordered meals via Online Shop, and
60% of them have purchased food via Online Shop.
4. How many points will you rate the Online Shop? (full marks with 10)
An average, the points received from the customer is 7.3 points. Most of them
feel comfortable using the Online Shop.
5. Do you have any comments about the online shop?
They suggest that we can add one section for e-learning, so they can learn how
to cook the dishes at home.

7.3 System Performance


According to the Logs and Staffs feedback, the performance is acceptable during this
period. Most of the functions can complete loading within 2 seconds, except connecting
the Fast Delivery Gateway. The development team will try to discuss with Fast Delivery
about the issue.

7.4 Enhancement
For Enhancement, the Online Shop and Control Panel shows a good example and good
experience to both staff and customer, for next, we can try to add the POS related
feature into the control panel, and this change will provide us with a centralized Product
Master and Membership Master Data, which reduced the chance on human error and
Operation Team’s pressure on daily operation.

7.5 Conclusion
After reviewing the entire system and comments from users, the Mr Organic Online
Shop and Control Panel is a success and users are likely to keep on using the new
system. Although the online system contains some issues and limitations, these can be
improved on the next upgrade.
Appendix

Appendix 1: User Guide (Online Shop)

Section 1: Introduction:
The purpose of this user guide is to provide the user with an overview of Mr Organic
Online Shop.
In this document, we will try to break down the online shop into pages and elements to
help users to know how to use our Online Shop.

Section 2: Site Map:

The website contains 3 main sections:


1) Company Information
Contained the information of Mr Organic and the Retail Shop information

2) Web Content
Contained the basic web content including the course information, news information
and product information.
3) Member Section
Contained the Member information such as Order History and Course Application

Section 3: Comment Element


The web page can be separated into several sections:
1) Header
2) Content
3) Footer

Header:

The Header will show on the top of every single page.


It contains the following elements:
1) Mr Organic‘s logo
When a user clicks on the logo, the website will redirect them back to the Main Page.
2) Menu Navigation Bar
The Menu Navigation Bar contains a short for the user to visit the important section,
including About Mr Organic, Ingredients, Course and News & Events.
3) Register / Login
A short cut to move to Member section
4) Shopping Cart
A short cut to view the items picked in shopping cart
Web Content

The content of each page will show in this area.

Footer

Contains some static page linking including T&C, Privacy Policy, and there is a
Newsletter function allowing users to subscribe to the newsletter.
Section 4: Main Page

There is a banner for Mr Organic to show some promotion event or special offer.

Under the banner, there will be a product section to show the products on stock. User
can select the category to select the type of product to view. If the user is interested in
the product, they can click on the photo and visit the product detail page.
Similar to the production, the following will be the meals provide by Mr Organic. Users
can click on the image and visit the Meal detail page.

After the Meal section, there will be a spotlight section which contains a Course held in
Mr Organic, and also the News and Events of Mr Organic. Click the Show More button
to visit the detail page to see the details.
And the last section of the main page will be the retail shop list, which allows users to
click and view the contact information of the retail shop.
Section 5: About Mr Organic

About Mr Organic is used to introduce Mr Organic to customer.


We can find the following information on this page:
1) Company Introduction
2) Service Introduction
3) Company Address
4) Company Contact Information
5) Retail Shop List
6) Retail Shop Detail
Section 6: Product List

Another list of view for Product List. A filer is shown on the left-hand side, and the user
can filter the product by type, by price. and the records can sort by price or rating.

User can click the image to view the product detail page.
Section 7: Product Detail

Users can view the product detail on this page. If they are interested in this product, they
can select the qty and press add to cart to put it into the shopping cart.

When you scroll down, you can view the description of the product and the
specification of the product.

You can also find that there are related meals to these ingredients.
Section 8: Meal List

Another list view for Meal List. A filer is shown on the left-hand side, and the user can
filter the product by type, by price. and the records can sort by price or rating.

User can click the image to view the meal detail page.
Section 9: Meal Detail

Users can view the meal details on this page. If they are interested in this meal, they can
select the qty and press add to cart to put it into the shopping cart.

When you scroll down, you can view the description of the product and the
specification of the product.

You can also find that there are related ingredients to this meal.
Section 10: News & Event List

On the News & Event List page, we will list out all the company-related events. If a
user is interested in the event, they can click on the image and visit the detail page.

On the right-hand side, there is a search function for News & Events. User can type in
the keyword, the news will be filtered by the keywords.
Section 11: News & Event Detail

On the News & Event Detail Page, the user can view the information about the event.
On the other hand, the user can also search for the events by keywords on the right-hand
side.
Section 12: Course List

On the Course List page, we will list out all the course provided by Mr Organic, they
can click on the image and visit the detail page.

On the right-hand side, there is a search function for Course. User can type in the
keyword, the news will be filtered by the keywords.
Section 13: Course Detail

On the Course Detail Page, the user can view the information about the course. On the
other hand, the user can also search for the course by keywords on the right-hand side.
Section 14: Member Login

Existing Member can log in to the system by username and password. If the member
forgot the password, they can click the “Lost your password?” and fill in the email for
reset password, and the user will receive the new password by email shortly.

On the other hand, if the user would like to join as a member, they can enter the email
and password on the registration form on the right-hand side, an account activation
email will be sent to the inputted email shortly.
Section 15: Member Dashboard

Within the Member Dashboard, Member can visit the following member-only functions:
1) Orders

2) Application
3) Addresses
4) Account Details
Section 16: Order History List

On the Order History List section, user can view their order history and order status
within the list. User can click the view button to view the detail of the order.
Section 17: Order History Detail

On the order history detail page, you can find the items of the orders, the number of that
item was purchased, how much it cost, the shipping address, contact person.
Section 18: Course Application

On this page, the member can view the course that they applied to. If the member would
like to view the detail of the course, they can click the URL under the view column.
Section 19: Account Detail

On the Account Detail Page, the member can update their personal information.
Appendix 2: Testing Device Spec
Here is the suggested Device list for completing the UAT:
Desktop:
1) Dell - OptiPlex 3090 Ultra
Price: HK$4,599
CPU: 11th Generation Intel® Core™ i3-1115G4 (2-Core, 6MB Cache, up to 4.1GHz,
15W)
OS: Windows 10 Pro (64bit) English, Simplified Chinese, Traditional Chinese
RAM: 8GB ,1x8GB, DDR4 non ECC memory
Storge: M.2 256GB PCIe NVMe Class 35 Solid State Drive

2) Lenovo - ThinkCentre M920 Tower


CPU: 8th Gen Intel® Core™ i7
OS: Windows 10 Pro
Memory: 64 GB (4x16) DDR4 UDIMM 2666 MHz memory
Storge: 256GB SSD PCIe

3) Apple - Macbook Pro 13”


CPI: M1 8-core CPU with 4 performance cores and 4 efficiency cores
OS: macOS
Memory: 8GB
Storage: 256 GB SSD
Also, we have selected the following mobile for mobile side testing:
1) Apple - iPhone 12Mini
Chip: A14 Bionic chip
OS: iOS
Storage: 64GB

2) Apple - iPhone 12
Chip: A14 Bionic chip
OS: iOS
Storage: 64GB

3) Samsung - Galaxy S21 5G


Chip: Octa-Core .8GHz, 2.4GHz, 1.8GHz
OS: Android
Storage: 128GB
Appendix 3: Server Spec Comparison
Here is the comparison of the Server used on Mr Organic Online Shop:

AWS EC2 (T2 Unlimited mode):


Instance vCPU* Mem (GiB) Pricing

t2.nano 1 0.5 US$0.05/hr

t2.micro 1 1 US$0.05/hr

t2.small 1 2 US$0.05/hr

t2.medium 2 4 US$0.05/hr

t2.large 2 8 US$0.05/hr

t2.xlarge 4 16 US$0.05/hr

t2.2xlarge 8 32 US$0.05/hr

Microsoft Azure:

Instance vCPU* Mem (GiB) Pricing

Av2 1 2 US$0.005/hr

F2s v2 2 4 US$0.011/hr

D2 v3 2 8 US$0.013/hr

E2 v3 2 16 US$0.015/hr
Appendix 4: Query Script

Frontend - Member Related:

1) Login
Input: member_email, password
Output: member_id, member_name
SQL: SELECT member_id, member_name from Member WHERE
member_email = ‘$email’ AND password = MD5(‘$password’);

2) Reset Password
Input: random_password, member_id
SQL: UPDATE Member SET password=MD5(’$rand_password’) WHERE
member_id=’$member_id;

3) Get-Member Information
Input: member_id
Output: member_name, member_email, member_tel, member_address
SQL: SELECT member_name, member_email, member_tel, member_address
FROM Member WHERE member_id = ‘$member_id’;

4) Update Member Information


Input member_id, member_name, member_email, member_tel, member_address
SQL: UPDATE Member SET member_name=’$member_name’,
member_email=’$member_email’, member_tel=’$member_tel’,
member_address = ‘$member_address’ WHERE member_id = ‘$member_id’;

Frontend - Product Related:

1) Product List for Home Page:


Output: product_id, product_name
SQL: SELECT product_id, product_name FROM Product WHERE status=’2’
AND type=’i’ ORDER BY rand() Limit 0,5;
* Status 0 = hidden, 1 = show as normal, 2= show as promotion
** type i = Ingredients, m = meal

2) Meal List for Home Page:


Output: product_id, product_name
SQL: SELECT product_id, product_name FROM Product WHERE status=’2’
AND type=’m’ ORDER BY rand() Limit 0,5;
* Status 0 = hidden, 1 = show as normal, 2= show as promotion
** type i = Ingredients, m = meal

3) Product List for Product List Page:


Output: product_id, product_name, perpage, page
SQL: SELECT product_id, product_name FROM Product WHERE status>=’1’
AND type=’i’ ORDER BY rand() Limit ($page=1),($perpage);
* Status 0 = hidden, 1 = show as normal, 2= show as promotion
** type i = Ingredients, m = meal

4) Product List for Meal List Page:


Output: product_id, product_name, perpage, page
SQL: SELECT product_id, product_name FROM Product WHERE status>=’1’
AND type=’m’ ORDER BY rand() Limit ($page=1),($perpage);
* Status 0 = hidden, 1 = show as normal, 2= show as promotion
** type i = Ingredients, m = meal

5) Product Detail:
Input: product_id
Output: product_name, unit_price, stock_qty, description
SQL: SELECT product_name, unit_price, stock_qty, description FROM Product
WHERE product_id= ’$product_id’;

6) Related Meal:
Input product_id
Output: product_id, product_name
SQL: SELECT Product.product_name, Product.product_id FROM Product
WHERE Product.product_id IN (SELECT Product_Ingredients.meal_id FROM
Product_Ingredients WHERE Product_Ingredients.Ingredients_id =
‘$product_id’);

7) Related Ingredients:
Input: product_id
Output: product_id, product_name
SQL: SELECT Product.product_name, Product.product_id FROM Product
WHERE Product.product_id IN (SELECT Product_Ingredients.ingredients_id
FROM Product_Ingredients WHERE Product_Ingredients.meal_id =
‘$product_id’);
Frontend - News & Events Related:

1) News List for Home Page:


Output: news_id, news_name
SQL: SELECT news_id, news_name FROM News WHERE status=’2’ ORDER
BY rand() Limit 0,5;
* Status 0 = hidden, 1 = show as normal, 2= show as promotion
2) News List for News List Page:
Output: news_id, news_name
SQL: SELECT news_id, news_name FROM News WHERE status=’2’ ORDER
BY rand() Limit 0,5;
* Status 0 = hidden, 1 = show as normal, 2= show as promotion
3) News Detail
Input: news_id
Output: news_name, description
SQL: SELECT news_name, description FROM NEWS WHERE news_id =
‘$news_id’;
Frontend - Course Related:

1) Course List for Home Page:


Output: course_id, course_name
SQL: SELECT course_id, course_name FROM Course WHERE status=’2’
ORDER BY rand() Limit 0,5;
* Status 0 = hidden, 1 = show as normal, 2= show as promotion
2) Course List for Course List Page:
Output: course_id, course_name
SQL: SELECT course_id, course_name FROM Course WHERE status=’2’
ORDER BY rand() Limit 0,5;
* Status 0 = hidden, 1 = show as normal, 2= show as promotion
3) Course Detail
Input: course_id
Output: course_name, description
SQL: SELECT course_name, description FROM Course WHERE course_id =
‘$course_id’;
Frontend - Retail Related:

1) Retail Shop List for Home Page:


Output: retail_id, retail_name
SQL: SELECT retail_id, retail_name FROM Retail WHERE status=’2’ ORDER
BY rand() Limit 0,5;
* Status 0 = hidden, 1 = show as normal, 2= show as promotion
2) Retail Detail
Input: retail_id
Output: retail_name, description, address, tel, open_hour
SQL: SELECT retail_name, description, address, tel. open_hour FROM Retail
WHERE retail_id = ‘$retail_id’;
Frontend - Order Related

1) Order List
Input: member_id
Output: date, status, sum, item_cnt
SQL: SELECT o.date, o.status, SUM(oi.unit_price*oi.qty) as sum, SUM(oi.qty)
as item_cnt FROM Order o LEFT JOIN Order_item oi ON
oi.order_id=o.order_id WHERE o.member_id=’$member_id’ GROUP_BY
o.order_id ORDER BY o.date DESC

2) Order Item for Order Detail


Input: order_id
Output: product_id, product_name, unit_price, qty
SQL: SELECT product_id, product_name, unit_price, qty FROM Order_item
WHERE order_id = ‘$order_id’;
Frontend - Applied Course

1) Application List
Input: member_id
Output: course_id, course_name, apply_date, status
SQL: SELECT a.apply_date, a.status, c.course_id, c.course_name FROM
Application a LEFT JOIN Course c ON c.course_id = a.course_id;
Backend - Staff Related

1) Login
Input: email, password
Output: staff_id
SQL: SELECT staff_id from Staff WHERE email=’$email’ AND
password=MD5(’$password’);

2) Staff List
Input: page, perpage
Output: staff_name, staff_email, staff_tel, status
SQL: SELECT staff_name, staff_email, staff_tel, status FROM Staff LIMIT
($page-1), $perpage;

3) Staff Detail
Input: staff_id
Output: staff_name, staff_email, staff_tel, status
SQL: SELECT staff_name, staff_email, staff_tel, status FROM Staff WHERE
staff_id=’$staff_id’;
Backend - Member Related:

1) Get Member List


Input: page, perpage
Output: member_id, member_name, member_email, member_tel,
member_address
SQL: SELECT member_id, member_name, member_email, member_tel,
member_address FROM Member LIMIT ($page-1), $perpage;

2) Get Member Information


Input: member_id
Output: member_name, member_email, member_tel, member_address
SQL: SELECT member_name, member_email, member_tel, member_address
FROM Member WHERE member_id = ‘$member_id’;
Backend - Product Related:

1) Product List:
Input: page, perpage
Output: product_id, product_name
SQL: SELECT product_id, product_name FROM Product LIMIT ($page-1),
$perpage;

2) Product Detail:
Input: product_id
Output: product_name, unit_price, stock_qty, description
SQL: SELECT product_name, unit_price, stock_qty, description FROM Product
WHERE product_id= ’$product_id’;
Backend - News & Events Related:

1) News List:
Input: page, perpage
Output: news_id, news_name
SQL: SELECT news_id, news_name FROM News LIMIT ($page-1), $perpage;

2) News Detail
Input: news_id
Output: news_name, description
SQL: SELECT news_name, description FROM NEWS WHERE news_id =
‘$news_id’;
Backend - Course Related:

1) Course List:
Input: page, perpage
Output: course_id, course_name
SQL: SELECT course_id, course_name FROM Course LIMIT ($page-1),
$perpage;

2) Course Detail
Input: course_id
Output: course_name, description
SQL: SELECT course_name, description FROM Course WHERE course_id =
‘$course_id’;
Backend - Retail Related:

1) Retail Shop List:


Input: page, perpage
Output: retail_id, retail_name
SQL: SELECT retail_id, retail_name LIMIT ($page-1), $perpage;

2) Retail Detail
Input: retail_id
Output: retail_name, description, address, tel, open_hour
SQL: SELECT retail_name, description, address, tel. open_hour FROM Retail
WHERE retail_id = ‘$retail_id’;
Backend - Order Related

1) Order List
Input: page, perpage
Output: date, status, sum, item_cnt
SQL: SELECT o.date, o.status, SUM(oi.unit_price*oi.qty) as sum, SUM(oi.qty)
as item_cnt FROM Order o LEFT JOIN Order_item oi ON
oi.order_id=o.order_id GROUP_BY o.order_id ORDER BY o.date DESC
LIMIT ($page-1), $perpage

2) Order Item for Order Detail


Input: order_id
Output: product_id, product_name, unit_price, qty
SQL: SELECT product_id, product_name, unit_price, qty FROM Order_item
WHERE order_id = ‘$order_id’;
Backend - Applied Course

1) Application List
Input: page, perpage
Output: course_id, course_name, apply_date, status
SQL: SELECT a.apply_date, a.status, c.course_id, c.course_name FROM
Application a LEFT JOIN Course c ON c.course_id = a.course_id;
Appendix: Reference
1) Php.net. 2021. PHP: Hypertext Preprocessor. [online] Available at
<https://www.php.net> [Accessed 8 February 2021]
2) Mark Otto, a., 2021. Bootstrap. [online] Getbootstrap.com. Available at:
<https://getbootstrap.com/> [Accessed 3 February 2021]
3) Amazon Web Services, Inc. 2021. Amazon Web Services (AWS) - Cloud
Computing Services. [online] Available at: <https://aws.amazon.com/>
[Accessed 7 February 2021].
4) Centos.org. 2021. The CentOS Project. [online] Available at:
<https://www.centos.org/> [Accessed 9 February 2021]
5) Dell. 2021. Dell - The Official Site | Dell Hong Kong. [online] Available at:
<https://www.dell.com/en-hk?~ck=mn> [Accessed 11 February 2021]
6) Azure.microsoft.com. 2021. Cloud Computing Services | Microsoft Azure.
[online] Available at <https://azure.microsoft.com/> [Accessed 12 February
2021].

You might also like