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, việc ứng dụng công nghệ web vào quản lý và truyền tải thông tin đóng vai trò quan trọng đối với các tổ chức và doanh nghiệp. Trong lĩnh vực tổ chức sự kiện, việc xây dựng và quản lý lịch trình hội nghị đòi hỏi tính chính xác cao nhằm đảm bảo sự phối hợp đồng bộ giữa ban tổ chức, các diễn giả, chủ tọa và đại biểu tham dự. Lịch trình hội nghị được xác định là bảng ghi chi tiết các thông tin: thời gian, ai, làm gì, cho ai nhằm phục vụ công tác thông báo chương trình đến các đại biểu và người quản lý.

Đề tài "Tìm hiểu và xây dựng ứng dụng lập lịch chương trình hội nghị" do sinh viên Phạm Văn Thắng thực hiện dưới sự hướng dẫn của TS. Đỗ Văn Chiểu tại Khoa Công nghệ Thông tin – Trường Đại học Dân lập Hải Phòng (năm 2016), nhằm giải quyết yêu cầu thực tế của Công ty Cổ phần Tổ chức Hội nghị Việt Nam (VNC). Doanh nghiệp này đặt ra nhu cầu xây dựng một ứng dụng chạy trên nền web cho phép các nhà tổ chức sự kiện tự thiết lập, điều chỉnh và xuất bản lịch trình hội nghị một cách hợp lý.

Mục tiêu và nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm:

  1. Tìm hiểu các nền tảng công nghệ web bao gồm Internet, World Wide Web, ngôn ngữ đánh dấu siêu văn bản (HTML), ngôn ngữ kịch bản phía máy chủ (PHP), hệ quản trị cơ sở dữ liệu quan hệ (MySQL), bảng định kiểu phân tầng (CSS) và các phần mềm máy chủ dịch vụ mạng (Apache, IIS).
  2. Khảo sát và phân tích bài toán nghiệp vụ quản lý lịch trình hội nghị theo yêu cầu của Công ty VNC.
  3. Xây dựng các mô hình phân tích và thiết kế hệ thống: sơ đồ tiến trình nghiệp vụ, biểu đồ ngữ cảnh, biểu đồ phân rã chức năng (BFD), ma trận thực thể chức năng (CRUD), biểu đồ luồng dữ liệu (DFD mức 0 và mức 1).
  4. Thiết kế cơ sở dữ liệu ở các mức quan niệm (mô hình ER), mô hình quan hệ và thiết kế cơ sở dữ liệu vật lý gồm 6 bảng dữ liệu.
  5. Cài đặt, triển khai thử nghiệm ứng dụng web trên môi trường máy chủ cục bộ và xây dựng các giao diện tương tác chính của người dùng.

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

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ lập lịch hội nghị (quản lý thông tin hội nghị, các phiên làm việc, phòng họp, diễn giả, chủ tịch/chủ tọa) và quy trình phát triển ứng dụng web dựa trên kiến trúc PHP - MySQL.
  • Phạm vi không gian: Nghiên cứu và triển khai thử nghiệm tại Khoa Công nghệ Thông tin, Trường Đại học Dân lập Hải Phòng; phục vụ bài toán nghiệp vụ của Công ty Cổ phần Tổ chức Hội nghị Việt Nam (VNC).
  • Phạm vi thời gian: Đề tài được giao ngày 03/10/2016 và hoàn thành vào ngày 23/12/2016.

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

