Tải bản đầy đủ (.pdf) (65 trang)

Xây dựng app bán hàng điện tử trên android

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.17 MB, 65 trang )

TRƯỜNG ĐẠI HỌC VINH
VIỆN KỸ THUẬT VÀ CÔNG NGHỆ

ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài:

XÂY DỰNG APP BÁN HÀNG TRÊN NỀN ANDROID

SV thực hiện :

Lê Khắc Trung

Lớp

54K2 - ĐTTT

:

GV hướng dẫn:

TS. Đặng Thái Sơn

NGHỆ AN - 2018


LỜI MỞ ĐẦU
Trong thời đại cơng nghiệp hóa, hiện đại hóa như hiện nay cơng nghệ thơng
tin được coi là một trong những ngành quan trọng cần thiết trong nền kinh tế của
nhiều nước trên thế giới, vì thế cơng nghệ thơng tin ngày càng khẳng định được
vị trí quan trọng của mình trên phạm vi thế giới nói chung và Việt Nam nói riêng.


Một xu hướng mới trong tương lai của thế kỉ 21 đang hướng tới là “Internet of
Things”, tức là tất cả mọi thứ kết nối với nhau qua internet. Đây là xu hướng
được đánh giá là rất có triển vọng, tác động lớn đến cơng việc, cuộc sống và xã
hội con người. Điều kiện cần đã có, là mạng lưới hạ tầng internet ngày càng phủ
rộng khắp trái đất. Điều kiện đủ là những ứng dụng, thiết bị có sử dụng internet
đang ngày được phát triển và hồn thiện, hứa hẹn sẽ giúp ích cho con người rất
nhiều trong tương lai, khiến chi phí và thời gian đáp ứng công việc sẽ giảm mà
lại cho hiệu quả cao hơn.
Nắm bắt được những xu thế này, qua quá trình tìm hiểu, khảo sát, đánh giá,
và lấy ý tưởng của ứng dụng TMĐT em xin mạnh dạn lựa chọn đề tài đồ án tốt
là “Xây dựng App bán hàng điện tử trên Android” với mục đích giúp cho doanh
nghiệp quản lý sản phẩm khoa học, tối ưu hóa kinh doanh, giảm thiểu chi phí từ
các kênh cửa hàng phân phối mà vẫn có thể giới thiệu và quảng bá sản phẩm của
mình đến gần hơn với người tiêu dùng, đồng thời giúp cho người tiêu dùng giảm
thời gian, chi phí, cơng sức đi lại mà vẫn có thể lựa chọn được những sản phẩm
ưng ý. Qua đây, em xin chân thành cảm ơn thầy TS.Đặng Thái Sơn đã theo dõi,
tận tình chỉ bảo, giúp đỡ em trong quá trình thực hiện đề tài này.

Sinh viên
Lê Khắc Trung

1


TĨM TẮT ĐỒ ÁN
Đồ án trình bày về App bán hàng điện tử trên nền Android với hai sản phẩm
chính là điện thoại và laptop. App bán hàng được viết trên phần mềm Android studio
với ngơn ngữ lập trình Java cùng với hỗ trợ của cơ sở dữ liệu viết trên nền PHP để
quản lý dữ liệu và lưu thông tin khách hàng khi mua hàng. Với sự bùng nổ thị trường
công nghệ 4.0, người mua hàng không cần phải đi lại, tốn nhiều thời gian. Chỉ cần một

chiếc điện thoại hoặc laptop có kết nối mạng, người dùng có thể mua sắm thỏa thích,
chính vì lý do này nên em đã triển khai đề tài “App bán hàng điện tử ”. Kết quả mô
phỏng đạt được các yêu cầu chung, của các phần mềm bán hàng đó là sự bắt mắt, dễ
sử dụng và các tính năng như cập nhật được các sản phẩm mới, lưu lại thông tin khách
hàng khi giao dịch.
ABSTRACT
The design is about APP which sales types of electronic products on the Android
platform with two main products including phones and laptops. The sales app is
written in the Android studio software with the Java programming language along with
the support of PHP-based databases for managing data and saving customer
information when making purchases. With the 4.0 technology market boom, shoppers
do not need to travel or spend a lot of time. Just by a phone or laptop connected with
the internet, users can buy anything they want. For this reason I decided to deploy the
plan: " Electronic sales Apps”. Simulation results meet the general requirements of its
products including eye-catching, easy to use and features such as updating new
products, saving customer information when dealing.

2


MỤC LỤC
LỜI MỞ ĐẦU ................................................................................................................ 1
TÓM TẮT ĐỒ ÁN ......................................................................................................... 2
MỤC LỤC ...................................................................................................................... 3
DANH MỤC BẢNG BIỂU ........................................................................................... 5
DANH MỤC HÌNH VẼ................................................................................................ 5
THUẬT NGỮ VIẾT TẮT ............................................................................................. 7
CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI MỘT SỐ PHẦN MỀM XÂY DỰNG HỆ
THỐNG BÁN HÀNG .................................................................................................... 8
1.1 Mục đích yêu cầu, phạm vi thiết kế ........................................................................... 8

