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

Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ và mạng Internet trở thành phương tiện trao đổi thông tin toàn cầu, thương mại điện tử đã khẳng định vai trò thúc đẩy hoạt động sản xuất kinh doanh và nâng cao chất lượng cuộc sống. Đối với các cửa hàng và doanh nghiệp bán lẻ, việc ứng dụng website bán hàng trực tuyến trở thành giải pháp thiết thực nhằm quảng bá sản phẩm, tối ưu hóa chi phí vận hành và phục vụ nhu cầu mua sắm từ xa của khách hàng mà không cần đến trực tiếp điểm bán.

Nhóm nghiên cứu thuộc Khoa Công nghệ Thông tin, Trường Đại học Điện Lực đã lựa chọn thực hiện đề tài "Xây dựng Website siêu thị" trong khuôn khổ học phần Cơ sở lập trình web. Đề tài được xây dựng dựa trên việc tìm hiểu thực tế nhu cầu đi chợ, mua sắm của các đối tượng người tiêu dùng như các bà mẹ nội trợ, các hộ gia đình và giới trẻ, đồng thời tham khảo mô hình hoạt động của các hệ thống bán lẻ trực tuyến như Go! hay Lotte Market.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm các nội dung chính sau:

  1. Khảo sát nhu cầu thực tế và xác định các tác nhân (Actor) tham gia vào hệ thống bán hàng trực tuyến.
  2. Xây dựng biểu đồ Use Case tổng quát và mô hình hóa chi tiết các luồng nghiệp vụ thông qua biểu đồ ca sử dụng, biểu đồ hoạt động (Activity Diagram) và biểu đồ trình tự (Sequence Diagram).
  3. Thiết kế cấu trúc giao diện người dùng cho các phân hệ của website và thiết kế hệ thống lưu trữ dữ liệu quan hệ.
  4. Hiện thực hóa mã nguồn các chức năng quản trị và chức năng người dùng bằng các công nghệ lập trình web cơ bản.

Đố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ế và xây dựng hệ thống website thương mại điện tử phục vụ kinh doanh siêu thị trực tuyến (tập trung vào phân hệ bán hàng và quản trị sản phẩm).
  • Phạm vi nghiên cứu: Đồ án học phần Cơ sở lập trình web do nhóm sinh viên lớp D17CNPM6 thực hiện tại Trường Đại học Điện Lực trong năm 2024.

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

Báo cáo ứng dụng lý thuyết phân tích thiết kế hệ thống hướng đối tượng thông qua ngôn ngữ mô hình hóa thống nhất (UML - Unified Modeling Language) và các nguyên lý xây dựng ứng dụng web hướng cơ sở dữ liệu quan hệ.

Khung lý thuyết và công nghệ sử dụng trong đồ án:

  • Mô hình hóa hệ thống bằng các biểu đồ UML: Biểu đồ ca sử dụng (Use Case Diagram), biểu đồ hoạt động (Activity Diagram), biểu đồ trình tự (Sequence Diagram) và biểu đồ quan hệ thực thể cơ sở dữ liệu (Database Diagram).
  • Công nghệ phát triển phía giao diện (Client-side): Ngôn ngữ HTML (tạo lập cấu trúc siêu văn bản), CSS (định dạng kiểu dáng và bố cục trang), JavaScript (xử lý logic kịch bản động và tương tác người dùng).
  • Hệ quản trị cơ sở dữ liệu (DBMS): Microsoft SQL Server.
  • Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio 2022.

Phương pháp nghiên cứu:

  • Phương pháp khảo sát thực tế: Tìm hiểu mô hình vận hành thương mại điện tử của các hệ thống siêu thị thực tế trên thị trường (Go!, Lotte Market) để tổng hợp các chức năng cốt lõi.
  • Phương pháp phân tích và thiết kế hệ thống thông tin: Đặc tả chi tiết từng Use Case theo các thành phần chuẩn (tên ca sử dụng, tác nhân, mô tả, dòng sự kiện, điều kiện kích hoạt, kết quả trả về); sau đó chuyển hóa thành các sơ đồ luồng nghiệp vụ và luồng thông điệp.
  • Phương pháp thực nghiệm phần mềm: Cài đặt, viết mã nguồn các chức năng và kiểm thử vận hành trên môi trường trình duyệt.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc phân quyền rõ ràng giữa hai nhóm tác nhân: Người quản lý (Admin) và Người dùng (Khách hàng/Thành viên).

