Không chỉ dừng lại ở việc giúp các nhà quản lý quản lý hệ thống củamình dễ hàng, mà nó còn giúp cho các nhân viên – người trực tiếp thao tácvới phần mềm làm việc nhanh hơn, hiệu quả hơn,
TỔNG QUAN
Tổng quan về đề tài được nghiên cứu
Hiện nay, nhiều quán ăn, nhà hàng và quán cà phê vẫn sử dụng phương pháp gọi món ăn thủ công, gây tốn thời gian và công sức Trong khi đó, điện thoại thông minh Android đã trở nên phổ biến, với hầu hết nhân viên sở hữu thiết bị này Chi phí mạng 3G, 4G ngày càng rẻ và môi trường làm việc tại quán cà phê thường có Wifi, tạo điều kiện thuận lợi cho việc kết nối Tuy nhiên, vẫn thiếu ứng dụng di động hỗ trợ quản lý và nhân viên Một số công ty cung cấp giải pháp phần mềm nhưng yêu cầu mua thiết bị chuyên dụng và có chi phí lắp đặt cao, khiến các quán ăn quy mô vừa và nhỏ khó tiếp cận.
Phát triển ứng dụng hỗ trợ gọi món, gửi yêu cầu và thanh toán trên thiết bị di động giúp nhân viên giao tiếp thời gian thực với nhà bếp Khi khách hàng xác nhận gọi món, yêu cầu sẽ được chuyển ngay xuống nhà bếp, đồng thời nhân viên phục vụ có thể theo dõi tình trạng món ăn qua mạng Wifi hoặc di động Giải pháp này không chỉ tiết kiệm thời gian và công sức mà còn nâng cao hiệu quả kinh doanh cho nhà hàng, quán ăn và quán cà phê.
Không cần đầu tư nhiều kinh phí vào các thiết bị thông minh hoặc các phần mềm cho việc quản lý thông tin.
Khi lưu trữ thông tin về món ăn, nhân viên và menu, việc sử dụng nhiều loại sổ sách và cần nhiều nhân viên để quản lý là điều thường thấy.
Khi tìm kiếm thông tin về món ăn, hóa đơn và nhân viên, quá trình này thường tốn nhiều thời gian do khó khăn trong việc tra cứu và thống kê, đặc biệt là khi phải xử lý một lượng lớn dữ liệu.
Nhiệm vụ đồ án
Để khắc phục những vấn đề hiện tại, chúng ta cần phát triển một phần mềm và hệ thống mới với yêu cầu kỹ thuật cao hơn và quản lý chuyên nghiệp hơn, nhằm giải quyết triệt để các khuyết điểm của hệ thống quản lý cũ.
1.2.1 Đối tượng và phạm vi của ứng dụng
Các nhà hàng và quán ăn, từ lớn đến nhỏ, đang tích cực áp dụng công nghệ thông tin nhằm cải thiện quản lý và tối ưu hóa các chức năng quan trọng trong hoạt động kinh doanh của mình.
1.2.1.2 Mục Tiêu Đồ án android được xây dựng cho người quản lý quán ăn là những người có đam mê thưởng thức các món ăn ngon mang hương vị ẩm thực Vì vậy Pixel’s Food đã được cho ra đời với mục đích mang những món ăn ngon đến cho khach hàng và quản lý hiệu quả.
Tiết kiệm được nhân lực, thời gian, chi phí, sức lao động, tiền bạc vật chất trong việc quản lý.
Thống kê nhanh chóng giúp người quản lý nắm bắt thông tin, tính toán và xác định hướng phát triển cho chi nhánh hoặc cơ sở kinh doanh một cách hiệu quả.
Tạo sự tiện dụng cho người sử dụng, nâng cao hiệu suất làm việc
Tự động hóa công tác quản lý từ đó tạo nên tính chuyên nghiệp trong việc quản lý kinh doanh của quán ăn.
1.2.1.4 Các bước thực hiện đồ án
Nghiên cứu, khảo sát thực tế về tình hình và cơ cấu hoạt động của các cơ sở kinh doanh hiện nay.
Lập ra các kế hoạch cụ thể để phát triển hệ thống.
Phân tích yêu cầu của phần mềm
Hiện thực phần mềm bằng Android Studio
1.2.1.5 Cấu trúc đồ án Đồ án gồm 5 chương:
Chương 2: Cơ sở lý thuyết
Chương 3: Phân tích thiết kế hệ thống
Chương 4: Xây dựng hệ thống và các chức năn chương trình
Chương 5: Kết luận và hướng phát triển
CƠ SỞ LÝ THUYẾT
Các khái niệm và cơ chế hoạt động
Android là hệ điều hành mã nguồn mở dựa trên nền tảng Linux, chuyên dành cho thiết bị di động có màn hình cảm ứng như smartphone và tablet Hệ điều hành này được phát triển ban đầu bởi công ty Android với sự hỗ trợ tài chính từ Google, và sau đó Google đã mua lại công ty để tiếp tục nâng cao và phát triển Android thành một nền tảng mạnh mẽ hơn.
- Android có khả năng tuỳ biến cao, cho phép tùy ý chỉnh sửa mà không có sự can thiệp hay ràng buộc pháp lý từ Google
- Android xuất hiện trên rất nhiều mẫu thiết bị từ phân khúc bình dân đến cao cấp, mang đến nhiều lựa chọn cho người dụng
- Kho ứng dụng Google Play Store đồ sộ, nhiều ứng hữu ích
- Giao diện thân thiện, dễ sử dụng
- Do tính chất mã nguồn mở nên Android luôn có nguy cơ tiềm ẩn cao bị dính virus hoặc các phần mềm độc hại
Android gặp phải tình trạng phân mảnh lớn do sự hiện diện trên nhiều loại thiết bị khác nhau, điều này tạo ra không ít khó khăn cho các nhà phát triển trong việc xây dựng ứng dụng mới.
Không phải tất cả các thiết bị đều được hỗ trợ cập nhật phiên bản Android mới, vì vậy người dùng thường phải đầu tư vào một thiết bị mới để trải nghiệm những tính năng mới nhất.
Android Studio là IDE chính thức được sử dụng trong phát triển ứng dụng Android dựa trên IntelliJ IDEA
Android Studio là công cụ chính giúp người dùng thiết kế ứng dụng và quản lý các tệp phức tạp Ngôn ngữ lập trình Java được sử dụng trong Android Studio và sẽ được cài đặt sẵn trên thiết bị của bạn.
Khi sử dụng Android Studio, bạn chỉ cần viết, chỉnh sửa và lưu trữ mã nguồn trong các dự án của mình, với các file được tổ chức trong dự án đó Ngoài ra, Android Studio cũng cung cấp quyền truy cập vào Android SDK, giúp bạn phát triển ứng dụng Android một cách hiệu quả.
Android Studio là môi trường phát triển giúp tối ưu hóa mã Java, cho phép ứng dụng chạy mượt mà trên thiết bị Android và tận dụng tối đa phần cứng Chỉ cần sử dụng ngôn ngữ lập trình Java, Android SDK sẽ đảm nhiệm việc kết nối các thành phần lại với nhau.
2.1.1.3 Ngôn ngữ lập trình Java
Java là một ngôn ngữ lập trình bậc cao, hướng đối tượng với tính năng bảo mật mạnh mẽ, đồng thời được coi là một nền tảng độc lập Được phát triển bởi Sun Microsystems dưới sự dẫn dắt của James Gosling, Java đã ra mắt vào năm 1995 và hiện có thể hoạt động trên nhiều hệ điều hành khác nhau, bao gồm Windows, Mac và các phiên bản UNIX.
Ngôn ngữ lập trình mới được phát triển bởi các kỹ sư của Sun MicroSystem mang tính hướng đối tượng hoàn toàn, tương tự như C++ Mục tiêu của họ là tạo ra một ngôn ngữ dễ học và thân thuộc với hầu hết lập trình viên, vì vậy họ đã kế thừa cú pháp từ C và C++.
Trong Java, thao tác với con trỏ đã bị loại bỏ để đảm bảo tính an toàn và dễ sử dụng Ngoài ra, các thao tác overload, câu lệnh goto, cùng với các cấu trúc như struct và union cũng không được hỗ trợ trong ngôn ngữ này.
Tính đến năm 2019, Java đã trở thành một trong những ngôn ngữ lập trình phổ biến nhất trên GitHub, đặc biệt trong lĩnh vực phát triển ứng dụng web máy khách-máy chủ, với 9 triệu nhà phát triển đang sử dụng.
SQLite là một cơ sở dữ liệu SQL mã nguồn mở, lưu trữ dữ liệu trong một tập tin văn bản trên thiết bị và đã được tích hợp sẵn trên Android Người dùng không cần thiết lập kết nối như JDBC hay ODBC để truy cập dữ liệu SQLite nổi bật với đặc điểm gọn nhẹ, đơn giản, không yêu cầu mô hình server-client, cài đặt hay cấu hình, do đó không có khái niệm về người dùng, mật khẩu hay quyền hạn Tất cả dữ liệu được lưu trữ trong một file duy nhất.
SQLite là một lựa chọn tuyệt vời cho các hệ thống quy mô vừa và nhỏ, với chức năng và tốc độ không kém gì các DBMS khác Việc không cần cài đặt hay cấu hình phức tạp khiến SQLite trở thành công cụ lý tưởng cho phát triển và thử nghiệm, giúp người dùng tránh được những rắc rối trong quá trình thiết lập.
2.1.2.Các thư viện và công cụ hỗ trợ
MPAndroidChart là một thư viện biểu đồ mạnh mẽ và dễ sử dụng cho
Android hỗ trợ việc vẽ biểu đồ, chia tỷ lệ và xử lý animations thông qua thư viện MPAndroidChart Thư viện này thường được sử dụng để thống kê biểu đồ cột thể hiện doanh thu và tổng số lượng Bạn có thể tìm thấy phiên bản mới nhất tại địa chỉ: com.github.PhilJay:MPAndroidChart:v3.0.2 Tham khảo thêm tại [GitHub](https://github.com/PhilJay/MPAndroidChart).
CircleImageView là một thư viện giúp tạo ra hình ảnh trong khuôn hình tròn, mang lại thiết kế đẹp mắt và chuyên nghiệp hơn cho ứng dụng Android Thư viện này được phát triển bởi de.hdodenhof và có thể được tích hợp dễ dàng thông qua Gradle với phiên bản 3.1.0 Để tìm hiểu thêm và truy cập mã nguồn, bạn có thể ghé thăm trang GitHub của CircleImageView tại [đây](https://github.com/hdodenhof/CircleImageView).
Xác định yêu cầu
Do là ứng dụng đặt đồ ăn, phần mềm phải có 2 đối tượng người dùng chính là
Quản lý (Admin) và nhân viên Bên cạnh đó, nhân viên sẽ được phân chia ra là Chạy bàn và đầu bếp
Các chức năng của mỗi đối tượng được liệt kê dưới đây:
Vai trò của Admin là quản lý toàn bộ chức năng của hệ thống, bao gồm việc thêm và xóa tài khoản nhân viên trong quán ăn Ngoài ra, Admin còn có khả năng xem thống kê chi tiết về hóa đơn, giúp theo dõi và quản lý hoạt động kinh doanh hiệu quả hơn.
- Nhân viên chạy bàn: Là người phục vụ chạy bàn quán ăn thì sẽ được thực thi các chức năng như sau:
+ Thêm, xóa các món ăn và thực đơn
+ Thêm, xóa các bàn ăn
- Nhân viên đầu bếp: Là người chế biến món ăn và sẽ thêm món ăn mới thì sẽ được thực thi chức năng:
+ Thêm, xóa các món ăn và thực đơn
2.2.2.Yêu cầu phi chức năng
- Điện thoại sử dụng hệ điều hành Android phiên bản 4.0 trở lên
- Quá trình đăng nhập diễn ra nhanh chóng
- Database có khả năng lưu trữ thông tin của 10000 người dùng
- Tài khoản được đăng ký đúng chính xác nhất
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Bảng mô tả đối tượng – Usecase
STT Tên Actor Mô tả
1 Admin Là quản trị viên của hệ thống, có mọi quyền và thực hiện mọi chức năng
2 Nhân Viên chạy bàn Là người chạy bàn trong quán
3 Nhân Viên đầu bếp Là người chế biến món ăn trong quán
Bảng 3.2.1 Mô Tả Actor 3.2.2.Mô tả Usecase
STT Tên Usecase Mô tả
1 Quản lý bàn Actor admin, nhân viên chạy bàn thêm/xóa/sửa bàn
2 Quản lý thực đơn Các actor có thể thực thi thêm/xóa/sửa thực đơn và món ăn.
Actor admin là người có quyền Thêm/xóa/sửa thông tin nhân viên và cấp tài khoản cho nhân viên
Quản lý thống kê là nhiệm vụ của admin Actor, người có quyền truy cập và quản lý thông tin thống kê Họ có khả năng xem danh sách hóa đơn và tổng doanh thu theo từng ngày, tháng và năm.
5 Xem lương Các actor có thể xem thông tin đã được trả lương
Sơ đồ Usecase
Hình 3.3 Sơ đồ tổng quản Usecase
Sơ đồ tổng quan về các chức năng của các Actor:
Admin có thể quản lý toàn bộ chức năng trong hệ thống, bao gồm quản lý bàn, thực đơn, nhân viên, thống kê và xem lương.
Đối với nhân viên Chạy Bàn thì Actor này có thể quản lý được một số chức năng như: quản lý bàn, quản lý thực đơn, và xem lương
Đối với nhân viên đầu bếp thì có thể quản lý được thực đơn và xem lương.
Sơ đồ phân rã chức năng
Hình 3.4.1 Sơ đồ chức năng quản lý bàn
Chức năng quản lý bàn trong hệ thống cho phép phân quyền cho hai đối tượng chính là Admin và nhân viên chạy bàn Qua việc đăng nhập vào tài khoản, họ có thể thực hiện các thao tác như thêm, sửa, xóa bàn, quản lý thực đơn và thanh toán hóa đơn cho khách hàng một cách hiệu quả.
Hình 3.4.2 Sơ đồ chức năng quản lý thực đơn
Hệ thống quản lý thực đơn sẽ phân quyền cho ba đối tượng chính: Admin, nhân viên bếp và nhân viên phục vụ Mỗi đối tượng sẽ đăng nhập vào tài khoản đã được phân quyền để thực hiện chức năng của mình.
Quản lý thực đơn cho phép cả ba Actor thực hiện các thao tác như thêm, xóa và sửa đổi thực đơn Ngoài ra, họ cũng có khả năng quản lý các loại món ăn bằng cách thêm, sửa và xóa các loại món.
Chức năng quản lý thống kê, như được mô tả trong Hình 3.4.3, chỉ cho phép Actor Admin thực hiện các thao tác Admin có thể quản lý và theo dõi các thống kê một cách hiệu quả.
Xem chi tiết đơn hàng
Xem biểu đồ thống kê doanh thu
Xem danh sách hóa đơn
Hình 3.4.4 Sơ đồ chức năng quản lý nhân viên
Chức năng quản lý nhân viên cho phép Admin thực hiện các thao tác sau khi đăng nhập vào hệ thống bằng tài khoản được cấp Admin có khả năng quản lý nhân viên một cách hiệu quả.
Phân quyền nhân viên (nhân viên chạy bàn, nhân viên đầu bếp, )
Thêm, xóa, sửa nhân viên
Xem danh sách các nhân viên trong hệ thống
Sơ đồ Class Diagram
Hình 3.5 Sơ đồ Class Diagram
XÂY DỰNG HỆ THỐNG VÀ CÁC CHỨC NĂNG CHO CHƯƠNG TRÌNH
Xây dựng hệ thống
- Chương trình được phát triển trên môi trường Android Studio IDE.
SQLite: một cơ sở dữ liệu SQL mã nguồn mở, nó lưu trữ dữ liệu vào một tập tin văn bản trên một thiết bị
Cấu trúc chương trình
Chứa các thực thể của dữ liệu phạm vi của thuộc tính Object, kèm theo các phương Get/Set.
Cấu trúc để khởi tạo cơ sở dữ liệu Database
Hình 4 2.2 2 Khởi tạo Database theo phương thức SQLite 4.2.3.DAO (Data Access Object)
Chứa các câu lệnh thực hiện truy vấn SQL và class Connect SQL
Hình 4 2.5.1 Fragments 4.2.7 Giao diện layout (XML)
Chứa các View giao diện layout
Thiết kế cơ sở dữ liệu
Khởi tạo hàm public class CreateDatabase extends SQLiteOpenHelper để tạo CSDL trong SQLite bằng code
Hình 4 3 1 1 2 Khởi tạo bảng Quyền
Hình 4 3 1 2 2 Khởi tạo bảng Nhân viên
Hình 4 3 1 3 2 Khởi tạo bảng Nhân viên
Hình 4 3 1 4 2 Khởi tạo bảng Đơn Đặt
Hình 4 3 1 5 1 Bảng Lương và khởi tạo bảng
Hình 4 3 1 6 1 Khởi tạo bảng món
Hình 4 3 1 7 2 Khởi tạo bảng món
4.3.1.8 Bảng Chi Tiết Đơn Đặt
Hình 4 3 1 8.1 Bảng Chi Tiết Đơn Đặt
Hình 4.3.1.8.2 Khởi tạo bảng món
CÀI ĐẶT VÀ THỬ NGHIỆM CHƯƠNG TRÌNH
Môi trường cài đặt phần mềm
- Hỗ trợ môi trường Window 7/8/10/11.
- Bộ nhớ khả dụng 90MB
Minh họa phần mềm
Hình 5.2.1 Giao diện Splash Screen Đây là màng hình giao diện khởi tạo chạy chương quản lý đồ ăn ẩm thực
5.2.2.Giao diện chức năng đăng nhập và đăng ký
Giao diện đăng ký và đăng nhập gồm hai nút: Đăng nhập và Đăng ký Người dùng cần nhấn Đăng ký nếu chưa có tài khoản, hoặc chọn Đăng nhập để truy cập ứng dụng nếu đã có tài khoản.
5.2.2.1 Giao diện màng hình đăng ký
Hình 5.2.2.1.1 Giao diện đăng ký tạo tài khoản (1/2) Ở slide thứ nhất:
Để hoàn tất quá trình Đăng Ký, người dùng cần điền đầy đủ các thông tin bao gồm: Họ tên, tên tài khoản, email, số điện thoại và mật khẩu Ví dụ, tài khoản đã đăng ký với tên tài khoản là "nin" và mật khẩu là "123456".
Hình 5.2.2.1.2 Giao diện đăng ký tạo tài khoản (2/2)
Bước tiếp đến slide thứ 2
Ta có thêm chi tiết đăng ký lựa chọn Giới tính và Ngày sinh
Thực thi bấm nút để hoàn thành thao tác tạo tài khoản
5.2.2.2 Giao diện màn hình đăng nhập (upload ảnh chụp màn hình)
Hình 5.2.2.2.1 Giao diện đăng nhập
Ta sẽ đăng nhập với tài khoản mà ta đã đăng ký trước đó
Chức năng 'Lưu đăng nhập' cho phép ghi nhớ thông tin đăng nhập của người dùng Nếu bạn đang sử dụng ứng dụng mà bị mất điện hoặc thoát mà không đăng xuất, thông tin đăng nhập sẽ vẫn được lưu và tự động điền trong lần mở ứng dụng tiếp theo.
Nút để hiển thị r§ mâ¨t khẩu bằng chữ kí tự
5.2.3.1.Giao diện trang chủ Admin
Hình 5.2.3.1.1 Giao diện trang chủ Admin
Giao diện trang chủ được truy cập bằng tài khoản Admin, cho phép quản lý toàn diện các chức năng như thống kê, bàn ăn, thực đơn và nhân viên Trong menu, có các nút chức năng để quản lý nhân viên, thực đơn, bàn ăn và thống kê, cùng với tính năng xem lương cho nhân viên và nút đăng xuất khi cần thoát ra.
5.2.3.2.Giao diện trang chủ nhân viên
Hình 5.2.3.2 Giao diện trang chủ Nhân Viên
Phần giao diê¨n trang chủ được đăng nhập bằng tài khoản Nhân viên chỉ được quyền quản lý bàn ăn và quản lý thực đơn
5.2.3.3.Giao diện quản lý nhân viên
Giao diện quản lý nhân viên cung cấp các tính năng quan trọng như thêm, sửa, xóa thông tin nhân viên, cùng với khả năng xem danh sách thông tin nhân viên một cách dễ dàng và hiệu quả.
Hình 5.2.3.3.2 Giao diện sửa, xóa nhân viên
Nhấn giữ phím ta sẽ có thao tác thực thi Xóa, Sửa Ở nút là nút thực thi Thêm nhân viên
Hình 5.2.3.3.3 Giao diện sửa thông tin nhân viên
Khi cần chỉnh sửa thông tin, bạn hãy chọn quyền sửa thông tin, sau đó chọn các mục cần chỉnh sửa và nhấn nút sửa Nhân viên để lưu lại các thay đổi.
Hình 5.2.3.3.5 Giao diện thêm nhân viên
Khi thêm nhân viên mới, cần cấp quyền và nhập đầy đủ thông tin của nhân viên đó Sau khi hoàn tất, chỉ cần nhấn chọn "Thêm nhân viên" để hoàn tất quá trình.
5.2.3.4.Giao diện quản lý thực đơn
Hình 5.2.3.4.1 Giao diện quản lý menu Ở giao diện ta có các loại thực đơn kèm hình ảnh thức ăn
Thực thi nút để thêm thực đơn mà mình mong muốn
Hình 5.2.3.4.2 Giao diện thêm tên menu
Ta có giao diện thêm thực đơn nhấp vào hình Menu trên giao diện để chọn hình ảnh thực đơn mà mình mong muốn Sau đây là kết quả:
Trong giao diện thêm món ăn, người dùng cần nhập đầy đủ thông tin như tên món, giá bán và loại thức ăn Sau khi hoàn tất, hãy nhấn nút "Thêm món" để cập nhật món mới vào menu.
5.2.3.5.Giao diện quản lý bàn ăn
Hình 5.2.3.5.1 Giao diện quản lý bàn
Ta có các bàn trên hình giao diện và có 3 option để thực thi
Nút dùng để đặt món ăn cho bàn
Nút dùng để thanh toán bàn đó và xem chi tiết thanh toán
Để đặt món ăn cho bàn, người dùng sẽ sử dụng nút thoát lựa thực thi tính năng Quy trình thực hiện tương tự như tính năng Quản lý thực đơn, nhưng cần thêm bước nhập số lượng món Sau khi hoàn tất, các món ăn sẽ được thêm vào giỏ hàng cho bàn ăn.
Với hình ảnh tức là loại bàn đã có đặt món Ta thực thi nút để thanh toán bàn ăn
Hình 5.2.3.5.4 Giao diện thanh toán Đây là giao diện thanh toán Nhấn vào “Thanh toán” để đồng ý thanh toán.
5.2.3.6.Giao diện quản lý thống kê
Sau khi hoàn tất thanh toán qua chức năng Quản lý bàn, bạn sẽ nhận được hóa đơn có mã hóa đơn được lưu trữ trong phần Quản lý thống kê.
Hình 5.2.3.5.5 Giao diện đã thanh toán thành công
Ta có tính năng có thể xem Chi tiết đơn đặt và xuất ra hóa đơn trong thanh danh sách đó
Hình 5.2.3.5.6 Giao diện hóa đơn thanh toán
Giao diện hình ảnh khi xuất ra hóa đơn trong app
Hình 5.2.3.5.7 Giao diện thống kê doanh thu
Ta có thể xem biểu đồ thống kê tổng doanh thu khi nhấn vào nút
KẾT LUẬN ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN
• Phần mềm đã đạt những yêu cầu đưa ra trong mục tiêu của đồ án
• Giao diện người dùng thân thiện, dễ sử dụng.
• Truy cập cơ sở dữ liệu một cách dễ dàng, không ảnh hưởng đến các cơ sở dữ liệu khác.
• Hình ảnh món ăn hấp dẫn, giao diện đẹp mắt
• Phần mềm vẫn còn khá sơ sài, chưa có những chức năng mà nhóm mong muốn đạt được.