1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỒ án TỐT NGHIỆP thiết kế, xây dựng hệ thống quản lí thực đơn và giải pháp order bằng mã QR cho nhà hàng

51 43 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 51
Dung lượng 2,98 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mã QR Order được sử dụng phổ biến hiện nay bởi nó cho phép người dùng có thể gọi mónnhanh hơn khi quét mã thông qua hệ thống phần mềm thông minh của nhà hàng.. Thông qua việc quét mã QR

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

ĐỒ ÁN TỐT NGHIỆP Thiết kế, xây dựng hệ thống quản

lí thực đơn và giải pháp order bằng mã QR cho Nhà hàng

Trang 2

Họ và tên sinh viên: Trần Đình Đức

Điện thoại liên lạc: 0868330719 Email: duc.td173028@sis.hust.edu.vn

Lớp: CNTT11-K62 Hệ đào tạo: Cử nhân kỹ thuật

Tôi – Trần Đình Đức – cam kết Đồ án Tốt nghiệp (ĐATN) là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của ThS Nguyễn Tiến Thành Các kết quả nêu trong ĐATN

là trung thực, là thành quả của riêng tôi, không sao chép theo bất kỳ công trình nào khác.Tất cả những tham khảo trong ĐATN – bao gồm hình ảnh, bảng biểu, số liệu, và các câu từtrích dẫn – đều được ghi rõ ràng và đầy đủ nguồn gốc trong danh mục tài liệu tham khảo.Tôi xin hoàn toàn chịu trách nhiệm với dù chỉ một sao chép vi phạm quy chế của nhàtrường

Hà Nội, ngày tháng năm

Tác giả ĐATN

Trần Đình Đức

Lời đầu tiên, em xin cảm ơn chân thành và sâu sắc đến toàn bộ thầy cô của ngôitrường Đại học Bách Khoa Hà Nội, đặc biệt là những thầy cô viện Công nghệ thông tin vàTruyền thông đã hết lòng dạy dỗ, truyền đạt kinh nghiệm quý báu cho em trong suốt 4 nămvừa qua

Em xin gửi lời biết ơn sâu sắc đến ThS Nguyễn Tiến Thành, Bộ môn Công nghệphần mềm – Viện Công nghệ thông tin và Truyền thông – Trường Đại học Bách Khoa HàNội Thầy là giáo viên chủ nhiệm của em và cũng là thầy giáo hướng dẫn trực tiếp đồ ántốt nghiệp cho em Thầy là một người tận tâm, tận tình với sinh viên, thầy không chỉ địnhhướng cho em đồ án tốt nghiệp, thầy còn định hướng cho công việc và các vấn đề khác

Lời cam kết

Lời cảm ơn

Trang 3

trong cuộc sống của em Những chia sẻ của thầy là những kinh nghiệm quý báu là hàngtrang mà chúng em sẽ mang theo trên chặng đường hướng về tương lai phía trước.

Em xin cảm ơn gia đình đã nuôi dạy em, tạo điều kiện để em có thể học tập và rènluyện trong ngôi trường mà em yêu thích

Em xin cảm ơn những người bạn cùng nhau sát cánh suốt quãng đời sinh viên đầykhó khăn và nhọc nhằn Cảm ơn tập thể CNTT11 đã luôn cùng nhau chia ngọt sẻ bùi, cùngnhau thức khuya ôn luyện vượt qua các kì thi học kì khó nhằn, cùng tụ họp xum vầy 1 gócB5 nhộn nhịp Cảm ơn tất cả mọi người đã ở bên cạnh trong những lúc em cảm thấy khókhăn nhất Đó là một động lực to lớn để em có thể hoàn thành đồ án này

Do thời gian thực hiện ĐATN có hạn cũng như trình độ chuyên môn còn hạn chếnên ĐATN của em vẫn còn nhiều thiếu sót Vì vậy em rất mong nhận được đánh giá củathầy cô để đồ án của em được tốt hơn

Em xin trân thành cảm ơn !

Mã QR chắc chắn rất quen thuộc với nhiều người nhưng nó là gì thì có lẽ khôngphải ai cũng biết Mã QR là viết tắt của Quick Response với ý nghĩa phản hồi nhanh Mã

QR Order được sử dụng phổ biến hiện nay bởi nó cho phép người dùng có thể gọi mónnhanh hơn khi quét mã thông qua hệ thống phần mềm thông minh của nhà hàng Quét mã

QR order còn giúp người dùng có thể gọi món mà không cần đến như viên