Tác nhân (Actor) Phạm vi chức năng (Use Case)
Người quản lý (Admin) Đăng nhập hệ thống; Quản lý sản phẩm (thêm, sửa, xóa thông tin sản phẩm); Quản lý người dùng (xem danh sách, tìm kiếm, thêm, sửa, xóa thông tin khách hàng); Quản trị phân quyền; Đổi mật khẩu, quên mật khẩu, đăng xuất.
Người dùng (Khách hàng) Đăng ký tài khoản mới; Đăng nhập hệ thống; Quản lý giỏ hàng (thêm sản phẩm, xóa sản phẩm khỏi giỏ); Thực hiện thanh toán; Đổi mật khẩu, quên mật khẩu, đăng xuất; Tìm kiếm và xem thông tin sản phẩm.

Thiết kế cơ sở dữ liệu (Lưu trữ)

Hệ thống tổ chức lưu trữ dữ liệu quan hệ trên SQL Server gồm 4 bảng thực thể chính:

  1. Bảng khách hàng: Lưu trữ các thuộc tính định danh người dùng, thông tin liên hệ và tài khoản đăng nhập.
  2. Bảng sản phẩm: Lưu trữ thông tin chi tiết về các mặt hàng bày bán trên website (mã, tên, đơn giá, mô tả).
  3. Bảng giao dịch: Lưu trữ thông tin tổng quát về các đơn đặt hàng phát sinh trên hệ thống.
  4. Bảng chi tiết giao dịch: Lưu trữ chi tiết từng sản phẩm, số lượng và giá trị trong mỗi đơn giao dịch cụ thể.

Thiết kế giao diện (UI)

Báo cáo xây dựng thiết kế giao diện cho các màn hình chức năng:

  • Màn hình đăng nhập hệ thống.
  • Các giao diện phía khách hàng: Giao diện trang chủ, Giao diện giới thiệu, Giao diện sản phẩm, Giao diện thương hiệu, Giao diện tin tức, Giao diện giỏ hàng, Giao diện tìm kiếm, Giao diện xác nhận thanh toán.

Triển khai lập trình

Mã nguồn hệ thống được viết bằng JavaScript, HTML và CSS trên Visual Studio 2022 kết nối cơ sở dữ liệu SQL Server. Nhóm tập trung hiện thực hóa các đoạn mã xử lý nghiệp vụ cho các chức năng trọng tâm: Chức năng Đăng xuất, Chức năng Tìm kiếm người dùng, Chức năng Sửa thông tin người dùng và Chức năng Xóa người dùng.


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

CHƯƠNG I: XÁC ĐỊNH ACTOR VÀ USE CASE TỔNG QUÁT HỆ THỐNG

Chương I tập trung phân tích tổng quan cấu trúc người dùng của hệ thống siêu thị trực tuyến. Nhóm tác giả xác định 2 tác nhân chính tham gia tương tác: Người quản lý và Người dùng. Nội dung chương trình bày Biểu đồ Use Case tổng quát (Hình 4.1), phác họa mối quan hệ giữa các tác nhân và các khối chức năng tương ứng, làm nền tảng cho việc phân tích chi tiết ở các giai đoạn tiếp theo.

CHƯƠNG II: PHÂN TÍCH CHI TIẾT TỪNG CHỨC NĂNG

