Bối cảnh và vấn đề nghiên cứu

Sự phát triển mạnh mẽ của công nghệ thông tin và mạng Internet đã đưa máy tính điện tử trở thành phương tiện làm việc, học tập và giải trí thiết yếu trong mọi lĩnh vực của đời sống xã hội. Cùng với xu thế toàn cầu hóa nền kinh tế, nhu cầu trao đổi, mua bán hàng hóa của con người không ngừng gia tăng cả về số lượng lẫn chất lượng. Trong bối cảnh đó, thương mại điện tử (TMĐT) nổi lên như một giải pháp tất yếu, cho phép các doanh nghiệp và cửa hàng phân phối sản phẩm trực tiếp đến người tiêu dùng thông qua mạng Internet một cách nhanh chóng và thuận tiện.

Đề tài "Xây Dựng Website Bán Laptop: Giải Pháp Thương Mại Điện Tử" được thực hiện nhằm giải quyết bài toán tiếp cận và đẩy mạnh ứng dụng thương mại điện tử trong lĩnh vực bán lẻ thiết bị công nghệ tại Việt Nam. Báo cáo đồ án xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể sau:

  1. Phân tích bài toán thương mại điện tử dành riêng cho ngành hàng máy tính xách tay (laptop), bao gồm xác định đối tượng khách hàng, thị trường mục tiêu và các yêu cầu quản lý vận hành.
  2. Nghiên cứu tổng quan cơ sở lý thuyết về các công nghệ phát triển ứng dụng web và di động hiện đại (HTML, CSS, JavaScript, React, PostgreSQL, NodeJS, FastAPI, React Native).
  3. Khảo sát hiện trạng, phân tích và đặc tả chi tiết các ca sử dụng (Use Case) của hệ thống cho các nhóm đối tượng người dùng khác nhau.
  4. Thiết kế cơ sở dữ liệu quan hệ phục vụ việc lưu trữ, quản lý sản phẩm, thông số kỹ thuật chi tiết, đơn hàng và khách hàng.
  5. Hiện thực hóa và xây dựng giao diện ứng dụng web và ứng dụng di động phục vụ trải nghiệm mua sắm và quản trị.
  • Đối tượng nghiên cứu: Quy trình vận hành, quản lý kinh doanh mặt hàng máy tính xách tay và hệ thống phần mềm thương mại điện tử (gồm giao diện web/app và cơ sở dữ liệu).
  • Phạm vi nghiên cứu: Hệ thống phần mềm được nghiên cứu và thiết kế trong khuôn khổ học phần "Phát triển phần mềm hướng dịch vụ", Khoa Công nghệ Thông tin, Trường Đại học Kiến Trúc Hà Nội trong năm học 2023-2024.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và công nghệ sử dụng

Đồ án tổng hợp và phân tích lý thuyết nền tảng của các công nghệ phần mềm từ tầng giao diện (Frontend), tầng xử lý máy chủ (Backend) cho đến tầng lưu trữ dữ liệu (Database):

Nhóm công nghệ Công nghệ / Nền tảng Đặc tính kỹ thuật chính theo tài liệu
Giao diện Web HTML / CSS / JavaScript HTML định dạng cấu trúc; CSS định kiểu và bố cục hộp (Padding, Border, Margin); JavaScript thông dịch phía máy khách tạo tương tác động.
Thư viện Frontend React Thư viện JavaScript phát triển bởi Facebook, xây dựng UI dựa trên kiến trúc Component, sử dụng JSX, tối ưu hiệu năng bằng Virtual DOM, hỗ trợ Redux.
Ứng dụng Di động React Native Framework đa nền tảng (iOS, Android), hoạt động trên 3 luồng (UI Thread, Shadow Thread, JS Thread) kết nối qua cơ chế Bridge, tái sử dụng đến 80% mã nguồn.
Hệ quản trị CSDL PostgreSQL Hệ quản trị CSDL quan hệ đối tượng (ORDBMS) mã nguồn mở, hỗ trợ nhiều kiểu dữ liệu, toàn vẹn khóa PK/FK, bảo mật qua SCRAM-SHA-256, LDAP, mở rộng qua PL/pgSQL.
Môi trường Backend NodeJS / FastAPI NodeJS xử lý I/O không đồng bộ hướng sự kiện (Ryan Dahl, 2009); FastAPI (Python) xây dựng RESTful API dựa trên Pydantic, hỗ trợ bất đồng bộ và tự tạo tài liệu OpenAPI.

