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ẽ, thương mại điện tử đã trở thành một hình thức kinh doanh phổ biến trên toàn cầu. Phương thức bán hàng qua mạng mang lại nhiều lợi ích thiết thực cho nhà sản xuất, doanh nghiệp và người tiêu dùng thông qua việc tiết kiệm chi phí, rút ngắn thời gian giao dịch và giảm bớt khoảng cách địa lý. Đặc biệt, trong bối cảnh dịch bệnh, mô hình mua bán trực tuyến càng thể hiện rõ tính an toàn, tiện ích và tối ưu trong việc vận hành kinh doanh.

Đề tài thực tập cơ sở được tác giả lựa chọn xuất phát từ yêu cầu thực tế của cửa hàng S'cool:

  • Tên đơn vị khảo sát: Cửa hàng S’cool.
  • Địa chỉ: Số 15, phường Tân Thịnh, Thành phố Thái Nguyên.
  • Ngành nghề kinh doanh: Dép Basic trendy và dép đi trong nhà.
  • Hiện trạng tổ chức: Cửa hàng vận hành với hai nhóm nhân sự chính gồm Quản lý (điều hành công việc chung, quản lý khách hàng) và Nhân viên (bán hàng, quản lý thông tin hàng hóa, tương tác và liên hệ khi khách hàng đặt hàng thành công).

Nhu cầu ứng dụng công nghệ thông tin tại cơ sở tập trung vào 4 mục tiêu chính:

  1. Xây dựng công cụ giúp cửa hàng dễ dàng quản lý danh mục và số lượng sản phẩm.
  2. Quản lý dữ liệu thông tin khách hàng một cách khoa học.
  3. Mở rộng khả năng tiếp cận người dùng trên môi trường mạng.
  4. Đảm bảo hoạt động kinh doanh diễn ra an toàn, liên tục trong thời kỳ dịch bệnh.

Đối tượng nghiên cứu của đồ án là quy trình quản lý, kinh doanh bán lẻ giày dép tại cửa hàng S'cool và các công nghệ lập trình web mã nguồn mở. Phạm vi nghiên cứu tập trung vào việc phân tích, thiết kế và lập trình website thương mại điện tử phục vụ hoạt động bán hàng của cửa hàng tại địa bàn Thái Nguyên năm 2022.

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

Đồ án vận dụng các kiến thức nền tảng trong phát triển ứng dụng web và kỹ thuật công nghệ phần mềm:

  • Ngôn ngữ và công nghệ nền tảng: Ngôn ngữ kịch bản phía máy chủ PHP (Hypertext Preprocessor) kết hợp cùng HTML (HyperText Markup Language) và CSS (Cascading Style Sheets).
  • Hệ quản trị cơ sở dữ liệu: MySQL (sử dụng thư viện kết nối MySQLi) để lưu trữ và xử lý truy vấn dữ liệu có cấu trúc.
  • Framework giao diện: Bootstrap (do Mark Otto và Jacob Thornton phát triển), cung cấp hệ thống mẫu HTML, CSS và JavaScript mở rộng nhằm tối ưu hóa giao diện đa thiết bị (responsive).
  • Mô hình kiến trúc phần mềm: Mô hình MVC (Model - View - Controller) nhằm phân tách rõ ràng ba thành phần: xử lý dữ liệu (Model), giao diện người dùng (View) và bộ điều khiển điều hướng logic (Controller).

Phương pháp nghiên cứu được tác giả triển khai bao gồm:

  • Phương pháp khảo sát thực tế: Tìm hiểu mô hình vận hành, cơ cấu quản lý và các hoạt động kinh doanh trực tiếp tại cửa hàng S'cool.
  • Phương pháp phân tích và thiết kế hệ thống: Xác định yêu cầu chức năng, phi chức năng; phân tích tác nhân hệ thống; mô hình hóa quy trình nghiệp vụ bằng biểu đồ Use Case, biểu đồ hoạt động (Activity Diagram), biểu đồ tuần tự (Sequence Diagram) và biểu đồ lớp tổng quát (Class Diagram).
  • Phương pháp thực nghiệm: Cài đặt và cấu hình môi trường máy chủ cục bộ (XAMPP với Apache, MySQL), nhập dữ liệu và kiểm thử các chức năng trên trình duyệt web.

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

