Đồ án Tổng hợp CO3103: Hệ thống Đặt đồ ăn Trực tuyến - Đại học Bách Khoa

Đồ án tổng hợp CO3103 hướng công nghệ phần mềm: Tài liệu, hướng dẫn, và kinh nghiệm làm đồ án chi tiết. Tìm hiểu cách hoàn thành đồ án CO3103 hiệu quả.

Người đăng

Ẩn danh

Thể loại

Đồ án tổng hợp

2022

48
5
0

Phí lưu trữ

30 Point

Mục lục chi tiết

1. Giới thiệu về đề tài

2. Yêu cầu chức năng (Functional Requirements)

3. Yêu cầu phi chức năng (Non-Functional Requirements)

4. Use-case Diagram:

4.1. Whole System:

4.2. Login:

4.3. Update Infomation:

4.4. Order food:

4.1. Manage Order:

4.2. Cancel Order:

4.6. Confirm Order:

4.1. Confirm Payment:

4.1. Manage Menu:

4.2. Create food:

4.3. Delete food:

4.4. Update food:

4.2. Lịch sử hình thành:

4.3. Ưu điểm của Figma:

4.2. Tại sao phải sử dụng ReactJs?

4.3. Ưu điểm của ReactJS:

4.2. Giao diện chính:

4.4. Thông tin cá nhân:

4.9. Giao tiếp qua hệ thống:

4.1. Thêm món ăn vào menu:

4.3. Chỉnh sửa thông tin món ăn:

7. Những đổi mới trong giao diện Web đã hiện thực

7.1. Giao diện chính

7.2. Giao diện quản lý thực đơn và đơn hàng

8. Tổng kết và tự đánh giá

9. Source Code:

Tóm tắt

I. Tổng Quan Về Đồ Án Hệ Thống Đặt Đồ Ăn Trực Tuyến Tiện Lợi

Trong bối cảnh xã hội phát triển nhanh chóng và nhịp sống ngày càng tất bật, đặc biệt sau đại dịch COVID-19, nhu cầu sử dụng dịch vụ đặt đồ ăn trực tuyến tăng trưởng mạnh mẽ. Thói quen ăn uống của mọi người cũng thay đổi, ưu tiên sự tiện lợi và giao hàng tận nơi. Năm vừa qua, Việt Nam ghi nhận sự tăng trưởng vượt bậc trong lĩnh vực này. Dự báo ngành giao thức ăn trực tuyến sẽ đạt giá trị hơn 38 triệu USD và duy trì mức tăng trưởng trung bình 11% trong 5 năm tới. Theo thống kê, số lượng người dùng dịch vụ đặt đồ ăn trực tuyến năm 2018 là khoảng 5.3 triệu người, chủ yếu sử dụng dịch vụ Restaurant – to – Consumer Delivery (chiếm 92%). Dự kiến đến năm 2023, con số này sẽ tăng gấp đôi, đạt khoảng 13 triệu người. Do đó, việc triển khai một hệ thống điểm bán hàng trực tuyến là cần thiết để đáp ứng nhu cầu ngày càng tăng của khách hàng và tăng lợi nhuận cho doanh nghiệp. Dự án này liên quan đến nhiều bên, bao gồm: Khách hàng (sử dụng hệ thống để đặt món và thanh toán), Cửa hàng (xác nhận đơn hàng và giao tiếp với khách hàng), Người điều hành (thiết lập, duy trì và bảo trì hệ thống), và Hệ thống duyệt tự động (duyệt các thao tác của cửa hàng). Hệ thống NOBORE được xây dựng với mục tiêu mang lại trải nghiệm đặt món ăn trực tuyến thuận tiện và hiệu quả cho cả khách hàng và nhà hàng, quán ăn.

1.1. Nhu Cầu Thị Trường Dịch Vụ Đặt Đồ Ăn Online Hiện Nay

