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

Đồ án xây dựng cửa hàng fastfood với tính năng gợi ý người dùng

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.11 MB, 41 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI
HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO ĐỒ ÁN 2
ĐỀ TÀI: XÂY DỰNG CỬA HÀNG FASTFOOD VỚI TÍNH NĂNG GỢI Ý
NGƯỜI DÙNG
GVHD: ThS. Nguyễn Thị Thanh Trúc

Sinh viên thực hiện: Đồn Thanh Hiền 17520057

🙡🙢 Tp. Hồ Chí Minh, 6/2023 🙠🙣


LỜI CẢM ƠN
Trong quá trình làm bài báo cáo, em đã nhận được sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của
thầy cơ, gia đình và bạn bè.
Em xin gửi lời cảm ơn chân thành đến thầy Nguyên Thị Thanh Trúc - giảng viên Trường ĐH CNTTĐHQG Tp HCM người đã tận tình hướng dẫn, góp ý và chỉ bảo em trong suốt quá trình làm báo cáo.
Ngoài ra, em cũng xin gửi lời cảm ơn đến những thầy cô giáo trong trường ĐH CNTT- ĐHQG Tp HCM
nói chung, các thầy cơ trong Khoa Cơng nghệ phần mềm nói riêng đã dạy dỗ cho em kiến thức về lập
trình, qua đó em có được cơ sở lý thuyết vững vàng và từ đó hồn thành tốt đồ án.
Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã ln tạo điều kiện, quan tâm, giúp đỡ, động
viên em trong suốt q trình hồn thành đồ án.

Thành phố Hồ Chí Minh, ngày 27 tháng 6 năm 2023

1


NHẬN XÉT
(Của giáo viên hướng dẫn)


……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
………………………………………

2


MỤC LỤC

Chương 1. GIỚI THIỆU CHUNG

5

1.1. Tổng quan đề tài

5

1.2. Lý do chọn đề tài

5

1.3. Đối tượng sử dụng

5

1.4. Phạm vi nghiên cứu

5

1.4.1. Phạm vi môi trường:

5

1.4.2. Phạm vi chức năng:

5

1.5. Yêu cầu


6

1.6. Công cụ áp dụng

6

1.7. Nền tảng công nghệ

6

1.8. Kế hoạch thực hiện

6

Chương 2. CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

7

2.1 Flutter

7

2.2 Firebase

7

2.3 Recommender System

8


Chương 3. THIẾT KẾ HỆ THỐNG

11

3.1. Yêu cầu chức năng

11

3.1.1. Sơ đồ Usecase

11

3.1.2. Danh sách tác nhân

11

3.1.3. Danh sách Use Case

12

3.1.4. Mô tả khái quát

13

3.1.5.

14

Biểu đồ phân rã chức năng


3.1.5.1.

Phân rã chức năng đăng nhập

14

3.1.5.2.

Phân rã chức năng quản lý người dùng

14

3.1.5.3.

Phân rã chức năng quản lý giỏ hàng

15

3.1.5.4.

Phân rã chức năng quản lý đơn hàng

16

3.1.5.5.

Phân rã chức năng quản lý tài khoản

17


3.1.6.

Biểu đồ tuần tự

3.1.6.1.

Biểu đồ tuần tự chức năng đăng nhập

18
18

3.1.5.2. Biểu đồ tuần tự chức năng thêm sản phẩm

19

3.1.5.3. Biểu đồ tuần tự chức năng đặt hàng

20

3.1.5.4. Biểu đồ tuần tự chức năng tìm kiếm sản phẩm

23

Chương 4. THIẾT KẾ CƠ SỞ DỮ LIỆU

23

4.1 Bảng cart

24


4.2 Bảng favorite_product

25

4.3 Bảng product

25

3


4.4 Bảng product_type

26

4.5 Bảng shipping

26

4.6 Bảng user

27

Chương 5. THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG

27

5.1. Màn hình Login


27

5.2. Màn hình đăng ký thành viên

29

5.3. Màn hình trang chủ

30

5.4. Màn hình thực đơn

31

5.5. Màn hình giỏ hàng

32

5.6. Màn hình thơng tin giao hàng

33

5.7. Màn hình tài khoản

34

5.7.1. Menu chính

