GIỚI THIỆU NỘI DUNG ĐỀ TÀI
B ỐI CẢNH CHỌN ĐỀ TÀI
Hiện nay, với sự phát triển của xã hội, đời sống của các gia đình ngày càng được cải thiện, dẫn đến việc nhiều gia đình lựa chọn nuôi thú cưng Những chú thú cưng không chỉ mang lại niềm vui mà còn trở thành bạn đồng hành trong những khoảnh khắc ấm áp bên gia đình.
Khi thú cưng chán hoặc bị bệnh nhẹ, nhiều người thường đến tiệm thú y để khám hoặc mua đồ chơi mới Tuy nhiên, việc này có thể tốn thời gian và không phải lúc nào chúng ta cũng có đủ thời gian rảnh để di chuyển.
- So sánh với các ứng dụng liên quan trên thị trường:
Pet Shop Zoobio Đăng nhập x x Đăng ký x x Đăng xuất x x
Thay đổi các thông tin cá nhân x x Đổi mật khẩu x x
Xem thông tin sản phẩm x x
Thêm sản phẩm vào giỏ hàng x x Đặt mua sản phẩm x x
Xem danh sách đơn hàng x x
- Chính vì những vấn đề này nhóm chúng em quyết định chọn đề tài ứng dụng cửa hàng thuốc thú y.
M ỤC ĐÍCH CỦA ĐỀ TÀI
- Ứng dụng mua bán hàng hàng VeterinaryStore chạy trên nền Android được thực hiện dựa trên hai mục đích chính sau:
+ Thứ nhất là nghiên cứu các công nghệ lập trình như: lập trình ứng dụng với Android
Nhóm đang nỗ lực phát triển ứng dụng nhằm nâng cao trải nghiệm cho khách hàng và hỗ trợ quản lý cửa hàng trong hoạt động kinh doanh Khách hàng chỉ cần thực hiện các thao tác đơn giản trên điện thoại di động để đặt hàng và thoải mái lựa chọn sản phẩm vào bất kỳ thời gian nào.
- Đề tài “Ứng dụng cửa hàng thuốc thú y” là một ứng dụng chạy trên điện thoại sử dụng hệ điều hành Android
- Ứng dụng gồm có 2 phần: Ứng dụng VeterinaryStore và VeterinaryStoreAdmin cả hai ứng dụng đều chạy trên hệ điều hành Android và viết bằng ngôn ngữ dart
+ Ứng dụng VeterinaryStore: Dành cho người tiêu dùng
Đăng ký, đăng nhập và đăng xuất
Thay đổi các thông tin cá nhân
Hỗ trợ quên mật khẩu
Tìm kiếm sản phẩm theo tên
Xem thông tin sản phẩm
Thêm các sản phẩm vào giỏ hàng
Xem lại các đơn mua hàng cũng như xác nhận đơn hàng đã thành công
+ Ứng dụng VeterinaryStoreAdmin: Dành cho người quản trị
- Mục tiêu của đề tài này là:
+ Tìm hiểu các hoạt động kinh doanh trong thực tế
+ Tìm hiểu cách thức xây dựng một ứng dụng trên android
+ Tìm hiểu các công nghệ đang thịnh hành như Flutter
ĐẶC TẢ YÊU CẦU
S Ơ ĐỒ U SE CASE
Hình 2.1 Use case Quản lý
Hình 2.2 Use case Khách hàng
Đ ẶC TẢ U SE CASE
Tên use case Đăng ký
Mục đích Tạo một tài khoản mới
6 Điều kiện kích hoạt Người dùng bấm vào “Đăng Ký” trên app Điều kiện trước Không Điều kiện sau 1 Người dùng tạo một tài khoản mới thành công
2 Đăng nhập thành công vào hệ thống
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào “Đăng ký”
3 Hệ thống yêu cầu nhập các thông tin như:
Email,Password,Họ và tên,số điện thoại
4 Người dùng bấm vào nút “Đăng ký”
5 Hệ thống kiểm tra tài khoản có tồn tại từ trước hay không
6 Thông báo đăng kí tài khoản thành công và lưu thông tin vào dữ liệu
7 Hệ thống đăng nhập vào app và hiển thị màn hình home
Luồng sự kiện phụ Không
Các ngoại lệ 1 Người dùng nhập sai loại email hoặc để trống trường nhập liệu
2 Hệ thống thông báo lỗi
Kích hoạt sự kiện khác Không
Bảng 2.1 Đặc tả Use case Đăng ký
Tên use case Đăng nhập
Mục đích Đăng nhập vào app để tiến hành các hoạt động mua sản phẩm
Khi người dùng mở ứng dụng mà chưa đăng nhập, họ cần phải có tài khoản đã được tạo trước đó Điều kiện kích hoạt để người dùng có thể sử dụng ứng dụng là đăng nhập thành công vào tài khoản của mình.
2 Hệ thống tiến hành lấy thông tin của người dùng
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng nhập vào Email và Mật khẩu
3 Người dùng bấm vào nút “Đăng nhập”
4 Hệ thống xác thực và cho phép người dùng được truy cập vào hệ thống
5 Hệ thống tiến hành lấy thông tin của người dùng
Luồng sự kiện phụ Không
Các ngoại lệ 1 Hệ thống xác thực thông tin đăng nhập thất bại như là: sai mật khẩu ,loại email không đúng hoặc email không tồn tại
2 Hệ thống thông báo lỗi
Kích hoạt sự kiện khác Không
Bảng 2.2 Đặc tả Use case Đăng nhập
Tên use case Đăng xuất
Mục đích Đăng xuất khỏi app
Để kích hoạt tính năng, người dùng cần mở ứng dụng và đăng nhập vào tài khoản Điều kiện tiên quyết là người dùng đã thực hiện đăng nhập thành công Sau khi hoàn tất, không có điều kiện nào khác cần thiết để tiếp tục sử dụng ứng dụng.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Thông tin khách hàng”
3 Người dùng bấm vào nút “Đăng xuất”
4 Hệ thống xác thực và xóa xác thực người dùng đang đăng nhập
5 Hệ thống quay lại màn hình đăng nhập
Luồng sự kiện phụ Không
Kích hoạt sự kiện khác Không
Bảng 2.3 Đặc tả Use case Đăng xuất
2.4 Xem danh sách sản phẩm
Tên use case Xem danh sách sản phẩm
Mục đích Xem danh sách các sản phẩm mà cửa hàng bán
Người dùng cần mở ứng dụng và đăng nhập để kích hoạt tính năng Trước khi kích hoạt, người dùng phải đảm bảo đã thực hiện đăng nhập vào ứng dụng Sau khi hoàn tất, không có điều kiện nào khác cần thiết.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Trang chủ”
3 Hệ thống lấy thông tin các sản phẩm và hiện lên
Luồng sự kiện phụ Người dùng chỉ cần đăng nhập vào là sẽ ở sẳn tab
Kích hoạt sự kiện khác Không
Bảng 2.4 Đặc tả Use case Xem danh sách sản phẩm
Tên use case Tìm kiếm sản phẩm
Mục đích Tìm kiếm sản phẩm theo tên sản phẩm
Người dùng Khách hàng Điều kiện kích hoạt Người dùng bấm vào nút “Tìm kiếm” Điều kiện trước Người dùng đã đăng nhập Điều kiện sau Không
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào nút “Tìm kiếm” ở tab “Trang chủ”
3 Hệ thống chuyển sang màn hình tìm kiếm
4 Người dùng nhập vào tên sản phẩm muốn tìm
5 Hệ thống lọc ra và hiện lên danh sách sản phẩm trùng với tên sản phẩm người dùng đã nhập
Luồng sự kiện phụ Không
Các ngoại lệ Sản phẩm muốn tìm không tồn tại hệ thống sẽ để thông báo ở màn hình tìm kiếm
Kích hoạt sự kiện khác Không
Bảng 2.5 Đặc tả Use case Tìm kiếm sản phẩm
2.6 Xem thông tin sản phẩm
Tên use case Xem thông tin sản phẩm
Mục đích Xem chi tiết thông tin sản phẩm mình chọn
Người dùng khách hàng cần bấm vào sản phẩm trên tab "Trang chủ" hoặc màn hình tìm kiếm để kích hoạt Điều kiện tiên quyết là người dùng đã đăng nhập Sau khi thực hiện, không có điều kiện nào khác cần đáp ứng.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào sản phẩm ở tab “Trang chủ”
3 Hệ thống lấy thông tin sản phẩm và chuyển sang màn hình chi tiết sản phẩm
Luồng sự kiện phụ 1 Người dùng vào app
2 Người dùng bấm vào nút “Tìm kiếm” ở tab “Trang chủ”
3 Hệ thống chuyển sang màn hình tìm kiếm
4 Người dùng nhập vào tên sản phẩm muốn tìm
5 Hệ thống lọc ra và hiện lên danh sách sản phẩm trùng với tên sản phẩm người dùng đã nhập
6 Người dùng bấm vào sản phẩm
7 Hệ thống lấy thông tin sản phẩm và chuyển sang màn hình chi tiết sản phẩm
2 Người dùng bấm vào tab “Giỏ hàng”
3 Hệ thống lấy thông tin giỏ hàng và các sản phẩm trong giỏ hàng
4 Người dùng bấm vào sản phẩm
5 Hệ thống lấy thông tin sản phẩm và chuyển sang màn hình chi tiết sản phẩm
Kích hoạt sự kiện khác Không
Bảng 2.6 Đặc tả Use case Xem thông tin sản phẩm
2.7 Quản lý thông tin cá nhân
Tên use case Quản lý thông tin cá nhân
Mục đích Xem và thay đổi các thông tin cá nhân
Người dùng Khách hàng Điều kiện kích hoạt Người dùng bấm vào tab “Thông tin khách hàng” Điều kiện trước Người dùng đã đăng nhập Điều kiện sau Không
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Thông tin khách hàng”
3 Hệ thống chuyển sang màn hình thông tin khách hàng
4 Người dùng có thể bấm vào chỉnh sửa để chỉnh sửa thông tin cũng như cập nhật thông tin địa chỉ hoặc đổi mật khẩu
5 Hệ thống cập nhật lại thông tin người dùng nếu người dùng đã thay đổi thông tin
Luồng sự kiện phụ Không
Các ngoại lệ 1 Người dùng thay đổi thông tin nhưng lại để trống trường nhập liệu
2 Hệ thống thông báo lỗi
Kích hoạt sự kiện khác Không
Bảng 2.7 Đặc tả Use case Quản lý thông tin cá nhân
Tên use case Xem giỏ hàng
Mục đích Xem chi tiết giỏ hàng đã có sản phẩm gì giá bao nhiêu
Người dùng Khách hàng Điều kiện kích hoạt Người dùng bấm vào tab “Giỏ hàng” Điều kiện trước Người dùng đã đăng nhập Điều kiện sau Không
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Giỏ hàng”
3 Hệ thống lấy thông tin giỏ hàng và các sản phẩm trong giỏ hàng
Luồng sự kiện phụ Không
Các ngoại lệ Nếu không có sản phẩm nào trong giỏ hàng, hệ thống sẽ thông báo ở màn hình “Giỏ hàng”
Kích hoạt sự kiện khác Không
Bảng 2.8 Đặc tả Use case Xem giỏ hàng
2.9 Thêm sản phẩm vào giỏ hàng
Tên use case Thêm sản phẩm vào giỏ hàng
Mục đích Thêm sản phẩm mình muốn mua vào giỏ hàng
Người dùng cần đăng nhập trước khi kích hoạt tính năng bằng cách nhấn nút “Thêm vào giỏ hàng” trên màn hình chi tiết sản phẩm Sau khi thực hiện, không có điều kiện nào khác cần phải đáp ứng.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào sản phẩm ở tab “Trang chủ”
3 Hệ thống lấy thông tin sản phẩm và chuyển sang màn hình chi tiết sản phẩm
4 Người dùng bấm vào nút “Thêm vào giỏ hàng” ở trong màn hình chi tiết sản phẩm
5 Hệ thống thêm sản phẩm vào cart
Luồng sự kiện phụ Không
Các ngoại lệ 1 Nếu sản phẩm đã có trong giỏ hàng thì sẽ tăng thêm số lượng là 1
2 Không được thêm sản phẩm quá số lượng của sản phẩm đang có
Kích hoạt sự kiện khác Không
Bảng 2.9 Đặc tả Use case Thêm sản phẩm vào giỏ hàng
2.10 Chỉnh sửa sản phẩm trong giỏ hàng
Tên use case Chỉnh sửa sản phẩm trong giỏ hàng
Mục đích Thay đổi số lượng của sản phẩm trong giỏ hàng
Người dùng có thể kích hoạt tính năng bằng cách nhấn vào nút “+” hoặc “-” bên cạnh sản phẩm trong giỏ hàng Tuy nhiên, điều kiện tiên quyết là người dùng phải đăng nhập vào tài khoản của mình trước khi thực hiện hành động này.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Giỏ hàng”
3 Hệ thống lấy thông tin giỏ hàng và các sản phẩm trong giỏ hàng
4 Người dùng bấm vào nút “+” hoặc “-” ở sản phẩm ở trong giỏ hàng
5 Hệ thống cập nhật lại số lượng sản phẩm trong giỏ hàng và tổng tiền
Luồng sự kiện phụ Không
Các ngoại lệ 1 Nếu không có sản phẩm nào trong giỏ hàng thì không thể chỉnh sửa
2 Nếu số lượng của sản phẩm là 1 thì nếu bấm nút “-
” thì sẽ xóa sản phẩm khỏi giỏ hàng
3 Nếu số lượng sản phẩm đã đạt giới hạn thì sẽ không thểm bấm nút “+” nữa
Kích hoạt sự kiện khác Không
Bảng 2.10 Đặc tả Use case Chỉnh sửa sản phẩm trong giở hàng
2.11 Xóa sản phẩm khỏi giỏ hàng
Tên use case Xóa sản phẩm khỏi giỏ hàng
Mục đích Xóa sản phẩm không muốn mua nữa ra khỏi giỏ hàng
Để kích hoạt tính năng xóa sản phẩm, người dùng cần nhấn vào nút xóa có biểu tượng thùng rác Lưu ý rằng điều kiện tiên quyết là người dùng phải đã đăng nhập vào hệ thống Sau khi thực hiện thao tác này, không có điều kiện nào khác cần thiết.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Giỏ hàng”
3 Hệ thống lấy thông tin giỏ hàng và các sản phẩm trong giỏ hàng
4 Người dùng bấm vào nút xóa có icon thùng rác trên sản phẩm
5 Hệ thống cập nhật lại giỏ hàng và tổng tiền
Luồng sự kiện phụ 1 Người dùng vào app
2 Người dùng bấm vào tab “Giỏ hàng”
3 Hệ thống lấy thông tin giỏ hàng và các sản phẩm trong giỏ hàng
4 Nếu số lượng của sản phẩm là 1 thì nếu bấm nút “-
” thì sẽ xóa sản phẩm khỏi giỏ hàng
5 Hệ thống cập nhật lại giỏ hàng và tổng tiền
Các ngoại lệ Nếu không có sản phẩm nào trong giỏ hàng thì không thể xóa
Kích hoạt sự kiện khác Không
Bảng 2.11 Đặc tả Use case Xóa sản phẩm khỏi giỏ hàng
Tên use case Thanh toán giỏ hàng
Mục đích Xác nhận đặt các sản phẩm trong giỏ hàng
Người dùng cần đăng nhập để kích hoạt điều kiện thanh toán Khi đã đăng nhập, họ chỉ cần nhấn vào nút “Thanh toán” trong tab “Giỏ hàng” để hoàn tất giao dịch.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Giỏ hàng”
3 Hệ thống lấy thông tin giỏ hàng và các sản phẩm trong giỏ hàng
4 Người dùng bấm vào nút “Thanh toán”
5 Hệ thống kiểm tra hợp lệ và chuyển sang màn hình thanh toán
Luồng sự kiện phụ Không
Các ngoại lệ 1 Nếu không có sản phẩm nào sẽ không được thanh toán
2 Hệ thống thông báo lỗi
Kích hoạt sự kiện khác Không
Bảng 2.12 Đặc tả Use case Thanh toán giỏ hàng
2.13 Xác nhận thanh toán giỏ hàng
Tên use case Xác nhận Thanh toán giỏ hàng
Mục đích Xác nhận đặt các sản phẩm trong giỏ hàng
Để kích hoạt quá trình thanh toán, người dùng cần bấm vào nút “Thanh toán” trong tab “Giỏ hàng” Trước khi thực hiện điều này, người dùng phải đảm bảo đã đăng nhập vào tài khoản của mình Sau khi bấm nút, không có điều kiện nào khác cần phải đáp ứng.
Luồng sự kiện chính 1 Hệ thống hiện thông tin người nhận và các thông tin về đặt hàng
2 Người dùng kiểm tra lại thông tin và bấm vào nút
3 Hệ thống xác nhận người dùng đặt các sản phẩm và tạo ra hóa đơn
4 Hệ thống xóa các sản phẩm có trong giỏ hàng và chuyển về màn hình “Trang chủ”
Luồng sự kiện phụ Không
Các ngoại lệ 1 Nếu sản phẩm không còn đủ số lượng
2 Hệ thống thông báo lỗi và không tiến hành tạo hóa đơn
Kích hoạt sự kiện khác Không
Bảng 2.13 Đặc tả Use case Xác nhận thanh toán giỏ hàng
2.14 Xem danh sách các đơn hàng
Tên use case Xem danh sách các đơn hàng
Mục đích Xem lại lịch sử mua hàng cũng như các đơn hàng mới đặt
Người dùng Khách hàng Điều kiện kích hoạt Người dùng bấm vào nút “Lịch sử mua hàng” ở tab
“Thông tin khách hàng” Điều kiện trước Người dùng đã đăng nhập Điều kiện sau Không
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Thông tin khách hàng”
3 Người dùng bấm vào nút “Lịch sử mua hàng”
4 Hệ thống lấy thông tin các đơn hàng và hiển thị cho người dùng
Luồng sự kiện phụ Không
Các ngoại lệ Người dùng chưa có đơn hàng nào sẽ đc thông báo ở màn hình danh sách các đơn hàng
Kích hoạt sự kiện khác
Bảng 2.14 Đặc tả Use case Xem danh sách các đơn hàng
2.15 Xem chi tiết đơn hàng
Tên use case Xem chi tiết đơn hàng
Mục đích Xem lại chi tiết đơn hàng đã đặt
Người dùng khách hàng cần bấm vào đơn hàng trong màn hình Lịch sử mua hàng để kích hoạt điều kiện Trước khi thực hiện, người dùng phải đảm bảo đã đăng nhập vào tài khoản của mình Sau khi hoàn tất, không có điều kiện nào khác cần phải đáp ứng.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Thông tin khách hàng”
3 Người dùng bấm vào nút “Lịch sử mua hàng”
4 Hệ thống lấy thông tin các đơn hàng và hiển thị cho người dùng
5 Người dùng bấm vào đơn hàng muốn coi
6 Hệ thống lấy thông tin đơn hàng và hiển thị cho người dùng
Luồng sự kiện phụ Không
Các ngoại lệ Người dùng chưa có đơn hàng nào sẽ đc thông báo ở màn hình danh sách các đơn hàng
Kích hoạt sự kiện khác Không
Bảng 2.15 Đặc tả Use case Xem chi tiết các đơn hàng
Tên use case Hủy đơn hàng
Mục đích Hủy đơn hàng đã đặt của khách hàng
Để kích hoạt tính năng hủy đơn hàng, người dùng cần bấm vào nút “Cancel” trong chi tiết đơn hàng Trước khi thực hiện hành động này, người dùng phải đảm bảo đã đăng nhập vào tài khoản của mình Sau khi hủy, không có điều kiện nào khác được áp dụng.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Thông tin khách hàng”
3 Người dùng bấm vào nút “Lịch sử mua hàng”
4 Hệ thống lấy thông tin các đơn hàng và hiển thị cho người dùng
5 Người dùng bấm vào đơn hàng muốn coi
6 Hệ thống lấy thông tin đơn hàng và hiển thị cho người dùng
7 Người dùng bấm vào nút “Hủy” ở trong chi tiết đơn hàng
8 Hệ thống xác nhận và cập nhật lại số lượng sản phẩm có trong cửa hàng
Luồng sự kiện phụ Không
Các ngoại lệ 1 Người dùng chưa có đơn hàng nào sẽ đc thông báo ở màn hình danh sách các đơn hàng
2 Đơn hàng đã đang được vận chuyển sẽ không thể hủy
Kích hoạt sự kiện khác Không
Bảng 2.16 Đặc tả Use case Hủy đơn hàng
Tên use case Xác nhận đơn hàng
Mục đích Xác nhận đã nhận được hàng được giao
Để kích hoạt tính năng, người dùng cần bấm vào nút “Hoàn thành” trong chi tiết đơn hàng Trước khi thực hiện, người dùng phải đảm bảo đã đăng nhập vào tài khoản của mình Sau khi hoàn thành, không có điều kiện nào khác cần thiết.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Thông tin khách hàng”
3 Người dùng bấm vào nút “Lịch sử mua hàng”
4 Hệ thống lấy thông tin các đơn hàng và hiển thị cho người dùng
5 Người dùng bấm vào đơn hàng muốn coi
6 Hệ thống lấy thông tin đơn hàng và hiển thị cho người dùng
7 Người dùng bấm vào nút “Hoàn thành” ở trong chi tiết đơn hàng
8 Hệ thống xác nhận và cập nhật dữ liệu đơn hàng
Luồng sự kiện phụ Không
Các ngoại lệ 1 Người dùng chưa có đơn hàng nào sẽ đc thông báo ở màn hình danh sách các đơn hàng
2 Đơn hàng chưa được vận chuyển sẽ không thể hoành thành
Kích hoạt sự kiện khác Không
Bảng 2.17 Đặc tả Use case Xác nhận đơn hàng
2.18 Xem danh sách sản phẩm
Tên use case Xem danh sách sản phẩm
Mục đích Xem danh sách các sản phẩm mà cửa hàng bán
Người dùng Quản lý Điều kiện kích hoạt Khi người dùng mở app lên Điều kiện trước Không Điều kiện sau Không
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Trang chủ”
3 Hệ thống lấy thông tin các sản phẩm và hiện lên
Luồng sự kiện phụ Người dùng chỉ cần vào là sẽ ở sẳn tab “Trang chủ”
Kích hoạt sự kiện khác Không
Bảng 2.18 Đặc tả Use case Xem danh sách sản phẩm
Tên use case Tìm kiếm sản phẩm
Mục đích Tìm kiếm sản phẩm theo tên sản phẩm trong cửa hàng
Người dùng Quản lý Điều kiện kích hoạt Người dùng bấm vào thanh “Tìm kiếm” và nhập tên sản phẩm Điều kiện trước Không Điều kiện sau Không
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào nút “Tìm kiếm” ở tab “Trang chủ”
3 Người dùng nhập vào tên sản phẩm muốn tìm
4 Hệ thống lọc ra và hiện lên danh sách sản phẩm trùng với tên sản phẩm người dùng đã nhập
Luồng sự kiện phụ Không
Các ngoại lệ Sản phẩm muốn tìm không tồn tại hệ thống sẽ để thông báo ở màn hình search
Kích hoạt sự kiện khác Không
Bảng 2.19 Đặc tả Use case Tìm kiếm sản phẩm
2.20 Xem thông tin sản phẩm
Tên use case Xem thông tin sản phẩm
Mục đích Xem chi tiết thông tin sản phẩm
Người dùng Quản lý Điều kiện kích hoạt Người dùng bấm vào icon hình mắt”ở tab “Trang chủ” Điều kiện trước Không Điều kiện sau Không
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào icon hình mắt ở tab “Trang chủ”
3 Hệ thống lấy thông tin sản phẩm và chuyển sang màn hình chi tiết sản phẩm
Luồng sự kiện phụ 1 Người dùng vào app
2 Người dùng bấm vào nút “Tìm kiếm” ở tab “Trang chủ”
3 Người dùng nhập vào tên sản phẩm muốn tìm
4 Hệ thống lọc ra và hiện lên danh sách sản phẩm trùng với tên sản phẩm người dùng đã nhập
5 Người dùng bấm vào icon hình mắt
6 Hệ thống lấy thông tin sản phẩm và chuyển sang màn hình chi tiết sản phẩm
Kích hoạt sự kiện khác Không
Bảng 2.20 Đặc tả Use case Xem thông tin sản phẩm
Tên use case Thêm sản phẩm
Mục đích Thêm sản phẩm mới vào cửa hàng
Người dùng Quản lý Điều kiện kích hoạt Người dùng bấm vào nút “Thêm sản phẩm” Điều kiện trước Không Điều kiện sau Không
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Trang chủ”
3 Người dùng bấm vào nút “Thêm sản phẩm”
4 Hệ thống hiển thị màn hình thêm sản phẩm
5 Người dùng nhập các thông tin sản phẩm
6 Người dùng bấm vào nút “Thêm”
7 Hệ thống kiểm tra để thêm sản phẩm vào cơ sở dữ liệu và quay lại màn hình Home
Luồng sự kiện phụ Không
Các ngoại lệ 1 Người dùng nhập thiếu trường dữ liệu hoặc để trống
2 Hệ thống thông báo lỗi
Kích hoạt sự kiện khác Không
Bảng 2.21 Đặc tả Use case Thêm sản phẩm
Tên use case Chỉnh sửa sản phẩm
Mục đích Chỉnh sửa thông tin của sản phẩm như giá cả, hình ảnh, giả giá
Người dùng có thể quản lý điều kiện kích hoạt bằng cách nhấn vào nút chỉnh sửa có biểu tượng cây bút trên danh sách sản phẩm Trước khi thực hiện, không có điều kiện nào cần đáp ứng, và sau khi nhấn, cũng không có điều kiện nào thay đổi.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Trang chủ”
3 Người dùng bấm vào nút chỉnh sửa có icon hình cây bút
4 Hệ thống hiện màn hình chỉnh sửa thông tin của sản phẩm được chọn
5 Người dùng nhập các thông tin sản phẩm
6 Người dùng bấm vào nút “Lưu”
7 Hệ thống kiểm tra để cập nhật lại sản phẩm vào cơ sở dữ liệu và quay lại màn hình Trang chủ
Luồng sự kiện phụ 1 Người dùng vào app
2 Người dùng bấm vào nút “Tìm kiếm” ở tab “Trang chủ”
3 Người dùng nhập vào tên sản phẩm muốn tìm
4 Hệ thống lọc ra và hiện lên danh sách sản phẩm trùng với tên sản phẩm người dùng đã nhập
5 Người dùng bấm vào nút chỉnh sửa có icon hình cây bút
6 Hệ thống hiện màn hình chỉnh sửa thông tin của sản phẩm được chọn
7 Người dùng nhập các thông tin sản phẩm
8 Người dùng bấm vào nút “Lưu”
9 Hệ thống kiểm tra để cập nhật lại sản phẩm vào cơ sở dữ liệu và quay lại màn hình Trang chủ
Các ngoại lệ 1 Người dùng nhập thiếu trường dữ liệu hoặc để trống
2 Hệ thống thông báo lỗi
Kích hoạt sự kiện khác Không
Bảng 2.22 Đặc tả Use case Chỉnh sửa sản phẩm
Tên use case Xóa sản phẩm
Mục đích Xóa sản phẩm khỏi cửa hàng
Người dùng có thể quản lý điều kiện kích hoạt bằng cách nhấn vào nút xóa có biểu tượng thùng rác trên danh sách sản phẩm Trước khi thực hiện, không có điều kiện nào cần thiết, và sau khi nhấn nút, cũng không có điều kiện nào được áp dụng.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Trang chủ”
3 Người dùng bấm vào nút xóa có icon thùng rác
4 Hệ thống hiện thông báo xác nhận
6 Hệ thống xóa sản phẩm khỏi cửa hàng
Luồng sự kiện phụ 1 Người dùng vào app
2 Người dùng bấm vào nút “Tìm kiếm” ở tab “Trang chủ”
3 Người dùng nhập vào tên sản phẩm muốn tìm
4 Hệ thống lọc ra và hiện lên danh sách sản phẩm trùng với tên sản phẩm người dùng đã nhập
5 Người dùng bấm vào nút xóa có icon thùng rác
6 Hệ thống hiện thông báo xác nhận
8 Hệ thống xóa sản phẩm khỏi cửa hàng
Các ngoại lệ Người dùng chọn hủy thao tác xóa
Kích hoạt sự kiện khác Không
Bảng 2.23 Đặc tả Use case Xóa sản phẩm
2.24 Xem danh sách các đơn hàng
Tên use case Xem danh sách các đơn hàng
Mục đích Xem các đơn hàng của cửa hàng
Người dùng Quản lý Điều kiện kích hoạt Người dùng bấm vào tab “Quản lý đơn hàng” Điều kiện trước Không Điều kiện sau Không
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Quản lý đơn hàng”
3 Hệ thống lấy thông tin các đơn hàng và hiển thị cho người dùng
Luồng sự kiện phụ Không
Các ngoại lệ Cửa hàng chưa có đơn hàng nào sẽ đc thông báo ở màn hình danh sách các đơn hàng
Kích hoạt sự kiện khác Không
Bảng 2.24 Đặc tả Use case Xem danh sách các đơn hàng
2.25 Xem chi tiết đơn hàng
Tên use case Xem chi tiết đơn hàng
Mục đích Xem chi tiết đơn hàng shop được đặt
Người dùng Quản lý Điều kiện kích hoạt Người dùng bấm vào đơn hàng ở màn hình Quản lý đơn hàng Điều kiện trước Không Điều kiện sau Không
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Quản lý đơn hàng”
3 Hệ thống lấy thông tin các đơn hàng và hiển thị cho người dùng
4 Người dùng bấm vào đơn hàng muốn coi
5 Hệ thống lấy thông tin đơn hàng và hiển thị cho người dùng
Luồng sự kiện phụ Không
Các ngoại lệ Cửa hàng chưa có đơn hàng nào sẽ được thông báo ở màn hình danh sách các đơn hàng
Kích hoạt sự kiện khác Không
Bảng 2.25 Đặc tả Use case Xem chi tiết các đơn hàng
Tên use case Xác nhận đơn hàng
Mục đích Xác nhận đơn hàng của khách hàng và đóng gói sản phẩm
Người dùng Quản lý Điều kiện kích hoạt Người dùng bấm vào nút “Xác nhận” ở màn hình chi tiết đơn hàng Điều kiện trước Không Điều kiện sau Không
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Quản lý đơn hàng”
3 Hệ thống lấy thông tin các đơn hàng và hiển thị cho người dùng
4 Người dùng bấm vào đơn hàng muốn coi
5 Hệ thống lấy thông tin đơn hàng và hiển thị cho người dùng
6 Người dùng bấm vào nút “Xác nhận” ở màn hình chi tiết đơn hàng
7 Hệ thống xác nhận và cập nhật thông tin đơn hàng
Luồng sự kiện phụ Không
Các ngoại lệ 1 Cửa hàng chưa có đơn hàng nào sẽ đc thông báo ở màn hình danh sách các đơn hàng
2 Chỉ được xác nhận các đơn hàng chưa bị hủy hoặc chưa được xác nhận
Kích hoạt sự kiện khác Đơn hàng sẽ chuyển sang chờ vận chuyển giao hàng
Bảng 2.26 Đặc tả Use case Xác nhận đơn hàng
Tên use case Vận chuyển đơn hàng
Mục đích Xác nhận đang vận chuyển đơn hàng đến cho khách hàng
Người dùng có thể quản lý điều kiện kích hoạt bằng cách nhấn nút “Vận chuyển” trên màn hình chi tiết đơn hàng Tuy nhiên, trước khi thực hiện điều này, người dùng cần phải bấm vào nút “Xác nhận” trên cùng màn hình Sau khi hoàn tất các bước này, điều kiện sẽ được thiết lập.
Luồng sự kiện chính 1 Người dùng vào app
2 Người dùng bấm vào tab “Quản lý đơn hàng”
3 Hệ thống lấy thông tin các đơn hàng và hiển thị cho người dùng
4 Người dùng bấm vào đơn hàng muốn coi
5 Hệ thống lấy thông tin đơn hàng và hiển thị cho người dùng
6 Người dùng bấm vào nút “Vận chuyển” ở màn hình chi tiết đơn hàng
7 Hệ thống xác nhận và cập nhật thông tin đơn hàng
Luồng sự kiện phụ Không
Các ngoại lệ 1 Cửa hàng chưa có đơn hàng nào sẽ đc thông báo ở màn hình danh sách các đơn hàng
2 Chỉ được vận chuyển các đơn hàng chưa bị hủy và đã được xác nhận
Kích hoạt sự kiện khác Đơn hàng sẽ chuyển sang chờ xác nhận hoành thành
Bảng 2.27 Đặc tả Use case Vận chuyển đơn hàng
2.28 Xác nhận đơn hàng thành công
Tên use case Xác nhận đơn hàng thành công
Mục đích Xác nhận đơn hàng đã được giao thành công cho khách hàng
THIẾT KẾ
T HIẾT KẾ DỮ LIỆU
1.1.2 Mô tả chi tiết từng lớp đối tượng
Hình 3.2 Lớp đối tượng User
STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
1 UserID String Private Id của người dùng
2 UserName String Private Tên người dùng
3 UserEmail String Private Email người dùng
4 UserPassword String Private Mật khẩu người dùng
5 UserPhone String Private Số điện thoại người dùng
6 UserAddress String Private Địa chỉ người dùng
Bảng 3.1 Danh sách thuộc tính lớp User
Ràng buộc Ý nghĩa/ghi chú
1 GetUser(UserID) User Public Lấy Thông tin người dùng
2 SetUser(UserID) Void Public Thay đổi thông tin người dùng
3 AddUser() Void Public Thêm người dùng
Bảng 3.2 Danh sách phương thức lớp User
Hình 3.3 Lớp đối tượng Cart
STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
1 UserID String Private Id của người dùng
2 CartID String Private Id của giỏ hàng
Bảng 3.3 Danh sách thuộc tính lớp Cart
STT Tên phương thức Kiểu trả về Ràng buộc Ý nghĩa/ghi chú
Public Lấy danh sách các chi tiết giỏ hàng
Void Public Xóa danh sách các chi tiết giỏ hàng
3 AddCart (UserID) Void Public Thêm giỏ hàng
Bảng 3.4 Danh sách phương thức lớp Cart
Hình 3.4 Lớp đối tượng CartDetail
STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
1 CartID String Private Id giỏ hàng
2 ProductID String Private Id sản phẩm
3 ProductName String Private Tên sản phẩm
4 ProductPrice String Private Giá sản phẩm
5 ProductDiscount String Private Phần trăm giảm giá của sản phẩm
6 ProductImage String Private Link hình ảnh sản phẩm
7 Quantum Int Private Số lượng sản phẩm trong giỏ hàng
Bảng 3.5 Danh sách thuộc tính lớp CartDetail
STT Tên phương thức Kiểu trả về
Ràng buộc Ý nghĩa/ghi chú
CartDetail Public Lấy chi tiết giỏ hàng
Void Public Chỉnh sửa chi tiết giỏ hàng
Void Public Thêm chi tiết giỏ hàng
Void Public Xóa chi tiết giỏ hàng
Bảng 3.6 Danh sách phương thức lớp CartDetail
Hình 3.5 Lớp đối tượng Product
STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
1 ProductID String Private Id sản phẩm
2 ProductName String Private Tên sản phẩm
3 ProductPrice String Private Giá sản phẩm
4 ProductDiscount String Private Phần trăm giảm giá của sản phẩm
5 ProductImage String Private Link hình ảnh sản phẩm
6 Quantum Int Private Số lượng sản phẩm trong cửa hàng
7 ProductDetail String Private Chi tiết thành phẩn của sản phẩm
8 ProductHowToUse String Private Các sử dụng sản phẩm
Bảng 3.7 Danh sách thuộc tính lớp Product
STT Tên phương thức Kiểu trả về Ràng buộc Ý nghĩa/ghi chú
1 GetProduct(ProductID) Product Public Lấy chi tiết sản phẩm
2 SetProduct(ProductID) Void Public Chỉnh sửa chi tiết sản phẩm
3 AddProduct(ProductID) Void Public Thêm sản phẩm
4 DeleteProduct(ProductID) Void Public Xóa sản phẩm
Bảng 3.8 Danh sách phương thức lớp Product
Hình 3.6 Lớp đối tượng Order
STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
1 UserID String Private Id của người dùng
2 OrderID String Private Id đơn hàng
3 NameReceiver String Private Tên người nhận
4 PhoneReceiver String Private Số điện thoại nhận hàng
5 EmailReceiver String Private Email người nhận
6 AddressReceiver String Private Địa chỉ nhận hàng
7 DateMakeOrder DateTime Private Ngày tạo đơn hàng
8 ShippingMethod String Private Phương thức vận chuyển
9 PaymentMethod String Private Phương thức thanh toán
10 Status String Private Tình trạng
Bảng 3.9 Danh sách thuộc tính lớp Order
STT Tên phương thức Kiểu trả về Ràng buộc Ý nghĩa/ghi chú
1 GetOrder(UserID) Order Public Lấy chi tiết đơn hàng
2 SetOrder(OrderID) Void Public Chỉnh sửa chi tiết đơn hàng
3 AddOrder(UserID) Void Public Thêm đơn hàng
Void Public Lấy danh sách các chi tiết đơn hàng
Bảng 3.10 Danh sách phương thức lớp Order
Hình 3.7 Lớp đối tượng OrderDetail
STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
1 OrderID String Private Id đơn hàng
2 ProductID String Private Id sản phẩm
3 ProductName String Private Tên sản phẩm
4 ProductPrice String Private Giá sản phẩm
5 ProductDiscount String Private Phần trăm giảm giá của sản phẩm
6 ProductImage String Private Link hình ảnh sản phẩm
7 Quantum Int Private Số lượng sản phẩm trong đơn hàng
Bảng 3.11 Danh sách thuộc tính lớp OrderDetail
STT Tên phương thức Kiểu trả về Ràng buộc Ý nghĩa/ghi chú
OrderDetail Public Lấy thông tin chi tiết đơn hàng
Void Public Thêm chi tiết đơn hàng
Bảng 3.12 Danh sách phương thức lớp OrderDetail
1.2 Sơ đồ cơ sở dữ liệu
Hình 3.8 Sơ đồ cơ sở dữ liệu
STT Tên bảng dữ liệu Giải thích
1 User Thông tin của khách hàng
2 Cart Chứa thông tin của giỏ hàng của khách hàng nào
3 CartDetail Chứa thông tin các sản phẩm trong giỏ hàng của khách hàng
4 Order Chứa thông tin các đơn đặt hàng của khách hàng
5 OrderDetail Chứa thông tin các sản phẩm trong đơn đặt hàng
6 Product Chứa thông tin của sản phẩm trong cửa hàng
Bảng 3.13 Danh sách các bảng dữ liệu
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 UserID String ID của khách hàng
2 UserName String Tên của khách hàng
3 UserEmail String Email của khách hàng
4 UserPassword String Password của khách hàng
5 UserPhone String Số điện thoại của khách hàng
6 UserAddress String Địa chỉ của khách hàng
Bảng 3.14 Danh sách thuộc tính bảng User
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 CartID String ID của giỏ hàng
2 UserID String ID của khách hàng
Bảng 3.15 Danh sách thuộc tính bảng Cart
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 CardID String ID của giỏ hàng
2 ProductID String ID của sản phẩm
3 ProductName String Tên của sản phẩm
4 ProductPrice String Giá của sản phẩm
5 ProductDiscount String Phần trăm giảm giá của sản phẩm
6 ProductImage String Link hình ảnh của sản phẩm
7 Quantum Int Số lượng của sản phẩm trong giỏ hàng
Bảng 3.16 Danh sách thuộc tính bảng CartDetail
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 OrderID String ID của hóa đơn
2 UserID String ID của khách hàng
3 NameReceiver String Tên của người nhận
4 PhoneReceiver String Số điện thoại của người nhận
5 EmailReceiver String Email của người nhận
6 AddressReceiver String Địa chỉ nhận hàng của người nhận
7 DateMakeOrder DateTime Ngày đặt đơn hàng
8 PaymentMethod String Phương thức thanh toán
9 ShippingMethod String Phương thức vận chuyển
10 IsCancel Bool Đơn hàng có bị hủy hay không
11 IsCompleteReceiver Bool Khách hàng đã nhận được hàng
12 IsCompleteAdmin Bool Admin đã giao hàng
13 IsWaitting Bool Đơn hàng vẫn còn đang chờ
14 IsShipping Bool Đơn hàng được vận chuyển chưa
15 IsAccess Bool Đơn hàng đã được xác nhận
Bảng 3.17 Danh sách thuộc tính bảng Order
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 OrderID String ID đơn hàng
2 ProductID String ID của sản phẩm
3 ProductName String Tên của sản phẩm
4 ProductPrice String Giá của sản phẩm
5 ProductDiscount String Phần trăm giảm giá của sản phẩm
6 ProductImage String Link hình ảnh của sản phẩm
7 Quantum Int Số lượng của sản phẩm trong đơn hàng
Bảng 3.18 Danh sách thuộc tính bảng OrderDetail
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 ProductID String ID của sản phẩm
2 ProductName String Tên của sản phẩm
3 ProductPrice String Giá của sản phẩm
4 ProductDiscount String Phần trăm giảm giá của sản phẩm
5 ProductImage String Link hình ảnh của sản phẩm
6 ProductQuantum Int Số lượng của sản phẩm trong đơn hàng
7 ProductHowToUse String Cách sử dụng của sản phẩm
8 ProductDetail String Chi tiết thành phần trong sản phẩm
Bảng 3.19 Danh sách thuộc tính bảng Product
T HIẾT KẾ KIẾN TRÚC
Tổng quan kiến trúc hệ thống của nhóm là mô hình Client – Server
Mô hình mạng máy tính Client-Server bao gồm hai thành phần chính: máy khách (Client) và máy chủ (Server) Trong mô hình này, máy chủ chịu trách nhiệm lưu trữ dữ liệu, cài đặt các chương trình dịch vụ và thực hiện các yêu cầu từ máy khách Ngược lại, máy khách có nhiệm vụ gửi yêu cầu đến máy chủ để nhận thông tin và dịch vụ cần thiết.
Điện thoại hoạt động như một máy khách trong mô hình client-server, chỉ sử dụng dữ liệu từ máy chủ mà không cung cấp dữ liệu Tuy nhiên, một máy khách có thể đóng vai trò là máy chủ cho mô hình khác, tùy thuộc vào nhu cầu của người dùng.
Firebase là dịch vụ cơ sở dữ liệu dựa trên nền tảng đám mây, hoạt động như một máy chủ cung cấp tài nguyên và dịch vụ cho các máy khách trong mạng Máy chủ này hỗ trợ tối ưu hóa các hoạt động trên máy khách, giúp nâng cao hiệu suất và hiệu quả làm việc.
Client và Server giao tiếp thông qua các phương thức giao tiếp được cung cấp bởi dịch vụ Firebase.
T HIẾT KẾ GIAO DIỆN
3.1 Sơ đồ liên kết các màn hình
Hình 3.9 Sơ đồ liên kết các màn hình
3.2 Mô tả từng màn hình
Hình 3.10 Màn hình đăng nhập
Bảng 3.20 Mô tả màn hình đăng nhập
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Nhập email Dùng để nhập email để đăng nhập
2 Nhập mật khẩu Dùng để nhập mật khẩu để đăng nhập
3 Đăng nhập Tiến hành đăng nhập cho người dùng
Người dùng bấm vào nút Đăng nhập
4 Quên mật khẩu Dùng để đổi mật khẩu nếu quên
Người dùng bấm vào dòng Quên mật khẩu
5 Đăng ký Chuyển sang màn hình đăng ký
Người dùng bấm vào dòng Đăng ký
Hình 3.11 Màn hình đăng ký
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình đăng nhập
Người dùng bấm vào nút mũi tên quay lại
Dùng để nhập tên người dùng để đăng ký
Bảng 3.21 Mô tả màn hình đăng ký
Dùng để nhập số điện thoại người dùng để đăng ký
4 Nhập email Dùng để nhập email để đăng ký
5 Nhập mật khẩu Dùng để nhập mật khẩu để đăng ký
6 Nhập lại mật khẩu Dùng để nhập lại mật khẩu để đăng ký
7 Đăng ký Tiến hành đăng ký cho người dùng
Người dùng bấm vào nút Đăng ký
8 Đăng nhập Dùng để quay lại màn hình đăng nhập
Người dùng bấm vào dòng Đăng nhập
3.2.3 Màn hình quên mật khẩu
Hình 3.12 Màn hình quên mật khẩu
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình đăng nhập
Người dùng bấm vào nút mũi tên quay lại
Dùng để nhập email tài khoản quên mật khẩu
3 Đổi mật khẩu Tiến hành gửi mail reset mật khẩu
Người dùng bấm vào nút Cài lại mật khẩu
Bảng 3.22 Mô tả màn hình quên mật khẩu
Hình 3.13 Màn hình trang chủ
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Tìm kiếm Dùng để chuyển sang màn hình tìm kiếm
Người dùng bấm vào nút hình icon kính lúp
2 Sản phẩm Hiện thông tin cơ bản của sản phẩm
Nếu nhấn vào sẽ chuyển sang chi tiết sản phẩm
3 Trang chủ Tab trang chủ của ứng dụng
Người dùng bấm vào nút icon ngôi nhà
Tab thông tin người dùng
Người dùng bấm vào nút icon người
5 Giỏ hàng Tab giỏ hàng người dùng
Người dùng bấm vào nút icon giỏ hàng
Bảng 3.23 Mô tả màn hình trang chủ
Hình 3.14 Màn hình tìm kiếm
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình trang chủ
Người dùng bấm vào nút mũi tên quay lại
2 Tìm kiếm Dùng để nhập tên sản phẩm muốn tìm
Người dùng nhấn vào chữ Search và nhập tên sản phẩm
3 Sản phẩm Hiện thông tin cơ bản của sản phẩm
Nếu nhấn vào sẽ chuyển sang chi tiết sản phẩm
Bảng 3.24 Mô tả màn hình tìm kiếm
3.2.6 Màn hình chi tiết sản phẩm
Hình 3.15 Màn hình chi tiết sản phẩm
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
2 Hình ảnh Hiển thị hình ảnh của sản phẩm
3 Thông tin sản phẩm Hiển thị thông tin của sản phẩm
4 Thành phần sản phẩm Hiển thị thành phần của sản phẩm
5 Hướng dẫn sử dụng Hiển thị các sử dụng sản phẩm
6 Đánh giá và bình luận
Hiển thị đánh giá và bình luận của các khách hàng
Khách hàng thêm sản phẩm vào giỏ hàng
Người dùng bấm vào nút Thêm vào giỏ hàng
Bảng 3.25 Mô tả màn hình chi tiết sản phẩm
3.2.7 Màn hình thông tin người dùng
Hình 3.16 Màn hình thông tin người dùng
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Trang chủ Tab trang chủ của ứng dụng
Người dùng bấm vào nút icon ngôi nhà
Tab thông tin người dùng
Người dùng bấm vào nút icon người
3 Giỏ hàng Tab giỏ hàng người dùng
Người dùng bấm vào nút icon giỏ hàng
Hiện lên thông tin người dùng
5 Chỉnh sửa thông tin người dùng
Chuyển sang màn hình chỉnh sửa thông tin người dùng
Người dùng bấm vào nút icon cây bút
Chuyển sang màn hình lịch sử đơn hàng
Người dùng bấm vào nút icon đi qua ở Lịch sử mua hàng
Chuyển sang màn hình chỉnh sửa địa chỉ
Người dùng bấm vào nút icon đi qua ở Đổi địa chỉ
8 Đổi mật khẩu Chuyển sang màn hình đổi mật khẩu
Người dùng bấm vào nút icon đi qua ở Đổi mật khẩu
9 Đăng xuất Đăng xuất khỏi tài khoản
Người dùng bấm vào nút Đăng xuất
Bảng 3.26 Mô tả màn hình thông tin người dùng
Hình 3.17 Màn hình giỏ hàng
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Trang chủ Tab trang chủ của ứng dụng
Người dùng bấm vào nút icon ngôi nhà
2 Thông tin người dùng Tab thông tin người dùng
Người dùng bấm vào nút icon người
3 Giỏ hàng Tab giỏ hàng người dùng
Người dùng bấm vào nút icon giỏ hàng
4 Thông tin của sản phẩm Hiện lên thông tin của sản phẩm
5 Giảm số lượng sản phẩm
Giảm số lượng sản phẩm xuống
Người dùng bấm vào icon dấu trừ
6 Tăng số lượng sản phẩm
Tăng số lượng sản phẩm lên 1 đơn vị
Người dùng bấm vào icon dấu +
7 Xóa sản phẩm khỏi giỏ hàng
Xóa sản phẩm khỏi giỏ hàng
Người dùng bấm vào icon thùng rác
Hiển thị tổng tiền trong giỏ hàng
9 Thanh toán Tiến hành thanh toán đặt hàng
Người dùng bấm vào nút Thanh toán
Bảng 3.27 Mô tả màn hình giỏ hàng
3.2.9 Màn hình thanh toán giỏ hàng
Hình 3.18 Màn hình thanh toán giỏ hàng
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
2 Thông tin người nhận Hiển thị thông tin người nhận
3 Địa chỉ người nhận Hiển thị địa chỉ người nhận
Người dùng chọn phương thức vận chuyển
Người dùng chọn 1 trong cái lựa chọn
Người dùng chọn phương thức thanh toán
Người dùng chọn 1 trong cái lựa chọn
6 Thông tin các sản phẩm
Hiển thị danh sách thông tin cơ bản các sản phẩm
Nếu nhấn vào sẽ chuyển sang chi tiết sản phẩm
7 Thanh toán Người dùng xác nhận đặt hàng
Người dùng bấm vào nút Thanh toán
Bảng 3.28 Mô tả màn hình thanh toán giỏ hàng
3.2.10 Màn hình thay đổi thông tin
Hình 3.19 Màn hình thay đổi thông tin
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
2 Nhập họ tên Người dùng nhập lại tên người dùng
Người dùng nhập lại số điện thoại mới
4 Lưu Lưu lại thông tin mới của người dùng
Người dùng bấm vào nút icon Lưu
Bảng 3.29 Mô tả màn hình thay đổi thông tin
3.2.11 Màn hình đổi địa chỉ
Hình 3.20 Màn hình đổi địa chỉ
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
2 Nhập địa chỉ Người dùng nhập địa chỉ của người dùng
3 Lưu Lưu lại địa chỉ mới của người dùng
Người dùng bấm vào nút icon Lưu
Bảng 3.30 Mô tả màn hình đổi địa chỉ
3.2.12 Màn hình đổi mật khẩu
Hình 3.21 Màn hình đổi mật khẩu
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
2 Nhập mật khẩu cũ Người dùng nhập mật khẩu hiện tại
3 Nhập mật khẩu mới Người dùng nhập mật khẩu mới
4 Xác nhận mật khẩu Người dùng nhập lại mật khẩu mới
5 Lưu Đổi mật khẩu mới cho người dùng
Người dùng bấm vào nút icon Lưu
Bảng 3.31 Mô tả màn hình đổi mật khẩu
3.2.13 Màn hình danh sách đơn hàng của khách hàng
Hình 3.22 Màn hình danh sách đơn hàng của khách hàng
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
Hiển thị tất cả đơn hàng của người dùng
Người dùng bấm vào chữ Tất cả
Hiển thị tất cả đơn hàng đang ở trạng thái chờ
Người dùng bấm vào chữ Chờ
Hiển thị tất cả đơn hàng đang ở trạng thái hoành thành
Người dùng bấm vào chữ Hoàn thành
Hiển thị tất cả đơn hàng đang ở trạng thái bị hủy
Người dùng bấm vào chữ Hủy
Hiển thị thông tin cơ bản của đơn hàng
Nếu nhấn vào sẽ chuyển sang chi tiết đơn hàng
Bảng 3.32 Mô tả màn hình danh sách đơn hàng của khách hàng
3.2.14 Màn hình chi tiết đơn hàng
Hình 3.23 Màn hình chi tiết đơn hàng
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
2 Thông tin người nhận Hiển thị thông tin người nhận
3 Địa chỉ người nhận Hiển thị địa chỉ người nhận
4 Phương thức vận chuyển Hiển thị phương thức vận chuyển
5 Phương thức thanh toán Hiển thị phương thức thanh toán
6 Thông tin các sản phẩm
Hiển thị danh sách thông tin cơ bản các sản phẩm
Nếu nhấn vào sẽ chuyển sang chi tiết sản phẩm
Người dùng xác nhận hủy đơn hàng
Người dùng bấm vào nút Hủy
Nếu đơn hàng chưa được vận chuyển
Bảng 3.33 Mô tả màn hình chi tiết đơn hàng
3.2.15 Màn hình xác nhận hoàn thành đơn hàng
Hình 3.24 Màn hình xác nhận hoàn thành đơn hàng
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
2 Thông tin người nhận Hiển thị thông tin người nhận
3 Địa chỉ người nhận Hiển thị địa chỉ người nhận
4 Phương thức vận chuyển Hiển thị phương thức vận chuyển
5 Phương thức thanh toán Hiển thị phương thức thanh toán
6 Thông tin các sản phẩm
Hiển thị danh sách thông tin cơ bản các sản phẩm
Nếu nhấn vào sẽ chuyển sang chi tiết sản phẩm
Người dùng xác nhận đã nhận được hàng
Người dùng bấm vào nút Hoàn thành
Chỉ bấm khi nhận được hàng
Bảng 3.34 Mô tả màn hình xác nhận hoàn thành đơn hàng
3.2.16 Màn hình quản lý danh sách sản phẩm
Hình 3.25 Màn hình quản lý danh sách sản phẩm
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
Tab Trang chủ của ứng dụng admin
Người dùng bấm vào nút icon ngôi nhà
2 Danh sách Tab danh sách các đơn hàng
Người dùng bấm vào nút icon hình sách
Dùng để tìm kiếm sản phẩm theo tên
Người dùng bấm thanh tìm kiếm
4 Thêm sản phẩm Dùng để thêm sản phẩm
Người dùng bấm vào nút Thêm sản phẩm
5 Chi tiết sản phẩm Hiển thị chi tiết sản phẩm
6 Xem thông tin chi tiết sản phẩm
Dùng để xem chi tiết sản phẩm như khách hàng
Người dùng bấm vào nút icon hình mắt
Dùng để chỉnh sửa thông tin sản phẩm
Người dùng bấm vào nút icon hình bút
Dùng để xóa sản phẩm khỏi cửa hàng
Người dùng bấm vào nút icon hình thùng rác
Bảng 3.35 Mô tả màn hình quản lý danh sách sản phẩm
3.2.17 Màn hình quản lý danh sách đơn hàng
Hình 3.26 Màn hình quản lý danh sách đơn hàng
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Trang chủ Tab Trang chủ của ứng dụng admin
Người dùng bấm vào nút icon ngôi nhà
2 Danh sách đơn hàng Tab danh sách các đơn hàng
Người dùng bấm vào nút icon hình sách
Hiển thị tất cả đơn hàng đang ở trạng thái chờ
Người dùng bấm vào chữ Chờ
Hiển thị tất cả đơn hàng đang ở trạng thái hoành thành
Người dùng bấm vào chữ Hoàn thành
Hiển thị tất cả đơn hàng đang ở trạng thái bị hủy
Người dùng bấm vào chữ Hủy
6 Thông tin đơn hàng Hiển thị thông tin cơ bản của đơn hàng
Nếu nhấn vào sẽ chuyển sang chi tiết đơn hàng
Bảng 3.36 Mô tả màn hình quản lý danh sách đơn hàng
3.2.18 Màn hình xác nhận đơn hàng
Hình 3.27 Màn hình xác nhận đơn hàng
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
2 Thông tin người nhận Hiển thị thông tin người nhận
3 Địa chỉ người nhận Hiển thị địa chỉ người nhận
Hiển thị phương thức vận chuyển
5 Phương thức thanh toán Hiển thị phương thức thanh toán
6 Thông tin các sản phẩm
Hiển thị danh sách thông tin cơ bản các sản phẩm
Nếu nhấn vào sẽ chuyển sang chi tiết sản phẩm
7 Xác nhận đơn hàng Người dùng xác nhận đơn hàng
Người dùng bấm vào nút Xác nhận
Chỉ bấm khi đơn hàng chưa bị hủy
Bảng 3.37 Mô tả màn hình xác nhận đơn hàng
3.2.19 Màn hình xác nhận vận chuyển
Hình 3.28 Màn hình xác nhận vận chuyển
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
Hiển thị thông tin người nhận
Hiển thị địa chỉ người nhận
Hiển thị phương thức vận chuyển
Hiển thị phương thức thanh toán
6 Thông tin các sản phẩm
Hiển thị danh sách thông tin cơ bản các sản phẩm
Nếu nhấn vào sẽ chuyển sang chi tiết sản phẩm
Người dùng xác nhận đơn hàng đang được vận chuyển
Người dùng bấm vào nút Vận chuyển
Chỉ bấm khi đơn hàng đã xác nhận
Bảng 3.38 Mô tả màn hình xác nhận vận chuyển
3.2.20 Màn hình xác nhận đã vận chuyển xong đơn hàng
Hình 3.29 Màn hình xác nhận đã vận chuyển xong hàng
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
2 Thông tin người nhận Hiển thị thông tin người nhận
3 Địa chỉ người nhận Hiển thị địa chỉ người nhận
4 Phương thức vận chuyển Hiển thị phương thức vận chuyển
5 Phương thức thanh toán Hiển thị phương thức thanh toán
6 Thông tin các sản phẩm
Hiển thị danh sách thông tin cơ bản các sản phẩm
Nếu nhấn vào sẽ chuyển sang chi tiết sản phẩm
Người dùng xác nhận đã đã giao hàng
Người dùng bấm vào nút Đã giao hàng
Chỉ bấm khi nhận giao hàng xong
Bảng 3.39 Mô tả màn hình xác nhận đã vận chuyển xong hàng
3.2.21 Màn hình thêm sản phẩm
Hình 3.30 Màn hình thêm sản phẩm
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
2 Tên sản phẩm Người dùng nhập vào tên sản phẩm
3 Giá Người dùng nhập vào giá sản phẩm
Người dùng nhập vào phần trăm giảm giá sản phẩm
Người dùng nhập vào thành phần sản phẩm
Người dùng nhập vào cách dùng sản phẩm
Người dùng nhập vào số lượng sản phẩm
8 Chọn ảnh Người dùng chọn ảnh cho sản phẩm
Người dùng bấm vào nút Chọn ảnh
9 Ảnh Hiển thị ảnh sau khi chọn
Người dùng xác nhận thêm sản phẩm vào cửa hàng
Người dùng bấm vào nút Thêm
Bảng 3.40 Mô tả màn hình thêm sản phẩm
3.2.22 Màn hình chỉnh sửa sản phẩm
Hình 3.31 Màn hình chỉnh sửa sản phẩm
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
2 Tên sản phẩm Người dùng chỉnh sửa tên sản phẩm
3 Giá Người dùng chỉnh sửa giá sản phẩm
Người dùng chỉnh sửa phần trăm giảm giá sản phẩm
Người dùng chỉnh sửa thành phần sản phẩm
Người dùng chỉnh sửa cách dùng sản phẩm
Người dùng chỉnh sửa số lượng sản phẩm
Người dùng chọn ảnh mới cho sản phẩm
Người dùng bấm vào nút Chọn ảnh
9 Ảnh Hiển thị ảnh của sản phẩm
Người dùng xác nhận chỉnh sửa thông tin sản phẩm
Người dùng bấm vào nút Lưu
Bảng 3.41 Mô tả màn hình chỉnh sửa sản phẩm
3.2.23 Màn hình chi tiết sản phẩm
Hình 3.32 Màn hình chi tiết sản phẩm
STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú
1 Quay lại Dùng để quay lại màn hình trước đó
Người dùng bấm vào nút mũi tên quay lại
2 Hình ảnh Hiển thị hình ảnh của sản phẩm
Hiển thị thông tin của sản phẩm
Hiển thị thành phần của sản phẩm
Hiển thị các sử dụng sản phẩm
6 Đánh giá và bình luận
Hiển thị đánh giá và bình luận của các khách hàng
Bảng 3.42 Mô tả màn hình chi tiết sản phẩm