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

Trong bối cảnh công nghệ thông tin và Internet phát triển mạnh mẽ của thời đại 4.0, website đã trở thành công cụ thiết yếu phục vụ hoạt động quảng bá thương hiệu và tiếp thị sản phẩm của doanh nghiệp đến khách hàng trên phạm vi toàn cầu. Đối với lĩnh vực kinh doanh thiết bị điện tử, việc thiết lập một kênh giao dịch trực tuyến mở cửa liên tục 24/7/365 giúp doanh nghiệp tiết kiệm đáng kể thời gian quản lý, cắt giảm chi phí tiếp thị truyền thống (như in ấn catalogue giấy hoặc phát hành đĩa CD-ROM) và tự động hóa quy trình bán hàng.

Đề tài "Xây dựng phần mềm quản lý bán thiết bị điện tử" được thực hiện trong khuôn khổ môn học Công nghệ phần mềm tại Khoa Công nghệ Thông tin, Trường Đại học Điện Lực (tháng 10 năm 2021) do sinh viên Nguyễn Văn Doanh thực hiện dưới sự hướng dẫn của TS. Nguyễn Thị Hồng Khánh.

Mục tiêu của đồ án:

  1. Xây dựng hệ thống website thương mại điện tử phục vụ việc giới thiệu, quảng bá và kinh doanh các sản phẩm thiết bị điện tử.
  2. Thiết kế giao diện thân thiện, bố cục hợp lý, thẩm mỹ và dễ định hướng đối với người dùng.
  3. Cung cấp đầy đủ các tính năng hỗ trợ khách hàng tìm kiếm, tra cứu thông tin chi tiết, đặt mua sản phẩm và gửi thông tin liên hệ trực tuyến.
  4. Xây dựng phân hệ quản trị hoàn chỉnh giúp ban quản lý cập nhật sản phẩm, tin tức, banner, kiểm duyệt đơn hàng và xử lý thông tin phản hồi của khách hàng.

Nhiệm vụ cơ bản của hệ thống:

  1. Giới thiệu thông tin chi tiết về các sản phẩm thiết bị điện tử.
  2. Giới thiệu và thực hiện bán các sản phẩm thiết bị điện tử qua mạng.
  3. Hỗ trợ, tư vấn khách hàng có nhu cầu đặt mua các loại thiết bị điện tử.
  4. Hỗ trợ tra cứu, tìm kiếm thiết bị điện tử theo danh mục và từ khóa.

Đố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à cài đặt hệ thống phần mềm quản lý bán hàng thiết bị điện tử trực tuyến.
  • Phạm vi không gian & công nghệ: Triển khai thử nghiệm trên môi trường máy chủ cục bộ (Localhost) sử dụng ngôn ngữ lập trình PHP và hệ quản trị cơ sở dữ liệu MySQL thông qua gói phần mềm XAMPP.
  • Phạm vi thời gian: Đồ án môn học hoàn thành vào tháng 10 năm 2021.

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

Đề tài áp dụng các nguyên lý phân tích và thiết kế hệ thống thông tin theo phương pháp cấu trúc truyền thống, kết hợp các tài liệu giáo trình chuyên ngành:

  • Giáo trình Phân tích thiết kế hệ thống thông tin của tác giả Đào Thanh Tĩnh (Nhà xuất bản Học viện Kỹ thuật Quân sự).
  • Giáo trình Phân tích thiết kế hệ thống thông tin của tác giả Nguyễn Văn Ba (Nhà xuất bản Đại học Quốc gia).

Phương pháp nghiên cứu và mô hình hóa:

  • Phương pháp khảo sát hiện trạng: Thu thập yêu cầu nghiệp vụ thực tế của một cửa hàng kinh doanh thiết bị điện tử để xác định các luồng công việc từ người dùng và quản trị viên.
  • Phân tích chức năng: Xây dựng Sơ đồ phân rã chức năng (Functional Decomposition Diagram - FDD) dạng hình cây để phân cấp các chức năng từ mức tổng quát đến chi tiết.
  • Mô hình hóa luồng dữ liệu: Sử dụng Sơ đồ luồng dữ liệu (Data Flow Diagram - DFD) bao gồm: DFD mức khung cảnh (mức 0), DFD mức đỉnh (mức 1), và DFD mức dưới đỉnh (mức 2) cho từng phân hệ nghiệp vụ.
  • Mô hình hóa dữ liệu: Thiết kế Sơ đồ thực thể kết hợp (Entity Relationship Diagram - ERD), lập ma trận thực thể khóa để xác định quan hệ (1-1, 1-n, n-n), sau đó chuẩn hóa và chuyển đổi sang mô hình quan hệ dữ liệu.
  • Thiết kế giao diện: Phác thảo và xây dựng giao diện tương tác cho người dùng (Front-end) và quản trị viên (Back-end).
  • Cài đặt & thử nghiệm: Triển khai mã nguồn và cơ sở dữ liệu trên môi trường máy chủ giả lập XAMPP Server.

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

