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

Trong bối cảnh công nghệ thông tin và thiết bị di động thông minh phát triển mạnh mẽ, việc số hóa các quy trình quản lý và vận hành đời sống xã hội trở thành xu thế tất yếu. Khảo sát thực tế công tác tổ chức sự kiện và hội nghị tại các tổ chức, doanh nghiệp cho thấy Ban tổ chức thường gặp nhiều khó khăn trong khâu quản lý số lượng người tham gia: khi gửi thư mời, ban tổ chức khó nắm bắt chính xác số lượng khách mời sẽ đến dự để chuẩn bị hậu cần và dịch vụ phù hợp. Bên cạnh đó, tại các sự kiện quy mô lớn có nhiều phiên họp diễn ra đồng thời, khách tham dự gặp khó khăn trong việc tra cứu thông tin địa điểm, cập nhật lịch trình, xem trước tài liệu, đóng góp ý kiến hoặc phản hồi cho chương trình.

Đề tài tốt nghiệp "Xây dựng ứng dụng mobile chuyển đổi số phục vụ sự kiện, hội nghị" do sinh viên Lê Trần Tiến thực hiện (Trường Đại học Bình Dương) nhằm giải quyết các bất cập nêu trên thông qua việc thiết lập một hệ thống phần mềm đồng bộ giữa nền tảng web và thiết bị di động.

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

  1. Nghiên cứu khảo sát quy trình vận hành thực tế của công tác tổ chức sự kiện, hội nghị tại các tổ chức, doanh nghiệp.
  2. Phân tích yêu cầu, đặc tả các trường hợp sử dụng (use case), thiết kế kiến trúc hệ thống và cơ sở dữ liệu quan hệ.
  3. Xây dựng ứng dụng web dành cho Ban quản lý nhằm cập nhật thông tin sự kiện, quản lý danh sách khách mời, diễn giả, nhà tài trợ, gian hàng, bài diễn thuyết, lịch trình, phòng họp, gửi thư mời tự động và thống kê báo cáo.
  4. Xây dựng ứng dụng di động dành cho khách mời (theo dõi lịch trình, tài liệu, đánh giá, nhận nhắc lịch, lấy mã QR check-in) và dành cho lễ tân (quét mã QR để điểm danh và theo dõi danh sách khách mời).
  5. Cài đặt, kiểm thử hệ thống trên môi trường cục bộ và triển khai thử nghiệm trên máy chủ web.

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

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ tổ chức sự kiện, hội nghị; các giải pháp công nghệ phát triển ứng dụng di động đa nền tảng, công nghệ web backend và cơ sở dữ liệu quan hệ.
  • Phạm vi không gian và đối tượng sử dụng: Hệ thống phục vụ các doanh nghiệp, tổ chức hoặc cá nhân có nhu cầu tổ chức sự kiện (hội nghị, họp báo, hội thảo, triển lãm, roadshow). Ứng dụng di động được xây dựng hướng đến người dùng hệ điều hành Android; ứng dụng web quản trị chạy trên trình duyệt.
  • Phạm vi thời gian: Đề tài được triển khai thực hiện từ ngày 06/11/2022 đến ngày 10/01/2023.

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

Khung lý thuyết và mô hình ứng dụng