1.2 Tổng quang về PHP ................................................................................................... 9
1.2.1 Khái niệm PHP ................................................................................................. 9
1.2.2 Lịch sử phát triển ............................................................................................. 9
1.2.3 Ưu điểm của PHP ............................................................................................ 10
1.2.4 Các công cụ mã nguồn mở PhpMyadmin ....................................................... 11
1.2.4.1 Khái niệm ............................................................................................. 11
1.2.4.2 Tính bảo mật của phpMyAdmin .......................................................... 12
1.2.5 Giới thiệu về chuỗi JSON và cấu trúc của chuỗi JSON.................................. 13
1.2.5.1 Khái niệm chuỗi JSON ......................................................................... 13
1.2.5.2 Cấu trúc chuỗi JSON ............................................................................ 13
1.2.6 Tiêu chuẩn của một môi trường Java điển hình ............................................. 14
CHƯƠNG 2. XÂY DỰNG KIẾN TRÚC HỆ THỐNG BÁN HÀNG ..................... 16
2.1 Xây dựng kiến trúc hệ thống .................................................................................. 16
2.2 Phân tić h yêu cầ u hê ̣ thố ng .................................................................................... 16
2.2.1 Phần Android ................................................................................................... 16
2.2.2 Phần webservice ............................................................................................... 17
2.3 Phân tích thiết kế hệ thống ...................................................................................... 17
2.3.1 Biểu đồ Use case ............................................................................................. 17
2.3.2 Biểu đồ lớp ...................................................................................................... 22
2.3.3 Phân tích và thiết kế CSDL ............................................................................. 23
2.4 Các phần mềm sử dụng mô phỏng App bán hàng điện tử...................................... 24
2.4.1 Giới thiệu về phần mềm Android Studio ........................................................ 24
3


2.4.2 Các bước tạo một Project trong Android Studio ............................................. 25
2.4.3 Cấu trúc một Project trong Android Studio .................................................... 29
2.4.4 Cài đặt máy ảo Genymotion ............................................................................ 33
2.5 Nội dung mô hình app Bán hàng thương mại điện tử ............................................ 36
CHƯƠNG 3. KẾT LUẬN ĐỀ TÀI ............................................................................ 44

KẾT LUẬN .................................................................................................................. 45
TÀI LIỆU THAM KHẢO........................................................................................... 46
PHỤ LỤC ..................................................................................................................... 47

4


DANH MỤC BẢNG BIỂU
DANH MỤC HÌNH VẼ
Bảng 1.1. Danh sách các Actor ............................................................................... 18
Bảng 1.2. Danh sách các use case ............................................................................ 18
Bảng 1.3. Các đối tượng và thuộc tính của đối tượng .............................................. 23
Bảng 1.4. Bảng thiết bị ............................................................................................ 23
Bảng 1.5. Bảng loại sản phẩm .................................................................................. 23
Bảng 1.6. Bảng sản phẩm ........................................................................................ 24

DANH MỤC HÌNH VẼ
Hình 1.1. Mơ hình app bán hàng ................................................................................ 8
Hình 1.2. Giao diện PhpMyAdmind......................................................................... 12
Hình 1.3. Các platfrom cơ bản của Java ................................................................... 14
Hình 1.4. Tiêu chuẩn của mơi trường Java điển hình .............................................. 15
Hình 2.1. Biểu đồ use case mức tổng quát .............................................................. 19
Hình 2.2. Biểu đồ use case Quản lý danh mục sản phẩm........................................ 19
Hình 2.3. Biểu đồ use case Quản lý sản phẩm ......................................................... 20
Hình 2.4. Biểu đồ use case Tìm kiếm sản phẩm ..................................................... 20
Hình 2.5. Biểu đồ use case xem sản phẩm .............................................................. 21
Hình 2.6. Biểu đồ use case Bình luận và đánh giá .................................................. 21
Hình 2.7. Biểu đồ use case Đặt hàng sản phẩm ...................................................... 21
Hình 2.8. Biểu đồ lớp .............................................................................................. 22
Hình 2.9. Cách tạo một project ................................................................................. 25

Hình 2.10. Cách tạo một project ............................................................................... 25
Hình 2.11. Cách tạo một project ............................................................................... 26
Hình 2.12. Cách tạo một project ............................................................................... 26
Hình 2.13. Cách tạo một project ............................................................................... 27
Hình 2.14. Cách tạo một project ............................................................................... 27
Hình 2.15. Cách tạo một project ............................................................................... 28
Hình 2.16. Cách tạo một ........................................................................................... 28
Hình 2.17. Cấu trúc một project trong Android Studio ............................................ 29
Hình 2.18. Cấu trúc một project trong Android Studio ............................................ 29
5


