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

Trong bối cảnh chuyển đổi số và sự phát triển của công nghệ thông tin, việc xây dựng sự hiện diện trực tuyến đóng vai trò quan trọng đối với hoạt động truyền thông và phát triển của doanh nghiệp. Trang web tin tức doanh nghiệp không chỉ là kênh xuất bản các tin tức, sự kiện và giới thiệu sản phẩm dịch vụ, mà còn là công cụ xây dựng hình ảnh thương hiệu, truyền tải triết lý kinh doanh và thiết lập mối quan hệ tương tác với khách hàng, đối tác và nhà đầu tư. Tác giả Đường Ngọc Hà thực hiện đồ án tốt nghiệp với đề tài "Xây dựng website tin tức cho doanh nghiệp" nhằm nghiên cứu quy trình công nghệ, phân tích thiết kế và hiện thực hóa một hệ thống quản trị nội dung tin tức đáp ứng yêu cầu vận hành thực tế.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định theo văn bản:

  1. Nghiên cứu tổng quan về quy trình xây dựng và quản trị trang web tin tức cho doanh nghiệp trên các phương diện kỹ thuật, thiết kế giao diện, tổ chức nội dung và quản lý thông tin.
  2. Khảo sát và lựa chọn công nghệ phát triển web phù hợp (ngôn ngữ PHP, hệ quản trị cơ sở dữ liệu MySQL, framework Laravel theo mô hình MVC) nhằm tối ưu hóa trải nghiệm người dùng và hiệu quả quản trị.
  3. Phân tích yêu cầu nghiệp vụ từ phía doanh nghiệp, người dùng và đề tài; xây dựng các mô hình phân tích chức năng và luồng dữ liệu (Use case, biểu đồ tuần tự, biểu đồ hoạt động).
  4. Thiết kế cơ sở dữ liệu quan hệ và lập trình hoàn thiện giao diện cũng như các module chức năng của website tin tức.

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

  • Đối tượng nghiên cứu: Quy trình kỹ thuật và nghiệp vụ xây dựng hệ thống website tin tức dành cho doanh nghiệp (đặc biệt là nhóm doanh nghiệp vừa và nhỏ, doanh nghiệp khởi nghiệp); các đối tượng tương tác với hệ thống bao gồm: khách hàng hiện tại, khách hàng tiềm năng, đối tác kinh doanh, nhà đầu tư, nhân viên nội bộ, cộng đồng độc giả và đội ngũ truyền thông - tiếp thị.
  • Phạm vi nội dung: Tập trung vào các quy trình xây dựng, quản trị và tối ưu hóa nội dung tin tức (tạo bài viết, phân loại danh mục, xuất bản, kiểm duyệt bình luận, cấu hình hệ thống và thống kê lượt xem). Đề tài giới hạn không nghiên cứu và không phát triển các phân hệ thương mại điện tử chuyên sâu (như gian hàng trực tuyến hay cổng thanh toán điện tử).
  • Phạm vi không gian: Khảo sát và ứng dụng thực nghiệm hệ thống dựa trên trường hợp cụ thể là Tập đoàn Phenikaa, đồng thời định hướng khả năng áp dụng cho các doanh nghiệp thuộc các ngành nghề khác.
  • Phạm vi thời gian: Đồ án được triển khai trong chương trình đào tạo khóa 2019 – 2023 ngành Công nghệ thông tin Việt Nhật tại Trường Đại học Phenikaa, hoàn thành nghiệm thu vào tháng 09 năm 2023.

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

