CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM Danh sách mã giảm giá: Hiển thị danh sách mã giảm giá Tính toán Thống kê các thông tin như số người dùng, số đơn hàng, số sản phẩm, tổng giá trị hóa đơn. Chức năng quản lý Quản lý Đăng ký tài khoản người dùng Đăng nhập Chỉnh sửa thông tin cá nhân Đổi mật khẩu Quên mật khẩu Quản lý địa chỉ Quản lý Thêm, xóa, sửa danh mục danh mục sản phẩm Quản lý Thêm, xóa, sửa thương hiệu thương hiệu Quản lý sản Thêm, xóa sửa sản phẩm phẩm Quản lý mã Thêm, xóa, sửa mã giảm giá giảm giá Chức năng tự động Gửi thông Gửi thông báo khi người dùng xác nhận đặt báo hàng và tình trạng đơn hàng 1. Yêu cầu phi chức năng phần website Bảng 2 Yêu cầu phi chức năng phần website Yêu cầu Mô tả Chi tiết Chương trình xây Xây dựng Sử dụng Springboot và React. dựng trên tiêu chuẩn mô hình Cấu trúc request và response theo mẫu 11 CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM Code cần có comment Thiết bị sử dụng Trình duyệt Hỗ trợ Chrome version ≥ 40.0 web Hỗ trợ Firefox version ≥ 52.0 Hỗ trợ Microsoft Edge version ≥ 88.0 Tốc độ và thời gian Tốc độ và Thời gian tối đa xử lý dữ liệu : 10 giây xử lý thời gian xử Trong lúc xử lý phải hiển thị loading để tránh lý phải gây hiểu nhầm nhanh Thông báo Đưa thông Thông báo cụ thể về lỗi, cách sử dụng, thông báo cụ thể tin thao tác một cách cụ thể nhất, không lan man.
Bảo mật trên trình Thông tin Tự động đăng xuất sau khoảng 10 phút duyệt session không hoạt động của người dùng. Yêu cầu chức năng phần app Bảng 2 Chức năng phần app Yêu cầu Mô tả Chi tiết Yêu cầu nghiệp vụ Bảo mật Bảo mật thông tin, phiên làm việc của người dùng bằng JWT Phân quyền người dùng trong hệ thống: Có hai quyền cơ bản được xác định trong ứng dụng là: MANAGER và SHIPPER. Lưu trữ Thông tin người dùng, sản phẩm, danh mục, thương hiệu,. được lưu trữ trên bộ nhớ của cơ sở dữ liệu MySQL Thư viện hình ảnh được lưu trữ trên AWS S3 và lưu trữ trong cơ sở dữ liệu dưới dạng url 12 CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM Tra cứu Tra cứu tình trạng đơn hàng Danh sách hóa đơn và chi tiết hóa Tính toán Thống kê các thông tin như số shipper, số đơn hàng, số sản phẩm, tổng giá trị hóa đơn.
Chức năng quản lý Quản lý người Đăng ký tài khoản dùng Đăng nhập Chỉnh sửa thông tin cá nhân Đổi mật khẩu Quên mật khẩu Quản lý đơn Lên lịch giao đơn, giao đơn, theo dõi, xác nhận hàng đơn hàng Quản lý danh Xem thông tin danh thu của shipper thu Chức năng tự động Gửi thông Gửi thông báo khi shipper giao thành công báo hoặc nhận đơn 1. Yêu cầu phi chức năng phần app Bảng 3 Chức năng phi yêu cầu phần app Yêu cầu Mô tả Chi tiết Chương trình xây Xây dựng Sử dụng Springboot và ReactNative. dựng trên tiêu mô hình Cấu trúc request và response theo mẫu chuẩn Code cần có comment Thiết bị sử dụng Android Thời gian tối đa xử lý dữ liệu : 10 giây 13 CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM Tốc độ và thời gian Tốc độ và Trong lúc xử lý phải hiển thị loading để tránh xử lý thời gian xử gây hiểu nhầm lý phải nhanh Thông báo Đưa thông Thông báo cụ thể về lỗi, cách sử dụng, thông báo cụ thể tin thao tác một cách cụ thể nhất, không lan man. Mô tả usecase 1.
Lược đồ usecase tổng quan Lượt đồ website: Lượt đồ app shipper: 14 CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM 1. Lược đồ usecase chi tiết Phần website 1.1 Use case đăng nhập Bảng 4 Chi tiết usecase đăng nhập Use Case ID UC-2 Use Case Name Đăng nhập hệ thống Description Đăng nhập vào website của hệ thống này Actor(s) Khách hàng , admin Pre-Condition(s) Có tài khoản cá nhân đã được tạo Post-Condition(s) Xác thực đăng nhập thành công Basic Flow Người dùng truy cập trang đăng nhập của website Nhập thông tin tương ứng vào form đăng nhập Nhấp chọn nút đăng nhập Hệ thống tiến hành xác thực đăng nhập và gửi thông báo 15 CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM Ứng dụng thông báo đăng nhập thành công và chuyển hướng vào màn hình chính Alternative Flow Exception Flow E5 Xác thực thất bại và ứng dụng hiển thị thông báo “Đăng nhập không thành công, vui lòng kiểm tra lại tài khoản và mật khẩu” Usecase quay lại bước 2 Business Rules BR1: Người dùng nhập sai thông tin đăng nhập ở lần thứ 6 liên tiếp sẽ bị khóa tài khoản 30 phút. Non-Functional NFR1: Mật khẩu của người dùng phải được hash Requirement 1. Use case đổi mật khẩu Bảng 5 Chi tiết usecase đổi mật khẩu Use Case ID UC-3 Use Case Name Đổi mật khẩu Description Quy trình đổi mật khẩu của người dùng Actor(s) Customer, admin Pre-Condition(s) Đã đăng nhập vào hệ thống Post-Condition(s) Thay đổi mật khẩu mới thành công 16 CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM 1.
Truy cập vào trang thông tin cá nhân Basic Flow 2. Chọn “Đổi mật khẩu” 3. Nhập mật khẩu hiện tại và mật khẩu mới 4. Hệ thống xác thực mật khẩu 5.
Hệ thống thông báo thay đổi mật khẩu thành công Alternative Flow Exception Flow E4 Mật khẩu khẩu xác thực tất bại E4.1 Mật khẩu cũ không chính xác E4.2 Mật khẩu mới không đủ mạnh Business Rules BR1: Mật khẩu mới không giống mật khẩu cũ BR2: Mật khẩu mới phải tuân thủ các yêu cầu về độ an toàn (ít nhất 8 ký tự, bao gồm chữ, số và ký tự đặc biệt) Non-Functional Requirement Usecase quên mật khẩu 1 Bảng 6 Chi tiết usecase chỉnh sửa thông tin cá nhân 1. Use case xem và sửa thông tin cá nhân Use Case ID UC-4 Use Case Name Xem và sửa thông tin cá nhân Description Quy trình xem và sửa thông tin cá nhân của người dùng Actor(s) Customer 17 CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM Pre-Condition(s) Đã đăng nhập vào hệ thống Post-Condition(s) Thông tin được cập nhật thành công 1. Truy cập vào trang thông tin cá nhân Basic Flow 2. Hệ thống hiển thị thông tin của người dùng 3.
Người dùng nhập thông tin mới 4. Hệ thống thông báo xác nhận đổi mật khẩu 6. Hệ thống xác thực thông tin mới 7. Hệ thống thông báo cập nhật thông tin thành công Alternative Flow A5.
Người dùng chọn “Hủy” không muốn sửa thông tin Use case quay lại bước 2 Exception Flow E6. Hệ thống xác thực thông tin thất bại Business Rules Non-Functional Requirement Xem và sửa thông tin 1 1. Use case xem danh sách sản phẩm Bảng 7 Xem danh sách sản phẩm Use Case Id UC-5 Use Case Name Xem danh sách sản phẩm Description Cho phép người dùng xem danh sách sản phẩm, lọc và tìm kiếm sản phẩm 18 CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM Actor(s) Khách hàng Priority High Trigger Người dùng muốn xem danh sách các sản phẩm Pre-Condition Người dùng đã truy cập vào website Thiết bị người dùng được kết nối internet khi sử dụng Post-Condition Không có Basic Flow 1. Người dùng truy cập vào trang sản phẩm 2.
Hệ thống hiển thị danh sách sản phẩm 3. Nguời dùng nhấn vào sản phẩm bất kỳ để xem thông tin chi tiết 4. Hệ thống hiển thị chi tiết sản phẩm Alternative A.2:Người dùng chọn danh mục sản phẩm Flow Tiếp tục thực hiện bước 2 A.4:Người đùng nhập tên sản phẩm vào trường tìm kiếm Tiếp tục thực hiện bước 2 Exception Flow Người dùng nhập tên sản phẩm không tồn tại trong hệ thống Hệ thống báo danh sách sản phẩm trống Business Rules Không có Non-Functional Không có Requirement 1. Use case tìm kiếm sản phẩm Bảng 8 Usecase tìm kiếm sản phẩm Use Case ID UC-6 Use Case Name Tìm kiếm sản phẩm Description Quy trình người dùng thực hiện để tìm kiếm sản phẩm Actor(s) Customer 19 CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM Pre-Condition(s) Đã truy cập vào website Post-Condition(s) Kết quả tìm kiếm được hiển thị cho người dùng 1.
Truy cập vào trang chủ của website Basic Flow 2. Nhập thông tin vào ô tìm kiếm 3. Nhấn Enter hoặc nhấn nút “Tìm kiếm” 4. Hệ thống tìm kiếm sản phẩm phù hợp với từ khóa 5.
Hệ thống tìm kiếm cho người dùng Alternative Flow A5. Không tìm thấy sản phẩm phù hợp từ khóa thì hiển thị “Không tìm thấy” Exception Flow Business Rules NFR1: Tốc độ tìm kiếm nhanh và chính xác Non-Functional Requirement Tìm kiếm sản phẩm 1 1. Use case lọc sản phẩm Bảng 9 Lọc theo yêu cầu Use Case ID UC-7 Use Case Name Filter sản phẩm Description Lọc các sản phẩm theo yêu cầu Actor(s) Customer Pre-Condition(s) Post-Condition(s) Danh sách sản phẩm theo yêu cầu 20 CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM Basic Flow 1. Người dùng chọn danh mục, nhập khoảng giá,và đánh giá mong muốn trên thanh sidebar Alternative Flow Exception Flow Business Rules Non-Functional Requirement Lọc các sản phẩm 1 1.Use case thêm giỏ hàng Bảng 10 Giỏ hàng Use Case Id UC-9 Use Case Name Quản lý giỏ hàng Description Xem, cập nhật và thanh toán giỏ hàng Actor(s) Khách hàng Priority Medium Trigger Người dùng muốn thanh toán giỏ hàng Pre-Condition Người dùng phải có sẵn tài khoản Tài khoản đã được phân quyền Người dùng đã đăng nhập vào website Thiết bị người dùng được kết nối internet khi sử dụng Post-Condition Basic Flow 1.
Người dùng bấm vào nút “Đặt hàng” 21 CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM 2. Hệ thống hiển thị thông báo xác nhận đặt hàng, người dùng bấm đồng ý 3. Hệ thống hiển thị thông báo đặt hàng thành công và lưu dữ liệu đơn hàng 4. Hệ thống xóa bỏ giỏ hàng cũ Alternative 2.1 Nếu người dùng bấm hủy bỏ, hệ thống chuyển hướng người Flow dùng về trang giỏ hàng 4.1 Nếu không chọn thanh toán toàn bộ, một giỏ hàng mới với các sản phẩm còn lại sẽ được tạo ra A.2: Người dùng chọn sản phẩm và thực hiện thay đổi số lượng sản phẩm trong giỏ hàng, nếu số lượng bằng 0.
Sản phẩm sẽ bị xóa khỏi giỏ hàng A.3: Người dùng chọn lệnh xóa toàn bộ sản phẩm trong giỏ hàng, tất cả sản phẩm trong giỏ hàng sẽ bị xóa Exception Flow Nếu không có sản phẩm nào trong giỏ hàng, hệ thống sẽ thông báo giỏ hàng trống Business Rules Không có Non-Functional Không có Requirement 1. Use case Cập nhật giỏ hàng Bảng 11 Cập nhật giỏ hàng Use Case ID UC-10 Use Case Name Cập nhật giỏ hàng Description Quy trình cập nhật giỏ hàng 22 CHƯƠNG 1: PHÂN TÍCH YẾU CẦU PHẦN MỀM Actor(s) Customer Pre-Condition(s) Đã đăng nhập vào hệ thống Post-Condition(s) Giỏ hàng được cập nhật thành công 1. Truy cập vào giỏ hàng Basic Flow 2. Hệ thống hiển thị các sản phẩm đã được thêm vào giỏ hàng 3.