34


5.7.2. Cài đặt giao diện

35

5.7.3. Thơng tin cá nhân

36

5.7.4. Lịch sử đặt hàng

37

5.8.

Màn hình thông tin sản phẩm

CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

38
39

6.1. Tổng kết

39

6.2. Hướng phát triển

39

CHƯƠNG 7. TÀI LIỆU THAM KHẢO


40

4


CHƯƠNG 1.

GIỚI THIỆU CHUNG

1.1. TỔNG QUAN ĐỀ TÀI
-

Tên ứng dụng: Jiji store.

-

Chủ đề: Xây dựng cửa hàng Fastfood với tính năng gợi ý người dùng.

-

Nền tảng phát triển: Android/IOS.

-

Recommender System: Collaborative Filtering.

1.2. LÝ DO CHỌN ĐỀ TÀI
Với kinh nghiệm bản thân thấy được mỗi lần mua các mặt hàng, đặt biệt là đồ ăn, chúng ta
thường khá mất thời gian ở khâu chọn các món ăn vì khơng biết được ở shop mình mua có

món mình thích khơng. Đối với những chổ mình đặt quen thì khi ăn quá nhiều những món
thường ăn, khơng biết có những món mới phù hợp với bản thân mình hay khơng? Để giải
quyết các vấn đề này, một số công ty lớn đã áp dụng Recommender System.
Nhận thức được điều này, em quyết định tìm hiểu và chọn đề tài: “Xây dựng cửa hàng Fastfood
với tính năng gợi ý người dùng”.
1.3. ĐỐI TƯỢNG SỬ DỤNG
-

Mọi người muốn mua sắm online qua ứng dụng

-

Quản trị viên quản lý ứng dụng

1.4. PHẠM VI NGHIÊN CỨU
1.4.1. PHẠM VI MÔI TRƯỜNG:
Ứng dụng mobile.
1.4.2. PHẠM VI CHỨC NĂNG:
- Đối với ứng dụng:
- Cho phép phía admin quản lý thơng tin sản phẩm.
- Cho phép phía admin quản lý đơn hàng.
- Cho phép phía admin quản lý doanh thu.
- Cho phép phía admin quản lý tài khoản người dùng
- Cho phép khách hàng thêm sản phẩm mong muốn vào giỏ hàng với số lượng có thể linh
hoạt điều chỉnh.
- Cho phép khách hàng xem thông tin các sản phẩm và có thể u thích sản phẩm
- Cung cấp được các sản phẩm gợi ý cho khách hàng
- Cho phép khách hàng thực hiện một chức năng cơ bản như đăng xuất, đăng nhập, đăng ký,
quên mật khẩu, chỉnh sửa hồ sơ cá nhân (chỉnh sửa ảnh đại diện, đổi mật khẩu).


5


1.5. YÊU CẦU
- Tính thân thiện: Ứng dụng phải dễ sử dụng, UI/UX thân thiện với người dùng.
- Tính đúng đắn: Ứng dụng chạy khơng lỗi.
- Tính thích nghi: Ứng dụng có thể chạy tốt trên nhiều trình duyệt, nhiều thiết
bị cấu hình phần cứng khác nhau.
- Tính tiến hóa: Ứng dụng phải có thể được phát triển thêm tính năng mà khơng gây
ảnh hưởng đến những tính năng đã phát triển trước đó.
- Tính bảo trì: Ứng dụng có thể thay đổi, chỉnh sửa các chức năng mà không gây
ảnh hưởng đến các chức năng khác.
- Tính tương tác: Ứng dụng tạo ra môi trường tương tác giữa hệ thống và người dùng.
1.6. CƠNG CỤ ÁP DỤNG
-

Cơng cụ phát triển: Visual Studio Code.

-

Công cụ quản lý dự án: Google Drive.

-

Công cụ soạn thảo báo cáo: Microsoft Word.

1.7. NỀN TẢNG CÔNG NGHỆ
-

Flutter.


-

Python.

-

Firebase.

- Recommender system
1.8. KẾ HOẠCH THỰC HIỆN
Thời gian thực hiện dự án bắt đầu từ 3/2023 đến ngày 6/2023

6


CHƯƠNG 2.

CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

