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

Đề tài khóa luận tốt nghiệp "Xây dựng website bán sách" do sinh viên khoa Công nghệ, Trường Đại học Công nghệ Đồng Nai thực hiện vào tháng 08 năm 2020 dưới sự hướng dẫn của ThS. Lê Thị Trang. Nghiên cứu thuộc lĩnh vực Công nghệ thông tin và Kỹ thuật phần mềm, tập trung vào việc thiết kế và xây dựng một hệ thống thương mại điện tử phục vụ hoạt động kinh doanh trực tuyến.

Lý do chọn đề tài

Trong bối cảnh khoa học kỹ thuật và Internet phát triển mạnh mẽ, việc ứng dụng công nghệ thông tin vào công tác quản lý và giao dịch thay thế các phương thức thủ công trở thành nhu cầu cấp thiết đối với các doanh nghiệp và cửa hàng vừa và nhỏ. So với kinh doanh truyền thống, thương mại điện tử giúp tối ưu hóa chi phí và đạt hiệu quả vận hành cao hơn. Lợi thế từ mạng Internet cho phép truyền tải thông tin sản phẩm nhanh chóng, kết hợp với các khâu thanh toán qua ngân hàng, bưu điện và mạng lưới chuyển phát tận nơi. Mặc dù trên thế giới đã có nhiều hệ thống bán sách trực tuyến, nhưng tại thời điểm nghiên cứu, mô hình này vẫn chưa thực sự phổ biến rộng rãi và khái niệm thương mại điện tử vẫn còn tương đối mới mẻ đối với nhiều đối tượng người dùng trong nước. Do đó, việc xây dựng một website bán sách trực tuyến dựa trên mô hình kiến trúc phân lớp là giải pháp được lựa chọn nhằm đáp ứng nhu cầu thực tiễn.

Mục tiêu và nhiệm vụ nghiên cứu

Mục tiêu cốt lõi của khóa luận là xây dựng một trang web động bán sách trực tuyến hoàn chỉnh nhằm kết nối người tiêu dùng và nhà quản trị. Các nhiệm vụ nghiên cứu được phân định thành ba nội dung:

  1. Nghiên cứu lý thuyết về thương mại điện tử, cách thức vận hành của mô hình kiến trúc MVC (Model - View - Controller), giao thức Client - Server và cơ chế lưu trữ dữ liệu của hệ quản trị cơ sở dữ liệu MySQL Server.
  2. Ứng dụng ngôn ngữ lập trình PHP kết hợp cơ sở dữ liệu MySQL Server để thiết kế và lập trình giao diện, xử lý nghiệp vụ cho trang web.
  3. Phân tích thiết kế hệ thống bằng ngôn ngữ mô hình hóa hợp nhất (UML), xây dựng các biểu đồ ca sử dụng, biểu đồ hoạt động, biểu đồ tuần tự, biểu đồ trạng thái và cơ sở dữ liệu logic phục vụ toàn bộ chu trình mua bán và quản lý hàng hóa.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng sử dụng hệ thống: Được phân định thành hai nhóm chính:
    • Phía khách hàng: Bất kỳ người dùng nào có nhu cầu mua sắm trực tuyến, bao gồm người làm việc trong lĩnh vực công nghệ thông tin, thương nhân, phóng viên, kỹ sư, nhân viên tiếp thị, cán bộ công nhân viên chức, sinh viên và học sinh.
    • Phía quản trị: Nhà quản lý hệ thống, được cung cấp giao diện quản trị trực quan, đơn giản, không đòi hỏi phải có trình độ chuyên sâu về công nghệ thông tin.
  • Phạm vi không gian và giới hạn dịch vụ:
    • Về chức năng bán hàng và giao nhận: Chương trình chỉ thực hiện đầy đủ các chức năng vận hành trong phạm vi cùng một thành phố. Do hạn chế về khoảng cách địa lý, việc cung ứng sản phẩm được giới hạn trong một quốc gia/lãnh thổ thông qua đại lý hoặc chi nhánh gần nhất để giao hàng.
    • Về chức năng tin tức: Cung cấp thông tin trực tuyến 24/24 giờ về công nghệ thông tin trong nước và quốc tế trên phạm vi toàn cầu.
    • Về dịch vụ tư vấn, hỗ trợ khách hàng: Triển khai trực tuyến trên phạm vi toàn cầu nhằm giải đáp thắc mắc và định hướng xu hướng tiêu dùng sách.

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