Phương pháp nghiên cứu và nguồn dữ liệu

  • Phương pháp phân tích và thiết kế hệ thống: Khảo sát yêu cầu chức năng thực tế của một cửa hàng máy tính xách tay; mô hình hóa quy trình nghiệp vụ thông qua sơ đồ và bảng đặc tả Use Case chi tiết (tiền điều kiện, hậu điều kiện, luồng sự kiện chính, luồng thay thế và luồng ngoại lệ); thiết kế cấu trúc dữ liệu quan hệ (Entity-Relationship).
  • Nguồn dữ liệu: Tài liệu kỹ thuật chuyên ngành công nghệ phần mềm, tài liệu đặc tả chuẩn của W3C, tài liệu hướng dẫn chính thức của các framework/công nghệ và số liệu khảo sát thực tế bài toán bán lẻ laptop.

Thiết kế và triển khai

Hệ thống được thiết kế nhằm đáp ứng đầy đủ các phân hệ chức năng cho hai đối tượng tác nhân chính: Khách hàng (Người dùng) và Quản trị viên (Admin).

Mô hình cơ sở dữ liệu quan hệ

Cơ sở dữ liệu của hệ thống được chuẩn hóa thành 8 bảng thực thể chính với các thuộc tính và ràng buộc cụ thể:

Bảng thực thể Khóa chính (PK) Khóa ngoại (FK) Các trường thuộc tính chính
Role ID (Int) Không name (varchar)
User ID (Int) role_id (Int) phone_number, password, full_name, address, email
Branch ID (Int) Không name (varchar)
Category ID (Int) Không name (varchar)
Product ID (Int) category_id, branch_id title, name, image, description
ProductDetail ID (Int) product_id, ram_id, rom_id, os_id, card_id name, image, description, price, camera, camera_self, battery, chip, screen, quantity_remain, video
Order ID (Int) user_id (Int) total_amount (float), status (int)
OrderDetail ID (Int) order_id, product_id quantity (int), into_money (float), date_note (Date)

Các mối quan hệ logic trong hệ thống được xác lập theo quy tắc:

  • Quan hệ 1 - n giữa Branch (Nhãn hàng) và Product (Sản phẩm).
  • Quan hệ 1 - n giữa Category (Thể loại) và Product (Sản phẩm).
  • Quan hệ 1 - n giữa Product và ProductDetail (Sản phẩm chi tiết).
  • Quan hệ 1 - n giữa ProductDetail với các thực thể ảnh màu, hệ điều hành (os), card đồ họa (card), RAM và ROM.
  • Quan hệ 1 - n giữa Role (Vai trò) và User (Người dùng).
  • Quan hệ 1 - n giữa User (Người dùng) và Order (Đơn đặt hàng); quan hệ 1 - n giữa Order và OrderDetail.

Phân tích đặc tả các ca sử dụng (Use Cases)

Hệ thống thiết lập 9 ca sử dụng trọng tâm với các luồng nghiệp vụ rõ ràng:

  1. Hiển thị: Cho phép khách hàng truy cập trang chủ và xem danh sách các mặt hàng laptop được phân phối.
  2. Đăng ký: Tiếp nhận thông tin số điện thoại, mật khẩu, email từ người dùng; kiểm tra tính hợp lệ, lưu trữ tài khoản và ghi nhận nhật ký hoạt động (Activity Log).
  3. Đăng nhập: Xác thực danh tính và phân quyền truy cập cho Admin hoặc Người dùng; ghi nhận nhật ký đăng nhập.
  4. Thêm sản phẩm: Quyền hạn Admin; cho phép nhập thông số, hình ảnh, cấu hình laptop mới vào hệ thống sau khi kiểm tra dữ liệu hợp lệ.
  5. Sửa sản phẩm: Quyền hạn Admin; tra cứu danh mục, chỉnh sửa thông tin chi tiết hoặc giá bán của sản phẩm đã chọn.
  6. Xóa sản phẩm: Quyền hạn Admin; loại bỏ thông tin sản phẩm không còn kinh doanh khỏi danh mục hệ thống.
  7. Tìm kiếm sản phẩm: Cho phép người dùng nhập từ khóa tên sản phẩm để hệ thống truy vấn và trả về danh sách kết quả phù hợp.
  8. Thêm sản phẩm vào giỏ hàng: Kiểm tra tình trạng tồn kho (quantity_remain), cho phép người dùng chọn số lượng và đưa vào giỏ hàng cá nhân.
  9. Thanh toán & Lịch sử mua hàng: Xử lý xác nhận thanh toán đơn đặt hàng và cung cấp giao diện tra cứu lịch sử các giao dịch đã hoàn tất.

