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

Trong bối cảnh phát triển của công nghệ thông tin, việc ứng dụng các giải pháp kỹ thuật số vào hoạt động kinh doanh đã trở thành xu hướng phổ biến trên toàn cầu và tại Việt Nam. Đối với lĩnh vực phát hành và kinh doanh sách, phương thức quản lý bán hàng truyền thống bộc lộ nhiều hạn chế do phụ thuộc vào sổ sách, chứng từ giấy tờ, dẫn đến khó khăn trong khâu kiểm soát tồn kho, tra cứu thông tin và quản lý đơn hàng. Đồng thời, nhu cầu mua sắm trực tuyến của người đọc sách ngày càng tăng, đòi hỏi các cửa hàng sách phải có nền tảng bán hàng trực tuyến nhanh chóng, thuận tiện và tiết kiệm chi phí.

Đề tài "Xây dựng website bán sách online book" được nhóm tác giả tại Viện Kỹ thuật – Công nghệ, Trường Đại học Thủ Dầu Một thực hiện nhằm giải quyết các vấn đề thực tiễn trên. Mục tiêu chính và các nhiệm vụ nghiên cứu cụ thể bao gồm:

  1. Nhiệm vụ 1: Khảo sát và tổng hợp nhu cầu thực tế của người dùng yêu thích đọc sách và các chủ cửa hàng sách quy mô vừa và nhỏ.
  2. Nhiệm vụ 2: Ứng dụng công nghệ mã nguồn mở (ngôn ngữ PHP kết hợp hệ quản trị cơ sở dữ liệu MySQL) để thiết kế và xây dựng website thương mại điện tử bán sách.
  3. Nhiệm vụ 3: Phân tích và thiết kế hệ thống thông tin thông qua việc xây dựng biểu đồ ca sử dụng (Use Case), đặc tả ca sử dụng, biểu đồ hoạt động (Activity Diagram), biểu đồ tuần tự (Sequence Diagram), biểu đồ lớp (Class Diagram) và mô hình hóa cơ sở dữ liệu quan hệ.
  4. Nhiệm vụ 4: Hiện thực hóa giao diện người dùng (Front-end) và giao diện quản trị (Back-end/Admin), đáp ứng các ràng buộc thiết kế: giao diện hợp lý, rõ ràng, dễ sử dụng, màu sắc hài hòa, loại bỏ chi tiết thừa và sử dụng font chữ không chân.
  5. Nhiệm vụ 5: Kiểm thử, đánh giá các chức năng đã hoàn thiện và xác định các hạn chế cần khắc phục.

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

  • Đối tượng nghiên cứu: Quy trình quản lý, trưng bày, đặt hàng và xử lý đơn hàng sách trực tuyến dành cho các cửa hàng kinh doanh sách vừa và nhỏ.
  • Phạm vi không gian: Đồ án được triển khai nghiên cứu và phát triển tại Viện Kỹ thuật – Công nghệ, Trường Đại học Thủ Dầu Một (Bình Dương).
  • Phạm vi thời gian: Đề tài được thực hiện trong khoảng thời gian hơn 1 tháng và hoàn thành nghiệm thu vào tháng 07/2021.

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

Khung công nghệ và nền tảng kỹ thuật

Nhóm tác giả sử dụng bộ công nghệ mã nguồn mở phổ biến trong phát triển ứng dụng web, bao gồm:

  • PHP (PHP: Hypertext Preprocessor): Ngôn ngữ lập trình kịch bản phía máy chủ (server-side), mã nguồn mở, cú pháp tương tự C và Java, được tối ưu hóa cho các ứng dụng web động và chạy trên máy chủ Apache/IIS.
  • Bộ ba nền tảng Front-end:
    • HTML (HyperText Markup Language): Ngôn ngữ đánh dấu siêu văn bản (chuẩn HTML5) định hình cấu trúc trang web.
    • CSS (Cascading Style Sheets): Ngôn ngữ định kiểu giúp tách biệt nội dung và giao diện hiển thị, đảm bảo tính thẩm mỹ và tính nhất quán cho các trang web.
    • JavaScript & Thư viện jQuery: Ngôn ngữ kịch bản phía máy khách (client-side, chuẩn ECMAScript 7) hỗ trợ tương tác người dùng, xử lý sự kiện động, menu, hiệu ứng và tương tác dữ liệu.
  • MySQL: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở, đi kèm với máy chủ web Apache thông qua gói cài đặt môi trường như XAMPP (trên Windows, Linux) hoặc MAMP (trên MacOS).
  • Công cụ phát triển: Adobe Dreamweaver CC (trình soạn thảo mã nguồn và hỗ trợ WYSIWYG) cùng Visual Studio.

