ĐẠ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.