Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 121

ADAMA SCIENCE AND TECHNOLOGY

UNIVERSITY

Department of Computer Science And Engineering


A Semester Project Documentation Paper Submitted To CSE
Department In Partial Fulfillment Of The Requirements For
Bachelor Of Science Degree In Computer Science And Engineering

Title: Augmented Reality Assisted E-commerce For Ethiopia

Group Members ID
Engida Lishan R/0426/08
Ephrem Demelash R/0427/08
Ermiyas Kasahun R/0436/08
Etsehiwot Eshetu R/0447/08
Kebede Urgecha R/0692/08

Adviser Mr. Megersa Daraje

I
Submitted by

Engida Lishan __________________________ January 15, 2020

Student Signature Date

Ephrem Demelash __________________________ January 15, 2020

Student Signature Date

Ermiyas Kasahun __________________________ January 15, 2020

Student Signature Date

Etsehiwot Eshetu __________________________ January 15, 2020

Student Signature Date

Kebede Urgecha __________________________ January 15, 2020

Student Signature Date

Approved by

1. Mr. Megersa Daraje ___________________________ _____________________

Adviser Signature Date

2. ______________________ ______________________ ____________________

Chairman, Dept.’s Signature Date

Senior project Committee

Department

3. _______________________ ______________________ ___________________

Head of the Dep.t Signature Date

I
Acknowledgement
The success and final outcome of this project required a lot of guidance and assistance
from many people and we are extremely privileged to have got this all along the
completion of our project. All that we have done is only due to such supervision and
assistance and we would not forget to thank them.

We respect and thank Mr. Megersa, our adviser, for providing us an opportunity to do
this project and giving us all support and guidance which made us complete the
project duly. We are extremely thankful to him for providing such a nice support and
guidance, although he had busy schedule.

Finally, we would like to thank our CSE department for all support.

Team Members

II
Table of Contents
Acknowledgement..................................................................................................................................... II

List Of Tables......................................................................................................................................... VIII

Definition and Abbreviations.................................................................................................................... IX

Definition.......................................................................................................................................... IX

Abbreviations.................................................................................................................................... IX

Chapter One............................................................................................................................................... 1

1.1Introduction.................................................................................................................................. 1

1.2 Background of the Project............................................................................................................ 1

1.3 Statement of the problem............................................................................................................. 2

1.4 Justification of the project............................................................................................................ 2

1.5 Objective of the project................................................................................................................ 2

1.5.1 General objective.............................................................................................................. 2

1.5.2 Specific objective.............................................................................................................. 3

1.6 Scope and Limitation................................................................................................................... 3

1.6.1 Scope of the study............................................................................................................. 3

1.6.2 Limitation of the Project................................................................................................... 4

1.7 Feasibility Study.......................................................................................................................... 4

1.7.1 Technical Feasibility......................................................................................................... 4

1.7.2 Operational Feasibility...................................................................................................... 4

1.7.3 Economical Feasibility...................................................................................................... 5

1.8 Significance of the Project........................................................................................................... 5

1.9 Beneficiaries of the project.......................................................................................................... 5

1.10 Methodology.............................................................................................................................. 6

1.11 Development tools..................................................................................................................... 7

1.11.1- Hardware and Software tools......................................................................................... 7

1.11.1.1- Software tools............................................................................................................. 7

1.11.1.2- Hardware tools............................................................................................................ 8

1.12 Required Resource with Cost..................................................................................................... 9

1.13 Schedule................................................................................................................................... 10

1.14 Team Composition................................................................................................................... 11

Chapter Two............................................................................................................................................. 13

Description of the Existing System.......................................................................................................... 13

III
2.1 Major Function of the Existing System..................................................................................... 13

2.2 Users of current system.............................................................................................................. 14

2.3 Drawack of current system........................................................................................................ 15

2.4 Business rule.............................................................................................................................. 15

Chapter Three........................................................................................................................................... 17

Proposed System...................................................................................................................................... 17

3.1 Overview.................................................................................................................................... 17

3.2 Functional Requirement............................................................................................................. 17

3.3 Non-Functional Requirement..................................................................................................... 18

3.3.1 User Interface.................................................................................................................. 18

3.3.2 Performance Consideration............................................................................................. 18

3.3.3 Reliability........................................................................................................................ 18

3.3.4 Error Handling................................................................................................................ 18

3.3.5 Security........................................................................................................................... 19

3.4 System Model............................................................................................................................ 19

3.4.1 Scenarios......................................................................................................................... 19

3.4.2 Use Case Model.............................................................................................................. 30

3.5 Object Model............................................................................................................................. 44

3.5.1 Data Dictionary............................................................................................................... 44

3.6 Dynamic Model................................................................................................................. 47

3.5.2 Class Diagram................................................................................................................. 47

3.6.1 Sequence Diagram.......................................................................................................... 49

3.6.2 Activity Diagram.................................................................................. 57

3.6.3 State Chart Diagram........................................................................................................ 70

Chapter 4.................................................................................................................................................. 77

System Design................................................................................................................................. 77

4.1 Overview.................................................................................................................................... 77

4.2 Proposed System Architecture................................................................................................... 79

4.2.2 Subsystem Decomposition...................................................................................................... 81

4.2.3 Hardware and Software Mapping........................................................................................... 83

4.2.4 Persistent Data Management................................................................................................... 84

4.2.5 Component Diagram............................................................................................................... 88

4.2.6 Database Design...................................................................................................................... 93

IV
4.2.7 Access Control........................................................................................................................95

4.2.8 User interface Design.............................................................................................................96

Chapter Five............................................................................................................................................98

Implementation........................................................................................................................................98

5.1 Overview...................................................................................................................................98

5.2 Coding standard.........................................................................................................................98

5.3 Development Tools.................................................................................................................100

5.4 Prototype..................................................................................................................................100

5.5 Implementation Detail.............................................................................................................101

Chapter six.............................................................................................................................................103

System Testing......................................................................................................................................103

6.1 Introduction.............................................................................................................................103

6.2 Scope.......................................................................................................................................103

6.3 Resources.................................................................................................................................103

6.4 Schedule..................................................................................................................................103

6.5 Test case scenario....................................................................................................................103

6.6 Pass/fail criteria.......................................................................................................................104

6.7 Approach.................................................................................................................................104

6.8 Test case specification.............................................................................................................105

6.9 Estimated risk and contingency plan.......................................................................................106

CHAPTER 7..........................................................................................................................................107

7.1 USER MANUAL AND DEMO......................................................................................................107

References.............................................................................................................................................110

V
List of Figures
Figure 1 Use case Diagram............................................................................................................33

Figure 2 Class diagram..................................................................................................................49

Figure 3 sequence diagram for registration...................................................................................49

Figure 4 sequence diagram for login.............................................................................................50

Figure 5 sequence diagram for search...........................................................................................51

Figure 6 sequence diagram for put product for sale......................................................................52

Figure 7 sequence diagram for Augment product.........................................................................52

Figure 8 sequence diagram for feedback...................................................................................... 53

Figure 9 sequence diagram for purchase.......................................................................................54

Figure 10 sequence diagram for update profile.............................................................................55

Figure 11 sequence diagram for remove product..........................................................................56

Figure 12 Activity diagram for Register to the system.................................................................57

Figure 13 Activity diagram for reset password.............................................................................58

Figure 14 Activity diagram for search..........................................................................................59

Figure 15 Activity diagram for put product for sale.....................................................................60

Figure 16 Activity diagram for free tour.......................................................................................61

Figure 17 Activity diagram for augment 3D model......................................................................62

Figure 18 Activity diagram for update profile..............................................................................63

Figure 19 Activity diagram for cancel order.................................................................................64

Figure 20 Activity diagram for report fraud and false advertisement...........................................65

Figure 21 Activity diagram for create account............................................................................. 66

Figure 22 Activity diagram for delete account............................................................................. 67

Figure 23 Activity diagram for suspend user................................................................................68

Figure 24 Activity diagram for remove product...........................................................................69

Figure 25 state diagram for registration........................................................................................70

Figure 26 state diagram for login..................................................................................................70

Figure 27 state diagram for free tour.............................................................................................71

Figure 28 state diagram for view product.....................................................................................72

Figure 29 state diagram for remove product.................................................................................72

Figure 30 state diagram for update profile....................................................................................73

Figure 31 state diagram for search product...................................................................................74

Figure 32 state diagram for put product for sale...........................................................................74

VI
Figure 33 state diagram for augment 3D model............................................................................74

Figure 34 state diagram for suspend user......................................................................................75

Figure 35 state diagram for cancel order.......................................................................................75

Figure 36 state diagram for create operator..................................................................................76

Figure 37 System activity diagram............................................................................................... 80

Figure 38 overall system...............................................................................................................80

Figure 39 system process..............................................................................................................81

