Điểnhình như việc cung cấp dịch vụ giao hàng tận nơi, thanh toán qua ứng dụng, quản lý đơn đặthàng trực tuyến, hay tùy chỉnh thực đơn theo nhu cầu của từng khách hàng.Đặc biệt, sự ra đời
GIỚI THIỆU ĐỀ TÀI
Giới thiệu
Trong thời đại ngày nay, việc thưởng thức các món ăn ngon tại nhà đã trở thành một thú vui không thể thiếu đối với nhiều người Với nhu cầu ấy, các nhà hàng và quán ăn ngày càng chú trọng vào việc cung cấp các dịch vụ tiện ích để phục vụ khách hàng tốt hơn Điển hình như việc cung cấp dịch vụ giao hàng tận nơi, thanh toán qua ứng dụng, quản lý đơn đặt hàng trực tuyến, hay tùy chỉnh thực đơn theo nhu cầu của từng khách hàng. Đặc biệt, sự ra đời và phát triển của các ứng dụng đặt món trực tuyến như Shopee Food, Grab Food đã trở thành lựa chọn ưa thích của đông đảo người tiêu dùng tại Việt Nam. Những ứng dụng này giúp họ có thể đặt các món ăn yêu thích một cách nhanh chóng và tiện lợi, và thưởng thức trọn vẹn hương vị món ăn mọi lúc, mọi nơi.
Tuy nhiên, vẫn còn một số nhà hàng hoặc quán ăn vẫn duy trì các hoạt động đặt món thủ công, qua điện thoại, gây ra những sai sót không mong muốn và không đáng có trong quá trình giao dịch Điều này không chỉ tốn thời gian cho nhân viên và khách hàng mà còn ảnh hưởng đến chất lượng dịch vụ Để giải quyết vấn đề này, việc nâng cấp và phát triển hệ thống đặt món trực tuyến là cực kỳ cần thiết Hệ thống này không chỉ giúp tiết kiệm thời gian và giảm sai sót, mà còn nâng cao sự hài lòng của khách hàng thông qua trải nghiệm đặt món đơn giản, nhanh chóng và chính xác hơn.
Chính vì lẽ đó, nhóm đã quyết định thực hiện đề tài "hệ thống đặt món trực tuyến tại Website LAUGO", nhằm cải thiện trải nghiệm của khách hàng, tối ưu hóa quy trình đặt món và tăng cường hiệu quả cho các chuỗi hoạt động kinh doanh online Qua quá trình tìm hiểu và phân tích, nhóm đã xác định được các yêu cầu chức năng cần thiết, mô hình hóa các chức năng và thiết kế giao diện để đảm bảo hệ thống hoạt động một cách hiệu quả nhất Với mục tiêu trở thành một trong những nền tảng đặt món hàng đầu tại Việt Nam, đồ án sẽ tập trung vào việc cung cấp các tính năng hỗ trợ đặt món, quản lý món ăn, hóa đơn, khách hàng và nhân viên, mang lại sự thuận tiện và hài lòng tối đa cho người dùng.
Mục tiêu
Trong quá trình xây dựng dự án phân tích thiết kế hệ thống ứng dụng đặt món tại website LAUGO, nhóm đã tiến hành nghiên cứu kỹ lưỡng về các hệ thống đặt món trực tuyến đang hoạt động như Shopee Food và Grab Food Các phương pháp được nhóm vận dụng như quan sát, nghiên cứu tài liệu và phương pháp khảo sát bằng bảng hỏi được sử dụng để thu thập thông tin và dữ liệu người dùng.
Dựa trên các thông tin và dữ liệu thu thập được, nhóm đã phân tích các ưu điểm và hạn chế của các hệ thống hiện có Từ đó, nhóm xây dựng bảng đặc tả yêu cầu, bao gồm danh người dùng Các yêu cầu chức năng được trực quan hóa thông qua sơ đồ phân cấp chức năng.
Quá trình mô hình hóa các chức năng ở mức phân tích, bao gồm use case diagram, activity diagram, sequence diagram và class diagram, cũng được thực hiện Bên cạnh đó, nhóm tiến hành thiết kế sơ đồ lớp, cơ sở dữ liệu và giao diện của hệ thống.
Dựa trên các kết quả phân tích và thiết kế, nhóm đã đề xuất các giải pháp nhằm nâng cao trải nghiệm người dùng trong quá trình đặt món, quản lý thông tin cá nhân của khách hàng, quản lý món ăn và quản lý khách hàng, nhân viên Những giải pháp này giúp người dùng có thể tiết kiệm đáng kể thời gian, dễ dàng so sánh trải nghiệm và chi phí trước khi đặt món Ngược lại, các nhà hàng cũng được hỗ trợ trong việc lên kế hoạch chuẩn bị phù hợp với nhu cầu khách hàng, đáp ứng được yêu cầu của từng thực khách một cách tối ưu nhất.
Qua đồ án này, nhóm hy vọng rằng mình có thể tạo ra những hiệu quả tích cực cho cả hai phía: khách hàng và hệ thống đặt hàng trực tuyến LAUGO, qua đó thúc đẩy sự phát triển của ngành công nghiệp dịch vụ ẩm thực trực tuyến Nhờ những ưu điểm nổi trội, hệ thống ứng dụng đặt món trực tuyến này hứa hẹn sẽ trở thành lựa chọn ưa thích của đông đảo người tiêu dùng trong tương lai.
Phạm vi
Dự án "phân tích và thiết kế hệ thống ứng dụng đặt món trực tuyến tại website LAUGO" được xây dựng dựa trên nền tảng kiến thức đa dạng Nhóm đã khai thác kiến thức chuyên sâu từ các môn học liên quan, tham khảo các tài liệu, bài giảng, và tích hợp linh hoạt các kiến thức từ nhiều lĩnh vực để đề xuất các giải pháp hiệu quả cho dự án.
XÁC ĐỊNH YÊU CẦU
Khảo sát hệ thống
2.1.1 Phương pháp nghiên cứu thực tiễn
Phương pháp quan sát là một công cụ quan trọng trong việc nghiên cứu và hiểu về quá trình và quy trình quản lý của các nhà hàng có quy mô tương tự với LauGo Bằng cách quan sát trực tiếp hoạt động hàng ngày của quán, nghiên cứu viên có thể thu thập thông tin chi tiết về cách thức hoạt động của quán.
Quy trình đặt hàng và giao nhận: Quan sát cách khách hàng đặt hàng và nhận sản phẩm của họ để cung cấp thông tin về cách quán xử lý đơn hàng, thời gian giao hàng và chất lượng dịch vụ
Cách thức thanh toán: quan sát tỷ lệ khách hàng chuyển đổi từ lượt xem sản phẩm đến việc thanh toán, số lượng giao dịch qua từng phương thức thanh toán, và các thông tin khác liên quan đến hành vi thanh toán của khách hàng.
Quy trình quản lý vệ sinh và an toàn thực phẩm: Quan sát cách LauGo duy trì tiêu chuẩn vệ sinh và an toàn thực phẩm trong quá trình chuẩn bị và giao hàng để đảm bảo sự an toàn và sức khỏe của khách hàng.
Quy trình chăm sóc khách hàng: Quan sát cách LauGo tương tác với khách hàng, xử lý phản hồi,giải quyết các ý kiến đóng góp của khách hàng và xây dựng mối quan hệ có thể cung cấp thông tin về cách họ tạo ra trải nghiệm tích cực cho khách hàng và thu hút khách hàng trở lại.
Phương pháp khảo sát bằng bảng hỏi : Định nghĩa:
Phương pháp khảo sát bằng bảng hỏi là một kỹ thuật thu thập dữ liệu phổ biến trong quá trình phân tích và thiết kế hệ thống Đây là quá trình thu thập thông tin từ người dùng hoặc các bên liên quan thông qua việc gửi các bảng câu hỏi hoặc các mẫu câu hỏi tương tự đến một mẫu người tham gia được chọn lựa.
- Bảng hỏi sẽ bao gồm thông tin cá nhân của người khảo sát (email, họ và tên, trường, khóa-ngành )và các câu hỏi liên quan đến chủ đề “khảo sát thực trạng sinh viên về đặt đồ ăn trực tuyến trên website”
1.Bạn đã từng sử dụng dịch vụ đặt đồ ăn trực tuyến chưa? 1.chưa, 2 đã từng , 3 rất nhiều
2.Bạn thường đặt đồ ăn qua website không? 1 chưa, 2 đã từng, 3 rất nhiều
3.Điều gì thu hút bạn đặt đồ ăn trực tuyến trên website? (nhiều lựa chọn) 1 Hình ảnh bắt mắt, 2 Đa dạng sản phẩm, 3 Nhiều ưu đãi và khuyến mãi, 4 Chính sách đổi trả sản phẩm được đảm bảo
4.Bạn có thường xuyên gặp khó khăn khi sử dụng website để đặt đồ ăn trực tuyến không? 1 chưa, 2 đã từng, 3 rất nhiều
5 Vậy thì những khó khăn mà bạn gặp phải khi đặt đồ ăn trực tuyến là gì? (nhiều lựa chọn)
1 Khó khăn về chất lượng món ăn không đảm bảo : thiếu hụt nguyên liệu, sản phẩm hư hỏng,
2 Khó khăn trong việc lựa chọn món ăn ( thiếu thông tin, mô tả không đầy đủ, đánh giá không đáng tin cậy)
3 Khó khăn trong việc đặt hàng (giao diện phức tạp, phương thức thanh toán rườm rà, lỗi kỹ thuật, thời gian xác nhận đơn hàng chậm trễ)
4 Khó khăn trong việc theo dõi đơn hàng trước và sau khi mua(thiếu thông tin cập nhật, khó khăn trong việc liên hệ với bộ phận hỗ trợ khách hàng, khó khăn trong việc nhận được phản hồi )
5 Hầu như tôi không gặp những khó khăn trong quá trình đặt đồ ăn trực tuyến
6 Bạn có đề xuất gì để cải thiện website đặt đồ ăn trực tuyến?
1 Giao diện (hình ảnh đa dạng, bắt mắt, )
2 Cải thiện tốc độ và ổn định của website
3 Cập nhật một số tính năng mới
4 Hỗ trợ thanh toán (thẻ tín dụng/debit, ví điện tử như PayPal, ZaloPay, Momo, thanh toán khi nhận hàng (COD), chuyển khoản ngân hàng…)
Tổng kết kết quả khảo sát
2.1.2 Phương pháp tổng hợp và phân tích số liệu
Thu thập thông tin qua bảng hỏi form
Thống kê, tổng kết số liệu
Phân tích, đưa ra kết quả và thực hiện
Phân tích hiện trạng
Web đặt món ăn trực tuyến vẫn còn nhiều hạn chế và bất cập nên cần được cải thiện Một số vấn đề thường gặp ngày nay về trang web của LAUGO:
- Thiếu hụt hệ thống đặt món cho khách hàng ở xa: LauGo có thể đang gặp phải vấn đề hàng ở xa Điều này có thể hạn chế khả năng tiếp cận và phục vụ đối tượng khách hàng này, ảnh hưởng đến doanh thu.
- Giao diện phức tạp và khó sử dụng: Nếu giao diện của LauGo không được thiết kế đơn giản và dễ sử dụng, việc đặt món trở nên khó khăn và làm mất điều người dùng Điều này có thể làm giảm trải nghiệm của khách hàng, gây mất mát doanh thu và gây ra sự bất tiện.
- Quy trình đặt hàng phức tạp: Nếu quy trình đặt hàng trên website LauGo quá rườm rà và phức tạp, người dùng có thể gặp khó khăn và từ bỏ việc đặt hàng Điều này làm giảm tỷ lệ chuyển đổi và ảnh hưởng đến doanh thu.
- Hạn chế về lựa chọn món ăn: Nếu LauGo có giới hạn về lựa chọn món ăn, người dùng có thể gặp khó khăn trong việc tìm kiếm các món ăn phong phú hoặc không có sẵn món ăn mà họ mong muốn Điều này có thể làm mất điều người dùng và ảnh hưởng đến doanh thu.
- Giới hạn về khu vực hoạt động: Nếu LauGo chỉ hoạt động trong các khu vực cụ thể, điều này có thể hạn chế sự lựa chọn của người dùng từ các khu vực khác Điều này cũng có thể gây mất mát khách hàng và doanh thu cho doanh nghiệp.
Từ những vấn đề trên, để cải thiện hiện trạng của hệ thống đặt món trực tuyến tại website LauGo, cần tập trung vào việc cải thiện giao diện, quy trình đặt hàng và mở rộng phạm vi hoạt động để tăng trải nghiệm người dùng và thu hút đa dạng đối tượng khách hàng.
Đặc tả yêu cầu
Gồm 3 đối tượng chính có thể sử dụng website đặt hàng LAUGO là Quản lý, Nhân viên và Khách hàng.
- Chức năng của mỗi đối tượng như sau:
Đăng ký: Nếu đây là lần đầu tiên khách hàng mua hàng tại website LAUGO thì khách hàng cần đăng ký tài khoản để trở thành thành viên và có thể hiện hiện việc mua hàng.
Đăng nhập: Khách hàng cần đăng nhập vào tài khoản đã đăng ký trước đó để thực hiện mua hàng nhanh chóng.
Tìm kiếm sản phẩm: Khách hàng có thể lựa chọn sản phẩm theo tên, danh mục,
Đặt hàng: Sau khi lựa chọn các sản phẩm phù hợp với nhu cầu của mình thì người dùng cần tiến hành thêm sản phẩm vào giỏ hàng.
Thanh toán: Sau khi quyết định đặt hàng, người dùng cần lựa chọn phương thức thanh toán Có nhiều hình thức lựa chọn: chuyển khoản, thanh toán khi nhận hàng, ví điện tử,
Quản lý thông tin cá nhân: Khách hàng có thể xem lại, thêm, xóa hoặc chỉnh sửa các thông tin liên quan đến thông tin cá nhân và các các danh mục sản phẩm trong giỏ hàng.
Cập nhật giỏ hàng: Khách hàng có thể cập nhật giỏ hàng của mình thông qua các thao tác chức năng như là thêm sản phẩm yêu thích vào giỏ hàng, xóa sản phẩm khỏi giỏ hàng
Tìm kiếm sự hỗ trợ: Khách hàng có thể tìm kiếm sự hỗ trợ từ nhân viên thông qua việc liên hệ SMS hoặc gọi trực tiếp đến số hotline của website để có thể nhận được các hỗ trợ về việc đặt hàng hoặc xử lý khiếu nại.
Đăng nhập: Nhân viên cần đăng nhập tài khoản của nhân viên vào hệ thống để có thể truy cập vào các chức năng quản lý dành riêng cho nhân viên.
Quản lý tài khoản khách hàng : Nhân viên có thể tra cứu, thêm, xóa, chỉnh sửa danh sách tài khoản khách hàng khi họ mua sắm tại trang web
Quản lý đặt món: Nhân viên có thể quản lý việc đặt món của khách hàng thông qua các hành động như tra cứu, xác nhận hay từ chối đơn đặt hàng.
Quản lý menu: Nhân viên có thể chọn chức năng quản lý menu để xem danh sách các món ăn, chỉnh sửa, thêm, hoặc xóa, hoặc cập nhật thêm món ăn mới vào menu.
Quản lý đơn hàng: Nhân viên có thể xem được danh sách đơn hàng trong ngày/tuần/tháng, xem chi tiết từng đơn hàng, có thể chỉnh sửa đơn hàng (sửa tên món, số lượng, ) và xóa đơn hàng.
Quản lý chương trình khuyến mãi: Nhân viên có thể xem được danh sách các chương trình khuyến mãi, tạo, chỉnh sửa chi tiết của các chương trình.
Hỗ trợ khách hàng: Nhân viên có nhiệm vụ tư vấn cho khách hàng về sản phẩm, dịch vụ, giải đáp thắc mắc, và hỗ trợ xử lý khiếu nại cho khách hàng kịp thời để có thể đáp ứng nhu cầu của họ.
Quản lý nhập hàng: nhân viên cần thường xuyên kiểm tra kho để có thể kịp thời cập nhật lại kho, cập nhật sản phẩm mới, cập nhật số lượng sản phẩm để có thể đáp ứng nhu cầu của khách hàng.
Quản lý doanh thu: Trong hệ thống nhân viên có thể xem được doanh thu bán hàng thông qua website theo từng ngày/tuần/tháng, có thể tạo phiếu thống kê doanh thu, in phiếu thống kê.
Cài đặt hệ thống: Nhân viên có nhiệm vụ cập nhật, thay đổi thông tin về website và cài đặt chức năng mới cho hệ thống.
2.3.2 Yêu cầu phi chức năng
Yêu cầu phi chức năng hệ thống đặt món ăn trực tuyến tại website bao gồm:
Tốc độ tải trang nhanh chóng.
Khả năng xử lý nhiều truy cập đồng thời.
Hệ thống hoạt động ổn định, ít lỗi.
Bảo mật thông tin khách hàng (tên, email, số điện thoại, địa chỉ, ).
Bảo mật thông tin thanh toán.
Ngăn chặn truy cập trái phép vào hệ thống.
Hệ thống có thể mở rộng để đáp ứng nhu cầu tăng trưởng về số lượng khách hàng và đơn hàng.
Dễ dàng thêm mới chức năng và tính năng.
Khả năng phục hồi nhanh chóng khi xảy ra lỗi.
Giao diện đơn giản, dễ sử dụng.
Dễ dàng thao tác trên mọi thiết bị (máy tính, điện thoại, ).
Dễ dàng bảo trì và cập nhật hệ thống.
Có tài liệu hướng dẫn sử dụng đầy đủ.
Website được tối ưu hóa cho SEO.
Dễ dàng tìm kiếm trên các công cụ tìm kiếm.
Đảm bảo an toàn thông tin cho khách hàng và website.
Tuân thủ các quy định về bảo mật thông tin.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phân tích yêu cầu
3.1.1 Mô hình hóa chức năng
• Sơ đồ Usecase tổng quát
Hình 3.0 :Use case tổng quát các chức năng của hệ thống
Xác định các Actor của ứng dụng:
Quản lý thông tin cá nhân Đặt món Cập nhật giỏ hàng Yêu cầu tư vấn
Là những người ghé thăm website của cửa hàng.Tại đây khách hàng có thể tiến hàng đặt món ăn hoặc quản lý thông tin cá nhân, thêm sản phẩm yêu thích vào giỏ hàng bằng cách đăng nhập hoặc đăng kí nếu chưa có tài khoản Trong quá trình truy cập vào trang web nếu có vướng mắt liên quan đến đặt hàng, sản phẩm, thanh toán, khách hàng có thể yêu cầu sự hỗ trợ từ nhân viên tư vấn Nhân viên Đăng nhập Quản lý menu Quản lý đặt món
Quản lý tài khoản khách hàng Quản lý hóa đơn Chăm sóc khách hàng Quản lý giỏ hàng Quản lý nhập hàng Chăm sóc khách hàng
Là người quản lý website bán hàng trực tuyến, họ là người theo dõi sát tình trạng các đơn hàng được đặt qua web, từ khi khách hàng đặt mua cho đến khi đơn hàng được giao thành công Họ cũng là người tiếp nhận và giải đáp trực tiếp các thắc mắc, phản hồi từ phía khách hàng Chịu trách nhiệm khởi động và đóng hệ thống website bán hàng, để đảm bảo rằng cửa hàng trực tuyến luôn hoạt động liên tục và ổn định.
Xác định các Use case của ứng dụng
- Tác nhân: Nhân viên và khách hàng
Nhân viên: Đã có tài khoản trên ứng dụng do đội ngũ phát triển ứng dụng cung cấp và đã đăng nhập vào hệ thống
Khách hàng: Đã đăng kí thành công trên hệ thống.
Nhân viên sẽ sử dụng tài khoản đã được cung cấp để đăng nhập nhập vào ứng dụng.
Khách hàng dùng tài khoản đã đăng ký để đăng nhập vào ứng dụng.
- Điều kiện: Chưa có tài khoản trên ứng dụng
- Mô tả: Khách hàng cần phải đăng kí tài khoản nếu muốn mua hàng trên trang web
3 Quản lý thông tin cá nhân
- Điều kiện: Đã có tài khoản trên ứng dụng website đặt hàng trực tuyến
- Mô tả: Khách hàng có thể chỉnh sửa và cập nhật thông tin cá nhân của mình
- Điều kiện: Khách hàng đã đã đăng ký tài khoản trên ứng dụng
- Mô tả: Khách hàng đã có tài khoản nhưng quên mật khẩu, cần nhập email đã đăng ký để đặt lại mật khẩu mới.
- Tác nhân: Nhân viên và khách hàng
Nhân viên: Đã có tài khoản trên ứng dụng do đội ngũ ứng dụng cung cấp và đã đăng nhập vào hệ thống.
Khách hàng: Đã đăng kí tài khoản thành công trên hệ thống.
Nhân viên sẽ sử dụng tài khoản đã được cung cấp để quản lý menu, cập nhật menu mới.
Khách hàng dùng tài khoản đã đăng ký để truy cập vào menu và tìm kiếm sản phẩm mong muốn.
- đăng nhập vào ứng dụng
- Mô tả: Khách hàng có thể đặt món trên ứng dụng và tra cứu thông
- tin món ăn, nhà hàng.
- Điều kiện: Đã có tài khoản trên ứng dụng sau khi đăng ký thành công trên hệ thống.
- Mô tả: Khách hàng có thể vào xem những món ăn mình đã lưu, có thể thêm món ăn yêu thích vào giỏ hàng và xóa sản phẩm khỏi giỏ hàng.
- Điều kiện: Đã đăng kí tài khoản thành công trên hệ thống.
- Mô tả: Khách hàng có thể đặt hàng một món ăn hoặc nhiều món ăn cùng lúc trên hệ thống.
- Điều kiện: Đã có tài khoản trên ứng dụng sau khi đăng ký thành công trên hệ thống.
- Mô tả: Khách hàng có thể xem các chương trình khuyến mãi trên hệ thống để có thể lựa chọn áp dụng vào đơn đặt hàng để giảm giá sản phẩm.
- Điều kiện: Đã có tài khoản trên ứng dụng do đội ngũ phát triển ứng dụng cung cấp và đã đăng nhập vào hệ thống
- Mô tả: Khi khách hàng đặt hàng thành công nhân viên sẽ tiến hành tạo lập hóa đơn và quản lý hóa đơn của khách hàng.
- Điều kiện: Đã có tài khoản trên ứng dụng do đội ngũ phát triển ứng dụng cung cấp và đã đăng nhập vào hệ thống
- Mô tả: Nhân viên có nhiệm vụ lập phiếu xuất kho và kiểm kê kho định kì để có thể bổ sung sản phẩm kịp thời, đáp ứng nhu cầu của khách hàng.
- Điều kiện: Đã có tài khoản trên ứng dụng do đội ngũ phát triển ứng dụng cung cấp và đã đăng nhập vào hệ thống
- Mô tả: Nhân viên có nhiệm vụ quản lý tài khoản khách hàng để thuận tiện kiểm soát đơn đặt hàng.
- Điều kiện: Đã có tài khoản trên ứng dụng do đội ngũ phát triển ứng dụng cung cấp và đã đăng nhập vào hệ thống
- Mô tả: Khi khách hàng cần hỗ trợ, nhân viên sẽ xem xét nhu cầu sau đó nhân sẽ cung cấp thông tin và hướng dẫn chi tiết cho khách hàng.
- Điều kiện: Đã có tài khoản trên ứng dụng do đội ngũ phát triển ứng dụng cung cấp và đã đăng nhập vào hệ thống
- Mô tả: Nhân viên có nhiệm vụ cập nhật doanh thu thực tế, ghi nhận kết quả thống kê để có thể báo cáo thống kê doanh thu định kì.
Phân rã và Đặc tả Usecase của hệ thống
Hình 3.1: Use case đăng nhập
Description Cho phép người dùng(Khách hàng, nhân viên) đăng nhập vào trang web
Actors(s) Người dùng(nhân viên, khách hàng)
Trigger Khách hàng và nhân viên đăng nhập vào ứng dụng với tư cách là người dùng
Precondition 1 Cài đặt ứng dụng
3 Chuẩn bị thông tin đăng nhập 4.Kết nối Internet ổn định
5 Đọc và hiểu các chính sách và điều khoản
1 Người dùng đăng nhập vào ứng dụng thành công
2 Cập nhật thông tin cá nhân
3 Thiết lập tùy chỉnh cá nhân
Basic Flow 1.Người dùng truy cập vào trang web
2 Người dùng chọn đăng nhập bằng số điện thoại, nhập mật khẩu
3 Chọn đăng nhập bằng cách đăng nhập bằng tài khoản mới hoặc chọn lấy lại mật khẩu
5 Hệ thống xác thực đăng nhập thành công và chuyển người dùng đến trang chủ phù hợp
1 Khách hàng cố gắng thêm sản phẩm vào giỏ hàng nhưng sản phẩm đã hết hàng.
2.Khách hàng cố gắng xác nhận đơn hàng mà chưa đăng nhập vào hệ thống3.Khách hàng thực hiện thanh toán nhưng quá trình thanh toán không thành công (ví dụ: thẻ bị từ chối, không đủ số dư)
1 Hệ thống hiển thị đăng nhập thất bại và yêu cầu đăng nhập lại
2.Hệ thống gặp sự cố kết nối mạng hoặc lỗi hệ thống khi khách hàng đặt hàng.
Hình 3.1.A: Activity Diagram đăng nhập
Hình 3.2: Use case đăng kí
Description Use Case này cho phép khách hàng mới đăng ký một tài khoản trên hệ thống để có thể truy cập và sử dụng các tính năng của ứng dụng hoặc trang web.
Trigger Khách hàng chọn tùy chọn "Đăng ký" hoặc "Tạo tài khoản mới" trên giao diện của ứng dụng hoặc trang web.
Precondition Khách hàng chưa có tài khoản
Khách hàng đã đăng ký tài khoản thành công và họ có thể đăng nhập vào hệ thống bằng thông tin đăng nhập của mình.
Basic Flow 1 Khách hàng truy cập trang đăng ký
2 Chọn đăng ký tài khoản
3 Điền thông tin đăng ký
4 Nhập thông tin đăng ký
6 Xác nhận đăng ký thành công
1 Khách hàng nhập thông tin không hợp lệ và nhấn nút "Đăng ký"
2.Khách hàng không xác thực được email hoặc số điện thoại trong quá trình đăng ký.
- Khách hàng nhập mật khẩu không đáp ứng các yêu cầu bảo mật của hệ thống (ví dụ: độ dài, ký tự đặc biệt, chữ hoa, chữ thường).
- Hệ thống gặp lỗi kết nối hoặc lỗi nội bộ khi khách hàng gửi yêu cầu đăng ký.
Hình 3.2.A: Activity Diagram đăng ký
Quản lý thông tin cá nhân
Hình 3.3: Use case quản lý thông tin cá nhân
Quản lý thông tin cá nhân
Description Quản lý thông tin cá nhân là quá trình bảo vệ và quản lý các thông tin cá nhân của người dùng trong hệ thống, đảm bảo tính bảo mật và tuân thủ các quy định pháp luật về bảo vệ dữ liệu.
Actor(s) Khách hàng, hệ thống
Precondition 1.Khách hàng cần phải đã đăng nhập vào tài khoản của mình trước khi có thể quản lý thông tin cá nhân.
2.Thông tin cá nhân của khách hàng đã được lưu trữ trong hệ thống, bao gồm thông tin như tên, địa chỉ, số điện thoại, email,
3.Khách hàng có quyền truy cập và sửa đổi thông tin cá nhân của mình. Quyền này phải được hệ thống xác nhận và cho phép trước khi khách hàng có thể tiếp tục.
1.Thông tin cá nhân của khách hàng đã được cập nhật thành công trong hệ thống.
2.Thông tin cá nhân của khách hàng được bảo vệ và chỉ có quyền truy cập được xác định
3.Hệ thống thông báo cho khách hàng biết rằng quá trình cập nhật thông tin cá nhân đã hoàn tất.
Basic Flow 1.Đăng nhập vào hệ thống a.Người dùng truy cập vào hệ thống bằng tài khoản và mật khẩu của mình.
2.Truy cập vào mục Quản lý thông tin cá nhân a Sau khi đăng nhập thành công, người dùng điều hướng đến mục
"Quản lý thông tin cá nhân" hoặc tương tự trong giao diện người dùng.
3 Xem thông tin cá nhân hiện tại a.Hệ thống hiển thị thông tin cá nhân hiện tại của người dùng như tên, địa chỉ, số điện thoại, email,
4.Chỉnh sửa thông tin cá nhân a.Người dùng chọn chức năng "Chỉnh sửa" hoặc tương tự để bắt đầu quá trình cập nhật thông tin cá nhân. b.Hệ thống cung cấp các trường dữ liệu cho phép người dùng nhập thông tin mới hoặc sửa đổi thông tin cũ
5.Lưu thay đổi thông tin a.Người dùng hoàn tất việc chỉnh sửa thông tin cá nhân và chọn chức năng "Lưu" để áp dụng các thay đổi.
1.Người dùng chọn hủy bỏ quá trình chỉnh sửa thông tin cá nhân 2.Người dùng muốn thay đổi mật khẩu khi đang chỉnh sửa thông tin cá nhân.
1 Người dùng nhập liệu không đúng định dạng hoặc thiếu thông tin bắt buộc khi chỉnh sửa thông tin cá nhân.
2 Xảy ra lỗi không mong muốn từ phía hệ thống hoặc lỗi kỹ thuật trong quá trình chỉnh sửa thông tin cá nhân.
Hình 3.3.A: Activity Diagram Quản lý thông tin cá nhân
Hình 3.4: Use case quên mật khẩu
Description Người dùng quên mật khẩu và cần thực hiện các bước để khôi phục mật khẩu truy cập vào website LauGo
Actor(s) Người dùng(Khách hàng, nhân viên), hệ thống
Trigger Người dùng chọn chức năng "Quên mật khẩu" trên giao diện đăng nhập.
Precondition 1 Người dùng cần phải đã đăng ký tài khoản trước đó trong hệ thống.
2 Hệ thống phải lưu trữ thông tin liên quan đến email hoặc số điện thoại mà người dùng đã sử dụng để đăng ký.
1 Mật khẩu mới được thiết lập và thông báo cho người dùng.
2 Người dùng có thể đăng nhập bằng mật khẩu mới để tiếp tục sử dụng hệ thống.
Basic Flow 1 Người dùng truy cập vào trang đăng nhập của hệ thống.
2 Người dùng chọn chức năng "Quên mật khẩu".
3 Hệ thống hiển thị một form yêu cầu người dùng nhập địa chỉ email đã đăng ký.
4 Người dùng nhập địa chỉ email và gửi yêu cầu khôi phục mật khẩu.
5 Hệ thống gửi một email chứa liên kết khôi phục mật khẩu đến địa chỉ email đã cung cấp.
6 Người dùng truy cập vào email và nhấp vào liên kết để đến trang thiết lập mật khẩu mới.
7 Người dùng nhập mật khẩu mới và xác nhận.
8 Hệ thống xác nhận và lưu trữ mật khẩu mới.
9 Hệ thống hiển thị thông báo cho người dùng biết rằng mật khẩu đã được cập nhật thành công.
1 Người dùng có thể chọn sử dụng số điện thoại đã đăng ký thay vì địa chỉ email để nhận mã xác nhận khôi phục mật khẩu.
1.Không tìm thấy địa chỉ email
2 Lỗi gửi email 3.Đường dẫn khôi phục mật khẩu hết hạn
Hình 3.4.A: Activity Diagram Quên mật khẩu
Description Use Case "Menu" liên quan đến việc điều hướng và tương tác với các lựa chọn menu của website LauGo
Actor(s) Khách hàng, nhân viên
Trigger Kích hoạt để truy cập vào menu thường xảy ra khi người dùng bắt đầu điều hướng hoặc muốn thực hiện các hành động cụ thể trong hệ thống.
Precondition 1 Người dùng phải đã đăng nhập vào hệ thống.
2 Các tùy chọn menu phải có thể truy cập và hiển thị đúng dựa trên vai trò hoặc quyền hạn của người dùng.
1 Người dùng thành công trong việc điều hướng qua các tùy chọn menu.
2 Bất kỳ hành động hoặc lựa chọn nào được thực hiện trong menu đều được thực thi hoặc lưu lại một cách thích hợp.
1 Truy cập vào web site
2 Xem các tùy chọn Menu
3 Chọn các mục trong Menu
4 Đưa ra nhu cầu món ăn
1 Khảo sát nhu cầu món ăn
2 Lập báo cáo nhu cầu khách hàng
4 Chọn món ăn cần xóa
6 Điền thông tin món ăn mới
1.Khách hàng khám phá các cài đặt nâng cao hoặc các tính năng cá nhân hóa trong menu.
2.Nhân viên truy cập vào các công cụ quản trị hoặc các chức năng đặc biệt trong menu.
Flow 1.Người dùng (khách hàng hoặc nhân viên) cố gắng truy cập vào các tùy chọn menu vượt quá quyền hạn của mình.
2.Một số tùy chọn menu có thể tạm thời không có sẵn do bảo trì hệ thống hoặc sự cố kỹ thuật.
3.Xảy ra lỗi kỹ thuật trong khi người dùng điều hướng qua các tùy chọn menu.
Hình 3.5.A: Activity Diagram Menu Đặt món
Hình 3.6: Use case Đặt món
Name Đặt Món Trực Tuyến
Description Use case này mô tả quy trình đặt món ăn trực tuyến thông qua hệ thống website LauGo.
Trigger 1 Khách hàng truy cập website LauGo và chọn nhà hàng.
2 Khách hàng xem thực đơn của nhà hàng và chọn món ăn.
3 Khách hàng thêm món ăn vào giỏ hàng.
4 Khách hàng xác nhận đơn hàng và thanh toán.
1 Khách hàng có truy cập internet.
2 Khách hàng có tài khoản LauGo (tùy chọn).
3 Hệ thống website LauGo đang hoạt động bình thường.
4 Nhà hàng đang mở cửa và có món ăn mà khách hàng muốn đặt.
1 Đơn hàng của khách hàng được đặt thành công.
2 Khách hàng nhận được thông báo xác nhận đơn hàng.
3 Nhà hàng nhận được thông báo về đơn hàng mới.
Basic Flow 1 Khách hàng truy cập website LauGo và chọn nhà hàng.
2 Hệ thống website LauGo hiển thị thực đơn của nhà hàng.
3 Khách hàng xem thực đơn và chọn món ăn.
4 Khách hàng thêm món ăn vào giỏ hàng.
5 Khách hàng xem giỏ hàng và có thể thay đổi số lượng món ăn hoặc xóa món ăn khỏi giỏ hàng.
6 Khách hàng xác nhận đơn hàng và chọn phương thức thanh toán.
7 Hệ thống website LauGo xử lý thanh toán của khách hàng.
8 Hệ thống website LauGo gửi thông báo xác nhận đơn hàng cho khách hàng.
9 Hệ thống website LauGo gửi thông báo về đơn hàng mới cho nhà hàng.
10 Nhà hàng chuẩn bị món ăn theo đơn hàng của khách hàng.
11 Khi món ăn đã sẵn sàng, nhà hàng sẽ thông báo cho khách hàng.
12 Khách hàng đến nhà hàng để nhận món ăn.
1 Khách hàng không có tài khoản LauGo Trong trường hợp này, khách hàng có thể đặt món ăn mà không cần đăng ký tài khoản.
2 Khách hàng muốn đặt món ăn giao hàng Trong trường hợp này, khách hàng cần chọn địa chỉ giao hàng và phương thức giao hàng.
3 Khách hàng muốn thanh toán bằng tiền mặt Trong trường hợp này, khách hàng có thể thanh toán khi nhận món ăn.
1 Hệ thống website LauGo gặp sự cố Trong trường hợp này, khách hàng sẽ được thông báo và yêu cầu thử lại sau.
2 Nhà hàng hết món ăn mà khách hàng muốn đặt Trong trường hợp này, khách hàng sẽ được thông báo và có thể chọn món ăn khác hoặc hủy đơn hàng.
3 Khách hàng không đến nhà hàng để nhận món ăn trong thời gian quy định Trong trường hợp này, nhà hàng có thể hủy đơn hàng và khách hàng có thể bị tính phí.
Hình 3.6.A: Activity Diagram Đặt món
Hình 3.7: Use case Giỏ hàng
Description Use Case này cho phép khách hàng tổ chức và quản lý các sản phẩm mà họ đang quan tâm mua
Trigger Khách hàng nhấn vào nút "Thêm vào giỏ hàng" khi xem chi tiết sản phẩm trên trang sản phẩm.
Thiết kế hệ thống
3.2.1.1 Sơ đồ lớp mức phân tích
Hình 3.2.1.1: Sơ đồ lớp mức phân tích
3.2.1.2 Sơ đồ lớp mức thiết kế
Hình 3.2.1.2: Sơ đồ lớp mức thiết kế
3.2.2.2 Cơ sở dữ liệu mức quan niệm
Hình 3.2.2.2: Sơ đồ cơ sở dữ liệu mức quan niệm
3.2.2.3 Cơ sở dữ liệu mức vật lý
Hình 3.2.2.3: Sơ đồ cơ sở dữ liệu mức vật lý
3.2.2.4 Mô tả cơ sở dữ liệu
CREATE TABLE SANPHAM ( MASANPHAM INT PRIMARY KEY,
MAKH INT NOT NULL, TENSANPHAM NVARCHAR(50) NOT NULL,
FOREIGN KEY (MAKH) REFERENCES KHACHHANG(MAKH)
CREATE TABLE NGUYENLIEU ( MANL INT PRIMARY KEY,
MANCC INT NOT NULL, MANV INT NOT NULL, TENNL NVARCHAR(50) NOT NULL,
SOLUONG INT NOT NULL, GIATIEN MONEY NOT NULL
FOREIGN KEY (MANV) REFERENCES NHANVIEN(MANV),
FOREIGN KEY (MANCC) REFERENCES NHACUNGCAP(MANCC) )
- CREATE TABLE TAIKHOAN ( MATAIKHOAN INT PRIMARY KEY,
MAQUANLY INT NOT NULL, HOTEN NVARCHAR NOT NULL, TENDANGNHAP NVARCHAR NOT NULL, SDT NCHAR(11) NOT NULL,
MATKHAU NVARCHAR NOT NULL FOREIGN KEY (MAKH) REFERENCES KHACHHANG(MAKH), FOREIGN KEY (MANV) REFERENCES NHANVIEN(MANV),)
CREATE TABLE CHUONGTRINHKM ( MAKM INT PRIMARY KEY,
MANV INT NOT NULL, MASANPHAMKM INT NOT NULL,
SOLUONGKM INT NOT NULL, MOTAKM NVARCHAR NOT NULL, GIATRIKM NVARCHAR NOT NULL, NGAYBATDAUKM DATE NOT NULL, NGAYKETTHUCKM DATE NOT NULL FOREIGN KEY (MANV) REFERENCES NHANVIEN(MANV) )
MASANPHAM INT NOT NULL, MAKH INT NOT NULL,
FOREIGN KEY (MAKH) REFERENCES KHACHHANG(MAKH), FOREIGN KEY (MANV) REFERENCES NHANVIEN(MANV),
FOREIGN KEY (MASANPHAM) REFERENCES SANPHAM(MASANPHAM)
TRANGTHAI NVARCHAR(255) NOT NULL FOREIGN KEY (MADONHANG) REFERENCES DONHANG(MADONHANG) )
MAKH INT NOT NULL, MASANPHAM INT NOT NULL, TENSANPHAM NVARCHAR(50) NOT NULL,
FOREIGN KEY (MAKH) REFERENCES KHACHHANG(MAKH),
FOREIGN KEY (MASANPHAM) REFERENCES SANPHAM(MASANPHAM)
3.2.2.5 Thiết kế và mô tả các ràng buộc CSDL
1) Ràng buộc toàn vẹn liên bộ - duy nhất, không trùng lặp
- Mô tả: Mỗi khách hàng có một mã khách hàng và một tài khoản riêng biệt
+ ∀Kh1, Kh2 ∈ KhachHang, Kh1≠ Kh2 → Kh1.MaKH ≠ Kh2 MaKH
+ ∀Kh1, Kh2 ∈ KhachHang Kh1≠ Kh2 →Kh1.TaiKhoan ≠ Kh2.TaiKhoan
Quan hệ Thêm Xóa Sửa
- Mô tả: Mỗi nhân viên có một mã nhân viên và một tài khoản riêng biệt
+ ∀ Nv1, Nv2 ∈ Nhanvien, Nv1 ≠ Nv2 → Nv1.MaNv ≠ Nv2 MaNv
+ ∀ Nv1, Nv2 ∈ Nhanvien, Nv1 ≠ Nv2 → Nv1.TaiKhoan ≠ Nv2.TaiKhoan
Quan hệ Thêm Xóa Sửa
- Mô tả: Mỗi tài khoản có mã tài khoản và tên đăng nhập khác nhau
+ ∀ Tk1, Tk2 ∈ TaiKhoan, Tk1≠ Tk2→ Tk1.MaTK ≠ Tk2 MaTK
+ ∀ Tk1, Tk2 ∈ TaiKhoan, Tk1≠ Tk2→ Tk1.TenTK ≠ Tk2 TenTK
Quan hệ Thêm Xóa Sửa
- Mô tả: Mỗi sản phẩm có mã sản phẩm và tên sản phẩm khác nhau
+ ∀Sp1, Sp2 ∈ SanPham, Sp1 ≠ Sp2 → Sp1.MaSP ≠ Sp2 MaSP
+ ∀Sp1, Sp2 ∈SanPham, Sp1 ≠ Sp2 → Sp1.TenSP ≠ Sp2.TenSP
Quan hệ Thêm Xóa Sửa
- Mô tả: Mỗi giỏ hàng có một mã riêng biệt
+ ∀Gh1, Gh2 ∈ GioHang, Gh1 ≠ Gh2 → Gh1.MaGH ≠ Gh2 MaGH
Quan hệ Thêm Xóa Sửa
- Mô tả: Mỗi đơn hàng sẽ có một mã đơn hàng không trùng nhau
+ ∀ Dh1, Dh2 ∈ DonHang, Dh1≠ Dh2 → Dh1.MaDH ≠ Dh2 MaDH
Quan hệ Thêm Xóa Sửa
- Mô tả: Mỗi hóa đơn sẽ có một mã hóa đơn không trùng lặp
+ ∀ Hd1, Hd2 ∈ HoaDon, Hd1≠ Hd2 → Hd1.MaHD ≠ Hd2 MaHD
Quan hệ Thêm Xóa Sửa
- Mô tả: Mỗi chương trình khuyến mãi sẽ có mã chương trình khuyến mãi và tên chương trình khuyến mãi không giống nhau
+ ∀Ctkm1, Ctkm2 ∈ ChuongTrinhKhuyenMai, Ctkm1≠ Ctkm2
+ ∀Ctkm1, Ctkm2 ∈ ChuongTrinhKhuyenMai, Ctkm1≠ Ctkm2
Quan hệ Thêm Xóa Sửa
- Mô tả: Mỗi nguyên liệu sẽ có một mã nguyên liệu và tên nguyên liệu riêng biệt
+ ∀ Nl1, Nl2 ∈ NguyenLieu, Nl1≠ Nl2→ Nl1.MaNL ≠ Nl2 MaNL
+ ∀ Nl1, Nl2 ∈ NguyenLieu, Nl1≠ Nl2→ Nl1.TenNL ≠ Nl2 TenNL
Quan hệ Thêm Xóa Sửa
- Mô tả: Mỗi nhà cung cấp sẽ có một mã nhà cung cấp không trùng nhau
+ ∀ Ncc1, Ncc2 ∈ NhaCungCap, Ncc1≠ Ncc2 → Ncc1.MaNCC ≠ Ncc2 MaNCC
Quan hệ Thêm Xóa Sửa
2) Ràng buộc toàn vẹn khóa ngoại - không phụ thuộc
- Mô tả: Mỗi hóa đơn chỉ xác định duy nhất dành cho một đơn hàng
- Nội dung: ∀Hd ∈ HoaDon, ∃Dh ∈ DonHang / Hd.HoaDon = Dh.MaDonHang
Quan hệ Thêm Xóa Sửa
- Mô tả: Mỗi một đơn hàng chỉ thuộc về một khách hàng
+ ∀ Dh ∈ DonHang, ∃Kh ∈ KhachHang / Dh.DonHang = Kh.MaKhachHang
Quan hệ Thêm Xóa Sửa
- Mô tả: Mỗi một giỏ hàng chỉ thuộc về một khách hàng duy nhất
+ ∀Gh ∈ GioHang, ∃Kh ∈ KhachHang / Gh.GioHang = Kh.MaKhachHang
Quan hệ Thêm Xóa Sửa
- Mô tả: Mỗi đơn hàng chỉ có thể áp dụng một chương trình khuyến mãi
+ ∀ Dh ∈ DonHang, ∃ Ctkm ∈ ChuongTrinhKhuyenMai/ Dh.DonHang=Ctkm.MaKhuyenMai
Quan hệ Thêm Xóa Sửa
3) Ràng buộc toàn vẹn miền giá trị
- Mô tả: Mỗi một đơn hàng bắt buộc phải có ít nhất một sản phẩm
Quan hệ Thêm Xóa Sửa
- Mô tả: Đánh giá số sao cho sản phẩm phải bắt buộc từ 0 đến 5
Quan hệ Thêm Xóa Sửa
- Mô tả: Thời gian hẹn ngày nhận nguyên liệu phải dương
Quan hệ Thêm Xóa Sửa
Hình 3.16: Giao diện trang web LAUGO
Hình 3.17: Thông tin tài khoản khách hàng
Hình 3.19: Thông tin đơn hàng
Hình 3.20: Đăng ký tài khoản khách hàng
Hình 3 21: Đăng nhập tài khoản khách hàng
Hình 3.22: Giỏ hàng của khách hàng
Hình 3.24: Thông tin đơn hàng