Hình 2.19. Cấu trúc một project trong Android Studio ............................................ 30
Hình 2.20. Cấu trúc một project trong Android Studio ............................................ 30
Hình 2.21. Cấu trúc một project trong Android Studio ............................................ 31
Hình 2.22. Cấu trúc một project trong Android Studio ............................................ 31
Hình 2.23. Cấu trúc một project trong Android Studio ............................................ 32
Hình 2.24. Cấu trúc một project trong Android Studio ............................................ 32
Hình 2.25. Thanh chạy ứng dụng và Debug ứng dụng ............................................ 33
Hình 2.26. Cài đặt máy ảo Genymotion ................................................................... 33
Hình 2.27. Cài đặt máy ảo Genymotion ................................................................... 34
Hình 2.28. Cài đặt máy ảo Genymotion ................................................................... 34
Hình 2.29. Cài đặt máy ảo Genymotion ................................................................... 35
Hình 2.30. Chạy máy ảo Genymotion ...................................................................... 35
Hình 2.31. Nội dung mơ hình app Bán hàng thương mại điện tử ............................ 36
Hình 2.32. Kết quả màn hình mơ phỏng .................................................................. 37
Hình 2.33. Thiết kế thanh chọn sản phẩm ................................................................ 38
Hình 2.34. Thiết kế màn hình sản phẩm điện thoại .................................................. 39
Hình 2.35. Thiết kế màn hình sản phẩm laptop ........................................................ 40
Hình 2.36. Thiết kế màn hình chi tiết sản phẩm....................................................... 40

Hình 2.37. Thiết kế màn hình giỏ hàng .................................................................... 41
Hình 2.38. Thiết kế màn hình thơng tin khách hàng ................................................ 42
Hình 2.39. Thiết kế màn hình liên hệ ....................................................................... 42
Hình 2.40. Thiết kế màn hình thơng tin.................................................................... 43

6


THUẬT NGỮ VIẾT TẮT

Thuật ngữ
TMĐT

Nghĩa tiếng Anh

Nghĩa tiếng Việt

Ecommerce

Thương mại điện tử

PHP

Hypertext Preprocessor

Ngơn ngữ lập trình kịch bản

CPU

Central Processing Unit


Bộ xử lý trung tâm

RAM

Random Accesss Memory

Bộ nhớ truy cập ngẫu nhiên

HDD

Hard Disk Drive

Ổ cứng truyền thống

CSDL

Database

Cơ sở dữ liệu

JSON

Javascript Object Notation

WYSIWYG

What you See Is What You Get

XML


Extensible Markup Language

HTML

HyperText Markup Language

API

Appalication Programming Interface

Kiểu dữ liệu mở
Giao diện tương tác tức thời
Ngôn ngữ đánh dấu mở rộng
Ngôn ngữ đánh dấu
Giao diện lập trình ứng dúng

7


CHƯƠNG 1
TỔNG QUAN VỀ ĐỀ TÀI MỘT SỐ PHẦN MỀM XÂY DỰNG HỆ THỐNG
BÁN HÀNG
1.1.

Mục đích yêu cầu, phạm vi thiết kế

Qua khảo sát tìm hiểu, các website, ứng dụng TMĐT hiện nay nói chung đều có
mơ hình xử lý hàng hóa như sau:


Nhập kho:
- Nhà cung cấp trở hàng đến
- Phân loại sắp xếp chuyển hàng đến kho
- Cập nhật tình trạng hàng trong Webservice

Bán hàng:
- Khách hàng đặt hàng trên ứng dụng
- Hệ thống chuyển hàng về kho

Quy trình
sản xuất
hàng hóa

Đóng gói:
- Nhân viên lấy hàng và đóng gói
- Cập nhật tình trạng sản phẩm trong kho

Vận chuyển:
- Nhân viên giao hàng lấy hàng từ kho và
giao cho khách
- Nhân viên giao hàng chuyển biên lai về kho

Hậu mãi:
- Giải đáp thắc mắc của khách hàng
- Xử lý hàng hóa khơng có người nhận
- Xử lý hàng hóa bị trả lại

Hình 1.1. Mơ hình app bán hàng

8



1.2 Tổng quang về PHP
1.2.1 Khái niệm PHP
PHP (viết tắt của Hypertext Preprocessor) là một ngơn ngữ lập trình kịch
bản (scripting language), một loại mã lệnh chủ yếu được dùng để phát triển các
trang web động. PHP là ngôn ngữ mã nguồn mở. Khác với các ngôn ngữ clientside, như Javascript, mã lệnh PHP được thực thi ở phía server sau đó mã HTML,
được trả về cho trình duyệt (client). Cú pháp PHP được vay mượn nhiều từ C và
Java, nên có nhiều điểm tương đồng với ngơn ngữ C/C++.
PHP hỗ trợ rất nhiều cơ sở dữ liệu như: MySQL, Informix, Oracle, Sybase,
Solid, PostgreSQL, Generic ODBC…
1.2.2 Lịch sử phát triển
PHP mà chúng ta biết đến ngày nay là sự kế thừa của một sản phẩm có tên là
PHP/FI. Được viết bởi Rasmus Lerdorf, bản PHP đầu tiên là một tập hợp đơn giản các
Common Gateway Interface (CGI) – một chuẩn giao tiếp giữa client và server – nhị
phân viết bằng ngơn ngữ C. Ban đầu, Rasmus sử dụng nó để theo dõi người dùng truy
cập vào hồ sơ cá nhân trên internet của mình. Vì vậy, ơng đặt tên nó là “Personal
Home Page Tools”. Theo thời gian, nhiều tính năng mới được thêm vào, và Rasmus đã
viết lại PHP Tools này, tạo ra một công cụ lớn hơn và phong phú hơn về tính năng. Mơ
hình mới này có khả năng tương tác với cơ sở dữ liệu, và hơn nữa, nó giúp cho người
dùng, có thể tạo ra một ứng dụng web động, ví dụ như guestbooks. Tháng 6/1995,
Rasmus public mã nguồn của PHP Tools ra cộng đồng, cho phép các nhà phát triển có
thể sử dụng và phát triển nó một cách miễn phí.
Tháng 9/1995, Rasmus mở rộng PHP, thêm vào cơng cụ có tên là FI
(Forms Interpreter), và một số chức năng như chúng ta biết ngày nay. Nó có các
biến kiểu Perl và cú pháp cho phép nhúng mã HTML. Cú pháp này, tương tự
Perl, nhưng hạn chế hơn, đơn giản và có phần khơng phù hợp. Trong thực tế, để
nhúng mã lệnh PHP/FI vào một tập tin HTML, các lập trình viên phải sử dụng
các comment HTML. Và mặc dù phương pháp này không được hồn tồn đón
nhận, FI vẫn tiếp tục phát triển và đem về lợi nhuận thương mại.


