Trong báo cáo, chúng ta đã nắmbắt những yêu cầu chức năng và phi chức năng của hệ thống, từ việc đăng nhập, tìmkiếm/xem sản phẩm, quản lý giỏ hàng, đặt hàng, kiểm tra đơn hàng, xử lý đơn
TỔNG QUAN HỆ THỐNG
Giới thiệu đề tài
Việc phát triển một trang web mua bán điện thoại và quản lý điểm bán hàng (POS) là một đề tài rất thực tiễn trong môi trường kinh doanh ngày nay Với sự gia tăng của mua sắm trực tuyến và nhu cầu quản lý cửa hàng vật lý hiệu quả, việc tạo ra một nền tảng kết hợp cả hai là một lựa chọn lý tưởng.
Nhu cầu thị trường: Điện thoại di động là một trong những mặt hàng tiêu dùng hàng đầu trên thị trường Việc tạo ra một trang web chuyên biệt để mua bán điện thoại cung cấp cho khách hàng một trải nghiệm mua sắm thuận tiện và đa dạng sẽ thu hút nhiều người dùng.
Tính hợp nhất: Kết hợp giữa trang web bán hàng và hệ thống POS giúp tạo ra một hệ thống tổng thể, giúp quản lý hàng hóa, đơn hàng và tài chính một cách thuận tiện và hiệu quả.
Đặc tả hệ thống
Hệ thống Mua Bán Điện Thoại và Quản Lý POS là một nền tảng trực tuyến cung cấp cho người dùng khả năng mua sắm điện thoại di động và quản lý điểm bán hàng Hệ thống này được chia thành hai phần chính: một phần dành cho khách hàng để mua sắm và đặt hàng trực tuyến, và một phần dành cho quản lý và nhân viên để quản lý sản phẩm, đơn hàng, và thực hiện các giao dịch bán hàng tại điểm bán hàng vật lý.
Phần dành cho khách hàng:
Xem danh sách sản phẩm: Hiển thị danh sách các sản phẩm điện thoại với thông tin chi tiết và giá cả.
Tìm kiếm và lọc sản phẩm: Cho phép khách hàng tìm kiếm và lọc sản phẩm theo tiêu chí khác nhau.
Quản lý giỏ hàng: Khách hàng có thể thêm và xóa sản phẩm trong giỏ hàng.
Sản phẩm khách hàng yêu thích: Khách hàng có thể thêm và xóa sản phẩm trong phần yêu thích.
Đặt hàng: Khách hàng điền thông tin cần thiết như địa chỉ giao hàng và lựa chọn phương thức thanh toán.
Thanh toán: Cung cấp các lựa chọn thanh toán như tiền mặt, trực tuyến qua ví MoMo và VNPAY.
Xác nhận đơn hàng: Gửi xác nhận đơn hàng qua email cho khách hàng.
Xem chi tiết đơn hàng: Cho phép khách hàng xem chi tiết đơn hàng đã đặt bằng cách tìm kiếm bằng mã đơn hàng.
Chatbot AI: Cung cấp chức năng chatbot AI gợi ý sản phẩm cho khách hàng.
Phần dành cho Admin và Nhân Viên:
Quản lý tài khoản: Admin tạo và quản lý tài khoản nhân viên.
Quản lý sản phẩm: Thêm, sửa, xóa sản phẩm và cập nhật thông tin chi tiết về sản phẩm.
Quản lý khách hàng: Xem và quản lý thông tin khách hàng.
Quản lý đơn đặt hàng: Xác nhận, cập nhật trạng thái đơn hàng và xử lý các đơn đặt hàng bị hủy.
Chức năng POS: Thực hiện giao dịch bán hàng tại điểm bán hàng vật lý với các phương thức thanh toán khác nhau và in hóa đơn cho khách hàng.
Báo cáo và thống kê: Tạo và xem báo cáo và thống kê về doanh số bán hàng theo các mốc thời gian khác nhau.
Phạm vi đề tài
1.3.1 Giới hạn về đối tượng và chức năng
Giới hạn về đối tượng:
Hệ thống không hỗ trợ nhiều ngôn ngữ.
Hệ thống chưa có phiên bản ứng dụng di động.
Hệ thống không cung cấp tính năng tích hợp hoặc chia sẻ mạng xã hội.
Giới hạn về chức năng:
Hệ thống chưa có hệ thống quản lý tồn kho tự động.
Hệ thống không cung cấp bất kỳ hình thức chương trình khách hàng thân thiết nào cho khách hàng quay lại.
Hệ thống không cho phép khách hàng theo dõi đơn hàng theo thời gian thực.
Hệ thống không cung cấp các tính năng phân tích, báo cáo nâng cao ngoài dữ liệu bán hàng cơ bản.
Hệ thống không hỗ trợ nhiều cổng thanh toán hoặc nhiều loại tiền tệ quốc tế.
Hệ thống không cung cấp tính năng quản lý hàng tồn kho theo thời gian thực hoặc nhập kho tự động.
Hệ thống không hỗ trợ khách hàng đánh giá, xếp hạng sản phẩm.
Hệ thống không hỗ trợ khách hàng trực tuyến.
1.3.2 Giới hạn về công nghệ
Hệ thống sử dụng các công nghệ sau:
Node.js: Nền tảng phát triển ứng dụng phía máy chủ.
Express.js: Framework web được xây dựng trên Node.js.
Handlebars: Template engine để tạo ra các mẫu HTML động.
MongoDB: Cơ sở dữ liệu NoSQL mã nguồn mở.
Tuy nhiên, hệ thống cũng có một số giới hạn về công nghệ:
Khả năng mở rộng: Hệ thống có thể gặp khó khăn khi mở rộng quy mô lớn do sử dụng các công nghệ mã nguồn mở.
Bảo mật: Hệ thống cần được nâng cấp bảo mật thường xuyên để tránh các rủi ro tấn công mạng.
Hiệu suất: Hệ thống có thể gặp vấn đề về hiệu suất khi lượng truy cập tăng cao.
Ý nghĩa thực tiễn
Hệ thống Mua Bán Điện Thoại và Quản Lý POS mang lại sự thuận tiện cho khách hàng khi mua sắm sản phẩm điện thoại di động Khách hàng có thể dễ dàng tìm kiếm, xem thông tin chi tiết và đặt hàng từ bất kỳ đâu chỉ cần kết nối internet.
Bằng cách cung cấp giao diện người dùng thân thiện và tính năng tìm kiếm, lọc sản phẩm, hệ thống giúp tăng trải nghiệm mua sắm của khách hàng, giúp họ dễ dàng tìm được sản phẩm phù hợp với nhu cầu của mình. Đối với quản lý và nhân viên, hệ thống cung cấp một nền tảng quản lý sản phẩm, đơn hàng và giao dịch bán hàng tại điểm bán hàng vật lý Điều này giúp tối ưu hóa quá trình quản lý và giám sát kinh doanh của doanh nghiệp.
Việc cung cấp các tính năng như xác nhận đơn hàng qua email, xem chi tiết đơn hàng, và chat hỗ trợ trực tuyến giúp tạo ra một môi trường mua sắm minh bạch và đáng tin cậy cho khách hàng.
Hệ thống giúp tiết kiệm thời gian và chi phí cho cả khách hàng và doanh nghiệp bằng cách loại bỏ các bước mua sắm truyền thống phức tạp như việc đi lại đến cửa hàng vật lý và xử lý đơn hàng bằng phương thức thủ công.
Bằng cách cung cấp các tính năng tiện ích và tạo ra một trải nghiệm mua sắm tốt, hệ thống giúp tăng cơ hội thu hút khách hàng mới và tăng doanh số bán hàng cho doanh nghiệp.
Bố cục báo cáo
Báo cáo được chia làm 4 chương:
Chương 1: Tổng Quan Hệ Thống
Giới thiệu đề tài, Đặc tả hệ thống, Phạm vi đề tài, Ý nghĩa thực tiễn và Bố cục báo cáo.
Chương 2: Phân Tích và Thiết Kế Hệ Thống
Bao gồm Yêu cầu chức năng, Yêu cầu phi chức năng, Lược đồ chức năng (Lược đồ Use-case và Đặc tả Use-case), Lược đồ cơ sở dữ liệu của hệ thống và Lược đồ luồng dữ liệu.
Chương 3: Hiện Thực Hệ Thống
Mô tả các công nghệ được sử dụng trên website để triển khai hệ thống và danh sách các API tương ứng với chức năng của hệ thống.
Bao gồm các kịch bản hệ thống và trình bày hệ thống thông qua ảnh chụp màn hình.
Phụ Lục A: Danh Sách Câu Hỏi Thu Thập Yêu cầu
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Yêu cầu chức năng của hệ thống
Bảng 2.1 Yêu cầu chức năng của hệ thống dành cho khách hàng
Yêu cầu chức năng Mô tả Đăng nhập/ Đăng ký Khách hàng đăng nhập vào tài khoản đăng kí với email đã được xác nhận Xem danh sách sản phẩm Hiển thị danh sách các sản phẩm có sẵn để mua. Tìm kiếm và lọc sản phẩm Cho phép khách hàng tìm kiếm và lọc sản phẩm theo thương hiệu, giá cả, và các tiêu chí khác. Xem chi tiết sản phẩm Hiển thị thông tin chi tiết về sản phẩm bao gồm hình ảnh, mô tả, video, và thông số kỹ thuật. Quản lý giỏ hàng Cho phép khách hàng thêm, xem và chỉnh sửa giỏ hàng trước khi thanh toán.
Quản lý phần yêu thích Cho phép khách hàng thêm và xóa sản phẩm vào phần yêu thích của riêng mình. Đặt hàng Cho phép khách hàng điền thông tin giao hàng hoặc chọn những thông tin sẵn có và lựa chọn phương thức thanh toán để hoàn thành đơn hàng. Thanh toán Hỗ trợ các phương thức thanh toán an toàn và tiện lợi cho khách hàng.
Xác nhận đơn hàng Gửi email xác nhận đơn hàng cho khách hàng sau khi đặt hàng thành công.
Kiểm tra đơn hàng Cho phép khách hàng xem lại thông tin chi tiết và trạng thái của đơn hàng đã đặt.
Chatbot AI (KamiMind) Cung cấp tính năng chatbot AI để gợi ý sản phẩm và giải đáp các câu hỏi của khách hàng.
Dành cho admin và nhân viên
Bảng 2.2 Yêu cầu chức năng của hệ thống dành admin và nhân viên
Yêu cầu chức năng Mô tả
Quản lý tài khoản Cho phép quản lý tạo, sửa, và xóa tài khoản nhân viên.
Quản lý sản phẩm Thêm, sửa, xóa sản phẩm và cập nhật thông tin chi tiết về sản phẩm.
Quản lý khách hàng Xem và quản lý thông tin cá nhân của khách hàng, bao gồm lịch sử mua hàng.
Quản lý đơn đặt hàng Xác nhận, cập nhật trạng thái, và xử lý các đơn hàng của khách hàng.
Chức năng POS Thực hiện giao dịch bán hàng tại điểm bán hàng vật lý, bao gồm thanh toán và in hóa đơn Xem báo cáo và thống kê Cung cấp các báo cáo về doanh số bán hàng, lợi nhuận, và các chỉ số khác để quản lý đánh giá hiệu suất kinh doanh.
Yêu cầu phi chức năng của hệ thống
Bảng 2.3 Yêu cầu phi chức năng của hệ thống Yêu cầu phi chức năng Mô tả
Hiệu suất Hệ thống cần đảm bảo khả năng xử lý đồng thời nhiều người dùng và dữ liệu lớn một cách nhanh chóng và hiệu quả.
Bảo mật Bảo mật thông tin cá nhân của khách hàng và dữ liệu kinh doanh là một yếu tố cực kỳ quan trọng.
Hệ thống cần cung cấp các biện pháp bảo mật mạnh mẽ như mã hóa dữ liệu, kiểm tra an toàn, và chứng nhận bảo mật để đảm bảo an toàn cho thông tin cá nhân và giao dịch.
Tương thích Hệ thống cần phải tương thích trên nhiều nền tảng và thiết bị khác nhau, bao gồm máy tính cá nhân, máy tính bảng, và điện thoại di động.
Dễ bảo trì và mở rộng Hệ thống cần được thiết kế sao cho dễ bảo trì và mở rộng trong tương lai, bao gồm việc cập nhật phần mềm và thêm các tính năng mới theo yêu cầu của doanh nghiệp. Độ tin cậy của sản phẩm Người dùng sẽ đánh giá sản phẩm và có thể xem đánh giá của người dùng khác trước khi quyết định thực hiện mua.
Lược đồ chức năng của hệ thống
Hình 2.1: Lược đồ Use-case của hệ thống
2.3.2.1 Xác định các tác nhân và Use-case
Hệ thống sẽ có 4 tác nhân và 14 Use-case.
Bảng 2.4 Xác định các tác nhân của hệ thống
STT TÁC NHÂN MÔ TẢ
Tìm kiếm, xem sản phẩm.
Kiểm tra đơn hàng (điền mã để tìm kiếm).
2 Khách hàng Quản lý giỏ hàng.
Quản lý phần yêu thích.
Kiểm tra đơn hàng (hiện sẳn các mã để kiếm) Đặt hàng.
3 Admin Tác nhân có quyền cao nhất trong hệ thống, có thể thực hiện các hoạt động quản trị hệ thống như tạo và xóa tài khoản người dùng, cài đặt các quyền truy cập, quản lý nhân viên, quản lý sản phẩm thống kê và báo cáo Vai trò của Admin là quản lý và điều hành toàn bộ hệ thống.
Thực hiện giao dịch bán hàng với khách hàng Quản lý khách hàng
Quản lý đơn đặt hàng.
Xem báo cáo về doanh số bán hàng và thống kê
Bảng 2.5 Danh sách các Use-case của hệ thống
ID USE-CASE MÔ TẢ TÁC NHÂN
UC01 Đăng nhập Tác nhân đăng nhập vào hệ thống Phụ thuộc vào loại tài khoản, sẽ có các chức năng khác nhau.
Admin Khách hàng Nhân viên
UC02 Tìm kiếm/Xem sản phẩm Khách hàng có thể xem, tìm kiếm, lọc sản phẩm của cửa hàng
Khách hàng Khách hàng (Không đăng nhập) UC03 Chat với AI Gợi ý sản phẩm và giải đáp các câu hỏi của khách hàng.
Khách hàng Khách hàng (Không đăng nhập) UC04 Quản lý giỏ hàng Khách hàng có thể tạo giỏ hàng, thêm sản phẩm vào giỏ hàng, kiểm soát số lượng sản phẩm.
UC05 Quản lý phần yêu thích Khách hàng có thể phần yêu thích của riêng mình, thêm và xóa sản phẩm trong phần yêu thích.
UC06 Đặt hàng Khách hàng có thể hoàn thành đơn đặt hàng của mình, xem tất cả nội dung, chỉnh sửa địa chỉ, chọn phương thức thanh toán phù hợp.
UC07 Kiểm tra đơn hàng
(điền mã để tìm kiếm) Điền mã đơn hàng để tìm kiếm.
(Không đăng nhập) UC08 Kiểm tra đơn hàng Điền mã đơn hàng hay chọn sẳn các đơn hàng đã mua để tìm kiếm.
UC09 Xử lý chức năng POS Xử lý các giao dịch bán hàng tại điểm bán hàng vật lý.
Chức năng này giúp quản lý quá trình thanh toán và in hóa đơn cho khách hàng.
UC10 Quản lý sản phẩm Thêm, sửa và xóa sản phẩm Admin UC11 Quản lý tài khoản nhân viên
Có thể tạo tài khoản, xem thông tin chi tiết của nhân viên Chỉnh sửa thông tin nhân viên, khóa và mở khóa tài khoản, xóa tài khoản nhân viên, khôi phục mật khẩu cho nhân viên
UC12 Quản lý khách hàng Thêm, sửa và xóa khách hàng.
Admin Nhân viên UC13 Quản lý đơn hàng Xem xét đơn hàng, có thể hủy đơn hàng nếu có gì không ổn.
Admin, Nhân viên UC14 Báo cáo thống kê Xem thống kê doanh số, tỷ lệ mua hàng của sản phẩm.
2.3.2.2 Đặc tả các Use-case
Bảng 2.6 Đặc tả Use-case Đăng nhập
Tên Use-case Đăng nhập
Tác nhân chính Khách hàng, Nhân viên, Admin
Tác nhân phụ Không có
Mô tả Use-case này mô tả quá trình đăng nhập vào hệ thống, cho phép các tác nhân có quyền truy cập vào hệ thống sử dụng các chức năng tương ứng.
Kịch bản Các tác nhân muốn đăng nhập vào hệ thống.
Hoạt động/tác nhân kích hoạt Use-case
Tác nhân nhấp vào biểu tượng "Đăng nhập".
Mối quan hệ Không có
1 Tác nhân truy cập vào trang đăng nhập của hệ thống.
2 Tác nhân nhập tên người dùng và mật khẩu của mình vào các trường tương ứng trên giao diện đăng nhập.
3 Hệ thống kiểm tra thông tin đăng nhập được cung cấp
4 Nếu thông tin đăng nhập chính xác và tài khoản đang hoạt động, hệ thống cho phép tác nhân truy cập vào hệ thống và chuyển hướng đến giao diện chính của người dùng hoặc trang quản lý tùy thuộc vào vai trò của tác nhân.
Luồng hoạt động thay thế
1 Nếu thông tin đăng nhập không hợp lệ, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu tác nhân nhập lại.
Tiền điều kiện Hệ thống cần được khởi chạy.
Tác nhân cần có tài khoản hợp lệ trong hệ thống.
Hậu điều kiện Tác nhân được đăng nhập vào hệ thống với các chức năng tương ứng với loại tài khoản.
Hệ thống hiển thị giao diện phù hợp với loại tài khoản của tác nhân.
Bảng 2.7 Đặc tả Use-case Tìm kiếm/Xem sản phẩm
Tên Use-case Tìm kiếm/Xem sản phẩm
Tác nhân chính Khách hàng, Khách hàng (không đăng nhập)
Tác nhân phụ Không có
Mô tả Use-case này mô tả quá trình tìm kiếm và xem các sản phẩm có sẵn trong cửa hàng, cho phép tác nhân tìm kiếm sản phẩm theo nhu cầu của họ.
Kịch bản Tác nhân muốn tìm các sản phẩm phù hợp với túi tiền và bản thân.
Hoạt động/tác nhân kích hoạt Use-case
Tác nhân tương tác với giao diện tìm kiếm/xem sản phẩm trên trang web hoặc ứng dụng di động.
Mối quan hệ Không có
1 Tác nhân truy cập vào trang tìm kiếm/xem sản phẩm trên giao diện người dùng.
2 Tác nhân nhập từ khóa tìm kiếm hoặc chọn các tiêu chí lọc để tìm kiếm sản phẩm (ví dụ: thương hiệu, loại sản phẩm, mức giá).
3 Tác nhân có thể xem chi tiết sản phẩm bằng cách nhấp vào sản phẩm trong danh sách.
4 Hệ thống hiển thị thông tin chi tiết về sản phẩm bao gồm hình ảnh, mô tả, giá cả, và các thông số kỹ thuật.
Luồng hoạt động thay thế
1 Nếu không có sản phẩm nào phù hợp với tiêu chí tìm kiếm, hệ thống sẽ hiển thị thông báo "Không tìm thấy sản phẩm nào phù hợp".
Tiền điều kiện Hệ thống cần được khởi chạy.
Hậu điều kiện Tác nhân có thể xem và tìm kiếm các sản phẩm theo nhu cầu của mình.
Bảng 2.8 Đặc tả Use-case Chat với AI
Tên Use-case Chat với AI
Tác nhân chính Khách hàng, Khách hàng (không đăng nhập)
Mô tả Use-case này mô tả quá trình tác tương tác với Chatbot (AI) được tích hợp từ KamiMind để nhận gợi ý sản phẩm và giải đáp các câu hỏi của tác nhân.
Kịch bản Tác nhân cần được hỗ trợ các vấn đề về sản phẩm, chọn chat với Chatbot AI.
Hoạt động/tác nhân kích hoạt Use-case
Tác nhân nhấn vào biểu tượng chat ở dưới góc phải màn hình.
Mối quan hệ Không có.
1 Tác nhân nhấp vào nút "Chat với AI".
2 Hệ thống sẽ hiển thị khung chat.
3 Tác nhân nhập câu hỏi hoặc yêu cầu vào khung chat.
4 Chat bot AI (KamiMind) sẽ xử lý thông tin và trả lời.
5 Khách hàng có thể tiếp tục chat với AI để trao đổi thêm thông tin.
Luồng hoạt động thay thế
1 Nếu Chatbot AI không thể xử lý thông tin, sẽ gửi tin nhắn cho tác nhân nhập lại một cách rõ ràng hơn.
Tiền điều kiện Khách hàng đã truy cập vào giao diện chat được tích hợp từ
Kamimind trên trang web hoặc ứng dụng di động.
Hậu điều kiện Khách hàng nhận được gợi ý sản phẩm hoặc giải đáp câu hỏi từ trí tuệ nhân tạo (AI) và có thể tiếp tục tương tác trên trang web.
Bảng 2.9 Đặc tả Use-case Quản lý giỏ hàng
Tên Use-case Quản lý giỏ hàng
Tác nhân chính Khách hàng
Tác nhân phụ Không có
Mô tả Use-case này mô tả quá trình quản lý giỏ hàng của tác nhân trên trang web hoặc ứng dụng di động, cho phép tác nhân thêm sản phẩm vào giỏ hàng, kiểm soát số lượng sản phẩm và xóa các sản phẩm đã chọn.
Kịch bản Tác nhân muốn mua các sản phẩm của hệ thống.
Hoạt động/tác nhân kích hoạt Use-case
Thêm vào giỏ hàng: Bấm vào nút thêm vào giỏ hàng trên từng sản phẩm.
Xem và điều chỉnh giỏ hàng: Nhấp vào menu giỏ hàng trên thanh điều hướng.
Mối quan hệ Không có
1 Tác nhân chọn sản phẩm mà họ muốn mua từ trang web hoặc ứng dụng di động và nhấp vào nút "Thêm vào giỏ hàng".
2 Hệ thống thêm sản phẩm được chọn vào giỏ hàng của tác nhân và cập nhật số lượng sản phẩm trong giỏ hàng.
3 Tác nhân có thể kiểm tra số lượng sản phẩm hiện có trong giỏ hàng và cập nhật số lượng nếu cần thiết.
4 Tác nhân có thể xóa bỏ sản phẩm khỏi giỏ hàng bằng cách nhấp vào nút "Xóa" tương ứng với sản phẩm đó.
5 Tác nhân có thể tiếp tục mua sắm hoặc tiến hành thanh toán.
Luồng hoạt động thay thế
1 Nếu giỏ hàng của tác nhân không có sản phẩm nào Hệ thống hiển thị thông báo "Giỏ hàng của bạn đang trống".Tiền điều kiện Tác nhân cần có tài khoản đăng nhập.
Hậu điều kiện Giỏ hàng của tác nhân được cập nhật với các sản phẩm được thêm vào, đã chỉnh sửa hoặc đã xóa bỏ.
Tác nhân có thể tiếp tục mua sắm hoặc tiến hành thanh toán.
Bảng 2.10 Đặc tả Use-case Quản lý phần yêu thích
Tên Use-case Quản lý phần yêu thích
Tác nhân chính Khách hàng
Tác nhân phụ Không có
Mô tả Use-case này mô tả quá trình quản lý phần yêu thích của tác nhân trên trang web hoặc ứng dụng di động, cho phép tác nhân thêm và xóa sản phẩm trong phần yêu thích của mình. Kịch bản Tác nhân đang muốn mua các sản phẩm của hệ thống có thể thêm các sản phẩm vào phần yêu thích.
Hoạt động/tác nhân kích hoạt Use-case
Thêm vào phần yêu thích: Bấm vào biểu tượng "Yêu thích" trên từng sản phẩm.
Xem và điều chỉnh phần yêu thích: Nhấp vào menu "Yêu thích" trên thanh điều hướng.
Mối quan hệ Không có
1 Tác nhân duyệt qua danh sách sản phẩm trên trang web hoặc ứng dụng di động và chọn sản phẩm mà họ muốn thêm vào phần yêu thích.
2 Tác nhân nhấp vào biểu tượng "Yêu thích" hoặc "Thêm vào yêu thích" tương ứng với sản phẩm.
3 Hệ thống thêm sản phẩm được chọn vào phần yêu thích của tác nhân.
4 Tác nhân có thể kiểm tra danh sách các sản phẩm trong phần yêu thích và xóa bỏ các sản phẩm không mong muốn.Luồng hoạt động 1 Nếu phần yêu thích của tác nhân không có sản phẩm nào thay thế Hệ thống hiển thị thông báo "Phần yêu thích của bạn đang trống".
Tiền điều kiện Tác nhân cần có tài khoản đăng nhập.
Hậu điều kiện Tác nhâncó thể xem danh sách các sản phẩm yêu thích của họ.
Tác nhân có thể xóa sản phẩm khỏi danh sách yêu thích.
Bảng 2.11 Đặc tả Use-case Đặt hàng
Tên Use-case Đặt hàng
Tác nhân chính Khách hàng
Tác nhân phụ Giao Hàng Nhanh
Mô tả Use-case này mô tả quá trình tác nhân hoàn thành việc đặt hàng trên trang web hoặc ứng dụng di động, bao gồm xem lại thông tin đơn hàng, chỉnh sửa địa chỉ giao hàng, và chọn phương thức thanh toán phù hợp.
Kịch bản Tác nhân thực hiện đặt hàng với các sản phẩm trong giỏ hàng của hệ thống.
Hoạt động/tác nhân kích hoạt Use-case
Bấm vào nút "Thực hiện thanh toán" trên giỏ hàng.
Mối quan hệ Extend: Quản lý giỏ hàng
Include: Thanh toán, Lên đơn, Hủy đơn hàng.
1 Tác nhân chọn sản phẩm và thêm vào giỏ hàng.
2 Tác nhân truy cập vào giỏ hàng và kiểm tra lại danh sách sản phẩm.
3.Tác nhân nhấp vào nút "Thanh toán" để tiếp tục quá trình đặt hàng.
4 Hệ thống yêu cầu tác nhân cung cấp thông tin địa chỉ giao hàng và chọn phương thức thanh toán.
5 Tác nhân điền thông tin hay lựa chọn địa chỉ giao hàng và chọn phương thức thanh toán.
6 Tác nhân xác nhận đơn hàng và hoàn tất quá trình đặt hàng.
Luồng hoạt động thay thế
1 Sau khi đặt hàng xong, cùng lúc đó bên Giao Hàng Nhanh cũng sẽ lên đơn để chuẩn bị đưa sản phẩm tới tác nhân.
2 Nếu tác nhân muốn hủy đơn hàng sẽ chỉ có thể hủy khi đơn hàng đang ở trạng thái "Chuẩn bị" và phương thức thanh toán chỉ là COD (Tiền mặt).
Tiền điều kiện Tác nhân cần có tài khoản đăng nhập.
Tác nhân đã thêm sản phẩm vào giỏ hàng.
Hậu điều kiện Đơn hàng của tác nhân được đặt thành công và thông tin đơn hàng được lưu trữ trong hệ thống.
Hệ thống gửi xác nhận đơn hàng đến tác nhân qua email.
Bảng 2.12 Đặc tả Use-case Kiểm tra đơn hàng (điền mã để tìm kiếm)
Tên Use-case Kiểm tra đơn hàng (điền mã để tìm kiếm)
Tác nhân chính Khách hàng (Không đăng nhập), Khách hàng
Tác nhân phụ Không có
Lược đồ cơ sở dữ liệu của hệ thống
Lược đồ ERD bao gồm 10 thực thể như sau: Product, Category, Option, Color, Order, User, Customer, Shipping_Info, Favorite, Cart.
Một sản phẩm (Product) sẽ có nhiều lựa chọn (Option) khác nhau
Một sản phẩm (Product) sẽ nằm trong nhiều thể loại (Category) khác nhau.
Một sản phẩm (Product) sẽ nằm trong nhiều giỏ hàng (Cart) khác nhau và một giỏ hàng (Cart) sẽ có nhiều sản phẩm (Product) khác nhau.
Một sản phẩm (Product) sẽ nằm trong nhiều phần yêu thích (Favorite) khác nhau và một phần yêu thích (Favorite) sẽ có nhiều sản phẩm (Product) khác nhau.
Một sản phẩm (Product) sẽ nằm trong nhiều đơn hàng (Order) khác nhau và một đơn hàng (Order) sẽ có nhiều sản phẩm (Product) khác nhau.
Một lựa chọn (Option) sẽ có nhiều màu sắc khác nhau (Color).
Một khách hàng (Customer) sẽ có 1 giỏ hàng (Cart) và 1 phần yêu thích (Favorite).
Một khách hàng (Customer) sẽ có nhiều thông tin địa chỉ (Shipping_Info).
Một khách hàng (Customer) sẽ có nhiều đơn hàng (Order).
Một nhân viên (User) sẽ thanh toán cho nhiều đơn hàng (Order) khác nhau và một đơn hàng (Order) sẽ được thanh toán bởi nhiều nhân viên (User) khác nhau.
Hình 2.2: Lược đồ ERD của hệ thống
2.4.2 Lược đồ cơ sở dữ liệu mức vật lý
Hình 2.3: Lược đồ cơ sở dữ liệu mức vật lý
Lược đồ luồng dữ liệu (Data Flow Diagram)
HIỆN THỰC HỆ THỐNG
Node.js
Node.js là một nền tảng phát triển ứng dụng phía máy chủ (backend) xây dựng trên JavaScript Nó cho phép viết mã JavaScript chạy trên máy chủ thay vì chỉ chạy trong trình duyệt Node.js sử dụng mô hình I/O không đồng bộ (asynchronousI/O) để xử lý yêu cầu một cách hiệu quả và đáp ứng được hàng nghìn kết nối đồng thời.
Framework Express.js
Express.js là một Framework nhỏ, nhưng linh hoạt được xây dựng trên nền tảng của Node.js Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile
Về các gói hỗ trợ: Express.js có vô số các package hỗ trợ nên các bạn không phải lo lắng khi làm việc với Framework này.
Về hiệu năng: Express.js cung cấp thêm về các tính năng (feature) để ta lập trình tốt hơn Chứ không làm giảm tốc độ của Node.js.
Và hơn hết, các Framework nổi tiếng của Node.js hiện nay đều sử dụngExpress.js như một core function, chẳng hạn: SailsJS, MEAN,
Template Engine Handlebars
Handlebars là một template engine phổ biến được sử dụng trong phát triển web Nó cho phép tạo ra các mẫu HTML động bằng cách kết hợp dữ liệu và mã logic để tạo ra đầu ra HTML cuối cùng Handlebars cung cấp cú pháp đơn giản và dễ hiểu, giúp tách biệt hoàn toàn giữa mã HTML và mã JavaScript.
MongoDB
MongoDB là một chương trình quản lý cơ sở dữ liệu NoSQL mã nguồn mở.NoSQL (Not only SQL) được sử dụng thay thế cho cơ sở dữ liệu quan hệ truyền thống Cơ sở dữ liệu NoSQL khá hữu ích khi làm việc với các tập dữ liệu phân tán lớn MongoDB là một công cụ có thể quản lý thông tin định hướng tài liệu, lưu trữ hoặc truy xuất thông tin.
DEMO HỆ THỐNG
Các kịch bản demo hệ thống
Truy cập website: Khách hàng truy cập vào website và truy cập vào trang chủ.
Đăng nhập: Khách hàng đăng nhập.
Xem sản phẩm: Khách hàng duyệt qua các sản phẩm có sẵn và chọn sản phẩm sản phẩm mong muốn mua.
Thêm vào giỏ hàng: Khách hàng thêm sản phẩm đã chọn vào giỏ hàng.
Xem lại giỏ hàng: Khách hàng xem lại giỏ hàng, cập nhật số lượng hoặc loại bỏ sản phẩm nếu cần.
Thêm vào phần yêu thích: Khách hàng thêm sản phẩm vào phần yêu thích.
Thanh toán: Khách hàng tiến hành thanh toán, nhập thông tin vận chuyển và lựa chọn hình thức thanh toán.
Đặt hàng: Khách hàng xem lại chi tiết đơn hàng và xác nhận đơn hàng.
Xác nhận đơn hàng: Khách hàng nhận được mail xác nhận, đơn hàng được đặt.
Kiểm tra đơn hàng: Nhập mã đơn hàng hoặc chọn các đơn hàng mua gần đây (nếu đã đăng nhập) để kiểm tra.
Truy cập hệ thống: Admin đăng nhập vào hệ thống.
Quản lý tài khoản nhân viên: Admin tạo tài khoản cho nhân viên mới và thực hiện các chức năng như khóa/mở khóa nhân viên.
Quản lý sản phẩm: Admin truy cập vào phần quản lý sản phẩm, để thực hiện thêm, sửa hay xóa sản phẩm
4.1.3 Admin và nhân viên bán hàng
Truy cập hệ thống: Admin và nhân viên bán hàng đăng nhập vào hệ thống.
Xử lý POS: Admin và nhân viên bán hàng thực hiện thanh toán cho khách hàng mua tại điểm bán hàng.
Quản lý đơn hàng: Admin và nhân viên bán hàng xử lý các đơn hàng online trên website.
Quản lý khách hàng: Admin và nhân viên bán hàng thực hiện chức năng như cập nhật thông tin hay xem lịch sử mua hàng của khách hàng.
Báo cáo và thống kê: Admin và nhân viên bán hàng xem các thống kê mua bán về từng ngày hay tổng quan về doanh thu.