Bối cảnh và vấn đề nghiên cứu
Trong những năm gần đây, thương mại điện tử (TMĐT) đã có sự bùng nổ mạnh mẽ và dần thay đổi thói quen tiêu dùng từ mua sắm truyền thống sang mua sắm trực tuyến nhờ sự tiện lợi, khả năng tiếp cận mọi lúc mọi nơi, tiết kiệm thời gian di chuyển, nguồn hàng đa dạng và giá cả cạnh tranh. Đặc biệt, sau giai đoạn đại dịch COVID-19, xu hướng này càng được thúc đẩy nhanh chóng. Đứng trước áp lực cạnh tranh khốc liệt, các đơn vị kinh doanh truyền thống buộc phải chuyển đổi số và phát triển mảng thương mại điện tử để mở rộng tệp khách hàng.
Khảo sát thực tế các sàn thương mại điện tử phổ biến trên thị trường như Shopee và Lazada cho thấy các nền tảng này chủ yếu phát triển theo mô hình đa ngành hàng. Việc tích hợp quá nhiều chủng loại hàng hóa trên cùng một không gian mua sắm khiến khách hàng có nhu cầu chuyên biệt về thời trang dễ bị phân tán, gặp khó khăn khi tìm kiếm sản phẩm mong muốn. Bên cạnh đó, các mặt hàng thời trang có đặc trưng phong phú về mẫu mã, kiểu dáng và họa tiết. Người tiêu dùng thường xuyên bắt gặp hoặc lưu trữ hình ảnh một sản phẩm yêu thích nhưng không biết tên gọi, thương hiệu hay các từ khóa chính xác để tra cứu bằng văn bản theo cách truyền thống.
Từ bối cảnh đó, đồ án tốt nghiệp "Nghiên cứu xây dựng hệ thống thương mại điện tử về thời trang" được thực hiện nhằm giải quyết các mục tiêu và nhiệm vụ cụ thể:
- Nghiên cứu và xây dựng một hệ thống mua bán trực tuyến chuyên biệt về thời trang, hỗ trợ kết nối người bán với người mua qua mạng Internet với đầy đủ các nghiệp vụ quản trị đơn hàng, quản lý kho, giỏ hàng và quản lý tài khoản người dùng.
- Nghiên cứu bài toán thị giác máy tính và ứng dụng mạng nơ-ron tích chập (CNN) kết hợp thuật toán đo độ tương đồng vector để xây dựng tính năng tìm kiếm sản phẩm bằng hình ảnh (Visual Search).
- Triển khai tích hợp tính năng tìm kiếm bằng hình ảnh vào ứng dụng thương mại điện tử nhằm nâng cao trải nghiệm mua sắm và tối ưu hóa thao tác tìm kiếm của khách hàng.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quy trình phân tích thiết kế hệ thống thương mại điện tử chuyên ngành thời trang; các phương pháp phân loại hình ảnh bằng học sâu và các thuật toán tính khoảng cách/độ tương đồng vector đặc trưng.
- Phạm vi không gian và công nghệ: Xây dựng ứng dụng di động đa nền tảng kết hợp hệ thống máy chủ cung cấp dịch vụ giao tiếp qua giao thức HTTP REST API và cơ sở dữ liệu quan hệ.
- Phạm vi dữ liệu: Thực nghiệm mô hình học máy trên tập dữ liệu gồm 5.403 hình ảnh thuộc 20 danh mục sản phẩm thời trang.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và mô hình học máy
Đồ án áp dụng các lý thuyết về thị giác máy tính, học sâu (Deep Learning) và xử lý dữ liệu vector để giải quyết bài toán tìm kiếm hình ảnh tương tự.
- Mạng nơ-ron tích chập (Convolutional Neural Network - CNN): Đây là kiến trúc nơ-ron chuyên dụng cho xử lý dữ liệu dạng ma trận hình ảnh 3 chiều (chiều dài, chiều rộng và chiều sâu màu sắc). Mạng CNN bao gồm ba loại lớp cơ bản:
- Lớp tích chập (Convolutional Layer - CONV): Sử dụng các bộ lọc (kernels) có kích thước xác định thực hiện phép tích chập trên ma trận điểm ảnh để trích xuất các bản đồ đặc trưng (feature maps) như biên, góc cạnh hoặc kết cấu bề mặt.
- Lớp gộp (Pooling Layer - POOL): Thực hiện lấy mẫu con (subsampling/downsampling) nhằm giảm kích thước không gian của khối dữ liệu, giảm số lượng tham số tính toán và hạn chế hiện tượng quá khớp (overfitting). Đồ án sử dụng phép gộp lấy giá trị cực đại (Max Pooling) với bộ lọc kích thước $2 \times 2$ và bước nhảy (stride) $S=2$, giúp giảm $75%$ kích thước khối dữ liệu đầu vào.
- Lớp kết nối đầy đủ (Fully-Connected Layer - FC): Duỗi thẳng ma trận đặc trưng thành vector một chiều và thực hiện tính toán kết hợp với hàm kích hoạt Softmax để xuất ra phân phối xác suất dự đoán các lớp đối tượng.
Luồng kiến trúc tổng quát của CNN:
INPUT -> [CONV * N -> POOL] * M -> FC * K -> FC (Softmax)
-
Kỹ thuật học chuyển giao (Transfer Learning) với mô hình VGG19: Tác giả sử dụng mạng VGG19 đã được huấn luyện sẵn trên tập dữ liệu chuẩn ImageNet. Lớp phân loại Dense gốc ở tầng cuối cùng được loại bỏ (include_top=False), đóng băng trọng số của các tầng tích chập (trainable=False), sau đó gắn thêm một lớp phẳng (Flatten), một lớp ẩn Dense gồm 100 nút với hàm kích hoạt ReLU, và một lớp đầu ra Dense với hàm kích hoạt Softmax có số nút tương ứng với số lượng lớp phân loại cần dự đoán.
-
Thuật toán tối ưu và hàm mất mát:
- Hàm mất mát: Sử dụng
categorical_crossentropy dành cho bài toán phân loại đa nhãn ($C > 2$).
- Thuật toán tối ưu: Sử dụng bộ tối ưu
Adamax với tốc độ học $\text{learning_rate} = 0.001$. Tác giả lựa chọn Adamax nhằm kiểm soát sự biến thiên gradient quá lớn khi kết hợp cùng hàm kích hoạt ReLU.
-
Các phương pháp đo độ tương đồng vector: Để tìm kiếm hình ảnh tương tự trong cùng một phân lớp, tác giả nghiên cứu 3 phương pháp toán học:
- Độ tương đồng Cosine (Cosine Similarity): Tính cosin của góc giữa hai vector trong không gian đa chiều theo công thức:
$$\text{Cosine Similarity} = \frac{\mathbf{A} \cdot \mathbf{B}}{|\mathbf{A}| |\mathbf{B}|} = \frac{\sum_{i=1}^n A_i B_i}{\sqrt{\sum_{i=1}^n A_i^2} \sqrt{\sum_{i=1}^n B_i^2}}$$
Giá trị thuộc đoạn $[-1, 1]$, trong đó $1$ đại diện cho hai vector hoàn toàn trùng khớp.
- Khoảng cách Euclid (Euclidean Distance): Đo khoảng cách hình học giữa hai điểm trong không gian $n$ chiều:
$$\text{Euclidean Distance} = \sqrt{\sum_{i=1}^n (q_i - p_i)^2}$$
Giá trị khoảng cách càng nhỏ thì độ tương đồng giữa hai ảnh càng cao.
- Hệ số tương quan Pearson (Pearson Correlation Coefficient): Đo mức độ tương quan tuyến tính giữa hai biến ngẫu nhiên $X$ và $Y$:
$$\text{Pearson} = \frac{\text{cov}(X, Y)}{\sigma_X \sigma_Y} = \frac{\sum_{i=1}^n (X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum_{i=1}^n (X_i - \bar{X})^2} \sqrt{\sum_{i=1}^n (Y_i - \bar{Y})^2}}$$
Phương pháp nghiên cứu và phát triển phần mềm
- Quy trình xây dựng phần mềm: Áp dụng phương pháp phân tích và thiết kế hướng đối tượng (OOAD) kết hợp kiến trúc hướng dịch vụ (Service-Oriented Architecture). Hệ thống được chia tách thành các mô-đun chức năng độc lập nhằm bảo đảm tính bao đóng, khả năng tái sử dụng, khả năng mở rộng và thuận tiện trong công tác bảo trì.
- Quy trình xử lý bài toán tìm kiếm hình ảnh: Tác giả xây dựng mô hình xử lý kết hợp hai giai đoạn: (1) Phân loại ảnh đầu vào bằng CNN để xác định danh mục sản phẩm, và (2) So sánh độ tương đồng Cosine của ảnh đầu vào với các ảnh có sẵn trong cùng danh mục đó để trích xuất ra top các sản phẩm tương tự nhất. Quy trình này giúp thu hẹp không gian tìm kiếm, giảm tải khối lượng tính toán vector và gia tăng độ chính xác.
Nguồn dữ liệu thực nghiệm
Tập dữ liệu hình ảnh thời trang gồm 5.403 ảnh được phân loại thành 20 lớp nhãn: Blazer, Blouse, Body, Dress, Hat, Hoodie, Longsleeve, Not sure, Other, Outwear, Pants, Polo, Shirt, Shoes, Shorts, Skip, Skirt, Top, T-Shirt, Undershirt. Tập dữ liệu được phân chia theo tỷ lệ 9:1:
- Tập huấn luyện (Training set): 4.872 ảnh ($90%$).
- Tập kiểm tra (Testing set): 531 ảnh ($10%$).
Thiết kế và triển khai
Kiến trúc tổng thể và công nghệ hệ thống
Hệ thống được thiết kế theo mô hình kiến trúc MVC (Model - View - Controller) phân tán gồm các thành phần tách biệt:
| Thành phần |
Công nghệ sử dụng |
Vai trò và kiến trúc đảm nhiệm |
| Ứng dụng Client |
Flutter (Dart) |
Đảm nhận tầng View và một phần Controller; hỗ trợ giao diện đa nền tảng cho cả hai hệ điều hành Android và iOS. |
| Máy chủ Nghiệp vụ (Backend Server) |
Java Spring Boot |
Xây dựng hệ thống REST API, cung cấp các dịch vụ xử lý nghiệp vụ, quản lý người dùng, sản phẩm, giỏ hàng và đơn hàng. |
| Máy chủ Tìm kiếm Ảnh (Microservice) |
Python Flask |
Đảm nhận tiếp nhận dữ liệu ảnh dạng Base64 từ Client, chạy mô hình học sâu và tính toán vector độ tương đồng để trả về kết quả. |
| Hệ quản trị cơ sở dữ liệu |
MySQL |
Lưu trữ dữ liệu quan hệ của hệ thống thương mại điện tử với hiệu năng truy vấn cao. |
Client (Flutter App)
Triển khai Microservice nhận diện hình ảnh với Flask
Mô hình sau khi huấn luyện được lưu dưới dạng tệp vgg19_full_model.h5. Máy chủ Flask được cấu hình để phục vụ các yêu cầu phân lớp và trích xuất độ tương đồng:
@app.route('/predict', methods=['GET', 'POST'])
def predict():
if request.method == 'POST':
img = base64_to_pil(request.json)
model = get_ImageClassifierModel() # Dự đoán nhãn ảnh
preds = model_predict(img, model) # In ra 5 ảnh có độ tương đồng cao nhất
name_products = predict_image(img, preds)
print(name_products)
return jsonify(result=name_products, probability=preds)
return None
Thiết kế thực thể cơ sở dữ liệu
Hệ thống xác định 10 thực thể dữ liệu chính phục vụ cho các luồng nghiệp vụ:
| Tên thực thể |
Danh sách các thuộc tính |
Mối quan hệ liên kết |
| User |
username, password, fullName, birthday, phoneNumber, email, gender, role |
Quan hệ $1-n$ với Delivery Address; $1-1$ với Cart; $1-n$ với Order. |
| Product |
name, price, description |
Quan hệ $1-n$ với Size; $1-n$ với Gallery; thuộc Category ($n-1$). |
| Delivery Address |
fullName, address, phoneNumber |
Thuộc về một User ($n-1$). |
| Category |
name |
Chứa nhiều Product ($1-n$). |
| Size |
size, quantity |
Thuộc về một Product ($n-1$). |
| Gallery |
image (dạng base64) |
Thuộc về một Product ($n-1$). |
| Cart |
ID người sở hữu |
Liên kết $1-1$ với User; quan hệ $1-n$ với CartDetail. |
| CartDetail |
size, quantity |
Chi tiết sản phẩm lưu trong giỏ hàng. |
| Order |
total, timeOrder, note, receiverAddress, receiverName, receiverPhoneNumber, statusOrder |
Thuộc về User ($n-1$); quan hệ $1-n$ với OrderDetail. |
| OrderDetail |
size, quantity |
Chi tiết sản phẩm trong từng đơn hàng đã đặt. |
Nội dung chính theo từng chương
Chương 1: Tổng quan về hệ thống thương mại điện tử về thời trang
Chương 1 tập trung làm rõ tính cấp thiết của đề tài, khảo sát hiện trạng các ứng dụng mua sắm trên thị trường và xác định các yêu cầu chức năng của hệ thống.
- Khảo sát ứng dụng thực tế: Phân tích ưu điểm và nhược điểm của hai ứng dụng Shopee và Lazada. Tác giả chỉ ra rằng việc đăng bán quá nhiều ngành hàng tổng hợp gây sao nhãng cho người mua chuyên biệt về thời trang.
- Yêu cầu phía người dùng cuối: Quản lý thông tin cá nhân (đăng ký, đăng nhập, cập nhật hồ sơ, xem lịch sử đơn hàng); phân loại và tìm kiếm sản phẩm theo danh mục/bộ lọc; quản lý địa chỉ giao hàng; thêm sản phẩm vào giỏ hàng và thực hiện đặt hàng.
- Yêu cầu phía người quản trị: Quản lý thông tin sản phẩm và dịch vụ (thêm, sửa, xóa, tải ảnh, mô tả, giá cả); quản lý người dùng và tài khoản (kích hoạt tài khoản, phân quyền); quản lý và cập nhật trạng thái đơn hàng.
- Phương pháp tiếp cận: Xác định mô hình tổng quát 2 phần (Frontend và Backend), kiến trúc MVC, và lựa chọn ngăn xếp công nghệ (Flutter, Java Spring Boot, Python Flask, MySQL).
Chương 2: Công nghệ tìm kiếm bằng hình ảnh
Chương 2 trình bày chi tiết cơ sở toán học và kỹ thuật triển khai hệ thống thị giác máy tính ứng dụng trong tìm kiếm sản phẩm thời trang.
- Phân tích các cách tiếp cận bài toán: So sánh giữa phương pháp dựa trên đặc trưng, dựa trên mô hình (HOG, DNN), dựa trên màu sắc (Color Histogram), dựa trên phân loại và đối sánh đặc trưng. Đồ án lựa chọn phương pháp phân loại kết hợp đo độ tương đồng.
- Cấu trúc mạng CNN và mô hình Transfer Learning: Mô tả hoạt động của các lớp CONV, Max Pooling và FC. Trình bày quá trình tùy biến mạng tiền huấn luyện VGG19 trên tập dữ liệu 5.403 ảnh và 20 nhãn thời trang.
- Quá trình huấn luyện mô hình (50 epochs):
| Epoch |
Độ chính xác (Accuracy) |
| 1/50 |
0,6000 |
| 2/50 |
0,7672 |
| 3/50 |
0,8454 |
| 4/50 |
0,8959 |
| 5/50 |
0,9335 |
| 6/50 |
0,9569 |
| 7/50 |
0,9688 |
| 8/50 |
0,9805 |
| 9/50 |
0,9875 |
| 10/50 |
0,9901 |
| ... |
... |
| 49/50 |
1,0000 |
| 50/50 |
0,9996 |
- Thực nghiệm so sánh các độ đo độ tương đồng: Tác giả tiến hành thử nghiệm so khớp ảnh mẫu
Hoodie 1 với 10 ảnh áo hoodie (Hoodie 1 đến Hoodie 10). Kết quả xếp hạng độ tương đồng giữa phương pháp Cosine Similarity và Pearson Correlation có sự tương đồng, đồng thời Cosine Similarity thể hiện độ chính xác cao hơn trong không gian đặc trưng đa chiều so với khoảng cách Euclidean Distance.
Chương 3: Phân tích thiết kế hệ thống thương mại điện tử về thời trang
Chương 3 trình bày chi tiết quy trình phân tích và thiết kế phần mềm từ yêu cầu nghiệp vụ đến mô hình kỹ thuật.
- Pha phân tích hệ thống:
- Xác định 3 nhóm tác nhân tham gia: Khách hàng, Nhân viên và Quản lý.
- Xây dựng biểu đồ ca sử dụng tổng quát và các biểu đồ phân rã chi tiết cho 6 phân hệ: Quản lý sản phẩm, Quản lý danh mục, Quản lý đơn hàng, Quản lý người dùng, Quản lý giỏ hàng, Quản lý đơn hàng của tôi.
- Xây dựng kịch bản đặc tả chi tiết cho 18 ca sử dụng: Đăng ký tài khoản, Đăng nhập, Xem thông tin sản phẩm, Thêm sản phẩm vào giỏ hàng, Xóa sản phẩm khỏi giỏ hàng, Cập nhật sản phẩm trong giỏ hàng, Đặt hàng, Thêm địa chỉ giao hàng, Sửa địa chỉ giao hàng, Xóa địa chỉ giao hàng, Thêm danh mục sản phẩm, Sửa danh mục sản phẩm, Xóa danh mục sản phẩm, Thêm sản phẩm, Sửa sản phẩm, Xóa sản phẩm, Kích hoạt (Active) tài khoản, Thay đổi quyền cho tài khoản.
- Pha thiết kế hệ thống:
- Xây dựng biểu đồ lớp phân tích (Analysis Class Diagram) và xác định thuộc tính chi tiết cho 10 thực thể.
- Thiết kế biểu đồ tuần tự (Sequence Diagram) cho từng chức năng chính (Đăng ký, Đăng nhập, Thêm danh mục, Cập nhật danh mục, Tìm kiếm bằng hình ảnh, Đặt hàng...).
- Thiết kế biểu đồ gói và lược đồ cơ sở dữ liệu quan hệ trên hệ quản trị MySQL.
Kết quả và đóng góp
Kết quả chính đạt được
- Huấn luyện mô hình thị giác máy tính: Xây dựng hoàn chỉnh mô hình phân loại hình ảnh thời trang dựa trên kiến trúc VGG19 kết hợp tinh chỉnh tham số với bộ tối ưu Adamax. Mô hình đạt độ chính xác $99,01%$ ngay từ epoch thứ 10 và đạt mức ổn định $99,96%$ ở epoch 50 trên tập dữ liệu gồm 20 danh mục sản phẩm.
- Triển khai thuật toán so khớp ảnh: Tích hợp thành công thuật toán Cosine Similarity để trích xuất và xếp hạng top các hình ảnh sản phẩm có độ tương đồng cao nhất trong cùng danh mục, trả về kết quả truy vấn cho ứng dụng di động.
- Xây dựng hệ thống thương mại điện tử hoàn chỉnh:
- Phân tích và thiết kế chi tiết 18 kịch bản ca sử dụng, đảm bảo quy trình mua bán khép kín từ khâu duyệt danh mục, chọn kích cỡ/số lượng, thêm giỏ hàng, thiết lập địa chỉ nhận hàng đến đặt hàng và quản lý trạng thái đơn hàng.
- Phân quyền chặt chẽ giữa ba nhóm người dùng: Khách hàng (mua sắm, quản lý cá nhân), Nhân viên (quản lý kho, đơn hàng, danh mục, kích hoạt tài khoản), và Quản lý (toàn quyền hệ thống và phân quyền tài khoản).
- Triển khai giải pháp kiến trúc microservice phân tách giữa dịch vụ nghiệp vụ chính (Spring Boot) và dịch vụ xử lý trí tuệ nhân tạo (Flask).
Đóng góp của đề tài
- Đề xuất quy trình tìm kiếm sản phẩm kết hợp hai giai đoạn (phân loại nhãn bằng CNN trước khi đo độ tương đồng Cosine), giúp tối ưu hóa thời gian xử lý và nâng cao độ chính xác khi tìm kiếm sản phẩm bằng hình ảnh trong lĩnh vực thời trang.
- Đóng góp một thiết kế hệ thống phần mềm hoàn chỉnh, chi tiết từ mô hình hóa UML (ca sử dụng, tuần tự, lớp phân tích) đến cấu trúc cơ sở dữ liệu quan hệ cho các hệ thống thương mại điện tử chuyên ngành.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế:
- Quy mô tập dữ liệu thực nghiệm dừng lại ở 5.403 hình ảnh và 20 lớp phân loại cố định; chưa được kiểm thử trên các tập dữ liệu thời trang mở quy mô lớn với nhiều điều kiện chụp ảnh phức tạp ngoài thực tế.
- Chức năng khảo sát hệ thống quản trị trên các sàn thương mại điện tử lớn (Shopee, Lazada) chưa thực hiện được do giới hạn tài khoản phân quyền thực tế của các sàn này.
- Hướng nghiên cứu tiếp:
- Mở rộng tập dữ liệu huấn luyện với số lượng mẫu lớn hơn và tăng cường các danh mục sản phẩm thời trang chi tiết hơn.
- Nâng cấp mô hình thị giác máy tính để nhận diện chi tiết hơn các đặc trưng chuyên sâu của thời trang như họa tiết vải, chất liệu và phối màu chi tiết.
- Nghiên cứu tối ưu hóa hiệu năng và tốc độ tính toán vector tương đồng khi cơ sở dữ liệu sản phẩm mở rộng lên quy mô hàng triệu bản ghi.
Giá trị tham khảo
Đồ án là tài liệu tham khảo có giá trị học thuật và kỹ thuật đối với:
- Sinh viên ngành Công nghệ phần mềm và Công nghệ thông tin: Tham khảo quy trình chuẩn về phân tích thiết kế hệ thống hướng đối tượng bằng ngôn ngữ UML, bao gồm cách xây dựng biểu đồ Use Case, kịch bản chi tiết của 18 ca sử dụng, biểu đồ tuần tự và mô hình hóa cơ sở dữ liệu quan hệ.
- Sinh viên và người làm nghiên cứu về Trí tuệ nhân tạo / Thị giác máy tính: Tham khảo phương pháp xây dựng mô hình Transfer Learning với mạng VGG19 trên Keras/TensorFlow, cách thiết lập tham số huấn luyện (Adamax, categorical_crossentropy), và phương pháp tích hợp mô hình học sâu vào dịch vụ web dạng Flask API phục vụ cho ứng dụng di động đa nền tảng.
Câu hỏi thường gặp
1. Đồ án sử dụng mô hình học sâu nào cho bài toán phân loại ảnh và cấu hình tham số ra sao?
Tác giả sử dụng mô hình VGG19 được huấn luyện sẵn trên tập dữ liệu ImageNet, lược bỏ lớp phân loại đầu ra (include_top=False), đóng băng các tầng tích chập và gắn thêm các lớp Flatten, Dense(100, activation='relu') và Dense(20, activation='softmax'). Mô hình được huấn luyện trong 50 epochs với bộ tối ưu Adamax ($\text{learning_rate} = 0.001$), hàm mất mát categorical_crossentropy, đạt độ chính xác $99,96%$.
2. Quy mô tập dữ liệu huấn luyện tìm kiếm hình ảnh gồm những gì?
Tập dữ liệu gồm 5.403 ảnh thuộc 20 lớp sản phẩm: Blazer, Blouse, Body, Dress, Hat, Hoodie, Longsleeve, Not sure, Other, Outwear, Pants, Polo, Shirt, Shoes, Shorts, Skip, Skirt, Top, T-Shirt, Undershirt. Dữ liệu được chia theo tỷ lệ $90%$ cho tập huấn luyện (4.872 ảnh) và $10%$ cho tập kiểm tra (531 ảnh).
3. Tại sao tác giả lựa chọn độ đo Cosine Similarity thay vì khoảng cách Euclid hay hệ số Pearson?
Qua kết quả thực nghiệm đo độ tương đồng trên tập ảnh áo hoodie, phương pháp Cosine Similarity và Pearson Correlation cho thứ tự xếp hạng tương tự nhau, nhưng Cosine Similarity thể hiện độ chính xác cao hơn khi so sánh các vector đặc trưng đa chiều so với khoảng cách Euclid (Euclidean Distance). Do đó, tác giả lựa chọn Cosine Similarity làm giải pháp so khớp ảnh trong hệ thống.
4. Hệ thống thương mại điện tử được xây dựng bằng những công nghệ nào?
Hệ thống gồm: ứng dụng di động Client xây dựng bằng Flutter (Dart); máy chủ nghiệp vụ xây dựng bằng Java Spring Boot (REST API); máy chủ nhận diện hình ảnh xây dựng bằng Python Flask; cơ sở dữ liệu quan hệ lưu trữ trên MySQL.
5. Hệ thống phân quyền cho những tác nhân nào và có những chức năng chính gì?
Hệ thống gồm 3 tác nhân:
- Khách hàng: Đăng ký, đăng nhập, tìm kiếm sản phẩm (bằng văn bản hoặc hình ảnh), quản lý giỏ hàng, quản lý địa chỉ giao hàng và đặt hàng.
- Nhân viên: Kế thừa quyền khách hàng, quản lý thông tin sản phẩm, quản lý danh mục hàng hóa, quản lý đơn hàng và kích hoạt (active) tài khoản người dùng.
- Quản lý: Kế thừa toàn bộ quyền của nhân viên và có thêm chức năng thay đổi quyền (Role) cho các tài khoản người dùng trong hệ thống.
Kết luận
Đồ án tốt nghiệp "Nghiên cứu xây dựng hệ thống thương mại điện tử về thời trang" của sinh viên Đỗ Đức Long đã giải quyết bài toán phát triển nền tảng mua sắm trực tuyến chuyên biệt kết hợp công nghệ tìm kiếm bằng hình ảnh. Bằng việc ứng dụng mạng học sâu VGG19 kết hợp thuật toán đo độ tương đồng Cosine, hệ thống đã giúp đơn giản hóa quá trình tìm kiếm sản phẩm theo ảnh mẫu với độ chính xác nhận diện đạt $99,96%$. Toàn bộ hệ thống được phân tích, thiết kế bài bản theo mô hình MVC đa tầng và triển khai đồng bộ trên các nền tảng Flutter, Spring Boot, Flask và MySQL.