9


Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút
được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã
được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng
Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã
nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người.
PHP/FI 2.0 được chính thức cơng bố vào tháng 11 năm 1997, sau một thời gian
khá dài chỉ được công bố dưới dạng các bản beta. Nhưng khơng lâu sau đó, nó đã được
thay thế bởi các bản alpha đầu tiên của PHP 3.0, và tiếp sau đó là PHP 4, PHP 5.
1.2.3 Ưu điểm của PHP
PHP chủ yếu tập trung vào kịch bản phía máy chủ, vì vậy có thể làm bất cứ điều
gì mà các chương trình CGI khác có thể làm. Chẳng hạn như thu thập dữ liệu, tạo ra
các trang web động, gửi và nhận cookie… Tuy nhiên, PHP có thể làm nhiều hơn như
vậy.
Có ba lĩnh vực chính mà mã PHP được sử dụng:
Kịch bản phía máy chủ (Server-side scripting). Đây là mục tiêu chính mà PHP
hướng tới. Để làm được điều này, cần 3 cơng cụ sau: trình thơng dịch PHP, web server
và trình duyệt web. Phải chạy web server (đã được cài đặt PHP), sau đó chạy file PHP
của mình, và cuối cùng là tận hưởng thành quả mà web server trả về trên trình duyệt.
Command line scripting (kịch bản cho Command line): chúng ta có thể chạy một
kịch bản PHP mà khơng cần máy chủ hay trình duyệt web nào. Để chạy kịch bản PHP
với Command line, bạn chỉ cần duy nhất 1 thứ, đó là trình thơng dịch PHP. Loại kịch
bản này rất lý tưởng cho các tác vụ được chạy một cách tự động, theo một lịch trình
được định sẵn, bằng cách sử dụng cron (trên Linux) hoặc Task Scheduler (trên
Windows).
Dùng để viết ứng dụng desktop: tiện ích mở rộng (extension) của PHP, cho phép
người dùng tạo ra các ứng dụng desktop với giao diện đồ họa khá bắt mắt.

PHP có thể chạy được trên tất cả các hệ điều hành, bao gồm cả Linux, nhiều
phiên bản của Unix (bao gồm cả HP-UX, Solaris và OpenBSD), Microsoft Windows,
Mac OS X, RISC OS, và nhiều hệ điều hành khác. PHP cũng đã hỗ trợ cho hầu hết các
máy chủ web ngày nay (bao gồm Apache, IIS và nhiều máy chủ web khác). Vì vậy, dễ
dàng tự do lựa chọn một hệ điều hành và một máy chủ web. Hơn nữa, có thể lựa chọn
sử dụng lập trình hướng thủ tục, hoặc lập trình hướng đối tượng (OOP – Object
Oriented Program) bởi OOP đã được hỗ trợ từ PHP 5 trở đi, hoặc hỗn hợp cả hai.

10


Với PHP, khả năng tạo dữ liệu đầu ra HTML là khơng giới hạn, có thể
xuất văn bản, hình ảnh, tập tin PDF, audio hay thậm chí cả phim flash. PHP có
thể tự động tạo (autogenerate) những tập tin này, lưu chúng trong hệ thống tập tin
và tạo thành một bộ nhớ cache phía máy chủ cho trang web.
Một trong những tính năng mạnh nhất và quan trọng nhất của PHP là hỗ
trợ một loạt các hệ quản trị cơ sở dữ liệu (CSDL), như MySql, MSSQL, mSQL,
PostgreSQL, SQLite… Và tương ứng với mỗi hệ quản trị đó, là một driver để kết
nối PHP với chúng, ví dụ ODBC cho MSSQL…
PHP cũng đã hỗ trợ giao tiếp với các dịch vụ sử dụng các giao thức khác
nhau như LDAP, IMAP, SNMP, NNTP, POP3, COM… và nhiều giao thức khác.
PHP cũng hỗ trợ WDDX, giúp trao đổi dữ liệu giữa hầu hết các ngơn ngữ lập
trình web.
Kết luận: Với những tính năng ưu việt của mình, PHP vẫn, sẽ và đang là
một trong những ngơn ngữ lập trình phổ biến nhất ngày nay, được các lập trình
viên rất ưa chuộng, và sử dụng rộng dãi trên tồn thế giới.
1.2.4 Các cơng cụ mã nguồn mở PhpMyadmin
Trong phạm vi đề tài, sinh viên thực hiện sẽ lưu dữ liệu trong
phpMyAdmin.
1.2.4.1 Khái niệm

