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

Trong bối cảnh công nghệ thông tin và mạng Internet phát triển mạnh mẽ, việc ứng dụng các giải pháp số hóa vào hoạt động kinh doanh và đời sống xã hội đã trở thành xu hướng tất yếu. Đối với ngành phát hành và lưu thông ấn phẩm, sách là nguồn tri thức không thể thiếu, đặc biệt đối với giới trẻ Việt Nam. Tuy nhiên, các cửa hàng kinh doanh sách truyền thống hiện nay đang đối mặt với nhiều rào cản và chi phí vận hành lớn:

  • Chi phí mặt bằng và cơ sở vật chất: Doanh nghiệp phải đầu tư nguồn vốn lớn cho việc thuê địa điểm diện tích rộng, trang bị cơ sở vật chất và duy trì đội ngũ nhân viên bán hàng trực tiếp.
  • Giới hạn phạm vi tiếp cận: Khách hàng của cửa hàng vật lý bị giới hạn trong một khu vực địa lý nhất định; các phương thức tiếp thị truyền thống (như truyền miệng) có độ lan tỏa chậm.
  • Khó khăn trong công tác quản trị: Quản lý kho, theo dõi đơn hàng, quản lý nhân sự và tổng hợp báo cáo doanh thu thủ công thường tốn thời gian và dễ xảy ra sai sót.

Đề tài "Xây dựng website bán và cho mượn sách" được Nhóm sinh viên thuộc Khoa Công nghệ Thông tin, Trường Đại học Công nghiệp Hà Nội thực hiện trong khuôn khổ học phần "Lập trình web bằng PHP" (năm 2023). Đề tài giải quyết các vấn đề trên thông qua việc thiết lập nền tảng thương mại điện tử tích hợp hai mô hình: bán sách và cho mượn sách trực tuyến.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm:

  1. Khảo sát thực tế nhu cầu sử dụng phần mềm quản lý và kinh doanh bán hàng trực tuyến tại cơ sở kinh doanh.
  2. Phân tích các yêu cầu chức năng, yêu cầu phi chức năng và xác định các tác nhân tham gia vào hệ thống.
  3. Thiết kế hệ thống thông tin thông qua các mô hình hóa chuẩn: biểu đồ trường hợp sử dụng (Use Case), biểu đồ trình tự (Sequence Diagram), biểu đồ lớp phân tích (Analysis Class Diagram) và biểu đồ hoạt động (Activity Diagram).
  4. Hiện thực hóa website bằng ngôn ngữ PHP, hệ quản trị cơ sở dữ liệu MySQL và áp dụng kiến trúc framework hiện đại.
  5. Thực hiện kiểm thử chức năng và giao diện nhằm đánh giá tính ổn định của hệ thống trước khi vận hành.

Đối tượng nghiên cứu là quy trình quản lý bán và cho mượn sách trực tuyến; phạm vi triển khai tập trung vào việc xây dựng hệ thống phần mềm web phục vụ khách hàng vãng lai, khách hàng thành viên và ban quản trị cửa hàng.


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

Cơ sở lý thuyết và công nghệ nền tảng