Chương II là phần trọng tâm của báo cáo, tiến hành đặc tả và phân tích kỹ thuật 5 phân hệ chức năng chính:

  • Chức năng đăng ký tài khoản: Cung cấp biểu đồ Use Case, biểu đồ hoạt động và biểu đồ trình tự. Đặc tả luồng sự kiện gồm 4 bước từ tiếp nhận thông tin (username, email, password, giới tính, ngày sinh), kiểm tra tính hợp lệ dữ liệu, tạo tài khoản trong cơ sở dữ liệu, xác thực qua email/số điện thoại và kết thúc.
  • Chức năng đăng nhập: Đặc tả luồng đăng nhập, kiểm tra thông tin hợp lệ; phân quyền truy cập giữa giao diện người dùng và giao diện quản trị; phân tích các chức năng bổ trợ đi kèm gồm đổi mật khẩu, quên mật khẩu (gửi mã xác minh qua SMS/email) và đăng xuất. Mỗi chức năng đều có biểu đồ hoạt động và biểu đồ trình tự tương ứng.
  • Chức năng quản lý giỏ hàng, thanh toán: Đặc tả quy trình khách hàng thêm sản phẩm vào giỏ, xóa sản phẩm khỏi giỏ, kiểm tra giao dịch hợp lệ, lưu trữ đơn hàng vào cơ sở dữ liệu và gửi mã đơn hàng cho khách hàng.
  • Chức năng quản lý người dùng: Dành riêng cho Người quản lý. Phân tích chi tiết quy trình tìm kiếm người dùng (kết hợp bộ lọc danh sách), thêm người dùng mới (có kiểm tra cấu trúc dữ liệu), xóa người dùng và chỉnh sửa thông tin người dùng (yêu cầu quản trị viên nhập mật khẩu xác thực danh tính trước khi cập nhật dữ liệu và thiết lập trạng thái hiển thị công khai/riêng tư).
  • Chức năng quản lý sản phẩm: Phục vụ Người quản lý với các nghiệp vụ thêm, sửa, xóa thông tin sản phẩm trên cơ sở dữ liệu; kiểm tra sự tồn tại và tính hợp lệ của mã/tên sản phẩm trước khi cập nhật.

CHƯƠNG III: THIẾT KẾ

Chương III trình bày kết quả thiết kế trực quan và cấu trúc dữ liệu của đồ án:

  • Thiết kế giao diện: Bản vẽ bố cục các trang giao diện người dùng (Trang chủ, Giới thiệu, Sản phẩm, Thương hiệu, Tin tức, Giỏ hàng, Tìm kiếm, Xác nhận thanh toán) và giao diện xác thực đăng nhập.
  • Thiết kế lưu trữ: Cung cấp cấu trúc của 4 bảng dữ liệu (Bảng khách hàng, Bảng sản phẩm, Bảng giao dịch, Bảng chi tiết giao dịch) cùng sơ đồ quan hệ tổng thể (Diagram cơ sở dữ liệu).

Chương IV : Lập trình

Chương IV trình bày về công nghệ cài đặt và triển khai hệ thống:

  • Ngôn ngữ và công cụ lập trình: Nhóm phân tích lý do lựa chọn bộ ba công nghệ cơ bản HTML, CSS, JavaScript nhờ tính tương thích đa nền tảng, khả năng tạo trang web động và sự hỗ trợ của hệ sinh thái thư viện/framework phong phú. Công cụ thực hiện gồm Visual Studio 2022 và hệ quản trị cơ sở dữ liệu SQL Server.
  • Phần code các chức năng: Trình bày mã nguồn thực thi cụ thể của 4 module nghiệp vụ: Chức năng Đăng xuất, Chức năng Tìm kiếm người dùng, Chức năng Sửa thông tin người dùng và Chức năng Xóa người dùng.

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

Kết quả đạt được

  • Hoàn thành đầy đủ hồ sơ phân tích thiết kế hệ thống website siêu thị trực tuyến với hệ thống biểu đồ UML hoàn chỉnh (biểu đồ Use Case, Activity Diagram và Sequence Diagram cho 5 khối chức năng chính).
  • Thiết kế hoàn chỉnh mô hình dữ liệu quan hệ gồm 4 bảng lưu trữ cốt lõi trên Microsoft SQL Server, phản ánh đúng nghiệp vụ mua sắm và quản lý bán hàng.
  • Thiết kế hệ thống giao diện chức năng bao phủ toàn bộ luồng trải nghiệm từ xem thông tin, tìm kiếm, quản lý giỏ hàng đến xác nhận đơn hàng.
  • Triển khai thành công mã nguồn cho các module nghiệp vụ cốt lõi bằng JavaScript, HTML và CSS trên Visual Studio 2022.

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

  • Cung cấp một tài liệu báo cáo học phần có cấu trúc chuẩn mực về quy trình phân tích và thiết kế phần mềm hướng đối tượng ở cấp độ đại học.
  • Đóng góp mô hình quy trình xử lý đơn hàng và quản lý tài khoản người dùng có tích hợp các bước xác thực bảo mật cho các ứng dụng web bán lẻ quy mô vừa và nhỏ.

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

  • Hạn chế: Do giới hạn về mặt thời gian thực hiện học phần và kinh nghiệm lập trình của nhóm sinh viên, một số chức năng trong báo cáo và hệ thống website còn tồn tại những điểm chưa thật sự hoàn thiện tối đa về mặt tính năng và độ sâu triển khai.
  • Hướng tiếp tục: Nhóm tác giả định hướng tiếp thu các ý kiến đánh giá, phản biện của giảng viên hướng dẫn để tiếp tục hoàn thiện, bổ sung các chức năng nâng cao và tối ưu hóa hệ thống website.