Kiến trúc chức năng và luồng dữ liệu

Hệ thống được thiết kế phục vụ hai tác nhân ngoài chính là Khách hàng và Quản trị viên (Admin):

  • DFD Mức 0 (Mức khung cảnh): Hệ thống "Quản lý bán hàng" nhận các yêu cầu tra cứu, đơn đặt hàng, thông tin liên hệ từ khách hàng; phản hồi danh sách sản phẩm, chi tiết đơn hàng, phiếu giao dịch. Đồng thời, tiếp nhận các tác vụ quản trị danh mục, sản phẩm, tin tức, banner từ quản trị viên.
  • DFD Mức 1 (Mức đỉnh): Hệ thống được phân rã thành 4 tiến trình chính: Quản lý khách hàng, Quản lý tìm kiếm, Quản lý chức năng quản trị, Quản lý chức năng khách hàng.
  • DFD Mức 2 (Mức dưới đỉnh): Phân rã chi tiết các thao tác xử lý nghiệp vụ, kiểm tra tính hợp lệ dữ liệu của form thông tin, cập nhật kho dữ liệu và trả kết quả hiển thị ra giao diện.

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

Hệ thống sử dụng cơ sở dữ liệu quan hệ gồm 14 bảng dữ liệu được chuẩn hóa để lưu trữ toàn bộ thông tin vận hành:

Tên bảng Mục đích lưu trữ Khóa chính Khóa ngoại / Ghi chú liên kết
tbl_product Danh sách thông tin sản phẩm id id_group (liên kết danh mục), id_lang
tbl_group_product Phân loại và danh mục sản phẩm id Phân cấp danh mục qua level, serial
tbl_news Bài viết và tin tức công nghệ id id_group (thuộc danh mục tin), id_lang
tbl_group_news Danh mục bài viết / tin tức id Quản lý cấp tin tức level
tbl_banner Banner quảng cáo tiếp thị id id_group (vị trí banner), id_lang
tbl_group_banner Vị trí hiển thị của banner id Cấp vị trí level, serial
tbl_about Thông tin giới thiệu doanh nghiệp id id_lang (hỗ trợ đa ngôn ngữ)
tbl_contact Thông tin phản hồi, liên hệ của khách id Lưu họ tên, điện thoại, email, địa chỉ, nội dung
tbl_customer Tài khoản khách hàng đăng ký id Lưu email, mật khẩu, địa chỉ, token kích hoạt
tbl_user Tài khoản của quản trị viên id id_group_user (nhóm quyền)
tbl_group_user Nhóm quản trị và quyền hạn id Phân quyền vai trò quản trị
tbl_order Thông tin đơn hàng tổng quát id id_customer_order (liên kết khách hàng)
tbl_order_detail Chi tiết mặt hàng trong đơn id id_order (mã đơn), id_product (mã sản phẩm)
tbl_permision Bảng phân quyền chức năng id id_group_user, id_module

Quy trình cài đặt và môi trường vận hành

