Professional Documents
Culture Documents
CNPM C#
CNPM C#
TÓM TẮT
Chúng ta đang sống trong xã hội mà sự kết nối cũng như hiệu quả và tốc độ
xử lý thông tin được đặt lên hàng đầu, đặc biệt là đối với lĩnh vực dịch vụ. Do đó,
việc áp dụng Công Nghệ Thông Tin vào lĩnh vực dịch vụ như nhà hàng là hết sức
cần thiết và không còn xa lạ. Vì vậy, bài toán đặt ra làm sao để xây dựng một hệ
thống giúp quản lý nhà hàng trở nên hiệu quả, tiện lợi, gia tăng hiệu suất làm việc
và giảm thời gian xử lý các thông tin ngày càng lớn; đồng thời phải đáp ứng nhanh
chóng và kịp thời trong quá trình vận hành cũng như công tác quản lý.
Đi từ những vấn đề được nêu trên và nhận thấy tầm quan trọng của công tác
quản lý nhà hàng, nhóm chúng em sẽ thực hiện đồ án với đề tài: “Hệ Thống Quản
Lý Nhà Hàng”.
Nhóm chúng em mong muốn phát triển một hệ thống quản lý nhà hàng giúp
cải thiện hiệu suất và tăng hiệu quả làm việc, thay thế cho cách quản lý nhà hàng
truyền thống trên giấy tờ. Do thời gian và kiến thức có hạn, nhóm chúng em chỉ tập
trung phân tích và phát triển một số chức năng cơ bản của hệ thống bằng việc sử
dụng các ngôn ngữ lập trình như: HTML, CSS, Javascript, C# và hệ cơ sở dữ liệu
SQL Server trên nền tảng .NET cụ thể là Hệ thống website cho khách hàng sẽ sử
dụng Framework ASP.NET Core MVC và sẽ gọi đến API được xây dựng bằng
ASP.NET API có sử dụng Entity Framework để tương tác với cơ sở dữ liệu và phần
mềm WindowForm cho phía nhà hàng để quản lý các nghiệp vụ tại nhà hàng sử
dụng ADO.NET để kết nối và tương tác với cơ sở dữ liệu.
2
MỤC LỤC
LỜI CẢM ƠN.............................................................................................................1
ĐỒ ÁN ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG...2
PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN......................................3
TÓM TẮT...................................................................................................................4
MỤC LỤC..................................................................................................................5
DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT..........................................................11
DANH MỤC CÁC BẢNG BIỂU, HÌNH VẼ, ĐỒ THỊ...........................................12
CHƯƠNG 1 – KHẢO SÁT......................................................................................21
1.1 Giới thiệu:................................................................................................21
1.2 Khảo sát:..................................................................................................21
1.3 Tổng quan hệ thống:................................................................................27
1.3.1 Các quy trình nghiệp vụ:............................................................27
1.3.1.1 Quy trình phục vụ khách trực tiếp tại nhà hàng:..........27
1.3.1.2 Quy trình đặt bàn trực tuyến của nhà hàng:.................27
1.3.1.3 Quy trình đặt món trên nền tảng đặt món trực tuyến của
nhà hàng:..................................................................................28
1.3.1.4 Quy trình kiểm tra và nhập nguyên vật liệu:...............28
1.3.2 Đặc tả hệ thống :........................................................................29
CHƯƠNG 2 – PHÂN TÍCH YÊU CẦU..................................................................31
2.1. Đặc tả yêu cầu.........................................................................................31
2.2. Các tác nhân trong hệ thống...................................................................32
2.3. Các Use Case trong hệ thống..................................................................33
CHƯƠNG 3 – THIẾT KẾ YÊU CẦU......................................................................40
3.1. Sơ đồ Use Case:......................................................................................40
3.2. Đặc tả Use Case:.....................................................................................40
3.3 Sơ đồ hoạt động ( Activity Diagram ):....................................................92
3.3.1 Usecase Đăng nhập....................................................................92
3.3.2 Usecase Đăng xuất.....................................................................92
3
3.3.32 Usecase Chỉnh sửa thông tin phiếu nhập nguyên vật liệu.....117
3.3.33 Usecase Xóa phiếu nhập nguyên vật liệu..............................118
3.3.34 Usecase Xem thông tin hóa đơn............................................119
3.3.35 Usecase Tạo hóa đơn.............................................................120
3.3.36 Usecase Chỉnh sửa thông tin hóa đơn....................................121
3.3.37 Usecase Xóa hóa đơn.............................................................122
3.3.38 Usecase In hóa đơn................................................................123
3.3.39 Usecase Thống kê doanh thu.................................................123
3.3.40 Usecase Thống kê doanh thu theo tháng...............................124
3.3.41 Usecase Thống kê doanh thu theo năm.................................124
3.3.42 Usecase Xem thông tin món ăn.............................................125
3.3.43 Usecase Thêm món ăn...........................................................125
3.3.44 Usecase Chỉnh sửa thông tin món ăn.....................................126
3.3.45 Usecase Xóa thông tin món ăn..............................................127
3.3.46 Usecase Xem thông tin nhân viên..........................................128
3.3.47 Usecase Thêm nhân viên.......................................................129
3.3.48 Usecase Chỉnh sửa thông tin nhân viên.................................130
3.3.49 Usecase Xóa nhân viên..........................................................131
3.3.50 Usecase Tra cứu chiết khấu...................................................132
3.3.51 Usecase Đổi mật khẩu hội viên..............................................133
3.4 Sơ đồ tuần tự ( Sequence Diagram )......................................................134
3.4.1 Usecase Đăng nhập..................................................................134
3.4.2 Usecase Đăng xuất...................................................................134
3.4.3 Usecase Đổi mật khẩu..............................................................135
3.4.8 Usecase Thanh toán.................................................................138
3.4.9 Usecase Thanh toán qua thẻ ngân hàng...................................138
3.4.10 Usecase Thanh toán qua ví điện tử........................................139
3.4.11 Usecase Xem danh sách bàn ăn.............................................140
3.4.12 Usecase Tạo phiếu gọi món...................................................140
5
CÁC KÝ HIỆU
Hình 28 Sơ Đồ Hoạt Động Usecase Xem thông tin nguyên vật liệu......................114
Hình 29 Sơ Đồ Hoạt Động Usecase Thêm nguyên vật liệu....................................114
Hình 30 Sơ Đồ Hoạt Động Usecase Chỉnh sửa thông tin nguyên vật liệu.............115
Hình 31 Sơ Đồ Hoạt Động Usecase Xóa nguyên vật liệu......................................116
Hình 32 Sơ Đồ Hoạt Động Usecase Xem thông tin phiếu nhập nguyên vật liệu...116
Hình 33 Sơ Đồ Hoạt Động Usecase Tạo phiếu nhập nguyên vật liệu....................117
Hình 34 Sơ Đồ Hoạt Động Usecase Chỉnh sửa thông tin phiếu nhập nguyên vật liệu
.................................................................................................................................118
Hình 35 Sơ Đồ Hoạt Động Usecase Xóa phiếu nhập nguyên vật liệu....................119
Hình 36 Sơ Đồ Hoạt Động Usecase Xem thông tin hóa đơn..................................120
Hình 37 Sơ Đồ Hoạt Động Usecase Tạo hóa đơn..................................................121
Hình 38 Sơ Đồ Hoạt Động Usecase Chỉnh sửa thông tin hóa đơn.........................122
Hình 39 Sơ Đồ Hoạt Động Usecase Xóa hóa đơn..................................................123
Hình 40 Sơ Đồ Hoạt Động Usecase In hóa đơn.....................................................123
Hình 41 Sơ Đồ Hoạt Động Usecase Thống kê doanh thu......................................124
Hình 42 Sơ Đồ Hoạt Động Usecase Thống kê doanh thu theo tháng.....................124
Hình 43 Sơ Đồ Hoạt Động Usecase Thống kê doanh thu theo năm.......................125
Hình 44 Sơ Đồ Hoạt Động Usecase Xem thông tin món ăn...................................125
Hình 45 Sơ Đồ Hoạt Động Usecase Thêm món ăn................................................126
Hình 46 Sơ Đồ Hoạt Động Usecase Chỉnh sửa thông tin món ăn..........................127
Hình 47 Sơ Đồ Hoạt Động Usecase Xóa thông tin món ăn....................................128
Hình 48 Sơ Đồ Hoạt Động Usecase Xem thông tin nhân viên...............................129
Hình 49 Sơ Đồ Hoạt Động Usecase Thêm nhân viên.............................................130
Hình 50 Sơ Đồ Hoạt Động Usecase Chỉnh sửa thông tin nhân viên......................131
Hình 51 Sơ Đồ Hoạt Động Usecase Xóa nhân viên...............................................132
Hình 52 Sơ Đồ Hoạt Động Usecase Tra cứu chiết khấu.........................................133
Hình 53 Sơ Đồ Hoạt Động Usecase Đổi mật khẩu hội viên...................................133
Hình 54 Sơ Đồ Tuần Tự Usecase Đăng nhập.........................................................134
Hình 55 Sơ Đồ Tuần Tự Usecase Đăng xuất..........................................................135
11
Hình 85 Sơ Đồ Tuần Tự Usecase Chỉnh sửa thông tin phiếu nhập nguyên vật liệu
.................................................................................................................................151
Hình 86 Sơ Đồ Tuần Tự Usecase Xóa phiếu nhập nguyên vật liệu.......................152
Hình 87 Sơ Đồ Tuần Tự Usecase Xem thông tin hóa đơn.....................................152
Hình 88 Sơ Đồ Tuần Tự Usecase Tạo hóa đơn......................................................153
Hình 89 Sơ Đồ Tuần Tự Usecase Chỉnh sửa thông tin hóa đơn.............................153
Hình 90 Sơ Đồ Tuần Tự Usecase Xóa hóa đơn......................................................154
Hình 91 Sơ Đồ Tuần Tự Usecase In hóa đơn.........................................................154
Hình 92 Sơ Đồ Tuần Tự Usecase Thống kê doanh thu..........................................155
Hình 93 Sơ Đồ Tuần Tự Usecase Thống kê doanh thu theo tháng.........................155
Hình 94 Sơ Đồ Tuần Tự Usecase Thống kê doanh thu theo năm...........................156
Hình 95. Sơ Đồ Tuần Tự Usecase Xem thông tin món ăn.....................................156
Hình 96 Sơ Đồ Tuần Tự Usecase Thêm món ăn....................................................157
Hình 97. Sơ Đồ Tuần Tự Usecase Chỉnh sửa thông tin món ăn.............................157
Hình 98. Sơ Đồ Tuần Tự Usecase Xóa thông tin món ăn......................................158
Hình 99. Sơ Đồ Tuần Tự Usecase Xem thông tin nhân viên..................................158
Hình 100. Sơ Đồ Tuần Tự Usecase Thêm nhân viên.............................................159
Hình 101. Sơ Đồ Tuần Tự Usecase Chỉnh sửa thông tin nhân viên.......................159
Hình 102. Sơ Đồ Tuần Tự Usecase Xóa nhân viên................................................160
Hình 105. Mô hình thực thể ERD...........................................................................162
Hình 106. Mô quan hệ Hệ thống Quản lý nhà hàng...............................................163
Hình 107. Sơ đồ Class Diagram..............................................................................164
Hình 108. Thống kê tần suất khách tới ăn ở nhà hàng............................................167
Hình 109. Thống kê tỷ lệ đặt bàn trước khi đi ăn nhà hàng....................................168
Hình 110. Thống kê tần suất đặt giao món ăn tận nhà............................................168
Hình 111. Thống kê tỷ lệ sử dụng các dịch vụ giao đồ ăn......................................169
Hình 112. Thống kê tỷ lệ giữa đặt trực tuyến và ăn trực tiếp tại nhà hàng.............169
Hình 113. Thống kê tỷ lệ sử dụng các thiết bị để truy cập website........................170
Hình 114. Thống kê tỷ lệ thời gian truy cập website..............................................170
13
Hình 115. Thống kê các dịch vụ được ưa thích khi dùng website..........................171
Hình 116. Thống kê các yếu tố được yêu thích trên website..................................171
Hình 117. Thống kê các yếu tố gây không hài lòng...............................................171
Hình 118. Personas Tăng Kiến Trung.....................................................................172
Hình 119. Personas Đăng Trí..................................................................................173
Hình 120. Personas Lê Hồng Trâm.........................................................................174
Hình 121. Personas Hoàng Vũ................................................................................175
Hình 122. Storyboard Truy cập website Cơm Nhà.................................................177
Hình 123. Storyboard Xem thực đơn......................................................................178
Hình 124. Storyboard Xem giới thiệu.....................................................................179
Hình 125. Storyboard Liên hệ nhà hàng Cơm Nhà.................................................180
Hình 126. Storyboard Tra cứu chiết khấu hội viên.................................................181
Hình 127. Storyboard Đổi mật khẩu hội viên.........................................................182
Hình 128. Storyboard Thêm món ăn vào giỏ hàng.................................................183
Hình 129. Storyboard Xem thông tin giỏ hàng.......................................................184
Hình 130. Storyboard Xóa món ăn khỏi giỏ hàng..................................................185
Hình 131. Storyboard Đặt giao món ăn..................................................................186
Hình 132. Storyboard Đặt bàn................................................................................187
Hình 133. Wireframe trang chủ nhà hàng...............................................................188
Hình 134. Wireframe trang thực đơn nhà hàng......................................................189
Hình 135. Wireframe trang giới thiệu nhà hàng.....................................................190
Hình 136. Wireframe trang liên hệ nhà hàng..........................................................191
Hình 137. Wireframe trang đặt bàn nhà hàng.........................................................192
Hình 139. Wireframe trang đặt món online nhà hàng............................................194
Hình 140. Wireframe trang hội viên nhà hàng.......................................................195
Hình 141. Prototype trang chủ nhà hàng................................................................196
Hình 142. Prototype trang thực đơn nhà hàng........................................................197
Hình 143. Prototype trang giới thiệu nhà hàng.......................................................198
Hình 144. Prototype trang liên hệ nhà hàng...........................................................199
14
Hình 171. Dùng HttpClient gọi API lấy chi tiết món ăn........................................221
Hình 172. Giao diện Form Đăng nhập....................................................................222
Hình 173. Giao diện Form Quản lý bàn ăn.............................................................222
Hình 174. MenuStrip phân quyền Lễ tân................................................................223
Hình 175. MenuStrip xem thông tin cá nhân..........................................................223
Hình 176. TabPage quản lý doanh thu của nhà hàng..............................................224
Hình 177. TabPage quản lý món ăn........................................................................225
Hình 178. Cấu trúc project phần mềm quản lý nhà hàng........................................225
Hình 179. Các lớp DTO..........................................................................................225
Hình 180. Các lớp DAO.........................................................................................226
Hình 181. Load bàn ăn lên giao diện......................................................................227
Hình 182. Phương thức LoadTableList lấy danh sách bàn ăn từ cơ sở dữ liệu......228
Hình 183. Kết quả danh sách bàn ăn được hiện lên................................................229
Hình 184. Code chức năng thêm món....................................................................230
Hình 185. Code chức năng thêm món trường hợp chưa có hóa đơn.....................230
Hình 186. Code chức năng thêm món đã có hóa đơn.............................................231
Hình 187. Code chức năng thêm món đã có hóa đơn tiếp theo..............................232
Hình 189. Commit History của nhóm.....................................................................235
16
Bảng 29: Đặc tả use case Xem thông tin nguyên vật liệu.........................................66
Bảng 30: Đặc tả use case Thêm nguyên vật liệu......................................................66
Bảng 31: Đặc tả use case Chỉnh sửa thông tin nguyên vật liệu................................68
Bảng 32: Đặc tả use case Xóa nguyên vật liệu.........................................................69
Bảng 33: Đặc tả use case Xem thông tin phiếu nhập nguyên vật liệu......................70
Bảng 34: Đặc tả use case Tạo phiếu nhập nguyên vật liệu.......................................71
Bảng 35: Đặc tả use case Chỉnh sửa thông tin phiếu nhập nguyên vật liệu..............72
Bảng 36: Đặc tả use case Xóa phiếu nhập nguyên vật liệu......................................73
Bảng 37: Đặc tả use case Xem thông tin hóa đơn....................................................74
Bảng 38: Đặc tả use case Tạo hóa đơn.....................................................................75
Bảng 39: Đặc tả use case Chỉnh sửa thông tin hóa đơn............................................76
Bảng 40: Đặc tả use case Xóa hóa đơn.....................................................................77
Bảng 41: Đặc tả use case In hóa đơn........................................................................78
Bảng 42: Đặc tả use case Thống kê doanh thu.........................................................79
Bảng 43: Đặc tả use case Thống kê doanh thu theo tháng........................................80
Bảng 44: Đặc tả use case Thống kê doanh thu theo năm..........................................81
Bảng 45: Đặc tả use case Xem thông tin món ăn.....................................................81
Bảng 46: Đặc tả use case Thêm món ăn...................................................................82
Bảng 47: Đặc tả use case Chỉnh sửa thông tin món ăn.............................................83
Bảng 48: Đặc tả use case Xóa thông tin món ăn.......................................................84
Bảng 49: Đặc tả use case Xem thông tin nhân viên..................................................85
Bảng 50: Đặc tả use case Thêm nhân viên...............................................................86
Bảng 51: Đặc tả use case Chỉnh sửa thông tin nhân viên.........................................87
Bảng 52: Đặc tả use case Xóa nhân viên..................................................................88
Bảng 54: Đặc tả use case Đổi mật khẩu hội viên......................................................91
18
Hiện nay du khách có thể ghé nhà hàng tại địa chỉ 15/44 Đoàn Như Hải,
Phường 12, Quận 4 để thưởng thức hương vị món ăn truyền thống.
Nhận thức được sự phát triển của nhà hàng cũng như muốn mang lại những
giá trị mới nhằm phục vụ cho khách hàng, nhà hàng mong muốn mở rộng quy mô
hoạt động để có thể mang lại những món ăn ngon đến nhiều khách hàng hơn nữa.
Người Người được Câu hỏi phỏng Câu trả lời Địa
phỏng vấn phỏng vấn vấn điểm
Nhà
hàng
Cơm
nhà
20
21
- Sau khi đặt bàn xong khách hàng chỉ cần đến nhà hàng theo lịch hẹn và sẽ
được phục vụ giống hệt như quy trình 1.3.1.1 Quy trình đặt món ăn trực tiếp tại
nhà hàng.
1.3.1.3 Quy trình đặt món trên nền tảng đặt món trực tuyến của nhà hàng:
- Khách hàng truy cập nền tảng đặt món trực tuyến của nhà hàng.
- Chọn mục “Đặt món trực tuyến”.
- Hệ thống sẽ hiển thị thực đơn của nhà hàng và khách hàng sẽ tiến hành lựa
chọn món ăn mình muốn kèm ghi chú, số lượng…
- Sau khi chọn món hệ thống sẽ yêu cầu khách hàng nhập thông tin và thanh
toán qua tài khoản ngân hàng và trả về hóa đơn trực tuyến kèm thông tin về món ăn
đã đặt.
1.3.1.4 Quy trình kiểm tra và nhập nguyên vật liệu:
- Quản lý kho sẽ được cấp tài khoản nhân viên kho và truy cập vào ứng dụng
nội bộ của nhà hàng để thực hiện nhiệm vụ kiểm tra số lượng, độ tươi ngon của
nguyên liệu để đảm bảo món ăn có chất lượng và mức độ vệ sinh cao nhất. Nếu
nguyên liệu quá cũ hoặc đã hư hỏng thì cần phải loại bỏ khỏi kho nguyên liệu.
- Ngoài ra còn kiểm tra trang thiết bị, vật chất như bàn, ghế, muỗng, dĩa …
cho nhà hàng nếu nhà hàng thiếu nguyên liệu hoặc trang thiết bị hư hỏng cần thay
thế thì Quản lý kho sẽ thực hiện việc nhập nguyên vật liệu.
- Khi nhà hàng cần nhập nguyên liệu Quản lý kho sẽ tiến hành liên hệ với
nhà cung cấp để nhập nguyên liệu, danh sách thông tin nhà cung cấp sẽ được Quản
lý kho lưu trữ lại.
- Khi nhập nguyên vật liệu thì phiếu nhập nguyên vật liệu sẽ được Quản lý
kho tạo, lúc này Thu ngân sẽ phải xuất hóa đơn nhập và xác nhận số tiền nhập
nguyên vật liệu theo phiếu nhập để chi tiền và hạn chế tình trạng kê số khống.
- Các nguyên liệu vừa được nhập sẽ được cập nhật vào danh sách các nguyên
liệu hiện có trong kho thông qua tính năng Quản lý nguyên vật liệu.
23
- Nhân viên phục vụ còn có trách nhiệm quản lý bàn ăn, sắp xếp bàn để tối
ưu lượng khách nhận vào không để khách đợi lâu. Nếu có bàn trống thì hướng dẫn
khách đến vị trí bàn ăn trống.
- Khi thanh toán Thu ngân có trách nhiệm thu tiền và kiểm tra nếu Khách
hàng đã là hội viên thì nhập mã hội viên vào hóa đơn để kiểm tra xem khách hàng
có đủ điều kiện nhận chiết khấu từ nhà hàng hay không. Tất cả các thông tin như
nhân viên phục vụ, số lượng món ăn, thông tin bàn ăn đều sẽ được nằm trong hóa
đơn và sẽ được truy xuất từ phiếu gọi món của khách hàng, thông tin về chiết khấu
ưu đãi của nhà hàng.
- Đồng thời nhà hàng cần Thu ngân thống kê doanh thu theo tháng và theo
năm để có thể so sánh, đưa ra các chính sách, kế hoạch phát triển nhà hàng phù hợp.
- Để món ăn có thể đạt chất lượng cao nhất và nhà hàng có thể dễ dàng kiểm
tra, thống kê kho nguyên vật liệu thì Quản lý kho còn lưu trữ chi tiết danh sách các
nguyên vật liệu ở nhà hàng.
- Khi nhà hàng cần nhập nguyên vật liệu thì Quản lý kho sẽ tạo phiếu nhập
và Thu ngân sẽ xuất hóa đơn chi tiền nhập nguyên vật liệu để dễ dàng quản lý hạn
chế tình trạng kê khống…
- Để có thể thuận lợi liên lạc với nhà cung cấp cũng như nếu nguồn cung có
vấn đề thì Quản lý kho còn quản lý thông tin các nhà cung cấp.
- Và cuối cùng Quản lý nhà hàng sẽ cần quản lý các nhân viên của mình.
Quản lý nhà hàng còn quản lý nhân viên truy cập vào hệ thống và phân quyền các
tài khoản đúng với chức vụ của từng nhân viên.
Quản lý nhà hàng còn phải làm việc, trao đổi với bếp trưởng để có thể điều
chỉnh thực đơn của nhà hàng theo từng mùa, dịp để đa dạng hóa các món ăn ở nhà
hàng.
25
● Website của nhà hàng và phần mềm quản lý nội bộ phải có thiết kế
linh động, tương thích với nhiều hệ điều hành và thiết bị khác
nhau.
● Giao diện phải được thiết kế với mức độ thẩm mỹ cao, dễ sử dụng
● Hệ thống website phải hoạt động ổn định, chịu được lưu lượng
● Hệ thống quản lý nội bộ có khả năng bảo trì, nâng cấp cao nếu
- Là tác nhân tương tác với hệ thống để thực hiện chức năng
3 Hội viên
như tra cứu chiết khấu hội viên, đổi mật khẩu hội viên.
27
- Là tác nhân có thể tương tác với hệ thống để xem thông tin
danh sách bàn ăn ở nhà hàng, phục vụ khách hàng đến trực tiếp
4 Phục vụ nhà hàng.
- Ghi nhận, giải quyết yêu cầu gọi món hoặc thanh toán của
khách hàng.
- Là tác nhân chịu trách nhiệm quản lý thông tin hội viên của
5 Lễ tân nhà hàng để điều chỉnh ưu đãi hợp lý cho hội viên thân thiết.
- Xem và sắp xếp lịch hẹn đặt bàn.
- Là tác nhân có trách nhiệm quản lý thông tin cũng như liên hệ
với nhà cung cấp nguyên vật liệu cho nhà hàng.
Quản lý - Quản lý kho còn phải thường xuyên tương tác với hệ thống để
6
kho quản lý nguyên vật liệu.
- Ngoài ra còn có thể tương tác với hệ thống để tạo phiếu nhập
hàng mỗi khi nhà hàng cần nhập nguyên vật liệu mới về.
- Là tác nhân sử dụng hệ thống để lập hóa đơn thanh toán bữa
7 Thu ngân ăn, hóa đơn nhập nguyên vật liệu từ đó quản lý và thống kê
doanh thu của nhà hàng.
- Là người có nhiệm vụ: Quản lý mọi tác nhân khác trong hệ
Quản lý thống.
8
nhà hàng - Làm việc với đầu bếp để quản lý, chỉnh sửa thực đơn món ăn
của nhà hàng.
Tên Use
ID Tác nhân Mô tả
Case
UC01 Đăng nhập User, Phục vụ, Tác nhân đăng nhập vào hệ thống của
Lễ tân, Quản lý nhà hàng.
kho, Thu ngân,
28
Quản lý nhà
hàng
User, Phục vụ,
Lễ tân, Quản lý
Tác nhân đăng xuất khỏi hệ thống của
UC02 Đăng xuất kho, Thu ngân,
nhà hàng.
Quản lý nhà
hàng
User, Phục vụ,
Lễ tân, Quản lý
Đổi mật Tác nhân đổi mật khẩu tài khoản của
UC03 kho, Thu ngân,
khẩu mình trong hệ thống của nhà hàng.
Quản lý nhà
hàng
Tác nhân xem giỏ hàng để kiểm tra các
Xem giỏ
UC04 Khách hàng món ăn mình đã chọn vào giỏ hàng rồi
hàng
tiến hành đặt món.
Tác nhân đặt bàn trước từ xa qua hệ
UC05 Đặt bàn Khách hàng
thống của nhà hàng.
Thanh toán Tác nhân lựa chọn hình thức thanh toán
UC10 Khách hàng.
qua ví điện qua ví điện tử.
29
tử
Xem danh Tác nhân xem danh sách các bàn ăn
UC11 Phục vụ, Lễ tân
sách bàn ăn hiện có ở nhà hàng.
Tạo phiếu
UC12 Phục vụ, Lễ tân Tác nhân tiến hành đặt món ăn.
gọi món
Chọn món Khách hàng, Tác nhân chọn món ăn mong muốn và
UC14
ăn Phục vụ, Lễ tân thêm vào đơn đặt món ăn.
Thêm ghi Khách hàng, Tác nhân thêm ghi chú mình mong
UC15
chú Phục vụ, Lễ tân muốn vào đơn đặt món ăn.
In phiếu gọi Khách hàng, Tác nhân in phiếu gọi món trong máy
UC16
món Phục vụ, Lễ tân in của nhà bếp.
Xem danh
Tác nhân xem danh sách hội viên được
UC17 sách hội Lễ tân
lưu trong hệ thống của nhà hàng.
viên
Tác nhân thêm hội viên vào danh sách
Thêm hội
UC18 Lễ tân hội viên được lưu trong hệ thống của
viên
nhà hàng.
Chỉnh sửa Tác nhân sửa thông tin hội viên trong
UC19 thông tin Lễ tân danh sách hội viên được lưu trong hệ
hội viên thống của nhà hàng.
Tác nhân thêm chiết khấu cho hội viên
Thêm chiết
UC20 Lễ tân trong danh sách hội viên được lưu
khấu
trong hệ thống của nhà hàng.
Xem lịch Tác nhân xem lịch đặt bàn của khách
UC21 Lễ tân
đặt bàn hàng đặt bàn trực tuyến.
UC22 Xem thông Quản lý kho Tác nhân thực hiện xem thông tin nhà
30
Tạo phiếu
nhập Tác nhân thực hiện tạo một phiếu nhập
UC31 Quản lý kho
nguyên vật nguyên vật liệu.
liệu
Chỉnh sửa
thông tin Tác nhân thực hiện chỉnh sửa thông tin
UC32 phiếu nhập Quản lý kho của một phiếu nhập nguyên vật liệu
nguyên vật hiện có trong hệ thống.
liệu
Xóa phiếu
nhập Tác nhân thực hiện xóa một phiếu nhập
UC33 Quản lý kho
nguyên vật nguyên vật liệu trong hệ thống.
liệu
Thu ngân,
Xem thông Tác nhân thực hiện xem thông tin của
UC34 Quản lý nhà
tin hóa đơn một hóa đơn có trong hệ thống.
hàng
Tạo hóa Tác nhân thực hiện tạo một hóa đơn
UC35 Thu ngân
đơn mới trong hệ thống.
Chỉnh sửa Tác nhân thực hiện chỉnh sửa thông tin
UC36 thông tin Thu ngân của một hóa đơn hiện có trong hệ
hóa đơn thống.
Xóa hóa Tác nhân thực hiện xóa thông tin của
UC37 Thu ngân
đơn một hóa đơn hiện có trong hệ thống.
UC40 Thống kê Thu ngân Tổng doanh thu được thống kê và gửi
32
doanh thu
về theo tháng
theo tháng
Thống kê
Tổng doanh thu được thống kê và gửi
UC41 doanh thu Thu ngân
về theo năm
theo năm
Xem thông Quản lý nhà Hệ thống cấp quyền cho xem thông tin
UC42
tin món ăn hàng các món ăn trong nhà hàng
Thêm món Quản lý nhà Hệ thống cấp quyền cho phép thêm một
UC43
ăn hàng món ăn mới vào hệ thống
Chỉnh sửa
Quản lý nhà Hệ thống cấp quyền cho phép sửa
UC44 thông tin
hàng thông tin món ăn trong hệ thống
món ăn
Xóa thông Quản lý nhà Hệ thống cấp quyền cho phép xóa một
UC45
tin món ăn hàng món ăn ra khỏi hệ thống
Xem thông
Quản lý nhà Hệ thống cấp quyền cho phép xem
UC46 tin nhân
hàng thông tin nhân viên trong hệ thống
viên
Thêm nhân Quản lý nhà Hệ thống cấp quyền cho phép thêm
UC47
viên hàng nhân viên vào hệ thống
Chỉnh sửa
Quản lý nhà Hệ thống cấp quyền cho phép chỉnh
UC48 thông tin
hàng sửa thông tin nhân viên trong hệ thống
nhân viên
Xóa nhân Quản lý nhà Hệ thống cấp quyền cho phép xóa nhân
UC49
viên hàng viên ra khỏi hệ thống
Đổi mật Tác nhân đổi mật khẩu tài khoản hội
UC51 Hội viên
khẩu hội viên của mình
33
viên
34
Mã use
UC01
case
Ngữ cảnh Đăng nhập vào hệ thống nội bộ của nhà hàng.
Mô tả Tác nhân thực hiện đăng nhập vào hệ thống nội bộ của nhà hàng.
Tác nhân User, Phục vụ, Lễ tân, Quản lý kho, Thu ngân, Quản lý nhà hàng
Sự kiện
Nhấn vào nút “Đăng nhập” trên hệ thống.
kích hoạt
+ Tác nhân truy cập được vào hệ thống nội bộ của nhà hàng.
Điều kiện
+ Tài khoản của tác nhân đã được Quản lý nhà hàng tạo và có trong cơ
tiên quyết
sở dữ liệu hệ thống của nhà hàng.
Kết quả Tác nhân đăng nhập thành công vào hệ thống nội bộ của nhà hàng.
1. Tác nhân truy cập vào hệ thống 1.1. Hệ thống hiện giao diện “Đăng
=> Hệ thống tạm khóa chức năng đăng nhập trong 5 phút.
Ngữ cảnh Đăng xuất khỏi hệ thống nội bộ của nhà hàng.
Mô tả Tác nhân thực hiện đăng xuất khỏi hệ thống nội bộ của nhà hàng.
Tác nhân User, Phục vụ, Lễ tân, Quản lý kho, Thu ngân, Quản lý nhà hàng
Sự kiện
Nhấn vào nút “Đăng xuất” trên hệ thống.
kích hoạt
Điều kiện + Tác nhân truy cập được vào hệ thống nội bộ của nhà hàng.
tiên quyết + Tác nhân đã đăng nhập thành công vào hệ thống nội bộ của nhà hàng.
Kết quả Tác nhân đăng xuất thành công khỏi hệ thống nội bộ của nhà hàng.
1. Tác nhân nhấn vào nút “Đăng 1.1. Hệ thống hiện thông báo “Xác
Tác nhân thực hiện đổi mật khẩu tài khoản của mình trong hệ thống của
Mô tả
nhà hàng.
Tác nhân User, Phục vụ, Lễ tân, Quản lý kho, Thu ngân, Quản lý nhà hàng
Sự kiện
Nhấn vào nút “Đổi mật khẩu” trên hệ thống.
kích hoạt
+ Tác nhân truy cập được vào hệ thống nội bộ của nhà hàng.
Điều kiện + Tài khoản của tác nhân đã được Quản lý nhà hàng tạo và có trong cơ
tiên quyết sở dữ liệu hệ thống của nhà hàng.
+ Tác nhân đã đăng nhập thành công vào hệ thống nội bộ của nhà hàng.
Kết quả Tác nhân đổi mật khẩu thành công.
2. Tác nhân nhập Mật khẩu cũ và 2.1. Hệ thống xác thực thông tin.
Mật khẩu mới cần đổi vào ô tương 2.1.1. Xác thực thành công. Hệ
ứng và nhấn “Xác nhận đổi mật thống lưu mật khẩu mới vào cơ sở
khẩu”. dữ liệu và hiện thông báo “Đổi mật
khẩu thành công”.
2.1.2. Xác thực không thành công.
38
Ngữ cảnh Xem giỏ hàng trên hệ thống website của nhà hàng
Tác nhân xem giỏ hàng để kiểm tra và thao tác với các món ăn mình đã
Mô tả
chọn vào giỏ hàng.
Sự kiện Nhấn vào nút “Xem giỏ hàng” trên giao diện hệ thống website của nhà
kích hoạt hàng.
Điều kiện
+ Tác nhân truy cập được vào website của nhà hàng
tiên quyết
Kết quả Tác nhân xem được giao diện giỏ hàng hiện tại.
“Giỏ hàng”.
Ngữ cảnh Đặt bàn trực tuyến trên website của nhà hàng.
Sự kiện
Nhấn vào nút “Đặt bàn” trên giao diện đặt bàn của hệ thống.
kích hoạt
Điều kiện
+ Tác nhân truy cập được vào website của nhà hàng.
tiên quyết
2. Tác nhân nhập các thông tin 2.1. Thông tin khách hàng sau khi
được yêu cầu và nhấn “Xác nhận điền vào form được hệ thống tiếp
đặt bàn trực tuyến”. nhận sau đó lưu lại trong cơ sở dữ
liệu và hiện thông báo “Đặt bàn
40
Ngữ cảnh Xem thực đơn trên website của nhà hàng.
Mô tả Tác nhân thực hiện xem thực đơn các món ăn của nhà hàng.
Sự kiện
Nhấn vào nút “Xem thực đơn” trên hệ thống nhà hàng.
kích hoạt
+ Nếu tác nhân là: Khách hàng thì cần phải truy cập được vào website
Điều kiện của nhà hàng.
tiên quyết + Nếu tác nhân là: Phục vụ, Lễ tân thì cần phải truy cập được vào hệ
thống nội bộ của nhà hàng và trong giao diện tạo phiếu gọi món.
Kết quả Tác nhân xem thành công thực đơn của nhà hàng.
Mã use UC07
41
case
Ngữ cảnh Đặt món trực tuyến thông qua website của nhà hàng.
Mô tả Tác nhân đặt món trực tuyến thông qua website của nhà hàng.
Sự kiện
Nhấn vào nút “Đặt món trực tuyến” trên giao diện xem giỏ hàng.
kích hoạt
+ Tác nhân truy cập được vào website của nhà hàng.
Điều kiện + Tác nhân đang trong giao diện “Xem giỏ hàng”.
tiên quyết + Tác nhân đã chọn ít nhất 1 món ăn trong giỏ hàng.
+ Tác nhân phải thanh toán thành công.
Kết quả Tác nhân đặt món trực tuyến thành công.
Ngữ cảnh Thanh toán khi khách hàng đặt món trực tuyến.
Mô tả Tác nhân thực hiện thanh toán cho nhà hàng khi đặt món trực tuyến.
Sự kiện
Tác nhân thực hiện Usecase “Đặt món trực tuyến”.
kích hoạt
Điều kiện
+ Tác nhân đang trong giao diện “Chi tiết đơn hàng”.
tiên quyết
Kết quả Tác nhân chọn thành công hình thức thanh toán.
Bảng 12. Đặc tả Usecase Thanh toán qua thẻ ngân hàng
Mã use
UC09
case
Ngữ cảnh Thanh toán qua thẻ ngân hàng khi khách hàng đặt món trực tuyến.
Tác nhân thực hiện thanh toán qua thẻ ngân hàng cho nhà hàng khi đặt
Mô tả
món trực tuyến.
Sự kiện
Tác nhân nhấn nút chọn hình thức “Thanh toán qua thẻ ngân hàng”
kích hoạt
Điều kiện
+ Tác nhân đang trong giao diện “Chi tiết đơn hàng”.
tiên quyết
Kết quả Tác nhân thanh toán thành công qua thẻ ngân hàng.
Tác nhân không nhập hoặc nhập thiếu thông tin thẻ ngân hàng.
Ngoại lệ
=> Hệ thống hiển thị thông báo yêu cầu nhập đủ và chính xác thông tin.
Ngữ cảnh Thanh toán qua ví điện tử khi khách hàng đặt món trực tuyến.
Tác nhân thực hiện thanh toán qua ví điện tử cho nhà hàng khi đặt món
Mô tả
trực tuyến.
Sự kiện
Tác nhân nhấn nút chọn hình thức “Thanh toán qua ví điện tử”
kích hoạt
Điều kiện
+ Tác nhân đang trong giao diện “Chi tiết đơn hàng”.
tiên quyết
Kết quả Tác nhân thanh toán thành công qua ví điện tử.
Tác nhân không nhập hoặc nhập thiếu thông tin ví điện tử.
Ngoại lệ
=> Hệ thống hiển thị thông báo yêu cầu nhập đủ và chính xác thông tin.
Ngữ cảnh Xem danh sách bàn ăn và tình trạng các bàn ăn ở nhà hàng.
Tác nhân thực hiện xem danh sách bàn ăn và tình trạng các bàn ăn ở nhà
Mô tả
hàng.
Sự kiện
Đăng nhập thành công vào hệ thống.
kích hoạt
+ Tác nhân truy cập được vào hệ thống nội bộ của nhà hàng.
Điều kiện
+ Tác nhân đã đăng nhập thành công vào hệ thống nội bộ của nhà hàng
tiên quyết
với quyền được cấp là “Phục vụ và Lễ tân”.
Kết quả Tác nhân xem thành công danh sách bàn ăn ở nhà hàng.
Mô tả Tác nhân thực hiện tạo phiếu gọi món của khách hàng.
Sự kiện
Nhấn vào nút “Thêm món ăn” Hoặc Nhấn vào nút “Đặt món trực tuyến”.
kích hoạt
Ngoại lệ Tác nhân chưa chọn ít nhất 1 món và nhấn vào nút “Xác nhận tạo phiếu
gọi món”.
=> Hệ thống hiện thông báo “Yêu cầu chọn ít nhất 1 món”.
47
Kết quả Các tác nhân thêm ghi chú cho món ăn thành công
Actor System
1. Tác nhân nhấn vào nút có 1.1. Hệ thống hiển thị một box
biểu tượng ‘cây bút’ của nhập văn bản
món ăn đã chọn trong giỏ
Luồng sự hàng.
kiện 2. Tác nhân nhập ghi chú 2.1. Hệ thống hiển thị văn bản mà
vào box người dùng nhập.
3. Tác nhân nhập xong và 3.1 Hệ thống lưu ghi chú của món
chọn nút xác nhận đó và hiển thị thông báo thêm
thông báo thành công
Ngoại lệ Không.
kiện 1. Tác nhân nhấn vào nút in 1.1. Hệ thống hiển thị một thông
50
Ngoại lệ Không.
3.a. Lễ tân chọn hội viên trong 3.a.1. Hệ thống hiển thị thông
danh sách. tin hội viên đã chọn.
3.b. Lễ tân nhập mã hội viên trên 3.b.1. Hệ thống hiển thị thông
thanh tìm kiếm và nhấn nút tìm tin hội viên tìm kiếm.
kiếm (nếu sử dụng thanh tìm kiếm.
Ngoại lệ Lễ tân nhập mã hội viên không tồn tại.
=>Hệ thống thông báo lỗi.
Mã use UC18
case
Use Case Thêm hội viên
Ngữ cảnh Thêm thông tin hội viên.
Mô tả Lễ tân thêm thông tin hội viên vào hệ thống.
Tác nhân Lễ tân
Sự kiện Thêm hội viên.
kích hoạt
Điều kiện +Lễ tân vào được phần mềm nội bộ và đăng nhập thành công
tiên quyết
Kết quả Lễ tân thêm hội viên thành công.
Actor System
1. Lễ tân chọn mục “Quản lý hội 1.1. Hệ thống hiển thị giao diện
viên”. quản lý hội viên.
2. Lễ tân chọn mục “Thêm hội 2.1. Hệ thống hiển thị giao diện
Luồng sự viên”. thêm hội viên.
kiện
3. Lễ tân tiến hành nhập các thông
tin của hội viên cần thêm vào giao
diện hiển thị
4. Lễ tân nhấn nút “Thêm”. 4.1. Thông tin của hội viên được
52
Bảng 22. Đặc tả Usecase Chỉnh sửa thông tin hội viên
Mã use UC19
case
Use Case Chỉnh sửa thông tin hội viên.
Ngữ cảnh Chỉnh sửa thông tin của hội viên trong hệ thống.
Mô tả Lễ tân thực hiện chỉnh sửa thông tin của hội viên trong hệ thống.
Tác nhân Lễ tân
Sự kiện Lễ tân chỉnh sửa thông tin hội viên.
kích hoạt
Điều kiện +Lễ tân vào được phần mềm nội bộ và đăng nhập thành công
tiên quyết
Kết quả Lễ tân chỉnh sửa thông tin hội viên thành công.
Luồng sự Actor System
kiện 1. Lễ tân chọn mục “Quản lý hội 1.1. Hệ thống hiển thị giao diện
viên”. quản lý hội viên.
2. Lễ tân chọn mục “Xem thông tin 2.1. Hệ thống hiển thị danh
hội viên”. sách hội viên và thanh tìm
kiếm.
3.a. Lễ tân chọn hội viên trong 3.a.1. Hệ thống hiển thị
danh sách. thông tin hội viên đã chọn.
3.b. Lễ tân nhập mã hội viên trên 3.b.1. Hệ thống hiển thị
thanh tìm kiếm và nhấn nút tìm thông tin hội viên tìm kiếm.
53
Sự kiện
Nhấn vào nút “Thêm chiết khấu”
kích hoạt
Điều kiện
+ Tác nhân đã đăng nhập thành công vào hệ thống.
tiên quyết
2. Tác nhân chọn hội viên và nhấn 2.1. Hệ thống hiển thị thông báo
54
Bảng 25. Đặc tả Usecase Xem thông tin nhà cung cấp
Mã use UC22
case
Use Case Xem thông tin nhà cung cấp.
Ngữ cảnh Xem thông tin của nhà cung cấp trong hệ thống.
Mô tả Quản lý kho thực hiện xem thông tin của nhà cung cấp trong hệ thống.
Tác nhân Quản lý kho
55
Điều kiện +Quản lý kho truy cập vào được phần mềm nội bộ và đăng nhập thành
tiên quyết công.
Kết quả Quản lý kho thêm nhà cung cấp thành công.
Actor System
1. Quản lý kho chọn mục “Quản lý 1.1. Hệ thống hiển thị giao diện
nhà cung cấp”. quản lý nhà cung cấp.
2. Quản lý kho chọn mục “Thêm 2.1. Hệ thống hiển thị giao diện
nhà cung cấp”. thêm nhà cung cấp.
Luồng sự
kiện
3. Quản lý kho tiến hành nhập các
thông tin của nhà cung cấp cần
thêm vào giao diện hiển thị
4. Quản lý kho nhấn nút “Thêm”. 4.1. Thông tin của nhà cung cấp
được thêm vào hệ thống
Ngoại lệ Quản lý kho nhập thiếu hoặc sai thông tin.
=>Hệ thống báo lỗi tại các mục chưa được nhập hoặc những chỗ nhập sai
và yêu cầu nhập lại.
Bảng 27. Đặc tả Usecase Chỉnh sửa thông tin nhà cùng cấp
Mã use UC24
case
Use Case Chỉnh sửa thông tin nhà cung cấp.
Ngữ cảnh Chỉnh sửa thông tin của nhà cung cấp trong hệ thống.
Mô tả Quản lý kho thực hiện chỉnh sửa thông tin của nhà cung cấp trong hệ
thống.
Tác nhân Quản lý kho
Sự kiện Quản lý kho chỉnh sửa thông tin nhà cung cấp.
kích hoạt
57
Điều kiện + Quản lý kho truy cập vào được phần mềm nội bộ.
tiên quyết + Quản lý kho đã đăng nhập vào hệ thống.
Kết quả Quản lý kho chỉnh sửa thông tin nhà cung cấp thành công.
Actor System
1. Quản lý kho chọn mục “Quản lý 1.1. Hệ thống hiển thị giao diện
nhà cung cấp”. quản lý nhà cung cấp.
2. Quản lý kho chọn mục “Xem 2.1. Hệ thống hiển thị danh
thông tin nhà cung cấp”. sách nhà cung cấp và thanh
tìm kiếm.
3.a. Quản lý kho chọn nhà cung cấp 3.a.1. Hệ thống hiển thị
trong danh sách. thông tin nhà cung cấp đã
Luồng sự 3.b. Quản lý kho nhập mã nhà cung chọn.
kiện cấp trên thanh tìm kiếm và nhấn 3.b.1. Hệ thống hiển thị
nút tìm kiếm (nếu sử dụng thanh thông tin nhà cung cấp tìm
tìm kiếm). kiếm.
4. Quản lý kho chọn mục “Cập nhật 4.1. Hệ thống hiển thị giao diện cập
thông tin” nhật thông tin.
5. Quản lý kho nhập các thông tin
cần thiết.
6. Quản lý kho nhấn nút “Lưu 6.1. Thông tin được cập nhật vào
thông tin”. hệ thống.
Ngoại lệ Quản lý kho nhập sai hoặc thiếu thông tin
=> Hệ thống báo lỗi và yêu cầu nhập lại tại vị trí sai hoặc thiếu.
Ngữ cảnh Xóa thông tin một nhà cung cấp trong hệ thống.
Mô tả Tác nhân xóa thông tin một nhà cung cấp trong hệ thống.
Sự kiện Nhấn vào nút “Xóa” của một nhà cung cấp bất kỳ trong mục “Quản lý
kích hoạt nhà cung cấp”
Điều kiện
+ Tác nhân đã đăng nhập thành công vào hệ thống.
tiên quyết
Kết quả Tác nhân xóa nhà cung cấp thành công.
1. Tác nhân chọn mục “Quản lý 1.1. Hệ thống hiển thị danh sách
Ngoại lệ Không.
Bảng 29: Đặc tả use case Xem thông tin nguyên vật liệu
Mã use
UC26.
case
Ngữ cảnh Xem thông tin nguyên vật liệu trong hệ thống.
Mô tả Tác nhân muốn xem thông tin nguyên vật liệu hiện có trong hệ thống.
Sự kiện Nhấn vào nguyên vật liệu bất kỳ trong danh sách thuộc mục “Quản lý
kích hoạt nguyên vật liệu”.
Điều kiện
+ Tác nhân đã đăng nhập thành công vào hệ thống.
tiên quyết
Kết quả Tác nhân xem được thông tin của nguyên vật liệu.
2. Tác nhân chọn nguyên vật liệu 2.1. Hệ thống hiển thị thông tin chi
muốn xem thông tin. tiết của nguyên vật liệu được chọn.
Ngoại lệ Không.
Mô tả Tác nhân thực hiện thêm một nguyên vật liệu mới vào hệ thống.
Sự kiện Nhấn vào mục “Thêm nguyên vật liệu” trong mục “Quản lý nhà cung
kích hoạt cấp”
60
Điều kiện
+ Tác nhân truy cập vào được phần mềm quản lý nội bộ.
tiên quyết
+ Tác nhân đã đăng nhập thành công vào hệ thống.
Kết quả Tác nhân thêm thông tin một nguyên vật liệu mới thành công.
Luồng sự
2. Tác nhân chọn mục “Thêm 2.1. Hệ thống hiển thị giao diện
kiện nguyên vật liệu”. thêm nguyên vật liệu.
Tác nhân nhập thiếu thông tin cần thiết => Hệ thống báo lỗi và yêu cầu
Ngoại lệ
nhập thông tin tại ô còn thiếu.
Bảng 31: Đặc tả use case Chỉnh sửa thông tin nguyên vật liệu
Mã use
UC28.
case
Ngữ cảnh Chỉnh sửa thông tin của một nguyên vật liệu trong hệ thống.
Tác nhân thực hiện việc chỉnh sửa thông tin của một nguyên vật liệu
Mô tả
trong hệ thống.
Sự kiện Nhấn vào nút“Chỉnh sửa” ứng với nguyên vật liệu muốn sửa nằm trong
kích hoạt danh sách trong mục “Quản lý nguyên vật liệu”.
Điều kiện
+ Tác nhân truy cập vào được phần mềm quản lý nội bộ.
tiên quyết
+ Tác nhân đã đăng nhập thành công vào hệ thống.
Kết quả Tác nhân chỉnh sửa thông tin nguyên vật liệu thành công.
Luồng sự
2. Tác nhân tìm nguyên vật liệu 2.1. Hệ thống hiển thị giao diện
kiện cần chỉnh sửa và nhấn nút “Chỉnh chỉnh sửa thông tin nguyên vật
sửa”. liệu.
Tác nhân nhập thiếu thông tin cần thiết => Hệ thống báo lỗi và yêu cầu
Ngoại lệ
nhập thông tin tại ô còn thiếu.
Mô tả Tác nhân thực hiện xóa một nguyên vật liệu trong hệ thống.
62
Sự kiện Nhấn vào nút“Xóa” ứng với nguyên vật liệu muốn xóa nằm trong danh
kích hoạt sách trong mục “Quản lý nguyên vật liệu”.
Điều kiện
+ Tác nhân truy cập vào được phần mềm quản lý nội bộ.
tiên quyết
+ Tác nhân đã đăng nhập thành công vào hệ thống.
Kết quả Tác nhân xóa nguyên vật liệu thành công.
Luồng sự
kiện 2. Tác nhân tìm nguyên vật liệu 2.1. Hệ thống hiển thị thông báo
cần xóa và nhấn nút “Xóa”. xác nhận xóa nguyên vật liệu.
Ngoại lệ Không.
Bảng 33: Đặc tả use case Xem thông tin phiếu nhập nguyên vật liệu
Mã use
UC30.
case
Use Case Xem thông tin phiếu nhập nguyên vật liệu.
Xem thông tin chi tiết của một phiếu nhập nguyên vật liệu trong hệ
Ngữ cảnh
thống.
Mô tả Tác nhân thực hiện việc xem thông tin chi tiết của một phiếu nhập
63
Sự kiện Nhấn vào nguyên vật liệu bất kỳ trong danh sách thuộc mục “Quản lý
kích hoạt phiếu nhập”.
Điều kiện
+ Tác nhân truy cập vào được phần mềm quản lý nội bộ.
tiên quyết
+ Tác nhân đã đăng nhập thành công vào hệ thống.
Kết quả Tác nhân xem thông tin phiếu nhập nguyên vật liệu thành công.
2. Tác nhân chọn phiếu nhập cần 2.1. Hệ thống hiển thị thông tin chi
xem thông tin. tiết của phiếu nhập được chọn.
Ngoại lệ Không.
Bảng 34: Đặc tả use case Tạo phiếu nhập nguyên vật liệu
Mã use
UC31.
case
Ngữ cảnh Tạo phiếu nhập nguyên vật liệu vào hệ thống.
Mô tả Tác nhân thực hiện tạo phiếu nhập nguyên vật liệu vào hệ thống.
Nhấn vào mục “Tạo phiếu nhập” trong mục “Quản lý phiếu nhập”.
Sự kiện
64
kích hoạt
Điều kiện
+ Tác nhân truy cập vào được phần mềm quản lý nội bộ.
tiên quyết
+ Tác nhân đã đăng nhập thành công vào hệ thống.
Kết quả Tác nhân tạo phiếu nhập nguyên vật liệu thành công.
Luồng sự
2. Tác nhân chọn mục “Tạo phiếu 2.1. Hệ thống hiển thị giao diện tạo
kiện
nhập”. phiếu nhập.
3. Tác nhân tiến hành nhập các 3.1. Hệ thống tạo phiếu nhập và
thông tin cần thiết vào form thông hiển thị thông báo tạo phiếu nhập
tin và nhấn nút “Xác nhận”. thành công.
Tác nhân nhập thiếu thông tin cần thiết => Hệ thống báo lỗi và yêu cầu
Ngoại lệ
nhập thông tin tại ô còn thiếu.
Bảng 35: Đặc tả use case Chỉnh sửa thông tin phiếu nhập nguyên vật liệu
Mã use
UC32.
case
Use Case Chỉnh sửa thông tin phiếu nhập nguyên vật liệu.
Chỉnh sửa thông tin chi tiết của một phiếu nhập nguyên vật liệu trong hệ
Ngữ cảnh
thống.
Mô tả Tác nhân thực hiện việc chỉnh sửa thông tin chi tiết của một phiếu nhập
65
Sự kiện Nhấn vào nút “Chỉnh sửa” của phiếu nhập tương ứng nằm trong danh
kích hoạt sách của mục “Quản lý phiếu nhập”.
Điều kiện
+ Tác nhân truy cập vào được phần mềm quản lý nội bộ.
tiên quyết
+ Tác nhân đã đăng nhập thành công vào hệ thống.
Tác nhân chỉnh sửa thông tin phiếu nhập nguyên vật liệu thành
Kết quả
công.
Luồng sự
2. Tác nhân tìm phiếu nhập cần 2.1. Hệ thống hiển thị giao diện
kiện chỉnh sửa thông tin và nhấn nút chỉnh sửa thông tin phiếu nhập.
“Chỉnh sửa”.
3. Tác nhân tiến hành điền các 3.1. Hệ thống cập nhập lại thông
thông tin cần thiết vào form và tin của phiếu nhập và hiện thông
nhấn nút “Xác nhận”. báo chỉnh sửa thông tin thành cộng
Tác nhân nhập thiếu thông tin cần thiết => Hệ thống báo lỗi và yêu cầu
Ngoại lệ
nhập thông tin tại ô còn thiếu.
Bảng 36: Đặc tả use case Xóa phiếu nhập nguyên vật liệu
Mã use
UC33.
case
66
Ngữ cảnh Xóa phiếu nhập nguyên vật liệu trong hệ thống.
Mô tả Tác nhân thực hiện xóa phiếu nhập nguyên vật liệu trong hệ thống.
Sự kiện Nhấn vào nút “Xóa” của phiếu nhập tương ứng nằm trong danh sách của
kích hoạt mục “Quản lý phiếu nhập”.
Điều kiện
+ Tác nhân truy cập vào được phần mềm quản lý nội bộ.
tiên quyết
+ Tác nhân đã đăng nhập thành công vào hệ thống.
Kết quả Tác nhân xóa phiếu nhập nguyên vật liệu thành công.
Luồng sự
kiện 2. Tác nhân tìm phiếu nhập muốn 2.1. Hệ thống hiển thị thông báo
xóa và nhấn nút “Xóa”. xác nhận xóa phiếu nhập.
3. Tác nhân nhấn nút “Xác nhận”. 3.1. Hệ thống xóa phiếu nhập và
hiển thị thông báo xóa thành công.
Ngoại lệ Không.
Bảng 37: Đặc tả use case Xem thông tin hóa đơn
Mã use
UC34.
case
Ngữ cảnh Xem thông tin chi tiết của một hóa đơn trong hệ thống.
Tác nhân thực hiện việc xem thông tin chi tiết của một hóa đơn trong hệ
Mô tả
thống.
Sự kiện
Nhấn vào hóa đơn bất kỳ trong danh sách thuộc mục “Quản lý hóa đơn”.
kích hoạt
Điều kiện
+ Tác nhân truy cập vào được phần mềm quản lý nội bộ.
tiên quyết
+ Tác nhân đã đăng nhập thành công vào hệ thống.
Kết quả Tác nhân xem thông tin hóa đơn thành công.
2. Tác nhân chọn hóa đơn cần xem 2.1. Hệ thống hiển thị thông tin chi
thông tin. tiết của hóa đơn được chọn.
Ngoại lệ Không.
Sự kiện
Nhấn vào mục “Tạo hóa đơn” trong mục “Quản lý hóa đơn”.
kích hoạt
Điều kiện
+ Tác nhân truy cập vào được phần mềm quản lý nội bộ.
tiên quyết
+ Tác nhân đã đăng nhập thành công vào hệ thống.
Kết quả Tác nhân tạo hóa đơn thành công.
Luồng sự
2. Tác nhân chọn mục “Tạo hóa 2.1. Hệ thống hiển thị giao diện tạo
kiện
đơn”. hóa đơn.
3. Tác nhân tiến hành nhập các 3.1. Hệ thống tạo hóa đơn và hiển
thông tin cần thiết vào form thông thị thông báo tạo hóa đơn thành
tin và nhấn nút “Xác nhận”. công.
Tác nhân nhập thiếu thông tin cần thiết => Hệ thống báo lỗi và yêu cầu
Ngoại lệ
nhập thông tin tại ô còn thiếu.
Bảng 39: Đặc tả use case Chỉnh sửa thông tin hóa đơn
Mã use
UC36.
case
Ngữ cảnh Chỉnh sửa thông tin chi tiết của một hóa đơn trong hệ thống.
69
Tác nhân thực hiện việc chỉnh sửa thông tin chi tiết của một hóa đơn
Mô tả
trong hệ thống.
Sự kiện Nhấn vào nút “Chỉnh sửa” ứng với hóa đơn muốn sửa trong danh sách
kích hoạt của mục “Quản lý hóa đơn”.
Điều kiện
+ Tác nhân truy cập vào được phần mềm quản lý nội bộ.
tiên quyết
+ Tác nhân đã đăng nhập thành công vào hệ thống.
Kết quả Tác nhân chỉnh sửa thông tin hóa đơn thành công.
Luồng sự
2. Tác nhân tìm hóa đơn cần chỉnh 2.1. Hệ thống hiển thị giao diện
kiện sủa thông tin và nhấn nút “Chỉnh chỉnh sửa thông tin hóa đơn.
sửa”.
3. Tác nhân tiến hành điền các 3.1. Hệ thống cập nhập lại thông
thông tin cần thiết vào form và tin của hóa đơn và hiện thông báo
nhấn nút “Xác nhận”. chỉnh sửa thông tin thành công.
Tác nhân nhập thiếu thông tin cần thiết => Hệ thống báo lỗi và yêu cầu
Ngoại lệ
nhập thông tin tại ô còn thiếu.
Mô tả Tác nhân thực hiện việc xóa một hóa đơn trong hệ thống.
Sự kiện Nhấn vào nút “Xóa” ứng với hóa đơn muốn xóa trong danh sách của
kích hoạt mục “Quản lý hóa đơn”.
Điều kiện
+ Tác nhân truy cập vào được phần mềm quản lý nội bộ.
tiên quyết
+ Tác nhân đã đăng nhập thành công vào hệ thống.
Kết quả Tác nhân xóa hóa đơn thành công.
Luồng sự
kiện 2. Tác nhân tìm hóa đơn cần xóa và 2.1. Hệ thống hiển thị thông báo
nhấn nút “Xóa”. xác nhận xóa hóa đơn.
3. Tác nhân nhấn nút “Xác nhận”. 3.1. Hệ thống xóa hóa đơn và hiện
thông báo xóa hóa đơn thành công.
Ngoại lệ Không.
Mô tả Tác nhân thực hiện việc in một hóa đơn có trong hệ thống.
Sự kiện
Nhấn vào nút “In” trong trang thông tin chi tiết hóa đơn
kích hoạt
Điều kiện
+ Tác nhân truy cập vào được phần mềm quản lý nội bộ.
tiên quyết
+ Tác nhân đã đăng nhập thành công vào hệ thống.
Kết quả Tác nhân in hóa đơn thành công.
3. Tác nhân nhấn nút “In”. 3.1. Hệ thống in hóa đơn ra.
Ngoại lệ Không.
Mô tả Hệ thống thống kê doanh thu từ các hóa đơn được thanh toán.
Sự kiện kích
Thống kê doanh thu.
hoạt
Điều kiện tiên + Thu ngân truy cập vào được phần mềm quản lý nội.
quyết + Thu ngân đã đăng nhập vào hệ thống.
Ngoại lệ Không.
Bảng 43: Đặc tả use case Thống kê doanh thu theo tháng
Mã use case UC40
Sự kiện kích
Thống kê doanh thu theo tháng
hoạt
Điều kiện tiên + Thu ngân truy cập vào được phần mềm quản lý nội.
quyết + Thu ngân đã đăng nhập vào hệ thống.
1. Thu ngân chọn mục 1.1. Hệ thống hiển thị giao diện thống
Luồng sự kiện “Thống kê doanh thu”. kê doanh thu.
2. Thu ngân chọn mục 2.1 Hệ thống hiển thị thông tin doanh
Ngoại lệ Không.
Bảng 44: Đặc tả use case Thống kê doanh thu theo năm
Mã use case UC41
Sự kiện kích
Thống kê doanh thu theo tháng
hoạt
Điều kiện tiên + Thu ngân truy cập vào được phần mềm quản lý nội.
quyết + Thu ngân đã đăng nhập vào hệ thống.
1. Thu ngân chọn mục “Thống 1.1. Hệ thống hiển thị giao diện thống
Luồng sự kiện kê doanh thu”. kê doanh thu.
2. Thu ngân chọn mục “Thống 2.1 Hệ thống hiển thị thông tin doanh
kê theo năm”. thu thống kê theo năm.
Ngoại lệ Không.
74
Mô tả Hệ thống cấp quyền cho xem thông tin các món ăn trong nhà hàng
Sự kiện kích
Xem thông tin món ăn
hoạt
Điều kiện tiên + Quản lý nhà hàng truy cập vào phần mềm quản lý nội bộ.
quyết + Quản lý nhà hàng đã đăng nhập vào hệ thống.
Kết quả Quản lý truy cập thông tin món ăn thành công
1. Quản lý nhà hàng chọn mục 1.1. Hệ thống hiển thị giao diện
Luồng sự kiện “Quản lý thực đơn”. quản lý thực đơn.
2. Quản lý nhà hàng chọn món ăn 2.1 Hệ thống hiển thị thông tin
Ngoại lệ Không.
Mô tả Hệ thống cấp quyền cho phép thêm món ăn mới vào hệ thống
Sự kiện kích
Thêm món ăn
hoạt
Điều kiện + Quản lý nhà hàng truy cập vào phần mềm quản lý nội bộ.
tiên quyết + Quản lý nhà hàng đã đăng nhập vào hệ thống.
1. Quản lý nhà hàng chọn 1.1. Hệ thống hiển thị giao diện quản lý
Quản lý nhập sai hoặc thiếu thông tin món ăn => Hệ thống báo lỗi và yêu
Ngoại lệ
cầu bổ sung đầy đủ hoặc nhập lại.
Bảng 47: Đặc tả use case Chỉnh sửa thông tin món ăn
Mã use case UC44
Mô tả Hệ thống cấp quyền cho phép sửa thông tin món ăn trong hệ thống
Sự kiện kích
Chỉnh sửa thông tin món ăn
hoạt
Điều kiện + Quản lý nhà hàng truy cập vào phần mềm quản lý nội bộ.
tiên quyết + Quản lý nhà hàng đã đăng nhập vào hệ thống.
1. Quản lý nhà hàng chọn mục “Quản lý 1.1. Hệ thống hiển thị giao
Quản lý nhập sai hoặc thiếu thông tin món ăn => Hệ thống báo lỗi và yêu
Ngoại lệ
cầu bổ sung đầy đủ hoặc nhập lại.
Sự kiện kích
Xóa thông tin món ăn
hoạt
Điều kiện + Quản lý nhà hàng truy cập vào phần mềm quản lý nội bộ.
tiên quyết + Quản lý nhà hàng đã đăng nhập vào hệ thống.
1. Quản lý nhà hàng chọn mục 1.1. Hệ thống hiển thị giao diện
2. Quản lý nhà hàng chọn nút 2.1 Hệ thống hiển thị cảnh báo xác
Luồng sự
“Xóa” trên món ăn muốn xóa. nhận xóa món ăn.
kiện
3.1 Món ăn đã được xóa ra khỏi hệ
Quản lý nhấn nút “Hủy” trên cảnh báo xác nhận => Hệ thống dừng thực
Ngoại lệ
thi chức năng xóa.
Bảng 49: Đặc tả use case Xem thông tin nhân viên
Mã use case UC46
Mô tả Hệ thống cấp quyền cho phép xem thông tin nhân viên trong hệ thống
Sự kiện kích
Xem thông tin nhân viên
hoạt
Điều kiện + Quản lý nhà hàng truy cập vào phần mềm quản lý nội bộ.
tiên quyết + Quản lý nhà hàng đã đăng nhập vào hệ thống.
1. Quản lý nhà hàng chọn mục 1.1. Hệ thống hiển thị giao diện quản
Luồng sự
“Quản lý nhân viên”. lý nhân viên.
kiện
2. Quản lý nhà hàng chọn nhân 2.1 Hệ thống hiển thị thông tin chi
viên muốn xem thông tin tiết về nhân viên trong hệ thống.
Ngoại lệ Không
Mô tả Hệ thống cấp quyền cho phép thêm nhân viên mới vào hệ thống.
Sự kiện
Thêm nhân viên
kích hoạt
79
Điều kiện + Quản lý nhà hàng truy cập vào phần mềm quản lý nội bộ.
tiên quyết + Quản lý nhà hàng đã đăng nhập vào hệ thống.
1. Quản lý nhà hàng chọn 1.1. Hệ thống hiển thị giao diện quản lý
2. Quản lý nhà hàng nhấn 2.1 Hệ thống hiển thị giao diện thêm nhân
Quản lý nhập sai hoặc thiếu thông tin nhân viên => Hệ thống báo lỗi và
Ngoại lệ
yêu cầu bổ sung đầy đủ hoặc nhập lại.
Bảng 51: Đặc tả use case Chỉnh sửa thông tin nhân viên
Mã use case UC48
Mô tả Hệ thống cấp quyền cho phép sửa thông tin nhân viên trong hệ thống.
Sự kiện
Chỉnh sửa thông tin nhân viên
kích hoạt
Điều kiện + Quản lý nhà hàng truy cập vào phần mềm quản lý nội bộ.
tiên quyết + Quản lý nhà hàng đã đăng nhập vào hệ thống.
1. Quản lý nhà hàng chọn mục 1.1. Hệ thống hiển thị giao diện quản lý
4. Quản lý nhấn nút “Lưu” 4.2 Hệ thống hiển thị thông báo sửa
thành công và cập nhật lại giao diện
quản lý nhân viên.
Quản lý nhập sai hoặc thiếu thông tin nhân viên => Hệ thống báo lỗi và
Ngoại lệ
yêu cầu bổ sung đầy đủ hoặc nhập lại.
Mô tả Hệ thống cấp quyền cho phép xóa nhân viên ra khỏi hệ thống.
Sự kiện
Xóa nhân viên
kích hoạt
Điều kiện + Quản lý nhà hàng truy cập vào phần mềm quản lý nội bộ.
tiên quyết + Quản lý nhà hàng đã đăng nhập vào hệ thống.
1. Quản lý nhà hàng chọn 1.1. Hệ thống hiển thị giao diện quản lý
4. Quản lý nhấn nút “Lưu” 4.2 Hệ thống hiển thị thông báo sửa thành
công và cập nhật lại giao diện quản lý
nhân viên.
Quản lý nhấn nút “Hủy” trên cảnh báo xác nhận => Hệ thống dừng thực
Ngoại lệ
thi chức năng xóa.
82
Mô tả Hệ thống cấp quyền cho phép tra cứu chiết khấu hội viên trong hệ thống
Sự kiện kích
Tra cứu chiết khấu
hoạt
Điều kiện + Tác nhân truy cập vào website của nhà hàng.
tiên quyết + Tác nhân đã đăng ký hội viên trong hệ thống.
Ngoại lệ Không.
83
Bảng 54: Đặc tả use case Đổi mật khẩu hội viên
Mã use case UC51
Ngữ cảnh Hội viên tiến hành đổi mật khẩu tài khoản hội viên
Mô tả Hệ thống cấp quyền cho phép đổi mật khẩu hội viên trong hệ thống
Sự kiện kích
Đổi mật khẩu hội viên
hoạt
Điều kiện + Tác nhân truy cập vào website của nhà hàng.
tiên quyết + Tác nhân đã đăng ký hội viên trong hệ thống.
khẩu cũ, mật khẩu mới và nhấn nút mật khẩu thành công”.
Ngoại lệ Không.
Hình 11 Sơ Đồ Hoạt Động Usecase Thanh toán qua thẻ ngân hàng
3.3.10 Usecase Thanh toán qua ví điện tử
Hình 21 Sơ Đồ Hoạt Động Usecase Chỉnh sửa thông tin hội viên
3.3.20 Usecase Thêm chiết khấu
Hình 24 Sơ Đồ Hoạt Động Usecase Xem thông tin nhà cung cấp
3.3.23 Usecase Thêm nhà cùng cấp
103
Hình 26 Sơ Đồ Hoạt Động Usecase Chỉnh sửa thông tin nhà cùng cấp
3.3.25 Usecase Xóa nhà cùng cấp
Hình 28 Sơ Đồ Hoạt Động Usecase Xem thông tin nguyên vật liệu
3.3.27 Usecase Thêm nguyên vật liệu
Hình 30 Sơ Đồ Hoạt Động Usecase Chỉnh sửa thông tin nguyên vật liệu
3.3.29 Usecase Xóa nguyên vật liệu
108
Hình 32 Sơ Đồ Hoạt Động Usecase Xem thông tin phiếu nhập nguyên vật liệu
3.3.31 Usecase Tạo phiếu nhập nguyên vật liệu
109
Hình 33 Sơ Đồ Hoạt Động Usecase Tạo phiếu nhập nguyên vật liệu
3.3.32 Usecase Chỉnh sửa thông tin phiếu nhập nguyên vật liệu
110
Hình 34 Sơ Đồ Hoạt Động Usecase Chỉnh sửa thông tin phiếu nhập nguyên vật liệu
3.3.33 Usecase Xóa phiếu nhập nguyên vật liệu
111
Hình 35 Sơ Đồ Hoạt Động Usecase Xóa phiếu nhập nguyên vật liệu
3.3.34 Usecase Xem thông tin hóa đơn
112
Hình 38 Sơ Đồ Hoạt Động Usecase Chỉnh sửa thông tin hóa đơn
3.3.37 Usecase Xóa hóa đơn
115
Hình 50 Sơ Đồ Hoạt Động Usecase Chỉnh sửa thông tin nhân viên
3.3.49 Usecase Xóa nhân viên
124
Hình 77 Sơ Đồ Tuần Tự Usecase Chỉnh sửa thông tin nhà cùng cấp
3.4.25 Usecase Xóa nhà cùng cấp
140
Hình 81 Sơ Đồ Tuần Tự Usecase Chỉnh sửa thông tin nguyên vật liệu
3.4.29 Usecase Xóa nguyên vật liệu
142
Hình 83 Sơ Đồ Tuần Tự Usecase Xem thông tin phiếu nhập nguyên vật liệu
3.4.31 Usecase Tạo phiếu nhập nguyên vật liệu
Hình 85 Sơ Đồ Tuần Tự Usecase Chỉnh sửa thông tin phiếu nhập nguyên vật liệu
3.4.33 Usecase Xóa phiếu nhập nguyên vật liệu
144
Hình 101. Sơ Đồ Tuần Tự Usecase Chỉnh sửa thông tin nhân viên
3.4.49 Usecase Xóa nhân viên
152
CHƯƠNG 4 – PERSONAS
4.1 Thực hiện khảo sát người dùng và đánh giá
Đối tượng khảo sát:
Đối tượng: Khách hàng
Nhóm tuổi: Từ 18 tuổi trở lên
Khu vực: Thành phố Hồ Chí Minh
Trình độ: Không yêu cầu
Mức độ sử dụng công nghệ: Biết và sử dụng công nghệ ở mức cơ bản
Yêu cầu khác: Sử dụng dịch vụ đặt bàn, giao đồ ăn tại nhà ít nhất 2
lần
Link khảo sát: https://forms.gle/1XFBGxDeo5CRG9Dp6
Hình 110. Thống kê tần suất đặt giao món ăn tận nhà
+ Khi đặt món ăn bạn thường dùng dịch vụ giao đồ ăn của bên nào ?
161
Hình 112. Thống kê tỷ lệ giữa đặt trực tuyến và ăn trực tiếp tại nhà hàng
+ Thiết bị bạn thường sử dụng để truy cập website của nhà hàng là gì ?
162
Hình 115. Thống kê các dịch vụ được ưa thích khi dùng website
+ Những điều khiến bạn chú ý nhất khi vào một website nhà hàng là gì ?
Hình 116. Thống kê các yếu tố được yêu thích trên website
+ Điều khiến bạn không hài lòng khi dùng các website nhà hàng là gì ?
Implementation: Triển khai hệ thống trong môi trường khách hàng và đưa
ra thị trường.
Operations and Maintenance: Bảo trì hệ thống khi có bất kỳ thay đổi nào
từ phía khách hàng, người sử dụng.
Hình 151. Connection đến database sau khi thêm vào project
Sau khi đã có Connection String ta chạy câu lệnh “Scaffold-DbContext
"Server=[Điền Connection String vào đây];Trusted_Connection=True;"
Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models” trong cửa sở
dòng lệnh Package Manager Console để sinh ra các thực thể (Entity) từ Database ta
đã kết nối.
Kết quả ta được thư mục Models chứa các Entity và lớp DbContext chứa tập
các thực thể và quan hệ giữa chúng.
200
Hình 152. Folder Models chứa các Entity được sinh ra từ Scaffold
Sau khi đã setup thành công các bước kết nối tới cơ sở dữ liệu và tạo ra thư
mục Models chứa các Entity bằng cách sử dụng Entity Framework Core – Database
First giờ ta chỉ cần định nghĩa các Router để tạo ra các API với các URL có trách
nhiệm xử lý những nhiệm vụ khác nhau.
Lưu ý là ta cần cài đặt thêm Package CORS để cho phép những domain
khác gọi được đến URL ComNha_API.
6.4.2 API Controller
6.4.2.1 BookController
BookController đảm nhiệm các thao tác liên quan đến đặt bàn trực tuyến của
khách hàng. Trong Controller này ta sẽ định nghĩa một Action để xử lý khi khách
hàng đặt bàn bằng cách nhận dữ liệu từ client gửi lên API. Do đó ta cần phải định
nghĩa một lớp chứa các thuộc tính cần thiết để khách hàng có thể đặt bàn và những
thông tin mà API này sẽ nhận khi client gửi request đến.
201
Hình 153. Lớp Booking chứa các thuộc tính mà phía Client sẽ gửi lên API.
Tiếp theo để biến một Controller thành một APIController ta cần sử dụng
một số Annotation như [ApiController] và bật CORS lên với Controller này để
những request từ domain khác có thể gọi đến.
Khi client gửi request lên API với dữ liệu trong body được gửi dưới dạng
JSON, các dữ liệu này sẽ được gán vào trong lớp Booking mà ta đã định nghĩa ở
trên. Cơ chế này được gọi là Model binding. Sau khi đã có dữ liệu gửi từ client thì
ta chỉ cần thực hiện vài bước validate và trả về kết quả dưới dạng JSON nếu có lỗi.
Ngược lại thì sử dụng ngôn ngữ truy vấn LINQ để thêm yêu cầu đặt bàn vào cơ sở
dữ liệu.
Hình 155. Action CreateBook đảm nhiệm nhiệm vụ kiểm tra đặt bàn
Kết quả:
203
6.4.2.2 MenuController
Làm tương tự với những API tiếp theo. Ta sẽ tạo các API liên quan đến
những chức năng như: Lấy danh sách món ăn, Xem chi tiết thông tin một món ăn.
Hình 157. MenuController chứa các Action xử lý lấy danh sách món ăn, chi tiết
món ăn.
Các Action với các URL và HTTP Method khác nhau để xử lý các thao tác
lấy danh sách, lấy chi tiết món ăn…
204
6.4.2.3 OrderController
Làm tương tự với OrderController, tuy nhiên ở API này ta cần định nghĩa đối
tượng phức tạp hơn để có thể áp dụng Model Binding lấy các dữ liệu cần thiết từ
client. Và ở Controller này hành động đặt món trực tuyến cần phải được validate
một cách kỹ lưỡng hơn.
205
Hình 160. API xử lý khi khách hàng đặt món ăn trực tuyến
206
Hình 161. API xử lý khi khách hàng đặt món ăn trực tuyến
207
Hình 162. Lớp tự định nghĩa để chứa các thông tin được gửi lên từ client thông qua
cơ chế Model Binding
Kết quả:
6.5.1 Views
Định nghĩa Partial View _Layout để Render các View tương ứng. Trong đây
ta sẽ link tới các thư viện cần thiết như Jquery, Bootstrap, Font-awesome để phục
vụ quá trình phát triển website.
Hình 167. File Index.cshtml trong thư mục Menu đại diện cho trang chính khi xem
Menu món ăn.
6.5.2 Controllers
Khi gửi Request đến thì thông qua cơ chế route các URL được gửi sẽ được
phân tách và Map với Controller và View tương ứng để Render View đó ra cho
người dùng và các Controller có thể tương tác với cơ sở dữ liệu, gọi API... để lấy dữ
liệu và truyền qua cho View. Tuy nhiên thì trong bài tập lần này nhóm chúng em
kết hợp sử dụng hai cách.
1. Gọi API bằng AJAX Javascript.
2. Gọi API bằng HttpClient
Các View sử dụng cơ chế gọi API bằng AJAX Javasciprt ta chỉ đơn giản cài
đặt Controller với các Action để trả về View tương ứng là được.
211
View xem Menu và chi tiết món ăn cần dữ liệu và được gọi tới API thông
qua cơ chế HttpClient.
Ta sẽ sử dụng đối tượng HttpClient để gọi tới API, nhưng trước đó ta cần
config một số thông số như “RequestHeaders”…
Nếu thành công thì Res sẽ trả về StatusCode thành công lúc đó ta sẽ Convert
kết quả trả về từ dạng JSON sang kiểu Object mà C# có thể hiểu được.
Ở Action này vì hành động gọi API sẽ khá tốn thời gian cho nên chúng ta
cần gọi API một cách bất đồng bộ để tối ưu thời gian và tránh bị block UI. Dữ liệu
sau khi được trả về có thể truyền vào hàm return View() để truyền sang cho View
nhưng vì Action này sẽ còn gọi đến API một lần nữa để lấy danh sách món ăn cho
nên nhóm chọn phương pháp lưu vào ViewData để View sử dụng.
Hình 170. Dùng HttpClient gọi API lấy danh sách món ăn, nhóm món ăn.
213
Hình 171. Dùng HttpClient gọi API lấy chi tiết món ăn
6.6 Winform:
6.6.1 Giao diện:
Giao diện đăng nhập của phần mềm, các form trong phần mềm đều được
thiết lập StartPosition là CenterScreen. Nên phần mềm sẽ luôn được hiển thị chính
giữa màn hình. Giúp cho người dùng dễ thao tác.
214
Xóa món ăn nếu khách hàng không còn nhu cầu gọi món đó.
Thanh toán sau khi khách hàng đã dùng món xong.
Thực hiện giảm giá theo chiết khấu nếu khách hàng đó đã đăng ký trở
thành hội viên của nhà hàng.
Ở góc trên của From Quản lý bàn ăn ta sẽ có một MenuStrip để sử dụng các
chức năng khác và đây cũng là nơi phân quyền các chức năng giữa các Role khác
nhau trong hệ thống như giữa “Quản lý nhà hàng”, “Lễ tân”, “Phục vụ”…
Hình 178. Cấu trúc project phần mềm quản lý nhà hàng.
Nhóm lựa chọn phát triển phần mềm theo mô hình 3 lớp. Các lớp DTO đại
diện cho các bảng có trong cơ sở dữ liêu.
Hình 182. Phương thức LoadTableList lấy danh sách bàn ăn từ cơ sở dữ liệu.
221
Hình 183. Kết quả danh sách bàn ăn được hiện lên.
Để thêm món ăn cho một bàn ăn trước tiên ta cần chọn bàn ăn đó trước và
phần mềm sẽ ghi nhận lại mã bàn ăn đó vào Tag để tiện lợi thao tác các bước tiếp
theo.
Một vài trường hợp sẽ gây ra lỗi phần mềm cũng được kiểm tra kỹ càng. Sau
đó sẽ kiểm tra đây là bàn ăn đã có hóa đơn chưa, nếu chưa thì ta thực hiện tạo phiếu
gọi món, tạo hóa đơn mới. Và chuyển trạng thái bàn từ đang trống sang đang phục
vụ. Ngược lại nếu đây là bàn ăn đã có hóa đơn chưa thanh toán, thì ta tiến hành
thêm món ăn và phiếu gọi món của bàn ăn này.
Hình 185. Code chức năng thêm món trường hợp chưa có hóa đơn
223
Hình 187. Code chức năng thêm món đã có hóa đơn tiếp theo
225