Nhu cầu về dịch vụ đặt đồ ăn trực tuyến đang tăng lên do nhiều yếu tố như nhịp sống bận rộn, sự phát triển của công nghệ và sự thay đổi trong thói quen tiêu dùng. Theo [nguồn thống kê] (không có trong tài liệu, cần tìm nguồn), số lượng người sử dụng điện thoại thông minh để đặt đồ ăn ngày càng tăng, đặc biệt là ở các thành phố lớn. Điều này tạo ra cơ hội lớn cho các doanh nghiệp trong ngành thực phẩm để mở rộng kênh bán hàng và tiếp cận khách hàng một cách hiệu quả hơn. Các ứng dụng đặt đồ ăn không chỉ mang lại sự tiện lợi cho người dùng mà còn giúp các nhà hàng tối ưu hóa quy trình hoạt động và giảm chi phí. Việc tích hợp các tính năng như thanh toán trực tuyến, theo dõi đơn hàng và đánh giá dịch vụ cũng góp phần nâng cao trải nghiệm của khách hàng và tăng tính cạnh tranh cho các doanh nghiệp. Thị trường giao đồ ăn cũng chứng kiến sự tham gia của nhiều đối thủ cạnh tranh, từ các công ty khởi nghiệp đến các tập đoàn lớn, tạo ra một môi trường năng động và nhiều tiềm năng phát triển. Việc nắm bắt xu hướng thị trường và đáp ứng nhu cầu của khách hàng là yếu tố then chốt để thành công trong lĩnh vực này.

1.2. Mục Tiêu Chính Của Đồ Án Xây Dựng Hệ Thống Đặt Món

Mục tiêu chính của đồ án là xây dựng một hệ thống đặt đồ ăn trực tuyến hoàn chỉnh, đáp ứng đầy đủ các yêu cầu chức năng và phi chức năng. Hệ thống phải cho phép khách hàng dễ dàng tìm kiếm, lựa chọn và đặt món ăn từ nhiều nhà hàng khác nhau. Đồng thời, hệ thống cũng cần cung cấp các công cụ quản lý hiệu quả cho các nhà hàng để quản lý thực đơn, đơn hàng và thông tin khách hàng. Ngoài ra, đồ án cũng hướng đến việc xây dựng một giao diện người dùng thân thiện, dễ sử dụng và mang lại trải nghiệm tốt cho người dùng. Hệ thống cũng cần đảm bảo tính bảo mật và an toàn cho thông tin cá nhân và thông tin thanh toán của khách hàng. Mục tiêu xa hơn là có thể mở rộng hệ thống để tích hợp thêm các tính năng mới như gợi ý món ăn, chương trình khuyến mãi và tích điểm khách hàng thân thiết. Sự thành công của đồ án sẽ góp phần nâng cao năng lực cạnh tranh của các doanh nghiệp trong ngành thực phẩm và đáp ứng nhu cầu ngày càng cao của người tiêu dùng.

II. Xác Định Yêu Cầu Chức Năng Của Hệ Thống Đặt Đồ Ăn

Hệ thống đặt đồ ăn trực tuyến cần đáp ứng các yêu cầu chức năng cơ bản sau: Người dùng có thể đăng ký tài khoản mới hoặc đăng nhập bằng tài khoản Facebook, Google, hoặc số điện thoại (SMS). Khách hàng có thể xem và chỉnh sửa thông tin cá nhân. Khách hàng dễ dàng tìm kiếm, đặt món ăn từ ứng dụng và theo dõi, quản lý đơn hàng. Khách hàng có thể chọn thanh toán bằng ví điện tử, thẻ ngân hàng hoặc thanh toán khi nhận món ăn. Cửa hàng có thể tạo, chỉnh sửa, xóa món ăn từ thực đơn. Cửa hàng có thể kiểm tra, quản lý đơn hàng của khách hàng. Hệ thống có trang phản hồi để khách hàng đánh giá chất lượng phục vụ. Hệ thống ghi nhận thông tin của khách hàng, nội dung và thời gian của đơn hàng. Việc xác định rõ các yêu cầu chức năng này là cơ sở để thiết kế và phát triển hệ thống một cách hiệu quả, đảm bảo đáp ứng được nhu cầu của người dùng và các bên liên quan.

2.1. Chức Năng Dành Cho Khách Hàng Đặt Món Thanh Toán Quản Lý

Các chức năng dành cho khách hàng là trọng tâm của hệ thống. Khách hàng cần có khả năng dễ dàng tìm kiếm các nhà hàng và món ăn theo nhiều tiêu chí khác nhau, ví dụ như địa điểm, loại món ăn, giá cả, hoặc đánh giá của người dùng khác. Quá trình đặt món phải được thực hiện một cách nhanh chóng và trực quan, cho phép khách hàng tùy chỉnh các món ăn theo sở thích cá nhân. Các tùy chọn thanh toán đa dạng, bao gồm thanh toán trực tuyến qua ví điện tử hoặc thẻ ngân hàng, và thanh toán khi nhận hàng, cần được cung cấp để đáp ứng nhu cầu của nhiều đối tượng khách hàng. Chức năng quản lý đơn hàng cho phép khách hàng theo dõi trạng thái đơn hàng, xem lịch sử đơn hàng và liên hệ với nhà hàng hoặc bộ phận hỗ trợ khách hàng nếu cần. Ngoài ra, hệ thống cũng cần cung cấp các tính năng hỗ trợ khách hàng như đánh giá nhà hàng và món ăn, lưu lại địa chỉ giao hàng và thông tin thanh toán để tiện cho các lần đặt hàng sau.