Phương pháp nghiên cứu và phát triển hệ thống

  • Phương pháp khảo sát và thu thập thông tin: Tìm hiểu thói quen, nhu cầu tra cứu, lựa chọn và mua sách của độc giả, cũng như quy trình quản lý sản phẩm, đơn hàng của chủ tiệm sách.
  • Phương pháp phân tích và thiết kế hệ thống hướng đối tượng (OOAD) bằng UML:
    • Xác định các tác nhân (Actors) và thiết lập biểu đồ Use Case tổng quát.
    • Xây dựng bảng đặc tả chi tiết cho từng ca sử dụng với luồng sự kiện chính (Basic Flows) và luồng sự kiện phụ/rẽ nhánh (Alternative Flows).
    • Mô hình hóa hành vi hệ thống bằng biểu đồ hoạt động (Activity Diagrams) và biểu đồ tuần tự (Sequence Diagrams).
    • Thiết kế cấu trúc dữ liệu quan hệ với các ràng buộc khóa chính (PK) và khóa ngoại (FK).

Thiết kế và triển khai

Hệ thống được thiết kế phân định rõ ràng giữa hai nhóm tác nhân chính: Khách hàng (User) và Người quản lý (Admin).

Tác nhân Quyền hạn và chức năng chính Ghi chú
Khách hàng Đăng ký, đăng nhập, đăng xuất; xem thông tin tài khoản, đổi mật khẩu; xem danh mục sách, xem chi tiết sách, lọc/liệt kê sách; thêm sách vào giỏ hàng, cập nhật số lượng, xóa sách khỏi giỏ; đặt hàng, thanh toán và xem lịch sử đơn hàng. Không thể tự xóa tài khoản khỏi hệ thống.
Người quản lý Đăng nhập, đăng xuất trang quản trị; quản lý sách (thêm, sửa, xóa, tìm kiếm); quản lý hóa đơn/đơn đặt hàng; xem và tìm kiếm thông tin khách hàng; quản lý phân quyền và nhà cung cấp. Không xóa được thông tin tài khoản khách hàng.

Cấu trúc cơ sở dữ liệu quan hệ

Hệ thống sử dụng cơ sở dữ liệu MySQL gồm 7 bảng dữ liệu chính để quản lý toàn bộ thực thể:

1. Bảng Address (Lưu trữ địa chỉ giao hàng của khách hàng)

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
1 Address_id Int(11) PK Mã định danh địa chỉ
2 User_id Int(11) FK Mã khách hàng liên kết
3 Name Varchar(200) Not null Tên người nhận hàng
4 Address Varchar(200) Not null Địa chỉ chi tiết
5 Mobile Varchar(20) Not null Số điện thoại liên hệ
6 Checkout_id Varchar(100) Not null Mã thanh toán

2. Bảng Admin (Lưu trữ tài khoản quản trị hệ thống)

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
1 ID Int(4) PK Mã định danh tài khoản Admin
2 Username Varchar(50) Not null Tên đăng nhập
3 Password Varchar(50) Not null Mật khẩu quản trị

3. Bảng Books (Lưu trữ thông tin chi tiết về sách)

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
1 Book_id Int(100) PK Mã định danh cuốn sách
2 Bookname Varchar(300) Not null Tên sách
3 Img Varchar(300) Not null Đường dẫn hình ảnh bìa sách
4 Author Varchar(200) Not null Tên tác giả
5 Detail Varchar(2000) Not null Nội dung tóm tắt sách
6 Price Varchar(200) Not null Đơn giá
7 Category Varchar(100) Not null Thể loại sách

4. Bảng Cart (Lưu trữ giỏ hàng của người dùng)

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
1 Cart_id Int(255) PK Mã định danh giỏ hàng
2 Book_id Varchar(100) FK Mã sách
3 Bookname Varchar(200) Not null Tên sách
4 Img Varchar(200) Not null Hình ảnh sách
5 Price Varchar(100) Not null Đơn giá
6 Total_price Varchar(100) Not null Tổng số tiền
7 Quantity Varchar(100) Not null Số lượng mua
8 User_id Int(100) FK Mã khách hàng sở hữu giỏ