CHƯƠNG 1: GIỚI THIỆU VỀ CÁC CÔNG NGHỆ

Chương 1 tổng hợp cơ sở lý thuyết về các công nghệ, ngôn ngữ và kiến trúc được sử dụng trong quá trình phát triển website, đồng thời phân tích ưu điểm và nhược điểm của từng thành phần:

Công nghệ / Kiến trúc Đặc điểm và Vai trò Ưu điểm ghi nhận Nhược điểm ghi nhận
Bootstrap Front-End Framework gồm các mẫu HTML, CSS, JavaScript cho thiết kế responsive. Dễ sử dụng, hỗ trợ responsive đa giao diện, khả năng tùy biến cao, tiết kiệm thời gian phát triển. Dung lượng nặng, tốc độ tối ưu chưa cao, chưa đầy đủ mọi thư viện cần thiết, có code thừa.
PHP Ngôn ngữ kịch bản chạy phía máy chủ (Server-side) sinh mã HTML trả về client. Mã nguồn rõ ràng, tốc độ xử lý nhanh, dễ học, tích hợp tốt với Apache, Linux và MySQL. Cần môi trường máy chủ biên dịch (PHP Engine), bảo mật phụ thuộc vào người viết mã.
MySQL Hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở sử dụng ngôn ngữ SQL. Tốc độ cao, ổn định, miễn phí, tính bảo mật tốt, khả năng tương thích và di động cao. Yêu cầu quản lý cấu trúc bảng và tối ưu hóa câu lệnh truy vấn khi dữ liệu lớn.
HTML Ngôn ngữ đánh dấu siêu văn bản định dạng cấu trúc trang web do Tim Berners-Lee tạo ra. Chuẩn W3C, cộng đồng lớn, chạy mượt trên mọi trình duyệt, dễ học, tích hợp tốt với back-end. Chủ yếu dành cho web tĩnh, mỗi trang cần tạo riêng, khó kiểm soát cách đọc/hiển thị riêng biệt của trình duyệt.
CSS Ngôn ngữ tạo phong cách (style sheet) quy định giao diện và bố cục cho tài liệu HTML. Tiết kiệm thời gian định dạng, tải trang nhanh, dễ bảo trì, sở hữu thuộc tính định dạng phong phú. Hoạt động có thể khác biệt giữa các trình duyệt, tiềm ẩn rủi ro về hiển thị giao diện.
Mô hình MVC Kiến trúc phân tách phần mềm thành 3 tầng: Model, View và Controller. Hệ thống phân tầng rõ ràng, dễ bảo trì, dễ nâng cấp, chia module tốt cho làm việc nhóm, dễ gỡ lỗi (debug). Tốc độ xử lý chậm hơn PHP thuần, cấu trúc xây dựng phức tạp và mất nhiều thời gian thiết lập ban đầu.

CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH VÀ THIẾT KẾ