2.1 FLUTTER
Flutter được Google giới thiệu là một người mới trong thế giới ứng dụng di động. Là một SDK mới của
Google dành cho các thiết bị di động giúp developers và designers xây dựng nhanh chóng ứng dụng
dành cho các thiết bị di động (Android, iOS). Flutter là dự án mã nguồn mở đang trong giai đoạn thử
nghiệm. Flutter bao gồm Reactive framework và công nghệ hiển thị 2D (2D rendering engine)và các
công cụ phát trển(development tool). Các thành phần này làm việc cùng nhau giúp ta thiết kế, xây
dựng, test, debug ứng dụng. Khơng có gì ngạc nhiên khi Flutter giúp các nhà phát triển tạo ra các ứng
dụng native đẹp mắt và giúp họ phát triển các ứng dụng đa nền tảng một cách dễ dàng.

2.2 FIREBASE

Firebase chính là một dịch vụ cơ sở dữ liệu được hoạt động ở trên nền tảng đám mây (Cloud). Đi kèm
với đó là một hệ thống máy chủ mạnh mẽ của Google. Hệ thống có chức năng chính là giúp cho người
dùng có thể lập trình ứng dụng thơng qua cách đơn giản hóa những thao tác với cá cơ sở dữ liệu.

7


2.3 RECOMMENDER SYSTEM
Recommender System là một trong những ứng dụng phổ biến nhất của khoa học dữ liệu ngày nay.
Chúng được sử dụng để dự đoán "rating" hoặc "preference" mà người dùng sẽ dành cho một mặt
hàng. Hầu hết mọi công ty công nghệ lớn đều đã áp dụng chúng dưới một số hình thức.






Amazon sử dụng nó để đề xuất sản phẩm cho khách hàng
Netflix sử dụng gợi ý phim cho người dùng
YouTube sử dụng nó để đề xuất các video và quyết định video sẽ phát tiếp theo trên chế độ
tự động phát
Facebook sử dụng nó để gợi ý kết bạn, đề xuất các trang để thích và mọi người theo dõi.

Một hệ thống gợi ý thường được chia thành 3 q trình chính:




Bước 1: Tìm các đặc trưng (features) có ảnh hưởng đến việc đánh giá của người dùng,
thơng qua việc phân tích và thăm dị dữ liệu

Bước 2: Phân tích và áp dụng giải thuật filtering phù hợp
Bước 3: Tiến hành training mơ hình

Đối với Collaborative filtering, chúng ta sử dụng 3 thành phần dữ liệu là user, item và ratings (1), cụ
thể:





Users: là danh sách người dùng
Item: Là dánh sách các món hàng
Ratings: là số điểm user đánh giá cho các bộ phim Để lưu trữ được 3 thành phần dữ liệu trên,
chúng ta tiếp tục sử dụng module read_csv của Pandas để lưu trữ, chúng ta gọi là ma trận user
– items. Cụ thể, ma trận user - items biểu diễn mức độ quan tâm (rating) của user với mỗi item.
Ma trận này được xây dựng từ dữ liệu.

Ma trận này có rất nhiều các giá trị miss. Nhiệm vụ của hệ thống là dựa vào các ơ đã có giá trị trong ma
trận trên (dữ liệu thu được từ trong quá khứ), thông qua mơ hình đã được xây dựng, dự đốn các ô còn

8


trống (của user hiện hành), sau đó sắp xếp kết quả dự đốn (ví dụ, từ cao xuống thấp) và chọn ra Top-N
items theo thứ tự rating giảm dần, từ đó gợi ý chúng cho người dùng.

*Chuẩn hóa dữ liệu:
Để có thể sử dụng ma trận này vào việc tính toán, chúng ta cần thay những dấu ‘?’ bởi một giá trị. Đơn
giản nhất có thể thay giá trị ‘0’ hay một cách khác là ‘2.5’ – giá trị trung bình giữa 0 và 5. Tuy nhiên,
cách tính này có độ chính xác thấp vì những giá trị này sẽ hạn chế với những users dễ hoặc khó tính.