Khung lý thuyết và công nghệ nền tảng

  • Thương mại điện tử: Khóa luận viện dẫn định nghĩa thương mại điện tử theo nghĩa rộng trong Luật mẫu về Thương mại điện tử của Ủy ban Liên Hợp Quốc về Luật Thương mại Quốc tế (UNCITRAL), bao quát toàn bộ các quan hệ phát sinh từ hoạt động thương mại bất kể có hợp đồng hay không (mua bán hàng hóa, thỏa thuận phân phối, đại diện thương mại, ủy thác, cho thuê, đầu tư, cấp vốn, ngân hàng, vận chuyển đường biển, đường hàng không, đường bộ...). Theo nghĩa hẹp, thương mại điện tử là các hoạt động thương mại được tiến hành trên mạng máy tính mở như Internet (chuyển tiền điện tử, mua bán cổ phiếu, đấu giá thương mại, giao nhận nội dung số, tiếp thị trực tuyến). Tác giả phân tích lợi ích của thương mại điện tử đối với ba chủ thể: doanh nghiệp (tiết kiệm chi phí thuê cửa hàng và nhân sự, sau khi xây dựng chỉ tốn khoảng 10% chi phí duy trì vận hành mỗi tháng, hỗ trợ marketing toàn cầu), người tiêu dùng (vượt qua rào cản không gian và thời gian, tiếp cận nhiều nhà cung cấp) và xã hội (tạo môi trường làm việc mới, thúc đẩy đổi mới kinh tế).
  • Ngôn ngữ lập trình PHP: PHP (Hypertext Preprocessor) là ngôn ngữ lập trình kịch bản chạy ở phía máy chủ (server-side) nhằm tạo ra mã HTML trả về cho máy khách (client). Khi có yêu cầu gửi tới Web Server, máy chủ sẽ triệu gọi PHP Engine để thông dịch mã nguồn PHP và phản hồi kết quả hiển thị cho trình duyệt.
  • Hệ quản trị cơ sở dữ liệu MySQL: Là hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở sử dụng ngôn ngữ SQL, hỗ trợ kết nối ODBC. MySQL có khả năng chạy trên nhiều nền tảng hệ điều hành khác nhau như Windows (Win32), Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris. Các đặc tính kỹ thuật bao gồm: tốc độ truy vấn cao, dễ cấu hình và quản trị, miễn phí sử dụng, hỗ trợ đa người dùng truy cập đồng thời, phân quyền bảo mật chặt chẽ và có cộng đồng hỗ trợ kỹ thuật rộng lớn.
  • Mô hình kiến trúc MVC: Được Trygve Reenskaug giới thiệu vào cuối thập niên 80, phân chia ứng dụng thành 3 thành phần chính:
    • Model: Quản lý dữ liệu, quy tắc logic và các tương tác trực tiếp với cơ sở dữ liệu, đồng thời đảm nhiệm xử lý UI logic.
    • View: Đảm nhận nhiệm vụ trình diễn dữ liệu thành các định dạng giao diện người dùng có thể đọc được (như HTML, XML, JSON).
    • Controller: Tiếp nhận yêu cầu từ người dùng (user request), quyết định phương thức xử lý và điều phối dữ liệu qua lại giữa Model và View.
Thành phần Vai trò chính trong hệ thống Ưu điểm theo phân tích của tác giả Nhược điểm theo phân tích của tác giả
Model Quản lý cơ sở dữ liệu, quy tắc nghiệp vụ và UI logic Độc lập với giao diện, dễ bảo trì logic dữ liệu Gánh vác quá nhiều tác vụ khiến cấu trúc dễ phát sinh lỗi
View Trình diễn dữ liệu ra giao diện hiển thị cho người dùng Hỗ trợ tạo nhiều kiểu hiển thị khác nhau, tránh lặp mã Phụ thuộc hoàn toàn vào Model và Controller, khó kiểm thử độc lập
Controller Tiếp nhận yêu cầu người dùng và điều phối luồng xử lý Giúp hệ thống tuân thủ nguyên lý tách biệt mối quan tâm (SoC) Phải duy trì khối lượng mã lớn để tiếp nhận và phân loại request

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

  • Phương pháp lý thuyết: Thu thập, tổng hợp tài liệu về kiến trúc MVC, mô hình Client - Server và cơ chế lưu trữ của hệ quản trị cơ sở dữ liệu MySQL.
  • Phương pháp phân tích và thiết kế: Ứng dụng ngôn ngữ mô hình hóa hợp nhất UML (chuẩn của tổ chức OMG) để mô hình hóa toàn bộ cấu trúc tĩnh và hành vi động của hệ thống.
  • Phương pháp lập trình thực nghiệm: Sử dụng PHP kết hợp hệ quản trị cơ sở dữ liệu MySQL Server để xây dựng trang web động và cơ sở dữ liệu quan hệ hoàn chỉnh.