Tác giả tiếp cận đề tài dựa trên các nền tảng lý thuyết và công nghệ kỹ thuật phần mềm tiêu chuẩn:

  • Mô hình kiến trúc Client - Server: Hệ thống phân tách rõ ràng giữa máy khách (Client gửi yêu cầu giao tiếp thông qua các giao thức mạng) và máy chủ (Server tiếp nhận, xử lý logic nghiệp vụ và truy xuất cơ sở dữ liệu).
  • Kiến trúc MVC (Model - View - Controller): Phân tách ứng dụng thành ba thành phần độc lập nhằm tăng tính module hóa: Model (quản lý trạng thái, cấu trúc và hành vi dữ liệu), View (giao diện hiển thị và tương tác người dùng), Controller (tiếp nhận chỉ thị, điều phối dữ liệu giữa Model và View).
  • Quy trình tổ chức sự kiện chuẩn: Hệ thống hóa 9 bước nghiệp vụ gồm: (1) Thiết lập mục tiêu; (2) Thành lập đội ngũ tổ chức; (3) Xác định thời gian, địa điểm, thành phần tham gia; (4) Lựa chọn chủ đề; (5) Lập kế hoạch tổng thể; (6) Kiểm soát và điều chỉnh kế hoạch; (7) Làm việc với nhà cung cấp, tài trợ, bảo trợ truyền thông; (8) Truyền thông cho sự kiện; (9) Đánh giá, rút kinh nghiệm sau sự kiện.
  • Phương pháp phân tích thiết kế hướng đối tượng (OOAD) và UML: Sử dụng các biểu đồ ca sử dụng (Use Case Diagram), biểu đồ lớp (Class Diagram), biểu đồ tuần tự (Sequence Diagram) để mô hình hóa hành vi và cấu trúc hệ thống.
  • Mô hình phát triển phần mềm Agile: Áp dụng phương thức phát triển lặp và tăng dần (iterative and incremental) để xây dựng từng tính năng theo khung thời gian ngắn.

Phương pháp nghiên cứu thực tế

  • Phương pháp nghiên cứu lý thuyết: Tổng hợp tài liệu chuyên ngành về công nghệ lập trình Python, Odoo framework, Flutter SDK, ngôn ngữ Dart, hệ quản trị cơ sở dữ liệu PostgreSQL, giao thức RESTful API, điện toán đám mây (IaaS, PaaS, SaaS).
  • Phương pháp điều tra, khảo sát thực tế: Khảo sát quy trình tổ chức sự kiện thực tế; lấy ý kiến tư vấn chuyên môn từ giảng viên hướng dẫn (Bùi Văn Chuyên) và đội ngũ kỹ thuật tại VNPT; nghiên cứu nhu cầu trải nghiệm của khách tham dự và ban tổ chức.
  • Phương pháp thực nghiệm phần mềm: Tiến hành mô hình hóa dữ liệu (sơ đồ ERD, mô hình luận lý), lập trình hệ thống trên môi trường phát triển Visual Studio Code, cấu hình cơ sở dữ liệu PostgreSQL, đóng gói và chạy thử nghiệm hệ thống trên máy cục bộ (local) và triển khai trên máy chủ Nginx.

Nguồn dữ liệu

Dữ liệu sử dụng trong đề tài bao gồm các tài liệu đặc tả nghiệp vụ quản lý sự kiện, hệ thống dữ liệu danh mục mô phỏng (danh sách người dùng, sự kiện, phòng họp, gian hàng, bài diễn thuyết, diễn giả, nhà tài trợ, lịch trình) được cấu trúc thành 11 bảng dữ liệu quan hệ trong PostgreSQL.


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

Kiến trúc công nghệ

Hệ thống được thiết kế theo mô hình phân tầng, kết nối qua giao tiếp RESTful API:

  • Phân hệ Web Quản trị (Admin Web): Phát triển trên ngôn ngữ Python kết hợp nền tảng Odoo Framework, đảm nhận toàn bộ logic nghiệp vụ, quản lý dữ liệu và cung cấp API.
  • Phân hệ Ứng dụng Di động (Mobile App): Xây dựng bằng framework Flutter và ngôn ngữ Dart, hỗ trợ biên dịch mã nguồn đa nền tảng, tập trung triển khai trên Android.
  • Hệ quản trị cơ sở dữ liệu: PostgreSQL (hỗ trợ chuẩn SQL99, quản lý giao dịch, ràng buộc toàn vẹn và bảo mật dữ liệu).
  • Môi trường và công cụ phát triển: Visual Studio Code, Microsoft Visio, IBM Rational Rose, máy chủ web Nginx.