Khóa luận hệ thống hóa cơ sở lý thuyết về kiến trúc web client-server và các công nghệ nền tảng phục vụ phát triển ứng dụng web động:

  • Kiến trúc mạng và Internet: Nghiên cứu giao thức truyền thông TCP/IP (Transmission Control Protocol/Internet Protocol), mô hình tương tác giữa Client (máy khách/trình duyệt web) và Server (máy chủ dịch vụ). Khái niệm World Wide Web (WWW), cách thức vận hành của trang web tĩnh và cơ chế xử lý truy vấn động giữa Web Server và cơ sở dữ liệu.
  • Ngôn ngữ HTML và CSS: Khảo sát các thẻ HTML cơ bản định dạng cấu trúc văn bản (<html>, <head>, <title>, <body>, <p>, <font>), thẻ tạo bảng (<table>, <tr>, <td>), thẻ nhúng hình ảnh (<img>), thẻ siêu liên kết (<a>), các thẻ biểu mẫu dữ liệu (<form>, <input>, <textarea>, <select>) cùng phương thức gửi dữ liệu GET và POST. Tìm hiểu vai trò của Cascading Style Sheets (CSS) do W3C duy trì nhằm tách biệt nội dung và định dạng hiển thị.
  • Ngôn ngữ kịch bản PHP: Cơ chế thực thi kịch bản phía máy chủ (Server-Side) độc lập nền tảng (cross-platform); cấu trúc cú pháp <?php ... ?>, các kiểu dữ liệu, biến ($), hằng (define), thao tác chuỗi, hàm tự định nghĩa, kỹ thuật quản lý phiên làm việc qua Cookie và Session (session_start(), session_register(), $_SESSION, session_unset(), session_destroy()).
  • Hệ quản trị cơ sở dữ liệu MySQL: Tìm hiểu các lệnh thao tác dữ liệu cơ bản (CREATE DATABASE, CREATE TABLE, ALTER TABLE, INSERT INTO, SELECT, UPDATE, DELETE, ORDER BY, LIMIT) và các hàm tích hợp trong PHP để kết nối và truy xuất cơ sở dữ liệu (mysql_connect, mysql_select_db, mysql_query, mysql_num_rows, mysql_fetch_array, mysql_close).
  • Phần mềm Web Server: So sánh vai trò của Apache HTTP Server (mã nguồn mở) và Internet Information Services (IIS) trên môi trường Windows Server.

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

  • Phương pháp phân tích và thiết kế hệ thống hướng chức năng: Tiếp cận có cấu trúc từ việc xác định yêu cầu nghiệp vụ thực tế, mô hình hóa tiến trình, phân rã chức năng nghiệp vụ, xây dựng luồng dữ liệu (DFD) đa mức và ánh xạ thực thể nghiệp vụ qua ma trận CRUD.
  • Phương pháp mô hình hóa dữ liệu: Sử dụng mô hình thực thể - liên kết (ERD) để biểu diễn các thực thể và quan hệ thực tế, sau đó chuẩn hóa thành mô hình quan hệ và thiết kế cấu trúc các bảng dữ liệu vật lý.
  • Phương pháp thực nghiệm phát triển phần mềm: Lập trình thực tế trên bộ công cụ tích hợp AppServ để kiểm thử các luồng giao diện và chức năng trên môi trường máy chủ cục bộ.

Nguồn dữ liệu của đề tài bao gồm các yêu cầu bài toán quản lý lịch trình do Công ty VNC cung cấp, các tài liệu kỹ thuật về giao thức mạng, đặc tả chuẩn W3C về HTML/CSS và tài liệu hướng dẫn lập trình PHP/MySQL.


Thiết kế và triển khai

Hệ thống lập lịch chương trình hội nghị được phân tích và thiết kế thành 3 phân hệ chức năng chính tương tác với 2 tác nhân (Người tổ chức và Đại biểu):

                                  [Hệ thống Lập lịch Hội nghị]
                                               |
             +---------------------------------+---------------------------------+
             |                                 |                                 |
    1.0 Đăng ký tài khoản             2.0 Lập lịch hội nghị             3.0 Xuất bản lịch hội nghị
             |                                 |                                 |
    +--------+--------+               +--------+--------+                        |
    |                 |               |                 |                        |
1.1 Đăng ký     1.2 Sửa đổi      2.1 Cập nhật      2.2 Sửa đổi              3.1 Hiển thị chi tiết
 tài khoản       thông tin        thông tin         thông tin                lịch trình hội nghị