Figure 40 sub system Decomposition...........................................................................................82

Figure 41 hardware/software mapping..........................................................................................83

Figure 42 admin mapping............................................................................................................. 84

Figure 43 user mapping.................................................................................................................84

Figure 44 cart mapping................................................................................................................. 85

Figure 45 augment mapping..........................................................................................................85

Figure 46 address mapping........................................................................................................... 85

Figure 47 category mapping..........................................................................................................85

Figure 48 comment mapping........................................................................................................ 86

Figure 49 customer mapping.........................................................................................................86

Figure 50 order mapping...............................................................................................................86

Figure 51 product mapping...........................................................................................................87

Figure 52 profile mapping.............................................................................................................87

Figure 53 rate mapping................................................................................................................. 87

Figure 54 shipping mapping..........................................................................................................87

Figure 55 Component diagram.....................................................................................................88

Figure 56 EER diagram.................................................................................................................93

Figure 57 user interface.................................................................................................................97

VII
List Of Tables
Table 1 Software tools....................................................................................................................8

Table 2 Hardware tools...................................................................................................................9

Table 3 Resources with cost.........................................................................................................10

Table 4 Schedule...........................................................................................................................11

Table 5 Team Composition...........................................................................................................12

Table 6 use case description for Register User.............................................................................33

Table 7 use case description for Login.........................................................................................34

Table 8 use case description for Reset Password..........................................................................35

Table 9 use case description for Search........................................................................................35

Table 10 use case description for Put product for sell..................................................................36

Table 11 use case description for Free Tour.................................................................................37

Table 12 use case description for Augment 3D Model.................................................................37

Table 13 use case description for Review product and give feed back........................................ 38

Table 14 use case description for purchase...................................................................................39

Table 15 use case description for Update Profile.........................................................................40

Table 16 use case description for Cancel order............................................................................41

Table 17 use case description for Report fraud and false advertisement......................................41

Table 18 use case description for Create operator account...........................................................42

Table 19 use case description for Delete operator account...........................................................43

Table 20 use case description for Suspend Users.........................................................................43

Table 21 use case description for Remove Products.....................................................................44

Table 22 Data dictionary...............................................................................................................47

Table 23 subsystem decomposition description............................................................................82

Table 24 Access table...................................................................................................................95

Table 25 Access table for review order and cart...........................................................................96

Table 26 Types of testing............................................................................................................103

Table 27 Features to be tested...................................................................................................104

Table 28 Feature that will not be tested....................................................................................104

Table 29 Test case specification.................................................................................................106

VIII
Definition and Abbreviations
Definition

Computerized System: The system that accomplish by using a machine or computer

either for specific purpose or general purpose.

Node.js: An open-source, cross-platform, JavaScript run-time environment that


executes JavaScript code outside of a browser.

ARCore: Google’s frame work for Augmented reality

Abbreviations

AR: Augmented reality


3D: Three dimension
VR: virtual reality
CSS: Cascading style sheet
HTML: Hyper text markup language
SQL: Structured query language
JS: JavaScript
DB: Database
Fig: Figure
HTTP: Hyper text transfer protocol
QR: Quick response

IX
Chapter One
1.1 Introduction

Augmented Reality(AR) is a field of computer research which deals with combination


of reality with computer generated data. It is an interactive experience of a real-world
environment where the objects in the real world are enhanced by computer-generated
perceptual information. With AR, you take a shallower dive into an imaginary world
and see virtual elements integrated with real entities.

Augmented reality (AR) is one of the biggest technology trends right now, and it’s
only going to get bigger. AR let us see the real-life environment right in front of us
with a digital augmentation overlaid on it. This makes it ideal to use it in e-commerce.

E-commerce (electronic commerce) is the activity of electronically buying or selling


of products on online services or over the Internet. There are three areas of e-
commerce: online retailing, electronic markets, and online auctions. E-commerce is
supported by electronic business.

In developed countries e-commerce presently shapes the manner in which people shop
for products. It is a giant industry that created opportunities for many and eased the
life of much more people.

When it comes to e-commerce, a word that first comes to mind is growth. Recently,
because development of augmented reality is getting advanced it is being used in
many sectors. One of this sectors is e-commerce. This makes the experience of buying
online assuring, easy and fun.

1.2 Background of the Project

E-commerce was initially introduced about 40 years ago in its earliest form. Since
then, electronic commerce has helped countless businesses grow with the help of new
technologies, improvements in internet connectivity, and widespread consumer and
business adoption.

E-commerce has evolved to make products easier to discover and purchase through
online retailers and marketplaces. Independent freelancers, small businesses, and large

1
corporations have all benefited from e-commerce, which enables them to sell their
goods and services at a scale that was not possible with traditional offline retail.

In our country, Ethiopia, e-commerce is in its infancy and is rarely used. But now
things are going to change because the government of Ethiopia is preparing a draft
national law to govern e-Commerce, internet coverage and speed has increased in the
past decade, banking services have been improved and some other efforts are being
made.

1.3 Statement of the problem

While E-commerce have been used by many countries around the world it is still new
and unpopular in Ethiopia. Many factors contribute to this which includes no complete
payment system, less awareness , trust issues by users, some fraud and using fake
product image by sellers.