Thông qua việc quét mã QR order, chủ kinh doanh có thể dễ dàng theo dõi đượcnhu cầu sử dụng dịch vụ của khách hàng và quy trình làm việc của nhân viên rất dễ dàng.Bên cạnh đó, quét mã order còn cho ra các số liệu gọi món chính xác và nhanh chóng nhất.Đây được xem như là giải pháp hoàn hảo nhất trong việc nâng cấp trải nghiệm cho kháchhàng của mọi mô hình kinh doanh hiện nay

Đối với khách hàng, sử dụng quét mã QR order không chỉ mang lại sự tiện lợi khikhách hàng có thể tự động gọi món mà không cần nhân viên mà còn giúp tranh tỉ lệ sai sótkhông đáng có Nghĩa là nếu order theo phương pháp truyền thống thì rất dễ xảy ra sai mónkhi phải chuyển đơn từ bộ phận phục vụ và bộ phận bếp hay pha chế Còn khi khách hàng

tự quét mã order thì hệ thống sẽ chuyển thẳng vào bên trong, từ đó giảm được tỷ lệ gọi

Tóm tắt

Trang 4

mà còn tạo cho mô hình kinh doanh trở nên chuyên nghiệp hơn, tạo được nhiều ấn tượnghơn.

Đối với nhà hàng, Order bằng mã QR giúp cho việc gọi món và thanh toán trở nên dễ dàng

và nhanh chóng hơn bao giờ hết Từ đó, hệ thống kinh doanh có thể phục vụ được một lúcnhiều khách hàng trong một khoảng thời gian nhất định Khách hàng có thể chủ động gọimón nhanh hay chậm tùy thích mà không cần đến nhân viên phục vụ Nhân viên nhà hàngkhi order chắc chắn sẽ không tránh khỏi sự nhầm lẫn Điều này có thể xảy ra nếu mộtngười nhân viên phục vụ liền 3, 4 bàn cùng một lúc Chính vì thế, khi thực khách đã quét

mã order thì việc quản lý món ăn, thức uống sẽ được kiểm soát dễ dàng hơn Nhà hàng sẽtránh được các sai sót về món ăn, thức uống hay nhầm lẫn thứ tự giữa các bàn Một lợi íchkhông thể không kể đến của việc quét mã QR order chính là gia tăng chất lượng dịch vụ.Nhà hàng sẽ dễ dàng nắm bắt được nhiều khách hàng quen thuộc hơn, giúp họ không chỉđược gọi món nhanh chóng mà còn có thể thanh toán ngay trên thiết bị Sau khi kháchhàng quét mã đặt món, bộ phận bếp và pha chế sẽ nhận được order theo thứ tự để có thểphục vụ chuẩn xác nhất Điều này giúp cho quá trình phục vụ trở nên chuyên nghiệp hơn,tạo được sự hài lòng cho khách hàng mà không cần có quá nhiều nhân viên phục vụ.Thông thường khi muốn thêm món mới hay thay đổi giá của món ăn thì phải chỉnh sửahoặc thay đổi menu nếu menu đó bằng giấy Tuy nhiên, khi đã thực hiện order bằng mã

QR, hệ thống nhà hàng có thể cập nhật món ăn mới và giá thành mới bất cứ khi nào tùythích

Nhằm giúp khách hàng tránh gặp phải những phần mềm kém chất lượng, em xinđược thực hiện đồ án xây dựng hệ thống quản lí thực đơn và giải pháp order bằng mã QRcho Nhà hàng Một số tính năng nổi bật của nó có thể kể đến như:

- Phù hợp với hầu hết hệ thống điều hành và nền tảng hỗ trợ khác nhau, người dùng

có thể dễ dàng cài đặt mà không cần phải sử dụng đến những thiết bị khác

- Điểm sáng của đồ án chính là mã QR được thiết kế đa chức năng: tự động đặt món,đặt món mang đi và thanh toán dễ dàng

- Quét mã QR order còn giúp báo cáo, tổng hợp doanh thu một cách chi tiết và cụthể

Mục này khuyến khích sinh viên viết lại mục “Tóm tắt” đồ án tốt nghiệp ở trang trướcbằng tiếng Anh Phần này phải có đầy đủ các nội dung như trong phần tóm tắt bằng tiếngViệt

Abstract

Trang 5

Sinh viên không nhất thiết phải trình bày mục này Nhưng nếu lựa chọn trình bày, sinh viên cần đảm bảo câu từ và ngữ pháp chuẩn tắc, nếu không sẽ có tác dụng ngược, gây phản cảm

Lời cam kết ii

Lời cảm ơn iii

Tóm tắt iv

Abstract v

Mục lục vi

Danh mục hình vẽ ix

Danh mục bảng x

Danh mục công thức xi

Danh mục các từ viết tắt xii

Danh mục thuật ngữ xiii

Chương 1 Giới thiệu đề tài 1