2.2. Chức Năng Dành Cho Cửa Hàng Quản Lý Thực Đơn Đơn Hàng Phản Hồi

Các chức năng dành cho cửa hàng đóng vai trò quan trọng trong việc quản lý và vận hành hệ thống. Cửa hàng cần có khả năng dễ dàng quản lý thực đơn, bao gồm thêm, sửa, xóa các món ăn và cập nhật thông tin về giá cả, mô tả và hình ảnh. Chức năng quản lý đơn hàng cho phép cửa hàng theo dõi các đơn hàng mới, xác nhận đơn hàng, chuẩn bị món ăn và theo dõi quá trình giao hàng. Hệ thống cũng cần cung cấp các công cụ để cửa hàng giao tiếp với khách hàng, ví dụ như trả lời các câu hỏi, giải quyết các khiếu nại và thông báo về tình trạng đơn hàng. Ngoài ra, cửa hàng cũng cần có khả năng xem và phản hồi các phản hồi của khách hàng để cải thiện chất lượng dịch vụ và sản phẩm. Các báo cáo thống kê về doanh thu, số lượng đơn hàng và các chỉ số khác cũng cần được cung cấp để giúp cửa hàng đánh giá hiệu quả hoạt động và đưa ra các quyết định kinh doanh.

III. Phương Pháp Thiết Kế Use Case Diagram Cho Hệ Thống Đặt Món

Use Case Diagram là một công cụ hữu ích để mô tả các tương tác giữa người dùng (actor) và hệ thống. Trong hệ thống đặt đồ ăn trực tuyến, các actor chính bao gồm: Người dùng (Users), Khách hàng (Client), Cửa hàng (Shop) và Hệ thống duyệt tự động (Automatic browsing system). Mỗi actor sẽ có các use case riêng, ví dụ: Khách hàng có thể Đăng nhập, Đặt món ăn, Thanh toán, Hủy đơn hàng, Xem lịch sử đơn hàng, Gửi phản hồi. Cửa hàng có thể Quản lý thực đơn, Xác nhận đơn hàng, Xác nhận thanh toán, Xem phản hồi. Hệ thống duyệt tự động có thể Duyệt yêu cầu. Use Case Diagram giúp xác định rõ các chức năng của hệ thống và mối quan hệ giữa các actor, từ đó làm cơ sở cho việc thiết kế và phát triển hệ thống.

3.1. Phân Tích Các Actor Trong Hệ Thống Đặt Đồ Ăn Trực Tuyến

Việc phân tích kỹ lưỡng các actor trong hệ thống là bước quan trọng để hiểu rõ nhu cầu và mong muốn của từng đối tượng sử dụng. Người dùng (Users) là nhóm đối tượng chung, bao gồm cả khách hàng và cửa hàng. Khách hàng (Client) là những người trực tiếp sử dụng hệ thống để đặt đồ ăn. Họ có nhu cầu tìm kiếm các món ăn ngon, đặt hàng nhanh chóng và thanh toán tiện lợi. Cửa hàng (Shop) là những nhà hàng, quán ăn cung cấp dịch vụ đặt đồ ăn trực tuyến. Họ có nhu cầu quản lý thực đơn, đơn hàng và tương tác với khách hàng. Hệ thống duyệt tự động (Automatic browsing system) là một phần không thể thiếu của hệ thống, đảm bảo tính chính xác và an toàn cho các giao dịch. Hiểu rõ vai trò và trách nhiệm của từng actor giúp xác định các use case phù hợp và thiết kế hệ thống một cách hiệu quả.

3.2. Mô Tả Chi Tiết Các Use Case Quan Trọng Của Hệ Thống