5. Bảng Login (Lưu trữ tài khoản khách hàng)

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
1 User_id Int(10) PK Mã định danh khách hàng
2 Username Varchar(200) Not null Tên đăng nhập
3 Password Varchar(200) Not null Mật khẩu người dùng
4 Name Varchar(255) Not null Họ và tên khách hàng
5 Mobile Varchar(100) Not null Số điện thoại đăng ký

6. Bảng Orders (Quản lý các đơn đặt hàng)

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
1 ID Int(11) PK Khóa chính tự tăng
2 Order_id Varchar(255) Not null Mã đơn đặt hàng
3 Book_id Varchar(200) FK Mã sách được đặt
4 Book_name Varchar(255) Not null Tên sách
5 Img Varchar(200) Not null Hình ảnh sách
6 Price Varchar(200) Not null Đơn giá
7 Quantity Int(11) Not null Số lượng đặt
8 Total_price Varchar(255) Not null Tổng tiền đơn hàng
9 User_id Varchar(100) FK Mã khách hàng đặt
10 Date_of_purchase Varchar(100) Not null Ngày thực hiện đặt hàng
11 Status Varchar(100) Not null Trạng thái đơn hàng
12 Payment_method Varchar(255) Not null Phương thức thanh toán
13 Paid Varchar(100) Not null Trạng thái thanh toán (đã trả/chưa)

7. Bảng Order_address (Liên kết đơn hàng và địa chỉ)

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
1 ID Int(11) PK Mã định danh liên kết
2 Address_id Int(11) FK Khóa ngoại trỏ đến Address
3 Order_id Varchar(250) Not null Mã đơn hàng trỏ đến Orders

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

Chương 1: Tổng quan đề tài

Chương 1 trình bày tổng quan về đề tài, lý do lựa chọn hướng nghiên cứu và tầm quan trọng của việc ứng dụng công nghệ thông tin trong hoạt động kinh doanh trực tuyến. Tác giả đưa ra các yêu cầu chức năng cụ thể đối với từng nhóm người dùng (Quản lý và Khách hàng), các ràng buộc về mặt thiết kế giao diện (đơn giản, dễ nhìn, font chữ không chân, tính bảo mật tương đối) và xác định rõ đối tượng hướng tới là các cửa hàng sách quy mô vừa và nhỏ. Ngoài ra, chương này cũng giới thiệu chi tiết về hệ sinh thái công nghệ sử dụng, gồm PHP, HTML5, CSS, JavaScript, thư viện jQuery, máy chủ Apache, MySQL và công cụ Adobe Dreamweaver.

Chương 2: Phân tích và thiết kế hệ thống

Chương 2 là nội dung kỹ thuật trọng tâm của đồ án, bao gồm:

  • Phân tích yêu cầu chức năng: Liệt kê và phân loại 13 ca sử dụng (Use Case) từ UC1 đến UC13: UC1 Đăng nhập, UC2 Đăng ký, UC3 Tìm kiếm, UC4 Xem trang chủ, UC5 Xem sách, UC6 Xem chi tiết sách, UC7 Liệt kê sách, UC8 Quản lý tài khoản, UC9 Quản lý sách, UC10 Quản lý phân quyền, UC11 Quản lý nhà cung cấp, UC12 Quản lý hóa đơn, UC13 Quản lý giỏ hàng.
  • Đặc tả Use Case chi tiết: Mô tả điều kiện trước, điều kiện sau, luồng sự kiện chính và luồng sự kiện phụ khi gặp lỗi (ví dụ: nhập thiếu thông tin, trùng lặp mã sách, nhập sai tài khoản/mật khẩu, lỗi kết nối dữ liệu).
  • Mô hình hóa hệ thống: Cung cấp các biểu đồ hoạt động (Activity Chart) và biểu đồ tuần tự (Sequence Chart) tương ứng cho các nghiệp vụ chính như đăng nhập, đăng ký, xem sách, quản lý tài khoản, quản lý sách, quản lý giỏ hàng và xử lý hóa đơn.
  • Thiết kế cơ sở dữ liệu: Chi tiết hóa cấu trúc 7 bảng cơ sở dữ liệu quan hệ phục vụ lưu trữ thông tin hệ thống.

