Mô tả: Ứng dụng web quản lý nhà hàng với các tính năng như: cho phép người dùng truy cập website để xem các thông tin về nhà hàng; xem thông tin thực đơn, món ăn, sựkiện của nhà hàng, độ
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
VÀ ORDER FOOD ONLINE
GVHD: Thầy Mai Tuấn Khôi
Nhóm sinh viên thực hiện
1 Nguyễn Lê Điền
2 Phạm Gia Thịnh
3 Nguyễn Trường Tráng
16110309 16110475 16110489
Trang 2I GIỚI THIỆU ĐỀ TÀI
1 Tên đề tài: Xây dựng ứng dụng web nhà hàng và order food online
2 Mô tả: Ứng dụng web quản lý nhà hàng với các tính năng như: cho phép người dùng
truy cập website để xem các thông tin về nhà hàng; xem thông tin thực đơn, món ăn, sựkiện của nhà hàng, đội ngũ nhân viên,…; cho phép người dùng đặt bàn, gọi món onlinebằng các thao tác đơn giản của website; cho phép quản trị viên nhà hàng quản lý cácdanh mục liên quan như: thực đơn, món ăn, nhân viên, sự kiện,…
II MÔ TẢ NGHIỆP VỤ ĐỀ TÀI
1 Use case diagram của hệ thống
2 Mô tả nghiệp vụ, quy định và biểu mẫu cho từng đối tượng trong use case
2.1 Đối tượng Khách
2.1.1 Giới thiệu
Khách là đối tượng phổ biến tiếp cận với website Đối tượng này có quyền xemnhững thông tin cơ bản của website như xem thông tin nhà hàng, xem trang chủ, xemmón ăn, xem thực đơn, xem bài viết Khách muốn thực hiện những chức năng nâng caonhư, đặt món, đặt bàn, đặt tiệc thì phải đăng nhập hoặc đăng ký tài khoản để có thể sửdụng những chức năng này
2.1.2 Mô tả chi tiết
2.1.2.1 Bảng nghiệp vụ đối tượng Khách
T
T Tên nghiệp vụ Loại nghiệp vụ Mã quy định Mã biểu mẫu Ghi chú
Trang 3GUEST-BM-3 Đăng nhập Đăng nhập GUEST-QD-DN GUEST-BM-DN
4 Xem thông tin
nhà hàng
Xem nộidung trangweb
XTTNH
GUEST-QD-XTTNH
GUEST-BM-5 Xem trang chủ GUEST-QD-XTC GUEST-BM-XTC
6 Xem món ăn GUEST-QD-XMA GUEST-BM-XMA
7 Xem thực đơn
GUEST-QD-XTD
XTD
GUEST-BM-8 Xem đội ngũnhân viên GUEST-QD-XDNNV GUEST-BM-XDNNV
9 Xem bài viết
GUEST-QD-XBV
XBV
GUEST-BM-2.1.2.2 Bảng quy định cho từng nghiệp vụ cụ thể
- Khi ở chế độ guest (khách), khách hàng cóthể đăng ký tài khoản mới của mình bằng cáchnhập các thông tin: họ và tên, địa chỉ, SĐT,Email, mật khẩu và nhập lại mật khẩu vào cáctext box tương ứng Chọn giới tính thông quaradio button Chọn ngày sinh thông quaDateTimePicker Các định dạng dữ liệu cụ thểcho từng trường như sau:
+ Họ tên: không có yêu cầu đặc biệt;
+ Địa chỉ: không có yêu cầu đặc biệt;
+ Điện thoại: có đúng 10 hoặc 11 ký tự số;
+ Email: phải đúng định dạng của regular
expression sau:
“^[a-z][a-z0-9_\.]{5,32}@[a-z0-9]{2,}(\.[a-z0-9]{2,4}){1,2}$”
+ Mật khẩu: không có yêu cầu đặc biệt;
+ Nhập lại mật khẩu: không có yêu cầu đặc biệt;
-Chọn checkbox để đồng ý với các điều khoảncủa nhà hàng sau khi xem xét Cuối cùng, chỉviệc nhấn vào nút đăng kí là khách hàng đãhoàn tất việc đăng kí tài khoản mới
Trang 4-Dữ liệu khách nhập sẽ được inssert vàodatabase, nếu không đúng thì báo lỗi và xuất rathông báo “Thông tin đã nhập không hợp lệ.Vui lòng kiểm tra lại!” Mật khẩu sẽ được mãhóa theo chuẩn MD5 bằng cách băm chuỗi
“Email + Password” (đã ghép chung với nhau)sau đó lưu vào trường Password
- Mục đích đăng ký tài khoản để giúp kháchhàng (guest) trở thành người dùng (user) củanhà hàng phục vụ cho các tác vụ mà chỉ có usermới có khi đăng nhập ở nghiệp vụ sau này
- Khách hàng nhập đầy đủ các thông tin củamình như đã nói ở phần đăng ký tài khoản sẽgửi lên cho server xử lý Lúc này server sẽ gửimột đường dẫn đến email mà khách hàng đãcung cấp trước đó Khách hàng phải bấm vàođường dẫn này để xác nhận tài khoản
- Khi khách hàng đã bấm vào đường dẫn thì tàikhoản khách hàng đăng ký chính thức có thể sửdụng được Trong trường hợp khách hàng chưaxác thực tài khoản bằng email thì không thểđăng nhập được vì tài khoản chưa được xácthực
3
GUEST-QD-DN Kháchđăng
nhập vàotrangweb
- Khách hàng thực hiện việc đăng nhập bằngcách nhập tên đăng nhập (email) và mật khẩuvào các textbox tương ứng, sau đó bấm vào nútĐăng nhập
- Các thông tin khách hàng nhập sẽ được hệthống kiếm tra bằng cách mã hóa MD5 thôngtin đó (băm chuỗi email + password) sau đó sosánh với dữ liệu trong trường password xem cókhớp với nhau hay không, nếu khớp thì kháchđược phép vào trang web với vai trò tương ứngvới tài khoản của mình:
+ Là người dùng thông thường thì được sử dụngcác chức năng cơ bản;
+ Là quản trị viên website thì ngoài ra còn cóchức năng quản trị các danh mục quản lý
- Nếu thông tin không khớp thì báo lỗi bằng
cách show ra thông báo “Tên tài khoản hoặc
mật khẩu không hợp lệ Vui lòng kiểm tra lại.” và đưa ra 3 gợi ý cho người dùng:
+ Nhập lại thông tin;
+ Đăng ký tài khoản mới
Trang 5+ Quên mật khẩu
4 GUEST-
QD-XTTNH
Kháchxemthông tinnhà hàng
- Khách có thể xem các thông tin về nhà hàngnhư: địa chỉ, số điện thoại, thời gian làm việc,các thông tin khác của nhà hàng cùng với một
số hình ảnh minh họa
- Thông tin nhà hàng sẽ được hiển thị ở nhiềunơi trong trang web Nhất là ở phần footer vàdanh mục “Liên hệ” của trang web
5
GUEST-QD-XTC
Kháchhàngxemtrang chủ
- Trang chủ là trang đầu tiên mà khách hàngthấy được khi truy cập vào trang web
- Ở đây, khách hàng có thể thấy được các thôngtin như sau:
+ Logo nhà hàng, các tab danh mục mà nhàhàng cung cấp cũng như chức năng tìm kiếm + Banner chiếm một khoảng diện tích lớn ngaydưới logo nhà hàng chứa các thông tin món ănhot, khuyến mãi mới nhất nhằm giúp ngườidùng thấy được các thông tin hot một cáchnhanh nhất
+ Một số thực đơn tiêu biểu của nhà hàng + Đội ngũ nhân viên của nhà hàng
+ Các thông tin khuyến mãi của món ăn
+ Các nhận xét của khách hàng về nhà hàng + Một số thông tin về các bài viết mới mà nhàhàng cập nhật gần nhất
+ Phần Footer với một số chức năng kèm theo
6 GUEST-
QD-XMA
Kháchhàngxem mónăn
- Khách hàng có thể xem thông tin về món ănnhư: Tên món ăn, Giá, Một số hình ảnh minhhọa, phần nội dung về nguồn gốc, sơ lượt quátrình và kỹ thuật chế biến, mô tả sản phẩm.Khách hàng có thể chọn số lượng muốn mua vàthêm vào giỏ hàng nếu ưng ý Phía dưới sảnphẩm sẽ liệt kê một số sản phầm khác nhằm gợi
ý cho khách hàng
7 QD-XTD
GUEST-Kháchhàngxem thựcđơn
- Khách hàng có thể xem thông tin về các loạithực đơn như: Tên thực đơn, mô tả về thực đơn,giá kèm các món ăn trong thực đơn đó Ngoài
ra, trang web còn có hệ thống giúp lọc thực đơntheo giá cả nhằm giúp khách hàng tìm được cácmón ăn có giá phù hợp
8
GUEST-
QD-Kháchhàng
- Ở đây, khách hàng được xem đội ngũ nhânviên nhân viên làm việc tại nhà hàng, chỉ cần
Trang 6XDNNV ngũ nhânxem đội
viên
nhấp vào bất kì nhân viên nào sẽ hiện ra cácthông về nhân viên đó, gồm: Họ tên, mô tả vềbản thân, chức vụ của nhân viên kèm theo trình
độ chuyên môn và những thành tích mà nhânviên đã đạt được
9 GUEST-
QD-XBV
Kháchhàngxem bàiviết
- Phần tin tức bao gồm các tin tức về các hoạtđộng của nhà hàng, thông tin về các sự kiện ẩmthực, các bài Blog chia sẻ về các món ăn cũngnhư những mẹo chế biến, các khuyến mãi, ưuđãi mới nhất của nhà hàng để khách hàng có thểnắm bắt sớm nhất
-Khách hàng không thể để lại bình luận, chỉ saukhi tiến hành đăng nhập mới được bình luận.Nếu khách cố ý bình luận thì sau khi nhấn nútbình luận, hệ thống sẽ chuyển đến trang đăngnhập để yêu cầu khách hàng đăng nhập để thựchiện việc bình luận
2.1.2.3 Biểu mẫu cho từng loại nghiệp vụ cụ thể
Mã biểu mẫu: GUEST-BM-DK
Tên biểu mẫu: Biểu mẫu Khách đăng ký tài khoản
Mã biểu mẫu: GUEST-BM-DN
Tên biểu mẫu: Biểu mẫu khách đăng nhập vào trang web
Trang 7Mã biểu mẫu: GUEST-BM-XTTNH
Tên biểu mẫu: Biểu mẫu khách xem thông tin nhà hàng
Mã biểu mẫu: QUEST-BM-XTC
Tên biểu mẫu: Biểu mẫu khách hàng xem trang chủ
Trang 8Mã biểu mẫu: QUEST-BM-XMA
Tên biểu mẫu: Biểu mẫu khách xem món ăn
Trang 9Mã biểu mẫu: GUEST-BM-XDNNV
Tên biểu mẫu: Biểu mẫu khách xem đội ngũ nhân viên
Mã biểu mẫu: QUEST-BM-XBV
Tên biểu mẫu: Biểu mẫu khách hàng xem bài viết
Trang 102.2 Đối tượng Người dùng
2.2.1 Giới thiệu
Đối tượng người dùng là đối tượng khách sau khi đã đăng nhập thành công vàowebsite Đối tượng này có thể thực hiện các chức năng nhiều hơn đối tượng khách như:quản lý thông tin cá nhân, đặt sản phẩm online và chức năng bình luận cho từng món
ăn, từng bài viết Sau khi sử dụng trang web, người dùng có thể đăng xuất ra khỏi trang
và trở lại thành đối tượng khách
2.2.2 Mô tả chi tiết
2.2.2.1 Bảng nghiệp vụ đối tượng
1 Xem thông tinnhà hàng dung trangXem nội
web
XTTNH USER-BM-XTTNH
USER-QD-NhưKhách
2 Xem trang chủ USER-QD-XTC USER-BM-XTC KhácNhư
h
3 Xem món ăn
USER-QD-XMA USER-BM-XMA KhácNhư
h
Trang 114 Xem thực đơn USER-QD-XTD USER-BM-XTD
NhưKhách
5 Xem nhân độingũ nhân viên USER-QD-XDNNV USER-BM-XDNNV
NhưKhách
6 Xem bài viết USER-QD-XBV USER-BM-XBV
NhưKhách
7 Liên hệ Liên hệ USER-QD-LH USER-BM-LH
NhưKhách
8 Đăng xuất Đăng xuất USER-QD-DX USER-BM-DX
9 Xem thông tincá nhân
Quản lýthông tin cánhân
XTTCN
USER-QD-XTTCN
USER-BM-10 Sửa thông tin
cá nhân
STTCN
USER-QD-STTCN
USER-BM-11 Đổi mật khẩu USER-QD-DMK USER-BM-DMK
12 Bình luận
bài viết
Bình luận
BLBV USER-BM-BLBV
USER-QD-13 Bình luận
món ăn
BLMA
USER-QD-BLMA
USER-BM-14 Đặt bàn
Đặt hàngonline
Mô tả Ghi chú
1USER-QD-XTTNHXem thông tin nhà hàng
Trang 12Như Khách
2USER-QD-XTCXem trang chủ
Như Khách
3USER-QD-XMAXem món ăn
Như Khách
4USER-QD-XTDXem thực đơn
Như Khách
5USER-QD-XDNNVXem nhân đội ngũ nhân viên
Như Khách
6USER-QD-XBVXem bài viết
Người dùng đăng xuất
Trang 13- Khi đã đăng nhập được vào trang web của nhà hàng thì người dùng có thể đăng xuấtkhỏi tài khoản của mình với tính năng đăng xuất của nhà hàng.
- Sẽ có một nút đăng xuất để người dùng bấm vào và chức năng đăng xuất sẽ được thựchiện Trước khi đăng xuất, sẽ có một thông báo xác nhận lại với người dùng là có chắcchắn muốn đăng xuất hay không Nếu người dùng bấm “Có” thì hệ thống sẽ đăng xuấttài khoản của người dùng, ngược lại thì sẽ không đăng xuất tài khoản người dùng
9USER-QD-XTTCNNgười dùng xem thông tin cá nhân
- Với các thông tin mà người dùng đã đăng ký khi tạo tài khoản đều đã được lưu lại vàngười dùng khi đã đăng nhập vào bằng tài khoản của mình có thể xem được các thôngtin cá nhân mà mình đã đăng ký trước đó Các thông tin người dùng có thể xem được
thể hiện trong biểu mẫu: USER-BM-XTTCN
10USER-QD-STTCNNgười dùng sửa thông tin cá nhân
- Với các thông tin mà người dùng đã đăng ký thì họ cũng có thể sửa thông tin của mình
để tránh trường hợp sai thông tin Các thông tin mà người dùng có thể sửa được thể
hiện trong biểu mẫu: USER-BM-STTCN
- Các thông tin mà người dùng thao tác sửa phải đúng theo các định dạng đã được yêu
cầu trước đó ở quy đinh: GUEST-QD-DK
- Khi người dùng nhập không đủ trường hoặc nhập sai định dạng thì hệ thống sẽ thôngbáo cho người dùng biết được chỗ nào người dùng nhập thiếu hoặc trường nào ngườidùng nhập sai để họ sửa đổi
- Trường hợp người dùng nhập đủ các trường và đúng các thông tin, hệ thống sẽ cậpnhật các thông tin mới vào database của người dùng
- Sau khi cập nhật xong, hệ thống sẽ đưa người dùng trở lại trang “Xem thông tin
người dùng” và hiển thị các thông tin mới vừa được người dùng chỉnh sửa.
11USER-QD-DMKNgười dùng đổi mật khẩu
- Khi đã đăng nhập đúng tài khoản của mình thì người dùng có thể đổi mật khẩu của tàikhoản
- Tính năng yêu cầu người dùng phải nhập lại mật khẩu cũ và nhập mật khẩu mới củamình vào Khi nhập mật khẩu mới thì người dùng còn phải nhập lại mật khẩu mới một
lần nữa Tính năng được thể hiện chi tiết ở biểu mẫu: USER-BM-DMK.
Trang 14- Mật khẩu được mã hóa bằng MD5.
- Các yêu cầu về định dạng mật khẩu cũng như khi người dùng tạo tài khoản mới: + Yêu cầu ít nhất 8 ký tự
+ Phải bao gồm cả chữ hoa, chữ thường
+ Phải có ký tự đặc biệt
- Sau khi nhập đúng và đủ yêu cầu cũng như việc nhập lại mật khẩu đúng thì việc cậpnhật mật khẩu sẽ được thực hiện Mật khẩu mới sẽ được lưu lại vào database thay chomật khẩu cũ Từ đây người dùng sẽ thực hiện mọi việc có yêu cầu tới mật khẩu với tàikhoản của mình bằng mật khẩu mới cập nhật
12USER-QD-BLBVNgười dùng bình luận bài viết
- Các bài viết của nhà hàng đều có thêm tính năng bình luận Khi người dùng nhập cácthông tin bình luận và bấm nút bình luận Các bình luận mà người dùng sẽ được lưu trữvào database của hệ thống và sẽ được hiện thị ra với bài viết tương ứng Giúp nhà hàng
có thêm thông tin để cung cấp thêm các bài viết mới phù hợp và bổ ích với người dùnghơn
13USER-QD-BLMANgười dùng bình luận
món ăn
- Cũng như bài viết, người dùng cũng có thể bình luận về các món ăn Các bình luận màngười dùng sẽ được lưu trữ vào database của hệ thống và sẽ được hiện thị ra với từngmón ăn tương ứng giúp cho nhà hàng cải thiện về chất lượng món ăn và giúp các kháchhàng khác có thêm thông tin tham khảo để chọn món
14USER-QD-DBNgười dùng đặt bàn
- Người dùng có thể đặt bàn trên trang web qua Form đặt bàn mà trang web cung cấp
với các yêu cầu cơ bản đã nêu ra trong Form đặt bàn ở biểu mẫu: USER-BM-DB Sau
khi đặt bàn hoàn tất, toàn bộ thông tin đặt bàn của người dùng sẽ được lưu lại vàodatabase của hệ thống và sẽ được đối chiếu với người dùng khi họ đến nhà hàng Nếulúc người dùng đến nhà hàng đối chiếu thông tin đặt bàn là đúng thì sẽ có bàn sẵn cho
họ dùng bữa, ngược lại nếu sai thì người dùng này sẽ không có bàn sẵn để dùng bữa
15
Trang 15USER-QD-DTNgười dùng đặt tiệc
- Ngoài đặt bàn, người dùng còn có thể đặt tiệc với các thông tin về các loại tiệc đã
được nêu ra trước đó như ở biểu mẫu: USER-BM-DT Toàn bộ thông tin đặt tiệc của
người dùng cũng được lưu toàn bộ vào database của hệ thống , phục vụ cho việc tạotiệc và đối chiếu với người dùng sau này khi đến lúc tổ chức tiệc như là chức năng đặtbàn
16USER-QD-DMNgười dùng đặt món
- Người dùng còn có thể đặt món ăn với các thông tin như biểu mẫu USER-BM-DM đã
đưa ra Các thông tin đặt món sẽ được lưu trữ vào database hệ thống Phục vụ cho côngtác tính toán và giao hàng sau này
2.2.2.3 Biểu mẫu cho từng loại nghiệp vụ cụ thể
Mã biểu mẫu: USER-BM-XTTCN
Tên biểu mẫu: Biểu mẫu người dùng xem thông tin cá nhân
Trang 16Mã biểu mẫu: USER-BM-STTCN
Tên biểu mẫu: Biểu mẫu người dùng sửa thông tin cá nhân
Mã biểu mẫu: USER-BM-DMK
Tên biểu mẫu: Biểu mẫu người dùng đổi mật khẩu
Trang 17Mã biểu mẫu: USER-BM-BLBV
Tên biểu mẫu: Biểu mẫu người dùng bình luận bài viết
Trang 18Mã biểu mẫu: USER-BM-BLMA
Tên biểu mẫu: Biểu mẫu người dùng bình luận món ăn
Trang 19Mã biểu mẫu: USER-BM-DB
Tên biểu mẫu: Biểu mẫu người dùng đặt bàn
Trang 20Mã biểu mẫu: USER-BM-DT
Tên biểu mẫu: Biểu mẫu người dùng đặt tiệc
Mã biểu mẫu: USER-BM-DM
Tên biểu mẫu: Biểu mẫu người dùng đặt món
Trang 212.3 Đối tượng Quản trị viên
2.3.1 Giới thiệu
Đối tượng quản trị viên là đối tượng khách sau khi đăng nhập vào tran web Khácvới đối tượng người dùng đã giới thiệu bên trên, đối tượng này ngoài việc có thể sửdụng website như người dùng thông thường, mà quản trị viên còn có quyền thực hiệncác thao tác liên quan đến quản trị sâu bên trong hệ thống như: quản lý nhân viên, quản
lý món ăn, quản lý thực đơn, quản lý bài viết, phân quyền cho nhân viên Sau khi thựchiện chức năng của mình, quản trị viên có thể đăng xuất để thoát khỏi trang web
2.3.2 Mô tả chi tiết
2.3.2.1 Bảng nghiệp vụ đối tượng Quản trị viên
QLQTV
ADMIN-QD-QLQTV
ADMIN-BM-2 Thêm quản trịviên ADMIN-QD-TQTV ADMIN-BM-TQTV
3 Sửa quản trịviên ADMIN-QD-SQTV ADMIN-BM-SQTV
4 Xóa quản trị
viên
XQTV
ADMIN-QD-XQTV
ADMIN-BM-5 Phân quyền ADMIN-QD-PQ ADMIN-BM-PQ
6 Quản lý thực
đơn Quản lý thực
đơn
QLTD
ADMIN-QD-QLTD
ADMIN-BM-7 Thêm thực đơn ADMIN-QD-