Nội dung chính theo từng chương

Chương I: Giới thiệu

Chương I tập trung làm rõ tính tất yếu của thương mại điện tử trong thời đại công nghệ số. Nhóm tác giả đi sâu vào phân tích bài toán kinh doanh laptop trực tuyến với các thành phần cốt lõi:

  • Phân tích thị trường và đối tượng: Xác định người tiêu dùng có nhu cầu mua sắm máy tính xách tay trên phạm vi trực tuyến toàn diện.
  • Yêu cầu hệ thống: Thiết lập môi trường UI/UX thân thiện, quản lý sản phẩm và hàng tồn kho tự động (cập nhật trạng thái còn hàng/hết hàng), quản lý đơn hàng, xây dựng cơ sở dữ liệu khách hàng và theo dõi hiệu suất hệ thống thông qua các công cụ phân tích web.
  • Nghiên cứu công nghệ nền tảng: Đánh giá chi tiết ưu điểm, nhược điểm của các công nghệ xây dựng web tĩnh và động (HTML, CSS, JavaScript), thư viện xây dựng giao diện tương tác cao React, môi trường backend NodeJS, framework RESTful API FastAPI, hệ quản trị cơ sở dữ liệu đối tượng - quan hệ PostgreSQL và framework phát triển ứng dụng di động đa nền tảng React Native.

Chương II: Phân tích Web bán hàng laptop

Chương II là trọng tâm phân tích kỹ thuật của đồ án, bao gồm:

  • Mô tả hệ thống và khảo sát hiện trạng: Định nghĩa chức năng cơ bản của website là giới thiệu thông tin, giá cả sản phẩm chính xác, hỗ trợ đặt hàng và tra cứu lịch sử mua sắm. Khảo sát 3 nhóm chức năng nghiệp vụ: Quản lý sản phẩm, Quản lý đơn đặt hàng và Quản lý thông tin khách hàng.
  • Đặc tả Use Case chi tiết: Xây dựng bảng đặc tả cho từng tác vụ (Hiển thị, Đăng ký, Đăng nhập, Thêm/Sửa/Xóa sản phẩm, Tìm kiếm, Thêm giỏ hàng, Thanh toán, Lịch sử mua hàng), nêu rõ điều kiện kích hoạt (Trigger), tiền điều kiện (Pre-conditions), hậu điều kiện (Post-conditions), luồng cơ bản (Basic Flows), luồng thay thế (Alternative Flows) và luồng ngoại lệ (Exception Flows).
  • Mô hình hóa dữ liệu: Thiết lập cấu trúc các bảng thực thể và mô tả chi tiết các mối quan hệ liên kết dữ liệu quan hệ (1-n) giữa thương hiệu, phân loại, sản phẩm tổng quát, thông số chi tiết cấu hình, đơn hàng và tài khoản người dùng.

Chương III: Giao diện

Chương III trình bày kết quả hiện thực hóa giao diện người dùng trên hai nền tảng:

  • Giao diện Website: Minh họa các màn hình chức năng chính bao gồm Trang chủ, Trang hiển thị thông tin sản phẩm chi tiết, Giao diện đặt hàng và Giao diện tra cứu lịch sử mua hàng.
  • Giao diện Demo Ứng dụng Di động (Demo App): Thiết kế và chụp ảnh minh họa các màn hình thực tế: Giao diện đăng nhập, Giao diện bán hàng, Giao diện sản phẩm chi tiết, Giao diện đặt hàng, Giao diện thanh toán, Giao diện hiển thị thông tin cá nhân và Giao diện chỉnh sửa thông tin người dùng.