Tác giả đã tổng hợp các kiến thức nền tảng về mạng máy tính và công nghệ phát triển web:

  • Mạng Internet và mô hình Client - Server: Hệ thống dựa trên giao thức TCP/IP (Transmission Control Protocol/Internet Protocol). Mạng máy tính phân chia thành hai thành phần: Client (máy trạm gửi yêu cầu và tiếp nhận hiển thị dữ liệu) và Server (máy chủ lưu trữ, xử lý tài nguyên và phục vụ liên tục 24/7). Các dịch vụ web hoạt động trên không gian thông tin World Wide Web (WWW).
  • Máy chủ Web (Web Server): Môi trường lưu trữ và thực thi ứng dụng web, hỗ trợ các phần mềm máy chủ như Apache (hỗ trợ PHP), IIS (Internet Information Services) và Tomcat (hỗ trợ JSP).
  • Ngôn ngữ HTML, CSS và JavaScript: Sử dụng các chuẩn định dạng của W3C (World Wide Web Consortium) để xây dựng cấu trúc giao diện siêu văn bản, kết hợp mã kịch bản phía máy khách (Client Script).
  • Ngôn ngữ lập trình PHP (Hypertext Preprocessor): Ngôn ngữ kịch bản phía máy chủ (Server-side Scripting) mã nguồn mở, nhúng trực tiếp trong mã HTML. Máy chủ tiếp nhận yêu cầu, biên dịch mã lệnh PHP nằm trong thẻ <?php ... ?>, truy xuất cơ sở dữ liệu và trả về mã HTML hoàn chỉnh cho trình duyệt người dùng.
  • Framework Laravel: Khung phát triển ứng dụng PHP tuân thủ mô hình kiến trúc MVC (Model - View - Controller). Laravel cung cấp hệ thống định tuyến (Routing), công cụ dòng lệnh Artisan, công cụ kết xuất giao diện Blade templates, hệ thống ánh xạ quan hệ đối tượng ORM Eloquent, cùng các cơ chế bảo mật (ngăn chặn tấn công CSRF, mã hóa mật khẩu, phân quyền).
  • Hệ quản trị cơ sở dữ liệu MySQL: Hệ quản trị CSDL quan hệ (RDBMS) mã nguồn mở, tốc độ xử lý nhanh, khả năng quản trị bảng dữ liệu lớn (dung lượng bảng tối thiểu đạt 4GB tùy thuộc vào hệ điều hành), dễ dàng tích hợp chặt chẽ với PHP thông qua các API kết nối.

Phương pháp nghiên cứu và thu thập dữ liệu