Các use case quan trọng của hệ thống bao gồm: Đăng nhập (Login), Cập nhật thông tin (Update Infomation), Đặt món ăn (Order food), Quản lý đơn hàng (Manage Order), Hủy đơn hàng (Cancel Order), Xác nhận đơn hàng (Confirm Order), Xác nhận thanh toán (Confirm Payment), Xem phản hồi (View Feedback), Quản lý thực đơn (Manage Menu), Tạo món ăn (Create food), Xóa món ăn (Delete food), Sửa món ăn (Update food), Duyệt yêu cầu (Browse Request), Giao tiếp (Communicate) và Phản hồi (Feedback). Mỗi use case cần được mô tả chi tiết về mục đích, actor tham gia, điều kiện tiên quyết, điều kiện hậu cần, luồng hoạt động chính và các luồng hoạt động thay thế. Ví dụ, use case Đặt món ăn mô tả quá trình khách hàng tìm kiếm, lựa chọn và thêm món ăn vào giỏ hàng, sau đó xác nhận đơn hàng và chọn phương thức thanh toán. Việc mô tả chi tiết các use case giúp đảm bảo rằng hệ thống đáp ứng đầy đủ các yêu cầu của người dùng và hoạt động một cách trơn tru.

IV. Công Nghệ Figma ReactJS Trong Phát Triển Ứng Dụng Đặt Đồ Ăn

Figma được sử dụng để thiết kế giao diện người dùng (UI/UX) của ứng dụng. Figma có ưu điểm là giao diện đơn giản, dễ sử dụng, khả năng tương thích cao, tính cộng tác cao, trang bị nhiều công cụ plugin mạnh mẽ, thiết kế nhiều layout trong một sản phẩm, xuất được đa dạng file ảnh cực sắc nét và hỗ trợ lưu trữ đám mây. ReactJS là một thư viện Javascript được sử dụng để xây dựng các tương tác với các thành phần trên website. ReactJS có ưu điểm là hỗ trợ xây dựng giao diện nhanh, hạn chế lỗi trong quá trình code, cải thiện performance website, phù hợp với đa dạng thể loại website, tái sử dụng các Component, có thể sử dụng cho cả Mobile application, thân thiện với SEO và debug dễ dàng.

4.1. Figma Công Cụ Thiết Kế Giao Diện Người Dùng UI UX Hiệu Quả

Figma là một công cụ thiết kế giao diện người dùng (UI/UX) mạnh mẽ và phổ biến. Với Figma, có thể sáng tạo không giới hạn giao diện người dùng (UI/UX), thiết kế tạo mẫu, tạo bài đăng trên các mạng xã hội và nhiều dự án thiết kế khác. Ưu điểm của Figma bao gồm: Giao diện đơn giản, dễ sử dụng, khả năng tương thích cao, tính cộng tác cao, trang bị nhiều công cụ plugin mạnh mẽ, thiết kế nhiều layout trong một sản phẩm, xuất được đa dạng file ảnh cực sắc nét và hỗ trợ lưu trữ đám mây. Sử dụng Figma giúp nhóm phát triển tạo ra một giao diện người dùng thân thiện, trực quan và dễ sử dụng cho ứng dụng đặt đồ ăn.

4.2. ReactJS Xây Dựng Giao Diện Web Tương Tác Nhanh Chóng

ReactJS là một opensource được phát triển bởi Facebook, ra mắt vào năm 2013, bản thân nó là một thư viện Javascript được dùng để để xây dựng các tương tác với các thành phần trên website. Một trong những điểm nổi bật nhất của ReactJS đó là việc render dữ liệu không chỉ thực hiện được trên tầng Server mà còn ở dưới Client nữa. Trong lập trình ứng dụng front-end, lập trình viên thường sẽ phải làm việc chính trên 2 thành phần sau: UI và xử lý tương tác của người dùng. Sử dụng ReactJS giúp xây dựng giao diện web tương tác nhanh chóng, giảm thiểu lỗi trong quá trình code và cải thiện performance website. Khả năng tái sử dụng các Component giúp tiết kiệm thời gian và công sức phát triển. ReactJS cũng thân thiện với SEO, giúp ứng dụng dễ dàng được tìm kiếm trên các công cụ tìm kiếm.

V. Implementation Giao Diện Ứng Dụng Đặt Đồ Ăn Trực Tuyến Nobore

Trong phần implementation của trang web có tổng cộng 9 giao diện gồm: Giao diện chính, giao diện Đăng nhập, giao diện Thông tin cá nhân, giao diện Đặt món ăn, giao diện Thanh toán, giao diện Feedback, giao diện Quản lý đơn hàng, giao diện Giao tiếp qua hệ thống, giao diện Quản lý thực đơn.

5.1. Giao Diện Chính Trang Chủ Giới Thiệu Liên Hệ Người Dùng