Chương IV: Kết luận và Hướng phát triển

Chương IV tổng kết toàn bộ quá trình nghiên cứu và triển khai đề tài:

  • Kết quả đạt được: Hoàn thành khảo sát, phân tích thiết kế hệ thống bán hàng laptop; thiết lập cấu trúc cơ sở dữ liệu chuẩn hóa và xây dựng hệ thống giao diện chức năng trên nền tảng web cùng demo ứng dụng di động.
  • Hướng phát triển: Đề ra các định hướng hoàn thiện hệ thống trong giai đoạn tiếp theo nhằm nâng cao chất lượng dịch vụ và khả năng đáp ứng thị trường.

Kết quả và đóng góp

Kết quả chính

  • Hệ thống hóa đầy đủ quy trình phân tích và thiết kế một phần mềm thương mại điện tử chuyên ngành máy tính xách tay.
  • Xây dựng mô hình dữ liệu quan hệ gồm 8 bảng thực thể chính với cấu trúc trường thông tin chi tiết, đặc biệt là bảng ProductDetail chứa đầy đủ các thuộc tính phần cứng (CPU/chip, RAM, ROM, card đồ họa, màn hình, pin, camera).
  • Thiết lập hoàn chỉnh 9 bảng đặc tả Use Case có cơ chế ghi nhận nhật ký hệ thống (Activity Log) và xử lý các kịch bản lỗi (dữ liệu không hợp lệ, sản phẩm hết hàng, số dư không đủ).
  • Triển khai bộ giao diện người dùng trực quan cho cả phiên bản web và ứng dụng di động (bao gồm đầy đủ luồng từ đăng nhập, xem hàng, đặt hàng, thanh toán đến quản lý hồ sơ cá nhân).

Đóng góp của đề tài

Đề tài đóng góp một tài liệu phân tích thiết kế hệ thống hoàn chỉnh cho mô hình bán lẻ thiết bị công nghệ. Điểm đáng chú ý trong thiết kế của nhóm tác giả là việc tách biệt bảng thông tin chung Product (tiêu đề, tên, nhãn hàng, thể loại) và bảng cấu hình chi tiết ProductDetail (thông số kỹ thuật phần cứng, giá bán, tồn kho), giúp hệ thống có khả năng linh hoạt mở rộng nhiều phiên bản cấu hình cho cùng một dòng máy.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế

  • Báo cáo chưa trình bày số liệu đo lường hiệu năng thực tế (performance benchmarks) khi hệ thống chịu tải lượng lớn truy cập đồng thời.
  • Việc xử lý các giao dịch phức tạp và tối ưu hóa truy vấn CSDL quan hệ khi số lượng bản ghi tăng cao cần tiếp tục được đánh giá dựa trên các hạn chế kỹ thuật của NodeJS và PostgreSQL đã nêu trong phần cơ sở lý thuyết.
  • Ứng dụng di động mới dừng lại ở mức giao diện demo, cần tiếp tục hoàn thiện logic tích hợp trọn vẹn với hệ thống API backend.

Hướng nghiên cứu tiếp

  • Nghiên cứu tích hợp trí tuệ nhân tạo (AI) vào hệ thống để tự động hóa việc phân tích hành vi, đề xuất sản phẩm theo sở thích cá nhân của khách hàng như đã đề cập trong định hướng ban đầu.
  • Xây dựng và mở rộng hệ thống kết nối đa kênh, liên kết với các mạng xã hội để nâng cao năng lực chăm sóc khách hàng và tiếp thị trực tuyến.
  • Hoàn thiện cổng thanh toán trực tuyến và tích hợp hệ thống quản lý chuỗi cung ứng, theo dõi vận chuyển đơn hàng tự động.

Giá trị tham khảo

