Đặt vấn đề Với sự phát triển không ngừng của ngành dịch vụ ăn uống, việc quản lý nhà hàng ngày càng trở nên quan trọng hơn. Điều này đặc biệt đúng trong bối cảnh đại dịch Covid- 19 đã diễn ra và đang có dấu hiệu bùng phát trở lại, khi việc thực hiện các biện pháp giãn cách xã hội, giới hạn số lượng khách hàng trong nhà hàng trở thành vấn đề cấp bách. Do đó, ứng dụng quản lý nhà hàng sẽ đóng vai trò quan trọng trong việc giúp chủ nhà hàng quản lý và tối ưu hoá hoạt động kinh doanh của mình. Việc áp dụng công nghệ thông tin vào quản lý nhà hàng không chỉ giúp tăng hiệu quả quản lý, giảm thiểu tối đa lỗi sót trong hoạt động, mà còn mang lại nhiều tiện ích cho khách hàng, giúp họ có được trải nghiệm ăn uống tốt hơn.
Bên cạnh đó, trong thời kì công nghệ 4.0, khi mà mọi thứ đều đang dần được “số hóa” (chuyển đổi số) thì việc quản lý toàn bộ hoạt động của nhà hàng bằng công nghệ là điều vô cùng cần thiết. Ứng dụng quản lý nhà hàng sẽ giúp chủ nhà hàng nắm bắt được tình hình hoạt động kinh doanh của mình một cách chính xác và kịp thời, giúp tối ưu chi phí, nâng cao lợi nhuận, từ đó đem lại sự cạnh tranh và bền vững cho doanh nghiệp. Tên ứng dụng Hình 1: Logo ứng dụng Crescent Moon 10 Downloaded by MON HOANG (monmon3@gmail. Mô tả ứng dụng Crescent Moon là một ứng dụng hữu ích, vừa hỗ trợ chủ nhà hàng quản lý toàn bộ hoạt động của nhà hàng, vừa cho phép khách hàng đặt bàn từ xa, đặt món, thanh toán, và một số tiện ích khác.
Xử lý sự kiện trang của ứng dụng được thiết kế một cách trực quan, đảm bảo trải nghiệm của khách hàng luôn ở mức tốt nhất và thuận tiện trong việc quản lý nhà hàng. Ứng dụng đầy đủ các chức năng như: đăng ký, đăng nhập, đăng xuất, tìm kiếm sản phẩm, giỏ hàng, quản lý món ăn, quản lý nhân viên, quản lý sổ sách… 1. Công nghệ sử dụng Xử lý sự kiện trang ứng dụng được xây dựng bằng xml và chức năng được lập trình bằng Java. Môi trường thiết kế Android Studio là IDE được chúng em lựa chọn để xây dựng ứng dụng.
Công cụ hỗ trợ Google Sheets: Nơi quản lý dự án và phân chia công việc. Google Drive: Lưu trữ tài liệu chung của nhóm. Microsoft Team: Nơi họp nhóm để bàn luận về bug và những công việc tiếp theo cần phải thực hiện. 11 Downloaded by MON HOANG (monmon3@gmail.com) lOMoARcPSD|39222806 Chương 2: Cơ sở lý thuyết 2.
Firebase Firebase là một dịch vụ cơ sở dữ liệu thời gian thực được cung cấp bởi Google được xây dựng trên cơ sở NoSQL và hoạt động trên nền tảng đám mây. Nó cung cấp các tính năng như lưu trữ dữ liệu, xác thực người dùng và tích hợp phân tích,. giúp các lập trình viên phát triển nhanh các ứng dụng di động bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu. Firebase có những ưu điểm sau: - Lưu trữ dữ liệu realtime: giúp cho các ứng dụng hoạt động nhanh chóng và linh hoạt.
- Tính năng xác thực người dùng: Firebase cung cấp tính năng xác thực người dùng đơn giản và an toàn - Dễ sử dụng: Firebase có Xử lý sự kiện trang dễ sử dụng và tính năng trực quan - Tích hợp với các dịch vụ khác của Google: Firebase tích hợp tốt với các dịch vụ khác của Google, giúp phát triển ứng dụng hiệu quả - Hoàn toàn miễn phí 2. Java Java là một ngôn ngữ lập trình đa nền tảng, được phát triển bởi Sun Microsystems vào những năm 1990. Java được thiết kế để chạy trên nhiều hệ điều hành khác nhau, như Windows, Linux, Mac OS, thiết bị di động như điện thoại thông minh và máy tính bảng. Java được sử dụng rộng rãi trong nhiều lĩnh vực như phát triển ứng dụng desktop, web, di động, máy chủ, game, và cả trí tuệ nhân tạo.
Java có những ưu điểm sau: - Đa nền tảng: Java có thể chạy trên nhiều hệ điều hành khác nhau, điều 12 Downloaded by MON HOANG (monmon3@gmail.com) lOMoARcPSD|39222806 này thuận tiện trong việc thiết kế và triển khai ứng dụng. - Tính bảo mật cao - Tính đơn giản: Java có cú pháp đơn giản và dễ hiểu, giúp người lập trình tập trung vào cải tiến sản phẩm và tính năng. - Sử dụng rộng rãi: Phổ biến toàn cầu do đó hỗ trợ lượng lớn các tài liệu thư viện và công cụ hỗ trợ. - Tính mở rộng: Java có tính mở rộng cao, cho phép người lập trình tạo ra các ứng dụng có tính năng linh hoạt và dễ dàng mở rộng hơn.
13 Downloaded by MON HOANG (monmon3@gmail.com) lOMoARcPSD|39222806 Chương 3: Phân tích thiết kế hệ thống 3. Sơ đồ phân rã chức năng 3. Sơ đồ tổng quát Hình 2: Sơ đồ phân rã chức năng (tổng quát) 3. Sơ đồ chi tiết Người quản lý Hình 3: Sơ đồ phân rã chức năng (Người quản lý) 3.
Sơ đồ chi tiết Khách hàng 14 Downloaded by MON HOANG (monmon3@gmail.com) lOMoARcPSD|39222806 Hình 4: Sơ đồ phân rã chức năng (Khách hàng) 3. Usecase tổng quát Hình 5: Usecase tổng quát 3. Usecase chi tiết khách hàng 15 Downloaded by MON HOANG (monmon3@gmail.com) lOMoARcPSD|39222806 Hình 6: Usecase chi tiết khách hàng 3. Usecase chi tiết Admin 16 Downloaded by MON HOANG (monmon3@gmail.com) lOMoARcPSD|39222806 Hình 7: Usecase chi tiết Admin 17 Downloaded by MON HOANG (monmon3@gmail.
Đặc tả Usecase 3. Usecase “Đăng nhập” Tên Use-case Đăng nhập Người dùng đăng nhập vào hệ thống để sử dụng các chức năng Mô tả Use-case của ứng dụng Kích hoạt (Trigger) Người dùng khởi động ứng dụng Actors Khách hàng, người quản lý Use-case liên quan Không có Thiết bị của khách hàng cần phải kết nối vào Internet Tiền điều kiện Tài khoản của người dùng đã tồn tại trong hệ thống trước đó Người dùng tương tác với Xử lý sự kiện trang hệ thống với phân Hậu điều kiện quyền tương ứng Bảng 1: Usecase đăng nhập 18 Downloaded by MON HOANG (monmon3@gmail. Usecase “Đăng ký” Tên Use-case Đăng ký Khách hàng chưa có tài khoản, muốn đăng ký tài khoản để sử Mô tả Use-case dụng ứng dụng Khách hàng nhấn vào nút đăng ký tại Xử lý sự kiện trang đăng Kích hoạt (Trigger) nhập Actors Khách hàng Use-case liên quan Không có Thiết bị của khách hàng cần phải kết nối vào Internet Tiền điều kiện Tài khoản mà khách hàng đăng ký chưa tồn tại trong hệ thống trước đó Khách hàng đăng ký thành công, tài khoản được ghi nhận trên Hậu điều kiện CSDL, khách hàng có thể sử dụng tài khoản vừa đăng ký để đăng nhập. Bảng 2: Usecase đăng ký 19 Downloaded by MON HOANG (monmon3@gmail.
Usecase “Quản lý nhân viên” Tên Use-case Quản lý nhân viên Người quản lý có thể thêm, xóa hoặc cập nhật một nhân viên mới Mô tả Use-case vào CSDL. Kích hoạt (Trigger) Người quản lý truy cập vào trang quản lý thông tin nhân viên Actors Người quản lý Include: Đăng nhập Use-case liên quan Extends: Thêm nhân viên, xóa nhân viên, sửa nhân viên Thiết bị của người quản cần phải kết nối vào Internet Tiền điều kiện Người quản lý phải đăng nhập vào hệ thống. Nếu thành công, thông tin nhân viên sẽ được cập lại trên CSDL. Hậu điều kiện Dữ liệu tại Xử lý sự kiện trang quản lý thông tin nhân viên cũng được cập nhật thông tin nhân viên này.
Bảng 3: Usecase quản lý nhân viên 20 Downloaded by MON HOANG (monmon3@gmail. Usecase “Quản lý voucher” Tên Use-case Quản lý voucher Mô tả Use-case Người quản lý có xóa hoặc thêm mới voucher vào CSDL. Kích hoạt (Trigger) Người quản lý truy cập vào trang quản lý voucher Actors Người quản lý Include: Đăng nhập Use-case liên quan Extends: Thêm voucher, xóa voucher Thiết bị của người quản cần phải kết nối vào Internet Tiền điều kiện Người quản lý phải đăng nhập vào hệ thống. Nếu thành công, thông tin voucher sẽ được cập lại trên CSDL.
Dữ Hậu điều kiện liệu của voucher tại Xử lý sự kiện trang quản lý voucher cũng sẽ được cập nhật thông tin voucher này. Bảng 4: Usecase quản lý voucher 21 Downloaded by MON HOANG (monmon3@gmail. Usecase “Quản lý món ăn” Tên Use-case Quản lý món ăn Người quản lý có thể tìm kiếm, thêm, xóa hoặc cập nhật một món Mô tả Use-case ăn vào CSDL. Kích hoạt (Trigger) Người quản lý truy cập vào trang quản lý món ăn Actors Người quản lý Include: đăng nhập Use-case liên quan Extends: Thêm món ăn, xóa món ăn, sửa món ăn Thiết bị của người quản cần phải kết nối vào Internet Tiền điều kiện Người quản lý phải đăng nhập vào hệ thống.
Nếu thành công, thông tin món ăn sẽ được cập lại trên CSDL. Dữ Hậu điều kiện liệu của món ăn tại Xử lý sự kiện trang quản lý món ăn cũng sẽ được cập nhật thông tin món ăn này. Bảng 5: Usecase quản lý món ăn 22 Downloaded by MON HOANG (monmon3@gmail. Usecase “Quản lý bàn ăn” Tên Use-case Quản lý bàn ăn Mô tả Use-case Người quản lý có thể xóa hoặc thêm một bàn ăn vào CSDL.
Kích hoạt (Trigger) Người quản lý truy cập vào trang quản lý bàn ăn Actors Người quản lý Include: đăng nhập Use-case liên quan Extends: Thêm bàn ăn, xóa bàn ăn Thiết bị của người quản cần phải kết nối vào Internet Tiền điều kiện Người quản lý phải đăng nhập vào hệ thống. Nếu thành công, thông tin bàn ăn sẽ được cập lại trên CSDL. Dữ Hậu điều kiện liệu của bàn ăn tại Xử lý sự kiện trang quản lý bàn ăn cũng sẽ được cập nhật thông tin bàn ăn này. Bảng 6: Usecase quản lý bàn ăn 23 Downloaded by MON HOANG (monmon3@gmail.
Usecase “Quản lý khách hàng” Tên Use-case Quản lý khách hàng Người quản lý có thể xem thông tin các khách hàng của nhà hàng, Mô tả Use-case và liên hệ khách hàng (nếu cần) Người quản lý đã đăng nhập và truy cập vào chức năng quản lý Kích hoạt (Trigger) khách hàng Actors Người quản lý Include: đăng nhập Use-case liên quan Extends: Xem thông tin khách hàng, liên hệ khách hàng, tìm kiếm Thiết bị của người quản lý cần phải kết nối vào Internet Tiền điều kiện Người quản lý phải đăng nhập vào hệ thống. Nếu thành công, người quản lý sẽ xem được thông tin các khách Hậu điều kiện hàng của nhà hàng. Bảng 7: Usecase quản lý khách hàng 24 Downloaded by MON HOANG (monmon3@gmail. Usecase “Quản lý lịch đặt bàn” Tên Use-case Quản lý lịch đặt bàn Người quản lý có thể xem thông tin các lịch đặt bàn của nhà hàng, Mô tả Use-case hủy lịch đặt bàn và liên hệ khách hàng đã đặt bàn.