Thành phần hệ thống Công nghệ / Công cụ sử dụng Vai trò và chức năng chính
Backend & Web Admin Python, Odoo Framework Xử lý logic nghiệp vụ, quản lý dữ liệu tập trung, cung cấp RESTful API, xuất báo cáo
Mobile Client Flutter, Dart SDK Cung cấp giao diện tương tác cho Khách mời và Lễ tân trên thiết bị di động
Cơ sở dữ liệu PostgreSQL Lưu trữ dữ liệu quan hệ, đảm bảo toàn vẹn dữ liệu và giao dịch hệ thống
Máy chủ triển khai Nginx Máy chủ web tiếp nhận và điều phối luồng yêu cầu (reverse proxy/web server)
Công cụ phân tích/thiết kế IBM Rational Rose, MS Visio Vẽ sơ đồ use case, sơ đồ lớp, sơ đồ tuần tự, biểu đồ kiến trúc hệ thống
Môi trường lập trình (IDE) Visual Studio Code Soạn thảo mã nguồn, gỡ lỗi và quản lý dự án

Cấu trúc dữ liệu và Phân quyền tác nhân

Hệ thống xác định 3 tác nhân chính (Actors) và 25 ca sử dụng (Use cases):

  • Quản trị hệ thống (Admin): Quản lý tài khoản, cấu hình hệ thống, quản lý sự kiện, người tham dự, phòng họp, gian hàng, lịch trình, diễn giả, bài diễn thuyết, nhà tài trợ, gửi thư mời email tự động và xem báo cáo thống kê.
  • Lễ tân (Receptionist): Sử dụng ứng dụng di động để quét mã QR check-in người tham dự, theo dõi danh sách khách mời đã/chưa check-in.
  • Người tham dự (Khách mời): Sử dụng ứng dụng di động để xác nhận tham gia, xem thông tin sự kiện, lịch trình chi tiết, bản đồ, diễn giả, gian hàng, nhà tài trợ, nhận thông báo nhắc lịch, hiển thị mã QR check-in và gửi đánh giá phản hồi.

Cơ sở dữ liệu của hệ thống bao gồm 11 bảng thực thể chính: Người dùng, Sự kiện, Khách mời, Vé sự kiện, Gian hàng, Đánh giá, Bài diễn thuyết, Lịch trình, Nhà tài trợ, Chi tiết lịch trình, Phòng sự kiện.


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

Chương 1. Tổng quan về đề tài

Chương 1 giới thiệu tổng quan về đề tài, lý do lựa chọn nghiên cứu xuất phát từ nhu cầu thực tế của công tác tổ chức sự kiện trong kỷ nguyên số. Tác giả xác định rõ mục tiêu xây dựng giải pháp toàn diện gồm ứng dụng Web và Mobile; nêu phạm vi ứng dụng trong các hoạt động hội nghị, hội thảo, triển lãm, họp báo. Chương này cũng phân định phương pháp nghiên cứu lý thuyết, phương pháp thực nghiệm kết hợp với khảo sát thực tế có sự hướng dẫn của VNPT, đồng thời đưa ra kế hoạch thực hiện chi tiết theo từng tuần từ 06/11/2022 đến 10/01/2023.

Chương 2. Cơ sở lý thuyết và Phát biểu bài toán

Chương 2 tập trung khảo sát 9 bước trong quy trình tổ chức sự kiện tiêu chuẩn và phát biểu bài toán kỹ thuật cần giải quyết. Nội dung chương trình bày chi tiết cơ sở lý thuyết về:

  • Kiến trúc mạng Client - Server và mô hình thiết kế phần mềm MVC (Model - View - Controller).
  • Công nghệ ứng dụng nền tảng web (đơn trang, microservices, không máy chủ) và các giải pháp backend.
  • Tổng quan công nghệ di động (Flutter, Dart, Java, Swift, React Native, Kotlin, R).
  • Hệ quản trị cơ sở dữ liệu quan hệ và các đặc tính kỹ thuật của PostgreSQL (chuẩn SQL99, kiểu dữ liệu đa dạng, cơ chế toàn vẹn dữ liệu, kiểm soát đồng thời MVCC, bảo mật SCRAM-SHA-256).
  • Điện toán đám mây và các mô hình dịch vụ IaaS, PaaS, SaaS.
  • Phương pháp phân tích thiết kế hướng cấu trúc so sánh với hướng đối tượng (OOAD).
  • Mô hình phát triển phần mềm Agile và các công cụ hỗ trợ phát triển: Microsoft Visio, IBM Rational Rose, Visual Studio Code, Odoo Framework và ngôn ngữ Python.