Giao diện chính bao gồm các thông tin liên quan về trang web và button chính "Đặt món ngay". Sau khi click vào button "Đặt món ngay" sẽ chuyển sang giao diện phần Đăng nhập. Ngoài ra, nhóm đã thêm vào một số lựa chọn mới ở navbar để người dùng có thể dễ dàng xem các thông tin về trang web. Bên cạnh đó, người dùng cũng có thể liên hệ để đưa ra ý kiến giúp trang web hoàn thiện hơn.

5.2. Giao Diện Đặt Món Tìm Kiếm Chọn Món Thêm Vào Giỏ Hàng

Giao diện cho phép người dùng đặt món ăn từ trang web. Sau khi thực hiện đặt món ăn, món ăn sẽ được thêm vào giỏ hàng. Người dùng có thể chọn thanh toán ngay sau khi đặt món ăn hoặc thanh toán trong giỏ hàng.

5.3. Giao Diện Quản Lý Đơn Hàng Thực Đơn Thống Nhất Tiện Lợi

Ở giao diện quản lý thực đơn và đơn hàng, sau khi thảo luận, nhóm đã quyết định gom giao diện quản lý đơn hàng và quản lý thực đơn lại thành một giao diện chung và hiển thị theo phân quyền của người dùng. Việc này sẽ giúp giảm bớt sự phức tạp hóa và giúp người dùng có thể dễ dàng hơn trong việc quản lý thông tin về thực đơn và đơn hàng của họ

VI. Đánh Giá Kết Luận Về Đồ Án Đặt Đồ Ăn Trực Tuyến Nobore

Xuyên suốt bài tập lớn này, nhóm đã thực hiện các giai đoạn trong quá trình phát triển một phần mềm, từ xác định các yêu cầu dữ liệu đến việc hiện thực hóa giao diện các tính năng chính của một trang web đặt đồ ăn. Cụ thể, nhóm đã xác định sơ bộ về mô hình, yêu cầu chức năng của từng đối tượng sử dụng và các yêu cầu phi chức năng cần có, sau đó tiếp tục đi vào mô hình hóa hệ thống và thiết kế kiến trúc. Trong quá trình hiện thực bài tập lớn này, bên cạnh những thành quả là nội dung nghiên cứu được và MVP mà nhóm xây dựng, nhóm cũng gặp phải nhiều khó khăn. Trải qua những khó khăn này đã giúp các thành viên gắn kết với nhau hơn. Qua đề tài này, nhóm đã học được nhiều điều bổ ích. Đầu tiên là những kiến thức chuyên ngành về quá trình phát triển một phần mềm, cách sử dụng các UML diagram, cách dùng github và một công cụ mới là Reactjs. Không dừng lại ở đó, những thử thách đặt ra trong quá trình làm việc đã giúp các thành viên rèn luyện kỹ năng tìm tòi tự học, cách phối hợp với nhau trong quá trình làm việc nhóm và cách phân công công việc, quản lý thời gian sao cho hợp lý.

6.1. Thành Công Hạn Chế Trong Quá Trình Triển Khai Đồ Án

Đồ án đã đạt được một số thành công nhất định trong việc xây dựng một hệ thống đặt đồ ăn trực tuyến cơ bản, đáp ứng được các yêu cầu chức năng và phi chức năng cơ bản. Nhóm đã nắm vững các kiến thức và kỹ năng về phân tích yêu cầu, thiết kế hệ thống, lập trình giao diện người dùng và quản lý dự án. Tuy nhiên, đồ án vẫn còn một số hạn chế, ví dụ như thiếu các tính năng nâng cao như gợi ý món ăn, chương trình khuyến mãi và tích điểm khách hàng thân thiết. Giao diện người dùng cũng có thể được cải thiện để trở nên trực quan và hấp dẫn hơn. Ngoài ra, việc kiểm thử hệ thống cần được thực hiện kỹ lưỡng hơn để đảm bảo tính ổn định và bảo mật.

6.2. Hướng Phát Triển Mở Rộng Hệ Thống Đặt Đồ Ăn Trong Tương Lai

