CHƯƠNG 1. KHẢO SÁT HIỆN TRẠNG VÀ MÔ HÌNH HÓA YÊU CẦU 1. KHẢO SÁT HIỆN TRẠNG 1. Website “Nhà sách TiKi” Link: https://tiki.vn/nha-sach-tiki/ Hình 1.
Hình ảnh nhà sách tiki 1.1 Các chức năng chính - Giao diện hiển thị các sách theo từng danh mục. - Tìm sách theo tên. - Đăng nhập, đăng ký. - Chức năng đặt hàng, giỏ hàng, thanh toán sách.
- Lịch sử đơn hàng. - Xem thông tin tài khoản.2 Ưu điểm - Giao diện bắt mắt, màu sắc hài hòa - Chức năng lọc sách chi tiết. - Đăng nhập, đăng ký có thể bằng tài khoản Google và Facebook - Có áp dụng Chatbox - Đa dạng phương thức thanh toán.3 Nhược điểm - Phần tìm kiếm bị gộp chung vào các sách khác không liên quan đến sách của Tiki. Website “Nhà sách Fahasa”” Link: https://www.
Hình ảnh trang chủ của nhà sách Fahasa 1.1 Các chức năng chính - Quản lý các mặt hàng và các danh mục sách. - Đăng nhập, đăng ký tài khoản. - Có chức năng tìm kiếm. - Đánh giá của người dùng - Giao diện hiển thị các sản phẩm sách.
- Đặt hàng và giao hàng tận nơi, thanh toán online - Chức năng đặt hàng, giỏ hàng, thanh toán sách.2 Ưu điểm - Thiết kế đơn giản, dễ nhìn, dễ sử dụng. - Đa dạng phương thức thanh toán. - Có chức năng đánh giá sách. - Có ngôn ngữ tiếng anh.3 Nhược điểm - Chức năng tìm kiếm không có phần lọc.
- Phần đánh giá không kèm được hình ảnh - Không có phần mô tả sách - Phần ưu đãi chiếm quá nhiều không gian 1. Website “Nhà sách Vinabook” Link: https://www. Hình ảnh trang chủ của nhà sách Vinabook 1.1 Các chức năng chính - Quản lý các mặt hàng và các danh mục sách. - Giao diện hiển thị các sách.
- Đăng nhập, đăng ký. - Chức năng tìm kiếm. - Chức năng đặt hàng, giỏ hàng, thanh toán sách.2 Ưu điểm - Đa dạng phương thức thanh toán. - Đăng nhập, đăng ký bằng tài khoản Google.
- Cho phép thêm giỏ hàng mà không cần đăng nhập 1.3 Nhược điểm - Chức năng tìm kiếm không có phần lọc. - Phần đánh giá không cho đính kèm hình ảnh - Bố cục khá rời rạc. Kết luận khảo sát thực trạng Qua những dữ liệu mà nhóm chúng em đã thu thập được của 3 hệ thống web nhà sách và để phù hợp với hiện hành chúng em đã chọn cái tên đề tài là “Xây ứng dụng bán sách online sử dụng NodeJS và ReactJS” bao gồm: - Đây là trang web về thương mại nên sẽ tập trung vào trải nghiệm người dùng cũng với các tính năng quan trọng thiết yếu. - Xây dựng với các chức năng thêm sửa xóa của các phần quản lý cho người quản trị viên.
- Về hệ thống thì tốc độ xử lý và hiển thị giao diện phải nhanh chóng không để người dùng phải chờ đợi lâu. - Sử dụng chatbox để có thể dễ dàng trao đổi trực tiếp giữa quản trị viên với khách hàng một cách nhanh chóng. XÁC ĐỊNH YÊU CẦU 1. Yêu cầu chức năng Bảng 1.
Bảng yêu cầu chức năng STT Yêu cầu nghiệp vụ Loại yêu cầu Ghi chú 1 Thêm, chỉnh sửa thông tin sách Lưu trữ 2 Thêm, chỉnh sửa thông tin tài khoản Lưu trữ 3 Thêm, chỉnh sửa thông tin danh mục Lưu trữ 4 Thêm, chỉnh sửa thông tin sách Lưu trữ 18 5 Thêm, chỉnh sửa đơn hàng Lưu trữ 6 Thêm, xóa sách yêu thích Lưu trữ 7 Thêm đánh giá Lưu trữ 8 Xem, lọc danh sách tài khoản Tra cứu (tìm kiếm) 9 Xem danh sách danh mục Tra cứu (tìm kiếm) 10 Xem danh sách đơn hàng Tra cứu (tìm kiếm) 11 Tính doanh thu của cửa hàng Tính toán 10 Thống kê số lượng sách Kết xuất 11 Thống kê số lượng người dùng Kết xuất 12 Thống kê số đơn hàng Kết xuất 13 Phần quyền sử dụng của user và admin Phân quyền 19 1. Yêu cầu phi chức năng Bảng 1. Bảng yêu cầu phi chức năng Tiêu STT Nội dung Mô tả chi tiết Ghi chú chuẩn Giao thân Giao diện thân Tiện Khách hàng ở mọi lứa tuổi đều có 1 thiện, đơn thiện, đơn giản. dụng thể dễ dàng sử dụng.
Tiện Các thao tác nhập xuất chỉnh sửa 2 Dễ thao tác. dụng đơn giản, gần gũi với người dùng. Tốc độ phản hồi Hiệu Tốc độ xử lý và phản hồi nhanh. Phản hồi dưới 3 nhanh.
quả Không tạo sự khó chịu cho người 0. Khả năng bảo trì, Dễ dàng Khả năng nâng cấp hệ thống dễ 4 nâng cấp hệ thống. dàng trong tương lai. Bảo mật cơ sở dữ Bảo mật Bảo mât không để lộ thông tin 5 liệu.
người dùng. MÔ HÌNH HÓA YÊU CẦU 1. Lược đồ thực thể - quan hệ (Entity-relationship model) Hình 1. Lược đồ thực thể - quan hệ 21 1.
Lược đồ Use case tổng quát Hình 1. Sơ đồ usecase tổng quát 22 1. Đặc tả các Use case 1.1 Use case “Đăng ký” Bảng 1. Mô tả Use case “Đăng ký” Tên Use case Đăng ký Mô tả Người dùng đăng ký tài khoản với vai trò là “Người dùng”.
Tiền điều kiện Không Hậu điều kiện Thông tin tài khoản được lưu lại trong hệ thống và hiển thị thông báo thành công. Luồng sự kiện Người dùng chọn vào đăng ký trên trang đăng nhập để chuyển qua trang đăng ký. Điền số điện thoại, mật khẩu và nhập lại mật khẩu để xác nhận. (Thành công) Mật khẩu phải có nhiều hơn 8 ký tự.
Nhấn hoàn tất. Hệ thống thông báo tạo tài khoản thành công. Luồng thay thế Ở bước 3 nếu người dùng nhập thiếu thông tin hoặc sai điều kiện thông tin thì hiển thị lỗi lên cho người dùng biết rằng đã bị sai. Luồng mở rộng Không có.2 Use case “Đặt lại mật khẩu” Bảng 1.
Mô tả Use case “Đặt lại mật khẩu” Tên Use case Đặt lại mật khẩu Mô tả Người dùng đặt lại mật khẩu khi quên mật khẩu Tác nhân Guest. Tiền điều kiện Không 23 Hậu điều kiện Thông tin tài khoản được lưu lại trong hệ thống và hiển thị thông báo thành công. Luồng sự kiện Người dùng chọn vào quên mật khẩu trên trang đăng nhập để chuyển qua trang quên mật khẩu. Nhập email tài khoản.
Nhập opt từ email xác nhận. Nhập mật khẩu mới. Hệ thống tạo tài khoản thành công Luồng thay thế Ở bước 1 và 2 nếu người dùng nhập thông tin sai điều kiện thì thông tin thì hiển thị lỗi lên cho người dùng biết rằng đã bị sai. Luồng mở rộng Không có.3 Use case “Đăng nhập” Bảng 1.
Mô tả Use case “Đăng nhập” Tên Use case Đăng nhập Mô tả Người dùng đăng nhập vào hệ thống để sử dụng dịch vụ. Tác nhân User Tiền điều kiện Người dùng phải có sẵn tài khoản. Tài khoản đã được phân quyền. Hậu điều kiện Người dùng được đưa đến trang chủ.
Luồng sự kiện 1. Người dùng truy cập vào website. Người dùng chọn chức năng đăng nhập. Người dùng nhập số điện thoại, mật khẩu của tài khoản.
Hệ thống xác thực thông tin đăng nhập thành công và cho phép người dùng truy cập website. Luồng thay thế Ở bước 4 nếu thông tin không chính xác thì sẽ hiện thị thông báo sai tài khoản hoặc mật khẩu. Luồng mở rộng Không có 1.4 Use case “Cập nhật thông tin tài khoản” Bảng 1. Mô tả Use case “Cập nhật thông tin tài khoản” Tên Use case Cập nhật thông tin tài khoản Mô tả Người dùng có thể thay đổi các thông tin cơ bản của người đó.
Tiền điều kiện User sau khi đã đăng nhập Hậu điều kiện Nếu chỉnh sửa thành công hệ thống sẽ báo Chỉnh sửa thành công Nếu chỉnh sửa không thành công, hệ thống sẽ báo Chỉnh sửa không thành công. Luồng sự kiện 1. Hệ thống hiển thị các trường thông tin mà người dùng có thể chỉnh sửa 2. Người dùng chỉnh sửa thông tin tài khoản Luồng cơ bản (Thành công) 3.
Người dùng chọn nút “Cập Nhật” 4. Hệ thống kiểm tra các trường thông tin và lưu lại các thông tin 5. Hệ thống hiện thị kết quả dữ liệu Luồng thay thế Nếu người dùng nhập vào không hợp lệ. Những công việc sau được thực hiện: 1.
Hệ thống thông báo chỉnh sửa không thành công và yêu cầu người dùng nhập lại 2. Bước 2 ở luồng cơ bản được thực hiện 25 Luồng mở rộng Không có 1.5 Use case “Đổi mật khẩu” Bảng 1. Mô tả Use case “Đổi mật khẩu” Tên Use case Đổi mật khẩu Mô tả Người dùng có thể thay đổi mật khẩu của mình. Tiền điều kiện User sau khi đã đăng nhập Hậu điều kiện Nếu chỉnh sửa thành công hệ thống sẽ báo “Đổi thành công” Nếu chỉnh sửa không thành công, hệ thống sẽ báo “Đổi không thành công”.
Luồng sự kiện 1. Người dùng nhập các trường của mật khẩu Luồng cơ bản 2. Người dùng chọn nút Lưu (Thành công) 3. Hệ thống kiểm tra các trường thông tin và lưu lại mật khẩu mới 4.
Hệ thống hiện thị kết quả đã lưu thành công Luồng thay thế Nếu người dùng nhập vào không hợp lệ. Những công việc sau được thực hiện: 1. Hệ thống thông báo chỉnh sửa không thành công và yêu cầu người dùng nhập lại Luồng mở rộng Không có 1.6 Use case “Xem chi tiết thông tin của một sách” Bảng 1. Mô tả Use case “Xem chi tiết thông tin của một sách” Tên Use case Xem chi tiết thông tin của một sách Mô tả Người dùng xem thông tin đầy đủ của một sách trong danh sách các sách.
26 Tác nhân Guest, User Tiền điều kiện Không Hậu điều kiện Không Luồng sự kiện 1. Người dùng nhấn chọn một sách trong danh sách các sách Luồng cơ bản 2. Hệ thống truy vấn thông tin chi tiết của sách (Thành công) 3. Hệ thống hiện thị thông tin chi tiết của sách Luồng thay thế Nếu sách không hợp lệ.
Những công việc sau được thực hiện: 1. Hệ thống thông báo không tìm thấy trang Luồng mở rộng Không có 1.7 Use case “Thêm sách vào giỏ hàng” Bảng 1. Mô tả Use case “Thêm sách vào giỏ hàng” Tên Use case Đặt hàng Mô tả Người dùng đặt hàng những thứ mà mình muốn mua. Tác nhân User, Guest Tiền điều kiện Không Hậu điều kiện Không Luồng sự kiện Usecase bắt đầu khi người dùng đang ở trang chi tiết sách Luồng cơ bản 1.
Người dùng chọn số lượng sách (Thành công) 2. Người dùng nhấn nút thêm giỏ hàng 3. Hệ thống kiểm tra thông tin sách đã chọn và thêm vào giỏ hàng Luồng thay thế 27 Luồng mở rộng Không có 1.8 Use case “Xóa sách khỏi giỏ hàng” Bảng 1. Mô tả Use case “Xóa sách khỏi giỏ hàng” Tên Use case Xóa sách khỏi giỏ hàng Mô tả Người dùng xóa những sách trong giỏ hàng.