1. Phân rã chức năng và luồng dữ liệu

  • Chức năng 1.0 - Đăng ký tài khoản người tổ chức: Bao gồm tiểu chức năng đăng ký tài khoản mới (1.1) và cập nhật/sửa thông tin tài khoản cá nhân (1.2).
  • Chức năng 2.0 - Lập lịch hội nghị: Cho phép người tổ chức cập nhật thông tin hội nghị mới (2.1) và sửa đổi/bổ sung thông tin lịch trình đã tạo (2.2) bao gồm phiên, diễn giả, chủ tọa, phòng họp.
  • Chức năng 3.0 - Xuất bản lịch hội nghị: Hiển thị lịch trình chi tiết (3.1) cho đại biểu truy cập xem thông tin chương trình, địa điểm, thời gian và người chủ trì.

2. Ma trận thực thể chức năng (CRUD)

Chức năng nghiệp vụ a. Danh sách người tổ chức b. Danh sách hội nghị c. Danh sách phiên d. Danh sách Speaker e. Danh sách phòng f. Danh sách Chair
1.0 Đăng ký tài khoản C, U C - - - -
2.0 Lập lịch hội nghị R C, U C, U C, U C, U C, U
3.0 Xuất bản lịch hội nghị R R R R R R

(Ghi chú: C = Create/Tạo mới; R = Read/Đọc; U = Update/Cập nhật).

3. Thiết kế cơ sở dữ liệu vật lý

Cơ sở dữ liệu của hệ thống gồm 6 bảng với các ràng buộc quan hệ (1 Người tổ chức tạo $n$ Hội nghị; 1 Hội nghị có $n$ Phiên; 1 Phiên có $n$ Speaker; 1 Chair thuộc $n$ Phiên; 1 Phòng gắn với 1 Phiên):

Tên bảng Tên trường Kiểu dữ liệu Kích thước Diễn giải thuộc tính
nguoitochuc tentk Chuỗi 30 Tên tài khoản (Khóa chính)
matkhau Chuỗi 30 Mật khẩu tài khoản
email Chuỗi 30 Địa chỉ email người tổ chức
hotenntc Text - Họ và tên người tổ chức
hoinghi IDhn Chuỗi 10 Mã định danh hội nghị (Khóa chính)
tenhoinghi Text - Tên hội nghị
thoigian datetime - Thời gian tổ chức
diadiem Text - Địa điểm diễn ra hội nghị
dvtochuc Text - Đơn vị tổ chức hội nghị
tentk Chuỗi 30 Tài khoản người tạo (Khóa ngoại)
phien IDphien Chuỗi 10 Mã định danh phiên làm việc (Khóa chính)
tenphien Text - Tên phiên làm việc
tgphien datetime - Thời gian giới hạn/bắt đầu của phiên
IDhn Chuỗi 10 Mã hội nghị chứa phiên (Khóa ngoại)
IDchair Chuỗi 10 Mã chủ tọa phụ trách phiên (Khóa ngoại)
speaker IDspeaker Chuỗi 10 Mã diễn giả (Khóa chính)
hotenspeaker Text - Họ tên diễn giả
chucdanhspeaker Text - Chức danh diễn giả
loaispeaker Text - Loại diễn giả (Keynote, báo cáo viên...)
tgspeaker time - Thời gian diễn giả trình bày
IDphien Chuỗi 10 Mã phiên diễn giả tham gia (Khóa ngoại)
chair IDchair Chuỗi 10 Mã chủ tọa (Khóa chính)
hotenchair Text - Họ tên chủ tọa
chucdanhchair Text - Chức danh chủ tọa
tgchair time - Thời gian giới hạn của chủ tọa
phong IDphong Chuỗi 10 Mã phòng họp (Khóa chính)
tenphong Chuỗi 10 Tên phòng họp
nangluc Text - Sức chứa / Năng lực số lượng ghế
tgdinhmuc time - Thời gian định mức sử dụng phòng
IDphien Chuỗi 10 Mã phiên diễn ra tại phòng (Khóa ngoại)

4. Môi trường triển khai và thử nghiệm