Chương 3: Cài đặt và giao diện

Chương 3 trình bày kết quả xây dựng giao diện thực tế của website:

  • Phân hệ người dùng (Khách hàng):
    • Giao diện trang chủ: Hiển thị thanh điều hướng (menu), danh mục sản phẩm, logo thương hiệu, giỏ hàng tóm tắt, liên kết đăng nhập/đăng ký và các danh mục sách nổi bật.
    • Giao diện thanh toán: Tiếp nhận các dữ liệu đầu vào (họ tên, địa chỉ, quận/huyện, tỉnh/thành phố, quốc gia, số điện thoại) và xuất ra trạng thái xác nhận đặt hàng.
    • Giao diện chi tiết sách: Trình bày hình ảnh bìa, tên sách, tác giả, giá bán, thể loại và bản tóm tắt nội dung sách.
    • Giao diện giỏ hàng và tài khoản: Trang quản lý giỏ hàng (thêm, cập nhật số lượng, xóa sách), trang thông báo đặt hàng thành công, lịch sử đơn hàng, xem thông tin cá nhân và màn hình đổi mật khẩu.
    • Giao diện sách bán chạy: Cập nhật danh sách các đầu sách có lượng tiêu thụ cao tại cửa hàng.
  • Phân hệ quản trị (Admin):
    • Giao diện đăng nhập quản trị: Xác thực tài khoản của người quản lý.
    • Giao diện bảng điều khiển (Dashboard): Khu vực trung tâm điều hướng các chức năng quản lý.
    • Giao diện quản trị chuyên biệt: Trang quản lý thông tin tài khoản khách hàng, trang quản lý và cập nhật trạng thái hóa đơn, trang quản lý danh mục sách (thêm mới, chỉnh sửa thông tin, xóa sản phẩm).

Chương 4: Đánh giá kết quả và hướng phát triển

Chương 4 tổng kết các kết quả đạt được sau quá trình triển khai, đánh giá mức độ hoàn thiện của các chức năng so với yêu cầu ban đầu, đồng thời chỉ ra các ưu điểm, nhược điểm trong thiết kế và định hình các định hướng phát triển trong tương lai.


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

Kết quả chính

  • Hoàn thành hệ thống web bán hàng: Xây dựng thành công website bán sách trực tuyến với đầy đủ hai phân hệ độc lập: phân hệ mua hàng cho khách hàng và phân hệ quản trị cho người quản lý.
  • Hiện thực hóa quy trình mua sắm: Đáp ứng chu trình mua hàng khép kín bao gồm xem sản phẩm, xem chi tiết, thêm vào giỏ hàng, cập nhật số lượng, nhập thông tin giao nhận, gửi đơn hàng và lưu trữ lịch sử giao dịch.
  • Thiết kế cơ sở dữ liệu hoàn chỉnh: Xây dựng và liên kết thành công 7 bảng quan hệ trong MySQL, đảm bảo tính toàn vẹn dữ liệu cho các thực thể người dùng, sách, giỏ hàng, đơn hàng và địa chỉ.

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

  • Ứng dụng mô hình phát triển phần mềm mã nguồn mở với PHP và MySQL vào bài toán quản lý và bán sách cho các cơ sở kinh doanh vừa và nhỏ, giúp tối ưu hóa chi phí đầu tư ban đầu so với các nền tảng thương mại đóng gói thương mại.
  • Cung cấp tài liệu phân tích thiết kế hệ thống tương đối chi tiết, từ bảng đặc tả Use Case, biểu đồ UML đến mô hình dữ liệu, làm tài liệu tham khảo cho sinh viên thực hiện các đồ án môn học liên quan đến lập trình web.

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

Hạn chế được ghi nhận

  • Thời gian và kinh nghiệm triển khai: Đồ án được thực hiện trong thời gian ngắn (hơn 1 tháng), kiến thức và kinh nghiệm thực tế về lập trình và thiết kế của nhóm sinh viên còn hạn chế, dẫn đến hệ thống vẫn còn một số thiếu sót.
  • Bảo mật và tính năng nâng cao: Hệ thống chỉ mới đạt mức độ bảo mật tương đối; chưa tích hợp 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ử) hay dịch vụ tính phí vận chuyển tự động từ các đơn vị logistics.