Hệ thống được thiết lập chạy trên môi trường cục bộ thông qua các bước kỹ thuật:

  1. Cài đặt XAMPP: Sử dụng bộ cài XAMPP tích hợp Apache, MySQL, PHP và công cụ quản trị phpMyAdmin. Kích hoạt hai dịch vụ cốt lõi là Apache Web Server và MySQL Database Server.
  2. Khởi tạo cơ sở dữ liệu: Truy cập phpMyAdmin (http://localhost/phpmyadmin/), tạo mới cơ sở dữ liệu có tên db_project, sau đó sử dụng chức năng Import để nạp toàn bộ cấu trúc bảng và dữ liệu mẫu từ tệp SQL.
  3. Triển khai mã nguồn: Sao chép toàn bộ thư mục chứa mã nguồn của website (schemes) vào thư mục gốc htdocs trong đường dẫn cài đặt của XAMPP.
  4. Kiểm thử hệ thống: Khởi chạy trình duyệt web và truy cập hệ thống qua địa chỉ URL: http://localhost/bandienmay/.

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

Chương 1: Mở đầu

Chương 1 phân tích sự cần thiết của việc ứng dụng Internet vào kinh doanh trong thời đại số. Website được xác định là cửa ngõ tiếp thị, quảng bá thương hiệu và là kênh tư vấn trực tuyến hữu hiệu giữa doanh nghiệp và khách hàng. Tác giả tiến hành đánh giá tính khả thi của đề tài trên ba khía cạnh:

  • Khả thi về mặt tổ chức: Mở rộng không gian và thời gian giao dịch không giới hạn (24/7/365), giảm thiểu tối đa thời gian và công sức quản lý thủ công.
  • Khả thi về mặt kinh tế: Tiết kiệm chi phí in ấn tài liệu tiếp thị, tự động hóa các khâu bán hàng mà không phát sinh chi phí nhân sự vận hành văn phòng giao dịch trực tiếp.
  • Khả thi về mặt kỹ thuật: Lựa chọn ngôn ngữ mã nguồn mở PHP kết hợp hệ quản trị cơ sở dữ liệu MySQL – nền tảng phổ biến toàn cầu, hệ sinh thái thư viện đa dạng, cộng đồng hỗ trợ lớn và dễ dàng triển khai.

Chương 2: Khảo sát hệ thống

Chương 2 xác định rõ mục tiêu, phạm vi và khảo sát hiện trạng các phân hệ quản lý của website bán thiết bị điện tử. Hệ thống được chia thành 7 khối nghiệp vụ cụ thể:

  • Quản trị hệ thống: Cho phép thêm, sửa, xóa danh sách các tài khoản quản trị viên và phân cấp quản lý.
  • Quản lý tin tức: Quản lý các bài viết công nghệ và hệ thống danh mục tin tức theo chuyên mục.
  • Quản lý sản phẩm: Thực hiện thêm mới, cập nhật giá, hình ảnh, thông số kỹ thuật, phụ kiện, trạng thái sản phẩm và quản lý danh mục sản phẩm.
  • Quản lý banner: Kiểm soát vị trí hiển thị và nội dung các biểu ngữ quảng cáo tiếp thị.
  • Quản lý đơn đặt hàng: Tiếp nhận đơn hàng do khách gửi trực tuyến, xem thông tin chi tiết để xử lý giao hàng và xóa các đơn hàng đã hoàn tất hoặc đơn hàng ảo.
  • Quản lý khách hàng: Lưu trữ dữ liệu hồ sơ đăng ký thành viên, hỗ trợ đối chiếu thông tin khi giao hàng.
  • Quản lý thông tin liên hệ: Tiếp nhận, xử lý các yêu cầu hỗ trợ, thắc mắc từ khách hàng và xóa dữ liệu liên hệ sau khi đã giải quyết.

Chương 3: Phân tích hệ thống

Nội dung chương 3 tập trung vào hai trục phân tích cốt lõi: chức năng và dữ liệu.

  • Phân tích chức năng: Trình bày sơ đồ phân rã chức năng (FDD) và hệ thống sơ đồ luồng dữ liệu (DFD mức 0, DFD mức 1, DFD mức 2). Đi kèm là các lưu đồ thuật toán và đặc tả chi tiết cho từng nghiệp vụ:
    • Phân hệ khách hàng: Tìm kiếm sản phẩm theo tên/loại (hỗ trợ tiếng Việt có dấu), xem thông tin chi tiết (ảnh lớn, xuất xứ, chất liệu, giá), chọn mua đưa vào giỏ hàng, cập nhật số lượng/xóa sản phẩm trong giỏ hàng, điền form đặt hàng và gửi liên hệ.
    • Phân hệ quản trị: Quản lý admin, cập nhật kho sản phẩm, duyệt và hủy đơn hàng ảo, cập nhật tin tức và phản hồi thư liên hệ.
  • Phân tích dữ liệu: Xác định 11 tập thực thể chính, thiết lập ma trận thực thể khóa để xác định liên kết. Mô hình ERD được xây dựng và chuẩn hóa thành mô hình quan hệ dữ liệu với mối quan hệ 1-n (giữa danh mục sản phẩm và sản phẩm; giữa khách hàng và đơn hàng) và mối quan hệ n-n (giữa sản phẩm và đơn hàng, được giải quyết thông qua bảng trung gian chi tiết đơn hàng tbl_order_detail). Toàn bộ 14 bảng dữ liệu được đặc tả chi tiết về tên trường, kiểu dữ liệu, khóa chính, khóa ngoại và chú thích chức năng.

Chương 4: Thiết kế hệ thống

Chương 4 thể hiện kết quả thiết kế giao diện trực quan của toàn bộ hệ thống phần mềm, bao gồm hai phân hệ:

  • Giao diện người dùng (Front-end):
    • Giao diện Trang chủ: Bố cục hiển thị banner quảng cáo, sản phẩm mới, sản phẩm bán chạy và danh mục điều hướng.
    • Giao diện Giỏ hàng: Bảng thống kê sản phẩm đã chọn, số lượng, đơn giá và tổng thành tiền.
    • Giao diện Trang giới thiệu và Trang tin tức: Trình bày nội dung giới thiệu doanh nghiệp và các bài viết công nghệ.
    • Giao diện Danh sách sản phẩm và Chi tiết sản phẩm: Cung cấp bộ lọc, hình ảnh sản phẩm kích thước lớn, thông số chi tiết và nút "Chọn mua".
    • Giao diện Form đăng ký và Đăng nhập: Biểu mẫu nhập liệu thông tin khách hàng phục vụ xác thực tài khoản.
  • Giao diện trang quản trị (Back-end):
    • Giao diện Bảng điều khiển quản trị: Cung cấp thanh điều hướng quản lý toàn bộ hệ thống.
    • Giao diện Danh sách đơn hàng: Hiển thị mã đơn, ngày đặt, tên khách hàng và tổng tiền.
    • Giao diện Quản trị khách hàng, Quản trị tin tức và Quản trị sản phẩm: Danh sách bảng dữ liệu kèm các nút chức năng Thêm, Sửa, Xóa tương ứng.

Chương 5: Cài đặt hệ thống

Chương 5 hướng dẫn chi tiết quy trình cài đặt và cấu hình phần mềm trên môi trường máy chủ cục bộ (Localhost). Tác giả so sánh hai phương thức triển khai (máy chủ Web Hosting trả phí và máy chủ ảo Localhost miễn phí), từ đó lựa chọn Localhost để phục vụ mục tiêu học tập và thử nghiệm. Chương này cung cấp các bước thực hành từng bước từ cài đặt phần mềm XAMPP, khởi động dịch vụ Apache/MySQL, tạo cơ sở dữ liệu db_project trên phpMyAdmin, nhập dữ liệu từ file SQL, chuyển mã nguồn vào thư mục htdocs và chạy thử nghiệm website trên trình duyệt qua đường dẫn http://localhost/bandienmay/.


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

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

  • Xây dựng thành công hệ thống phần mềm quản lý bán thiết bị điện tử với đầy đủ các phân hệ chức năng cơ bản của một website thương mại điện tử.
  • Hoàn thiện module quản trị nội dung (CMS) cho phép quản trị viên cập nhật thông tin sản phẩm, quản lý danh mục, tin tức, banner và tiếp nhận thông tin phản hồi của khách hàng.
  • Thiết lập tính năng tìm kiếm sản phẩm cho phép người dùng tìm kiếm bằng tiếng Việt có dấu và bộ công cụ sắp xếp danh sách sản phẩm theo giá bán.
  • Hệ thống hóa đầy đủ hồ sơ phân tích thiết kế phần mềm theo phương pháp cấu trúc, bao gồm biểu đồ FDD, sơ đồ DFD từ mức 0 đến mức 2, sơ đồ ERD và đặc tả chi tiết 14 bảng cơ sở dữ liệu quan hệ.

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

  • Cung cấp tài liệu tham khảo hoàn chỉnh về quy trình phân tích và thiết kế một ứng dụng web thương mại điện tử cơ bản bằng mô hình cấu trúc truyền thống.
  • Làm sáng tỏ các bước xây dựng mô hình dữ liệu quan hệ từ bài toán thực tế đến việc ánh xạ sang cơ sở dữ liệu MySQL và lập trình giao diện người dùng bằng PHP.

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

Hạn chế của hệ thống

  • Hệ thống mới chỉ đáp ứng các nghiệp vụ bán hàng cơ bản, chưa xử lý được các bài toán phức tạp trong thương mại điện tử quy mô lớn.
  • Chưa tích hợp cổng thanh toán trực tuyến tự động (như thẻ ngân hàng, ví điện tử); quy trình đặt hàng chủ yếu dừng lại ở bước lưu thông tin đơn hàng và xác nhận thủ công qua điện thoại.
  • Giao diện trang quản trị còn ở mức độ cơ bản, chưa tối ưu hóa cao cho các tác vụ quản trị hàng loạt.

Hướng phát triển trong tương lai

  • Tích hợp cổng thanh toán trực tuyến tự động nhằm hoàn thiện chu trình mua bán khép kín trên website.
  • Nâng cấp và hoàn thiện giao diện người dùng, tăng tính trực quan, thân thiện và nâng cao trải nghiệm đặt hàng của khách hàng.
  • Tối ưu hóa phân hệ quản trị, bổ sung các chức năng thống kê doanh thu, báo cáo bán hàng tự động để hỗ trợ người quản trị vận hành hiệu quả hơn.

Giá trị tham khảo

Báo cáo môn học này mang lại giá trị học thuật và thực hành rõ nét cho sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm:

  • Tài liệu học tập chuyên ngành: Hữu ích cho sinh viên khi làm bài tập lớn hoặc đồ án các môn học như Công nghệ phần mềm, Phân tích thiết kế hệ thống thông tin, Lập trình Web với PHP/MySQL.
  • Mẫu phân tích thiết kế chuẩn mực: Cung cấp phương pháp chi tiết về cách xây dựng sơ đồ phân rã chức năng (FDD), sơ đồ luồng dữ liệu (DFD các mức), ma trận thực thể khóa và đặc tả bảng cơ sở dữ liệu quan hệ cho bài toán thương mại điện tử.
  • Tài liệu hướng dẫn triển khai: Hướng dẫn chi tiết, rõ ràng từng bước thiết lập môi trường máy chủ cục bộ với XAMPP, quản lý cơ sở dữ liệu MySQL qua phpMyAdmin và cấu hình mã nguồn web.

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

1. Đề tài sử dụng công nghệ và công cụ gì để xây dựng và triển khai hệ thống? Hệ thống được phát triển dựa trên ngôn ngữ lập trình PHP và hệ quản trị cơ sở dữ liệu MySQL. Môi trường triển khai thử nghiệm sử dụng gói phần mềm máy chủ cục bộ XAMPP (tích hợp Apache Web Server, MySQL và phpMyAdmin).

2. Cơ sở dữ liệu của phần mềm gồm bao nhiêu bảng và giải quyết mối quan hệ nhiều - nhiều (n-n) như thế nào? Cơ sở dữ liệu của hệ thống gồm 14 bảng chính (như tbl_product, tbl_group_product, tbl_order, tbl_customer, tbl_user, v.v.). Mối quan hệ nhiều - nhiều (n-n) giữa bảng sản phẩm (tbl_product) và bảng đơn hàng (tbl_order) được chuẩn hóa và giải quyết thông qua bảng trung gian chi tiết đơn hàng tbl_order_detail.

3. Quy trình xử lý đơn đặt hàng của khách hàng trên hệ thống diễn ra như thế nào? Khách hàng chọn sản phẩm vào giỏ hàng, cập nhật số lượng và điền thông tin cá nhân vào biểu mẫu đặt hàng. Hệ thống kiểm tra tính hợp lệ của dữ liệu rồi lưu đơn hàng vào bảng tbl_order và tbl_order_detail. Quản trị viên truy cập trang quản trị để xem chi tiết đơn hàng, liên hệ xác nhận với khách hàng để giao hàng, kiểm tra hủy đơn hàng ảo và xóa thông tin các đơn hàng đã xử lý xong.

4. Tính năng tìm kiếm sản phẩm trên website có đặc điểm gì nổi bật? Tính năng tìm kiếm sản phẩm được tích hợp tại ô tìm kiếm trên giao diện, hỗ trợ người dùng tra cứu sản phẩm theo tên hoặc danh mục, đặc biệt có khả năng nhận diện và xử lý từ khóa tìm kiếm bằng tiếng Việt có dấu, đồng thời hỗ trợ sắp xếp kết quả theo giá bán.


Kết luận

Báo cáo môn học "Xây dựng phần mềm quản lý bán thiết bị điện tử" của tác giả Nguyễn Văn Doanh đã hoàn thành mục tiêu xây dựng một website bán hàng và quản lý thương mại điện tử cơ bản. Đề tài trình bày đầy đủ các giai đoạn phát triển phần mềm theo phương pháp phân tích thiết kế hướng cấu trúc, từ khảo sát hiện trạng, mô hình hóa luồng dữ liệu DFD, thiết kế ERD đến đặc tả chi tiết cơ sở dữ liệu và xây dựng giao diện. Mặc dù hệ thống còn hạn chế về mặt thanh toán trực tuyến tự động, sản phẩm đã đáp ứng tốt yêu cầu học phần và là tài liệu tham khảo có giá trị cho sinh viên ngành Công nghệ thông tin.