Thiết kế và triển khai

Kiến trúc và công nghệ hệ thống

Hệ thống được thiết kế theo mô hình 3 lớp của MVC, hoạt động trên nền tảng máy khách - máy chủ (Client - Server). Ngôn ngữ lập trình chính là PHP xử lý ở phía server, kết nối tới hệ quản trị cơ sở dữ liệu MySQL Server. Về khâu bảo mật người dùng, thông tin mật khẩu của tài khoản được mã hóa bằng thuật toán băm MD5 trước khi lưu trữ vào bảng cơ sở dữ liệu.

Mô hình hóa hướng đối tượng bằng UML

Hệ thống xác định 4 nhóm đối tượng bài toán hướng tới (khách vãng lai, thành viên, manager, admin) và chi tiết hóa thành 7 tác nhân (Actors) tham gia vào chu trình vận hành:

  1. Khách thăm: Người xem ghé thăm website, tra cứu và xem chi tiết sản phẩm, thực hiện đăng ký tài khoản.
  2. Khách hàng: Thành viên đã đăng ký, thực hiện đăng nhập, đăng xuất, tìm kiếm, bình luận, thêm vào giỏ hàng và đặt mua hàng.
  3. Người quản trị: Điều hành, theo dõi hoạt động chung của hệ thống, quản lý tài khoản nhân viên và danh mục sản phẩm.
  4. Bộ phận kinh doanh: Tiếp nhận đơn đặt hàng từ khách, kiểm tra thông tin và liên hệ với khách hàng để xác nhận đơn.
  5. Bộ phận kho: Kiểm tra lượng hàng tồn kho, tiếp nhận sách mới nhập và xuất hàng theo đơn.
  6. Bộ phận nhập hàng: Thực hiện thủ tục và quy trình nhập hàng mới khi kho có nhu cầu bổ sung.
  7. Bộ phận chuyển phát hàng: Tiếp nhận hàng hóa từ bộ phận kho và thực hiện vận chuyển giao sách đến địa chỉ của khách hàng.

Khóa luận triển khai hệ thống biểu đồ UML hoàn chỉnh:

  • Biểu đồ Use Case: Phân rã Use Case người dùng (Hình 3) và người quản trị (Hình 4); biểu đồ Use Case chi tiết đăng ký - đăng nhập (Hình 5), tìm kiếm (Hình 6 với các quan hệ <<extend>> tìm theo đơn giá, tên, loại sách), nhập hàng (Hình 7), xuất hàng (Hình 8), mua hàng (Hình 9 với các quan hệ thêm sản phẩm, xóa sản phẩm, số lượng, tổng tiền).
  • Biểu đồ hoạt động (Activity Diagrams): 7 biểu đồ cho các tiến trình: Đăng ký thành viên (Hình 10), Đăng nhập hệ thống (Hình 11), Tìm kiếm sản phẩm (Hình 12), Xem sản phẩm (Hình 13), Xem giỏ hàng (Hình 14), Nhập hàng vào kho (Hình 15), Nhận hóa đơn và giao hàng (Hình 16).
  • Biểu đồ tuần tự (Sequence Diagrams): 5 biểu đồ mô tả tương tác theo thời gian: Đăng ký thành viên (Hình 17), Đăng nhập (Hình 18), Tìm kiếm sản phẩm (Hình 19), Nhập hàng (Hình 20), Giao hàng (Hình 21).
  • Biểu đồ trạng thái (State Machine Diagrams): 5 biểu đồ trạng thái: Đăng ký thành viên (Hình 22), Đăng nhập (Hình 23), Tìm kiếm sản phẩm (Hình 24), Nhập hàng (Hình 25), Giao hàng (Hình 26).

Thiết kế cơ sở dữ liệu logic

Cơ sở dữ liệu của hệ thống bao gồm 10 bảng thực thể chính với cấu trúc trường, kiểu dữ liệu và ràng buộc toàn vẹn được thiết kế chi tiết:

Tên bảng CSDL Tên trường Diễn giải Kiểu dữ liệu Ràng buộc
Chi tiết đơn hàng Id Số thứ tự dòng int Khóa chính
Id_don_hang Số thứ tự đơn hàng int Khóa ngoại
Id_sach Số thứ tự của sách varchar -
so_luong Số lượng mua varchar -
Don_gia Giá tiền từng cuốn varchar -
Thanh_tien Thành tiền varchar -
Đánh giá id Số thứ tự dòng int Khóa ngoại
id_sach Mã định danh sách int Khóa chính
Tai_khoan Tên tài khoản bình luận varchar -
Noi_dung Nội dung nhận xét text -
Binh_chon_sao Số sao bình chọn int -
Ngay_binh_luan Thời gian gửi bình luận datetime -
Đơn hàng Id_don_hang Mã đơn hàng int Khóa chính
Tong_tien Tổng giá trị đơn hàng int -
Ngay_dat Ngày đặt hàng datetime -
Tai_khoan Tài khoản đặt hàng varchar -
Ho_ten_nguoi_nhan Họ tên người nhận hàng varchar -
So_dien_thoai_nguoi_nhan Số điện thoại liên hệ varchar -
Dia_chi_nguoi_nhan Địa chỉ giao nhận sách varchar -
Trang_thai Trạng thái xử lý đơn hàng tinyint -
Liên hệ Id_lien_he Mã liên hệ góp ý int Khóa chính
Ho_ten Họ tên người gửi varchar -
Email Thư điện tử liên lạc varchar -
Noi_dung Nội dung phản hồi text -
Loại sách id_loai_sach Mã thể loại sách int Khóa chính
Ten_loai_sach Tên danh mục thể loại varchar -
Tài khoản người dùng Id Thứ tự tài khoản int Khóa chính
Ho_ten Họ tên người dùng varchar -
Tai_khoan Tên đăng nhập varchar -
email Địa chỉ email varchar -
Mat_khau Mật khẩu (bảo mật MD5) varchar -
Cap_do Cấp độ phân quyền hệ thống int -
Nhà sản xuất id_nha_san_xuat Mã nhà xuất bản/sản xuất int Khóa chính
Ten_nha_san_xuat Tên nhà xuất bản/sản xuất varchar -
Dia_chi Địa chỉ liên lạc varchar -
Dien_thoai Số điện thoại liên hệ varchar -
email Thư điện tử varchar -
Thông tin sách id_sach Mã định danh cuốn sách int Khóa chính
Ten_sach Nhan đề sách varchar -
Id_tac_gia Mã tác giả viết sách int Khóa ngoại
Id_loai_sach Mã thể loại sách int Khóa ngoại
Id_nha_san_xuat Mã nhà xuất bản/sản xuất int Khóa ngoại
Don_gia Giá bán thực tế int -
Gia_bia Giá gốc niêm yết int -
Gioi_thieu_sach Nội dung tóm tắt/giới thiệu text -
Hinh Đường dẫn ảnh bìa sách varchar -
Noi_bat Đánh dấu sách nổi bật tinyint -
So_sao Điểm xếp hạng sao tinyint -
So_trang Tổng số trang sách int -
Ngay_xuat_ban Ngày phát hành xuất bản varchar -
Kich_thuoc Quy cách kích thước varchar -
Sku Mã đơn vị lưu kho (SKU) varchar -
Trong_luong Trọng lượng sản phẩm varchar -
Sách yêu thích id Số thứ tự dòng int Khóa chính
Id_nguoi_dung Mã tài khoản thành viên int -
Id_sach Mã cuốn sách yêu thích int -
Tác giả Id_tac_gia Mã tác giả int Khóa chính
Ten_tac_gia Tên tác giả varchar -
Ngay_sinh Ngày tháng năm sinh date -
Gioi_thieu Tiểu sử tóm tắt tác giả text -

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

CHƯƠNG 1: MỞ ĐẦU