Chương 3. Phân tích thiết kế

Chương 3 là phần trọng tâm về kỹ thuật phần mềm của đồ án, bao gồm:

  • Xác định tác nhân: Phân loại 3 nhóm tác nhân gồm Quản trị hệ thống, Lễ tân và Người tham dự.
  • Xây dựng biểu đồ ca sử dụng: Thiết lập danh mục 25 use case tổng quát; xây dựng sơ đồ use case phân hệ Web và sơ đồ use case phân hệ Mobile.
  • Đặc tả chi tiết ca sử dụng: Lập bảng đặc tả chi tiết cho các ca sử dụng quan trọng: Quản lý sự kiện, Quản lý người tham dự, Quản lý lịch trình, Quản lý nhà tài trợ, Quản lý bài diễn thuyết, Quản lý gian hàng, Quét mã QR Mobile.
  • Mô hình hóa cấu trúc và tương tác: Xây dựng sơ đồ lớp thực thể (Entity Class Diagram), sơ đồ lớp chi tiết và sơ đồ tuần tự (Sequence Diagram) cho từng chức năng nghiệp vụ.
  • Thiết kế cơ sở dữ liệu: Xây dựng mô hình dữ liệu mức khái niệm (sơ đồ ERD), mô hình dữ liệu mức luận lý và bảng mô tả chi tiết các trường, kiểu dữ liệu, khóa chính, khóa ngoại của 11 bảng dữ liệu.

Chương 4. Triển khai ứng dụng

Chương 4 mô tả quá trình hiện thực hóa thiết kế thành phần mềm:

  • Cài đặt môi trường phát triển và cấu hình các thư viện lập trình.
  • Trình bày mô hình triển khai thực tế trên máy chủ web Nginx kết nối backend Odoo/Python và cơ sở dữ liệu PostgreSQL.
  • Trích xuất một số đoạn mã nguồn điển hình xử lý logic nghiệp vụ và giao tiếp API.
  • Minh họa chi tiết 30 màn hình giao diện chức năng của hệ thống:
    • Giao diện Mobile (Khách mời & Lễ tân): Đăng nhập, trang chủ sự kiện, thông tin chi tiết sự kiện, danh sách nhà tài trợ, danh sách người tham dự, chọn dịch vụ, gửi đánh giá, lịch trình tổng thể và chi tiết, nội dung bài diễn thuyết, mã QR check-in cá nhân, hồ sơ người dùng, giao diện lễ tân chọn sự kiện và quét mã QR.
    • Giao diện Web Quản trị: Đăng nhập, bảng điều khiển trang chủ, quản lý liên hệ, chi tiết sự kiện, danh sách và thông tin người tham dự, chức năng gửi thư mời tự động qua email, quản lý phòng sự kiện, quản lý gian hàng, danh sách bài diễn thuyết, quản lý dịch vụ sự kiện và màn hình báo cáo - thống kê số liệu.

Chương 5. Kết quả đạt được và Hướng phát triển