Đề tài áp dụng kết hợp phương pháp nghiên cứu lý thuyết phần mềm và phương pháp điều tra thực nghiệm:

  • Phương pháp phỏng vấn trực tiếp: Nhóm nghiên cứu lập kế hoạch phỏng vấn nhân viên bán hàng tại cơ sở thực tế (địa chỉ Số 7 ngõ 122/12, Phường Minh Khai, Nguyên Xá, Quận Bắc Từ Liêm, Hà Nội vào ngày 20/10/2023). Mục đích nhằm thu thập dữ liệu về cách thức quản lý sổ sách thu chi (hiện trạng dùng Excel/sổ tay), danh mục sản phẩm, quy trình xử lý thanh toán, mức độ sẵn sàng chi trả chi phí xây dựng (ước tính 5 - 7 triệu đồng) và phí vận hành hàng tháng (dưới 300.000 đồng).
  • Phương pháp điều tra bằng bảng hỏi (Survey): Nhóm thiết kế phiếu khảo sát trực tuyến qua công cụ Google Forms (đường dẫn: https://forms.gle/CwnwoZbPk1LdLuUAA) với hệ thống 10 câu hỏi bao gồm câu hỏi trắc nghiệm và câu hỏi mở. Nội dung khảo sát xoay quanh: mức độ phổ biến của website bán hàng, hiệu quả kinh doanh, số lượng nhân sự vận hành (1, 5, 10 nhân viên), rủi ro an toàn thông tin, tỷ lệ đóng góp doanh số của kênh trực tuyến (50%, 70%, 80%), hình thức thanh toán và đánh giá giao diện.
  • Phương pháp phân tích và thiết kế hướng đối tượng (OOAD): Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để đặc tả use case, xây dựng kịch bản luồng sự kiện (luồng chính, luồng rẽ nhánh, tiền điều kiện, hậu điều kiện), thiết kế biểu đồ tương tác và biểu đồ trạng thái hoạt động.

Thiết kế và triển khai hệ thống

Phân tích tác nhân và yêu cầu chức năng

Hệ thống xác định 3 tác nhân chính tương tác với các nhóm chức năng riêng biệt:

Tác nhân (Actor) Quyền hạn và Chức năng chính
Khách vãng lai (Customer) Xem danh mục và chi tiết sản phẩm; đọc thử nội dung sách; tìm kiếm sản phẩm theo tên/thương hiệu/hãng; thêm sản phẩm vào giỏ hàng; đăng ký tài khoản thành viên mới.
Thành viên (Member) Kế thừa toàn bộ quyền của khách vãng lai; đăng nhập/đăng xuất hệ thống; quản lý và cập nhật thông tin hồ sơ cá nhân; thực hiện đặt hàng; quản lý giỏ hàng; xem lịch sử hóa đơn và trạng thái đơn hàng; gửi yêu cầu mượn sách.
Quản trị viên (Administrator) Đăng nhập hệ thống quản trị chuyên biệt (User/Password riêng); quản lý danh mục sản phẩm (thêm, sửa, xóa); quản lý thông tin khách hàng (xem, sửa, xóa); quản lý và xử lý đơn đặt hàng (duyệt, hủy đơn); quản lý yêu cầu mượn sách; xem thống kê doanh thu và báo cáo hệ thống.

Đặc tả luồng xử lý các chức năng cốt lõi

  • Chức năng Đăng ký tài khoản: Tiếp nhận thông tin đầu vào bắt buộc gồm Tên đăng nhập, Mật khẩu, Họ tên, Email, Địa chỉ, Số điện thoại. Hệ thống kiểm tra tính hợp lệ và sự trùng lặp của dữ liệu trong CSDL MySQL. Nếu thông tin hợp lệ, tạo bản ghi mới và thông báo thành công; nếu lỗi hoặc thiếu trường dữ liệu, hiển thị cảnh báo yêu cầu nhập lại.
  • Chức năng Quản lý giỏ hàng: Dữ liệu sản phẩm lựa chọn (mã ID sách, số lượng) được lưu trữ thông qua biến Session của phiên làm việc. Hệ thống truy xuất CSDL theo ID để hiển thị bảng chi tiết gồm: Tên sản phẩm, hình ảnh đại diện, đơn giá, số lượng, thành tiền từng món và tổng tiền của cả đơn hàng.
  • Chức năng Đặt hàng và Theo dõi đơn hàng: Người dùng chuyển từ giỏ hàng sang giao diện xác nhận đặt hàng, nhập thông tin liên hệ và phương thức giao nhận. Hệ thống tạo bản ghi hóa đơn lưu vào bảng dữ liệu đơn hàng trong CSDL. Người dùng thành viên có thể theo dõi tiến độ xử lý đơn hàng hoặc gửi yêu cầu hủy đơn; phía quản trị viên sẽ tiếp nhận thông tin để chuyển trạng thái xử lý và giao hàng.
  • Chức năng Quản lý sản phẩm (Admin): Quản trị viên nhập thông tin sản phẩm mới hoặc cập nhật dữ liệu (tên sách, thể loại, đơn giá, ảnh bìa, tệp đọc thử, số lượng tồn kho). Hệ thống kiểm tra ràng buộc không được để trống trường dữ liệu trước khi lưu/cập nhật vào CSDL và tự động tải lại danh sách hiển thị.

Thiết kế kỹ thuật và mô hình hóa UML

Hệ thống được mô hình hóa chi tiết qua các sơ đồ:

  • Biểu đồ Use Case: Sơ đồ tổng quan toàn hệ thống; sơ đồ phân rã trường hợp sử dụng cho khách hàng chưa có tài khoản, khách hàng đã có tài khoản và người quản trị.
  • Biểu đồ trình tự (Sequence Diagram) và Biểu đồ lớp phân tích (Analysis Class Diagram): Được xây dựng đồng bộ cho từng ca sử dụng trọng tâm: Bảo trì danh mục, Quản lý giỏ hàng, Xem danh mục sản phẩm, Đặt hàng, Đăng ký tài khoản và Đăng nhập.
  • Biểu đồ hoạt động (Activity Diagram): Đặc tả luồng xử lý nghiệp vụ cho các tiến trình: Đăng nhập, Đăng xuất, Đăng ký thành viên, Xem thông tin sản phẩm, Thêm sản phẩm vào giỏ hàng, Đặt hàng, Thêm mới sản phẩm và Chỉnh sửa thông tin sản phẩm.

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

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

Chương I trình bày tổng quan lý thuyết về kiến trúc mạng và các công nghệ phát triển web:

  • Khái quát lịch sử hình thành mạng Internet từ mạng ARPANET của Bộ Quốc phòng Mỹ, các khái niệm host, phương thức kết nối Dial-up, Ethernet, Token Ring.
  • Phân loại mô hình Client - Server và vai trò của các dịch vụ Internet cơ bản (Web, Email, Tìm kiếm thông tin).
  • Đặc tả giao thức truyền thông TCP/IP: TCP đảm bảo tính toàn vẹn và an toàn dữ liệu; IP chịu trách nhiệm định tuyến và vận chuyển gói tin.
  • Cấu trúc World Wide Web (WWW) và cơ chế xử lý của trình duyệt Web (Web Browser) khi gửi yêu cầu HTTP và nhận phản hồi HTML từ Web Server.
  • Nguyên lý hoạt động của ngôn ngữ PHP trên môi trường máy chủ: máy chủ xử lý các đoạn mã PHP trong file mã nguồn, lấy kết quả thay thế vào trang HTML trước khi gửi trả về cho máy khách.
  • Giới thiệu các tính năng ưu việt của Laravel Framework (kiến trúc MVC, Eloquent ORM, Blade template, Artisan CLI, Middleware bảo mật) và hệ quản trị cơ sở dữ liệu MySQL (tốc độ cao, khả năng mở rộng, phân quyền chặt chẽ).

CHƯƠNG II: PHÂN TÍCH CÁC CHỨC NĂNG CỦA WEBSITE

Chương II tập trung vào phân tích nghiệp vụ và thiết kế chi tiết hệ thống phần mềm:

  • Báo cáo kế hoạch phỏng vấn thực tế (Bảng 2.1) và nội dung phiếu phỏng vấn nhân viên bán hàng (Bảng 2.2).
  • Xây dựng bảng câu hỏi điều tra khảo sát thị trường trực tuyến (Bảng 2.3) phục vụ thu thập yêu cầu hệ thống.
  • Khảo sát chi tiết hoạt động của hệ thống thương mại điện tử; phân loại yêu cầu chức năng cho từng đối tượng (Khách vãng lai, Thành viên, Quản trị viên) và yêu cầu phi chức năng (giao diện hài hòa, tốc độ xử lý nhanh).
  • Đặc tả chi tiết Input - Process - Output cho các phân hệ chức năng: Đăng ký, Đăng nhập, Đăng xuất, Tìm kiếm sản phẩm, Xem chi tiết sản phẩm, Giỏ hàng, Đặt hàng, Xem hóa đơn đã lập, Cập nhật thông tin cá nhân và Phân hệ quản trị (Quản lý sản phẩm, Quản lý đơn hàng, Quản lý khách hàng, Thống kê).
  • Xây dựng toàn bộ hệ thống sơ đồ UML: Biểu đồ Use Case tổng quan và phân rã (Hình 2.1 - 2.4), các bảng mô tả kịch bản Use Case (từ Bảng 2.1 đến 2.10 của use case), Biểu đồ trình tự, Biểu đồ lớp phân tích và Biểu đồ hoạt động chi tiết cho từng tác vụ.

CHƯƠNG III: CHƯƠNG TRÌNH VÀ KIỂM THỬ

Chương III trình bày kết quả hiện thực hóa giao diện, mã nguồn phần mềm và công tác kiểm thử:

  • Minh chứng hình ảnh giao diện thực tế của Website: Trang chủ, trang hiển thị danh mục sách, trang chi tiết sản phẩm, trang đọc thử sách, giao diện giỏ hàng, form đặt hàng và các trang quản trị hệ thống của Administrator.
  • Triển khai kiểm thử phần mềm: Thiết lập các ca kiểm thử (test case) cho các chức năng đăng ký, xác thực đăng nhập, thêm/sửa/xóa sản phẩm, tính toán tổng tiền giỏ hàng và xử lý lưu vết đơn hàng vào cơ sở dữ liệu.
  • Tổng hợp danh mục tài liệu tham khảo phục vụ quá trình nghiên cứu và xây dựng đề tài.

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

Kết quả chính đạt được

  1. Hoàn thành hệ thống khảo sát thực tế: Thực hiện thành công kế hoạch phỏng vấn trực tiếp nhân viên bán hàng tại cơ sở Minh Khai (Hà Nội) và xây dựng bộ công cụ điều tra trực tuyến qua biểu mẫu Google Forms.
  2. Đặc tả hoàn chỉnh hệ thống phần mềm: Xây dựng đầy đủ tài liệu phân tích thiết kế hệ thống theo chuẩn UML, bao gồm 10 ca sử dụng chính (Đăng ký, Đăng nhập, Thêm vào giỏ hàng, Xem giỏ hàng, Đặt hàng, Xem tình trạng đơn hàng, Xem thống kê, Quản lý khách hàng, Quản lý đơn hàng, Quản lý sản phẩm).
  3. Xây dựng website bán và cho mượn sách hoàn chỉnh:
    • Tích hợp chức năng cho phép người dùng xem thông tin và đọc thử nội dung sách trước khi quyết định mua hoặc mượn.
    • Quản lý giỏ hàng linh hoạt dựa trên cơ chế Session.
    • Phân quyền người dùng rõ ràng giữa khách vãng lai, thành viên có tài khoản và quản trị viên hệ thống.
    • Cung cấp bảng điều khiển quản trị giúp theo dõi thống kê, quản lý đơn hàng và danh mục hàng hóa thuận tiện.

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

  • Về mặt thực tiễn: Cung cấp giải pháp số hóa quy trình bán và cho mượn sách, giúp các cơ sở kinh doanh tiết kiệm chi phí thuê mặt bằng, mở rộng phạm vi tiếp cận khách hàng trên quy mô toàn quốc và giảm thiểu sai sót trong quản lý sổ sách kế toán thủ công.
  • Về mặt ứng dụng công nghệ: Ứng dụng thành công ngôn ngữ PHP kết hợp cơ sở dữ liệu MySQL và các mô hình thiết kế phần mềm tiêu chuẩn để giải quyết bài toán thương mại điện tử tích hợp dịch vụ mượn sách.

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

Dựa trên phạm vi nghiên cứu và nội dung báo cáo thực nghiệm môn học:

  • Hạn chế:
    • Hệ thống tập trung chủ yếu vào quy trình xử lý đơn hàng và lưu trữ thông tin nội bộ; chưa tích hợp sâu các cổng thanh toán điện tử trực tuyến tự động (như thẻ ngân hàng, ví điện tử).
    • Chức năng cho mượn sách cần bổ sung thêm các ràng buộc phức tạp hơn về thời hạn mượn, tiền đặt cọc và chính sách hoàn trả sách vật lý.
  • Hướng phát triển tiếp theo:
    • Tích hợp các cổng thanh toán trực tuyến và đơn vị vận chuyển tự động qua API.
    • Nâng cấp kiến trúc hệ thống, hoàn thiện giao diện người dùng tương thích đa thiết bị (Responsive Design).
    • Phát triển thêm hệ thống gợi ý sách thông minh dựa trên lịch sử xem và mua/mượn của người dùng.

Giá trị tham khảo

Báo cáo thực nghiệm là tài liệu tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ thông tin, Hệ thống thông tin và Kỹ thuật phần mềm: Đặc biệt là sinh viên đang học tập các học phần Lập trình web (PHP/Laravel), Phân tích thiết kế hệ thống thông tin hoặc chuẩn bị làm đồ án môn học, khóa luận tốt nghiệp.
  • Các nhóm phát triển ứng dụng thương mại điện tử: Có thể tham khảo trực tiếp cấu trúc phiếu phỏng vấn/điều tra khảo sát thực tế, kịch bản đặc tả use case, biểu đồ trình tự, biểu đồ lớp phân tích và biểu đồ hoạt động đã được nhóm tác giả chuẩn hóa chi tiết trong báo cáo.

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 sinh viên (Nhóm 9) thuộc Khoa Công nghệ Thông tin, Trường Đại học Công nghiệp Hà Nội thực hiện vào năm 2023, thuộc Báo cáo thực nghiệm của học phần "Lập trình web bằng PHP".

2. Nhóm tác giả đã sử dụng những phương pháp nào để thu thập yêu cầu hệ thống?
Nhóm tác giả đã sử dụng hai phương pháp chính: (1) Phương pháp phỏng vấn trực tiếp nhân viên bán hàng tại cơ sở thực tế (Số 7 ngõ 122/12 P. Minh Khai, Nguyên Xá, Bắc Từ Liêm, Hà Nội) vào ngày 20/10/2023; (2) Phương pháp điều tra trực tuyến bằng phiếu khảo sát gồm 10 câu hỏi tạo trên Google Forms (https://forms.gle/CwnwoZbPk1LdLuUAA).

3. Dữ liệu giỏ hàng trên website được xử lý bằng kỹ thuật nào?
Chức năng giỏ hàng của website sử dụng biến Session để lưu trữ tạm thời các thông tin về mã sản phẩm (ID) và số lượng sản phẩm mà khách hàng lựa chọn trong phiên làm việc, sau đó truy xuất cơ sở dữ liệu MySQL theo ID để tính toán chi tiết thành tiền và tổng tiền.

4. Hệ thống phân chia quyền hạn người dùng thành những nhóm tác nhân nào?
Hệ thống phân chia thành 3 nhóm tác nhân chính:

  • Customer (Khách vãng lai): Tìm kiếm, xem sách, đọc thử sách, thêm sách vào giỏ hàng, đăng ký thành viên.
  • Member (Thành viên đã đăng nhập): Đầy đủ quyền của khách vãng lai, kèm theo đăng nhập/đăng xuất, đặt hàng, xem tình trạng đơn hàng, xem hóa đơn đã lập, cập nhật hồ sơ cá nhân.
  • Administrator (Quản trị viên): Đăng nhập trang quản trị riêng, thống kê doanh thu, quản lý danh mục sản phẩm, quản lý thông tin khách hàng và duyệt/hủy đơn hàng.

Kết luận

Báo cáo thực nghiệm "Xây dựng website bán và cho mượn sách" của nhóm sinh viên Trường Đại học Công nghiệp Hà Nội đã hoàn thành đầy đủ quy trình xây dựng một ứng dụng thương mại điện tử từ khâu khảo sát thực tế, phân tích yêu cầu, thiết kế hệ thống theo chuẩn UML đến hiện thực hóa mã nguồn PHP/MySQL và kiểm thử. Hệ thống giải quyết hiệu quả nhu cầu quảng bá sản phẩm, mở rộng phạm vi kinh doanh và tự động hóa công tác quản trị cho cửa hàng sách. Đề tài là tài liệu tham khảo giá trị về mặt phương pháp luận và kỹ thuật thiết kế phần mềm cho sinh viên chuyên ngành Công nghệ thông tin.