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

Trong công tác quản lý nhà nước về kinh tế - xã hội nói chung và lĩnh vực Thông tin và Truyền thông (TTTT) nói riêng, hệ thống chỉ tiêu thống kê đóng vai trò then chốt trong việc lập kế hoạch, đánh giá hiệu quả hoạt động, điều hành và hoạch định chiến lược phát triển. Tại Việt Nam, hệ thống cơ sở dữ liệu quốc gia về chỉ tiêu chuyên ngành TTTT ở cấp địa phương còn nhiều hạn chế, phương thức tổng hợp dữ liệu truyền thống còn thủ công, tốn kém thời gian và chi phí.

Đề tài "Hệ thống chỉ tiêu ngành Thông tin và Truyền thông tỉnh Bắc Giang trên nền tảng mã nguồn mở Drupal" được thực hiện xuất phát từ yêu cầu thực tiễn của Sở Thông tin và Truyền thông tỉnh Bắc Giang (thuộc đề tài cấp Cơ sở của Sở) nhằm hiện đại hóa quy trình thu thập, tổng hợp và báo cáo dữ liệu chuyên ngành.

Mục tiêu nghiên cứu

  1. Xây dựng ứng dụng web trên môi trường Internet cho phép quản lý, cập nhật và tra cứu hệ thống chỉ tiêu ngành TTTT theo tài khoản phân quyền.
  2. Thiết lập cơ chế khai báo linh hoạt cho danh mục chỉ tiêu với số cấp (mức phân cấp) tùy ý; hỗ trợ quản lý số liệu theo các kỳ báo cáo (tháng, quý, năm) và loại báo cáo (định kỳ, đột xuất).
  3. Quản lý phân quyền chặt chẽ cho các nhóm người dùng: quản trị hệ thống, quản trị viên cấp dưới, và cán bộ đầu mối tại các đơn vị báo cáo.
  4. Cung cấp giao diện trực quan phục vụ tra cứu thông tin theo từ khóa, tìm kiếm tổng hợp đa tiêu chí, in ấn và xuất dữ liệu báo cáo.

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

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ báo cáo, tổng hợp chỉ tiêu chuyên ngành TTTT (Bưu chính, Viễn thông, Công nghệ thông tin, Báo chí - Xuất bản) và nền tảng quản trị nội dung mã nguồn mở Drupal.
  • Không gian nghiên cứu: Địa bàn tỉnh Bắc Giang, áp dụng cho cơ quan quản lý chuyên ngành (Sở TTTT), các cơ quan hành chính trực thuộc và các doanh nghiệp hoạt động trên địa bàn.
  • Thời gian thực hiện: Đồ án được triển khai từ tháng 05/2010 đến tháng 07/2010.
  • Phạm vi hạ tầng và triển khai:
    • Phạm vi đơn vị: 10 Ủy ban nhân dân huyện/thành phố và 04 doanh nghiệp viễn thông, CNTT trên địa bàn (tiêu biểu như VNPT, Viettel).
    • Hạ tầng mạng và máy chủ: Triển khai trên máy chủ kết nối Internet, hệ điều hành Windows/Linux, web server Apache, cơ sở dữ liệu MySQL, ngôn ngữ lập trình PHP, định hướng lưu trữ với tên miền chitieutttt.com.
    • Nhân sự tham gia dự án: 02 kỹ sư CNTT (Nguyễn Đức Nam, Nguyễn Thành Kiên) và 01 thực tập viên lập trình (Nguyễn Thị Thu Hương).

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

Khung lý thuyết và công nghệ

Nghiên cứu tập trung vào mô hình Hệ quản trị nội dung mã nguồn mở (CMS) kết hợp kiến trúc hướng thành phần linh hoạt. Tác giả tiến hành phân tích, so sánh các giải pháp công nghệ phổ biến để lựa chọn nền tảng tối ưu cho bài toán:

Tiêu chí so sánh Nền tảng .NET Nền tảng Java CMS Joomla! Nền tảng Drupal
Khả năng xây dựng CMS Tốt Tốt Tốt Tốt
Khả năng xây dựng Web App Rất tốt Rất tốt Kém Rất tốt
Tốc độ phát triển ứng dụng Cần môi trường IDE Cần môi trường IDE Đơn giản qua module Đơn giản, linh hoạt
Chi phí bản quyền Có phí Miễn phí Miễn phí Miễn phí
Yêu cầu cấu hình máy chủ Cao Trung bình Trung bình Trung bình
Tính an ninh, bảo mật Tốt Rất tốt Tốt Rất tốt
Khả năng tùy biến module Khá Khá Khá Rất tốt

