ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
BÁO CÁO CUỐI KÌ
ĐỒ ÁN 2
ĐỀ TÀI: ỨNG DỤNG BÁN HÀNG
Giảng viên hướng dẫn : ThS. Trần Anh Dũng
Sinh viên thực hiện: Nguyễn Xuân Son
MSSV: 19522141
Thành phố Hồ Chí Minh, 20 tháng 6 năm 2022
MỤC LỤC
Chương 1.
GIỚI THIỆU CHUNG ........................................................................2
1.1.
Lý do chọn đề tài .........................................................................................2
1.2.
Quá trình thực hiện ......................................................................................2
1.3.
Tổng quan về chức năng .............................................................................3
Chương 2.
CƠ SỞ LÝ THUYẾT ..........................................................................4
2.1.
Android Studio ............................................................................................4
2.2.
Java ..............................................................................................................5
2.3.
PHP .............................................................................................................6
2.4.
GitHub .........................................................................................................7
Chương 3.
3.1.
XÂY DỰNG HỆ THỐNG ................................................................71
Xây dựng kiến trúc hệ thống .....................................................................71
3.1.1.
Sơ đồ hệ thống ...................................................................................71
3.1.2.
Sơ đồ use case....................................................................................72
3.1.3.
Sơ đồ lớp............................................................................................92
3.1.4.
Cơ sở dữ liệu....................................................................................102
3.2.
Thiết kế giao diện ....................................................................................107
3.2.1.
Giao diện ứng dụng .........................................................................107
Chương 4.
KẾT LUẬN .....................................................................................142
4.1.
Kết quả đạt được .....................................................................................142
4.2.
Ưu điểm ...................................................................................................142
4.3.
Nhược điểm và giải pháp ........................................................................142
4.3.1.
Nhược điểm .....................................................................................142
4.3.2.
Giải pháp .........................................................................................142
DANH MỤC HÌNH
Hình 2.1-1: Android Studio.........................................................................................3
Hình 2.2-1: Ngơn ngữ lập trình Java ...........................................................................5
Hình 2.3-1: Ngơn ngữ lập trình PHP...........................................................................6
Hình 2.4-1: GitHub .....................................................................................................7
Hình 3.1-1: Sơ đồ hệ thống .......................................................................................71
Hình 3.1-2: Sơ đồ use c .............................................................................................72
Hình 3.1-3: Sơ đồ lớp ................................................................................................92
Hình 3.1-4: Sơ đồ logic của cơ sở dữ liệu ...............................................................102
Hình 3.2-1: Screen ..................................................................................................107
Hình 3.2-2: Đăng ký ................................................................................................108
Hình 3.2-3: Đăng nhập ............................................................................................109
Hình 3.2-4: Trang chủ .............................................................................................110
Hình 3.2-5: Trang điện thoại ...................................................................................111
Hình 3.2-6: Trang laptop .........................................................................................113
Hình 3.2-7: Trang chi tiết sản phẩm .......................................................................114
Hình 3.2-8: Trang giỏ hàng .....................................................................................116
Hình 3.2-9: Trang thanh tốn ..................................................................................118
Hình 3.2-10: Trang đơn hàng ..................................................................................120
DANH MỤC TỪ VIẾT TẮT
#
Từ viết tắt
Từ đầy đủ
Ý nghĩa
1
PHP
Hypertext Preprocessor
Ngôn ngữ kịch bản mã nguồn mở
2
CSDL
Cơ sở dữ liệu
Cơ sở dữ liệu cho ứng dụng
3
API
Application
Programming Interface
Giao diện lập trình ứng dụng
4
HTTP
HyperText Transfer
Protocol
Giao thức truyền siêu văn bản
5
MySQL
Structured Query
Language
Cơ sở dữ liệu quan hệ MySQL
6
MVC
Model-ViewController
Mơ hình lập trình
Bảng 1.1-1: Danh mục từ viết tắt
TÓM TẮT ĐỒ ÁN
Tên đồ án: Ứng dụng bán hàng
Nền tảng phát triển: Mobile – Android
Ngôn ngữ: Java – Hệ quản trị cơ sở dữ liệu: MySQL
Sơ lược đồ án:
Ứng dụng được xây dựng nhằm tạo ra môi trường bán hàng online cho các shop
kinh doanh nhỏ lẻ phục vụ nhu cầu mua sắm trực tuyến
1
Chương 1. GIỚI THIỆU CHUNG
Lý do chọn đề tài
1.1.
Hiện nay, nhu cầu mua sắm online của mọi người ngày một gia tăng . Cùng
với sự hạn chế đi lại do dịch covid 19 khiến mọi người dần chuyển sang hình thức
mua sắm trực tuyến. Để đáp ứng nhu cầu đó, em quyết định chọn đề tài này nhằm
cung cấp một shop online giúp kết nối giữa người bán và những khách hàng có nhu
cầu mua sắm online
Ứng dụng sẽ cung cấp cho người dùng những công cụ tốt nhất để người
dùng có thể tiếp cận đến những sản phẩm, mặt hàng dựa theo nhu cầu. Giúp người
mua và người bán thuận tiện nhất trong việc mua sắm, tiếp cận khách hàng
Quá trình thực hiện
Sau quá trình tìm hiểu và thực hiên đề tài,nhóm đã giải quyết các thắc mắc đã đề ra ban
1.2.
đầu,
giải quyết từng bước và đặt ra những vấn đề mới giúp cho bài đồ án mang tính logic và
hồn thiện hơn. Những điều mà nhóm làm được trong đề tài:
- Phân tích yêu cầu đề tài
- Lựa chọn công nghệ và nền tảng phát triển phù hợp với đề tài
- Nghiên cứu cơ sở lý thuyết của công nghệ đã chọn
- Áp dụng lý thuyết vào xây dựng ứng dụng thực tiễn
- Kiểm tra và khám phá các ứng dụng tương tự để tối ưu hoá và cải thiện thêm các tính
năng cho ứng dụng
1.3 Tổng quan về chức năng
Các chức năng chính bao gồm:
-
Đăng nhập, đăng ký , quên mật khẩu,…
-
Xem sản phẩm, chi tiết sản phẩm, thêm vào giỏ hàng, đặt hàng
-
Xem thông tin đơn hàng, chi tiết đơn hàng và trạng thái giao hàng,…
2
Chương 2. CƠ SỞ LÝ THUYẾT
2.1.
Android Studio
Hình 2.1-1: Android Studio
Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng để
phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như các loại điện
thoại smartphone, các tablet... Android Studio được đóng gói với một bộ code editor,
debugger, các công cụ performance tool và một hệ thống build/deploy (trong đó có
trình giả lập simulator để giả lập môi trường của thiết bị điện thoại hoặc tablet trên
máy tính) cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ
đơn giản tới phức tạp.
3
2.2.
Java
Hình 2.2-1: Ngôn ngữ lập trình Java
Java là một trong những ngơn ngữ lập trình hướng đối tượng, thường được sử
dụng trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di
động.
Về đặc điểm của ngơn ngữ lập trình Java, Java dễ học và quen thuộc với đa số
người lập trình. Một chương trình được viết bằng ngơn ngữ Java có thể chạy tốt ở
nhiều mơi trường khác nhau. Java hỗ trợ lập trình đa tiến trình (multithread) để thực
thi các cơng việc đồng thời. Đồng thời cũng cung cấp giải pháp đồng bộ giữa các tiến
trình (giải pháp sử dụng priority…).
4
2.3.
PHP
Hình 2.3-1: Ngôn ngữ lập trình PHP
PHP là viết tắt của Hypertext Preprocessor. PHP là một ngôn ngữ kịch bản mã
nguồn mở, thông dịch và hướng đối tượng, được thực hiện ở phía máy chủ.
Đối với dự án di động, PHP được sử dụng để viết các Web API nhằm mục
đích giao tiếp với server database MySQL. API là viết tắt của Application
Programming Interface – giao diện lập trình ứng dụng. API cung cấp khả năng cung
cấp khả năng truy xuất đến một tập các hàm hay dùng. Và từ đó có thể trao đổi dữ
liệu giữa các ứng dụng. Web API là một phương thức dùng để cho phép các ứng dụng
khác nhau có thể giao tiếp, trao đổi dữ liệu qua lại. Dữ liệu được Web API trả lại
thường ở dạng JSON hoặc XML thông qua giao thức HTTP hoặc HTTPS.
5
2.4.
GitHub
Hình 2.4-1: GitHub
GitHub là một hệ thống quản lý dự án và phiên bản code, hoạt động giống như
một mạng xã hội cho lập trình viên. Các lập trình viên có thể clone lại mã nguồn từ
một repository và Github chính là một dịch vụ máy chủ repository cơng cộng, mỗi
người có thể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể
làm việc. Github có đầy đủ những tính năng của Git, ngồi ra nó cịn bổ sung những
tính năng về social để các developer tương tác với nhau.
Github cung cấp các tính năng social networking như feeds, followers, và
network graph để các developer học hỏi kinh nghiệm của nhau thông qua lịch sử
commit.
6
Chương 3. XÂY DỰNG HỆ THỐNG
3.1.
Xây dựng kiến trúc hệ thống
Hệ thống được xây dựng theo mơ hình MVC. Trong đó, các models giao tiếp với
database thơng qua các API
Model: Lưu trữ tất cả dữ liệu của ứng dụng. Bộ phận này là cầu nối giữa cơ sở
dữ liệu quản lý cả nhân và trình bày giao diện người dùng. Cho phép người dùng có thể
nhập và xuất đến các cơ sở dữ liệu lần lượt theo quyền của họ khi cần thiết và dữ liệu
sẽ được lưu dữ trên database.
View: giao diện người dùng, nơi người dùng có thể lấy được thông tin dữ liệu
của MVC thông qua các công thức truy vấn và ghi lại hoạt động của người dùng để
tương tác với Controller
Controller: xử lý yêu cầu từ người dùng thơng qua View. Từ đó, Controller gửi
dữ liệu hợp lý đến người dùng bằng các kết nối đến Model và trưng bày nó trên View
cho người dùng
3.1.1. Sơ đồ hệ thống
Hình 3.1-1: Sơ đồ hệ thống
3.1.2. Sơ đồ use case
3.1.2.1.
Sơ đồ use case
Hình 3.1-2: Sơ đồ use case
3.1.3. Cơ sở dữ liệu
3.1.3.1.
Sơ đồ logic
Hình 3.1-4: Sơ đồ logic của cơ sở dữ liệu
3.1.3.2.
Danh sách các quan hệ
(a) Bảng danh mục : Thông tin danh mục
STT
Thực thể
Kiểu dữ liệu
1
id
2
tensanpham
varchar(100)
3
hinhanh
text
Ghi chú
int(11)
Độc nhất. Không thay đổi.
Ảnh mặt hàng
Bảng 3.1-20: sanpham
(b) Bảng sanphamoi : Thông tin sản phẩm
STT
Thực thể
Kiểu dữ liệu
Ghi chú
1
id
2
tensp
varchar(250)
3
giasp
Varchar(100)
4
hinhanh
text
Ảnh sản phẩm
5
mota
text
Mô tả sản phẩm
6
loai
Int(2)
int(11)
Tên hiển thị. Có thể thay đổi
Giá của sản phẩm
Bảng 3.1-21:sanphamoi
(c) Bảng user: Thông tin người dùng
STT
Thực thể
Kiểu dữ liệu
1
id
2
Email
3
Pass
Varchar(250)
4
username
Varchar(100)
5
Mobile
Varchar(15)
Ghi chú
Int(11)
Varchar(250)
Email đăng ký, đăng nhập tài
khoản
Mật khẩu đăng nhập
Tên đăng nhập
Số điện thoại đăng ký
Bảng 3.1-22: User
(d) Bảng donhang: Thông tin đơn hàng
STT
Thực thể
Kiểu dữ liệu
Ghi chú
1
id
2
iduser
Int(11)
3
diachi
Text
4
sodienthoai
Varchar(255)
5
email
varchar(255)
6
soluong
Int(11)
7
tongtien
varchar(255)
Int(11)
Id người dùng đặt hàng
Địa chỉ nhận hàng
Số lượng mặt hàng đã đặt
Tổng số tiền sản phẩm
Bảng 3.1-23: donhang
(e) Bảng chitietdonhang: Thông tin chi tiết đơn hàng
STT
1
Thực thể
Kiểu dữ liệu
Ghi chú
Int(11)
iddonhang
2
idsp
Int(11)
Mã sản phẩm
3
soluong
Int(11)
Số lượng sản phẩm
4
gia
Varchar(255)
Giá thành sản phẩm
3.2.
hiết kế giao diện
3.2.1. Giao diện ứng dụng
T
Hình 3.2-1: Screen
(a) Đăng Ký
Hình 3.2-2: Đăng Ký
Đăng ký tài khoản cho người dùng bằng Email, số điện thoại, mật khẩu và tên
người dùng
STT
Tên đối tượng
Loại
1
Email
EditText
2
Username
EditText
3
Mobile
EditText
4
Password
EditText
Chức năng
Nhập Email đăng ký tài khoản
Nhập tên ngươi dùng
Nhập số điện thoại
Nhập mật khẩu người dùng
5
Password
EditText
Xác nhận lại mật khẩu
Bảng 3.2-1: Các đối tượng trên màn hình đăng ký
(b) Đăng Nhập
Hình 3.2-3: Đăng nhập
Cung cấp chức năng xác thực tài khoản người dùng có hợp lệ hay không ?
Nếu thông tin hợp lệ sẽ chuyển sang màn hình trang chủ
STT
Tên đối tượng
Loại
Chức năng
1
Email
EditText
Nhận email nhập vào
EditText
Nhập mật khẩu tương ứng
2
Mật Khẩu
3
Đăng Nhập
4
Quên mật khẩu
Textview
Yêu cầu đăng nhập vào hệ
thống
Quên mật khẩu người dùng
5
Đăng ký ngay
Textview
Đăng ký tài khoản
AppCompatButton
Bảng 3.2-2: Các đối tượng trên màn hình đăng nhập
(c) Trang Chủ
(d)
Hình 3.2-4: Trang chủ
Hiển thị banner quảng cáo, hiển thị danh sách các sản phẩm đang bán.
STT
Tên đối tượng
Loại
Chức năng
1
Tìm kiếm
AppCompatButton
Tìm kiếm sản phẩm
2
Giỏ hàng
AppCompatButton
Xem thơng tin giỏ hàng
3
Danh sách mặt
hàng
RecycleView
Hiển thị danh sách sản phẩm
đang được bán
Bảng 3.2-3: Các đối tượng trên Trang Chủ
(e) Điện Thoại
Hình 3.2-5: Trang mặt hàng
Đây là trang hiển thị các sản phẩm là Điện thoại đi động
STT
Tên đối tượng
Loại
Chức năng
1
Danh sách
RecycleView
Hiển thị danh sách điện thoại
Bảng 3.2-4: Các đối trượng trên trang điện thoại
(f) Laptop
Hình 3.2-6: Trang laptop
Trang hiển thị danh sách laptop đang bán
STT
Tên đối tượng
Loại
Chức năng
1
Danh sách
RecycleView
Hiển thị danh sách laptop
Bảng 3.2-5: Các đối tượng trên Trang laptop
(g) Chi tiết sản phẩm
Hình 3.2-7: Trang chi tiết sản phẩm
Trang hiển thị chi tiết thơng tin của một sản phẩm bất kì . Từ đây người dùng
có thể xem thơng tin chi tiết của sản phẩm đó và chọn số lượng để thêm vài giỏ hàng.
STT
Tên đối tượng
Loại
Chức năng
1
Tên sản phẩm
TextView
Hiển thị tên sản phẩm
2
Giá
TextView
Hiển thị giá thành của sản phẩm
3
Chọn số lượng
Spinner
Chọn số lượng sản phẩm
4
Thêm vào giỏ
AppCompatButton
Thêm đối tượng vào giỏ hàng
Bảng 3.2-6: Các đối tượng trên chi tiết sản phẩm
(h) Giỏ hàng
Hình 3.2-8: giỏ hàng
Đây là các màn hình hiển thị danh sách sản phẩm đã cho vào giỏ hàng .
Hiển thị tổng số tiền mà các sản phẩm đã được chọn cũng như chỉnh sửa số
lượng sản phẩm cần mua
STT
Tên đối tượng
Loại
1
Dách sách mặt
hàng
Item
2
Tổng tiền
TextView
Chức năng
Hiển thị các sản phẩm đã thêm
vào giỏ
Hiển thị tông tiền mặt hàng
Xác nhận mặt hàng đã chọn
3
Mua hàng
AppCompatButton
Bảng 3.2-7: Các đối tượng trên giỏ hàng
(i) Thanh tốn
Màn hình hiển thị tổng tiền , số điện thoại, email và địa chỉ khi đặt hàng . Có thể
thanh tốn trước khi nhận hàng hoặc sau khi nhận hàng
Hình 3.2-9: Trang thanh tốn
Màn hình này cho phép người dùng xem lại tổng tiền hàng đã mua . Nhập địa chỉ
nhận hàng và đặt hàng
STT
Tên đối tượng
Loại
1
Tổng tiền
TextView
Chức năng
Hiển thị tổng tiền hàng