1.1 Đặt vấn đề 1

1.2 Mục tiêu và phạm vi đề tài 2

1.3 Định hướng giải pháp 2

1.4 Bố cục đồ án 2

Chương 2 Khảo sát và phân tích yêu cầu 4

2.1 Khảo sát hiện trạng 4

Mục lục

Trang 6

2.2.2 Biểu đồ use case phân rã XYZ 5

2.2.3 Quy trình nghiệp vụ 5

2.3 Đặc tả chức năng 5

2.3.1 Đặc tả use case A 5

2.3.2 Đặc tả use case B 5

2.4 Yêu cầu phi chức năng 5

Chương 3 Công nghệ sử dụng 6

Chương 4 Phát triển và triển khai ứng dụng 7

4.1 Thiết kế kiến trúc 7

4.1.1 Lựa chọn kiến trúc phần mềm 7

4.1.2 Thiết kế tổng quan 7

4.1.3 Thiết kế chi tiết gói 8

4.2 Thiết kế chi tiết 8

4.2.1 Thiết kế giao diện 8

4.2.2 Thiết kế lớp 9

4.2.3 Thiết kế cơ sở dữ liệu 9

4.3 Xây dựng ứng dụng 9

4.3.1 Thư viện và công cụ sử dụng 9

4.3.2 Kết quả đạt được 9

4.3.3 Minh hoạ các chức năng chính 10

4.4 Kiểm thử 10

4.5 Triển khai 10

Chương 5 Các giải pháp và đóng góp nổi bật 11

Chương 6 Kết luận và hướng phát triển 12

6.1 Kết luận 12

6.2 Hướng phát triển 12

Trang 7

Tài liệu tham khảo 13 Phụ lục A-1

A Hướng dẫn viết đồ án tốt nghiệp A-1A.1 Quy định chung A-1A.2 Ngành học A-2A.3 Tạo đề mục A-2A.4 Bảng biểu A-3A.5 Hình vẽ A-4A.6 Tài liệu tham khảo A-4A.7 Công thức toán học A-5A.8 Tham chiếu chéo A-5A.9 Cập nhật mục lục và tham chiếu chéo A-6A.10 In quyển đồ án tốt nghiệp A-6

B Đặc tả use case B-8B.1 Đặc tả use case “Thống kê tình hình mượn sách” B-8B.2 Đặc tả use case “Đăng ký làm thẻ mượn” B-8

C Công nghệ sử dụng C-8C.1 Công nghệ bảo mật dữ liệu C-8C.2 Công nghệ blockchain C-8

D Thiết kế gói D-8D.1 Thiết kế gói cho kiến trúc tổng quan D-8D.2 Thiết kế gói cho chức năng “Trả sách” D-9

E Thiết kế lớp E-9

Trang 8

Hình 1 Ví dụ biểu đồ phụ thuộc gói 7 Hình 2 Ví dụ thiết kế gói 8 Hình 3 Ví dụ hình vẽ A-4 Hình 4 Quy cách đóng quyển A-6 Hình 5 Quy cách ghi chữ phần gáy A-6 Hình 6 Hướng dẫn thiết lập in hai mặt A-7

Công thức 1 Khai triển Newton A-5

Lưu ý: Nếu ĐATN có ít hơn ba công thức toán học, sinh viên có thể xóa bỏ mục này

Trang 9

Phát triển ứng dụng người dùng cuối

Công cụ lập trình Javascript bằng Java của Google

HTML HyperText Markup Language

Ngôn ngữ đánh dấu siêu văn bản

CNTT Công nghệ thông tin

E-commerce Thương mại điện tử

Bloatware Ứng dụng nhà sản xuất tích hợp vào thiết bị

Interpreter Trình thông dịch

Danh mục thuật ngữ

Trang 11

1.1 Đặt vấn đề

Thách thức lớn nhất đối với các doanh nghiệp là việc cắt giảm chi phí hoạt động cũngnhư tăng năng suất Tập trung vào hiệu quả quy trình kinh doanh và giảm thiểu con người– các lỗi liên quan có thể ảnh hưởng tích cực đến chi phí và năng suất Trong phạm vi này,

tự động hóa có thể dẫn đến quá trình thực thi nhanh hơn và giảm lỗi do yếu tố con ngườigây ra, đặc biệt là trong môi trường có sự trao đổi liên tục giữa khách hàng và nhận viên.Môi trường như vậy có thể thấy trong các nhà hàng có nhu cầu về Chất lượng và Trảinghiệm của khách hàng, hoạt động thấp chi phí cung như doanh thu cao là bắt buộc để đạtđược sự hài lòng cao của khách hàng cũng như mức năng suất cao