PHPMyAdmin là một cơng cụ nguồn mở miễn phí được viết bằng PHP
nhằm giúp người dùng có thể quản lý cơ sở dữ liệu MySQL thơng qua một trình
duyệt web thay vì sử dụng giao diện cửa sổ dịng lệnh (command line interface).
Nó có thể thực hiện nhiều tác vụ như tạo, sửa đổi hoặc xóa bỏ cơ sở dữ liệu,
bảng, các trường hoặc bản ghi, thực hiện báo cáo SQL, hoặc quản lý người dùng
và cấp phép.
Sử dụng phpMyAdmin giúp tăng hiệu quản lý cơ sở dữ liệu. Khi làm việc
với phpMyadmin chúng ta sẽ thấy được hiệu quả tăng lên đáng kể so với sử
dụng cửa sổ dòng lệnh. phpMyAdmin được thiết kế để giúp thực hiện các công
việc phổ biến như xem danh sách các cơ sở dữ liệu trên server, xem cấu trúc của

11


một bảng, chèn dữ liệu vào bảng, thay đổi cấu trúc bảng một cách nhanh chóng. Có thể
thấy được điều này khi quan sát 1 giao diện cụ thể:

Hình 1.2. Giao diện PhpMyAdmind
Với giao diện trên thì người dùng sẽ nhanh chóng biết được có bao nhiêu
database được tạo ra trên máy chủ bằng cách nhìn vào khung tay trái. Khi nhập dữ liệu
người dùng cũng có thể biết được kiểu dữ liệu phải nhập vào cho từng trường để tránh
việc nhập dữ liệu khơng chính xác. Những tiện ích trên khơng có trong cửa sổ dịng
lệnh.
Ngồi việc cung cấp 1 giao diện sử dụng trình duyệt web thân thiện với người
dùng thì phpMyAdmin cịn có thêm rất nhiều tính năng vượt trội so với cửa sổ dịng
lệnh, có thể thực hiện được các tác vụ quản lý cơ sở dữ liệu thông qua phpMyAdmin.
Tuy nhiên không chỉ dừng lại ở các tác vụ thơng thường mà bạn có thể thực hiện được
với cửa sổ dòng lệnh, phpMyAdmin còn giúp người dùng có thể xem được thiết kế
của database một cách trực quan. Chức năng này còn được gọi là design view.
1.2.4.2 Tính bảo mật của phpMyAdmin

Cũng giống các cơng cụ mã nguồn mở khác phpMyAdmin được phát triển bởi
cộng đồng các lập trình viên trên thế giới. Điều này có nghĩa là bất cứ ai biết lập trình
đều có thể đóng góp mã lệnh của mình để giúp cải tiến phần mềm này. Chính vì tính
mở của nó nên trong một phiên bản của phpMyAdmin trước đây đã xuất hiện các lỗi
bảo mật khi cho phép hacker truy cập vào database mà không cần sử dụng mật khẩu.
Với phiên bản hiện tại thì lỗi bảo mật này đã được khắc phục và hiện nay thì người ta
vẫn chưa phát hiện ra được lỗi bảo mật đáng kể nào của phần mềm này. Tuy nhiên
thơng thường thì các nhà quản trị cơ sở dữ liệu cũng đều hạn chế việc truy cập vào địa
12


chỉ URL của phpMyadmin cho những IP nhất định để tránh những rủi ro có thể
xảy ra với database.
1.2.5 Giới thiệu về chuỗi JSON và cấu trúc của chuỗi JSON
1.2.5.1 Khái niệm chuỗi JSON
JSON là chữ viết tắt của Javascript Object Notation, đây là một dạng dữ liệu
tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều
có thể đọc được, có thể sử dụng lưu nó vào một file, một record trong CSDL rất
dễ dàng. JSON có định dạng đơn giản, dễ dàng sử dụng và truy vấn hơn XML rất
nhiều nên tính ứng dụng của nó hiện nay rất là phổ biến.
JSON là định dạng trao đổi dữ liệu văn bản dung lượng nhẹ. Cú pháp của
JSON rất đơn giản là mỗi thơng tin dữ liệu sẽ có 2 phần đó là key và value, điều
này tương ứng trong CSDL là tên field và giá trị của nó ở một record nào đó.
1.2.5.2 Cấu trúc chuỗi JSON
a. Phần mềm XAMPP
Xampp là chương trình tạo máy chủ Web (Web Server) được tích hợp
sẵn Apache, PHP, MySQL, Ftp

Server, Mail


Server và

các

công

cụ

như phpMyAdmin. Không như Appserv, Xampp có chương trình quản lý khá
tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất
kỳ lúc nào.
Xampp là một mã nguồn mở máy chủ web đa nền được phát triển bởi Apache Friends,
bao gồm chủ yếu là Apache HTTP Server, MariaDB database, và interpreters dành cho
những đối tượng sử dụng ngôn ngữ PHP và Perl. Xampp là viết tắt của CrossPlarform (đa nền tảng-X), Apache (A), MariaDB (M), PHP (P) và Perl (P). Nó phân
bố Apache nhẹ và đơn giản, khiến các lập trình viên có thể dễ dàng tạo ra máy chủ
web local để kiểm tra và triển khai trang web của mình. Tất cả mọi thứ cần cho phát
triển một trang web -