Chương 1 thiết lập các cơ sở xuất phát điểm của đề tài. Tác giả nêu rõ tính cấp thiết của việc áp dụng tin học hóa vào quy trình quản lý và kinh doanh trực tuyến nhằm nâng cao năng lực cạnh tranh cho doanh nghiệp. Nội dung chương phân tích cụ thể các nhóm đối tượng sử dụng hệ thống từ khách hàng đại chúng (học sinh, sinh viên, cán bộ công chức, kỹ sư, nhà báo, người làm công nghệ) đến quản trị viên. Phần giới hạn và phạm vi nghiên cứu chỉ ra rằng website được xây dựng hướng đến các đơn vị kinh doanh sách và hàng tiêu dùng; trong đó xác định rõ ranh giới chức năng hoàn chỉnh trong phạm vi một thành phố, dịch vụ cung ứng bán sách giới hạn trong một quốc gia/lãnh thổ, đồng thời dịch vụ hỗ trợ trực tuyến và bản tin công nghệ 24h được định hướng hoạt động toàn cầu. Về mặt ý nghĩa, đề tài vừa hỗ trợ công tác quản lý và mua sắm tiết kiệm chi phí, vừa giúp tác giả hoàn thành khóa luận tốt nghiệp ngành công nghệ thông tin.

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Nội dung chương 2 trình bày có hệ thống các lý thuyết nền tảng phục vụ xây dựng trang web. Khái niệm thương mại điện tử được định nghĩa theo cả nghĩa rộng (theo Luật mẫu UNCITRAL) và nghĩa hẹp (thương mại trên Internet), kèm theo phân tích lợi ích kinh tế cho doanh nghiệp (chỉ tốn khoảng 10% chi phí duy trì hàng tháng so với cửa hàng truyền thống), người tiêu dùng và xã hội. Tiếp đó, tác giả giải thích cơ chế thông dịch của ngôn ngữ kịch bản PHP thông qua PHP Engine trên nền Web Server để tạo mã HTML trả về máy khách. Hệ quản trị cơ sở dữ liệu quan hệ MySQL được giới thiệu với các ưu thế về tốc độ, tính kinh tế, tính linh hoạt trên nhiều hệ điều hành và hỗ trợ chuẩn kết nối ODBC. Đặc biệt, chương này đi sâu phân tích kiến trúc MVC của Trygve Reenskaug với tương tác tam giác giữa Model, View và Controller, làm rõ các ưu điểm nổi bật như hỗ trợ phát triển theo nhóm, tuân thủ nguyên lý tách biệt mối quan tâm (SoC), thân thiện SEO qua URL Routing, bên cạnh các nhược điểm về sự phức tạp đối với phần mềm nhỏ và việc Model phải gánh vác quá nhiều tác vụ UI logic lẫn quy tắc dữ liệu.

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Đây là chương trọng tâm về mặt kỹ thuật của khóa luận, thực hiện bài toán tin học hóa chu trình bán sách cho 4 nhóm đối tượng người dùng thông qua 5 nhóm chức năng lớn:

  • Đăng ký và đăng nhập thành viên.
  • Xem thông tin (giỏ hàng, đơn hàng, chi tiết sản phẩm).
  • Quản lý danh mục sản phẩm và hệ thống.
  • Nhập hàng, xuất hàng và cập nhật dữ liệu kho lên website.
  • Mua hàng và tiếp nhận xử lý đơn đặt hàng.

Hệ thống được mô hình hóa hướng đối tượng bằng chuẩn UML của tổ chức OMG, phân định trách nhiệm chi tiết của 7 tác nhân (khách thăm, khách hàng, người quản trị, bộ phận kinh doanh, bộ phận kho, bộ phận nhập hàng, bộ phận chuyển hàng). Tác giả tiến hành đặc tả hoàn chỉnh 7 Use Case then chốt: Đăng ký thành viên, Đăng nhập hệ thống, Tìm kiếm sản phẩm, Xem thông tin sản phẩm, Thêm vào giỏ hàng, Kiểm tra đơn hàng, Nhận và giao hàng (nêu rõ tác nhân, mô tả, tiền điều kiện, hậu điều kiện, luồng sự kiện chính và các luồng sự kiện rẽ nhánh). Chương này cung cấp hệ thống sơ đồ UML dày đặc gồm 2 biểu đồ phân rã chức năng, 5 biểu đồ Use Case chi tiết, 7 biểu đồ hoạt động, 5 biểu đồ tuần tự và 5 biểu đồ trạng thái. Cuối chương là thiết kế cơ sở dữ liệu logic với bảng tổng thể cơ sở dữ liệu (Hình 27) và cấu trúc chi tiết của 10 bảng thực thể.

CHƯƠNG 4: ỨNG DỤNG MINH HỌA