Nhìn chung, mọi người đến nhà hàng để thư giãn, trò chuyện và thưởng thức đồ ăn mộtcách thỏa mái Thường vào cuối tuần nhà hàng đã kín chỗ Lúc này mọi người phải chờ đợi

để ai đó (bồi bàn) từ nhà hàng gọi đồ ăn/ nước uống Ngoài ra, nhân viên phục vụ rất bậnrộn khi nhà hàng đồng khách Đôi khi họ có thể quên lấy đơn đặt hàng của khách, quênđơn hàng, phục vụ sai đơn hàng và giao hàng sau thời gian dài Khi nhà hàng giới thiệuthực đơn mới hoặc một số công thức nấu ăn mới cho khách hàng, họ có thể không hiểu rõ

nó bằng cách chỉ nhìn thấy thẻ thực đơn có in tên đồ ăn/thức uống

Vì nhân lực là yếu tố quan trong nhất trong nhà hàng, đồng thời thời gian là một lí dochính khiến hiệu suất bị thay đổi, quy trình nhận đơn đặt hàng có thể hoạt động như mộtgiải pháp Một giải pháp tự động có thể được giả định để tạo điều kiện cho sự gia tang tổngthể năng suất bằng các giảm thời gian và nỗ lực liên quan đến quy trình này, trong khi vẫngiữ mức độ hài lòng của khách hàng ở mức độ tương tự, thậm chí tăng lên Ví dụ: sự hàilòng có thể được kích hoạt trong môi trường đa ngôn ngữ, chẳng hạn tại các thành phố lớn,

nó khó có thể phục vụ khách hàng bằng ngôn ngữ yêu thích của họ Do đó sự tồn tại củamột ngôn ngữ thân thiện với quy trình đặt hàng có thể cần thiết cho nhiều khách hàng

Dự án này nhằm mục đích thiết kế, thực hiện và đánh giá một hệ thống quản lý thựcđơn cho một nhà hàng đã xác định Hệ thống cung cấp tính năng nhận đơn đặt hàng tựđộng và quản lý thực đơn chức năng cho nhà hàng Đầu tiên, dự án bắt đầu với phân tíchyêu cầu trong cộng tác với nhà hàng Thứ hai, dựa trên các yêu cầu của menu hệ thốngquản lý được thiết kế, triển khai Cuối cùng, trong phần đánh giá, hệ thống được phân tích

để nghiên cứu ảnh hưởng của việc giới thiệu hệ thống quản lý thực đơn trong nhà

Chương 1 Giới thiệu đề tài

Trang 12

1.2.2 Phạm vi đề tài

Mục tiêu chính của dự án là để nghiên cứu sự ảnh hưởng của việc giới thiệu hệ thốngquản lí menu trên thời gian xử lí đơn hàng và QoE của khách hàng trong nhà hàng Ởđây, không cung cấp giải pháp hoàn thành cho nhà hàng

Phạm vi của dự án là:

- Nghiên cứu sự ảnh hưởng của hệ thống mới trên thời gian xử lí đơn hàng

- Thiết kế giao diện người dùng tốt hơn để mang lại QoE cho khách hàng

- Luôn cập nhật hệ thống menu

- Quản lí nhận viên phục vụ bằng quản lí nhà hàng

Phạm vi không bao gồm hệ thống quản lí hàng tồn kho, hệ thống thanh toán nhà hàng,

ca làm việc quản lí cho nhân viên phục vụ và thiết bị đầu bếp Hệ thống có thể cập nhậtmenu nếu và chỉ khi quản lí nhà hàng dự định thay đổi nó thông qua bảng điều khiểndàng cho quản trị viên Sự thay đổi chỉ phản ánh trên hệ thống, nhưng nó không cungcấp một tùy chọn bổ sung để cập nhật vật lý thẻ menu trong nhà hàng Do đó, mục tiêuGiữ các cập nhật vật lí thẻ menu trong nhà hàng Do đó, mục tiêu giữ các cập nhật vàquản lí menu của quản trị viên nằm giữa trong phạm vi và ngoài phạm vi

1.3 Định hướng giải pháp

Trong chương này, cách tiếp cận của dự án tổng thể được mô tả Dự án giải quyếtcác mục tiêu được xác định trong Chương 1 cho môi trường nhà hàng Do đó, các yêucầu của dự án được gợi ra bằng cách chọn một nhà hàng dựa trên các tiêu chí chính

Trang 13

