Professional Documents
Culture Documents
BTLKy Thuat Phan Mem 1234
BTLKy Thuat Phan Mem 1234
BÁO CÁO ĐỒ ÁN CƠ SỞ
Đề tài: Thiết kế ứng dụng quản lý nhà hàng
Họ và tên MSSV
Phạm Hoàng Anh 21011234
Đinh Tiến Đạt 21013111
Trịnh Huy Tiệp 210125223
Đoàn Xuân Trường 21011227
Hà Nội, 04/2023
LỜI NÓI ĐẦU
Ngày nay, cuộc cách mạng công nghiệp 4.0 đang bắt đầu bùng nổ trên toàn
cầu đã mang đến những thách thức cho thế giới nói chung và cho Việt Nam trên
tất cả các lĩnh vực: kinh tế, kỹ thuật, y tế,…trong đó có lĩnh vực công nghệ
thông tin. Việc phát triển công nghệ thông tin, ứng dụng trí tuệ nhân tạo trong
đời sống là một trong những xu hướng mới mà xã hội đang hướng tới cũng và
đòi hỏi những người kỹ sư, những sinh viên đại học phải nắm vững, hiểu rõ
những kiến thức về các ngôn ngữ lập trình, cơ sở dữ liệu, lập trình hướng đối
tượng, kỹ thuật phần mềm,…và cách ứng dụng chúng để có thể bắt kịp được sự
phát triển của thời đại.
Được sự hướng dẫn của TS.Trịnh Thanh Bình – cán bộ trực tiếp giảng
dạy học phần Kỹ thuật phần mềm, với sự nhiệt tình và tâm huyết đã trang bị
những kiến thức quý giá, giải đáp thắc mắc giúp chúng em có được những kỹ
năng trong việc ứng dụng kỹ thuật phần mềm vào việc phát triển đề tài Thiết kế
ứng dụng quản lý nhà hàng. Chúng em mong rằng đề tài sau khi thực hiện sẽ
được hoàn thiện và phát triển giúp cho việc quản lý cũng như vận hành trong
lĩnh vực nhà hàng dịch vụ sẽ trở nên số hóa, tiện lợi và dễ dàng hơn.
Do hạn chế về mặt thời gian và hiểu biết, đề tài của chúng em có thể còn
nhiều thiết sót, rất mong sẽ nhận được sự góp ý, bổ sung từ thầy và các bạn để
nhóm chúng em có thể hoàn thiện vốn kiến thức của mình, tạo hành trang vững
chắc cho việc phát triển trong tương lai.
2
MỤC LỤC
LỜI NÓI ĐẦU.....................................................................................................2
1. Giới thiệu.......................................................................................................7
KẾT LUẬN......................................................................................................124
4
DANH MỤC HÌNH ẢNH
Hình 1-1 Tổng quan về nhà hàng XOXO 9
Hình 3.1.1.a Thiết kế màn hình đăng nhập 18
Hình 3.1.1.b Biểu đồ use-case đăng nhập 19
Hình 3.1.2.a Thiết kế màn hình đăng kí 21
Hình 3.1.2.b Biểu đồ use-case đăng kí 22
Hình 3.1.3.a Thiết kế màn hình Forgot Password 24
Hình 3.1.3.b Biểu đồ use-case Forgot Password 25
Hình 3.2.a Biểu đồ use-case quản lý tài khoản 27
Hình 3.2.1.a Thiết kế màn hình Restaurant Details 28
Hình 3.2.2.a Thiết kế màn hình trong Profile 30
Hình 3.2.3.a Thiết kế màn hình trong Add User 32
Hình 3.2.4.a Thiết kế màn hình trong Support 35
Hình 3.2.5.a Thiết kế màn hình trong User List 37
Hình 3.3.1.a Thiết kế màn hình trong HomePage Admin 39
Hình 3.3.2.a Thiết kế màn hình trong HomePage User 45
Hình 3.4.a Biểu đồ use-case mô tả sự quản lý vận hành 47
Hình 3.4.1.a Thiết kế màn hình trong My Customer 48
Hình 3.4.2.a Thiết kế màn hình cho Order History 50
Hình 3.5.a Biểu đồ use-case về quản lý đặt hàng 53
Hình ảnh 3.5.1.a Thiết kế màn hình trong Order List 54
Hình 3.5.2.a Thiết kế màn hình trong Arrange Table 56
Hình 3.5.3.a Thiết kế màn hình trong Order Details 58
Hình 3.6.a Biểu đồ use-case các thao tác trong Menu của Admin 61
Hình 3.6.1.a Thiết kế trong List Menu 62
Hình 3.6.2.a Thiết kế màn hình trong Add Item 66
Hình 3.6.3.a Thiết kế màn hình trong Add Item 69
Hình 3.7.a Biểu đồ use-case quản lý các Item 72
Hình 3.7.1.a Thiết kế màn hình cho Items List 73
Hình 3.7.2.a Thiết kế màn hình trong Add Item 77
Hình 3.7.3.a Thiết kế màn hình trong Edit Item 80
Hình 3.8.a Biểu đồ use-case Category Management 83
Hình 3.8.1.a Thiết kế màn hình cho Category List 84
Hình 3.8.2.a Thiết kế màn hình trong Add Category 88
Hình 3.8.3.a Thiết kế màn hình trong Add Category 90
Hình 3.9.a Biểu đồ use-case quản lý nhân viên 93
Hình 3.9.1.a Thiết kế màn hình trong Employee List 94
5
Hình 3.9.2.a Thiết kế màn hình trong Add Employee 99
Hình 3.9.2.a.1 Thiết kế màn hình trong Edit Employee 100
Hình 3.10.a Biểu đồ use-case về quản lý bàn 104
Hình 3.10.1.a Thiết kế màn hình trong Table List 105
Hình 3.10.2.a Thiết kế màn hình trong Edit Table 109
Hình 3.11.a: Biểu đồ use-case quản lý bữa ăn 111
Hình 3.11.1.a Thiết kế màn hình trong Meal List 112
Hình ảnh 3.12.a Biểu đồ use-case thao tác đặt hàng của khách hàng 114
Hình 3.12.1.a Thiết kế màn hình trong List Food Items 115
Hình 3.12.2.a Màn hình thiết kế trong Details Food Items 117
Hình 3.12.3.a Thiết kế màn hình trong Cart 119
HÌnh 3.12.4.a Thiết kế màn hình trong Check Out 121
6
BẢNG PHÂN CÔNG CÔNG VIỆC
Họ Và
STT MSSV Nội dung công việc
Tên
2 Phạm 21011234 Viết báo cáo, phân chia công việc, hỗ trợ các phần
Hoàng khác
Anh User Profile
Contact Us
User List
My customer
Order History
Order List
Order Details
List Menu
Add Menu
7
Edit Menu
8
1. Giới thiệu
1.1. Mục đích
Hệ thống quản lý nhà hàng (Restaurant Management System) là một giải
pháp phần mềm được thiết kế để giúp các nhà hàng tự động hóa hoạt động của
họ, nâng cao hiệu quả và nâng cao trải nghiệm của khách hàng. Hệ thống này
thường bao gồm các mô-đun cho điểm bán hàng (POS), quản lý hàng tồn kho,
quản lý quan hệ khách hàng (CRM) và báo cáo. Mục tiêu của hệ thống quản lý
nhà hàng là hợp lý hóa hoạt động, giảm lỗi thủ công và cung cấp thông tin chi
tiết theo thời gian thực về hiệu suất của doanh nghiệp.
1.2. Phạm vi
1.2.1. Các chức năng/phi chức năng hệ thống quản lý nhà hàng: Hệ thống
sẽ hỗ trợ cho các chủ nhà hàng (ADMIN) có thể quản lý đơn hàng của
9
họ một cách dễ dàng, ít sai sót; với chiều ngược lại, các khách đặt
hàng (USER) có thể đặt hàng và thanh toán một cách nhanh chóng và
thuận tiện. Với giao diện dễ nhìn và tính bảo mật được đảm bảo, hệ
thống sẽ đem lại trải nghiệm tốt và sự yên tâm cho người dùng trong
quá trình sử dụng.
1.2.2. Kỹ thuật được sử dụng: Hệ thống được viết bằng ngôn ngữ lập trình
Java trên nền tảng Android Studio kêt hợp với Room Database để có
thể xử lý cơ sở dũ liệu.
1.3. Từ điển thuật ngữ
10
2. Các yêu cầu chức năng
2.1. Chức năng của màn hình
Bảng 2.1. Chức năng của màn hình
System
# Feature Description
Function
Nhập email, mật khẩu. Liên kết đến
1 Login User Login Quên mật khẩu & Đăng ký người
dùng.
Đăng ký để trở thành thành viên của
2 Register Register
ứng dụng.
Forgot
3 Forgot password Màn hình này đặt lại mật khẩu
password
Account Restaurant Hiển thị và chỉnh sửa thông tin nhà
4
Management Details hàng
Màn hình này hiển thị thông tin của
Account
5 Profile người dùng. Truy cập để chỉnh sửa
Management
thông tin
Account Change
6 Màn hình này thay đổi mật khẩu mới
Management password
Account Màn hình này hiển thị liên hệ của
7 Contact Us
Management người tạo ứng dụng với quản trị viên
Menu của Admin cho hệ thống quản
8 Home Home Admin
lý
Trang chủ cho người dùng (Khách
9 Home Home User
hàng)
Account Hiển thị danh sách người dùng của
10 User List
Management hệ thống
11
Operational
Màn hình này hiển thị danh sách
11 Report My Customer
khách hàng đã đến nhà hàng
Management
Operational Màn hình này hiển thị danh sách đơn
12 Report Order History đặt hàng của khách hàng và trạng
Management thái của họ cho quản trị viên
Màn hình này hiển thị danh sách đơn
Order Order List
13 đặt hàng của khách hàng và trạng
Management
thái của họ cho quản trị viên
Order Order Details Màn hình này hiển thị danh sách đơn
14
Management hàng cho người dùng
Additional Màn hình này hiển thị menu danh
15 List Menu
Menu sách cho người dùng
Additional Màn hình này mà quản trị viên thêm
16 Add Menu
Menu một người đàn ông
Additional Màn hình này hiển thị và chỉnh sửa
17 Edit Menu
Menu chi tiết menu cho quản trị viên
Item Items List Màn hình này hiển thị danh sách Các
18
Management món của nhà hàng
Item Add Item Màn hình này mà quản trị viên thêm
19
Management các mục vào Menu
Item Edit Item Màn hình này quản trị viên chỉnh sửa
20
Management thông tin của các mục
Category Category List Màn hình này hiển thị danh sách các
21
Management danh mục nhà hàng
Màn hình này mà quản trị viên thêm
Category
22 Add Category một danh mục vào phân loại sản
Management
phẩm
23 Category Edit Category Màn hình này quản trị viên chỉnh sửa
12
Management thông tin của một danh mục
Employee Màn hình này hiển thị danh sách
24 Employee List
Management nhân viên của nhà hàng
Employee Màn hình này thêm nhân viên trong
25 Add Employee
Management nhà hàng
Employee Màn hình này chỉnh sửa nhân viên
26 Edit Employee
Management trong nhà hàng
Table Màn hình này hiển thị bảng danh
27 List Table
Management sách nhà hàng để quản trị viên
Table Màn hình này mà quản trị viên thêm
28 Add Table
Management bảng
Table Màn hình này hiển thị và chỉnh sửa
29 Edit Table
Management chi tiết bảng cho quản trị viên
Arrange Table Màn hình này Sắp xếp Bảng cho Đơn
Table
30 for Order hàng
Management
Số người dùng
Meal Màn hình này hiển thị danh sách bữa
31 Meal List
Management ăn của nhà hàng
Màn hình này hiển thị cho khách
Customer
32 List Food Items hàng danh sách các mặt hàng thực
Build Order
phẩm của nhà hàng
Customer Food Items Màn hình này hiển thị và chỉnh sửa
33
Build Order Detail chi tiết các mặt hàng thực phẩm
Customer Màn hình này dành cho khách hàng
34 Cart
Build Order hiển thị và chỉnh sửa chi tiết giỏ hàng
Customer Màn hình này cho thông tin điền của
35 Check out
Build Order khách hàng và kiểm tra Hóa đơn
13
2.2. Yêu cầu chung
- Hệ thống chia người dùng thành 3 vai trò: khách hàng, bếp trưởng và
Admin.
- Người dùng có thể đăng ký vào các ứng dụng.
- Người dùng có thể thay đổi mật khẩu.
- Người dùng có thể đăng nhập vào tài khoản của họ.
- Người dùng muốn quản lý hồ sơ cá nhân của họ.
- Quản trị viên có thể quản lý chi tiết nhà hàng.
- Quản trị viên có thể quản lý mục (thực phẩm), thêm và chỉnh sửa thực
phẩm trong hệ thống.
- Quản trị viên có thể quản lý danh mục thực phẩm.
- Admin có thể quản lý menu, thêm hoặc xóa món ăn vào menu.
- Admin có thể quản lý thứ tự khách hàng lựa chọn, chấp nhận hoặc từ chối
đơn hàng
- Quản trị viên có thể quản lý phiếu mua hàng hoặc phiếu giảm giá cho
người dùng.
- Quản trị viên có thể quản lý bàn trong nhà hàng và thời gian thiết lập cho
nhà hàng.
- Quản trị viên có thể kiểm tra khách hàng đặt đồ ăn hoặc bàn trong nhà
hàng.
- Quản trị viên có thể quản lý hàng tồn kho, thêm hoặc xóa mặt hàng vào
kho.
- Quản trị viên có thể quản lý tài chính mỗi tháng.
- Quản trị viên có thể quản lý nhân viên.
- Khách hàng có thể xem thực đơn đồ ăn.
- Khách hàng có thể xem chi tiết món ăn.
- Khách hàng có thể đặt bàn.
- Khách hàng có thể chọn thực phẩm và lưu trữ chúng trong giỏ hàng.
- Khách hàng muốn có thể tìm kiếm thực phẩm bằng một từ khóa.
- Khách hàng muốn có thể tìm kiếm thực phẩm theo một danh mục.
14
- Khách hàng muốn có thể xem chi tiết thực phẩm.
- Khách hàng có thể thêm hoặc cắt giảm số lượng thực phẩm trong giỏ
hàng.
- Khách hàng có thể lấy thức ăn ra khỏi giỏ hàng.
- Khi khách hàng thanh toán, họ muốn xem lại danh sách thực phẩm trong
giỏ hàng.
2.3. Sơ đồ use-case tổng quát
15
2.4. Mô tả màn hình
16
Order Details X
List Menu X
Add Menu X
Edit Menu X
Items List X
Add Item X
Edit Item X
Category List X
Add Category X
Edit Category X
Employee List X
Add Employee X
Edit Employee X
List Table X
Add Table X
Edit Table X
Arrange Table for Order X
Meal List X
List Food Items X
Food Items Detail X
Cart X
Check out X
Trong đó:
• Quản trị viên: Quản lý nhà hàng, bàn, trật tự, menu, mục, nhân viên
• Khách hàng: Đặt hàng và mua thức ăn
17
3. Tính năng của hệ thống
3.1. Đặc điểm chung
3.1.1. Login
a. Screen Design
d
Hình 3.1.1.a: Thiết kế màn hình đăng nhập
Table 3.1.1: Screen Definition
Max
# Field Name Type Mandatory Description
Length
1 Username Text Yes 50
Hiển thị "*" thay
2 Password Text Yes 20
vì ký tự rõ ràng
Đi tới Đặt lại
3 Forgot Password Yes
mật khẩu
4 LOGIN Button Yes Đi tới Trang chủ
Truy cập trang
5 SIGN UP Yes
Đăng ký
18
b. Use- case Specification
Use Case
Use Case ID LI01 Login01
Name
Author DatDT Version 1.0 Date 05/05/2023
Actor RMS Users
Chức năng này cho phép người dùng có thể đăng nhập vào
Description Ứng dụng hệ thống quản lý nhà hàng khi họ đã đăng ký tài
khoản và tài khoản của họ vẫn hoạt động.
Người dùng RMS có email và mật khẩu hợp lệ và chưa đăng
Precondition
nhập
Người dùng RMS yêu cầu quyền truy cập vào hệ thống để
Trigger
thực hiện công việc của họ
Post-
Người dùng RMS sẽ được RMS đến Trang chủ
Condition
Main flows
Ste
Actor Action
p
1 User Mở ứng dụng và nhấp vào đăng nhập
2 RMS Hiển thị màn hình Đăng nhập với các trường sau:
-Email
19
-Mật khẩu
-Đăng nhập
Nhập email & mật khẩu vào các trường Email & Mật khẩu
3 User trên màn hình ĐĂNG NHẬP, sau đó nhấp vào nút ĐĂNG
NHẬP.
Xác thực tên người dùng & mật khẩu đã nhập, sau đó hiển thị
4 RMS
Màn hình chính
Alternative flows
AT1 Ở bước 2 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống
Sub step Actor Action
2.1 RMS Hiển thị trang "Lỗi" với thông báo "Lỗi hệ thống nội bộ,
vui lòng liên hệ với quản trị viên"
AT2 Ở bước 4 trong quy trình chính, nếu RMS không xác thực được
email và mật khẩu
Sub step Actor Action
4.1 RMS Hiển thị trang "ĐĂNG NHẬP" với thông báo "Tên người
dùng hoặc mật khẩu của bạn không chính xác".
20
3.1.1.
3.1.2. Register
a. Screen Design
21
6 SIGN IN button
b. Use-case Specification
Alternative flows
AT1 Ở bước 2 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống
Sub step Actor Action
2.1 RMS Hiển thị trang "Lỗi" với thông báo "Email bị trùng lặp, vui
lòng nhập email khác!!"
23
3.1.3. Forgot Password
a. Screen Design
24
b. Use-case Specification
25
4 RMS Gửi mã OTP đến email của Người dùng RMS và truy cập
trang Đăng nhập
Alternative flows
AT1 Ở bước 3 của FP01 trong các luồng chính, nếu email chưa khớp
Sub step Act Action
or
2.1 EM Hiển thị "Email không tồn tại, vui lòng nhập lại email"
A
AT2 Ở bước 4 của SL02 trong các luồng chính, nếu email đã được gửi
Sub step Act Action
or
2.1 EM Hiển thị "Mã OTP đã được gửi đến email của bạn, vui lòng
A kiểm tra email của bạn"
26
3.2. Account Management
a. Use-case diagram
b. Use-case Specification
29
Alternative flows
Ở bước 4 của RD01 trong các luồng chính, nếu thông tin không
AT1
hợp lệ
Sub step Actor Action
4.1 RMS Hiển thị "Thông tin không hợp lệ! Vui lòng kiểm tra lại!"
30
Table 3.2.2: Screen Definition
Object/Control
No Type Required Length Description
Name
Numbers and
1 Full Name Text 30 Tên người dùng
characters
Phone
2 Số điện thoại
Number Numbers 20
của người dùng
Lưu hồ sơ thay
4 Save button
đổi
Quay lại trang
5 Back button
chủ
b. Use-case Specification
Use Case
Use Case ID PF01 PF01
Name
Author AnhHP Version 1.0 Date 05/02/2023
Actor RMS User
Chức năng này cho phép người dùng RMS xem và chỉnh sửa
Description
hồ sơ
Precondition PRE-01:
Trigger TRG-01:
Post-
POS-01:
Condition
Main flows
Step Actor Action
31
Trong màn hình "Tài khoản của tôi", nhấp vào màn hình "Hồ
1 Admin
sơ người dùng"
Hiển thị màn hình "Thông tin người dùng" với các trường
sau:
2 RMS
- Hình ảnh, vai trò, tên người dùng, tên đầy đủ, điện
thoại, địa chỉ
3 Admin Nhập thông tin vào các trường này
4 RMS Kiểm tra tính hợp lệ của thông tin trong các trường này
32
Table 3.2.3: Screen Difinition
Object/Control
No Type Required Length Description
Name
Hiển thị "*"
1 Enter your Numbers and 20
Text thay vì ký tự
current password characters
rõ ràng
Quay lại trang
2 Back Button
chủ
Hiển thị "*"
Enter your new Numbers and thay vì ký tự
3 Text 20
password characters rõ ràng
33
Main flows
Step Actor Action
Trong "Tài khoản của tôi", nhấp vào nút "Thay đổi mật
1 RMS User
khẩu"
2 RMS Hiển thị màn hình "Thay đổi mật khẩu".
Nhập tất cả thông tin vào các trường sau đó nhấp vào nút
3 RMS User
"Lưu"
Xác thực thông tin đã nhập và sau đó hiển thị màn hình
4 EMA
"Tài khoản của tôi"
Alternative flows
AT2 Ở bước 4 trong quy trình chính, nếu RMS không xác thực được
trường
Sub Actor Action
step
4.1 RMS Hiển thị "Vui lòng kiểm tra lại tất cả mật khẩu!"
34
3.2.4. Contact Us
a. Screen Design
35
b. Use-case Specification
Use Case ID CU01 Use Case Name CU01
Author AnhPH Version 1.0 Date 05/02/2023
Actor Admin
Description Sau khi đăng nhập, người dùng muốn được hỗ trợ, nhấp vào
Liên hệ với chúng tôi
Precondition PRE-01:
PRE-02:
Trigger TRG-01:
Post- POS-01:
Condition
Main flows
Ste Actor Action
p
1 Admin Sau khi đăng nhập, nhấp vào Liên hệ với chúng tôi
2 RMS Hiển thị màn hình Liên hệ với chúng tôi với các trường sau:
- Tên, nội dung
3 Admin Nhập Tên, Nội dung trên màn hình Liên hệ với chúng tôi, sau
đó nhấp vào Lưu.
4 RMS Xác thực Tên, Tin nhắn đã nhập
Alternative flows
AT1 Ở bước 2 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống
Sub step Actor Action
2.1 RMS Hiển thị trang "Lỗi" với thông báo "Lỗi hệ thống nội bộ,
vui lòng liên hệ với quản trị viên"
AT2 Ở bước 3 trong quy trình chính, nếu RMS không xác thực được
36
Tên, Nội dung
Sub step Actor Action
3.1 RMS Hiển thị thông báo "Vui lòng kiểm tra lại thông tin!"
37
thoại
3 Email Text Hiển thị email
b. Use-case Specification
Alternative flows
AT1 Ở bước 2 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống
Sub step Actor Action
2.1 RMS Hiển thị trang "Lỗi" với thông báo "Lỗi hệ thống nội bộ,
vui lòng liên hệ với quản trị viên"
38
AT2 Ở bước 3 trong các luồng chính, nếu RMS không thể xác thực Tên,
Nội dung
Sub step Actor Action
3.1 RMS Hiển thị thông báo "Vui lòng kiểm tra lại thông tin!"
Object/Control
No Type Required Length Description
Name
Restaurant
1 View 30 Tên nhà hàng
Name
2 Orders Walting Number 10 Hiển thị tổng số đơn
39
đặt hàng
Hiển thị tổng doanh
3 Total Sales Number 20
số bán hàng
Hiển thị tổng số sản
4 Total Product Number 10
phẩm
Nhấp để truy cập
5 Order Button trang "Danh sách
đơn hàng"
Nhấp để truy cập
6 Products Button trang "Quản lý sản
phẩm"
Nhấp để truy cập
7 Home Button
trang "Trang chủ"
Nhấp để truy cập
trang "Quản lý
8 Manage Button
DashBoard"
40
b. Use-case Specification
41
nhà hàng
Precondition PRE-01:
PRE-02:
Trigger TRG-01:
Post- POS-01:
Condition
Main flows
Ste Actor Action
p
1 Admin Sau khi đăng nhập thành công
2 RMS Hiển thị Trang chủ có các trường:
- Tên nhà hàng, Đơn đặt hàng, Tổng doanh thu, Tổng
sản phẩm, Đơn đặt hàng, Sản phẩm, Trang chủ, Quản
lý, Tài khoản của tôi
3 Admin Click to “Products”
4 RMS Go to “Manage Product” page
Use Case ID HP03 Use Case HomePage03
Name
Author TiepTH Version 1.0 Date 05/02/2023
Actor Admin
Description Chức năng cho phép admin tổng quan về Hệ thống quản lý
nhà hàng
Precondition PRE-01:
PRE-02:
Trigger TRG-01:
Post- POS-01:
Condition
Main flows
Ste Actor Action
42
p
1 Admin Sau khi đăng nhập thành công
2 RMS Hiển thị Trang chủ có các trường:
Tên nhà hàng, Đơn đặt hàng, Tổng doanh thu, Tổng sản
phẩm, Đơn đặt hàng, Sản phẩm, Trang chủ, Quản lý, Tài
khoản của tôi
3 Admin Nhấp để "Quản lý"
4 RMS Truy cập trang "Quản lý DashBoard"
43
3 Admin Nhấp để "Quản lý"
4 RMS Truy cập trang "Quản lý DashBoard"
Use Case ID HP05 Use Case HomePage05
Name
Author TiepTH Version 1.0 Date 05/02/2023
Actor Admin
Description Chức năng cho phép admin tổng quan về Hệ thống quản lý
nhà hàng
Precondition PRE-01:
PRE-02:
Trigger TRG-01:
Post- POS-01:
Condition
Main flows
Ste Actor Action
p
1 Admin Sau khi đăng nhập thành công
2 RMS Hiển thị Trang chủ có các trường:
- Tên nhà hàng, Đơn đặt hàng, Tổng doanh thu, Tổng
sản phẩm, Đơn đặt hàng, Sản phẩm, Trang chủ, Quản
lý, Tài khoản của tôi
3 Admin Nhấp vào "Tài khoản của tôi"
4 RMS Truy cập trang "Tài khoản của tôi"
44
3.3.2. HOME PAGE cho User
a. Screen Design
45
vào giỏ hàng
6 Home button Nhấp để truy cập
trang "Trang
chủ"
7 My Account button Nhấp để truy cập
trang "Tài khoản
của tôi"
b. Use-case Specification
46
3 Admin Nhấp để "Đặt hàng"
4 RMS Truy cập trang "Danh sách đơn hàng"
47
3.4.1. My Customer
a. Screen Design
48
b. Use-case Specification
49
Alternative flows
AT1 Ở bước 2 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống
Sub step Actor Action
2.1 EMA Hiển thị trang "Lỗi" với thông báo "Người dùng đã tồn tại,
Thêm người dùng khác ! ”
3.4.2. Order History
a. Screen Design
50
Table 3.4.2: Screen Definition
b. Use-case Specification
51
1 Admin Mở ứng dụng và nhấp vào Đăng nhập, sau đó nhấp vào
Quản lý rồi nhấp vào Danh sách lịch sử đơn hàng
2 RMS Hiển thị danh sách lịch sử đơn hàng màn hình với các
trường sau:
- Chọn ngày
-tìm kiếm
- Tổng giá
- Tình trạng đơn hàng
- Xem chi tiết
3 Admin Xem và kiểm tra tất cả thông tin sau đó có thể xem chi tiết
Alternative flows
AT1 Ở bước 2 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống,
Sub step Actor Action
2.1 RMS Hiển thị trang "Lỗi" với thông báo "Người dùng đã tồn
tại, thêm người dùng khác! "
52
3.5. Order Managerment
a. Use-case digram
53
3.5.1. Order List
a. Screen Design
Object/Control
No Type Required Length Description
Name
1 Search order Text Tìm kiếm thứ tự
Hiển thị thứ tự
2 Action View
đang hoạt động
Total price View
3 Hiển thị tổng giá
54
hàng trong list
7 Decline Order Button Hủy đơn hàng
Hiển thị chi tiết
8 View Details Button
đơn hàng
b. Use-case Specification
55
3 Admin Xem và kiểm tra tất cả thông tin sau đó có thể xem chi
tiết, chấp nhận đơn hàng, từ chối đơn hàng
Alternative flows
AT1 Ở bước 2 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống
Sub step Actor Action
2.1 EMA Hiển thị trang "Lỗi" với thông báo "Người dùng đã tồn tại,
thêm người dùng khác! "
b. Use-case Specification
57
- Number of Person
- Save Button
- radio button
3 Admin Chọn và lưu tất cả thông tin
Alternative flows
AT1 Ở bước 2 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống
Sub step Actor Action
2.1 RMS Hiển thị trang "Lỗi" với thông báo "Người dùng đã tồn
tại, thêm người dùng khác! "
58
Object/Control
No Type Required Length Description
Name
Hiển thị tên đơn
1 Order Name View
hàng
View Hiển thị ngày đặt
2 Date time
hàng
View Hiển thị điện
3 Phone number
thoại đặt hàng
Email Hiển thị thứ tự
4 View
email
Item Hiển thị tổng số
5 View
mục theo thứ tự
Hiển thị mục số
6 Quantity View
lượng theo thứ tự
7 Price View Giá đặt hàng
Hiển thị tổng giá
8 Total View
của đơn đặt hàng
b. Use-case Specification
Alternative flows
AT1 Ở bước 2 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống
Sub step Actor Action
2.1 RMS Hiển thị trang "Lỗi" với thông báo "Người dùng đã tồn
tại, thêm người dùng khác! "
60
3.6. Additional Menu
a. Use-case diagram
Hình 3.6.a: Biểu đồ use-case các thao tác trong Menu của Admin
61
3.6.1. List Menu
a. Screen Design
65
3.6.2. Add Menu
a. Screen Design
66
b. Use-case Specification
67
Use Case ID AM02 Use Case AddMenu02
Name
Author AnhPH Version 1.0 Date 05/02/2023
Actor Admin
Description Chức năng Cho phép hiển thị danh sách sản phẩm và lựa
chọn sản phẩm
Precondition
Trigger
Post- RMS nhận được nhấp vào biểu tượng Danh sách
Condition
Main flows
Ste Actor Action
p
1 Admin Click check box
2 RMS Hiển thị danh sách các sản phẩm được chọn
68
69
Alternative flows
AT1 Ở bước 3 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống,
Sub Actor Action
step
2.1 RMS Hiển thị trang "Lỗi" với thông báo "Name Menu can't be
empty.”
70
No Object/Control Type Required Length Description
Name
1 Menu Name Text Character 30 Nhập menu tên
mới
2 Chose Item Checkbook Chọn mục
3 Back Button
4 Save Button Lưu
b. Use-case Specification
71
- check box
- Edit button
- Back button
3 Admin Nhập và chọn tất cả thông tin vào trường tất cả.
4 RMS Xác thực thông tin đã được nhập và cập nhật menu này lên hệ
thống.
Use Case ID AM02 Use Case EditMenu02
Name
Author AnhPH Version 1.0 Date 05/02/2023
Actor Admin
Description RMS nhận được nhấp vào biểu tượng Danh sách
Precondition
Trigger
Post- RMS nhận được nhấp vào biểu tượng Danh sách
Condition
Main flows
Ste Actor Action
p
1 Admin Bấm hộp kiểm
2 RMS Hiển thị danh sách các sản phẩm được chọn
72
Main flows
Ste Actor Action
p
1 Admin Nhấp để lưu nút
2 RMS Thêm menu này
Alternative flows
AT1 Ở bước 3 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống
Sub step Actor Action
2.1 RMS Hiển thị trang "Lỗi" với thông báo "Name Menu can't be
empty. Vui lòng nhập tên của Menu"
73
Use Case ID User case Name Description
UC-1001 Item List Cho phép người quản trị được
ủy quyền xem Sản phẩm trong
Danh sách Mặt hàng
UC-1002 Add Item Cho phép quản trị viên Thêm
Mục mới
UC-1003 Edit Item Cho phép quản trị viên Chỉnh
sửa Mục
3.7.1. Items List
a. Screen Design
74
Table 3.7.1: Screen Definition
75
Use Case ID IL03 Use Case ItemList02
Name
Author DatDT Version 1.0 Date 05/02/2023
Actor Admin
Description Chức năng Cho phép chuyển tiếp đến màn hình "Chỉnh sửa
mục" của hệ thống.
Precondition Biểu tượng bút nhấp chuột RMS nhận được
Trigger
Post- RMS xác minh thành công
Condition
Main flows
Ste Actor Action
p
1 Admin Nhấp vào biểu tượng "Bút" trên màn hình
2 RMS Hiển thị màn hình "Chỉnh sửa mục" của hệ thống.
Alternative flows
AT1 Ở bước 2 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống
Sub step Actor Action
2.1 RMS Hiển thị trang "Không tìm thấy" với thông báo "Không có
kết quả nào được thành lập".
78
Hình 3.7.2.a: Thiết kế màn hình trong Add Item
Object/Control
No Type Required Length Description
Name
Numbers and Nhập mục tên
1 Item Name Text 20
characters mới
Nhập giá mặt
2 Price Number Numbers 20
hàng
Chọn danh mục
3 Select Category Button
mặt hàng
4 Description Text Numbers and 20 Thông tin tóm
79
characters tắt các mục
Nhập số lượng
5 Quantity Text 20
mặt hàng
Button
6 Add Items Thêm mục mới
7 Back Button
b. Use-case Specification
80
- Add
3 Admin Nhập tất cả thông tin vào trường tất cả.
4 RMS Xác thực thông tin đã được nhập và thêm mục này vào hệ
thống.
Alternative flows
AT1 Hiển thị trang "Lỗi" với thông báo "Thông tin bị trùng lặp. Vui
lòng nhập thông tin khác"
Sub step Actor Action
2.1 RMS Hiển thị trang "Lỗi" với thông báo "Thông tin bị trùng lặp.
Vui lòng nhập thông tin khác"
81
Hình 3.7.3.a: Thiết kế màn hình trong Edit Item
82
Table 3.7.3: Screen Definition
Object/Control
No Type Required Length Description
Name
Numbers and Enter New
1 Item Name Text 20
characters Name Items
Number Enter Items
2 Price Number 20
Price
Chose
3 Select Category Button Category of
Items
Summary
Description Numbers and
4 Text 20 information of
characters
Items
Quantity Enter Items
5 Text Numbers 20
Quantity
Button Save edit
6 Save
Items
7 Back Button
b. Use-case Specification
83
Post-Condition RMS xác minh tất cả các trường thành công
Main flows
Ste Actor Action
p
1 Admin Nhấp vào biểu tượng "Bút" trên màn hình Danh sách mục.
2 RMS Chuyển tiếp và hiển thị tất cả thông tin Chỉnh sửa mục màn
hình với các trường sau:
- Items Name
- Price
- Veg
- Category
- Description
- Save
3 Admin Nhập tất cả thông tin vào trường tất cả.
4 RMS Xác thực thông tin đã được nhập, sau đó lưu và cập nhật
thông tin mới của mục vào hệ thống. Quay lại màn hình
Danh sách mục.
84
p
1 Admin Nhấp để quay lại biểu tượng
2 RMS Hiển thị màn hình Danh sách mục.
Alternative flows
AT1 Ở bước 6 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống,
Sub step Actor Action
2.1 RMS Hiển thị trang "Lỗi" với thông báo "Thông tin không hợp
lệ. Vui lòng nhập thông tin khác"
85
Category
87
Post- RMS xác minh thành công
Condition
Main flows
Ste Actor Action
p
1 Admin Nhấp vào biểu tượng "Bút" trên màn hình
2 RMS Hiển thị màn hình "Chỉnh sửa danh mục" của hệ thống.
89
Alternative flows
AT1 Ở bước 2 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống,
Sub Actor Action
step
2.1 RMS Hiển thị trang "Không tìm thấy" với thông báo "Không có
kết quả nào được thành lập".
3.8.2. Add Category
a. Screen Design
3 RMS Hiển thị tất cả thông báo Thêm danh mục màn hình với các
trường sau:
Tên danh mục, mô tả
3 Admin điền Tên danh mục, mô tả
91
5 Admin Nhấp vào Thêm danh mục để xử lý thêm danh mục
92
Alternative flows
AT1 At step 5 in the main flows, if there is an internal error in the
system,
Sub step Actor Action
2.1 Admin Quay lại Thêm màn hình danh mục
2.2 Admin Hiển thị thông báo “Add failed Category”
93
Table 3.8.3: Screen Definition
2 Description Text
b. Use-case Specification
4 RMS Hiển thị tất cả thông báo Chỉnh sửa danh mục màn hình với
các trường sau:
Tên danh mục, mô tả
5 Admin thay đổi Tên danh mục, mô tả
6 Admin Nhấp vào Chỉnh sửa danh mục để xử lý chỉnh sửa danh mục
Alternative flows
AT1 Ở bước 5 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống,
Sub Actor Action
step
2.1 Admin Quay lại Chỉnh sửa màn hình danh mục
2.2 Admin Hiển thị thông báo "Chỉnh sửa danh mục không thành
công"
95
3.9. Employee Management
a. Use-case diagram
96
3.9.1. Employee List
a. Screen Design
97
viên
4 Edit Button Nút này để đi
tới Chỉnh sửa
màn hình
nhân viên
5 Back Button Quay lại trang
chủ
6 Name employee view Xem tên nhân
viên
7 Birth date view Xem ngày
sinh
b. Use-case Specification
98
Use Case ID LI01 Use Case Employee List 02
Name
Author TiepTH Version 1.0 Date 05/02/2023
Actor Admin
Description Chức năng này để đi tới Chỉnh sửa màn hình nhân viên
Precondition Nhấp vào biểu tượng Chỉnh sửa
Trigger none
Post- xác minh thành công và đi tới Chỉnh sửa màn hình nhân viên
Condition
Main flows
Ste Actor Action
p
1 Admin bấm vào nút Quản lý
2 Admin nhấp vào Quản lý nhân viên
3 RMS Hệ thống sẽ hiển thị màn hình với danh sách Nhân viên
4 Admin nhấp vào Chỉnh sửa biểu tượng
5 RMS Hệ thống sẽ chuyển đến màn hình Chỉnh sửa nhân viên
3 RMS Hệ thống sẽ hiển thị màn hình với danh sách Nhân viên
4 Admin nhấp vào nút Thêm nhân viên
100
5 RMS Hệ thống sẽ chuyển đến Add Employee Screen
Alternative flows
AT1 Ở bước 5 trong quy trình Danh sách nhân viên 05, nếu có lỗi nội
bộ trong hệ thống
Sub step Actor Action
2.1 RMS Hệ thống sẽ hiển thị thông báo "don't found employee" khi
dữ liệu không có cùng nhân viên đó
101
102
1.
2.
3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
3.8.
3.9.
3.9.2. Employee Details
a. Screen Design
103
Hình 3.9.2.a: Thiết kế màn hình trong Add Employee
105
106
b. Use-case Specification
107
Use Case ID LI01 Use Case Employee Details 02
Name
Author TiepTH Version 1.0 Date 05/02/2023
Actor Admin
Description This Function to Edit employee in restaurant
Precondition Click Edit Employee button
Trigger none
Post- Enter information of employee and get message “Edit
Condition Successful”
Main flows
Ste Actor Action
p
1 Admin Nhấp để quản lý
2 Admin nhấp vào Quản lý nhân viên
3 Admin Nhấp vào biểu tượng Chỉnh sửa
4 RMS Đi tới Chỉnh sửa màn hình nhân viên và hiển thị thông tin
danh sách để cho Quản trị viên nhập dữ liệu:
- Tên
- Ngày sinh
- Giống
- Số điện thoại
- Địa chỉ
- Lương
- Mô tả:__________
5 Admin Fill all information for input text otherwise Description is
optional
6 Admin Nhấp vào Chỉnh sửa nhân viên để xử lý Chỉnh sửa
108
109
Alternative flows
AT1 Ở bước 4 trong các luồng chính, nếu có lỗi nội bộ trong hệ thống,
Sub Actor Action
step
2.1 Admin Nhập thông tin nhưng thông tin bị lỗi
2.2 Admin Thông báo hiển thị "thông tin không hợp lệ"
3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
3.8.
3.9.
3.10. Table Management
a. Use -case diagram
110
Hình 3.10.a: Biểu đồ use-case về quản lý bàn
a. Screen Design
111
Hình 3.10.1.a: Thiết kế màn hình trong Table List
b. Use-case Specification
113
Use Case ID TL02 Use Case Table List 02
Name
Author TiepTH Version 1.0 Date 05/02/2023
Actor Admin
Description Chức năng này để thêm bảng
Precondition Nhấp vào nút Thêm bảng
Trigger none
Post- Đi tới màn hình Thêm bảng
Condition
Main flows
Ste Actor Action
p
1 Admin Nhấp để quản lý
2 Admin nhấp vào Quản lý bảng
3 Admin Nhấp vào Thêm bảng
4 RMS Chuyển đến màn hình Danh sách bảng với tất cả thông tin
của tất cả các Bàn trong nhà hàng
5 Admin Bấm nút Thêm bảng
6 RMS Đi tới Thêm màn hình bảng
115
5 Admin Nhấp vào biểu tượng thùng rác
6 RMS hiển thị cửa sổ bật lên với thông báo "Bạn muốn xóa Bảng?"
Alternative flows
AT1 Ở bước 4 trong bảng Danh sách 04 luồng, nếu nhập sai thời gian
Sub step Actor Action
3.1 RMS Hiển thị "Don't Delete Table because This table is useing"
1.
2.
3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
3.8.
3.9.
3.10.
3.10.1.
3.10.2. Add Table
a. Screen Design
116
Hình 3.10.2.a: Thiết kế màn hình trong Edit Table
b. Use-case Specification
118
Alternative flows
AT1 Ở bước 3 trong các luồng chính, nếu nhập sai thời gian
Sub step Actor Action
3.1 RMS Hiển thị trang "Lỗi" với thông báo "Vui lòng nhập số".
a. Use-case diagram
1.
2.
3.
3.1.
3.2.
3.3.
3.4.
3.5.
119
3.6.
3.7.
3.8.
3.9.
3.10.
3.11.
3.11.1. Meal List
a. Screen Design
120
3 Table No text Hiển thị bảng số
4 Done button Bữa ăn xong
121
b. Use-case Specification
122
3.12. Customer Build Order
a. Use-case diagram
Hình ảnh 3.12.a: Biểu đồ use-case thao tác đặt hàng của khách hàng
123
3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
3.8.
3.9.
3.10.
3.11.
3.12.
3.12.1. List Food Items
a. Screen Design
124
Hình 3.12.1.a: Thiết kế màn hình trong List Food Items
N Object/Control
Type Required Length Description
o Name
1 Cart Button Đi tới Giỏ hàng
2 Popular View View
Xem tên thực
3 Name food View
phẩm
4 Price View Giá
5 Add to cart button Thêm vào giỏ
Xem hình ảnh
6 Image View
thực phẩm
125
Truy cập trang
7 Home user Button
chủ
Đi tới tài khoản
8 My account button
của tôi
b. Use-case Specification
126
3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
3.8.
3.9.
3.10.
3.11.
3.12.
3.12.2. Details Food Items
a. Screen Design
127
Hình 3.12.2.a: Màn hình thiết kế trong Details Food Items
b. Use-case Specification
129
3.12.3. Cart
a. Screen Design
Max
# Field Name Type Mandatory Description
Length
Hiển thị sản
1 Product View phẩm mà khách
hàng yêu thích
Nhấp để đặt sản
2 Book Button
phẩm
3 Totals Number 30 Hiển thị tổng giá
130
sản phẩm
Nhấp để thanh
4 Checkout Button toán sản phẩm
trên RMS
b. Use-case Specification
3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
131
3.7.
3.8.
3.9.
3.10.
3.11.
3.12.
132
3.12.4. Check Out
a. Screen Design
Object/Control
No Type Required Length Description
Name
1 Name View Hiển thị tên
Hiển thị điện
2 Phone view
thoại
Hiển thị giá thực
3 Price View 10
phẩm
4 Date View 3 Hiển thị ngày
5 back button Quay lại giỏ hàng
6 Order Button Nhấp để đặt hàng
133
b. Use-case Specification
Use Case
Use Case ID LI01 ventory01
Name
Author TruongDX Version 1.0 Date 05/02/2023
Actor Quản trị viên, Trưởng phòng
Màn hình hiển thị tiêu chuẩn của custormer và tổng giá để
Description
thanh toán
Precondition Đăng nhập bằng Tài khoản Người dùng
Trigger none
Post-
none
Condition
Main flows
Ste
Actor Action
p
1. Mở màn hình Giỏ hàng
1 User
2. Nhấp vào Thanh toán
Hiển thị tất cả Thanh toán sau:
- Tên khách hàng
- Điện thoại khách hàng
2 RMS
- Ngày đặt hàng
- Tổng giá
Nút Đặt hàng mục mới.
134
4. Các yêu cầu phi chức năng
4.1. Yêu cầu hiệu năng
Yêu cầu về hiệu năng của ứng dụng là một phần quan trọng giúp cho hệ
thống hoạt động một cách ổn định, nhanh chóng và đáp ứng tốt nhu cầu của
người dùng. Ứng dụng quản lí nhà hàng có các yêu cầu về hiệu năng sau:
- Thời gian phản hồi nhanh: Ứng dụng quản lí nhà hàng có thể phản hồi
nhanh chóng khi người dùng thực hiện các thao tác như đặt bàn, đặt món,
thanh toán,… Thời gian phản hồi nhanh giúp trải nghiệm người dùng tốt
hơn, tránh việc chờ đợi lâu.
- Xử lí tải tốt: khi có nhiều người sử dụng ứng dụng cùng một lúc thì vẫn
có thể xử lí dữ liệu tốt.
- Hiệu suất đáp ứng: Việc tìm kiếm thông tin, tính tổng số tiền, cập nhật
tương tác,… thực hiện nhanh chóng và chính xác.
- Tương thích tốt: Ứng dụng có thể tương thích với nhiều thiết bị di động
khác nhau.
4.
4.1.
4.2. Giao diện người dùng
Đối với khách khi truy cập sử dụng hệ thống thông qua app, hệ thống sẽ
nhận yêu cầu truy cập từ phía máy khách và gửi trả về cho app trang chủ người
dùng gồm các menu chức năng tương ứng với phạm vi của từng người dùng.
Khách có thể sử dụng các chức năng như:
135
truy cập hệ thống có thể thấy các đơn đặt hàng của từng lần đặt và xem
được thông tin chi tiết về đơn đặt hàng đó.
136
4.3. Tính bảo mật
Người dùng chỉ có thể sử dụng các chức năng và truy cập dữ liệu phù hợp
với vai trò của người dùng đó.
Người dùng không có quyền đăng ký tài khoản admin có nghĩa là tài
khoản admin sẽ được cố định từ trước đó và chỉ có thể đăng ký tài khoản khách
hàng để tránh sai sót trong công việc quản lí.
Dữ liệu người dùng được bảo mật không cho phép truy cập trái phép.
Đảm bảo quyền riêng tư về bảo mật.
Người dùng và admin sử dụng chung một hệ thống vì vậy có thể gửi và
nhận dữ liệu về văn bản, hình ảnh, thông tin, dữ liệu,… giữa admin và người
dùng một cách nhất quán hạn chế tối đa sai sót về dữ liệu
Phần mềm quản lí nhà hàng có thể có ràng buộc về định dạng và cấu trúc
dữ liệu. Điều này đảm bảo rằng dữ liệu được nhập và lưu trữ theo đúng định
dạng và cấu trúc yêu cầu, giúp đảm bảo tính chính xác và khả năng truy xuất dữ
liệu hiệu quả.
Phần mềm tuân thủ các quy định và quy tắc pháp lý liên quan, chẳng hạn
như quyền riêng tư, bảo mật thông tin và quyền sở hữu trí tuệ. Điều này đảm
bảo rằng phần mềm không vi phạm các quy định pháp lý và bảo vệ thông tin và
quyền riêng tư của khách hàng.
137
KẾT LUẬN
Như vậy với đề tài thiết kế ứng dụng quản lý nhà hàng, nhóm chúng em
đã hiểu được cách hình thành, vận dụng kỹ thuật phần mềm để đưa ra được cách
xây dựng một ứng dụng mang tính khả thi và thực tiễn cao. Chúng em xin chân
thành cảm ơn sự hướng dẫn tận tình từ TS. Trịnh Thanh Bình đã giúp nhóm
chúng em hoàn thành đề tài này. Thông qua đề tài này cũng như học phần Kỹ
thuật phần mềm, chúng em đã củng cố được kiến thức cơ bản để thiết kế một
ứng dụng thực tế mà sẽ giúp chúng em rất nhiều trong con đường phát triển sau
này.
138