Chương 2 trình bày chi tiết kết quả khảo sát thực tế tại cửa hàng S'cool, xác định yêu cầu hệ thống thông tin và mô hình hóa hệ thống thông qua các công cụ UML.

  1. Yêu cầu hệ thống thông tin:

    • Yêu cầu hệ thống: Sử dụng PHP, HTML, CSS, Bootstrap và cơ sở dữ liệu MySQL.
    • Yêu cầu chức năng: Quản trị hệ thống (đăng nhập, đăng xuất, phân quyền); Quản lý sản phẩm (thêm, sửa, xóa); Quản lý khách hàng (thêm, sửa, xóa); Quản lý đơn hàng (tiếp nhận và xử lý đơn hàng); Tìm kiếm sản phẩm theo danh mục và tên.
    • Yêu cầu phi chức năng: Giao diện thân thiện, vận hành liên tục, đáp ứng phục vụ nhiều người dùng cùng thời điểm, đảm bảo tính chính xác của dữ liệu.
  2. Phân tích tác nhân và danh mục Use Case:

    • Quản trị viên (Admin): Thực hiện phân quyền hệ thống, quản lý người dùng/khách hàng, quản lý danh mục sản phẩm, quản lý đơn đặt hàng.
    • Nhân viên: Quản lý thông tin sản phẩm, kiểm tra trạng thái đơn hàng, tương tác và chăm sóc khách hàng sau khi đặt mua thành công.
    • Khách hàng: Xem thông tin sản phẩm, thêm sản phẩm vào giỏ hàng, đặt mua hàng, đăng ký thành viên, đăng nhập tài khoản, gửi thông tin liên hệ.
  3. Đặc tả luồng sự kiện một số Use Case tiêu biểu:

    • Đặc tả Use Case Đăng nhập (Admin): Tiếp nhận tài khoản và mật khẩu từ người dùng, kiểm tra điều kiện xác thực qua cơ sở dữ liệu; nếu hợp lệ, khởi tạo phiên làm việc (session) và chuyển hướng vào trang quản trị tổng quan; nếu thất bại, xuất thông báo lỗi và yêu cầu nhập lại.
    • Đặc tả Use Case Quản lý khách hàng (UC_QLNGUOIDUNG): Cho phép Quản trị viên thực hiện ba luồng chính gồm Thêm, Sửa và Xóa khách hàng. Hệ thống kiểm tra tính hợp lệ của dữ liệu đầu vào trước khi lưu hoặc cập nhật trong cơ sở dữ liệu.
    • Đặc tả Use Case Phân quyền (UC_PHANQUYEN): Quản trị viên lựa chọn tài khoản người dùng, chọn quyền hạn tương ứng và gửi yêu cầu cập nhật quyền hạn trong hệ thống.
    • Đặc tả Use Case Quản lý sản phẩm (UC_QLSANPHAM): Tiếp nhận thao tác Thêm/Sửa/Xóa từ quản trị viên, xác thực thông tin sản phẩm (tên, giá, mô tả, hình ảnh) và cập nhật dữ liệu vào bảng cơ sở dữ liệu tương ứng.
    • Đặc tả Use Case Đăng ký (NGUOIDUNG): Khách hàng nhập thông tin gồm tài khoản, mật khẩu, địa chỉ và số điện thoại. Hệ thống kiểm tra tính duy nhất của tài khoản; nếu hợp lệ sẽ khởi tạo bản ghi mới và chuyển hướng về trang đăng nhập.
  4. Hệ thống biểu đồ mô hình hóa: Tác giả xây dựng các biểu đồ Use Case tổng quát, biểu đồ Use Case phân hệ quản trị, biểu đồ Use Case khách hàng; các biểu đồ hoạt động (quản lý sản phẩm, quản lý khách hàng, đăng nhập, đăng ký); các biểu đồ tuần tự tương ứng cho từng chức năng chi tiết và biểu đồ lớp tổng quát nhằm biểu diễn cấu trúc quan hệ giữa các đối tượng dữ liệu.

CHƯƠNG 3: XÂY DỰNG WEBSITE

Chương 3 tập trung vào quy trình triển khai cài đặt, nhập cơ sở dữ liệu và vận hành giao diện thực tế của website:

  • Cấu trúc phân hệ website:
    • Phân hệ người dùng (Front-end): Giao diện trang chủ hiển thị sản phẩm nổi bật, hiển thị sản phẩm theo danh mục dép trendy/dép đi trong nhà, chi tiết sản phẩm, công cụ tìm kiếm, giao diện giỏ hàng và đặt hàng, màn hình đăng nhập và đăng ký tài khoản.
    • Phân hệ quản trị (Back-end): Màn hình tổng quan, các chức năng quản lý danh mục sản phẩm (thêm, sửa, xóa sản phẩm), quản lý thông tin khách hàng, chức năng tìm kiếm dữ liệu nội bộ và quản lý xử lý đơn hàng.
  • Quy trình cài đặt và vận hành hệ thống:
    • Bước 1: Khởi động phần mềm máy chủ XAMPP, kích hoạt hai dịch vụ Apache và MySQL sang trạng thái hoạt động (Start).
    • Bước 2: Truy cập giao diện quản trị cơ sở dữ liệu http://localhost/phpmyadmin, tạo mới cơ sở dữ liệu với bảng mã và giá trị tham chiếu ký tự chuẩn utf8mb4_unicode_ci.
    • Bước 3: Nhập (Import) tập tin mã nguồn dữ liệu định dạng .sql có sẵn vào cơ sở dữ liệu vừa tạo.
    • Bước 4: Mở trình duyệt web và truy cập địa chỉ cục bộ http://localhost/Bai_TTCS/ để kiểm tra toàn bộ các giao diện và chức năng của website.