nhất định như khu vực hoạt động, tính thời vụ và quy mô như được giải thích chi tiếttrong Chương 3 Tác nhân chính khác trong dự án là khách hàng và nhóm dự án cũngđưa ra các yêu cầu từ họ bằng cách tiến hành một cuộc khảo sát người dùng Do đó,nhóm dự án đã thu thập các yêu cầu thực đặc điểm kỹ thuật từ cả nhà hàng đại diện vàkhách hàng Trong dự án này, một số công nghệ đã được sử dụng để đáp ứng các yêucầu được đưa ra, như được thu thập từ nhà hàng đã xác định và khảo sát người dùng Thứ nhất, để xác định vị trí của khách hàng trong nhà hàng, mã QR (mã vạch 2D) đãđược sử dụng Điều này cho phép hệ thống xác định vị trí của khách hàng trong nhàhàng Thứ hai, để gửi / nhận thông báo giữa khách hàng và người phục vụ trong nhàhàng, giao tiếp trong thời gian thực là được triển khai bằng cách sử dụng khungSignalR được mô tả trong Phần 6.1.1 Thứ ba, web dịch vụ của hệ thống này được thiết

kế và triển khai dựa trên phong cách kiến trúc RESTful [5], cho phép hệ thống hỗ trợmột ứng dụng di động gốc trong tương lai Tương tự, giao diện người dùng được thiết

kế và triển khai dựa trên clean architecture, phân tách rõ ràng các thành phần giao diệnngười dùng và mã giao diện người dùng Việc thực hiện dự án được kiểm tra dựa trêncác khái niệm về công trình khoa học thông qua một thí nghiệm Việc đánh giá đượcthực hiện tại nhà hàng đã chọn và dữ liệu đặt hàng là được phân tích so với dữ liệu lịch

sử dựa trên thiết kế nghiên cứu được mô tả trong Phụ lục B Đây là một cách tiếp cậnthường được thực hiện để chứng minh giả thuyết trong quá trình thử nghiệm lâm sàngnhưng được sử dụng hiệu quả ở đây trong lĩnh vực triển khai phần mềm Phân tích dữliệu thống kê đã được được thực hiện bằng phương pháp luận Six Sigma [1] được thựchiện bằng công cụ Minitab [2] Giả thuyết và thí nghiệm được mô tả chi tiết trongChương 5 và kết quả thống kê được mô tả trong Chương 5 và kết quả thống kê được

mô tả trong Chương 7

1.4 Bố cục đồ án

1.5 Khảo sát hiện trạng

Thông thường, khảo sát chi tiết về hiện trạng và yêu cầu của phần mềm sẽ được lấy từ banguồn chính, đó là (i) người dùng/khách hàng, (ii) các hệ thống đã có, (iii) và các ứng dụngtương tự

Sinh viên cần tiến hành phân tích, so sánh, đánh giá chi tiết ưu nhược điểm của các sảnphẩm/nghiên cứu hiện có Sinh viên có thể lập bảng so sánh nếu cần thiết Kết hợp vớikhảo sát người dùng/khách hàng (nếu có), sinh viên nêu và mô tả sơ lược các tính năngphần mềm quan trọng cần phát triển

Chương 2 Khảo sát và phân tích yêu cầu

Trang 14

1.6 Tổng quan chức năng

1.6.1 Biểu đồ use case tổng quan

Đồ án xây dựng hệ thống quản lí thực đơn và giải pháp order bằng mã QR cho Nhàhàng bao gồm 3 actor chính là Khách hàng, Phục vụ, Quản trị viên

Khách hàng sẽ là người quan trọng nhất trong hệ thống Khi khách hàng sử dụngứng dụng, họ có thể đặt bàn, xem danh sách bàn đã đặt của họ Họ có thể xem danh sáchmenu của nhà hàng và có thể chọn một hoặc nhiều món ăn để có thể order Sau khi order,khách hàng có thể đánh giá và để lại bình luận cho bữa ăn của họ

Tác nhân quan trọng khác của hệ thống là người phục vụ Người phục vụ có thểtruy cập vào hàng đợi các đơn hàng đang mở cũng như các đơn hàng được chỉ định chochính mình sau đó có thể theo dõi và cập nhật chúng Đối với một đơn hàng được chỉ địnhcho anh ấy/cô ấy, người phục vụ có thể thêm một món ăn/đồ uống cập nhật số lượng hoặcxóa món Người phục vụ cũng chỉnh sửa trạng thái đơn hàng tại bất kì thời điểm nào củachu kì xử lí đơn hàng

Vai trò của quản trị viên là quan trọng để quản lí khả năng bảo trì hệ thống sau khitriển khai Đây là một vai trò siêu người dùng có thể kiểm soát hoặc chỉnh sửa các vai tròcủa tất cả các tác nhân khác trong hệ thống Quản trị viên có thể thêm, xóa hoặc chỉnh sửacác mục trong thực đơn Quản trị viên có thể chỉnh sửa người dùng và các vai trò trong hệ