Many of Ethiopian commerce sites presents the product in single image and in an
inexpressive way or in generic/dull thumbnail images which give bad product review.
And also users can`t experience how the product looks like from different angle.

There is lack of market place where product manufacturers, sellers and organizations
can sell their product directly to the user in an understandable and closer to reality
way like Augmented Reality which are used by major online market places.

In addition many sites simply lists products without an option to buy and do not have
a web and mobile app 3D product rendering capability.

1.4 Justification of the project

The main purpose of this project is changing the way e-commerce presents product
into Augmented Reality view and the overall user experience while shopping online.

1.5 Objective of the project

1.5.1 General objective

2
The general objective of this system is to develop a web and mobile application that
provides e-commerce service using mobile payment system and displaying products in
3D view and/or Augmented Reality technology.

1.5.2 Specific objective

Specific objectives of our project includes :-

 Studying the existing online market place

 Selecting efficient way to render AR

 Selecting appropriate tool to implement the system

 Collect requirement which support data representation that is easy to


implement and deploy

 Provide well structured data handling

 Create AR product display

 Provide a market place platform for sellers, manufacturers and company's

 Provide easy to use and intuitive interface for users

 Mobile payment system

 Implement the system using selected tool

 Testing the system

 Deploying the system

 Maintaining the system

1.6 Scope and Limitation

1.6.1 Scope of the study

The scope of this project is to develop a complete e-commerce system that uses
augmented reality to present and review products. The system includes mobile
application and web application to sell and purchase products online. Payment will be
achieved by using APIs from some banking services like Hellocash and Amole.

3
1.6.2 Limitation of the Project

The project has some limitations that arise from being made in a developing country.
This limitations are:

 For the augmented reality to work, 3D scanning tools are needed which is
difficult to get, so we should find other solutions like to render images into
3D objects on external servers

 Payment options are limited but we are able to implement custom simulation of
payment system

 Augmented reality works only on android version 7 or higher

 Delivery options are limited

1.7 Feasibility Study

We evaluated and determined the practical extent to which the project can be

performed successfully in three sections stated below.

1.7.1 Technical Feasibility

As mentioned above our project includes web-based application and mobile


application. Most of the hardware and software resources needed are available and
also the technology needed is established and growing.

The technology chosen for development, ARCore (Google’s API for AR) for mobile
application and Node JS for web application, has a large number of users so we can be
consulted when problems arise during development. Due to these reasons we ascertain
the project is technically feasible.

1.7.2 Operational Feasibility

When the system is fully implemented it is very easy to deploy, the resistance from
the application users will be some how difficult to come by, but with proper awareness
creation and by making the system easy to interact with the advantage of the system
will outweigh the resistance. And also our team is capable of designing such required
system. So the project is operational feasible.

4
1.7.3 Economical Feasibility

The cost incurred to develop this system is stated in section 1.13 and it is very low.
The cost that will be incurred to deploy the system, to by all the hardware and to train
the users will be much greater but, it will be out weighted by the long-term benefit the
system will bring. Due to this we believe the system is economically feasible.

1.8 Significance of the Project

By the time this project will have been implemented it will have the following
significance:

 Users will have a great option to buy and sell online

 The AR feature will bring trust and assurance to e-commerce

 The culture of using e-commerce in our country will improve

 AR will make sellers to spend more on product improvement

 Buyers will have the opportunity to see how the product would fit in their
real life

 Motivate the development and usage of the trending AR technology

1.9 Beneficiaries of the project

Beneficiaries of this system are:

 Users who want to buy and sell online

 Small business owners because they can directly sell to customers

 Furniture companies because they can AR to see how products fit in houses

 Companies who give delivery services

 The government because e-commerce is a very big source of tax

 Payment system providers

5
1.10 Methodology

1.10.1 Data Source

Our data sources include existing documentation on e-commerce, Google’s


augmented reality ARCore documentation, Negarit Gazeta, and researches that were
done on augmented reality.

1.10.2 Fact Finding Methodology

Observation

We have visited relatively popular e-commerce sites that are active now. And also we
have observed how people use social media marketing in order to sell and buy
products online.

Document Analysis

We have analyzed research papers that are done on how to use augmented reality for
e-commerce. These documents were done very recently so that the data we get is not
out of date.

1.10.3 Software Development Methodology

To develop the system we will use Agile software development methodology which is
centered around the idea of iterative development, where requirements and solutions
evolve through collaboration between self-organizing cross-functional teams.

The reason we choose agile development methodology is because:

 Features are developed more quickly with short cycles

 Team members enjoy development work, and like to see their work used and
valued

 Change to requirements can be handled easily

In this proposed system we use client-server architecture for managing products and
delivering contents to web and mobile app. And also we use augmented reality(AR) to
show product’s 3D model in end users smart phone.

6
To augment products in users mobile we use marker-less AR method. This method
uses an advanced tracking system that allows active tracking and recognition of real
environment on any type without using discrete markers.

We will use ARCore which is Google’s platform for building augmented reality
experiences using marker-less spatial awareness.

How does ARCore work?

ARCore uses three key capabilities to integrate virtual content with the real world as
seen through your phone's camera:

 Motion tracking allows the phone to understand and track its position

relative to the world.

 Environmental understanding allows the phone to detect the size and


location of all type of surfaces: horizontal, vertical and angled surfaces like
the ground, a coffee table or walls.

 Light estimation allows the phone to estimate the environment's current

lighting conditions.

ARCore's understanding of the real world lets you place objects, annotations, or other
information in a way that integrates seamlessly with the real world.

1.11 Development tools

We use various development tool that help us develop the project as well as document
the project.

1.11.1- Hardware and Software tools

1.11.1.1- Software tools

Activities Tools/programs/language purpose

Used java for AR development


Coding JAVA, in android studio
JAVASCRIPT,HTML,CSS and , web development
other language as required

7
Database server MYSQL Store and manage data

Diagram tools Edraw max To develop UML diagram of the


project

Editors Android studio , VS Code Androidstudio:-android


application development.

Vs Code:-web development

Documentation WPS office and Microsoft Application software we


Office used to Document our
project.

Prototype Design Adobe XD To design prototype

Database Design MYSQL Workbench To create ERD of database

Table 1 Software tools

1.11.1.2- Hardware tools

Hardware tools Purpose

Personal computer(PC) /Laptop almost all tasks of our project are


performed on computer.

Flash drive / Disk (CD,DVD) necessary for the movement of relevant


data and for backup and Recovery
mechanism.

8
Printer To print required document

Stationery (pen,paper,notebook) for writing all necessary documentations


associated with the
project ,

to take notes during data collection and


for other documentations

Table 2 Hardware tools

1.12 Required Resource with Cost

Types of cost Materials Amount Price per Unit Total price

Hardware Cost Paper 1 packet 250 250

Pen 5 10 50

Notebook 1 30 30

Flash disk(8GB) 1 240 240

CD 1 5 5

Printing Cost 100 1 100

WPS Office 1 free free

Software Cost Adobe XD 1 free free

Ubuntu 18.04 LTS 1 Open source free

Edraw Max 1 free free

XAMPP server 1 Open source free

Visual Studio Code 1 Open source free

Android Studio 1 Open source free

MYSQL Workbench 1 Open source free

9
Postman 1 free free

Transportation and Labour 1 200 200

Total Cost 1875 Birr

Table 3 Resources with cost

1.13 Schedule

Roll Phase Required time Required tools Function


no

1 Data collection Oct 28 Pen Used to get good information


and gathering - Paper about existing system structure
Nov 5 WPS Writer and develop proposed system.
Computers
Flash

2 Requirement Nov 6 Pen, Identify requirements


elicitation and - Paper, and define the
analysis Nov 16 Flash, functionalities of the
WPS Writer project (elicitation).

Analyze, validate and


understand the
requirement
(analysis).

3 Design Nov 30 EDRAWMAX Transform user requirement into


- WPS Writer implementation suitable form.
Dec 25 Pen To identify and understand the
Paper class in order to reuse, refine and
Flash remove vague classes.
SQL server

10
4 Prototype Feb 1 Used to design the prototype of the
Design - Adobe XD system UI & UX of web and
Mar 10 android app.
5 Coding and Mar 10 VS Code, In this phase we will try to:-
implementation – MYSQL
I. Implement database design
May 30 Workbench,
Postman,
II. Implement core modules and
XAMPP,
services.
Chrome,
Android Studio III. API implementation

IV. Web and Mobile app


implementation

6 Testing June 1- Browsers, We will identify and fix bugs and


June 20 VS Code faults from the system by
Debugger performing unit testing,
Integration testing and System
Testing.
Table 4 Schedule

1.14 Team Composition

Team Members

No Full Name ID Email Responsibility

1 Engida Lishan R/0426/08 engida32lishan@gmail.com Mobile App


implementation, Design,
Analysis, Testing

11
2 Ephrem Demelash R/0427/08 demelashephrem@gmail.com Implementation, Design,
Testing, Database
design, Analysis

3 Ermiyas Kasahun R/0436/08 ermikasa@gmail.com Mobile App


implementation, UI
Design,Database Design

4 Etsehiwot Eshetu R/0447/08 etse21eshetu@gmail.com Requirement gathering,


Testing, Designing, Web
app

5 Kebede Urgecha R/0692/08 gurgecha12@gmail.com Requirement gathering,


Designing, Testing,
Coordinating

Table 5 Team Composition

12
Chapter Two

Description of the Existing System

2.1 Major Function of the Existing System

Major function of existing system is registering user, providing cart system, payment
method that is used during transaction, product management and order management to
summarize delivery information and order information.

Registration

In order to make purchase and put the product for sell user must register to the system and provide all
information needed for payment .

Cart

The cart is a tool that, like a shopping basket, allows users to select the products they
want and add them to the cart then go to checkout for payment

It includes:

summarizing user preference by selecting preferred product from


possibilities offered the catalogue
checking cart and possibly cancel or modify the item placed in it

checkout product in the cart by completing transaction process

Payment system

The payment system is a mechanism that facilitates dialogue between the parties
involved in financial transactions: the bank, the store and user with credit card.

After filling in the order, the customer enters his/her credit card number that travels
along a channel solely accessible to the bank. The bank checks the customer’s account
and decides whether or not to authorize the payment.

Product management

This is the main part of the e-commerce system and provides all the features required
for product placement, order fulfillment, etc.., key to the management of online sales.

13
Product management: makes it possible to define with set of standard property such
as :

product code
category
product name
description
image size
available
price
piece in the stock

Order management

The order is the card that summarizes all the delivery and order information to enable
correct delivery. It includes:

list of products purchased


user information
detail of place of delivery
delivery time information
payment information

2.2 Users of Current System


The systems that are currently being used does not have a very large number of users.
Since the systems are not that much attractive and trust worthy people are not
convinced to use them. Even some would rather to use social media marketing like
Facebook and Telegram to buy things they want.

Ethiopia’s internet gateway capacity is 50 GB per second, but the Ministry of


innovative and Technology plans to increase this capacity to 10,000 GB per second in
the next two years. At the same time, this new system will enhance the National Data
Center’s capacity. And also the number of smart phone users in the country is growing
dramatically. If e-commerce can be developed conveniently, the above factors create a
big potential for the sector.

14
2.3 Drawbacks of Current System
The drawbacks of the current systems are:
 Lack of attractiveness to engage customers and also sellers
 Products are not presented accurately (Fraud)
 Sites are mostly dependent only on web apps
 Payment system is not well developed
 Delivery systems are inconvenient

2.4 Business rule

There are several conditions forcing the preparation of legal frameworks. According
to Communications Service Regulation Proclamation “The Ethiopian
Communications Regulatory Authority fosters the development of electronic
commerce through the use of electronic signatures to lend authenticity and integrity
to correspondence in any electronic medium”.

With regards to e-commerce and electronic signature, there is also Ethiopian


Commodity Exchange proclamation No. 550/1999, the National Payment System
Proclamation No. 718/2003 and the Proclamation to Provide for a Warehouse
Receipts System No. 373/2003. These are pioneer legislation to have given legal
recognition for electronic signature and electronic documents. But their scope of
application is quite limited to the extent of failing to give cover other than just a legal
recognition. Apart from this, they are not designed in a manner that could avert the
above-mentioned security threats and fill the legislative gaps.

Article 21 of the National Payment System Proclamation states that in the event when
the law forces the conclusion of any instrument in writing, the presentation of such
instrument in the digital copy is considered acceptable. The Proclamation further
states that a digital presentation of such evidence shall be admissible in any court as
evidence.

National Payment System Proclamation, Proclamation No. 718/2011, Article


23.computer based systems to manage and record transactions in respect of
electronic receipts”. According to Article 40 of the Proclamation, Electronic
Warehouse Receipts is provided as "a receipt may be created by means of electronic
records and may be issued to a bailer or his transferee by a system provider

15
appointed by the Ministry or its designate in line with procedures to be established for
this purpose.” The Proclamation further states that a duly drawn up warehouse receipt
delivered to a bailer shall constitute a valid contract between a warehouse operator and
a bailer.

16
Chapter Three

Proposed System

3.1 Overview

The proposed system is designed with the aim of solving the some of the
problems that exist in the current e-commerce that is being used in Ethiopia by
introducing Augmented Reality functionality to it.

3.2 Functional Requirement

 Users will be able to register and log in to the system.

 Users will be able to reset password, if lost, through email provided during
registration.

 Free tour

 Tour as a guest : non registered users can browse and search specific
products

 Tour as a user : users can browse and get membership benefits based on
access control

 Sellers will be able to upload 3D models of products that they intend to sell.

 Buyers will be able to augment 3D models into the reality (review placement)
using smart phones.

 Buyers will be able to review products and give feed back

 Members can purchase products available

 Buyers will be able to search product by its name, keyword or code

 Cancel order : only buyer who have made the order can cancel the order as
described on terms of the agreement.

 Buyers can report fraud and false advertisement from sellers

 Admin should be able to create and delete operator accounts

 Operators will be able to suspend users

17
 Operators will be able to remove products

 System will provide cart for buyers

 Registered members can update their profiles, addresses and payment options

 The system will record every order history and transaction

3.3 Non-Functional Requirement

3.3.1 User Interface

The system interface should be:

 Easy to use both on mobile and web apps.

 Provide simple yet consistent user interface.

 User interface will be responsive both on mobile and web apps.

3.3.2 Performance Consideration

The system should provide high performance so that it can be better than similar sites.
The system should respond to any user request as soon as possible and must handle
many concurrent requests simultaneously.

3.3.3 Reliability

The system should be released after testing thoroughly since it is related to sensitivity
and money. Situations in which request and response run unexpectedly should be
minimal and the system must generate errors and report back to the user.

3.3.4 Error Handling

Each error that may occur in the system will be handled accordingly in order to reduce
the amount of failure. The system will be best in handling errors and display an
appropriate error message.

18
3.3.5 Security

The files that will be recorded in the system have to be secured and must be kept in a
secured manner. User’s account information will be accessed by the user itself only.

3.4 System Model

3.4.1 Scenarios

Scenario 1

Name of scenario: Register to the system

Participating instance actor: Sellers and Buyers

Entry condition:

 User must have valid email address and phone number

 User should be above 18 years of age

Flow of events:

 User browse to web app or open mobile app

 User goes to register page

 Fill all the required form

 Read and accept terms and conditions of the system

 Submit the input

Alternative condition:

 If the input is wrong the system will generate error message and let the user
to refill forms

Exit condition: The system saves the entered data into database

Special requirement: web browser or mobile app should be installed

Scenario 2

19
Name of scenario: Login to the system

Participating instance actor: Every user

Entry condition:

 User should have an account

Flow of events:

 User will browse to web app or opens mobile app

 User inserts email and password to the input form

 User submits input

Alternative condition:

 If the input is wrong the system will generate error message and let the user
to refill forms

Exit condition: The user will be logged in to the system

Special requirement: web browser or mobile app should be installed

Scenario 3

Name of scenario: Resetting password

Participating instance actor: Every system user

Entry condition:

 User should have account that is previously used in the system


 User forget or lost his/her password
Flow of events:

 User go to password recovery form


 User insert email to recover password
 System send recovery link
 User uses the link sent to him to reset new password
Alternative condition:

20
 If user enters invalid recovery email system will generate error or show
message that show its invalid email.
Exit condition: User uses new password to login into the system

Special requirement: Web browser or mobile app should be installed

Scenario 4

Name of scenario: search product

Participating instance actor: Every user

Entry condition: User must have valid username and password to login into the
system

Flow of events:

 User login to the system


 User uses search field to insert product name, keyword or product code
 User presses search button and query the product in the store
Alternative condition:

 If search result is not found display message to


user Exit condition: Display search result

Special requirement: Web browser or mobile app should be installed

Scenario 5

Name of scenario: Put product for sell

Participating instance actor: Seller

Entry condition:

 Seller should login into his/her account

Flow of events:

 Seller login into the system

21
 Seller clicks ‘sell’ link and goes to sell page

 Seller fills all the forms presented on sell page

 Seller chooses 3D model of product from file using file chooser

 Seller submits the form

Alternative condition:

 If the input is wrong the system will generate error message and let the user
to refill form

Exit condition: The new product will be recorded on database

Special requirement: web browser or mobile app should be installed

Scenario 6

Name of scenario: Free Tour

Participating instance actor: Anyone

Entry condition:

 Navigate to our website or open mobile app.

Flow of events:

 May insert username and password

 May login to the system

 The system displays product catalog on the home page

 User can browse all public views and pages

Alternative condition:

 if the user provides invalid credential the system generate and display errors

 Blocks unauthorized access to restricted pages

Exit condition: None

Special requirement : Web browser or mobile should be installed.

22
Scenario 7

Name of scenario: Augment 3D model

Participating instance actor: Buyer/Guest

Entry condition:

 Buyer/Guest open mobile app

Flow of events:

 Buyer/Guest opens the mobile app

 Buyer/Guest opens product view page by selecting a product

 Buyer/Guest clicks on ‘Augment’ button

Alternative condition:

 If 3D model not available the system will generate message

Exit condition: The product will be viewed in AR mode using mobile phone’s
camera

Special requirement: mobile app should be installed

Scenario 8

Name of scenario: Review product and give feed back

Participating instance actor: Buyers

Entry condition:

 Buyers must browse to the web app or open mobile app


Flow of events:

 Buyer login into the system


 Buyer selects preferred product
 Buyer press “give feedback” button on the page
 buyer writes his/her feed back on the form provided

23
 Buyer submits his/her feed back
Alternative condition:

 If user try to submit empty form system will display error


message Exit condition: System save feedback to database
Special requirement: Web browser or mobile app should be installed

Scenario 9

Name of scenario: Purchase

Participating instance actor: Buyers

Entry condition:

 Navigate to our website or open mobile app.

 Buyers should have valid account

 Should have payment method

Flow of events:

 Login into the system

 The system displays the homepage

 Select a product from the catalog

 Click “add to cart” button from product description page

 Prompt user to insert number of items wanted

 User clicks “checkout” button

 Prompt user to insert or use previous shipping address

 Display order receipt and confirmation number.

Alternative condition:

 if the user provides invalid credential the system generate and display error
message

24
 If buyer doesn’t provide payment information redirect to payment option of
account page.

 If user provides invalid address, the system generates and displays error
message

Exit condition: Record order to our database and update our catalog database.

Special requirement: Web browser or mobile should be installed.

Scenario 10

Name of scenario: update profile

Participating instance actor: Users

Entry condition:

 Navigate to our website or open mobile app


Flow of events:

 Login to the system


 Go to profile section
 Display full profile information
 Select edit profile
 Edit required form and update information
 Click ‘update profile’ to update
 Show updated profile
Alternative condition:

 If he/she fills the form incorrectly then the system will generate error
message.
Exit condition: Save updated information to database

Special requirement: Web browser or mobile app should be installed

Scenario 11

Name of scenario: Cancel order

25
Participating instance actor: Buyers

Entry condition:

 Has valid user account

 A buyer who has made the order

Flow of events:

 Login to the system

 The system displays product catalog on the home page

 User clicks “Orders” button

 Lead the user to a list of orders page

 Select and click “Cancel Order” button from the order

 Confirms users choice by displaying agreement pop-up dialogue

 The system displays status message based on rules.

Alternative condition:

 if the user provides invalid credential the system generate and display errors

 If no order in the list show nothing to cancel

 If the order has been handled to delivery, the system generate status message

Exit condition: Remove the order from the database and update catalog

Special requirement: Web browser or mobile should be installed.

Scenario 12

Name of scenario: Report fraud and false advertisement

Participating instance actor: Buyer

Entry condition:

 Buyer must browse to web app or open mobile app

26
Flow of events:

 Buyer login into his/her account

 Buyer chooses the specific product

 Buyer clicks on ‘report’ link or button

 Buyer fills form report page

 Buyer submits report

Alternative condition:

 If the input is wrong the system will generate error message and let the buyer
to refill the form

Exit condition: The report will be saved on database

Special requirement: web browser or mobile app should be installed

Scenario 13

Name of scenario: Create operator account

Participating instance actor: Admin

Entry condition:

 Admin must browse to web app

Flow of events:

 Admin login into his/her account

 Admin clicks ‘manage accounts’ link and browse manage accounts page

 Admin selects ‘create new operator’ from the options in that page

 Admin fills the form in create new operator page

 Admin submits the form

Alternative condition:

27
 If the input is wrong the system will generate error message and let the admin
to refill the form

Exit condition: New operator is saved to the database

Special requirement: web browser should be installed

Scenario 14

Name of scenario: Delete operator account

Participating instance actor: Admin

Entry condition:

 Admin must browse to web app

Flow of events:

 Admin login into his/her account

 Admin clicks ‘manage accounts’ link and browse manage accounts page

 Admin selects ‘Delete operator’ link

 Admin choose the operator from dropdown list

 Admin confirms the pop-up to delete operator

Exit condition: Operator deleted from database

Special requirement: web browser should be installed

Scenario 15

Name of scenario: Suspend Users

Participating instance actor: Operator

Entry condition:

 Has valid operator username and password

 Navigate to our website.

28
Flow of events:

 Login to the system

 The system displays dashboard page

 Operator clicks “User management” button

 Operator searches a user from users list

 Select a specific user

 Operator click “Suspend” button

Exit condition: Update users database table.

Special requirement: Web browser should be installed.

Scenario 16

Name of scenario: Remove products

Participating instance actor: Operators

Entry condition:

 Operators must browse to web app

Flow of events:

 Operator login into his/her account

 Operator clicks on ‘view product’

 Operator selects the specific product

 Operator selects on remove product

 Operator confirms on pop-up

Exit condition: Product will be hidden from Buyers and seller

Special requirement: web browser should be installed

29
3.4.2 Use Case Model

3.4.2.1 Actor Identification

Name : Buyer

Description : A person who uses the system to buy a product

Role : Order a product, track order, cancel order, update profile, view product
catalog, review and rate products, search items, and payment

Name : Seller

Description : A person who uses the system to sell a product

Role : Put product on sale, accept payment, update profile, product status,
update product stock and receive orders

Name : Operator

Description : A person responsible for handling customer report and users behavior

Role : Remove product, view users info, suspend users, upload news &
announcement, review reported comment and review feedback

Name : Admin

Description : A person who controls the system at the top

Role : Remove operators, create operator, manages operators, product


management, view orders

Name : Guest

Description : A person who browses the system

Role : Browse product catalog, read news and announcement, search items
and read product description and review

3.4.2.2 Use Case Identification

Our system includes the following use cases:

 Register to the system

30
 Login to the system

 Resetting password

 Search product

 Put product for sell

 Free tour

 Augment 3D model

 Review product and give feed back

 Purchase

 update profile

 Cancel order

 Report fraud and false advertisement

 Create operator account

 Delete operator account

 Suspend Users

 Remove products

31
3.4.2.3 Use Case Diagram
Figure 1 Use case Diagram

3.4.2.4 Use Case Description

Use case name Register to the system


Use case number 01
Use case description Register user to the system
Actor Sellers and buyers
 User must have mobile app or navigate to
Pre-condition the website app
 User must have valid email address and
phone
 User should be above 18 years of age
Main flow  User browse to web app or open mobile app
 User goes to register page
 Fill all the required form
 Read and accept terms and conditions of the
system
 Submit the input
Post condition  User must install android app
 User must navigate to the systems web app
 If the input is wrong the system will
Alternative flow of event generate error message and let the user to
refill forms
Table 6 use case description for Register User

Use case name Login


Use case ID 02
Use case description Login to use system

Actor Every user

 User must have mobile app or navigate to

33
Pre-condition the website app
 User should have an account
 User must have mobile app or navigate to
the website app
Flow of event  User will browse to web app or opens
mobile app
 User inserts email and password to the input
form
 User submits input
Post condition User login to the system

Alternative flow of event If the input is wrong the system will generate
error message and let the user to refill forms
Table 7 use case description for Login

Use case name Resetting password


Use case ID 03

Use case description Resetting password in case user lost or forget


his/her password
Actor Every system user

Pre-condition  User must have mobile app or navigate to


the website app
 User should have account that is previously
used in the system
 User forget or lost his/her password
Main flow  User go to password recovery form
 User insert email to recover password
 System send recovery link
 User uses the link sent to him to reset new
password

34
Post condition User gets new password to use in the system

Alternative flow of event If user enters invalid recovery email system will
generate error or show message that show its
invalid email.
Table 8 use case description for Reset Password

Use case name Search

Use case ID 04

Use case description Search specific product from product catalog

Actor Every User

Pre-condition User must login into his/her account

 Buyer login to the system


 Buyer uses search field to insert product name, keyword or
Main flow product code
 Buyer presses search button and query the product in the
store
Post-condition The system will generate search results

Alternative flow If search result is not found display message to user

Table 9 use case description for Search

Use case name Put product for sell

Use case ID 05

Use case description Sellers upload product to sell

Actor Sellers

35
Pre-condition  User must have mobile app or navigate to
the website app
 Sellers must have valid username and
password to login into the system
Flow of event  Seller login into the system
 Seller clicks ‘sell’ link and goes to sell page
 Seller fills all the forms presented on sell
page
 Seller chooses 3D model of product from
file using file chooser
 Seller submits the form
Post condition New product will be uploaded

Alternative flow of event If the input is wrong the system will generate
error message and let the user to refill form

Table 10 use case description for Put product for sell

Use case name Free Tour

Use case ID 06

Use case description Visit the web app or mobile app to just see products

Actor Anyone

Pre-condition Navigate to the web app or open mobile app

 May Insert username and password

 May login to the system


Main flow
 The system displays product catalog on the home page

 User can browse all public views and pages

Post-condition User finishes the tour and leave

36
 If the user provides invalid credential the system
Alternative flow generate and display error messages

 Blocks unauthorized access to restricted pages

Table 11 use case description for Free Tour

Use case name Augment 3D model


Use case ID 07

Use case description View 3D model of the product

Participating actor Buyers /Guest / sellers

Pre-condition  User must have mobile app or navigate to


the website app
 Sellers must have valid username and
password to login into the system
Main flow  Buyer/Guest opens the mobile app
 Buyer/Guest opens product view page by
selecting a product
 Buyer/Guest clicks on ‘Augment’ button
Post condition View detailed view of the product

Alternative flow of event If 3D model not available the system will


generate message
Table 12 use case description for Augment 3D Model

Use case name Review product and give feed back

Use case ID 08

Use case description Buyers can see product details and may give feed back on them

37
Actor Buyers

Pre-condition Buyers must browse to the web app or open mobile app

 Buyer login into the system


 Buyer selects preferred product
Main flow  Buyer press “give feedback” button on the page
 buyer writes his/her feed back on the form provided
 Buyer submits his/her feedback
Post-condition System save feedback to database

If user try to submit empty form system will display error


Alternative flow
message

Table 13 use case description for Review product and give feed back

Use case name Purchase

Use case ID 09

Use case description Buyers purchase product they want

Actor Buyer

 Navigate to our website or open mobile app.

 Buyers should have valid account and logged in to the


Pre-condition
system

 Should have payment method

 Login into the system

 The system displays the homepage

 Select a product from the catalog


Main flow
 Click “add to cart” button from product description
page

 Prompt user to insert number of items wanted

38
 User clicks “checkout” button

 Prompt user to insert or use previous shipping address

 Display order receipt and confirmation number.

Post-condition Record order to our database and update our catalog database

 if the user provides invalid credential the system


generate and display error message

 If buyer doesn’t provide payment information redirect


Alternative flow
to payment option of account page.

 If user provides invalid address, the system generates


and displays error message

Table 14 use case description for purchase

Use case name Update profile

Use case ID 11

Users update their profile like address, phone number, payment


Use case description
option . . .

Actor All users

Pre-condition Navigate to our website or open mobile app

 Login to the system


 Go to profile section
 Display full profile information
Main flow  Select edit profile
 Edit required form and update information
 Click ‘update profile’ to update
 Show updated profile
Post-condition Save updated information to database

Alternative flow If he/she fills the form incorrectly then the system will

39
generate error message

Table 15 use case description for Update Profile

Use case name Cancel order


Use case ID 12

Use case description Canceling ordered product

Participating actor Buyers

 Has valid user account


Pre-condition  A buyer who has made the order
 Navigate to our website or open mobile app.
 Login to the system
Main flow  The system displays product catalog on the
home page
 User clicks “Orders” button
 Lead the user to a list of orders page
 Select and click “Cancel Order” button from
the order
 Confirms users choice by displaying
agreement pop-up dialogue
 The system displays status message based
on rules.
 Ordered item is canceled
Post condition  Remove the order from the database and
update catalog
Alternative flow of event  if the user provides invalid credential the
system generates and display errors
 If no order in the list show nothing to cancel
 If the order has been handled to delivery, the
system generate status message

40
Table 16 use case description for Cancel order

Use case name Report fraud and false advertisement

Use case ID 13

Buyers can report if the are scammed by sellers or if they


Use case description
encounter false advertisement

Actor Buyer

Pre-condition Buyer must browse to web app or open mobile app

 Buyer login into his/her account

 Buyer chooses the specific product

Main flow  Buyer clicks on ‘report’ link or button

 Buyer fills form report page

 Buyer submits report

Post-condition The report will be saved on database

If the input is wrong the system will generate error message


Alternative flow
and let the buyer to refill the form

Table 17 use case description for Report fraud and false advertisement

Use case name Create operator account

Use case ID 14

Use case description Admin can create new operator when needed

Actor Admin

Pre-condition Admin must browse to web app

41
 Admin login into his/her account

 Admin clicks ‘manage accounts’ link and browse


manage accounts page

Main flow  Admin selects ‘create new operator’ from the options
in that page

 Admin fills the form in create new operator page

 Admin submits the form

Post-condition New operator is created and saved to the database

If the input is wrong the system will generate error message


Alternative flow
and let the admin to refill the form

Table 18 use case description for Create operator account

Use case name Delete operator account


Use case ID 15

Use case description Remove operator from the system

Participating actor Admin

Pre-condition  Admin must browse to web app


 User must be admin of the system to
delete the operator
Main flow  Admin login into his/her account
 Admin clicks ‘manage accounts’ link and
browse manage accounts page
 Admin selects ‘Delete operator’ link
 Admin choose the operator from dropdown
list
 Admin confirms the pop-up to delete

42
operator
Post condition Operator deleted from database

Table 19 use case description for Delete operator account

Use case name Suspend Users

Use case ID 16

Use case description Operators can suspend users if users violet terms of the system

Actor Suspend Users

Pre-condition Navigate to the website

 Login to the system

 The system displays dashboard page

 Operator clicks “User management” button


Main flow
 Operator searches a user from users list

 Select a specific user

 Operator clicks ‘suspend’ button

Post-condition Update users database table

Table 20 use case description for Suspend Users

Use case name Remove products

Use case ID 17

Use case description Remove product from the system

Participating actor Operator

Pre-condition Operators must browse to web app

43
Main flow  Operator login into his/her account
 Operator clicks on ‘view product’
 Operator selects the specific product
 Operator selects on remove product
 Operator confirms on pop-up
Post condition  Product will be hidden from Buyers and
seller
 Product is removed from the system
Table 21 use case description for Remove Products

3.5 Object Model

3.5.1 Data Dictionary

Classes Attributes Operations Description

Authenticate Username Login() Logs the user into


or out of the system
Password Logout()

Token generateToken()

User First_name Register() Allows to register


into the system
Middle_name

Last_name

Username

Email

Phone

password

Operator Operator_id getUser() Allows operators to


get users and
status suspendUser()
suspend and cancel
unsespendUser() suspension from the

44
removeReview() system

Product Name setProduct() Put, update and get


products from the
Price getProduct()
system
Color putProductForSale()

Size

Description

Quantity

Customer Address_line_1 viewOrderStatus() Allows buyers to


give reviews, view
Address_line_2 viewprevOrders()
the status of order
customer_id giveReview() and view previous

Payment_type orders

Payment_account

Balance

Seller Seller_id acceptOrder() Allows sellers to


upload products for
Address viewProductStatus()
sale and accept
company acceptPayment() payment

Seller_type RemoveProduct()

Payment_type

Payment_account

Order Buyer_id Status() Allows buyers and


sellers to view order
Product_id placeOrder()
status and confirm
Seller_id getOrder() orders

45
Order_id

Confirmation_number

Date

Status

cost

Cart Card_id addItemToCart() Allows buyers to


add items to cart,
Product_id updateCartItem()
update cart and
Quantity viewCart() finally checkout

Date checkOut() cart to buy.

Augment Product_id Upload() Allows sellers to


upload and buyers
3d_model Display_3D()
to view in
Owner_id Display_Augment() augmented reality
3d model of a
product

Profile Birthdate UpdateProfile() Allows users to


update and view
Age viewProfile()
profiles
Gender

City

Country

Phone_number_2

Occupation

Merital_status

Current_address

Profile_picture

46
Payment Pay_to Pay() Allows users to pay,
accept and view
Pay_from viewHistory()
previous payments
Order_id

Payment_id

Administrator Admin_id updateCatalog() Allows admins to


manage users,
manageUser()
products and
manageOperator() operators

Table 22 Data dictionary

3.6 Dynamic Model

3.5.2 Class Diagram

47
48
Figure 2 Class diagram

3.6.1 Sequence Diagram

Figure 3 sequence diagram for registration

49
Figure 4 sequence diagram for login

50
Figure 5 sequence diagram for search

51
Figure 6 sequence diagram for put product for sale

Figure 7 sequence diagram for Augment product

52
Figure 8 sequence diagram for feedback

53
Figure 9 sequence diagram for purchase

54
Figure 10 sequence diagram for update profile

55
Figure 11 sequence diagram for remove product

56
3.6.2 Activity Diagram

Figure 12 Activity diagram for Register to the system

57
Figure 13 Activity diagram for reset password

58
Figure 14 Activity diagram for search

59
Figure 15 Activity diagram for put product for sale.

60
Figure 16 Activity diagram for free tour

61
Figure 17 Activity diagram for augment 3D model

62
Figure 18 Activity diagram for update profile

63
Figure 19 Activity diagram for cancel order

64
Figure 20 Activity diagram for report fraud and false advertisement

65
Figure 21 Activity diagram for create account

66
Figure 22 Activity diagram for delete account

67
Figure 23 Activity diagram for suspend user

68
Figure 24 Activity diagram for remove product

69
3.6.3 State Chart Diagram

Figure 25 state diagram for registration

Figure 26 state diagram for login

70
Figure 27 state diagram for free tour

71
Figure 28 state diagram for view product

Figure 29 state diagram for remove product

72
Figure 30 state diagram for update profile

73
Figure 31 state diagram for search product

Figure 32 state diagram for put product for sale

Figure 33 state diagram for augment 3D model

74
Figure 34 state diagram for suspend user

Figure 35 state diagram for cancel order

75
Figure 36 state diagram for create operator

76
Chapter 4
System Design
4.1 Overview

System design part of the system is the transformation of the analysis model into a
system design model.This chapter focuses on transforming the analysis model into the
design model that takes into account the non-functional requirements and constraints
described in the problem statement and requirement analysis sections discussed
earlier.

4.1.1. Purpose of the system design

The purpose of designing is to show the direction how the system is built and to obtain
clear and enough information needed to drive the actual implementation of the system.
It is based on understanding of the model the software built on. The objectives of
design are to model the system with high quality. Implementing of high quality system
depend on the nature of design created by the designer. If one wants to change to the
system after it has been put in to operation depends on the quality of the system
design. So if the system is design effectively, it will be easy to make changes to it.

4.1.2 Design goal

The objectives of design are to model the system with high quality. The design goals
are derived from nonfunctional requirements that means non-functional requirement is
the description of the feature characteristics and attribute of the system as well as any
constraints that may limit the boundary of the proposed solution.

Design goals describe the qualities of the system that the developers should consider.

 Performance

 Dependability

 Maintenance

 End user

77
Performance

An interactive 3D product presentation through augmented reality should enhances

Customer engagement by displaying the virtualized version of product in physical


environment. Augmented reality could also save time for customer by allowing them
to virtually try on different products with help of an equipment like an app and decide
which one suits the best, without having to physically apply the product on them
selves with this technology, E commerce sites could allow online customization or
personalization of product,where customers can do their own designs and create
something that best satisfies their needs.another application of this technology in the
e-commerce sector can be seen in digital marketing. In this case, information is added
to the physical object in the form of an image, a few line of text or video.

Dependability

The augmented reality system should achieve the following dependability


characteristics in order to resist crash and be available and reliable.

Robustness: - since augmented reality system is a web based system, that mainly use
a menu driven entry there wouldn’t be an input problem by the user side. But for the
server side there might be an error during the process of updating a data due to server
failure, network failure but the system will provide an error message in synchronizing
the data and continue without crushing.

Availability: - as long as there is an internet connection the system will be available

7 days a week and 24 hours a day.

Security: - augmented reality system should be secured, i.e., not allow other users or
unauthorized users to access data that has no the right to access it.

Reliability:- augmented reality system should be reliable.

Maintenance

In time of failure or need modification the system need to be maintained. To be


maintainable the system should meet the following maintenance criteria:

78
Modifiability:- augmented reality system should be modifiable for further
modification and enhancement of the system.

Portability: - the system is developed to be viewed and retrieved from any web

browser regardless of their version and platform it resides in it.

Extensibility: - if it is needed to add new functionality to the system, this must

be achieved by only making a separate page and integrate this page with the

existing system.

Readability: - the system code can be viewed by clicking on the current web

page and choose “view the source code” option.

End User Criteria

The system should have simple and understandable graphical user interface such as
forms and buttons, which have descriptive names. It should give reliable response for
each user request.

4.2 Proposed System Architecture

4.2.1 SYSTEM PROCESS

Overall system of the service is depicted below.

79
Figure 37 System activity diagram

Figure 38 overall system

80
Figure 39 system process

4.2.2 Subsystem Decomposition

To reduce the complexity of the solution domain, we decompose a system into simpler
parts, called subsystems. The main need of this portion is to design the external part of
the system.

81
Figure 40 sub system Decomposition

Subsystem decomposition description

Subsystem Purpose Class


Ecommerce To manage ecommerce
system
Augmented reality To manage augmented
reality subsystem such as
augmenting 3D
Table 23 subsystem decomposition description

82
4.2.3 Hardware and Software Mapping

Hardware and Software mapping for our system describes how subsystem are
assigned to hardware and off-the-shelf component. We used microservice architecture
which is composed of a set of small services, each running in its own process and
communicating with lightweight mechanisms.

Figure 41 hardware/software mapping


4.2.4 Persistent Data Management

Figure 42 admin mapping

Figure 43 user mapping

84
Figure 44 cart mapping

Figure 45 augment mapping

Figure 46 address mapping

Figure 47 category mapping

85
Figure 48 comment mapping

Figure 49 customer mapping

Figure 50 order mapping

86
Figure 51 product mapping

Figure 52 profile mapping

Figure 53 rate mapping

Figure 54 shipping mapping

87
4.2.5 Component Diagram

The following component diagram represents a group of graph of components


connected by dependency relationship and dependencies are shown as arrows from
the client components to the supplier component.

Figure 55 Component diagram

88
89
Component Description

Authentication controller

Description: This is a class responsible to authenticate a user

Role: it is responsible to check if the validity of a user trying to login to the system

Page controller

Description: This is a route class which will route to each pages as needed

Role: it is responsible to route each page requests in the system.

Data organizer

Description: the base component which is directly linked to the users of the system

Role: is responsible for tracking session and displaying the appropriate dash board
and log activities of a user.

Component controller

Description: this is a class which extends the base controller class responsible to look
for components.

Role: this class is responsible to control all the components in the system.

Form controller

Description: the base form controller class in which governs the form submission in
the system and sends back to the view called view form.

Role: this class is responsible for controlling of form submission before further
process.

90
Profile model

Description: this is a class which is linked with the profile table in the database.

Role: responsible for the extraction of record from and to the table.

Component model

Description: this is a class which is linked with the database table in which used to
determine the component to display to the user.

Role: responsible for the getting record from the database in order to display the
appropriate component to the user.

Module model

Description: this is a class which is connected with the module table in the database
and linked with the pages controller for further process.

Role: this class will be used to retrieve info from and to the module table and deliver
to the pages controller class.

Configuration model

Description: it is a class which is used to connect he component controller and the


database table for data exchange.

Role: is responsible to get access to the database table and return the data to the
component controller for further process.

Header template

Description: this is the basic tinplating engine which is the Node.js layout

Role: this is used to customize the code so that it would be easier to debug

91
Navigation template

Description: this is the html file used to create the common navigation bar

Role: is used to create a common navigation bar

View form

Description: this is the form viewer class using blade template and connected to the
form controller class

Role: is used to create the basic form views that will be displayed to the user

Usage statistics view

Description: this is the view class used to preview the statistical records to the user
connected to data organizer class

Role: is used to the view to the user

User view

Description: this is the view class using the blade template engine connected to the
component controller class

Role: used to create the user view to the user

Footer template

Description: the view class using the base template and connected to the footer
controller class

Role: is used to view the footer to the user

Component view

92
Description: the view class using the Node.js templating engine and connected to the component controller

Role: used to create the component view to the user

4.2.6 Database Design

Figure 56 EER diagram for API database and payment system


94
4.2.7 Access Control

The information which registered in the system we bulled have to be secure. In our
system, different actors have access to different functionality and data. Therefore these
privileges put off unauthorized users from accessing data’s which they don’t have
privilege to access.
The table below shows the global access table, describing the access relation between
the actors, objects and operations in the system:

Actors Authenticate Users Product Augment


Management
Guest Register() View() viewAugment()
View3Dmodel()

Buyers Register() getProfile() View() viewAugment()


Login() updateProfile() View3Dmodel()
Logout()
Sellers Register() getProfile() Upload() uploadModel()
Login() updateProfile() Update() deleteModel()
Logout() Delete() updateModel()

Operators Login() getProfile() Delete() deleteModel()


Logout() updateProfile()
deleteUser()
suspendUser()
unsuspendUser()
Admin Login() deleteOperator() Delete() Delete()
Logout() suspendUser()
unsuspendUser()
deleteUser()
registerOperator(
)
Table 24 Access table

95
Actors Cart Review order Announcement
Guest addItem() readReview() readAnnouncement(
)
updateCart()
Buyers giveReview() checkOut() readAnnouncement(
)
addItem() readReview() updateOrder()
updateCart() updateReview() cancelOrder()
Sellers readReview() getOrders() readAnnouncement(
)
acceptPayme
nt()
Deliver()
Operators readReview() viewOrders() readAnnouncement(
)
removeReview()
uploadAnnounceme
nt()
updateAnnounceme
nt()
Admin readReview() viewOrders() updateAnnounceme
nt()
removeReview()

Table 25 Access table for review order and cart

4.2.8 User interface Design

96
Figure 57 user interface

97
Chapter Five

Implementation
5.1 Overview

Implementation is the process of integrating the system functionality. Our project


implements the functional and non-functional requirements of the system. Generally
our implementation is the focus on whatever functions of the developed system.

5.2 Coding standard

In this section we have documented how we will write the code.

5.2.1 Indentation

In order to make our code easy to read, we will use a minimum of three spaces to
indent by. And this standard will be used through out the project.

Examples:

//indentation used for loops

for ( i = 0; i < 3; i++ ) {

print(‘hello world’);

//indentation used for functions

void sayHello ( String name ) {

print( ‘Hello $name’ );

5.2.2 Comments

Comments will be used to make the code more clear. Both inline comments and block
comments swill be used whenever necessary.

5.2.3 Classes

98
Classes should have only one job. We will avoid classes that are very big and that do
multiple jobs.

5.2.4 Functions and Methods

Functions and method names will have verbs in them and are written using camel case
coding standard.

Examples:

sayHello, printNumbers

5.2.5 Variable Names

Variable names should have meaningful names that could be understood by casual
observers. Variables should be initialized prior to their use.

5.2.6 Use of braces

For braces we will use the Kernighan and Ritchie style. It is more readable and neat.

Examples:

for ( i = 0; i < 3; i++ ) {

print(‘hello world’);

5.2.7 Line Length

It is considered good practice to use lines that has at most 80 characters. We will use
this standard for this project.

5.2.8 Spacing

In a line, a space should appear before after every equal sign, parenthesis, comma,
arithmetical operators and logical operators.

5.2.9 Error messages

Error messages should be meaningful so that users will understand what goes wrong
and what to do next.

99
5.3 Development Tools

We will use different tools and technologies for client side and server side
development based on their performance and efficiency to develop our system. Our
project will be developed mainly using Javascript and Node.js framework with node
package manager(npm) for installing and managing project modules.

The client side tools includ:

 React framework for rendering

 Bootstrap CSS framework for styling the user interface

 React Router for client side routing

 Webpack for bundling css and js files

 And also as an option we will use either Axios or Appolo Graphql for
rest api data exchange.

For mobile app development tools include Android framework and Google ARCore
for handling AR functionality.

For the server side, tools include :

 Express framework for routing and managing process and sessions,

 Sequelize for Object relational mapping and database management,

 Passport for authentication

 Mysql2 for connection and sessions of database.

For both client and server side development we will use nodemon for local server
monitoring.

5.4 Prototype

Web browser: Setup installed at the client side:

100
Client side programming has mostly to do with the user interface, with which the
user interacts. In web development it's the browser, in the user's machine, that runs
the code, and it's mainly done in JavaScript, css, etc. This code must run in a variety
of browsers.

Components

 Browsers

Setup installed at the server side:

Server side programming has to do with generating dynamic content. It runs on


servers. Many of these servers are "headless". Most web pages are not static, they
search a database in order to show the user updated personalized information. This
sides interacts with the back end, like say, the database.

Components of server-side

 Node.Js

 MySQl

The client and the server will communicate with restful API.

5.5 Implementation Detail

Authentication Controller

It will be implemented in javascript using Node.js’s Passport Middleware, which will

Perform authentication and authorization when the user needs to register and login,
and to check user’s permission to access a certain page.

Main features of passport middleware include persistent session and many


authentication strategies which include facebook, google, twitter …… for users
preference.

Content Controller

This controller is collection of many content controller classes which handle all
content request routes to each page and send response by retrieving the necessary
content from the database.

101
Object Relational Mapper

This package of classes handles conversion of object attributes to database table


elements for creation and alteration of database table.

Data Modeling

This class organizes retrieving, creating, updating and deleting of data using object
method and mapping of retrieved database results to object class.

Profile Model

This class extends functionality of Data Modeling class which is connected to profile
table in the database and used for manipulating records from and to the table.

Layout View

This package consists of header and footer layouts of the user interface which will be
implemented using React framework so that it can be included by all the view class.

Error Controller

This class will be responsible for displaying appropriate and useful error messages for
server side error and also client side errors like page not found , invalid request and
internal errors.

Augment controller

This class handles retrieving the 3d model to augment the model into users mobile by
using the camera. This class will be implemented using java for android by using
Google’s ARCore platform.

102
Chapter Six

System Testing
6.1 Introduction

System testing is the process of testing how the systems functional and non-functional
requirements are performing their functions correctly and effectively. Especially the
system testing focuses on the back end of the system.

6.2 Scope

The scope of this project is to develop a complete e-commerce system that uses
augmented reality to present and review products. The system includes mobile
application and web application to sell and purchase products online.

6.3 Resources

Are any materials used to specify utilized for testing purpose. Like SRS document.

6.4 Schedule

Scheduling is the time arrangements given by the responsible body of the system to
perform whatever activities designed.

Types of Testing Date of Testing Tested by


Unit testing Pending Engida Lishan
Integration testing Pending Ephrem Demelash
System Testing(Installation Pending Etsehiwot Eshetu
Testing)
Table 26 Types of testing

6.5 Test case scenario

6.5.1 Feature to be tested

Are any features in the system that can be tested by the developers of the system. This
is mostly focus on functional requirements of the system.

No Test Target Feature to be tested Tested by

103
1 Functional General Ephrem Demelash
requirements Functionality of the
system
2 Code Each Kebede Urgecha
code/components
3 Platform Run on different Ermiyas Kasahun
systems
Table 27 Features to be tested

6.5.2 Feature not to be tested

Are any activities of the system that are not mostly tested by the developers of the system.

No Test Target Feature to be tested Tested by


1 Non Functional Non-functional Etsehiwot Eshetu
requirements requirements are not
tested except security
Table 28 Feature that will not be tested

6.6 Pass/fail criteria

Is the situation in which the pass and fail criteria of the system are determined using
standard terminologies of pass/fail pass/fail.

6.7 Approach

Is the method that can be used by the developers to specify the testing task.

Methodology:

With this testing approach, all the specs will be ready for a prototype, and a plan will
be built to be shown; the tester writes his or her code and will see if he or she could
obtain the same results that the specs mentioned. This way, the specs will be tested on
each prototype, and continuous testing will be applied.

Advantages of using the methodology

 Helps to give a better understanding about the requirements

 Better design at the end of the cycle

104
 
R duced testing to be performed at the end of the cycle

e Documents produced would be of higher quality

Disadvantages of using the methodology

 The person working on the document should be experienced

 There are increased time and money involved with testing

 Different viewpoints for the same problem can lead to varying results

6.8 Test case specification

Table below shows the test specifications of functional requirements used to write the
test cases along with the test case numbers for each test case and a short description of
the test cases.

Functional requirement Test case no Test-case short description


no.
FR01 TC01 To test the registration
interface for the user
FR02 TC02 To test the
Login/Authentication
interface for the User
FR03 TC03 To test non registered users
can browse and search
specific products
FR04 TC04 To test buyers can be able
to augment 3D models into
the reality using smart
phones
FR05 TC05 To test buyers can be able
to search product by its
name, keyword or code
FR06 TC06 To test system can provide
cart for buyers
FR07 TC07 To test system can record

105
every order history and
transaction
FR08 TC08 To test only buyer who
have made the order can
cancel the order
FR09 TC09 To test admin can be able to
create and delete operator
accounts
FR10 TC10 To test buyers can report
fraud and false
advertisement from sellers
Table 29 Test case specification

6.9 Estimated risk and contingency plan

Estimated risk is any risk that the system developer can face during developing the
system and contingency plan is the plan developed to solve the risk that the
developers face.

6.9.1 Estimated risk

 Lack of experience in testing


 The time required to develop the software is under-estimated

6.9.2 Contingency plan

 Allocate more time for testing


 Analyze tools required and allocate them

106
Chapter Seven

7.1 USER MANUAL AND DEMO


This user manual is help to maintain, update and use new E-commerce website easily
and quickly. You’ll find detailed explanations and instructions on how to manage
your new store. After you’ve tried it a couple of times, you’ll find it’s easy to use
and you may not need this guide any longer, but it is here as a reference.

Create operator account:-Admin must browse to web app

Admin login into his/her account >clicks ‘manage accounts’ link and
browse manage accounts page >selects ‘create new operator’ from the
options in that page > fills the form in create new operator page
>submits the form

Delete operator account:-Admin must browse to web app

and login into his/her account >clicks ‘manage accounts’ link and browse
manage accounts page >selects ‘Delete operator’ link >choose the
operator from dropdown list>confirms the pop-up to delete operator

Register to the system:-to register on the system User must have valid email address
and phone number.

User browse to web app or open mobile app and goes to register page >Fill all
the required form >Read and accept terms and conditions of the system
>Submit the input

Login to the system:-every user should have an account to log into the system

User browse to web app or opens mobile app > inserts email and password
to the input form > User submits input.

Resetting password:-Every system user should have account that is previously


used in the system.

User go to password recovery form > insert email to recover password

System send recovery link

User uses the link sent to him to reset new password

107
search product:-Every user must have valid username and password to login into the

System.

User login to the system >uses search field to insert product name, keyword
or product code >presses search button and query the product in the store

Put product for sell:-Seller should login into his/her account

Seller login into the system > clicks ‘sell’ link and goes to sell page >fills all
the forms presented on sell page >chooses 3D model of product from file using
file chooser >submits the form

Free Tour:-Anyone can navigate to our website or open mobile app.

May insert username and password >login to the system

The system displays product catalog on the home page

User can browse all public views and pages

Augment 3D model:-

Buyer/Guest opens the mobile app >opens product view page by selecting
a product >clicks on ‘Augment’ button

Review product and give feed back:-Buyers must browse to the web app or open
mobile app

Buyer login into the system >selects preferred product >press “give
feedback” button on the page >writes his/her feed back on the form
provided>submits his/her feed back

Purchase:-buyer navigate to our website or open mobile app should have valid
account and payment method

Login into the system >homepage >Select a product from the catalog >Click
“add to cart” button from product description page >insert number of items
wanted >clicks “checkout” button >insert shipping address >Display order
receipt and confirmation number.

update profile:-Users should navigate to our website or open mobile app

108
Login to the system >Go to profile section >Display full profile
information >Select edit profile >Edit required form and update
information >Click ‘update profile’ to update >Show updated profile

Cancel order:-buyer should have valid user account

Login to the system>product catalog on the home page >clicks “Orders” button

Lead the user to a list of orders page >Select and click “Cancel Order” button
from the order

Confirms users choice by displaying agreement pop-up

dialogue The system displays status message based on rules.

Report fraud and false advertisement:-Buyer must browse to web app or


open mobile app

Buyer login into his/her account >chooses the specific product >clicks on
‘report’ link or button >fills form report page >submits report

Suspend Users:-operator must have valid operator username and password and
navigate to our website.

Operator Login to the system>dashboard page >clicks “User


management”button >searches a user from users list >Select a
specific user >click “Suspend” button

Remove products:-Operators must browse to web app

Operator login into his/her account> clicks on ‘view product’ >selects


the specific product >selects on remove product >confirms on pop-up

109
References

www.wikipedia.com, Wikipedia

www.google.com, Google

https://developers.google.com/ar, Google’s AR core

Tigist Ashenafi: The Legality of E-commerce and E- signature Under Ethiopian Law,
February 2017

NOAA National Weather Service NWS/OHD, General Software Coding Standards and Guidelines

Lu, Y. & Smith, S. (2008) Augmented Reality E-Commerce: How the Technology Benefits
People's Lives

110

You might also like