Hệ thống được cài đặt và vận hành thử nghiệm trên môi trường phần cứng và phần mềm cụ thể:

  • Phần cứng: Máy tính xách tay Sony Vaio, bộ vi xử lý Intel(R) Core(TM) i5-3210M, bộ nhớ RAM 6.00 GB.
  • Hệ điều hành: Microsoft Windows 10 Pro.
  • Môi trường máy chủ: Gói phần mềm AppServ (tích hợp máy chủ web Apache, trình thông dịch PHP và cơ sở dữ liệu MySQL).
  • Giao diện triển khai: Ứng dụng đã xây dựng thành công các mô-đun giao diện gồm: Trang chủ điều hướng, Trang đăng ký tài khoản người tổ chức, Trang đăng nhập hệ thống, Giao diện quản lý/cập nhật thông tin hội nghị (tích hợp các thao tác xem, xóa, sửa dữ liệu).

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

CHƯƠNG 1: TỔNG QUAN CƠ SỞ LÝ THUYẾT

Chương 1 tập trung trình bày các khái niệm nền tảng về công nghệ thông tin phục vụ phát triển ứng dụng web. Tác giả trình bày lịch sử hình thành Internet từ mạng ARPANET, phân loại máy khách (Client) - máy chủ (Server), giao thức TCP/IP và dịch vụ World Wide Web (chiếm ước tính 85% giao dịch Internet). Tiếp đó, chương này phân tích cấu trúc mã nguồn HTML với hệ thống thẻ định dạng khối, liên kết, bảng biểu, biểu mẫu dữ liệu; so sánh đặc tính của trang web tĩnh và trang web động.

Phần trọng tâm của chương là nghiên cứu ngôn ngữ lập trình PHP (khái niệm, ưu điểm mã nguồn mở, cơ chế biên dịch trên máy chủ, các kiểu dữ liệu, kỹ thuật quản lý Cookie và Session, cấu trúc hàm và gọi lại tệp tin). Đồng thời, chương giới thiệu hệ quản trị cơ sở dữ liệu quan hệ MySQL, các kiểu dữ liệu, tập lệnh SQL chuẩn và các hàm kết nối cơ sở dữ liệu mysql_* trong PHP, cùng tổng quan về định kiểu CSS và các máy chủ web Apache, IIS.

CHƯƠNG 2: MÔ TẢ VÀ PHÂN TÍCH BÀI TOÁN XÂY DỰNG ỨNG DỤNG LẬP LỊCH CHƯƠNG TRÌNH HỘI NGHỊ

Chương 2 mô tả chi tiết bài toán nghiệp vụ xuất phát từ nhu cầu thực tế của Công ty Cổ phần Tổ chức Hội nghị Việt Nam (VNC). Tác giả thiết lập sơ đồ tiến trình nghiệp vụ cho hai quy trình cốt lõi: Quy trình đăng ký tài khoản người tổ chức và Quy trình lập lịch/sửa đổi lịch hội nghị.

Trên cơ sở đó, hệ thống được mô hình hóa bằng biểu đồ ngữ cảnh (mức 0), biểu đồ phân rã chức năng (BFD) chia thành 3 nhóm chức năng lá, ma trận thực thể chức năng (CRUD), và các biểu đồ luồng dữ liệu (DFD mức 0 và DFD mức 1 cho từng tiến trình 1.0, 2.0, 3.0). Phần cuối chương tập trung vào thiết kế cơ sở dữ liệu: định nghĩa 6 kiểu thực thể (Người tổ chức, Hội nghị, Phiên, Speaker, Chair, Phòng), xác định quan hệ bản số ($1-n$, $n-1$, $1-1$), vẽ mô hình ER, chuẩn hóa sang mô hình quan hệ và hoàn thiện bảng đặc tả cơ sở dữ liệu vật lý.

CHƯƠNG 3: CHƯƠNG TRÌNH THỰC NGHIỆM