Đồ án ứng dụng các khái niệm kỹ thuật phần mềm, mô hình kiến trúc và công nghệ lập trình web mã nguồn mở tiêu chuẩn:

  • Mô hình kiến trúc MVC (Model - View - Controller): Tách biệt hệ thống thành ba thành phần độc lập: Model (quản lý cấu trúc dữ liệu, truy vấn và logic nghiệp vụ), View (kết xuất giao diện người dùng và nhận tương tác), Controller (tiếp nhận yêu cầu HTTP từ View, điều phối xử lý logic thông qua Model và trả về kết quả hiển thị).
  • Ngôn ngữ lập trình PHP (Hypertext Preprocessor): Ngôn ngữ kịch bản thực thi phía máy chủ (server-side), tương thích đa nền tảng (Windows, Linux, macOS), hỗ trợ tạo trang web động và tích hợp sẵn các cơ chế bảo mật (kiểm tra dữ liệu đầu vào, phòng chống SQL Injection, Cross-Site Scripting).
  • Hệ quản trị cơ sở dữ liệu MySQL: Hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS), hoạt động theo mô hình client/server, cung cấp khả năng lưu trữ bảng dữ liệu có cấu trúc, tối ưu hóa truy vấn bằng chỉ mục, bộ nhớ đệm và thiết lập cơ chế phân quyền bảo mật.
  • PHP Framework Laravel: Khung phát triển web hiện đại hỗ trợ mô hình MVC, cung cấp hệ thống định tuyến (routing), công cụ ánh xạ quan hệ đối tượng Eloquent ORM, công cụ kết xuất giao diện Blade Template Engine, cơ chế quản lý phiên (session) và bảo mật tích hợp.
  • Hạ tầng mạng và lưu trữ: Áp dụng các nguyên lý về Hosting (máy chủ lưu trữ mã nguồn, tệp tin và cơ sở dữ liệu) cùng Domain (tên miền định danh địa chỉ truy cập trên Internet).

Phương pháp nghiên cứu thực tế bao gồm phương pháp phân tích - tổng hợp tài liệu chuyên ngành; phương pháp phân tích và thiết kế hệ thống hướng đối tượng thông qua ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng biểu đồ phân rã chức năng, biểu đồ Use Case, biểu đồ tuần tự (Sequence Diagram), biểu đồ hoạt động (Activity Diagram); và phương pháp mô hình hóa dữ liệu quan hệ để thiết kế lược đồ cơ sở dữ liệu. Nguồn dữ liệu kiểm thử được tác giả thu thập và biên tập dựa trên thông tin thực tế của Tập đoàn Phenikaa.

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

Hệ thống được thiết kế dành cho hai tác nhân chính là Người dùng (User) và Quản trị viên (Admin), vận hành với 7 phân hệ chức năng và 9 bảng cơ sở dữ liệu quan hệ.

Phân hệ chức năng Người dùng (User) Quản trị viên (Admin) Chức năng hệ thống tự động
Quản lý danh mục Xem danh mục tin tức trên thanh điều hướng Thêm mới, cập nhật, tìm kiếm, xóa danh mục Hiển thị menu danh mục phân cấp
Quản lý bài viết Đọc bài viết theo danh mục, xem bài mới nhất Đăng bài, sửa nội dung, xóa, đổi trạng thái (công khai/riêng tư), tìm kiếm Đếm và cập nhật lượt xem, phân trang nội dung
Quản lý tài khoản Đăng ký, đăng nhập, đổi mật khẩu, quên mật khẩu Tìm kiếm tài khoản, cấp quyền hạn, khóa/mở khóa trạng thái hoạt động Xác thực tài khoản, mã hóa mật khẩu, kiểm tra phiên đăng nhập
Quản lý chức vụ Kế thừa quyền theo vai trò được gán Tạo mới, cập nhật tên và quyền hạn, xóa chức vụ Phân định ranh giới truy cập chức năng
Tương tác & Bình luận Gửi bình luận vào bài viết (cần đăng nhập) Theo dõi lịch sử, kiểm duyệt, xóa bình luận sai phạm Liên kết bình luận và phản hồi vào bài viết
Cấu hình hệ thống Không có quyền truy cập Cập nhật tên website, từ khóa tìm kiếm (SEO), mô tả trang web Nạp thông tin cấu hình vào tiêu đề và giao diện chung
Thống kê báo cáo Không có quyền truy cập Xem biểu đồ và số liệu thống kê lượt xem, bài viết, tài khoản Tổng hợp dữ liệu hiển thị trên bảng điều khiển