Chương 4 mô tả toàn bộ giao diện và chức năng của phần mềm đã cài đặt trên thực tế, được chia thành hai phân hệ độc lập:

  1. Chức năng trang người dùng:
    • Giao diện trang chủ (Hình 28, Hình 29): Trình bày bố cục danh mục sách, các đầu sách mới và các sản phẩm nổi bật.
    • Giao diện liên hệ (Hình 30): Form tiếp nhận thông tin phản hồi, góp ý của người dùng gồm họ tên, email và nội dung gửi ban quản trị.
    • Giao diện đăng nhập và đăng ký (Hình 31, Hình 32): Form tiếp nhận tài khoản, mật khẩu, thông tin cá nhân thành viên mới.
    • Giao diện thông tin giỏ hàng (Hình 33): Hiển thị danh sách sách đã chọn, số lượng, đơn giá, thành tiền, cho phép cập nhật số lượng hoặc xóa sản phẩm.
    • Giao diện chi tiết sách (Hình 34): Hiển thị chi tiết bìa sách, tên sách, đơn giá, giá bìa, quy cách kích thước, trọng lượng, số trang, mã SKU và phần giới thiệu tóm tắt.
    • Giao diện nhận xét và đánh giá (Hình 35): Cho phép người dùng xếp hạng số sao và gửi nội dung bình luận về cuốn sách.
  2. Chức năng trang quản trị (Admin):
    • Giao diện tổng quan trang quản trị (Hình 36): Màn hình điều hành chung của người quản lý.
    • Giao diện trang quản lý đơn hàng (Hình 37, Hình 38, Hình 39): Màn hình liệt kê toàn bộ đơn hàng, lọc danh sách đơn hàng mới cần xử lý và xem giao diện chi tiết từng đơn hàng.
    • Giao diện trang quản lý sách (Hình 40, Hình 41, Hình 42): Màn hình liệt kê danh sách sách hiện có trong hệ thống, giao diện chỉnh sửa thông tin sách có sẵn và giao diện biểu mẫu thêm mới một cuốn sách.
    • Giao diện trang quản lý tác giả (Hình 43, Hình 44, Hình 45): Màn hình liệt kê các tác giả, giao diện chỉnh sửa thông tin tác giả và biểu mẫu thêm mới tác giả vào cơ sở dữ liệu.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Phần kết luận tóm lược lại các kết quả đã đạt được của đề tài sau quá trình phân tích và xây dựng ứng dụng, tổng kết các ưu điểm và hạn chế tồn tại của hệ thống, đồng thời định hướng một số nội dung nghiên cứu phát triển tiếp theo nhằm hoàn thiện ứng dụng bán sách trực tuyến.


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

Kết quả kỹ thuật đạt được

  • Xây dựng hoàn chỉnh ứng dụng website bán sách trực tuyến vận hành theo mô hình kiến trúc MVC ba lớp với ngôn ngữ PHP và cơ sở dữ liệu MySQL.
  • Thiết kế hệ thống mô hình hóa UML toàn diện cho ứng dụng thương mại điện tử, bao gồm:
    • 02 sơ đồ phân rã chức năng (phía người dùng và phía quản trị).
    • 05 biểu đồ Use Case chi tiết (Đăng ký/Đăng nhập, Tìm kiếm, Nhập hàng, Xuất hàng, Mua hàng).
    • 07 biểu đồ hoạt động mô tả chi tiết các tiến trình nghiệp vụ.
    • 05 biểu đồ tuần tự và 05 biểu đồ trạng thái mô tả tương tác theo thời gian và sự chuyển dịch trạng thái của các tác vụ cốt lõi.
  • Thiết lập cơ sở dữ liệu quan hệ chuẩn hóa mức logic gồm 10 bảng thực thể, thể hiện đầy đủ các trường dữ liệu, kiểu dữ liệu và mối quan hệ khóa chính, khóa ngoại (id_tac_gia, id_loai_sach, id_nha_san_xuat, id_don_hang, id_sach).
  • Hiện thực hóa và minh họa trực quan 18 màn hình giao diện thực tế (từ Hình 28 đến Hình 45), chia tách rõ ràng giữa phân hệ tương tác của khách hàng và phân hệ quản trị nghiệp vụ (quản lý đơn hàng, quản lý sách, quản lý tác giả).

Giải pháp và kiến nghị của tác giả

  • Tác giả đề xuất giải pháp ứng dụng mô hình MVC nhằm chuẩn hóa việc phát triển ứng dụng web, cho phép chia tách độc lập giữa phần giao diện hiển thị (View), phần logic dữ liệu (Model) và phần tiếp nhận điều phối (Controller), giúp việc bảo trì hoặc nâng cấp giao diện không làm ảnh hưởng đến cấu trúc cơ sở dữ liệu bên dưới.
  • Đề xuất phân rã quy trình xử lý đơn hàng nội bộ thành các bộ phận chức năng chuyên biệt (kinh doanh xác nhận đơn, kho kiểm tra và xuất hàng, nhập hàng bổ sung tồn kho, chuyển phát giao nhận hàng) thay cho việc xử lý dồn cục ở các cửa hàng bán sách truyền thống.
  • Kiến nghị doanh nghiệp chuyển đổi từ bán hàng thủ công sang nền tảng thương mại điện tử để tiết giảm chi phí mặt bằng và nhân sự, tận dụng lợi thế chi phí duy trì vận hành website ước tính chỉ khoảng 10% mỗi tháng.

