Kiểm tra giỏ hàng o Người dùng nhấn vào hình giỏ hàng ,sau đó sẽ chuyển sang những sản phẩm đã chọn.o Nếu người dùng muốn hủy sản phẩm nào thì chọn xóa sản phẩm muốn bỏ .Trường hợp 1:Nếu
Cơ Sở Lý Thyết
Thiết kế database
Table Hóa đơn (hoa_don)
Mã hóa đơn Ma_hoa_don Int Khóa chính, not null
Mã đơn hàng ma_don_hang Int Not null
Số tiền So_tien Int Not_null
Thời gian thanh Thoi_gian_thanh_toan Datetime null toán
Table Đặt hàng (dat_hang)
Mã đặt hàng Ma_dat_hang Int Khóa chính, not null
Mã hóa đơn Ma_hoa_don Int Not null
Mã món ăn Ma_mon_an Int Not_null
Số lượng So_luong Int Not null
Tổng số tiền Tong_so_tien Int Null
Giảm giá Giam_gia Int Null
Trạng thái Trang_thai Bit Default 1
Thời gian Thoi_gian Datetime null
Table Người dùng (nguoi_dung)
Mã người dùng Ma_nguoi_dung Int Khóa chính, not null
Tên người dùng Ten_nguoi_dung Nvarchar(255) Not null
Email Email Varchar(255) Not null
Password Password Varchar(255) Not null
Table Đơn hàng (don_hang)
Mã đơn hàng Ma_don_hang Int Khóa chính, not null
Mã món ăn Ma_mon_an Int Not null
Mã nhà hàng Ma_nha_hang Int Not_null
Mã người dùng Ma_nguoi_dung Int Not null
Số tiền So_tien Int Null
Số lượng So_luong Int Null
Phương thức thanh toán Phuong_thuc_thanh_toan Varchar(255) Not null
Table Giỏ hàng (gio_hang)
Mã giỏ hàng Ma_gio_hang Int Khóa chính, not null
Mã người dùng Ma_nguoi_dung Int Not null
Mã món ăn Ma_mon_an Int Not null
Số lượng So_luong Int Not null
Mã món ăn Ma_mon_an Int Khóa chính, not null
Mã nhà hàng Ma_nha_hang Int Not null
Tên món ăn Ten_mon_an Nvarchar(255) Not_null
Giá Gia Int Not null
Thể loại The_loai Varchar(255) Not null
Mô tả Mo_ta Nvarchar(255) Not null
Thành phần Thanh_phan Nvarchar(255) Null
Hình ảnh Hinh_anh Varchar(255) Not null
Table Nhà hàng (nha_hang)
Mã nhà hàng Ma_nha_hang Int Khóa chính, not null
Tên nhà hàng Ten_nha_hang Nvarchar(255) Not null Địa chỉ Dia_chi Nvarchar(255) Null
Khoảng cách Khoang_cach Int null
Thời gian giao Thoi_gian_giao Datetime Null
Hình thức mua Hinh_thuc_mua Varchar(255) Not null
Hình ảnh Hinh_anh Varchar(255) Not null
Phân Tích thiết kế dự án
ClassDiagram
- Nêu rõ mối quan hệ giữa các lớp, chức năng của các thành phần liên quan để tạo nên ứng dụng FoodApp modal
Diễn tả
- Nguoi_dung bao gồm các thuộc tính: o maNguoiDung:type: int o tenNguoiDung:type: navarchar(255) o email: type:type: navarchar(255) o password:type: navarchar(255)
- Gio_hang bao gồm các thuộc tính: o maGioHang: type: int o maMonAn: type: int o soLuong: type: int
- Gio_hang kế thừa toàn bộ thuộc tính của Nguoi-dung
- San_pham bao gồm các thuộc tính: o maMonAnDouong: type: navarchar(255) o tenMonAnDouong: type: navarchar(255) o gia: type: type: int o theLoai: type: navarchar(255) o moTa: type: navarchar(255) o thanhPhan: type: navarchar(255) o hinhAnh: type: navarchar(255)
- Gio_hang kế thừa toàn bộ thuộc tính của San_pham.
- Don_hang bao gồm các thuộc tính sau: o maDonHang: type: int o maMonAnDoUong: type: int o maNguoiDung: type: int o soTien: int o soLuong: type: int o phuongThucThanhToan: type: navarchar(255) o
- Don_hang kế thừa các thuộc tính của San_pham
- Dat_hang bao gồm các thuộc tính: o maDonHang: type: int o maMonAnDoUong: type: int o soLuong: type: int o tongSoTien: type: float o giamGia: type: float o trangThai: type: bit o tG: type: date
- Dat_hang và Hoa_don có cùng kế thừa thuộc tính của Don_hang, 1 trong 2 cái mất thì cái còn lại cũng sẽ mất.
- Hoa_don bao gồm các thuộc tính sau: o maHoaDon: type: navarchar(255) o maDonHang: type: navarchar(255) o soTien: type: int o tGThanhToan: type: Date
- Dat_hang và Hoa_don cùng kế thừa Don_hang, 1 trong 2 mất thì cái còn lai sẽ mất
- Nha_hang bao gồm các thuộc tính sau: maNhaHang: type: int tenNhaHang: type: navarchar(255) diaChi: type: type: navarchar(255) khoangCach: type: int
TGGiao: type: date tags: type: navarchar(255) hinhThucMua: type: navarchar(255) hinhAnh: type: navarchar(255)
- Dat_hang và Don_hang có cùng kế thừa thuộc tính của Nha_hang, 1 trong 2 cái mất thì cái còn lại cũng sẽ mất.
Use-case Model (Mô hình use-case)
Kiểm tra giỏ hàng o Người dùng nhấn vào hình giỏ hàng ,sau đó sẽ chuyển sang những sản phẩm đã chọn. o Nếu người dùng muốn hủy sản phẩm nào thì chọn xóa sản phẩm muốn bỏ
Thanh toán sản phẩm: o Thanh toán online : Bằng các ứng dụng app thanh toán, bằng ngân hàng, thẻ visa… o Thanh toán sau khi nhận hàng Ghi chú
Trường hợp 1:Nếu thiếu thông tin cá nhân, thông tin thanh toán
Khách hàng phải cập nhập các thông tin đầy đủ
Trường hợp 2:Nếu đầy đủ các thông tin cá nhân, thông tin thanh toán, hình thức thanh toán
Hệ thống thông báo đặt hàng thành công
Trường hợp 3:Khi khách hàng hủy đơn đặt hàng trong trạng thái chờ xác nhận
Hệ thống thông báo hủy đặt hàng thành công Lúc này use-case kết thúc
(Điều kiện đầu vào) Đã đăng nhập thành công vào hệ thống Khách hàng cần đặt mua hàng Đầy đủ thông tin cá nhân,thông tin thanh toán Thiết bị vẫn đang kết nối với internet Post-conditions
Dữ liệu của hệ thống có sự thay đổi
Hệ thống hiển thị lại thông tin đơn đặt hàng cho khách hàng
4.7 Use-case: Đánh giá sản phẩm
(Tên use-case) Đánh giá sản phẩm
(Mô tả) Sau khi khách hàng sử dụng các sản phẩm của cửa hàng, có thể lại các lời bình tốt hoặc không tốt để góp ý cho cửa hàng Đánh giá bằng cách xếp hạng 5 sao hoặc có thể thấp tùy theo sản phẩm mà khách hàng mua o Rất là Tốt 5 sao o Tốt 4 sao o Tạm ổn 3 sao o Sản phẩm bình thường 2 sao o Rất tệ 1 sao
(Luồng cơ bản) Người dùng ấn vào nút đăng bài o Cần nhập đầy đủ thông tin o Nội dụng cần review, tên mặt hàng cần review và sau đó nhấn vào nút lưu Thả like vào review o Người dùng nhấn vào nút like sau nó nút like sẽ chuyển sang màu , nếu người dùng nhấn thêm 1 lần nữa sẽ hủy like
Bình luận o Người dùng nhấn vào nút bình luận sau đó sẽ chuyển sang trang bình luận ở đó sẽ có ô nhập bình luận o Khi người dùng nhập nội dung và nhấn vào nút gửi
Xem bài đánh giá Alternative
Khi khách hàng gửi nội dung và đánh giá sao : o Hệ thống thông báo đánh giá sản phẩm thành công Người dùng ấn vào nút đăng bài,bình luận, thả cảm xúc o Khi người dùng không đăng nhập sẽ chuyển sang trang đăng nhập, đăng ký để người dùng thực hiện việc đăng nhập, đăng ký o Lúc này use-case kết thúc
(Điều kiện đầu vào) Đã đăng nhập thành công vào hệ thống Khách hàng muốn đánh giá sản phẩm sau khi sử dụng sản phẩm
Thiết bị vẫn đang kết nối với internet Post-conditions
Dữ liệu của hệ thống có sự thay đổi
Hệ thống hiển thị lại thông tin đánh giá sản phẩm của khách
Use-case Specifications (Đặc tả use-case)
Khách hàng gửi phản hồi cho cửa hàng khi đơn đặt hàng bị thiếu, sản phẩm bị hư trong quá trình vận chuyển … Khách hàng muốn đóng góp ý kiến cho cửa hàng
Khách hàng nhập nội dung phản hồi Chọn gửi cho cửa hàng
Khi khách hàng gửi nội dung: o Hệ thống thông báo phản hồi thành công o Lúc này use-case kết thúc
(Điều kiện đầu vào) Đã đăng nhập thành công vào hệ thống Khách hàng muốn gửi phản hồi cho cửa hàng Thiết bị vẫn đang kết nối với internet Post-conditions
Dữ liệu của hệ thống có sự thay đổi
Hệ thống hiển thị lại thông tin phản hồi cho cửa hàng
Xây dựng ứng dụng
- Phân tích chức năng giúp xác định các chức năng cần thiết một cách rõ ràng đầy đủ , hạn chế phân tích lại trong quá trình phát triển phần mềm
- Chức năng đăng nhập , tạo tài khoản để sử dụng ứng dụng trọn vẹn và đầy đủ chức năng nhất.(page login)
- Chức năng giỏ hàng để khách có thể click sản phẩm vô giỏ dùng để đặt hàng hoặc để check giá tổng sản phẩm đã đặt (giỏ hàng)
- Chức năng Tab có thể chọn loại đồ ăn thức uống muốn mua ở trang (chi tiết nhà hàng)
- Chức năng xem tất cả đơn đặt hàng của chính mình ở trong (trang cá nhân) dùng để theo dõi các đơn đã đặt.
- Chức năng ưu đãi và khuyến mãi xem ở (trang cá nhân) dùng để áp dụng các mã giảm giá sản phẩm
- Chức năng quản lý hồ sơ (trang cá nhân )dùng để cập nhật thông tin cá nhân của mình.(vd phương thức thanh toán ).
Triển Khai Ứng Dụng
Mô tả chi tiết
- Khi ứng dụng khởi chạy thì đây là giao diện mà người dùng tiếp cận đầu tiên
- Khoảng 3 giây sau, sẽ xuất hiện màn hình xin chào lần lượt
- Khi click vào nút bắt đầu ở màn hình xin chào thứ 3, sẽ chuyển đến màn hình đăng nhập o Có ô nhập tên đăng nhập của người dùng o Có ô nhập mật khẩu của người dùng o Có nút xác nhận đăng nhập o Có link đăng ký tài khoản mới o Có nút link đăng nhập bằng số điện thoại o Có nút link đăng nhập bằng facebook o Có nút link đăng nhập bằng google
- Kiểm tra người dùng chưa nhập thông tin đăng nhập
- Kiểm tra tên người dùng chưa đăng ký
- Kiểm tra mật khẩu của người dùng chưa đúng
- Nếu người dùng chưa có tài khoản, click vào nút link đăng ký ở màn hình đăng nhập, sẽ chuyển đến trang đăng ký
- Kiểm tra tên người dùng chưa nhập thông tin đăng ký
- Kiểm tra tên người dùng đã tồn tại
- Kiểm tra tài khoản email đã tồn tại
- Sau khi đăng nhập thành công, sẽ chuyển đến màn hình Trang chủ
- Thanh tab phía dưới để chuyển sang các trang Nhà hàng yêu thích, Giỏ hàng, Trang cá nhân
- Click chọn nhà hàng như hướng mũi tên để chuyển đến trang chi tiết nhà hàng và tìm kiếm món ăn, đồ uống o Hiển thị tên nhà hàng ,đánh giá nhà hàng, khoảng cách nhà hàng, thời gian dự kiến giao, giảm giá giao hàng
- Thanh tab để chọn loại món ăn, đồ uống có sẵn trong nhà hàng
- Click vào dấu “-“ hoặc dấu “+” để tăng giảm số lượng món thêm vào giỏ hàng
- Click vào món ăn như hướng mũi tên để xem chi tiết món ăn
2.6 Giao diện trang chi tiết món ăn:
- Màn hình chi tiết món ăn o Hiển thị tên món ăn, giá tiền, đánh giá, mô tả chi tiết món ăn o Có nút tăng giảm số lượng món o Có nút để chuyển đến giỏ hàng
2.7 Giao diện trang giỏ hàng:
- Click vào nút đến giỏ hàng để chuyển đến trang Giỏ hàng o Hiển thị tên món ăn,số lượng món ăn đã chọn, tổng giá tiền, áp dụng mã giảm giá, phí giao hàng o Có nút xác nhận đặt hàng
2.8 Giao diện trang đặt hàng:
- Click vào nút đặt hàng để chuyển đến trang Thanh toán o Có nút Tick để chọn phương thức thanh toán o Có nút xác nhận đặt hàng
- Giao diện khi click vào nút Xác nhận đặt hàng nếu đặt hàng thành công
2.9 Giao diện trang cá nhân:
- Click vào icon trên thanh tab để chuyển đến trang cá nhân o Tất cả đơn đặt hàng: để theo dõi các đơn hàng đã đặt
+ Giao diện khi chưa có đơn đặt hàng nào o Ưu đãi và khuyến mãi: xem các ưu đãi và khuyến mãi của nhà hàng o Địa chỉ giao hàng: cập nhập địa chỉ của người dùng o Quản lý hồ sơ: chỉnh sửa, cập nhập thông tin người dùng(tên người dùng, email,password) o Thanh toán: cập nhật thông tin thẻ thanh toán, phương thức thanh toán o Thông báo: khi người dùng muốn nhận thông báo từ nhà hàng o Đăng xuất: khi người dùng cần thoát tài khoản để đăng nhập tài khoản khác vào