5.1 Overview 5.1.1 Subsystems Ứng dụng “Ứng dụng bán trứng” được chia thành 3 hệ thống phụ chính: 1. Hệ thống quản lý người dùng 2. Hệ thống quản lý hàng hóa 3. Hệ thống quản lý đơn hàng 5.1.1.1 Hệ thống quản lý người dùng
● Hệ thống con này cung cấp các tiện ích bao gồm tất cả các chức năng quản lý người dùng.Các trường hợp sử dụng chính trong hệ thống con này bao gồm:
● Đăng nhập người dùng ● Tạo người dùng mới
● Chỉnh sửa hồ sơ và các tình huống thay đổi mật khẩu
● Mỗi người dùng tương tác với ứng dụng là một tác nhân của các trường hợp sử dụng này.Tùy thuộc vào các cấp độ truy cập, một số hành động sẽ không được phép.
5.1.1.2 Hệ thống quản lý hàng hóa
Hệ thống này có một số chức năng cần phải đăng nhập. Người bán:
● Xem hàng hóa
● Crud hàng hóa
● Xem phân loại
● Crud phân loại Người mua:
● Xem hàng hóa
● Xem phân loại
Tùy thuộc vào các cấp độ truy cập, một số hành động sẽ không được phép
5.1.1.3 Hệ thống quản lý đơn hàng
Đây là hệ thống con cốt lõi của ứng dụng Người bán:
● Xem tất cả đơn hàng
● Duyệt đơn hàng
● Crud đơn hàng Người mua:
● Xem tất cả đơn hàng của mình
● Thanh tốn đơn hàng
● Hủy mua đơn hàng
5.1.2 Layering
● “Ứng dụng bán trứng” sử dụng một cấu trúc là Flux của Facebook.Khác với cấu trúc của một số framework khác ( ví dụ: AngularJS) sử dụng bidirectional data flow dữ liệu sẽ đi 2 chiều thì data trong Flux ln đi một chiều unidirectional.
● Sử dụng thêm thư viện quản lý global state management Redux.Giúp thực hiện việc “reducer”.
5.2 Architecturally Significant Design Packages
5.2.1 Class Diagrams
● Tất cả người dùng có nguồn gốc từ lớp cha “TaiKhoan”. Đó là bởi vì mỗi người dùng của ứng dụng có các thuộc tính và hành vi chung như mật khẩu,tên,địa chỉ,số điện thoại,…
● Mỗi người dùng (cụ thể người mua) có thể có nhiều hóa đơn.Mỗi hóa đơn sẽ có thể có nhiều chi tiết hóa đơn, mỗi chi tiết hóa đơn có 1 sản phẩm và sản phẩm thuộc 1 phân loại.Đó là lý do đằng sau có nhiều mối quan hệ giữa người dùng , hóa đơn,và sản phẩm.
● Khi bắt đầu 1 cuộc trò chuyện , cuộc trò chuyện
● Giống như trong sơ đồ lớp, mỗi người dùng có một lớp cha là “TaiKhoan” giữ tất cả các chức năng chính.
● Mỗi tài khoản có thể có nhiều hóa đơn.Mỗi hóa đơn sẽ có danh sách sản phẩm họ đã mua và sản phẩm sẽ được lưu ở thực thể “ChiTietSanPham”.