Đóng góp so với các nghiên cứu trước

  • Tác giả tự nêu việc xây dựng thành công một website thương mại điện tử thân thiện, tạo công cụ trực tuyến thay thế hiệu quả cho phương thức bán sách và quản lý đơn hàng bằng sổ sách thủ công.
  • Cung cấp một tài liệu phân tích thiết kế hệ thống đầy đủ và trực quan bằng chuẩn UML cho bài toán thương mại điện tử quy mô vừa và nhỏ, làm cơ sở thực hành cho sinh viên công nghệ thông tin.

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

Hạn chế được ghi nhận trong văn bản

  • Giới hạn về phạm vi địa lý vận hành: Hệ thống chỉ thực hiện được đầy đủ các chức năng giao nhận và vận hành ở phạm vi trong cùng một thành phố.
  • Giới hạn về dịch vụ cung ứng hàng hóa: Do hạn chế về khoảng cách địa lý, việc cung ứng sản phẩm bị giới hạn trong phạm vi một quốc gia/lãnh thổ và phụ thuộc vào hệ thống đại lý hoặc chi nhánh gần nhất để giao hàng.
  • Nhược điểm kiến trúc: Mô hình MVC áp dụng trong hệ thống bộc lộ sự bất cập trong phân bổ công việc khi lớp Model phải gánh vác quá nhiều tác vụ (xử lý cơ sở dữ liệu, quy tắc logic nghiệp vụ và cả UI logic cho lớp View), dẫn tới việc Model dễ phát sinh lỗi và làm phức tạp quá trình kiểm thử độc lập đối với View.
  • Cơ chế thanh toán: Hệ thống chưa tích hợp cổng thanh toán trực tuyến tự động mà vẫn dựa vào phương thức giao nhận hàng tận nơi kết hợp xác nhận thủ công qua bưu điện và ngân hàng.
  • Tối ưu hóa kiểu dữ liệu CSDL: Một số trường dữ liệu số và ngày tháng trong bảng logic được thiết kế lưu dưới dạng chuỗi ký tự (varchar) như so_luong, Don_gia, Thanh_tien trong bảng chi tiết đơn hàng, hoặc Ngay_xuat_ban trong bảng thông tin sách, chưa được tối ưu hóa sang các kiểu số nguyên hoặc định dạng ngày chuẩn.

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

Theo nội dung mục lục và phần kết luận đề tài, tác giả xác định hướng phát triển tập trung vào việc:

  • Khắc phục các nhược điểm còn tồn tại trong cấu trúc xử lý của hệ thống.
  • Mở rộng quy mô hoạt động và phạm vi địa lý phục vụ của website ra ngoài giới hạn một thành phố.
  • Nâng cấp và hoàn thiện thêm các tính năng tiện ích cho cả phân hệ người dùng và phân hệ quản trị.

Giá trị tham khảo

Khóa luận là nguồn tài liệu hữu ích cho:

  • Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Đặc biệt là sinh viên đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về đề tài xây dựng website thương mại điện tử, bán hàng trực tuyến bằng ngôn ngữ PHP và hệ quản trị MySQL.
  • Người học cần tài liệu thực hành phân tích thiết kế hướng đối tượng: Khóa luận cung cấp mẫu tham khảo cụ thể về cách lập tài liệu phân tích hệ thống bằng chuẩn UML, bao gồm cách xác định tác nhân, đặc tả Use Case theo mẫu chuẩn (tiền điều kiện, luồng chính, luồng rẽ nhánh, hậu điều kiện) và cách vẽ các biểu đồ ca sử dụng, biểu đồ hoạt động, biểu đồ tuần tự và biểu đồ trạng thái.
  • Lập trình viên web mới bắt đầu: Tham khảo cách thiết kế cấu trúc cơ sở dữ liệu quan hệ cho một website thương mại điện tử quy mô vừa và nhỏ với đầy đủ các bảng dữ liệu về sách, tác giả, nhà xuất bản, đơn hàng, chi tiết đơn hàng và tài khoản người dùng có mã hóa mật khẩu MD5.

Các nội dung đáng tham khảo nhất trong văn bản:

  1. Bản đặc tả 7 Use Case chi tiết kèm các luồng sự kiện rẽ nhánh ở Chương 3.
  2. Cấu trúc mô tả mức logic của 10 bảng cơ sở dữ liệu kèm tên trường và ràng buộc khóa ở mục 3 của Chương 3.
  3. Phần tổng quan và phân tích ưu - nhược điểm của mô hình kiến trúc MVC ở Chương 2.

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