Thiết kế và triển khai

Hệ thống được thiết kế và hiện thực hóa dựa trên các thông số kỹ thuật cụ thể sau:

[Trình duyệt Client] 
[Web Server: Apache (XAMPP)]
[Kiến trúc MVC - PHP]
[Hệ quản trị CSDL: MySQL (utf8mb4_unicode_ci)]
  • Môi trường phát triển và máy chủ: XAMPP chạy trên máy cục bộ, quản lý máy chủ web Apache và hệ quản trị cơ sở dữ liệu MySQL.
  • Mã hóa ký tự: Sử dụng chuẩn utf8mb4_unicode_ci để hiển thị chính xác tiếng Việt có dấu trên toàn bộ giao diện và cơ sở dữ liệu.
  • Phân quyền người dùng: Hệ thống phân chia thành 2 mức quyền chính thức là quyền Quản trị viên (Admin) và quyền Khách hàng/Người dùng.
  • Các giao diện chính đã hoàn thiện:
    • Giao diện Trang chủ hiển thị banner và danh mục dép thời trang.
    • Giao diện Đăng nhập và Đăng ký thành viên có cơ chế bắt lỗi khi sai mật khẩu hoặc trùng lặp tài khoản.
    • Giao diện Danh sách sản phẩm và Chi tiết sản phẩm.
    • Giao diện Quản trị viên (Admin Dashboard) với các chức năng thêm mới sản phẩm, cập nhật thông tin sản phẩm và quản lý thông tin khách hàng.

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

  • Kết quả đạt được:
    • Hoàn thành đầy đủ báo cáo thực tập cơ sở gồm 3 chương với đầy đủ tài liệu phân tích thiết kế hệ thống theo chuẩn UML (Use Case, Activity, Sequence, Class Diagram).
    • Xây dựng thành công website bán hàng hoàn chỉnh cho cửa hàng S'cool, chạy ổn định trên môi trường máy chủ thử nghiệm cục bộ (localhost/Bai_TTCS/).
    • Hiện thực hóa đầy đủ hai phân hệ Front-end (cho người mua) và Back-end (cho quản lý/nhân viên), đáp ứng các thao tác xem hàng, đặt hàng, quản lý sản phẩm và quản trị người dùng.
  • Đóng góp của đồ án:
    • Cung cấp giải pháp số hóa quy trình quản lý và kinh doanh bán lẻ dép cho cửa hàng S'cool tại Thái Nguyên, giải quyết nhu cầu bán hàng an toàn trong bối cảnh dịch bệnh.
    • Áp dụng thành công mô hình MVC vào lập trình PHP kết hợp Bootstrap, giúp mã nguồn có cấu trúc rõ ràng, thuận tiện cho việc bảo trì.

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

  • Hạn chế:
    • Do thời gian thực hiện đồ án có hạn, hệ thống vẫn còn một số điểm cần tiếp tục tối ưu hóa.
    • Việc tự xây dựng cấu trúc MVC từ đầu làm tăng độ phức tạp và khiến tốc độ xử lý trang chậm hơn so với viết PHP thuần đơn giản.
    • Mã nguồn Bootstrap nhúng vào còn chứa các thành phần thừa chưa được tinh gọn triệt để.
    • Hệ thống mới được thử nghiệm trên môi trường máy chủ cục bộ (XAMPP Localhost), chưa triển khai thực tế trên máy chủ Internet công cộng (Hosting/Domain).
  • Hướng phát triển tiếp theo:
    • Tối ưu hóa hiệu năng mã nguồn và câu lệnh truy vấn cơ sở dữ liệu.
    • Tích hợp thêm các cổng thanh toán trực tuyến và chức năng quản lý vận chuyển chuyên sâu.
    • Đưa hệ thống lên môi trường hosting trực tuyến phục vụ người dùng thực tế.

Giá trị tham khảo