Trong tương lai, hệ thống có thể được phát triển và mở rộng để tích hợp thêm nhiều tính năng mới, ví dụ như gợi ý món ăn dựa trên sở thích và lịch sử đặt hàng của khách hàng, chương trình khuyến mãi và tích điểm khách hàng thân thiết, tích hợp bản đồ để hiển thị vị trí của các nhà hàng và theo dõi quá trình giao hàng, hỗ trợ đa ngôn ngữ để phục vụ khách hàng quốc tế, và tích hợp các kênh mạng xã hội để tăng cường tương tác với khách hàng. Hệ thống cũng có thể được phát triển thành một ứng dụng di động để mang lại trải nghiệm tốt hơn cho người dùng trên các thiết bị di động. Ngoài ra, việc áp dụng các công nghệ mới như trí tuệ nhân tạo (AI) và học máy (Machine Learning) có thể giúp cải thiện hiệu quả hoạt động và mang lại các giá trị gia tăng cho người dùng.

11/09/2025

Trích đoạn nội dung tài liệu

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH Đồ án tổng hợp - hướng công nghệ phần mềm (CO3103) ONLINE FOOD ORDERING SYSTEM - NOBORE Giảng viên hướng dẫn: Mai Đức Trung Lê Đình Thuận Sinh viên thực hiện: Huỳnh Tuấn Kiệt 2013565 Bành Ngọc Phương Uyên 2012397 Lưu Vũ Hà 2013039 Trịnh Tiến Đạt 2012959 Trần Sách Nhật 2014009 Thành phố Hồ Chí Minh, 9/2022 Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính Mục lục 1 Giới thiệu về đề tài 3 2 Yêu cầu chức năng (Functional Requirements) 4 3 Yêu cầu phi chức năng (Non-Functional Requirements) 5 4 Use-case Diagram: 6 4.2 Lịch sử hình thành: .3 Ưu điểm của Figma: .2 Tại sao phải sử dụng ReactJs? .3 Ưu điểm của ReactJS: .2 Giao diện chính: .4 Thông tin cá nhân: .9 Giao tiếp qua hệ thống: .1 Thêm món ăn vào menu: .3 Chỉnh sửa thông tin món ăn:. 43 ĐỒ ÁN TỔNG HỢP - HƯỚNG CÔNG NGHỆ PHẦN MỀM (CO3103) Trang 1/47 Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 7 Những đổi mới trong giao diện Web đã hiện thực 44 7.1 Giao diện chính .2 Giao diện quản lý thực đơn và đơn hàng. 45 8 Tổng kết và tự đánh giá 47 9 Source Code: 47 ĐỒ ÁN TỔNG HỢP - HƯỚNG CÔNG NGHỆ PHẦN MỀM (CO3103) Trang 2/47 Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 1 Giới thiệu về đề tài Trong bối cảnh xã hội ngày càng phát triển với làn sóng đô thị hiện đại, cùng với tình trạng sau đại dịch Covid 19, khiến cho nhịp sống của mọi người trở nên tất bật, không có nhiều thời gian rảnh. Đồng thời, một phần cũng là vì thói quen ăn uống của mọi người có sự thay đổi trong khoảng thời gian bùng dịch, xã hội cách ly nên phải dùng đến dịch vụ giao hàng tận nơi.

Điển hình là trong năm vừa qua, Việt Nam đã ghi nhận tăng trưởng mạnh về giao hàng thực phẩm trực tuyến do COVID-19, xu hướng này kéo dài trong suốt năm 2021 xét tới diễn biến hiện nay của COVID-19 và thái độ “lạc quan thận trọng” của người tiêu dùng. Dự báo tăng trưởng của ngành giao thức ăn trực tuyến sẽ đạt giá trị hơn 38 triệu USD và duy trì mức tăng trưởng bình quân 11% trong 5 năm tới. Cũng theo thống kê về việc sử dụng dịch vụ đặt đồ ăn trực tuyến, số lượng người sử dụng dịch vụ trong năm 2018 khoảng 5,3 triệu người, chủ yếu sử dụng dịch vụ Restaurant – to – Consumer Delivery (chiếm 92%). Và dự báo đến năm 2023, số lượng người sử dụng dịch vụ giao thức ăn tăng hơn gấp 2 lần là vào khoảng 13 triệu người.

Do đó, việc sử dụng một hệ thống điểm bán hàng nhằm phục vụ nhu cầu ngày càng tăng nhanh của khách hàng và đồng thời để thuận tiện cho khách hàng có thể gọi món qua website, ., sẽ giúp thu hút khách hàng và tăng lợi nhuận cho doanh nghiệp. Các bên liên quan của dự án bao gồm: • Khách hàng: Hệ thống được khách hàng sử dụng để đặt món ăn và cũng có thể thanh toán qua hệ thống. Đồng thời, thông tin của khách hàng được ghi lại sau mỗi lần sử dụng app để đặt món. • Cửa hàng: Là người giao tiếp với khách hàng qua hệ thống để xác nhận đơn hàng,.

