



















Preview text:
lOMoAR cPSD| 58647650
H Ọ C VI Ệ N CÔNG NGH Ệ BƯU CHÍNH VI Ễ N THÔNG
KHOA CÔNG NGH Ệ THÔNG TIN 1
BÀI T Ậ P 4
KI Ế N TRÚC VÀ THI Ế T K Ế PH Ầ N M Ề M
Gi ả ng viên : Tr ầ n Đình Qu ế
H ọ tên sinh viên : Nguy ễ n Minh Tu ấ n Mã sinh viên : B21DCCN759 L ớ p : D21CNPM02
Hà N ộ i, Tháng 4 / 2025 lOMoAR cPSD| 58647650
Chapter 1: Requirement of E-COMMERCE 1.1. Determine requirements 1.1.1. Actors
Các actor (tác nhân) là những đối tượng tương tác trực tiếp với hệ
thống. Một số actor chính trong hệ thống được tổng hợp trong bảng sau: Actor Vai trò Chức năng User
Là đối tượng người Đăng ký, đăng nhập, quản dùng của hệ thống lý thông tin cá nhân Customer (Khách Là đối tượng mua
đăng ký, đăng nhập, mua hàng): hàng chính
hàng, quản lý thông tin cá
nhân, đánh giá sản phẩm, thanh toán đơn hàng
Admin (Quản trị viên) là người quản lý, đăng ký, đăng nhập, quản
điều phối hệ thống lý sản phẩm, quản lý
sao cho không có lỗi người dùng, quản lý đơn xảy ra. hàng, báo cáo
Seller (Người bán là đối tượng cung cấp Đăng sản phẩm, cập nhật hàng)
sản phẩm, bán cho giá thành, số lượng sản người tiêu dùng phẩm... Service Shippment (Nhà cung cấp dịch vụ vận chuyển) Service
là đối tượng vận cập nhật đơn hàng, theo
Shippment (Nhà chuyển hàng hóa từ dõi đơn hàng cung cấp dịch vụ vận người bán đến người chuyển) mua Service
Payment là đối tượng cung cấp xử lý thanh toán, trả về (Cổng thanh toán)
dịch vụ thanh toán trạng thái thanh toán, xử
bằng thẻ, tài khoản lý hoàn tiền... ngân hàng.
1.1.2. Functions with Respect to Actors
Các chức năng của hệ thống được chia theo từng actor. Dưới đây là bảng mô tả chi tiết các chức năng: Actor Chức năng Mô tả chi tiết Custormer Đăng ký/Đăng nhập Khách hàng đăng ký tài khoản, đăng nhập Tìm kiếm sản phẩm
Khách hàng có thể tìm kiếm
sản phẩm dựa vào từ khóa hoặc các điều kiện lOMoAR cPSD| 58647650
Thêm, sửa, xóa sản phẩm trong giỏ hàng Khách hàng thêm sản phẩm
vào giỏ. Nếu không thích
nữa, khách hàng có thể xóa
sản phẩm đó đi, hoặc muốn điều chỉnh số lượng Theo dõi đơn hàng Xem lịch sử mua hàng,
trạng thái đơn hàng và nhận thông báo cập nhật. Đánh giá sản phẩm
Khách hàng có thể để lại
bình luận, đánh giá sao cho
những sản phẩm mà khách hàng đã mua Thanh toán đơn hàng
Khách hàng thanh toán đơn
hàng, có thể lựa chọn thanh
toán bằng tiền mặt hoặc chuyển khoản.
Quản lý thông tin người dùng
Khách hàng có thể chỉnh
sửa thông tin cá nhân như:
tên, ảnh đại diện, địa chỉ, số điện thoại... Admin Quản lý người dùng
Thêm, sửa , xóa, vô hiệu hóa tài khoản người dùng Kiểm duyệt sản phẩm
Kiểm duyệt sản phẩm mà
người bán đăng lên trước khi chính thức bán ra cho người dùng Báo cáo, thống kê Truy xuất báo cáo doanh
thu, lưu lượng truy cập, thống kê bán hàng Quản lý đơn hàng Xác nhận đơn hàng
Xử lý phản hồi từ khách hàng
Admin sẽ trả lời các phản
hồi, thắc mắc, khiếu nại từ
người mua, người bán... Seller Quản lý đơn hàng
Nhận đơn đặt hàng từ người dùng, liên hệ bên vận
chuyển để giao đơn hàng.
Quản lý sản phẩm của nhà cung cấp
Đăng sản phẩm, cập nhật thông tin sản phẩm, số
lượng và giá cả, khuyến mãi. Báo cáo thống kê Báo cáo doanh số, doanh
thu các sản phẩm. Thông kê hàng tồn... lOMoAR cPSD| 58647650
Trả lời bình luận của khách hàng về sản
Trả lời các bình luận, đánh phẩm
giá của khách hàng về sản phẩm của mình Service
Xử lý giao dịch thanh toán
Xử lý yêu cầu thanh toán từ Payment hệ thống ecommerce. Tự
động thông báo trạng thái thanh toán lOMoAR cPSD| 58647650 Service Theo dõi đơn hàng
Tự động cập nhật trạng thái shipment
đơn hàng, ví dụ như vị trí
hiện tại, người giao hàng... 1.1.3. Use case Use case tổng quát: Use case chi tiết Với actor User
1. Use case ‘Đăng nhập’ lOMoAR cPSD| 58647650 2. Use case ‘Đăng ký’
3. Quản lý thông tin cá nhân lOMoAR cPSD| 58647650 Với actor Customer 4. Tìm kiếm sản phẩm 5. Quản lý giỏ hàng 6. Đặt hàng lOMoAR cPSD| 58647650 7. Theo dõi đơn hàng 8. Đánh giá sản phẩm lOMoAR cPSD| 58647650
9. Gửi khiếu nại, phản hồi Với actor Seller 10. Quản lý đơn hàng lOMoAR cPSD| 58647650 11. Báo cáo thống kê
12. Trả lời bình luận của khách hàng lOMoAR cPSD| 58647650 13. Quản lý sản phẩm Với actor Admin
14. Kiểm duyệt sản phẩm lOMoAR cPSD| 58647650 15. Quản lý người dùng 16. Quản lý đơn hàng lOMoAR cPSD| 58647650
17. Xem báo cáo và thống kê Với actor Service Payment 18. Thanh toán 19. Hoàn tiền 20. Quản lý giao dịch lOMoAR cPSD| 58647650 Với actor Service Shipment 21. Vận chuyển 22. Quản lý vận chuyển 1.2. Phân tích yêu cầu
1.2.1. Phân tích hệ thống Microservices với Django lOMoAR cPSD| 58647650
Phân tách hệ thống theo kiến trúc microservices giúp tăng tính mở rộng, dễ bảo trì và
triển khai độc lập các module. Lý do chọn microservices: ●
Tách biệt chức năng: Mỗi dịch vụ chịu trách nhiệm cho một nghiệp vụ cụ thể (User, Product, Order, …). ●
Độc lập triển khai: Các dịch vụ có thể được triển khai trên các máy chủ khác
nhau, cập nhật mà không ảnh hưởng đến toàn bộ hệ thống. ●
Khả năng mở rộng: Dễ dàng mở rộng một số dịch vụ theo nhu cầu sử dụng.
Các domain chính của hệ thống: ●
Customer: Quản lý tài khoản và thông tin người dùng. ●
Product: Quản lý danh mục sản phẩm chung. ●
Specialized Product: Các dịch vụ riêng cho từng loại sản phẩm (Book, Laptop, Mobile, Clothes). ● Cart: Quản lý giỏ hàng. ●
Order: Xử lý đặt hàng và theo dõi trạng thái. ●
Payment: Xử lý giao dịch thanh toán. ●
Shipment: Quản lý vận chuyển và giao hàng. ●
Comment: Xử lý nhận xét và tích hợp AI phân tích cảm xúc. Các microservices
chính dựa trên phân tích chức năng: ● customer_service: ○
Đăng ký, đăng nhập và quản lý thông tin cá nhân ○
Quản lý tài khoản người dùng (thêm, sửa, xóa và phân quyền - từ Admin) ● item_service: ○
Quản lý tổng thể các danh mục sản phẩm lOMoAR cPSD| 58647650 ○
Admin: thêm mới, cập nhật, xóa sản phẩm, quản lý danh mục sản phẩm ●
book_service, laptop_service, mobile_service, clothes_service: ○
Quản lý chi tiết đặc thù cho từng loại sản phẩm ○
Seller: đăng ký sản phẩm, cập nhật thông tin sản phẩm, giá cả và khuyến mại ● cart_service: ○
Thêm sản phẩm vào giỏ hàng ○ Kiểm tra giỏ hàng ● order_service: ○
Customer: đặt hàng, xem lịch sử mua hàng, trạng thái đơn hàng và nhận thông báo ○
Admin: Xác nhận đơn hàng ○
Seller: Xem, xử lý đơn hàng từ khách hàng, phản hồi khiếu nại ● payment_service: ○
Thực hiện chức năng thanh toán ○
Tích hợp API xử lý giao dịch (Kết nối với Payment Gateway) ○
Xác nhận giao dịch thành công ● shipment_service: ○
Cập nhật tiến độ giao hàng ○ Theo dõi trạng thái vận chuyển ● comment_service: ○
Customer: bình luận, đánh giá sản phẩm ○
Tích hợp AI phân tích cảm xúc (sentiment analysis) lOMoAR cPSD| 58647650 ○
Quản lý phản hồi và đánh giá
Mỗi microservice này sẽ hoạt động độc lập, có cơ sở dữ liệu riêng và giao tiếp với
nhau thông qua RESTful API, tuân theo nguyên tắc thiết kế hướng domain (DDD)
để đảm bảo ranh giới rõ ràng giữa các service.
Mỗi project sẽ có cấu trúc riêng gồm các module:
● Models: Xác định các bảng dữ liệu (với Django ORM) cho domain đó.
● Serializers: Dùng Django REST Framework để chuyển đổi dữ liệu giữa model và JSON.
● Views: Xử lý logic nghiệp vụ và định nghĩa các API endpoints.
● URLs: Định tuyến các API endpoints của microservice.
Thiết lập database riêng cho từng microservices: ● CustomerDB: MySQL ● CartDB: MySQL ● ItemDB: MongoDB ● BookDB: MongoDB ● LaptopDB: MongoDB ● MobileBD: MongoDB ● ColthesDB: MongoDB ● OrderDB: PostgreSQL ● PaymentDB: PostgreSQL ● CommentDB: MongoDB Sơ đồ kiến trúc lOMoAR cPSD| 58647650
1.2.2. Sơ đồ lớp trong các service a. Customer Service
Chịu trách nhiệm quản lý tài khoản người dùng, bao gồm đăng ký, đăng nhập, hồ sơ cá nhân, phân quyền b. Shipment service lOMoAR cPSD| 58647650 c. Payment service d. Item service lOMoAR cPSD| 58647650 e. Cart service