Giá trị tham khảo

Tài liệu là nguồn tham khảo trực quan cho:

  • Sinh viên các ngành Công nghệ thông tin, Kỹ thuật phần mềm đang học các học phần Cơ sở lập trình web, Phân tích thiết kế hệ thống thông tin hoặc chuẩn bị thực hiện đồ án môn học.
  • Người học cần tham khảo cách thức xây dựng tài liệu đặc tả ca sử dụng chuẩn (Use Case Specification), cách vẽ và liên kết giữa biểu đồ hoạt động (Activity Diagram) với biểu đồ trình tự (Sequence Diagram).
  • Các nhà phát triển muốn tham khảo cấu trúc cơ sở dữ liệu tinh gọn và luồng quản lý người dùng có bước xác thực danh tính dành cho các website thương mại điện tử mini.

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

1. Báo cáo học phần này do nhóm sinh viên nào thực hiện và thuộc cơ sở đào tạo nào?
Báo cáo do nhóm 3 sinh viên gồm Chu Đức Mạnh (MSV: 22810350424), Đinh Duy Thắng (MSV: 2281035) và Đoàn Phương Anh (MSV: 2281031) thuộc lớp D17CNPM6, Khoa Công nghệ Thông tin, Trường Đại học Điện Lực thực hiện vào năm 2024.

2. Hệ thống website xác định những nhóm người dùng nào và phân quyền ra sao?
Hệ thống xác định 2 tác nhân chính: "Người quản lý" (toàn quyền quản lý sản phẩm, quản lý thông tin khách hàng, phân quyền hệ thống) và "Người dùng" (thực hiện đăng ký, đăng nhập, tìm kiếm sản phẩm, quản lý giỏ hàng và thanh toán).

3. Cơ sở dữ liệu của hệ thống được tổ chức lưu trữ gồm những bảng dữ liệu nào?
Hệ thống được thiết kế lưu trữ trên SQL Server gồm 4 bảng chính: Bảng khách hàng, Bảng sản phẩm, Bảng giao dịch và Bảng chi tiết giao dịch.

4. Nhóm tác giả đã sử dụng những công nghệ và công cụ lập trình nào để xây dựng đề tài?
Hệ thống sử dụng HTML, CSS và JavaScript làm ngôn ngữ xây dựng giao diện và xử lý logic tương tác; sử dụng phần mềm Microsoft Visual Studio 2022 làm môi trường lập trình và Microsoft SQL Server làm hệ quản trị cơ sở dữ liệu.

5. Trong chức năng quản lý người dùng, khi Quản trị viên tiến hành xóa hoặc sửa dữ liệu khách hàng thì hệ thống yêu cầu bước xác thực nào?
Khi quản trị viên thực hiện xóa hoặc sửa thông tin người dùng, hệ thống sẽ đưa ra yêu cầu xác nhận danh tính bắt buộc bằng cách yêu cầu nhập mật khẩu xác thực (hoặc phương thức xác thực) trước khi tiến hành cập nhật hay loại bỏ bản ghi trong cơ sở dữ liệu.


Kết luận

Báo cáo học phần "Xây dựng hệ thống siêu thị" của nhóm sinh viên Trường Đại học Điện Lực đã trình bày tương đối toàn diện quy trình phát triển một website thương mại điện tử cơ bản. Đề tài hoàn thành tốt các mục tiêu từ khảo sát nhu cầu, mô hình hóa hệ thống bằng biểu đồ UML, thiết kế cơ sở dữ liệu quan hệ đến cài đặt mã nguồn các chức năng trọng điểm. Đây là tài liệu đồ án môn học có giá trị học thuật và tham khảo thiết thực cho sinh viên ngành Công nghệ thông tin trong các học phần lập trình web và phân tích hệ thống.