Cơ sở dữ liệu của hệ thống được xây dựng trên MySQL gồm 9 bảng dữ liệu được chuẩn hóa:

Tên bảng CSDL Tên bảng tiếng Việt Mục đích lưu trữ và vai trò kỹ thuật
users Bảng người dùng Lưu trữ thông tin tài khoản người dùng và quản trị viên, email, mật khẩu mã hóa
personal_access_tokens Bảng mã thông báo Quản lý token xác thực phục vụ kiểm soát truy cập và bảo mật phiên
roles Bảng vai trò/chức vụ Định nghĩa các nhóm quyền và chức vụ trong hệ thống (Admin, User...)
categories Bảng quản lý danh mục Quản lý danh mục bài viết, slug URL và trạng thái hiển thị
posts Bảng quản lý bài viết Lưu trữ tiêu đề, nội dung bài viết, ảnh đại diện, danh mục, trạng thái (công khai/riêng tư)
comments Bảng quản lý bình luận Ghi nhận nội dung bình luận của người dùng tương ứng với từng bài viết
replies Bảng quản lý phản hồi Quản lý các phản hồi trả lời cho bình luận của người dùng
views Bảng quản lý lượt xem Ghi nhận số lượt xem chi tiết của từng bài viết theo thời gian
configs Bảng cấu hình hệ thống Lưu trữ tham số thiết lập chung (tên website, từ khóa tìm kiếm, mô tả trang)

Về quy trình xử lý, hệ thống triển khai các luồng hoạt động chính:

  • Xác thực người dùng: Kiểm tra định dạng dữ liệu đầu vào tại biểu mẫu đăng ký, so khớp email và mật khẩu tại biểu mẫu đăng nhập, xử lý luồng rẽ nhánh khi phát hiện thông tin không hợp lệ, cấp mã code để xác nhận trong trường hợp quên mật khẩu.
  • Biên tập và xuất bản bài viết: Quản trị viên nhập nội dung qua trình soạn thảo, gắn ảnh đại diện, phân loại vào danh mục và thiết lập trạng thái xuất bản (công khai hoặc riêng tư).
  • Giao diện người dùng: Xây dựng thông qua Blade Engine gồm 10 giao diện chính: Trang chủ hiển thị tin nổi bật và bài viết mới; trang đăng ký và đăng nhập; trang quản trị tổng quan; các màn hình quản lý danh mục, bài viết, tài khoản, chức vụ, cấu hình hệ thống; trang lịch sử bình luận; và trang báo cáo thống kê.

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

Mở đầu

Tác giả giới thiệu bối cảnh bùng nổ của truyền thông số, khẳng định trang web tin tức là công cụ quan trọng hỗ trợ doanh nghiệp xây dựng thương hiệu và duy trì liên lạc với công chúng. Văn bản xác định lý do chọn đề tài "Xây dựng website tin tức cho doanh nghiệp", đề ra mục tiêu làm chủ quy trình phân tích và xây dựng hệ thống web trên nền tảng PHP/Laravel/MySQL. Phần này cũng phân định rõ ràng đối tượng nghiên cứu (doanh nghiệp vừa, nhỏ và startup; các nhóm người dùng), phạm vi giới hạn về nội dung (chỉ tập trung vào quản trị tin tức, loại trừ thương mại điện tử), phạm vi không gian (lấy Tập đoàn Phenikaa làm điển hình) và thời gian thực hiện đồ án.

Chương 1: Tổng quan

Chương 1 cung cấp nền tảng kiến thức tổng quan về doanh nghiệp, định nghĩa và chức năng của website tin tức doanh nghiệp đối với tổ chức (tạo dựng thương hiệu, cập nhật thông tin, tối ưu hóa công cụ tìm kiếm SEO, quản trị nội dung dễ dàng) và đối với độc giả (tiếp cận thông tin chính thống, tương tác bình luận, tìm kiếm nội dung). Tác giả phân tích các yếu tố cốt lõi để xây dựng một website thành công (xác định mục tiêu, nghiên cứu đối tượng, tối ưu giao diện và tương thích đa thiết bị, kiểm thử sửa lỗi). Đặc biệt, chương này luận giải lợi ích của việc tự thiết kế hệ thống từ đầu nhằm đạt mức độ tùy biến tối đa, độc lập công nghệ, đảm bảo an toàn bảo mật, tránh mã độc từ bên thứ ba và tối ưu hóa chi phí dài hạn. Cuối chương giới thiệu chi tiết đặc tính kỹ thuật của ngôn ngữ PHP, hệ quản trị MySQL, mô hình kiến trúc ba lớp MVC, framework Laravel (với Blade, Eloquent ORM, Routing) và vai trò của hạ tầng Hosting/Domain.

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