1. Hệ thống website bán sách trong khóa luận phân định bao nhiêu tác nhân tham gia vào quy trình hoạt động?

Theo văn bản khóa luận, hệ thống xác định 4 nhóm đối tượng bài toán hướng tới (khách vãng lai, thành viên, manager, admin) và chi tiết hóa thành 7 tác nhân (Actors) cụ thể trong phân tích UML: Khách thăm, Khách hàng, Người quản trị, Bộ phận kinh doanh, Bộ phận kho, Bộ phận nhập hàng và Bộ phận chuyển hàng (chuyển phát).

2. Phạm vi địa lý và giới hạn dịch vụ của website được tác giả xác định như thế nào?

Tác giả xác định phạm vi hoạt động của chương trình chỉ thực hiện đầy đủ các chức năng ở phạm vi trong cùng một thành phố. Đối với dịch vụ cung ứng hàng hóa, do hạn chế khoảng cách địa lý nên chỉ tiến hành trong phạm vi một quốc gia/lãnh thổ (giao hàng qua đại lý hoặc chi nhánh gần nhất). Riêng chức năng tin tức công nghệ (cập nhật 24h) và dịch vụ tư vấn, hỗ trợ khách hàng được định hướng áp dụng trên phạm vi toàn cầu.

3. Cơ sở dữ liệu logic của website bao gồm những bảng nào và thông tin mật khẩu được bảo mật ra sao?

Cơ sở dữ liệu logic của hệ thống gồm 10 bảng thực thể: Bảng chi tiết đơn hàng, Bảng đánh giá, Bảng đơn hàng, Bảng liên hệ, Bảng loại sách, Bảng tài khoản người dùng, Bảng nhà sản xuất, Bảng thông tin sách, Bảng sách yêu thích và Bảng tác giả. Mật khẩu của tài khoản người dùng được lưu trữ trong bảng tài khoản người dùng dưới dạng chuỗi mã hóa bằng thuật toán MD5.

4. Tác giả phân tích những ưu điểm và nhược điểm kỹ thuật nào của mô hình kiến trúc MVC?

Về ưu điểm, MVC giúp phân tách hệ thống thành 3 thành phần tương đối độc lập theo nguyên lý tách biệt mối quan tâm (SoC), cho phép các nhóm lập trình viên phát triển song song, dễ bảo trì, chỉnh sửa Model mà không ảnh hưởng tới View và hỗ trợ URL Routing thân thiện với SEO. Về nhược điểm, MVC cồng kềnh với các phần mềm nhỏ, khó kiểm thử độc lập lớp View vì phụ thuộc vào Model và Controller, đồng thời phân chia công việc mất cân bằng khi Model phải gánh quá nhiều tác vụ xử lý dữ liệu và UI logic.

5. Phân hệ quản trị (Admin) trong ứng dụng minh họa cung cấp những màn hình quản lý nào?

Trong Chương 4, phân hệ quản trị được minh họa bằng 10 giao diện thực tế (từ Hình 36 đến Hình 45), bao gồm: Giao diện tổng quan trang quản trị, Giao diện liệt kê đơn hàng, Giao diện đơn hàng mới cần xử lý, Giao diện chi tiết đơn hàng, Giao diện liệt kê sách, Giao diện chỉnh sửa sách có sẵn, Giao diện thêm mới sách, Giao diện liệt kê tác giả, Giao diện chỉnh sửa tác giả và Giao diện thêm tác giả.


Kết luận

Khóa luận tốt nghiệp "Xây dựng website bán sách" của sinh viên Trường Đại học Công nghệ Đồng Nai đã hoàn thành việc thiết kế và xây dựng một hệ thống bán sách trực tuyến hoàn chỉnh dựa trên ngôn ngữ PHP, hệ quản trị cơ sở dữ liệu MySQL và mô hình kiến trúc MVC. Đề tài thể hiện quy trình phân tích thiết kế phần mềm bài bản thông qua việc ứng dụng chuẩn UML để xây dựng hệ thống biểu đồ ca sử dụng, hoạt động, tuần tự, trạng thái và thiết kế 10 bảng cơ sở dữ liệu logic chuẩn hóa. Dù vẫn còn một số giới hạn về phạm vi vận hành trong khu vực thành phố và quy trình thanh toán bán tự động, khóa luận đã cung cấp đầy đủ các giao diện thực thi cho cả khách hàng và ban quản lý, đóng vai trò là tài liệu tham khảo có giá trị thực tiễn đối với sinh viên công nghệ thông tin khi tiếp cận bài toán xây dựng ứng dụng thương mại điện tử.