Hướng phát triển tiếp

  • Cập nhật, áp dụng các framework và công nghệ mới hơn để nâng cao trải nghiệm người dùng và tối ưu hiệu năng trang web.
  • Nâng cấp cơ chế bảo mật hệ thống dữ liệu và tài khoản người dùng.
  • Mở rộng các tính năng phân quyền quản trị chi tiết cho nhân viên và quản lý thông tin nhà cung cấp sách.

Giá trị tham khảo

Báo cáo đồ án là tài liệu tham khảo thiết thực cho:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Tham khảo cấu trúc một bài báo cáo đồ án môn học Phát triển phần mềm mã nguồn mở hoặc Lập trình Web với PHP & MySQL.
  • Người học cần tài liệu thiết kế hệ thống thương mại điện tử cơ bản: Đáng tham khảo ở phần phân tích ca sử dụng (Chương 2), hệ thống biểu đồ UML (Activity Diagram, Sequence Diagram) và lược đồ cơ sở dữ liệu quan hệ cho website bán hàng quy mô nhỏ.

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

1. Đề tài "Xây dựng website bán sách online book" sử dụng những công nghệ nền tảng nào?
Đề tài sử dụng ngôn ngữ lập trình PHP phía máy chủ kết hợp hệ quản trị cơ sở dữ liệu MySQL chạy trên nền máy chủ Apache (thông qua XAMPP/MAMP). Giao diện Front-end được xây dựng bằng HTML5, CSS và JavaScript với thư viện hỗ trợ jQuery. Công cụ hỗ trợ soạn thảo và thiết kế gồm Visual Studio và Adobe Dreamweaver CC.

2. Cơ sở dữ liệu của hệ thống gồm bao nhiêu bảng và có những bảng nào?
Hệ thống gồm 7 bảng dữ liệu chính trong MySQL: Address (địa chỉ giao hàng), Admin (tài khoản quản trị), Books (thông tin sách), Cart (giỏ hàng), Login (tài khoản khách hàng), Orders (đơn đặt hàng) và Order_address (liên kết đơn hàng và địa chỉ).

3. Khách hàng sử dụng website có thể thực hiện những chức năng gì?
Khách hàng có thể đăng ký tài khoản, đăng nhập, đổi mật khẩu, xem thông tin cá nhân; xem trang chủ, xem danh mục sách và chi tiết từng cuốn sách; thêm sách vào giỏ hàng, cập nhật số lượng, xóa sách khỏi giỏ; thực hiện thanh toán đơn hàng và xem lại lịch sử đặt hàng.

4. Người quản lý (Admin) có quyền xóa tài khoản khách hàng hay không?
Theo bảng mô tả tác nhân của đồ án (Bảng 2.1), người quản lý chỉ có quyền xem và tìm kiếm thông tin khách hàng mà không được cấp quyền xóa thông tin tài khoản của khách hàng.

5. Đồ án được thực hiện tại đơn vị nào và trong thời gian bao lâu?
Đồ án do nhóm sinh viên Viện Kỹ thuật – Công nghệ, Trường Đại học Thủ Dầu Một thực hiện dưới sự hướng dẫn của ThS. Nguyễn Hữu Vĩnh, triển khai trong thời gian hơn 1 tháng và hoàn thành báo cáo vào tháng 07/2021.


Kết luận

Báo cáo đồ án "Xây dựng website bán sách online book" của nhóm tác giả tại Trường Đại học Thủ Dầu Một đã xây dựng thành công một mô hình website thương mại điện tử cơ bản ứng dụng công nghệ mã nguồn mở PHP và MySQL. Tài liệu đã trình bày đầy đủ các giai đoạn từ khảo sát nhu cầu, phân tích ca sử dụng, mô hình hóa luồng nghiệp vụ UML đến thiết kế cơ sở dữ liệu và hiện thực hóa giao diện chức năng. Mặc dù vẫn còn những hạn chế do thời gian triển khai ngắn, đồ án đáp ứng các yêu cầu cốt lõi của một hệ thống bán sách trực tuyến và là nguồn tư liệu tham khảo phù hợp cho các đồ án phát triển phần mềm ứng dụng web.