Thay vào đó, ta sử dụng giá trị trung bình cộng ratings của mỗi user bằng cách trừ ratings của mỗi user
cho giá trị trung bình ratings tương ứng của user đó và thay dấu ‘?’ bằng giá trị 0.
Mục đích của cách xử lý này là: − Phân loại ratings thành 2 loại: giá trị âm (user khơng thích item) và
dương (user thích item). Các giá trị bằng 0 là những item chưa được đánh giá. − Số chiều của Utility
matrix thường rất lớn, trong khi lượng ratings biết trước thường rất nhỏ so với kích thước của ma trận.
Nếu thay dấu ‘?’ bằng ‘0’ thì chúng ta có thể sử dụng sparce matrix, tức ma trận chỉ lưu các giá trị khác 0
và vị trí của giá trị đó. Như vậy, việc lưu trữ sẽ tối ưu hơn.

*Tính tốn độ tương đồng:
Sau khi chuẩn hóa ma trận Utility, ta tính toán độ tương đồng giữa các users. Chúng ta sử dụng hàm
cosine similarity (hàm có sẵn của thư viện sklearn của Python). Dưới đây là công thức và hàm cosine
similarity

Kết quả sau khi tính tốn độ tương đồng (độ tương đồng là 1 con số trong khoảng -1 đến 1. Càng gần 1
thì càng tương đồng, càng gần -1 thì càng đối lập)

9


*Dự đoán rating:
Ta sẽ dự đoán ratings của một user với mỗi item dựa trên k users gần nhất (neighbor users), tương tự
như phương pháp K-nearest neighbors (KNN).

Trong đó, N(u, i) là tập k users gần nhất (có độ tương đồng cao nhất) với user u và đã từng đánh giá
item i. Ví dụ, ta dự đốn normalized rating của user u1 cho item i1 với k = 2 là số users gần nhất.
Thực hiện dự đoán cho các trường hợp missing ratings (chưa có dự đốn), ta sẽ thu được ma trận
normalized ratings matrix như ví dụ: Cuối cùng, cộng lại các giá trị ratings với ratings trung bình (ở
bước chuẩn hóa) theo từng cột. Chúng ta sẽ thu được ma trận hoàn thiện.

10



CHƯƠNG 3.

THIẾT KẾ HỆ THỐNG

3.1. YÊU CẦU CHỨC NĂNG
3.1.1. SƠ ĐỒ USECASE

Hình 3.2.1. Sơ đồ usecase

3.1.2. DANH SÁCH TÁC NHÂN

STT

Tên tác nhân

Mô tả

1

Admin

Chủ cửa hàng

2

Khách hàng

Người dùng


11


3.1.3. DANH SÁCH USE CASE

STT

Tác nhân

Tên Use-case

Mơ tả

1

Admin

Quản lí sản phẩm

CRUD, tìm kiếm

2

Admin

Quản lí người dùng

Sửa, xóa


3

Admin

Thống kê

Sửa, xóa

5

Customer

Quản lí giỏ hàng

sửa, xoá

6

Customer

Quản lý đơn hàng

7

Customer

Quản lý tài khoản

8


User, Customer

Xem chi tiết, thơng tin
sản phẩm

9

Admin

Đăng nhập

10

User

Đăng kí

11

User

Đăng nhập

12


12

User


Reset mật khẩu

13

Customer

Đổi mật khẩu

14

Customer

Đăng xuất

15

All

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

16

Customer

Thanh tốn đơn hàng

17

Customer


Kiểm tra trạng thái
đơn hàng

18

Customer

Thay đổi thông tin

19

Customer

Lưu thông tin giao
hàng

3.1.4. MÔ TẢ KHÁI QUÁT
-

-

Đăng nhập: Tác nhân Admin cần đăng nhập vào hệ thống để sử dụng các chức năng quản trị
của hệ thông. Khách hàng cần đăng nhập vào hệ thống để xác minh thông tin khách hàng và sử
dụng các chức năng. Các tác nhân có thể đăng xuất để kết thúc phiên làm việc.
Quản lý người dùng: Admin có thể xem, thêm, xóa sửa thơng tin người dùng và xóa tài khoản
người dùng
Quản lý sản phẩm: Admin có thể thêm, xem, xóa, sửa thơng tin sản phẩm.
Quản lý giỏ hàng: Khách hàng có thể thêm, xóa sửa sản phẩm trong giỏ hàng đã chọn.
Quản lý đơn hàng: Khách hàng có thể xem lại các đơn hàng đã đặt của bản thân.
Quản lý tài khoản: Người dùng có thể thay đổi một số thơng tin tài khoản, giao diện.