Apache ( ứng dụng máy chủ), Cơ sở dữ liệu (MariaDB) và

ngơn ngữ lập trình (PHP) được gói gọn trong 1 tệp. Xampp cũng là 1 đa nền tảng vì nó
có thể chạy tốt trên cả Linux, Windows và Mac. Hầu hết việc triển khai máy chủ web
thực tế đều sử dụng cùng thành phần như XAMPP nên rất dễ dàng để chuyển từ máy
chủ local sang máy chủ online.
13


b. Cấu trúc chuỗi JSON
• Chuỗi JSON được bao lại bởi dấu ngoặc nhọn <>.
• Các key, value của JSON bắt buộc phải đặt trong dấu nháy kép {"}.

• Nếu có nhiều dữ liệu (nhiều cặp key => value) thì ta dùng dấu phẩy (,)
để ngăn cách.
• Các key của JSON nên đặt chữ cái không dấu hoặc số, dấu _ và khơng
có khoảng trắng., ký tự đầu tiên khơng nên đặt là số. Điều này rất giống
với nguyên tắc đặt tên biến trong PHP.

Hình 1.3. Các platfrom cơ bản của Java
1.2.6 Tiêu chuẩn của một môi trường Java điển hình
Thơng thường, các chương trình Java trải qua 5 giai đoạn chính:
• Editor: Lập trình viên viết chương trình và được lưu vào máy tính với
định dạng .java.
• Compiler: Biên dịch chương trình thành bytecodes (định dạng .class) nhờ bước trung gian này mà Java được viết 1 lần và chạy trên các hệ điều
hành khác nhau.
• Class Loader: Đọc file .class chứa mã bytecodes và lưu vào trong bộ nhớ.
• Bytecode Verifier: Đảm bảo rằng mã bytecodes là hợp lệ và không vi
phạm các vấn đề về bảo mật của Java.
• Intepreter: Biên dịch bytecodes thành mã máy để máy tính có thể hiểu
được và sau đó thực thi chương trình.

14


Hình 1.4. Tiêu chuẩn của mơi trường Java điển hình

15


CHƯƠNG 2
XÂY DỰNG KIẾN TRÚC HỆ THỐNG BÁN HÀNG
2.1 Xây dựng kiến trúc hệ thống

2.2 Phân tích yêu cầ u hê ̣ thố ng
2.2.1 Phần Android
- Sắp xếp sản phẩm theo các danh mục tương ứng:
Ứng dụng sẽ trình bày sản phẩm một cách khoa học đế giúp tiêu dùng dễ dàng
tìm kiếm. Các sản phẩm cùng một dành mục hàng hóa sẽ được để chung vào
danh mụ cha như: Máy tính, điện thoại…, các sản phẩm cùng thương hiệu sẽ
được để chung vào danh mục thương hiệu đó như: Apple, Samsung, Sony, LG,
HTC.…
- Tìm kiếm sản phẩm:
Khách hàng có thể tìm kiếm các sản phẩm mong muốn bằng cách nhập tên sản
phẩm vào “ơ tìm kiếm”. Ứng dụng sẽ trẻ về danh sách sản phẩm dưới dạng list
(nếu tìm thấy) để giúp khách hàng dễ dàng trong việc tìm kiếm.
- Hiển thị các chương trình khuyến mãi:
Chương trình khuyến mãi là một hình thức khơng thể thiếu đối với mỗi
websites hay ứng dụng TMĐT cũng không phải là một ngoại lệ. Ứng dụng sẽ
hiển thị các chương trình khuyến mãi, giảm phần trăm giá sản phẩm, giúp kích
cầu mua sắm, xả hàng tồn kho, hàng đã lỗi thời.
- Xem thông tin sản phẩm:
Khi khách hàng chọn vào một danh mục sản phẩm (hay danh mục thương
hiệu), hệ thống sẽ hiển thị danh sách các sản phẩm tương ứng, khách hàng click
chọn sản phẩm mong muốn để xem thông tin về sản phẩm đó. Khi khách hàng
click vào một sản phẩm, hệ thống sẽ hiển thị ra các thông tin của sản phẩm đó
như tên sản phẩm, hình ảnh, giá bán, thơng tin, thơng số kỹ thuật, các bình luận,
đánh giá của các khách hàng khác (nếu có).
- Bình luận và đánh giá sản phẩm:
Khách hàng có thể bày tỏ ý kiến của mình bằng cách bình luận và đánh giá
sản phẩm. Bình luận gồm: Tiêu đề bình luận, nội dung bình luận, số rank (số sao
16



đánh giá, tối thiểu là 0 sao, tối đa là 5 sao). Với người dùng chưa đăng nhập, tên
người đánh giá sẽ mặc định là tên thiết bị, nếu đã đăng nhập thì tên người bình
luận đánh giá sẽ là tên khi người dùng đăng ký tài khoản.
- Đặt hàng mua sản phẩm:
Khi thấy ưng ý sản phẩm, khách hàng sẽ bỏ sản phẩm đó vào “Giỏ hàng”. Giỏ
hàng có thể chứa nhiều sản phẩm, tại đây, khách hàng có thể tùy chỉnh lại giỏ
hàng của mình (loại bỏ sản phẩm, chỉnh sửa số lượng sản phẩm). Khi tiến hành
thanh tốn, TMĐT u cầu khách hàng nhập đầy đủ thơng tin như: họ tên, số
điện thoại, địa chỉ và hình thức mua hàng (trả bằng thẻ hoặc nhận hàng rồi thanh
toán). Đơn hàng sẽ được chuyển về kho của TMĐT để xem xét và giao hàng.
2.2.2 Phần webservice
Ứng dụng TMĐT lấy dữ liệu từ webservice, vì vậy cơ sở dữ liệu được lưu
trên trên PhpMyAdmin, người quản tri ̣Admin quản lý nội dung trên Webservice.
- Quản lý các danh mục sản phẩm:
• Thêm: thêm danh mục sản phẩm mới gồm: tên danh mục và mã loại .
• Xóa: xóa danh mục sản phẩm
- Quản lý sản phẩm
• Thêm: Thêm các sản phẩm mới vào các danh mục mặt hàng tương ứng,
gồm các thông tin cơ bản như: tên sản phẩm, giá, ảnh, thông tin mô tả,
thông số kỹ thuật, thương hiệu, số lượng, người đăng (mặc định là người
quản trị đang đăng nhập).
• Cập nhật: Người quản trị chỉnh sửa lại các thông tin của sản phẩm như:
tên sản phẩm, giá, ảnh, thông tin mô tả, thông số kỹ thuật, thương hiệu, số
lượng.
• Xóa: Xóa các sản phẩm khơng cịn kinh doanh.
2.3 Phân tích thiết kế hệ thống
2.3.1 Biểu đồ Use case
a) Danh sách các actor và usecase
- Danh sách các actor
Sau khi khảo sát thực tế và tham khảo một số tài liệu, sinh viên thực hiện đã