Các khái niệm cốt lõi trong kiến trúc Drupal được ứng dụng:

  • Hook: Cơ chế callback xử lý sự kiện trong nhân Drupal (Drupal Core), cho phép các module can thiệp vào tiến trình xử lý mà không cần sửa đổi mã nguồn gốc.
  • Node: Đơn vị dữ liệu cơ bản kế thừa chung cho mọi kiểu nội dung trong hệ thống.
  • Block: Khối nội dung giao diện có thể bật/tắt và gán vào các khu vực hiển thị (vùng header, sidebar, footer).
  • Module mở rộng: Module CCK (Content Construction Kit) để mở rộng các trường dữ liệu tùy biến cho kiểu chỉ tiêu; Module Views dùng để lọc và kết xuất giao diện dữ liệu; Module Finder hỗ trợ tìm kiếm đa tiêu chí.

Phương pháp nghiên cứu

  • Phương pháp khảo sát nghiệp vụ: Khảo sát thực tế luồng báo cáo thống kê chuyên ngành tại Sở TTTT Bắc Giang và các đơn vị trực thuộc.
  • Phương pháp phân tích và thiết kế có cấu trúc:
    • Xây dựng Sơ đồ phân rã chức năng (BFD - Business Function Diagram).
    • Thiết kế Sơ đồ dòng dữ liệu (DFD - Data Flow Diagram) qua 3 cấp: sơ đồ ngữ cảnh, sơ đồ mức đỉnh, và sơ đồ phân rã mức 1.
    • Thiết kế Cơ sở dữ liệu quan hệ (ERD) và chuẩn hóa cấu trúc các bảng vật lý.
  • Nguồn dữ liệu: Số liệu báo cáo thống kê định kỳ và đột xuất từ các phòng ban, 10 huyện và các doanh nghiệp TTTT trên địa bàn tỉnh Bắc Giang.

Thiết kế và triển khai

Phân tích luồng dữ liệu và phân rã chức năng

Hệ thống xử lý tương tác giữa các tác nhân bên ngoài (Đơn vị báo cáo, Quản trị viên, Người dùng tra cứu) với 6 kho dữ liệu trọng yếu:

  1. Kho dữ liệu chỉ tiêu: Lưu trữ giá trị số liệu (kế hoạch, thực hiện, chính thức).
  2. Kho danh mục chỉ tiêu: Cây phân cấp các chỉ tiêu ngành TTTT.
  3. Kho danh sách đơn vị báo cáo: Thông tin các huyện, sở ngành, doanh nghiệp.
  4. Kho năm báo cáo: Danh mục các năm thống kê.
  5. Kho kỳ báo cáo: Danh mục kỳ thống kê (tháng, quý, 6 tháng, năm).
  6. Kho loại báo cáo: Định kỳ, đột xuất.

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

Hệ thống sử dụng cơ sở dữ liệu MySQL gồm 28 bảng, kết hợp giữa các bảng hệ thống của Drupal Core và bảng dữ liệu tùy biến:

STT Tên bảng Chức năng chính
1 node / node_revisions Quản lý thông tin định danh và lịch sử phiên bản của các thực thể nội dung
2 node_type Định nghĩa các kiểu nội dung trong hệ thống
3 content_type_chitieunganhtttt Bảng dữ liệu nghiệp vụ chính lưu các trường giá trị chỉ tiêu
4 vocabulary / term_data / term_node Quản lý hệ thống phân loại danh mục (Taxonomy) và quan hệ phân cấp
5 users / role / users_roles / permission Quản lý định danh người dùng, vai trò và phân quyền chức năng
6 blocks / blocks_roles Quản lý khối hiển thị giao diện và quyền truy cập khối
7 menu_custom / menu_links Quản lý cấu trúc cây trình đơn
8 finder / finder_element Cấu hình tham số tìm kiếm động
9 search_dataset / search_index / search_total Lưu trữ chỉ mục phục vụ cơ chế tìm kiếm toàn văn
10 views_view / views_display Quản lý cấu hình hiển thị danh sách động