• Người điều hành: Những người chịu trách nhiệm trong việc thiết lập, duy trì và bảo trì hệ thống. • Hệ thống duyệt tự động: Chịu trách nhiệm trong việc duyệt các thao tác của cửa hàng trên trang hệ thống. ĐỒ ÁN TỔNG HỢP - HƯỚNG CÔNG NGHỆ PHẦN MỀM (CO3103) Trang 3/47 Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 2 Yêu cầu chức năng (Functional Requirements) • Người dùng có thể đăng ký mới hoặc đăng nhập trực tiếp bằng tài khoản facebook, google, số điện thoại (SMS). • Khách hàng có thể xem, chỉnh sửa thông tin cá nhân của mình.

• Khách hàng có thể dễ dàng tìm kiếm, đặt món ăn từ app và theo dõi, quản lý đơn hàng của họ. • Khách hàng có thể chọn thanh toán bằng ví điện tử, thẻ ngân hàng hoặc thanh toán khi nhận món ăn. • Cửa hàng có thể tạo, chỉnh sửa, xóa món ăn từ thực đơn trong app khi cần thiết. • Cửa hàng có thể kiểm tra, quản lý đơn hàng của khách hàng.

• Có trang feedback cho khách hàng đánh giá về chất lượng phục vụ. • Hệ thống phải ghi nhận lại được thông tin của khách hàng, ghi lại nội dung, ngày giờ của đơn hàng. ĐỒ ÁN TỔNG HỢP - HƯỚNG CÔNG NGHỆ PHẦN MỀM (CO3103) Trang 4/47 Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 3 Yêu cầu phi chức năng (Non-Functional Requirements) • Phần cứng tối thiểu (Hardware limitations): – Yêu cầu phần cứng tối thiểu cho hệ thống là 128MB Ram và ổ cứng trống 32MB. • Môi trường phần mềm (Environmental requirement): – Hệ thống chạy được trên mọi nền tảng hỗ trợ duyệt Internet.

• Tốc độ, hiệu năng (Performance): – Hệ thống đáp ứng được 50 lượt truy cập cùng lúc mà không bị ảnh hưởng đến hiệu suất. – Thông tin món ăn cần phải được cập nhật ngay sau khi người dùng đặt hàng thành công hoặc từ phía cửa hàng bổ sung. – Các thao tác giữa người dùng và hệ thống phải được phản hồi trong vòng 5s. – Tin nhắn trong hệ thống được gửi đi với thời gian trễ không được vượt quá 1 giây.

• Tính bản địa (Localization): – Hệ thống chỉ hỗ trợ tiếng Việt. • Khả năng sử dụng (Usability) và giao diện (Interface): – Dựa vào loại người dùng, hệ thống cung cấp cho người dùng giao diện cụ thể. • Tính đảm bảo (Robustness): – Khi có sự thay đổi hay lỗi từ 1 phía nào đó sẽ không ảnh hưởng đến toàn bộ quy trình. • Tính bảo mật (Security): – Đảm bảo không làm rò rĩ thông tin của khách hàng.

ĐỒ ÁN TỔNG HỢP - HƯỚNG CÔNG NGHỆ PHẦN MỀM (CO3103) Trang 5/47 Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 4 Use-case Diagram: 4.1 Whole System: Link Drive chứa ảnh: https://tinyurl.com/ucCNPM Hình 1: Use cases cả hệ thống Bảng danh sách các actor: Actor ID Tên actor 1 Người dùng (Users) 2 Khách hàng (Client) 3 Cửa hàng (Shop) 4 Hệ thống duyệt tự động (Automatic browsing system) ĐỒ ÁN TỔNG HỢP - HƯỚNG CÔNG NGHỆ PHẦN MỀM (CO3103) Trang 6/47 Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính Bảng mô tả các use case của hệ thống: Use case ID Tên use case Mô tả 1 Login Đăng nhập vào hệ thống 2 Communicate Giao tiếp với nhau qua hệ thống bằng cách gửi/nhận tin nhắn 3 Update Infomation Người dùng quản lý thông tin cá nhân 4 Manage Order Người dùng quản lý đơn hàng 5 Order food Đặt món ăn trong hệ thống 6 Cancel Order Người dùng hủy đơn đặt hàng 7 Pay Bill Thanh toán đơn hàng 8 Manage Menu Quản lý thực đơn 9 Create food item Thêm một món ăn mới vào thực đơn 10 Delete food item Xóa một món ăn khỏi thực đơn 11 Update food item Chỉnh sửa thông tin món ăn 12 Feedback Gửi phản hồi 13 Confirm Order Xác nhận đơn hàng 14 Confirm Payment Xác nhận thanh toán 15 Browse Request Duyệt yêu cầu 16 View feedback Xem phản hồi của khách hàng ĐỒ ÁN TỔNG HỢP - HƯỚNG CÔNG NGHỆ PHẦN MỀM (CO3103) Trang 7/47 Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 4.2 Login: Use case name Log in Actor Users Description Các User sử dụng chức năng này để đăng nhập vào tài khoản trên hệ thống. Trigger Khi User nhấn vào mục "Đăng nhập" trên giao diện hệ thống. Pre-conditions - Các User phải truy cập được vào hệ thống. - Các User phải có tài khoản Post-conditions Các User truy cập được vào tài khoản cá nhân Normal Flow 1.