Chương 3 trình bày kết quả cài đặt và chạy thử nghiệm chương trình. Tác giả nêu rõ cấu hình máy tính thử nghiệm (Sony Vaio, Intel Core i5-3210M, RAM 6.00 GB, Windows 10 Pro) và môi trường thực thi cục bộ qua bộ công cụ AppServ. Chương minh họa các giao diện chức năng đã xây dựng bao gồm: Giao diện trang chủ điều hướng người dùng, Giao diện đăng ký tài khoản mới cho ban tổ chức sự kiện, Giao diện đăng nhập hệ thống, và Giao diện quản lý thông tin hội nghị cho phép người tổ chức thực hiện các thao tác quản trị dữ liệu (xem chi tiết, xóa và chỉnh sửa lịch trình).


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

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

    • Hoàn thành đầy đủ hồ sơ phân tích thiết kế hệ thống thông tin theo phương pháp truyền thống: 01 biểu đồ ngữ cảnh, 01 biểu đồ phân rã chức năng (BFD), 01 ma trận thực thể chức năng (CRUD), 04 biểu đồ luồng dữ liệu (DFD mức 0 và 3 biểu đồ mức 1).
    • Xây dựng hoàn chỉnh mô hình dữ liệu gồm 6 thực thể quan hệ, được thiết kế thành 6 bảng dữ liệu vật lý (nguoitochuc, hoinghi, phien, speaker, chair, phong) với đầy đủ các trường khóa chính, khóa ngoại và kiểu dữ liệu tương ứng.
    • Cài đặt thành công ứng dụng web động sử dụng ngôn ngữ PHP kết nối cơ sở dữ liệu MySQL trên nền máy chủ Apache (AppServ), hỗ trợ đầy đủ các thao tác: đăng ký, đăng nhập, nhập thông tin hội nghị, phân bổ phiên, gắn diễn giả/chủ tọa, chỉ định phòng và xuất bản lịch trình xem cho đại biểu.
  • Đóng góp của đồ án:

    • Tin học hóa bài toán quản lý và sắp xếp lịch trình hội nghị cho Công ty Cổ phần Tổ chức Hội nghị Việt Nam (VNC), chuyển đổi phương thức quản lý thủ công sang hệ thống tập trung trên nền tảng web.
    • Cung cấp một cấu trúc phân cấp dữ liệu rõ ràng cho sự kiện: Hội nghị $\rightarrow$ Phiên làm việc $\rightarrow$ (Phòng họp + Chủ tọa + Diễn giả báo cáo), giúp việc tổ chức các cuộc họp, hội thảo khoa học trở nên có hệ thống.

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

  • Hạn chế:

    • Chương trình mới được triển khai và thử nghiệm trên môi trường máy chủ nội bộ (localhost thông qua AppServ trên một máy tính cá nhân), chưa được cấu hình và vận hành thực tế trên môi trường mạng Internet với tên miền và máy chủ chuyên dụng.
    • Cấu trúc cơ sở dữ liệu vật lý sử dụng nhiều trường định dạng văn bản tự do (Text), kích thước chuỗi cố định, và chưa có các ràng buộc tự động kiểm tra xung đột thời gian (ví dụ: trùng lịch phòng hoặc trùng giờ của diễn giả/chủ tọa giữa các phiên khác nhau).
    • Giao diện người dùng và cơ chế xác thực tài khoản còn ở mức cơ bản, sử dụng các thư viện hàm kết nối MySQL chuẩn (mysql_*) chưa áp dụng các lớp trừu tượng dữ liệu nâng cao hoặc cơ chế mã hóa bảo mật mật khẩu.
  • Hướng nghiên cứu và phát triển tiếp:

    • Đưa ứng dụng lên môi trường máy chủ trực tuyến (Web Hosting/Cloud Server) để phục vụ người dùng thực tế qua Internet.
    • Bổ sung thuật toán tự động kiểm tra và cảnh báo xung đột lịch trình (trùng phòng, trùng khung giờ của diễn giả và chủ tọa).
    • Nâng cấp giao diện theo chuẩn tương thích đa thiết bị (Responsive Web Design) và nâng cao tính bảo mật của hệ thống xác thực.

Giá trị tham khảo