13


3.1.5. BIỂU ĐỒ PHÂN RÃ CHỨC NĂNG
3.1.5.1.

PHÂN RÃ CHỨC NĂNG ĐĂNG NHẬP

Biểu đồ phân rã chức năng đăng nhập của Admin
Kịch bản chính:
-

Chọn trang đăng nhập của Admin.
Sau khi vào trang đăng nhập, tại đây yêu cầu tài khoản và mật khẩu của Admin.
Sau khi nhập xong ấn đăng nhập.

Kịch bản khả dĩ:
-

Nếu nhập sai tài khoản hoặc mật khẩu, hệ thống sẽ thông báo lỗi và yêu cầu nhập lại.
Nếu nhập không đầy đủ thông tin yêu cầu sẽ thông báo yêu cầu nhập lại.

3.1.5.2.

PHÂN RÃ CHỨC NĂNG QUẢN LÝ NGƯỜI DÙNG

Biểu đồ phân rã chức năng quản lý người dùng

14



Đặc tả:
-

Tên ca sử dụng: Quản lý người dùng.
Tác nhân chính: Admin.
Mục đích: Quản lý những người dùng trong ứng dụng.
Yêu cầu đặc biệt: Phải đăng nhập trước khi làm việc với ca sử dụng này.

Kịch bản chính:
-

Hồn thành đăng nhập tại trang đăng nhập của Admin.
Vào mục quản lý và chọn người dùng.
Tại đây sẽ hiện ra danh sách người dùng.
Thực hiện các thao tác có sẵn trong quản lý người dùng.
Ấn đăng xuất để kết thúc.

Kịch bản khả dĩ: Nếu khơng là Admin thì khơng thể thực hiện thao tác này

3.1.5.3.

PHÂN RÃ CHỨC NĂNG QUẢN LÝ GIỎ HÀNG

Biểu đồ phân rã chức năng đặt hàng
Đặc tả:
-

Tên ca sử dụng: Giỏ hàng.

Tác nhân chính: Khách hàng.
Mục đích: Giúp đặt hàng theo mong muốn.
Yêu cầu: Chọn ít nhất một sản phẩm trước khi đặt hàng.
Yêu cầu đặc biệt: Đăng nhập tài khoản khách hàng trước khi thực hiện thao tác.

Kịch bản chính:
-

Xem thơng tin sản phẩm mình muốn chọn mua.
Ấn thêm để thêm sản phẩm vào giỏ hàng
Vào giao diện giỏ hàng thông qua biểu tượng giỏ hàng.
Cập nhập thông tin sản phẩm theo ý muốn cuối cùng.
Ấn thanh toán và điền đầy đủ các thông tin yêu cầu.
Ấn xác nhận để kết thúc đặt hàng, tiến hành thanh toán

15


Kịch bản khả dĩ: Nếu không đăng nhập tài khoản khách hàng thì khơng thể thực hiện các thao tác
trên.

3.1.5.4.

PHÂN RÃ CHỨC NĂNG QUẢN LÝ ĐƠN HÀNG

Biểu đồ đặc tả chứ năng quản lý đơn hàng
Đặc tả:
-

Tên ca sử dụng: Quản lý đơn hàng.

Tác nhân chính: Khách hàng.
Mục đích: Giúp khách hàng xem lại chi tiết các đơn đã đặt.
Yêu cầu đặc biệt: Đăng nhập tài khoản khách hàng trước khi thực hiện thao tác.

Kịch bản chính:
-

Khách hàng chọn vào mục tài khoản.
Chọn xem chi tiết đơn hàng.
Thực hiện các thao tác xem chi tiết đơn hàng.

Kịch bản khả dĩ: Nếu khơng đăng nhập tài khoản khách hàng thì khơng thể thực hiện các thao tác
trên.

16


3.1.5.5.

PHÂN RÃ CHỨC NĂNG QUẢN LÝ TÀI KHOẢN

Biểu đồ đặc tả chức năng quản lý tài khoản:
Đặc tả:
-