Chương 2 là nội dung kỹ thuật trọng tâm của đồ án, bắt đầu bằng việc phân tích 4 nhóm yêu cầu nghiệp vụ: yêu cầu doanh nghiệp, yêu cầu người dùng, yêu cầu hệ thống và yêu cầu của đề tài. Tác giả xác định hai tác nhân (User, Admin), xây dựng sơ đồ phân rã chức năng gồm 7 nhánh chính và lược đồ Use Case tổng quan. Nội dung chương trình bày chi tiết 8 bảng đặc tả Use Case kèm luồng sự kiện chính và luồng sự kiện rẽ nhánh (Đăng ký/đăng nhập, Quản lý danh mục, Quản lý bài viết, Quản lý tài khoản, Quản lý chức vụ, Quên mật khẩu, Đổi mật khẩu, Thống kê). Tác giả mô hình hóa hành vi hệ thống thông qua 7 biểu đồ tuần tự và 8 biểu đồ hoạt động tương ứng. Cuối chương, tác giả thiết lập biểu đồ quan hệ cơ sở dữ liệu và đặc tả cấu trúc của 9 bảng thực thể (Users, Personal_access_tokens, Roles, Categories, Comments, Configs, Posts, Replies, Views).

Chương 3: Phát triển website

Chương 3 trình bày kết quả hiện thực hóa hệ thống thành các màn hình giao diện cụ thể. Giao diện được thiết kế gồm hai phân khu: phân khu công cộng dành cho người dùng và phân khu quản trị nghiệp vụ dành cho Admin. Tác giả mô tả chi tiết bố cục, chức năng của 10 màn hình giao diện tiêu biểu bao gồm:

  1. Giao diện trang chủ (thanh điều hướng, banner thông tin, khối bài viết mới nhất, phân loại danh mục, thanh tìm kiếm).
  2. Giao diện trang đăng ký và trang đăng nhập.
  3. Giao diện bảng điều khiển quản trị chung (Dashboard).
  4. Giao diện quản lý danh mục (danh sách danh mục, chức năng thêm/sửa/xóa).
  5. Giao diện quản lý bài viết (bảng dữ liệu tin tức, công cụ lọc trạng thái, bộ soạn thảo bài đăng).
  6. Giao diện quản lý tài khoản (danh sách người dùng, chức năng khóa tài khoản).
  7. Giao diện quản lý chức vụ và phân quyền vai trò.
  8. Giao diện cấu hình hệ thống (thiết lập từ khóa SEO, tên website, mô tả trang).
  9. Giao diện quản lý lịch sử bình luận và phản hồi của độc giả.
  10. Giao diện báo cáo thống kê lượt xem và dữ liệu hệ thống.

Chương 4: Kết luận và hướng phát triển

Chương cuối tổng kết lại các mục tiêu đã hoàn thành của đồ án. Tác giả khẳng định đã xây dựng thành công một website tin tức hoàn chỉnh cho doanh nghiệp đáp ứng đầy đủ các yêu cầu kỹ thuật và nghiệp vụ đã phân tích. Đồng thời, tác giả đưa ra các định hướng mở rộng đề tài trong tương lai nhằm nâng cao chất lượng và quy mô ứng dụng của hệ thống.

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