Cấu trúc bảng dữ liệu nghiệp vụ content_type_chitieunganhtttt:

  • vid (int, 10): Khóa chính, mã phiên bản node.
  • nid (int, 10): Khóa ngoại, mã node.
  • field_sokehoach_value (decimal, 10,2): Giá trị chỉ tiêu theo kế hoạch giao.
  • field_sochinhthuc_value (decimal, 10,2): Giá trị chỉ tiêu chính thức được duyệt.
  • field_sothuchien_value (decimal, 10,2): Giá trị số liệu thực tế thực hiện.
  • field_ghichu_value (text): Nội dung ghi chú bổ sung.
  • field_filegan_list (tinyint, 4): Số lượng tệp đính kèm.
  • field_filegan_data (text): Dữ liệu đường dẫn/thuộc tính tệp đính kèm.

Triển khai và cài đặt

  • Môi trường thử nghiệm: Gói phần mềm XAMPP 1.x (tích hợp Apache, MySQL, PHP).
  • Nền tảng lõi: Drupal 6.x.
  • Các module tích hợp: Module Content Construction Kit (CCK), Views, Finder, Quản lý Menu.
  • Quy trình cài đặt: Tạo cơ sở dữ liệu qua phpMyAdmin, thiết lập tệp cấu hình settings.php, cài đặt ngôn ngữ tiếng Việt/tiếng Anh, nhập các module mở rộng, phân quyền theo vai trò và cấu hình khối dữ liệu giao diện.

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

Chương 1 – Mở đầu

Chương này trình bày tính cấp thiết của việc xây dựng hệ thống chỉ tiêu thống kê ứng dụng CNTT trong cơ quan quản lý nhà nước. Tác giả đánh giá bối cảnh quản lý của Sở TTTT Bắc Giang đối với các lĩnh vực Bưu chính, Viễn thông, CNTT, Báo chí - Xuất bản; so sánh hiện trạng ứng dụng thống kê trên thế giới (STAT-USA) và tại Việt Nam (Tổng cục Thống kê). Chương 1 cũng trình bày chi tiết báo cáo tính khả thi về công nghệ, tài chính, cơ sở hạ tầng, nhân lực, đồng thời xác lập bảng kế hoạch tiến độ dự án từ tháng 5 đến tháng 7/2010.

Chương 2 – Giới thiệu công nghệ sử dụng

Nội dung chương 2 tập trung vào việc đánh giá, đối chuẩn kỹ thuật giữa các giải pháp phát triển web (.NET, Java, Joomla!, Drupal, SharePoint, Oracle Portal). Tác giả phân tích nguồn gốc, kiến trúc module, cơ chế Hook, Node, Block của Drupal; phân tích các tính năng của máy chủ web Apache, các cải tiến trong PHP 5 (như Zend Engine 2, PDO), chuẩn bị cho PHP 6, và các đặc tính kỹ thuật của hệ quản trị cơ sở dữ liệu MySQL.

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

Chương 3 chi tiết hóa các yêu cầu chức năng nghiệp vụ của hệ thống chỉ tiêu bao gồm:

  • Phân hệ quản trị hệ thống (quản lý người dùng, tài khoản quản trị, phân quyền theo vai trò, quản lý kiểu dữ liệu).
  • Phân hệ quản lý danh mục (đơn vị báo cáo, cây danh mục chỉ tiêu, năm báo cáo, loại báo cáo).
  • Phân hệ quản lý thông tin chỉ tiêu (tạo mới, cập nhật, xóa, duyệt hiển thị).
  • Phân hệ tổng hợp và quản lý báo cáo.
  • Phân hệ tra cứu và tìm kiếm thông tin (theo từ khóa và tìm kiếm tổng hợp kết hợp nhiều điều kiện). Toàn bộ quy trình được chuẩn hóa qua hệ thống sơ đồ chức năng (BFD) và các sơ đồ dòng dữ liệu (DFD) mức ngữ cảnh, mức đỉnh và mức dưới đỉnh.

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

Chương 4 cung cấp bản thiết kế kỹ thuật hoàn chỉnh gồm:

  • Thiết kế cơ sở dữ liệu: Lược đồ quan hệ thực thể (ERD) và đặc tả chi tiết 28 bảng dữ liệu với đầy đủ tên trường, kiểu dữ liệu, kích thước byte và ý nghĩa nghiệp vụ.
  • Thiết kế giao diện người dùng: Thiết kế chi tiết cho trang chủ, màn hình tìm kiếm, form đăng ký/đăng nhập, giao diện tạo mới và hiệu chỉnh chỉ tiêu, màn hình quản trị danh sách chỉ tiêu, giao diện quản lý người dùng và quản lý khối giao diện (block).