Tên ca sử dụng: Quản lý tài khoản.
Tác nhân chính: Khách hàng.
Mục đích: Giúp khách hàng quản lý được tài khoản đã tạo.
Yêu cầu đặc biệt: Đăng nhập tài khoản khách hàng trước khi thực hiện thao tác.


Kịch bản chính:
-

Khách hàng chọn vào mục tài khoản.
Thực hiện các thao tác cập nhật tài khoản đã có sẵn.

Kịch bản khả dĩ: Nếu khơng đăng nhập tài khoản khách hàng thì khơng thể thực hiện các thao tác
trên.

17


3.1.6. BIỂU ĐỒ TUẦN TỰ
3.1.6.1.

BIỂU ĐỒ TUẦN TỰ CHỨC NĂNG ĐĂNG NHẬP

Tên Use Case

Đăng nhập

Tác nhân chính

Người dùng

Tiền điều kiện

Kích hoạt hệ thống

Đảm bảo thành công


Đăng nhập thành công

Luồng sự kiện chính
-

Người dùng chọn chức năng đăng nhận trên hệ thống.

-

Hiển thị màn hình đăng nhập.

-

Người dùng nhập thơng tin.

-

Hệ thống ghi nhận và hiển thị kết quả.

Luông sự kiện rẽ nhánh
-

Thông tin đăng nhập không hợp lệ, hiển thị thông báo tương ứng cho phép người
dùng nhập lại và quay lại bước 3.

-

Hậu điều kiện: Hệ thống hiển thị kết quả tìm kiếm.


18


3.1.5.2. BIỂU ĐỒ TUẦN TỰ CHỨC NĂNG THÊM SẢN PHẨM

Tên Use Case

Thêm sản phẩm

Tác nhân chính

Admin

Tiền điều kiện

Kích hoạt hệ thống

Đảm bảo thành công

Thêm sản phẩm thành công

Luồng sự kiện chính
-

Admin chọn chức năng thêm thơng tin sản phẩm trên hệ thống.

-

Hiển thị yêu cầu và xác nhận thêm sản phẩm.


-

Xác nhận thêm sản phẩm.

-

Hệ thống ghi nhận và hiển thị kết quả.

19


3.1.5.3. BIỂU ĐỒ TUẦN TỰ CHỨC NĂNG ĐẶT HÀNG

Tên Use Case

Đặt hàng

Tác nhân chính

Khách hàng

Tiền điều kiện

Kích hoạt hệ thống

Đảm bảo thành công

Đặt hàng thành công

20



Luồng sự kiện chính
-

Khách hàng chọn sản phẩm mình muốn mua, hệ thống kiểm tra số lượng
trong cơ sở dữ liệu, thêm vào giỏ hàng và hiển thị thông báo cho khách
hàng.

-

Khách hàng vào trang giỏ hàng, cập nhật số lượng mua theo mong muốn,
hệ thống xử lý thông tin cập nhật và hiển thị lại giỏ hàng sau khi cập nhât.

-

Khách hàng kết thúc chọn bằng cách xác nhận thanh tốn và hệ thống u
cầu nhập thơng tin của khách hàng.

-

Sau khi nhập đầy đủ xong, khách hàng ấn nút thanh toán để kết thúc phiên
đặt hàng và gửi thông tin sản phẩm cùng với thông tin cá nhân tới cửa
hàng.

21


22



3.1.5.4. BIỂU ĐỒ TUẦN TỰ CHỨC NĂNG TÌM KIẾM SẢN PHẨM

Tên Use Case

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

Tác nhân chính

Khách hàng

Tiền điều kiện

Kích hoạt hệ thống

Đảm bảo thành cơng

Tìm kiếm thành cơng

Luồng sự kiện chính
-

Người dùng vào ứng dụng, tìm đến trang sản phẩm.

-

Người dùng nhấp vào từ khóa sản phẩm cần tìm.

-


Hệ thống kiểm tra thơng tin và hiển thị sản phẩm khách hàng cần tìm.

CHƯƠNG 4. THIẾT KẾ CƠ SỞ DỮ LIỆU

23


4.1 BẢNG CART

STT

Tên thuộc tính

Loại

1

id

string

2

amout

number

3

name


string

4

price

number

5

productId

string

24


×