phân tích và đưa ra được các actor chính của ứng dụng:

17


STT

Tên Actor

Ý nghĩa, nhiệm vụ của Actor

1

Quản trị viên (Admin)

- Admin là người quản lý mọi hoạt động chung
của hệ thống như quản lý danh mục sản phẩm,
quản lý sản phẩm, quản lý đơn hàng, quản lý
khuyến mại xem thống kê,…
- Ngồi ra, Admin có đầy đủ các quyền như
người dùng khách hàng trên ứng dụng.

2

Khách hàng

- Khách hàng là người trực tiếp sử dụng các
tính năng của ứng dụng: tìm kiếm sản phẩm,
xem sản phẩm, bình luận, đánh giá, đặt hàng
sản phẩm.


Bảng 1.1. Danh sách các Actor
- Danh sách các Use case
STT
1

Ý nghĩa

Tên Usecase
Use case Quản lý danh mục

Quản lý các danh mục sản phẩm hàng
hóa (thêm, xóa danh mục)

2

Use case Quản lý sản phẩm

Quản lý sản phẩm hàng hóa (thêm, sửa,

mới

xóa sản phẩm)

3

Use case Tìm kiếm sản phẩm

Tìm kiếm các sản phẩm


4

Use case Xem sản phẩm

Xem thông tin của sản phẩm

5

Use case Bình luận và đánh

Bình luận và đánh giá của khách hàng về

giá

sản phẩm

Use case Đặt hàng sản phẩm

Khách hàng đặt hàng sản phẩm

10

Bảng 1.2. Danh sách các use case
18


b) Biểu đồ Use case
- Use case mức tổng quát

Tìm kiếm sản

phẩm

Quản lý danh
mục

Xem sản
phẩm

Đặt hàng
Quản lý sản
phẩm
Bình luận,
đánh giá

Hình 2.1. Biểu đồ use case mức tổng quát
-

Use case Quản lý danh mục sản phẩm
• Mục đích: quản lý danh mục sản phẩm cho ứng dụng.
• Tác nhân: Admin.
• Mơ tả: sau khi đăng nhập vào webservice, admin tiến hành thêm, xóa danh
mục sản phẩm.
Thêm danh
mục
Quản lý danh
mục
Xóa danh
mục

Hình 2.2. Biểu đồ use case Quản lý danh mục sản phẩm

- Use case Quản lý sản phẩm
• Mục đích: quản lý sản phẩm cho ứng dụng.
• Tác nhân: Admin.
• Mơ tả: sau khi đăng nhập vào webservice, admin tiến hành thêm, cập nhật, xóa
sản phẩm.
19


Thêm sản
phẩm mới

Sửa sản
phẩm

Quản lý sản
phẩm

Xóa danh
mục

Hình 2.3. Biểu đồ use case Quản lý sản phẩm
- Use case Tìm kiếm sản phẩm
• Mục đích: tìm kiếm các sản phẩm mong muốn.
• Tác nhân: Khách hàng.

Tìm kiếm

Tìm kiếm sản
phẩm
Hủy