Đồ án là tài liệu tham khảo thực hành phù hợp cho:

  • Sinh viên ngành Công nghệ thông tin, Hệ thống thông tin quản lý, Kỹ thuật phần mềm: Cung cấp 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ấu trúc kinh điển (từ phát biểu bài toán nghiệp vụ, lập BFD, DFD đa mức, lập ma trận CRUD đến thiết kế mô hình quan hệ CSDL).
  • Người học lập trình web cơ bản: Cung cấp tài liệu tham khảo về cách tích hợp mã nguồn PHP với cơ sở dữ liệu MySQL và cấu hình máy chủ AppServ để xây dựng các ứng dụng quản lý dữ liệu trực tuyến.
  • Phần đáng tham khảo nhất: Chương 2 của đồ án với hệ thống sơ đồ luồng dữ liệu (DFD mức 0, DFD mức 1) và thiết kế chi tiết 6 bảng cơ sở dữ liệu vật lý phục vụ mô hình quản lý sự kiện/hội nghị.

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

1. Đề tài được xây dựng nhằm giải quyết bài toán nghiệp vụ cho đơn vị nào?

Hệ thống được thiết kế để giải quyết bài toán quản lý và lập lịch trình hội nghị theo yêu cầu của Công ty Cổ phần Tổ chức Hội nghị Việt Nam (VNC), giúp ban tổ chức chủ động tạo lập và xuất bản lịch làm việc cho các đại biểu qua website.

2. Các thực thể dữ liệu chính được quản lý trong hệ thống gồm những gì?

Hệ thống quản lý 6 thực thể dữ liệu cốt lõi tương ứng với 6 bảng trong cơ sở dữ liệu vật lý:

  1. Người tổ chức (nguoitochuc)
  2. Hội nghị (hoinghi)
  3. Phiên làm việc (phien)
  4. Diễn giả (speaker)
  5. Chủ tọa (chair)
  6. Phòng họp (phong)

3. Người tổ chức cần cung cấp những nhóm thông tin nào khi lập lịch cho một hội nghị?

Theo mô tả bài toán trong đồ án, người tổ chức cần cung cấp các thông tin:

  • Thông tin chung: Tên hội nghị, thời gian, địa điểm, đơn vị tổ chức.
  • Thông tin phiên: Tên phiên làm việc, thời gian diễn ra phiên.
  • Thông tin phòng: Tên phòng, năng lực (số lượng ghế), thời gian giới hạn/định mức.
  • Thông tin diễn giả: Tên Speaker, chức danh, kiểu/loại speaker, thời gian trình bày.
  • Thông tin chủ tọa: Tên Chair, chức danh, thời gian giới hạn.

4. Cấu hình môi trường phần cứng và phần mềm thử nghiệm của đề tài là gì?

Hệ thống được cài đặt thử nghiệm trên máy tính xách tay Sony Vaio với vi xử lý Intel Core i5-3210M, bộ nhớ RAM 6.00 GB, hệ điều hành Microsoft Windows 10 Pro, sử dụng gói giải pháp phần mềm AppServ tích hợp Apache, PHP và MySQL.


Kết luận

Đồ án tốt nghiệp "Tìm hiểu và xây dựng ứng dụng lập lịch chương trình hội nghị" của sinh viên Phạm Văn Thắng đã giải quyết trọn vẹn quy trình phân tích, thiết kế và cài đặt một hệ thống web quản lý lịch trình hội nghị cho Công ty VNC. Tác giả đã vận dụng phương pháp phân tích có cấu trúc để mô hình hóa bài toán thành hệ thống sơ đồ nghiệp vụ, luồng dữ liệu DFD và thiết kế cơ sở dữ liệu vật lý gồm 6 thực thể hoàn chỉnh. Sản phẩm thử nghiệm trên nền tảng PHP - MySQL đáp ứng các chức năng cơ bản về đăng ký tài khoản, thiết lập dữ liệu hội nghị - phiên - diễn giả - phòng họp và hiển thị lịch trình cho đại biểu.