Đồ án là tài liệu tham khảo phù hợp cho sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm đang thực hiện học phần Thực tập cơ sở hoặc Đồ án chuyên ngành về xây dựng website thương mại điện tử. Các nội dung có giá trị sử dụng cao gồm:

  • Quy trình mô hình hóa UML chi tiết từ bảng đặc tả Use Case đến các biểu đồ tuần tự và biểu đồ hoạt động.
  • Hướng dẫn thiết lập môi trường XAMPP, cấu hình cơ sở dữ liệu MySQL với chuẩn mã hóa utf8mb4_unicode_ci.
  • Cấu trúc tổ chức ứng dụng web theo mô hình MVC sử dụng PHP thuần và Bootstrap.

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

1. Đề tài thực tập cơ sở này được thực hiện tại cơ sở giáo dục nào và nghiên cứu cho đơn vị nào?
Đề tài được thực hiện bởi sinh viên Nguyễn Văn Viên (lớp CNTT K18C), dưới sự hướng dẫn của ThS. Trần Quang Huy tại Khoa Công nghệ Thông tin - Trường Đại học Công nghệ Thông tin và Truyền thông (Đại học Thái Nguyên) năm 2022. Đối tượng khảo sát và xây dựng website là Cửa hàng dép S'cool tại số 15, phường Tân Thịnh, TP. Thái Nguyên.

2. Công nghệ và kiến trúc chính được sử dụng để xây dựng website S'cool là gì?
Hệ thống sử dụng ngôn ngữ lập trình PHP kết hợp HTML5, CSS3, Framework Bootstrap cho giao diện phía client, hệ quản trị cơ sở dữ liệu MySQL (giao tiếp qua MySQLi) và được tổ chức theo mô hình kiến trúc MVC (Model - View - Controller).

3. Môi trường kiểm thử và quy trình cài đặt cơ sở dữ liệu của đồ án được tiến hành ra sao?
Hệ thống chạy trên phần mềm XAMPP (kích hoạt module Apache và MySQL). Cơ sở dữ liệu được tạo trên giao diện http://localhost/phpmyadmin với bảng mã tham chiếu utf8mb4_unicode_ci, sau đó tiến hành import tập tin dữ liệu .sql và truy cập website qua đường dẫn http://localhost/Bai_TTCS/.

4. Hệ thống phân chia những tác nhân và quyền hạn người dùng nào?
Hệ thống phân chia 3 tác nhân nghiệp vụ gồm Quản lý (Quản trị viên), Nhân viên và Khách hàng; phân quyền trên hệ thống web gồm 2 nhóm chính: quyền Quản trị viên (quản lý sản phẩm, quản lý khách hàng, xử lý đơn hàng, phân quyền) và quyền Khách hàng/Người dùng (xem sản phẩm, tìm kiếm, đặt hàng, đăng ký, đăng nhập).

5. Tác giả đã đánh giá những ưu và nhược điểm gì khi áp dụng mô hình MVC trong đề tài?
Ưu điểm của mô hình MVC là phân tách rõ ràng các tầng xử lý, giúp cấu trúc code có hệ thống, dễ phát triển theo nhóm, dễ bảo trì, nâng cấp và thuận tiện gỡ lỗi. Nhược điểm là việc xây dựng cấu trúc và thư viện phức tạp, tốn thời gian thiết lập và tốc độ thực thi có phần chậm hơn so với việc viết mã PHP thuần không chia tầng.

Kết luận

Báo cáo thực tập cơ sở của sinh viên Nguyễn Văn Viên đã hoàn thành tốt mục tiêu khảo sát, phân tích thiết kế và xây dựng website bán hàng hoàn chỉnh cho cửa hàng S'cool tại Thái Nguyên. Bằng việc kết hợp PHP, MySQL, Bootstrap theo mô hình MVC, tác giả đã tạo ra một hệ thống đáp ứng đầy đủ các quy trình nghiệp vụ mua bán dép trực tuyến cho khách hàng và công tác quản lý cho quản trị viên. Đồ án cung cấp một tài liệu tham khảo có giá trị thực tiễn cao cho sinh viên ngành Công nghệ thông tin trong việc nghiên cứu và phát triển các ứng dụng web thương mại điện tử cơ bản.