User truy cập vào trang chủ hệ thống. User nhấn vào "Đăng nhập". User chọn đăng nhập bằng tài khoản Nobore. User nhập tài khoản, mật khẩu 5.

Hệ thống xác nhận đăng nhập. Hệ thống chuyển sang giao diện màn hình chính của trang chủ. Alternative Flow * User đăng nhập bằng tài khoản Facebook: 3a. User chọn đăng nhập bằng Facebook.

Chuyển sang giao diện Facebook 4a. User nhập tài khoản, mật khẩu để đăng nhập vào Facebook 4a1. Facebook chấp nhận truy cập, hệ thống chuyển sang giao diện chính. Use case tiếp tục bước 5.

* User đăng nhập bằng tải khoản Google: 3b. User chọn đăng nhập bằng Google. Chuyển sang giao diện Google 4b. User nhập tài khoản, mật khẩu để đăng nhập vào Google 4b1.

Google chấp nhận truy cập, hệ thống chuyển sang giao diện chính. Use case tiếp tục bước 5. * User đăng nhập bằng cách nhập số điện thoại: 3c. User chọn đăng nhập bằng SMS 3c1.

Hệ thống chuyển sang giao diện nhập số điện thoại. Hệ thống gửi mã SMS đến số điện thoại. User nhập mã SMS vào hệ thống. Use case tiếp tục bước 5.

Exception Flow * User chưa có tài khoản: 2d. User nhấn vào "Đăng ký" 2d1. Hệ thống chuyển sang giao diện đăng ký 2d2. Use case kết thúc.

* User nhập sai tài khoản, mật khẩu: 5f. Hệ thống không xác nhận đăng nhập 5f1. Use case kết thúc. ĐỒ ÁN TỔNG HỢP - HƯỚNG CÔNG NGHỆ PHẦN MỀM (CO3103) Trang 8/47 Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 4.3 Update Infomation: Use case name Update Infomation Actor Users Description Usecase cho phép người dùng quản lí thông tin cá nhân.

Trigger Khi người dùng bấm vào nút thông tin cá nhân trên giao diện hệ thống. Pre-conditions Người dùng phải vào được trang web. Post-conditions Người dùng update thành công thông tin cá nhân. Người dùng chọn vào thông tin sẵn có cần update.

Hệ thống hiện thị thông tin ra màn hình. Người dùng update thông tin và bấm lưu. Hệ thống lưu lại thông tin. Người dùng hoàn tất update.

Hệ thông trở lại giao diện ban đầu. Alternative Flow * Người dùng muốn thêm thông tin một nhân viên mới: 1a. Người dùng chọn vào button thêm mới. Hệ thống hiện thị giao diện để người dùng thêm thông tin.

Use case tiếp tục bước 3. Exception Flow * Người dùng không muốn update nữa: 3b. Bấm vào "Thoát". Hệ thống sẽ quay lại trang hiện thị thông tin cá nhân.

ĐỒ ÁN TỔNG HỢP - HƯỚNG CÔNG NGHỆ PHẦN MỀM (CO3103) Trang 9/47 Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 4.4 Order food: Use case name Order Actor Client Description Cho phép Client thêm món ăn và lựa chọn số lượng vào giỏ hàng của mình. Trigger Client chọn nút “Thêm vào giỏ hàng”. Pre-conditions - Thiết bị của Client có kết nối mạng. - Client phải có tài khoản trên Web-App.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