Báo cáo đồ án là tài liệu tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm, Hệ thống thông tin: Tham khảo phương pháp viết báo cáo môn học "Phát triển phần mềm hướng dịch vụ", cách trình bày bảng đặc tả Use Case chuẩn và kỹ năng mô hình hóa cơ sở dữ liệu quan hệ cho website thương mại điện tử.
  • Lập trình viên và người phát triển hệ thống: Tham khảo cấu trúc cơ sở dữ liệu quản lý sản phẩm có nhiều biến thể cấu hình phần cứng phức tạp và mô hình tích hợp giao diện đa nền tảng (Web và Mobile).

Câu hỏi thường gặp

1. Đề tài này do đơn vị nào thực hiện và trong khuôn khổ học phần nào?
Đề tài do Nhóm 8 (gồm sinh viên: Phạm Đăng Phúc, Vũ Thanh Tùng, Vũ Minh Thưởng, Nguyễn Quang Hải, Phạm Đình Trường Sơn) thực hiện dưới sự hướng dẫn của Giảng viên Phạm Trọng Tuấn, thuộc Khoa Công nghệ Thông tin, Trường Đại học Kiến Trúc Hà Nội trong học phần "Phát triển phần mềm hướng dịch vụ" (Năm học 2023-2024).

2. Bảng cơ sở dữ liệu ProductDetail quản lý những thông số kỹ thuật cụ thể nào của laptop?
Bảng ProductDetail được thiết kế lưu trữ các thông số: tên (name), hình ảnh (image), mô tả (description), giá bán (price), camera trước/sau (camera, camera_self), dung lượng pin (battery), vi xử lý (chip), màn hình (screen), số lượng tồn kho (quantity_remain), video giới thiệu (video), cùng các khóa ngoại liên kết tới thông tin RAM (ram_id), bộ nhớ lưu trữ (rom_id), hệ điều hành (os_id) và card đồ họa (card_id).

3. Cơ chế hoạt động của React Native được nhóm tác giả phân tích như thế nào?
Theo tài liệu, React Native hoạt động dựa trên 3 luồng: UI Thread (luồng chính truy cập giao diện), Shadow Thread (luồng nền dùng React tính toán bố cục) và JS Thread (thực thi mã JavaScript). Hai luồng Main Thread và JS Thread hoạt động độc lập và giao tiếp truyền nhận dữ liệu thông qua một cầu nối (Bridge).

4. Những ca sử dụng (Use Case) nào trong hệ thống chỉ dành riêng cho tác nhân Quản trị viên (Admin)?
Các ca sử dụng được phân quyền dành riêng cho Admin bao gồm: Thêm thông tin sản phẩm (Use case 2.3), Sửa thông tin sản phẩm (Use case 2.4) và Xóa thông tin sản phẩm (Use case 2.5).

5. Khi xảy ra ngoại lệ khách hàng đặt mua sản phẩm đã hết hàng, hệ thống xử lý như thế nào?
Theo đặc tả ca sử dụng thêm sản phẩm vào giỏ hàng (Use case 2.7), nếu sản phẩm đã hết hàng (quantity_remain không đáp ứng), hệ thống sẽ kích hoạt luồng ngoại lệ (Exception Flow 2.1) hiển thị thông báo và chuyển người dùng quay trở lại trang thông tin chi tiết của sản phẩm đó.

Kết luận

Đồ án "Xây Dựng Website Bán Laptop: Giải Pháp Thương Mại Điện Tử" của nhóm sinh viên Khoa Công nghệ Thông tin, Trường Đại học Kiến Trúc Hà Nội đã hoàn thành việc khảo sát, phân tích nghiệp vụ và thiết kế hệ thống TMĐT chuyên biệt cho ngành hàng máy tính xách tay. Công trình đã chuẩn hóa được mô hình cơ sở dữ liệu chi tiết cho các linh kiện phần cứng, hoàn thiện hệ thống đặc tả 9 ca sử dụng nghiệp vụ cốt lõi và hiện thực hóa bộ giao diện người dùng trên cả nền tảng web lẫn ứng dụng di động. Kết quả nghiên cứu cung cấp cơ sở kỹ thuật rõ ràng để tiếp tục phát triển, tích hợp API dịch vụ và nâng cấp các tính năng thông minh trong tương lai.