Chương 5 – Hướng dẫn cài đặt và sử dụng

Chương cuối cùng đóng vai trò tài liệu kỹ thuật hướng dẫn triển khai và vận hành:

  • Hướng dẫn thiết lập môi trường giả lập máy chủ trên XAMPP.
  • Quy trình cài đặt mã nguồn Drupal 6.x, khởi tạo cơ sở dữ liệu, cấu hình cơ chế kết nối và tích hợp các module.
  • Hướng dẫn sử dụng chi tiết cho người dùng tra cứu (tìm kiếm theo từ khóa, tìm kiếm tổng hợp, in ấn, xuất dữ liệu ra file) và hướng dẫn dành cho cán bộ quản trị (điều hướng thanh quản trị User management, Site building, Content management).

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

Kết quả kỹ thuật đạt được

  1. Thiết kế và cài đặt hoàn chỉnh hệ thống phần mềm quản lý chỉ tiêu ngành TTTT trên nền tảng Drupal 6 kết hợp MySQL/Apache/PHP.
  2. Xây dựng cấu trúc cơ sở dữ liệu quan hệ gồm 28 bảng, đáp ứng linh hoạt khả năng mở rộng danh mục chỉ tiêu không giới hạn cấp độ.
  3. Hoàn thiện hệ thống phân quyền 3 lớp: Quản trị tối cao (Admin Sở), Quản trị cấp dưới, và Tài khoản đơn vị nhập liệu (10 huyện và các doanh nghiệp).
  4. Hiện thực hóa các công cụ tìm kiếm: tra cứu từ khóa và tìm kiếm tổng hợp đồng thời 4 tham số (chỉ tiêu, đơn vị báo cáo, kỳ báo cáo, năm báo cáo), hỗ trợ in ấn và xuất báo cáo trực tiếp từ giao diện web.

Đóng góp thực tiễn

  • Cung cấp giải pháp phần mềm mã nguồn mở có chi phí bản quyền bằng không, giúp tiết kiệm ngân sách nhà nước cho Sở TTTT tỉnh Bắc Giang.
  • Rút ngắn thời gian thu thập, tổng hợp báo cáo định kỳ từ cấp cơ sở lên cấp tỉnh, khắc phục tình trạng phân tán và chậm trễ số liệu thống kê.
  • Đặt nền móng cho việc chuẩn hóa cơ sở dữ liệu ngành TTTT tại địa phương, sẵn sàng tích hợp vào cơ sở dữ liệu chỉ tiêu quốc gia của Bộ Thông tin và Truyền thông.

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

Hạn chế

  • Hệ thống được thiết kế và kiểm thử trên phiên bản Drupal 6.x và môi trường PHP 5, đòi hỏi phải có phương án nâng cấp khi các phiên bản công nghệ mới hơn ra đời.
  • Phạm vi dữ liệu thử nghiệm ban đầu giới hạn trong 10 huyện và 4 doanh nghiệp trên địa bàn tỉnh Bắc Giang.
  • Cơ chế xuất báo cáo và in ấn ở giai đoạn này chủ yếu dựa trên các bộ lọc giao diện web cơ bản, chưa tích hợp sâu các công cụ trực quan hóa biểu đồ nâng cao.

Hướng phát triển

  • Cập nhật mã nguồn hệ thống lên các phiên bản Drupal và PHP cao hơn nhằm tối ưu hiệu năng và an ninh bảo mật.
  • Mở rộng phạm vi triển khai cho toàn bộ các sở, ban, ngành trong tỉnh có liên quan và tất cả các doanh nghiệp TTTT hoạt động trên địa bàn.
  • Phát triển thêm các phân hệ phân tích dự báo số liệu kinh tế - xã hội chuyên sâu và xây dựng API kết nối tự động với hệ thống thống kê của Bộ Thông tin và Truyền 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 sau:

  • Sinh viên ngành Tin học ứng dụng, Công nghệ thông tin: Là tài liệu mẫu về quy trình phân tích và thiết kế hệ thống thông tin theo phương pháp có cấu trúc (BFD, DFD, ERD); tài liệu tham khảo chi tiết về việc ứng dụng Framework/CMS Drupal trong xây dựng ứng dụng web quản lý nhà nước.
  • Kỹ sư phát triển phần mềm mã nguồn mở: Tham khảo cách thiết kế cấu trúc bảng tùy biến kết hợp với hệ thống bảng lõi của Drupal, cách tổ chức cơ chế phân quyền và tích hợp các module CCK, Views, Finder.
  • Cán bộ quản lý CNTT tại các cơ quan nhà nước: Tham khảo mô hình thu thập, tổng hợp chỉ tiêu báo cáo cấp sở/ngành nhằm tin học hóa quy trình quản lý hành chính công.

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