Hình 2.4. Biểu đồ use case Tìm kiếm sản phẩm
- Use case Xem sản phẩm
• Mục đích: Xem các sản phẩm và thơng tin về sản phẩm.
• Tác nhân: Khách hàng.

20


Xem

Xem sản
phẩm
Hủy

Hình 2.5. Biểu đồ use case xem sản phẩm
- Use case Bình luận và đánh giá
• Mục đích: Đánh giá và bình luận về sản phẩm.
• Tác nhân: Khách hàng.
Bình luận và
đánh giá
Bình luận và
đánh giá

Hủy

Hình 2.6. Biểu đồ use case Bình luận và đánh giá

- Use case Đặt hàng sản phẩm
• Mục đích: đặt hàng sản phẩm.

• Tác nhân: Khách hàng.
• Mơ tả: Trong trường hợp muốn hủy đơn hàng, khách hàng cần phải liên hệ trực
tiếp tới người quản trị để được xử lý.
Đặt hàng
Đặt hàng sản
phẩm
Hủy đơn
hàng

Hình 2.7. Biểu đồ use case Đặt hàng sản phẩm
21


2.3.2 Biểu đồ lớp

-

Loại sản phẩm

Hình
ảnh
loại
sản
phẩm

Tên
loại
sản
phẩm


ID

Thiết bị
Loại sản phẩm
Sản phẩm

Mơ tả
sản
phẩm

Hình
ảnh
sản
phẩm

Sản phẩm

Gía
sản
phẩm

Tên
sản
phẩ
m

ID số
thứ tự
sản
Phảm


1 => Điện thoại
2 => Laptop

Hình 2.8. Biểu đồ lớp

22


2.3.3 Phân tích và thiết kế CSDL
Dựa trên việc xác định yêu cầu và phân tích yêu cầu ứng dụng trên webservice
bao gồm các đối tượng sau đây:
STT

Tên đối tượng

1

thietbi

2

loaisanpham

3

sanpham

Thuộc tính
loaisanpham, sanpham

id, tenloaisanpham, hinhanhloaisanpham
id, tensanpham, giasanpham, hinhanhsanpham,
motasanpham, idsanpham

Bảng 1.0. Các đối tượng và thuộc tính của đối tượng
a) Bảng thiết bị
Bảng thiết bị lưu trữ thông tin về loại sản phẩm , sản phẩm để sắp xếp các sản
phẩm theo các danh mục tương ứng.
Thiết bị
Tên trường

Kiểu dữ liệu

loaisanpham

InnoDB

sanpham

InnoDB

Bảng mã đối chiếu

Mô tả

utf8_general_ci

Loại sản phẩm

utf8_general_ci


Sản phẩm

Bảng 1.4. Bảng thiết bị
b) Bảng loại sản phẩm
Bảng loại sản phẩm lưu trữ thông tin về loại sản phẩm để sắp xếp các sản phẩm
theo các danh mục tương ứng.
Thiết bị
Tên trường

Kiểu dữ liệu

Mô tả

id

int

Id thứ tự loại sản phẩm

tenloaisanpham

Varchar(200)

Tên loại sản phẩm

hinhanhloaisanpham

Varchar(200)


Hình ảnh loại sản phẩm

Bảng 1.5. Bảng loại sản phẩm
23


c) Bảng sản phẩm
Bảng loại sản phẩm lưu trữ thông tin về loại sản phẩm để sắp xếp các sản phẩm
theo các danh mục tương ứng.
Thiết bị
Tên trường

Kiểu dữ liệu

Mô tả

int

Id thứ tự sản phẩm

Varchar(200)

Tên sản phẩm

giasanpham

int

Gía sản phẩm


hinhanhsanpham

Varchar(200)

Hình ảnh sản phẩm

motasanpham

Varchar(10000)

Mô tả sản phẩm

idsanpham

int

id
tensanpham

(1) Điện thoại , (2) Laptop

Bảng 1.6. Bảng sản phẩm
2.4 Các phần mềm sử dụng mô phỏng App bán hàng điện tử
2.4.1 Giới thiệu về phần mềm Android Studio
Android Studio, mơi trường lập trình phát triển ứng dụng mới vừa được giới
thiệu tại Google I/O 2013. Dựa trên “IntelliJ IDEA Community Edition”, công cụ này
hoạt động giống WYSIWYG, cho phép lập trình viên tạo ứng dụng, dễ dàng thực hiện
các thay đổi và xem trước trong thời gian thực, đồng thời cũng có khả năng tăng tốc
sản phẩm, thiết kế giao diện đẹp hơn trước. Đặc biệt là tiếng Việt cũng được hỗ trợ
trong Android Studio.

Android Studio hỗ trợ một loạt các giả lập để xem trước ứng dụng, vì vậy ngay
cả khi bạn khơng có thiết bị thử nghiệm, bạn vẫn có thể chắc chắn rằng mọi thứ đều
hoạt động trơn tru. Bên cạnh đó, loạt cơng cự như lời khun tối ưu hóa, đồ thị doanh
số bán hàng, và số liệu lấy từ phân tích sẽ giúp các nhà phát triển quản lý ứng dụng
đang bán của mình và tìm ra hướng đi cụ thể với từng thiết bị Android.

24


×