Chương 5 tổng kết toàn bộ kết quả thực hiện của đồ án; đối chiếu các yêu cầu đặt ra ban đầu với sản phẩm phần mềm thực tế; chỉ ra những hạn chế còn tồn tại trong quá trình cài đặt, vận hành và đề xuất các giải pháp kỹ thuật nhằm nâng cấp hệ thống trong tương lai.


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

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

  1. Xây dựng hoàn chỉnh hệ thống phần mềm gồm 2 phân hệ hoạt động đồng bộ:
    • Ứng dụng di động (Flutter/Dart) chạy trên Android phục vụ 2 nhóm người dùng (Khách mời và Lễ tân).
    • Ứng dụng web quản trị (Python/Odoo) chạy trên trình duyệt web phục vụ Ban tổ chức.
  2. Hiện thực hóa đầy đủ 25 ca sử dụng theo đặc tả phân tích thiết kế, bao gồm các chức năng cốt lõi: tạo lập và quản lý sự kiện, quản lý người tham dự, gửi email thư mời tự động, điều phối lịch trình, quản lý diễn giả - bài diễn thuyết - gian hàng - nhà tài trợ.
  3. Thiết lập cơ chế điểm danh không chạm bằng mã QR: ứng dụng tự động cấp mã QR cho khách mời và cung cấp mô-đun quét mã cho lễ tân, giúp cập nhật tức thời trạng thái điểm danh lên máy chủ.
  4. Xây dựng cơ sở dữ liệu quan hệ hoàn chỉnh trên PostgreSQL gồm 11 bảng thực thể có ràng buộc toàn vẹn dữ liệu.
  5. Triển khai và chạy thử nghiệm hệ thống trên máy cục bộ và máy chủ Nginx.

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

  • Về mặt thực tiễn: Cung cấp giải pháp chuyển đổi số khép kín cho công tác tổ chức sự kiện; giúp ban tổ chức nắm bắt chính xác số lượng khách tham dự trước và trong sự kiện qua cơ chế xác nhận/check-in; giảm thiểu thời gian xử lý thủ công, tối ưu hóa công tác chuẩn bị hậu cần; cung cấp kênh tương tác trực tiếp cho người tham gia.
  • Về mặt kỹ thuật học thuật: Đồ án tổng hợp và áp dụng thành công mô hình kết hợp giữa nền tảng quản trị mã nguồn mở Odoo (Python) làm backend/API server với công nghệ di động đa nền tảng Flutter (Dart), tạo thành tài liệu tham khảo hoàn chỉnh về quy trình phân tích, thiết kế UML và lập trình ứng dụng quản lý sự kiện.

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

Hạn chế được ghi nhận

  • Về phạm vi thử nghiệm: Hệ thống mới tập trung phát triển và thử nghiệm chính trên nền tảng Android, chưa hoàn thiện việc kiểm thử đóng gói trên nền tảng iOS.
  • Về tính tương thích nền tảng: Nền tảng Odoo chưa hỗ trợ hoàn toàn tính tương thích ngược (backward compatibility), việc nâng cấp phiên bản hệ thống trong tương lai đòi hỏi sự can thiệp trực tiếp của lập trình viên; một số mô-đun chuẩn quốc tế của Odoo cần tiếp tục tinh chỉnh để sát với đặc thù quản lý tại Việt Nam.
  • Về quy mô thử nghiệm: Đồ án tập trung vào việc hiện thực hóa các chức năng nghiệp vụ và chạy thử nghiệm kỹ thuật, chưa ghi nhận số liệu kiểm thử tải lớn với số lượng người dùng truy cập đồng thời ở quy mô hàng nghìn người.

Hướng phát triển tiếp theo

  • Hoàn thiện và tối ưu hóa phiên bản ứng dụng di động cho hệ điều hành iOS.
  • Tối ưu giao diện người dùng, nâng cao hiệu năng xử lý của các API truy vấn dữ liệu lớn.
  • Phát triển thêm các tính năng nâng cao như thanh toán vé trực tuyến, sơ đồ tương tác vị trí gian hàng thời gian thực, tích hợp sâu hơn các mô-đun chăm sóc khách hàng.
  • Triển khai ứng dụng thực tế vào nhiều sự kiện quy mô lớn tại các tổ chức, doanh nghiệp để thu thập dữ liệu đánh giá và hoàn thiện sản phẩm.

Giá trị tham khảo

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

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm, Hệ thống thông tin: Tham khảo cấu trúc chuẩn của một đồ án tốt nghiệp ứng dụng kỹ thuật phần mềm; quy trình áp dụng mô hình Agile và ngôn ngữ mô hình hóa UML (từ bảng đặc tả use case, sơ đồ lớp đến sơ đồ tuần tự).
  • Lập trình viên và người nghiên cứu phát triển ứng dụng di động & web: Tham khảo mô hình kiến trúc kết nối giữa backend Python/Odoo với frontend di động Flutter qua RESTful API; cách thức thiết kế cơ sở dữ liệu PostgreSQL cho bài toán quản lý sự kiện.
  • Chuyên viên tổ chức sự kiện: Tham khảo quy trình 9 bước tổ chức sự kiện được chuẩn hóa và các điểm ứng dụng công nghệ nhằm tối ưu hóa khâu kiểm soát khách mời và check-in.

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