Về kết quả kỹ thuật và sản phẩm ứng dụng:

  • Xây dựng thành công ứng dụng web tin tức doanh nghiệp hoàn chỉnh dựa trên ngôn ngữ PHP, hệ quản trị MySQL và Laravel Framework, tuân thủ đúng mô hình MVC.
  • Hoàn thành bộ hồ sơ thiết kế kỹ thuật phần mềm chi tiết: 1 sơ đồ phân rã chức năng, 1 lược đồ Use Case tổng quan, 8 bảng đặc tả Use Case chi tiết, 7 biểu đồ tuần tự, 8 biểu đồ hoạt động và 1 lược đồ cơ sở dữ liệu quan hệ chuẩn hóa gồm 9 bảng.
  • Triển khai đầy đủ 10 màn hình giao diện phục vụ các chức năng người dùng (đọc tin, tìm kiếm, đăng ký, đăng nhập, bình luận) và nghiệp vụ quản trị (quản lý danh mục, bài viết, phân quyền tài khoản, cấu hình hệ thống và thống kê).

Về giải pháp và đóng góp tác giả tự nêu:

  • Đưa ra giải pháp xây dựng hệ thống website tin tức độc lập từ những bước đầu tiên (from scratch) thay vì dựa vào các hệ quản trị nội dung dựng sẵn (CMS bên thứ ba như WordPress hay Joomla).
  • Chứng minh khả năng kiểm soát toàn bộ mã nguồn giúp loại bỏ nguy cơ mã độc tiềm ẩn, nâng cao tính bảo mật dữ liệu nội bộ của doanh nghiệp.
  • Cung cấp một mô hình ứng dụng mẫu được thiết kế riêng cho trường hợp doanh nghiệp thực tế (Tập đoàn Phenikaa), có thể tái sử dụng cấu trúc kỹ thuật cho các doanh nghiệp vừa và nhỏ khác để tối ưu hóa chi phí vận hành công nghệ thông tin trong dài hạn.

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

Hạn chế của đề tài theo phạm vi xác định trong văn bản:

  • Hệ thống tập trung thuần túy vào nghiệp vụ tin tức, truyền thông và tương tác bài viết, chưa tích hợp các phân hệ thương mại điện tử, xử lý đơn hàng hay các cổng thanh toán trực tuyến.
  • Dữ liệu thực nghiệm mới được triển khai lấy ví dụ khảo sát trên một trường hợp doanh nghiệp cụ thể (Tập đoàn Phenikaa), chưa tiến hành đánh giá thực tế trên môi trường sản xuất (production) với lưu lượng truy cập lớn của nhiều doanh nghiệp thuộc các ngành nghề khác nhau.

Hướng phát triển tiếp theo được tác giả đề xuất:

  • Tiếp tục nghiên cứu và nâng cấp các biện pháp an ninh, bảo mật cơ sở dữ liệu và phòng chống các nguy cơ tấn công mạng phức tạp.
  • Phát triển và bổ sung thêm các tính năng nâng cao phục vụ hoạt động truyền thông số của doanh nghiệp, tối ưu hóa hơn nữa trải nghiệm người dùng trên các thiết bị di động.
  • Mở rộng phạm vi triển khai thực tế trên các nền tảng máy chủ trực tuyến (cloud hosting/VPS) để kiểm thử hiệu năng và khả năng chịu tải của hệ thống.

Giá trị tham khảo

Tài liệu đồ án có giá trị tham khảo thiết thực cho các đối tượng:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Là tài liệu tham khảo có cấu trúc mẫu mực về việc thực hiện đồ án tốt nghiệp phát triển phần mềm web sử dụng ngôn ngữ PHP và Laravel Framework.
  • Lập trình viên và người nghiên cứu phát triển web: Cung cấp tài liệu quy chuẩn về phân tích thiết kế hệ thống theo UML cho bài toán quản trị nội dung (CMS).

Phần nội dung có giá trị tham khảo cao nhất:

  • Chương 2 (Phân tích hệ thống): Cung cấp hệ thống bảng đặc tả Use Case chi tiết với đầy đủ luồng sự kiện chính, luồng rẽ nhánh và các biểu đồ tương tác tuần tự, biểu đồ hoạt động.
  • Thiết kế cơ sở dữ liệu quan hệ (9 bảng): Mô hình hóa cấu trúc quan hệ giữa bài viết, danh mục, bình luận, phản hồi, lượt xem và phân quyền tài khoản, có thể áp dụng trực tiếp cho các dự án xây dựng trang tin tức hoặc blog doanh nghiệp.

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