Trang 15

thống Trạng thái đơn hàng và thời gian xử lí đơn hàng có thể được theo dõi hiệu quả vàhiệu suất của người phục vụ Cách bố trí nhà hàng cũng như đưa ra những bản tin tức củacửa hàng cho khách hàng.

1.6.2 Biểu đồ use case phân rã quản lí thực đơn

Quản trị viên có thể quản lí thực đơn của nhà hàng, quản lí các món ăn, loại món ăn Quản

lí có thể thêm sửa xóa món ăn, thêm sửa xóa các loại món ăn Quản trị viên có thể ẩn hiệncác món ăn và loại món ăn để hiện thị trên menu của người dùng

Trang 16

1.6.3 Biểu đồ use case phân rã quản lí bàn ăn

Quản trị viên có thể quản lí bàn ăn có trong nhà hàng, thêm sửa xóa bàn ăn Quản trị viên

có thể xuất mã QR của từng bàn ăn và đặt mã QR lên từng bàn ăn tưởng ứng, điều nàyphục vụ cho chức năng đặt món bằng mã QR

1.6.4 Biểu đồ use case phân rã quản lí tài khoản

Trang 17

Quản trị viên có thể quản lí các tài khoản có trong hệ thống, thêm tài khoản mới cho phục

vụ hoặc quản trị viên khác, thay đổi quyền của tài khoản

1.6.5 Biểu đồ use case phân rã quản lí đặt bàn

1.6.6 Biểu đồ use case phân rã quản lí đơn hàng

Quản trị viên có thể quản lí đơn hàng xem danh sách đơn hàng, xem chi tiết đơn hàng vàthay đổi trạng thái đơn hàng

Trang 18

1.6.7 Quy trình nghiệp vụ

Khách hàng truy cập vào hệ thống tiến hành đặt bàn, nhập các thông tin cần thiết Sau khiđặt bàn thành công hệ thống sẽ tạo một mã QR dựa trên ID của đặt bàn của khách hàng.Khi khách hàng đến nhà hàng, khách hàng sẽ đưa mã QR cho thu ngân để xác định đặt bànhoặc có thể đọc mã ID đặt bàn Trong trường hợp khách hàng chưa tạo đặt bàn thu ngân sẽtạo đặt bàn cho khách hàng Khách hàng đi đến bàn đã đặt theo hướng dẫn của thu ngân vàquét mã QR trên bàn để xác thực khách hàng Sau đó khách hàng có thể tiến hành gọi món

Trang 19

Khách hàng sau khi ngồi vào bàn ăn có thể tiến hành gọi món, khách hàng truy cập vàomàn hình thực đơn và bắt đầu lựa chọn món ăn cho bữa ăn của họ sau đó gọi món Nếunhư chưa liên kết với order của họ thì ứng dụng sẽ yêu cầu người dùng quét mã QR hoặcnhập ID bàn trên bàn để liên kết với order của họ Order sẽ được chuyển đến tất cả ngườiphục vụ, người phục vụ sẽ tiếp nhận order của khách hàng Người phục vụ sẽ thay đổitrạng thái của order khi món ăn đang nấu, khi đã đã nấu xong phục vụ cập nhật trạng thái

và giao cho khách hàng Khách hàng có thể hủy món khi bếp chưa nấu

1.7 Đặc tả chức năng

1.7.1 Đặc tả use case đăng nhập

Mã Use case Error: Reference sourcenot found Tên Use case Đăng nhập

Trang 20

4 Khách Yêu cầu đăng nhập

5. Hệ thống Kiểm tra dữ liệu khách nhập trên form

6. Hệ thống Thông báo tạo thành công

Hậu điều kiện Không

1.7.2 Đặc tả use case xem thực đơn

1. Khách hàng Chọn chức năng xem thực đơn

2 Hệ thống Hiển thị giao diện thực đơn

Luồng sự kiện

thay thế

2a Hệ thống Thông báo lỗi: Hiện thị không có dữ liệu

Hậu điều kiện Không

2. Hệ thống Hiển thị giao diện Đặt bàn

3. Khách hàng Nhập thông tin trên form Đặt bàn

4 Khách hàng Yêu cầu đặt bàn

5. Hệ thống Kiểm tra dữ liệu khách nhập trên form đặt bàn

Trang 21

Hậu điều kiện Không

1.7.4 Đặc tả use case gọi món

11. Phục vụ Thay đổi món ăn đang nấu

12. Hệ thống Thông báo món ăn đang nấu

13 Phục vụ Thay đổi món ăn đã nấu xong

14 Hệ thống Thông báo món ăn đã nấu xong