1. Tại sao tác giả lựa chọn Drupal thay vì .NET, Java hay Joomla! để xây dựng hệ thống?

Theo bảng phân tích và đánh giá công nghệ ở Chương 2, Drupal là nền tảng mã nguồn mở miễn phí bản quyền, có kiến trúc module uyển chuyển, cơ chế Hook mạnh mẽ và khả năng mở rộng kiểu nội dung (thông qua CCK) tốt hơn so với Joomla!, đồng thời tiết kiệm chi phí bản quyền và hạ tầng máy chủ so với nền tảng thương mại như .NET hay SharePoint.

2. Bảng dữ liệu chính lưu trữ thông tin chỉ tiêu ngành TTTT có cấu trúc như thế nào?

Dữ liệu chỉ tiêu được lưu trữ trong bảng content_type_chitieunganhtttt (liên kết với bảng node qua nid và vid). Bảng gồm các trường: field_sokehoach_value (số kế hoạch), field_sochinhthuc_value (số chính thức), field_sothuchien_value (số thực hiện), field_ghichu_value (ghi chú), cùng các trường quản lý tệp đính kèm (field_filegan_list, field_filegan_data).

3. Phân hệ tra cứu tổng hợp của hệ thống yêu cầu những tiêu chí tìm kiếm nào?

Chức năng tìm kiếm tổng hợp yêu cầu người dùng lựa chọn kết hợp đồng thời 4 tiêu chí: (1) Chỉ tiêu cần tra cứu, (2) Đơn vị báo cáo, (3) Kỳ báo cáo (tháng/quý/năm), và (4) Năm báo cáo.

4. Quy mô các đơn vị tham gia nhập liệu và báo cáo vào hệ thống gồm những đối tượng nào?

Hệ thống được thiết kế phục vụ nhập liệu cho 10 đơn vị cấp huyện/thành phố thuộc tỉnh Bắc Giang cùng 04 doanh nghiệp hoạt động trong lĩnh vực Thông tin và Truyền thông trên địa bàn (như VNPT Bắc Giang, Viettel Bắc Giang).

5. Dự án được phân công nhân lực và triển khai trong khung thời gian nào?

Dự án được thực hiện trong 3 tháng (từ tháng 5/2010 đến tháng 7/2010) với đội ngũ gồm 2 kỹ sư CNTT (Nguyễn Đức Nam, Nguyễn Thành Kiên) phụ trách nghiên cứu, khảo sát, thiết kế, xây dựng, kiểm thử, hiệu chỉnh và 1 thực tập viên (Nguyễn Thị Thu Hương) tham gia lập trình, kiểm thử và biên soạn báo cáo.


Kết luận

Đồ án tốt nghiệp "Hệ thống chỉ tiêu ngành Thông tin và Truyền thông tỉnh Bắc Giang trên nền tảng mã nguồn mở Drupal" đã hoàn thành đầy đủ các mục tiêu đề ra về mặt lý thuyết lẫn thực tiễn. Tác giả đã khảo sát toàn diện bài toán nghiệp vụ thống kê của Sở TTTT Bắc Giang, phân tích thiết kế hệ thống có cấu trúc và hiện thực hóa thành công cổng thông tin chỉ tiêu chuyên ngành trên môi trường mã nguồn mở. Hệ thống không chỉ giải quyết hiệu quả bài toán thu thập, tổng hợp số liệu từ 10 huyện và các doanh nghiệp viễn thông mà còn cung cấp giải pháp tra cứu, kết xuất dữ liệu tiện ích, góp phần nâng cao hiệu lực quản lý nhà nước tại địa phương.