1. Đồ án sử dụng những công nghệ và ngôn ngữ lập trình nào để xây dựng hệ sinh thái ứng dụng? Hệ thống sử dụng Python kết hợp Odoo Framework để xây dựng ứng dụng web backend và quản trị; sử dụng Flutter SDK và ngôn ngữ Dart để phát triển ứng dụng di động; cơ sở dữ liệu sử dụng PostgreSQL; máy chủ triển khai sử dụng Nginx; các công cụ thiết kế và lập trình gồm IBM Rational Rose, Microsoft Visio và Visual Studio Code.

2. Hệ thống phân quyền cho những tác nhân nào và nhiệm vụ chính của từng tác nhân là gì? Hệ thống xác định 3 tác nhân: (1) Quản trị hệ thống (Admin): quản lý toàn bộ dữ liệu sự kiện, tài khoản, lịch trình, diễn giả, gian hàng, gửi thư mời email và xem thống kê; (2) Lễ tân (Receptionist): sử dụng app di động quét mã QR để check-in và theo dõi danh sách điểm danh; (3) Người tham dự: sử dụng app di động xem thông tin sự kiện, lịch trình, lấy mã QR check-in, đánh giá và nhận thông báo nhắc lịch.

3. Cơ chế điểm danh (check-in) tại sự kiện được vận hành như thế nào trong ứng dụng? Mỗi khách mời sau khi đăng nhập vào ứng dụng di động sẽ được cung cấp một mã QR định danh cá nhân trên màn hình check-in. Khi đến sự kiện, nhân viên lễ tân sử dụng ứng dụng di động quét mã QR này; hệ thống sẽ tự động xác thực và cập nhật trạng thái "Đã check-in" vào cơ sở dữ liệu máy chủ theo thời gian thực.

4. Cơ sở dữ liệu của hệ thống được tổ chức gồm những bảng thực thể chính nào? Cơ sở dữ liệu được thiết kế trên PostgreSQL gồm 11 bảng thực thể chính: Người dùng, Sự kiện, Khách mời, Vé sự kiện, Gian hàng, Đánh giá, Bài diễn thuyết, Lịch trình, Nhà tài trợ, Chi tiết lịch trình và Phòng sự kiện.

5. Quy trình tổ chức sự kiện được chuẩn hóa trong đồ án gồm những bước nào? Quy trình gồm 9 bước: (1) Thiết lập mục tiêu sự kiện; (2) Thành lập đội ngũ tổ chức; (3) Xác định thời gian, địa điểm, thành phần tham gia; (4) Lựa chọn chủ đề; (5) Lập kế hoạch tổng thể; (6) Kiểm soát và điều chỉnh kế hoạch; (7) Làm việc với nhà cung cấp, đơn vị tài trợ; (8) Truyền thông cho sự kiện; (9) Đánh giá, rút kinh nghiệm sau sự kiện.


Kết luận

Đồ án tốt nghiệp "Xây dựng ứng dụng mobile chuyển đổi số phục vụ sự kiện, hội nghị" của sinh viên Lê Trần Tiến đã giải quyết hiệu quả bài toán quản lý và vận hành sự kiện thông qua việc xây dựng thành công hệ thống phần mềm tích hợp Web - Mobile. Bằng việc kết hợp backend Python/Odoo, cơ sở dữ liệu PostgreSQL và ứng dụng di động Flutter/Dart, hệ thống đáp ứng đầy đủ 25 ca sử dụng phục vụ 3 nhóm tác nhân chính cùng cơ chế điểm danh qua mã QR tiện lợi. Đồ án là tài liệu tham khảo học thuật hoàn chỉnh về phân tích thiết kế hệ thống thông tin và kỹ thuật phát triển ứng dụng di động phục vụ chuyển đổi số trong lĩnh vực sự kiện.