15. Phục vụ Thay đổi món ăn đã giao

16 Hệ thống Thông báo món ăn đã giao

Trang 22

1.8 Yêu cầu phi chức năng

Ứng dụng được thiết kế cho một số lượng lớn khách hàng tùy ý sử dung nhiều các thiết bịkhác nhau; người không cần đào tạo để sử dụng các chức năng của ứng dụng Do đó cácyêu cầu chức năng như khả năng sử dụng và khả năng thích ứng cũng quan trọng đối vớiứng dụng như các yêu cầu chức năng Trong hệ thống này, tính bảo mật, tính khả dụng, khảnăng thích ứng và khả năng sử dụng được công nhận là các yêu cầu phi chức năng quantrọng nhất và là thảo luận chi tiết bên dưới

1.8.1 Bảo mật

Bảo mật là một khía cạnh quan trọng của ứng dụng di động; với tư các quản lí nhàhàng muốn ứng dụng chỉ hoạt động trong cơ sở, cũng được đề cập trong phần yêucầu R10 Trong trường hợp ứng dụng có sẵn bên ngoài rảnh giới của nhà hàng,khách hàng có thể gọi đồ ăn/ đồ uống mà không có mặt tại quán ăn Do đó, việc xácmình thực tế của khách hàng trước khi sử dụng hệ thống quản lí menu trở nên quantrọng để ngăn chặn mọi hành vi sử dụng sai mục đích

kế và thử nghiệm trong giai đoạn triển khai nắm bắt trong R2 từ kết quả khảo sátngười dùng

Trang 23

1.1 NodeJS và ExpressJS

1.1.1 NodeJS

NodeJS là nền tảng được xây dựng trên V8 Javascript Engine – trình thông dịch thực thi

mã Javascript, giúp xây dựng phần backend của ứng dụng web quản lý dơn hàng một cáchđơn giản và dễ dàng mở rộng Phần core của NodeJS được xây dựng hầu hết bằng C++ nêncho tốc độ xử lý và hiệu năng cao

MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở Đây là một hệ quản trị cơ

sở dữ liệu phổ biến hàng đầu trên thế giới Nó đặc biệt được ưa chuộng trong quá trình xâydựng, phát 26 triển Hệ thống Đây là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sửdụng, có khả năng thay đổi mô hình sử dụng phù hợp với điều kiện công việc khả chuyển

Chương 3 Công nghệ sử dụng

Trang 24

như là một chương trình riêng biệt để sử dụng trong môi trường mạng client-server và nhưmột thư viện có thể được nhúng (hoặc liên kết) vào các Hệ thống riêng biệt MySQL là hệquản trị cơ sở dữ liệu đáng tin cậy và an toàn Việc cài đặt và sử dụng hệ quản trị cơ sở dữliệu này cũng khá nhanh chóng và dễ dàng MySQL là giải pháp phù hợp, được sử dụngkết hợp với PHP để xây dựng Hệ thống tìm kiếm và quản lý nhà trọ.

1.3 Flutter và GetX

Khách hàng sẽ sử dụng điện thoại để có thể xem menu và gọi món, do đó phải lựa chọncông nghệ có thể chạy trên thiết bị di động Đối với phát triển ứng dụng di động iOS vàAndroid là hai nền tảng chính Mỗi nền tảng này cần các loại code khác nhau để phát triểnứng dụng Từ đó các công ty phát triển ứng dụng di động đã dẫn đến việc phát triển ứngdụng đa nền tảng, có nghĩa là viết một và chạy trên nhiều nên tảng khác nhau

Việc phát triển ứng dụng đa nền tảng là phát triển các ứng dụng di động theo cách màchúng có thể chạy trên nhiều nền tảng khác nhau nhưng chỉ code 1 lần Trong kiểu pháttriển này chỉ cần code một lần và theo cách mà ứng dụng Android, iOS hoặc Windows hỗtrợ Phát triển đa nền tảng đã trở nên khá phổ biến vì các tính năng, sự tiện lợi và công cụđược các developer yêu thích

Một số công cụ phổ biến để phát triển đa nền tảng bao gồm là Xamarin của Microsoft,React Native của Facebook và PhoneGap từ Adobe Mỗi công cụ phát triển đa nền tảngnày có các tính năng khác nhau cùng với ưu và nhược điểm khác nhau Các developer luôntìm kiếm một cái gì đó mới và được cải tiến để làm cho các quy trình phát triền ứng dụngtrở nên hiệu quả và tiết kiệm thời gian khi làm ứng dụng đa nền tảng