1. Đồ án lựa chọn doanh nghiệp nào để làm mô hình thực nghiệm và phạm vi nội dung được giới hạn ra sao? Hệ thống website tin tức trong đồ án được xây dựng lấy ví dụ thực nghiệm cụ thể cho Tập đoàn Phenikaa. Phạm vi nghiên cứu nội dung tập trung vào việc tạo lập, quản lý, phân loại và xuất bản tin tức, bài viết, hình ảnh cùng các tương tác bình luận; đề tài giới hạn rõ ràng không bao gồm việc phát triển các chức năng thương mại điện tử hay cổng thanh toán trực tuyến.

2. Ngăn xếp công nghệ (tech stack) và mô hình kiến trúc của hệ thống gồm những thành phần nào? Hệ thống được phát triển theo mô hình kiến trúc MVC (Model - View - Controller), sử dụng ngôn ngữ lập trình PHP phía máy chủ, framework Laravel (với Eloquent ORM và Blade Template Engine) và hệ quản trị cơ sở dữ liệu quan hệ MySQL.

3. Cơ sở dữ liệu của website gồm những bảng nào và đảm nhận vai trò gì? Cơ sở dữ liệu của hệ thống gồm 9 bảng: users (thông tin người dùng và quản trị viên), personal_access_tokens (quản lý token bảo mật), roles (chức vụ, quyền hạn), categories (danh mục tin tức), posts (nội dung bài viết), comments (bình luận), replies (phản hồi bình luận), views (thống kê lượt xem) và configs (cấu hình hệ thống).

4. Phân hệ quản trị (Admin) cung cấp những quyền hạn nghiệp vụ cụ thể nào? Quản trị viên có toàn quyền thao tác thêm, cập nhật, xóa, tìm kiếm danh mục tin tức; quản lý bài viết (đổi trạng thái công khai hoặc riêng tư); quản lý tài khoản người dùng (cấp quyền, kích hoạt hoặc khóa tài khoản); quản lý và định nghĩa chức vụ; quản lý cấu hình chung (tên trang, mô tả, từ khóa SEO); theo dõi, kiểm duyệt lịch sử bình luận và xem biểu đồ thống kê hệ thống.

5. Tác giả chỉ ra những ưu điểm nổi bật nào khi tự phát triển website từ đầu thay vì dùng nền tảng có sẵn? Theo tác giả, việc tự thiết kế và lập trình website mang lại 6 lợi ích cốt lõi: khả năng tùy chỉnh tối đa theo yêu cầu kinh doanh, kiểm soát mã nguồn độc lập không phụ thuộc bên thứ ba, nâng cao an toàn bảo mật, tối ưu hóa tốc độ và hiệu suất hệ thống, loại trừ rủi ro mã độc cài cắm và tối ưu hóa chi phí duy trì, vận hành dài hạn.

Kết luận

Đồ án tốt nghiệp "Xây dựng website tin tức cho doanh nghiệp" của sinh viên Đường Ngọc Hà đã giải quyết trọn vẹn bài toán xây dựng một hệ thống quản trị nội dung tin tức hoàn chỉnh phục vụ nhu cầu truyền thông của doanh nghiệp. Thông qua việc áp dụng chuẩn mực mô hình kiến trúc MVC trên nền tảng PHP, Laravel và cơ sở dữ liệu MySQL, tác giả đã hoàn thành từ khâu khảo sát yêu cầu, mô hình hóa hệ thống bằng UML, thiết kế 9 bảng dữ liệu đến lập trình 10 giao diện chức năng. Công trình thể hiện tính khoa học trong phương pháp phân tích kỹ thuật phần mềm và mang lại giá trị ứng dụng thực tiễn cao cho các bài toán phát triển cổng thông tin doanh nghiệp.