Sự cải tiến không ngừng này trong công nghệ đã sinh ra Flutter Flutter được Google ramắt vào tháng 2 năm 2018 Kể từ khi Flutter được giới thiệu tới công chúng, nó đã đượccác developer đánh giá cao về sự tương thích và hiệu quả trong việc phát triển ứng dụng đanền tảng Tuy nhiên, một cuộc tranh luận về Flutter vs React Native luôn diễn ra giữa cácdeveloper kể từ thời điểm nó ra mắt Bây giờ, chúng ta hãy tìm hiểu sâu hơn về Flutter, ưu

và nhược điểm của nó, cùng với lý do tại sao nó như một trong những công cụ phát triển diđộng đa nền tảng đáng kinh ngạc hiện nay

1.3.1 Flutter

Flutter là một bộ công cụ phát triển ứng dụng đa nền tảng đáng kinh ngạc, được giới thiệubởi Google Nó sử dụng ngôn ngữ Dart để lập trình Flutter được ra mắt vào năm 2018 vớicác tính năng còn thiếu của các công cụ phát triển đa nền tảng trước đó Các ứng dụngđược xây dựng với Flutter có thể chạy trên Android, iOS, Raspberry Pi và Google Fuchsia,một nền tảng phát triển ứng dụng khác do Google phát triển

Trang 25

Flutter đang được sử dụng bởi các developer, điều đó chứng tỏ rằng có một cái gì đó độcđáo đã tồn tại và thu hút các developer Dưới đây là một trong những điều đó:

- Khả năng hỗ trợ nhiều API Firebase hơn

- Có công cụ riêng Sửa lỗi

- Tài liệu cải tiến Hỗ trợ phát triển windows

- Hiệu suất được nâng cao

- Công cụ cho Android Studio và Visual Studio Code

- Các tính năng bổ sung như video, biểu đồ và quảng cáo

1.3.2 GetX

GetX là một giải pháp siêu nhẹ và mạnh mẽ cho Flutter Nó kết hợp quản lý trạngthái hiệu suất cao, tiêm phụ thuộc thông minh và quản lý tuyến đường một cách nhanhchóng và thiết thực GetX có 3 nguyên tắc cơ bản Điều này có nghĩa là đây là những ưutiên cho tất cả các tài nguyên trong thư viện: KHẢ NĂNG SẢN XUẤT, HIỆU SUẤT VÀ

TỔ CHỨC HIỆU SUẤT: GetX tập trung vào hiệu suất và mức tiêu thụ tài nguyên tốithiểu GetX không sử dụng Streams hoặc ChangeNotifier KHẢ NĂNG SẢN XUẤT: GetX

sử dụng một cú pháp dễ dàng và dễ chịu Bất kể bạn muốn làm gì, luôn có một cách dễdàng hơn với GetX Nó sẽ tiết kiệm hàng giờ phát triển và sẽ cung cấp hiệu suất tối đa màứng dụng của bạn có thể mang lại

Nói chung, nhà phát triển nên quan tâm đến việc xóa bộ điều khiển khỏi bộ nhớ.Với GetX, điều này là không cần thiết vì các tài nguyên sẽ bị xóa khỏi bộ nhớ khi chúngkhông được sử dụng theo mặc định Nếu bạn muốn giữ nó trong bộ nhớ, bạn phải khai báo

rõ ràng "vĩnh viễn: true" trong phần phụ thuộc của mình Bằng cách đó, ngoài việc tiếtkiệm thời gian, bạn sẽ ít có nguy cơ bị phụ thuộc không cần thiết vào bộ nhớ Theo mặcđịnh, tải phụ thuộc cũng lười

TỔ CHỨC: GetX cho phép tách toàn bộ Chế độ xem, logic bản trình bày, logicnghiệp vụ, chèn phụ thuộc và điều hướng Bạn không cần ngữ cảnh để điều hướng giữa cáctuyến đường, vì vậy bạn không phụ thuộc vào cây tiện ích con (trực quan hóa) cho việcnày Bạn không cần ngữ cảnh để truy cập bộ điều khiển / khối của mình thông qua mộtWidget kế thừa, vì vậy bạn hoàn toàn tách rời logic bản trình bày và logic nghiệp vụ khỏilớp trực quan hóa của mình Bạn không cần phải đưa các lớp Bộ điều khiển / Mô hình /Khối vào cây tiện ích con của mình thông qua MultiProviders Đối với điều này, GetX sửdụng tính năng tiêm phụ thuộc của riêng nó, tách hoàn toàn DI khỏi chế độ xem của nó

Với GetX, bạn biết nơi tìm từng tính năng của ứng dụng của mình, có mã sạch theomặc định Ngoài việc giúp bảo trì dễ dàng, điều này làm cho việc chia sẻ các mô-đun trở

Ngày đăng: 08/02/2022, 06:29

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w