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

Trong xu thế phát triển của cuộc cách mạng công nghiệp lần thứ tư, chuyển đổi số đã trở thành chiến lược tất yếu của nhiều tổ chức và doanh nghiệp nhằm tối ưu hóa phương thức vận hành, thay đổi tư duy quản lý và nâng cao hiệu suất lao động. Tuy nhiên, khi đại dịch Covid-19 xuất hiện và bùng phát tại Việt Nam từ ngày 23/01/2020 đến đầu năm 2022 (với ghi nhận 1.680.985 ca nhiễm và 31.632 ca tử vong tính đến ngày 01/01/2022 theo số liệu của Tổ chức Y tế Thế giới WHO), các doanh nghiệp buộc phải chuyển dịch gấp sang mô hình làm việc từ xa, làm việc tại nhà. Tình huống này làm gia tăng mạnh mẽ nhu cầu về các công cụ hỗ trợ giao tiếp trực tuyến, cộng tác và điều hành công việc đồng bộ.

Thực tế thị trường phần mềm tại Việt Nam thời điểm đó chịu sự chi phối lớn từ các tập đoàn công nghệ quốc tế như Microsoft, Atlassian, Google, Salesforce với các nền tảng chuyên biệt (Slack, Microsoft Teams, Jira, Trello, Google Drive, Dropbox...). Mặc dù sở hữu hệ sinh thái đồ sộ và tính năng nâng cao, những giải pháp này tồn tại nhiều rào cản đối với các doanh nghiệp vừa và nhỏ (SMEs), công ty khởi nghiệp hoặc các câu lạc bộ, hội nhóm có nguồn kinh phí hạn chế:

  1. Chi phí bản quyền và duy trì hệ thống quá cao, vượt quá khả năng chi trả của các đơn vị có ngân sách nhỏ.
  2. Độ phức tạp hệ thống cao (điển hình như Jira có quá nhiều tùy biến cồng kềnh, đòi hỏi tốn kém chi phí và thời gian đào tạo người dùng).
  3. Khi cố gắng chắp vá nhiều công cụ miễn phí riêng lẻ (nhắn tin trên một ứng dụng, quản lý tác vụ trên ứng dụng khác, lưu trữ tệp tin ở dịch vụ thứ ba), doanh nghiệp đối mặt với sự phân mảnh dữ liệu, quy trình chuyển tiếp gián đoạn và khó kiểm soát tổng thể.

Trước thực trạng đó, đề tài "Nền tảng giao tiếp, cộng tác hỗ trợ điều hành và xử lý công việc" (tên phần mềm: Kyzen Platform) được thực hiện bởi sinh viên Đặng Hữu Cảnh dưới sự hướng dẫn của TS. Đào Ngọc Phong tại Khoa Công nghệ Thông tin 1, Học viện Công nghệ Bưu chính Viễn thông. Đồ án hướng đến giải quyết bài toán tích hợp các tính năng thiết yếu trên một nền tảng duy nhất, đảm bảo tính tối giản, dễ tiếp cận và tối ưu chi phí vận hành.

  • Đối tượng sử dụng: Các doanh nghiệp vừa và nhỏ, tổ chức, hội nhóm, câu lạc bộ có nhu cầu quản trị và trao đổi công việc trên môi trường tập trung.
  • Phạm vi nghiên cứu và thực nghiệm: Xây dựng mô hình sản phẩm khả dụng tối thiểu (MVP) và triển khai thử nghiệm đối với các tổ chức, nhóm làm việc quy mô từ 15 đến 40 thành viên trong giai đoạn 2021 – tháng 01/2022.

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

Đồ án kết hợp nghiên cứu lý thuyết kỹ thuật phần mềm, các mô hình bảo mật chuẩn hóa và phương pháp luận phát triển hệ thống hiện đại:

  • Khung lý thuyết và mô hình ứng dụng:
    • Mô hình kiểm soát truy cập dựa trên vai trò (Role-Based Access Control - RBAC): Sử dụng để định danh, phân quyền chi tiết theo nhóm và người dùng (Admin, Quản lý, Thành viên).
    • Mô hình kiến trúc Microservices & API Gateway: Tổ chức hệ thống thành các khối dịch vụ độc lập, kết nối và điều phối thông qua Kong API Gateway.
    • Tiêu chuẩn truyền thông và xác thực: Giao thức truyền tải trạng thái đại diện (RESTful API) qua HTTP, giao thức mạng thời gian thực WebSockets (chuẩn ASGI), xác thực người dùng bằng chuỗi JSON Web Token (JWT) và mã hóa OTP qua email.
    • Mô hình quản lý cơ sở dữ liệu quan hệ: Ứng dụng hệ thống PostgreSQL với cơ chế kiểm soát đồng thời đa phiên bản (MVCC) và ngôn ngữ thủ tục PL/PGSQL.
  • Phương pháp nghiên cứu:
    • Phương pháp phân tích - tổng hợp: Khảo sát thực trạng thị trường chuyển đổi số (dựa trên báo cáo khảo sát của IDC năm 2018 và số liệu dịch tễ WHO 2022), phân tích ưu nhược điểm của các giải pháp hiện hành (Slack, Jira, Google Workspace).
    • Phương pháp phân tích và thiết kế hướng đối tượng (OOAD): Xây dựng hệ thống tài liệu thiết kế chuẩn hóa gồm biểu đồ Use Case tổng quan/chi tiết, bảng đặc tả kịch bản Use Case, biểu đồ lớp phân tích, biểu đồ lớp thiết kế và biểu đồ tuần tự (Sequence Diagram).
    • Phương pháp thử nghiệm và đóng gói hệ thống: Đóng gói dịch vụ bằng công nghệ container (Docker), tự động hóa quy trình Tích hợp liên tục/Triển khai liên tục (CI/CD) qua tệp cấu hình YAML trên máy chủ ảo VPS.
  • Nguồn dữ liệu: Dữ liệu khảo sát từ các tài liệu học thuật, báo cáo ngành của IDC, số liệu thống kê y tế của WHO, cùng dữ liệu thử nghiệm phát sinh trong quá trình vận hành hệ thống phần mềm nội bộ.

Thiết kế và triển khai

Hệ thống Kyzen Platform được tổ chức theo kiến trúc phân tầng rõ ràng, đảm bảo khả năng mở rộng và vận hành độc lập giữa giao diện người dùng và hạ tầng máy chủ backend:

[Máy khách (React Web App)]
[Kong API Gateway (Routing & Proxy)]
[IAM] [Communication Module]  [Work & Storage Module]
         [PostgreSQL Database / Storage]
  • Kiến trúc hệ thống: Sử dụng mô hình microservices kết hợp Kong API Gateway làm điểm tiếp nhận duy nhất cho mọi yêu cầu từ máy khách, hỗ trợ định tuyến đến các module backend riêng biệt gồm IAM (Quản lý định danh và truy cập), Communication (Giao tiếp) và Work (Quản lý công việc).
  • Công nghệ Backend: Ngôn ngữ Python với Django REST Framework (DRF) đóng vai trò xây dựng Web APIs; kết hợp giao diện máy chủ không đồng bộ ASGI và WebSockets để phục vụ trao đổi dữ liệu tin nhắn và tín hiệu đàm thoại video thời gian thực.
  • Công nghệ Frontend: Thư viện React Web kết hợp cú pháp mở rộng JSX và định kiểu CSS, xây dựng giao diện tương tác người dùng đơn trang, tối giản và trực quan.
  • Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu PostgreSQL, tối ưu hóa truy vấn thông qua lược đồ quan hệ chuẩn hóa.
  • Tự động hóa CI/CD và Triển khai:
    • Mã nguồn Web APIs và React Web được thiết lập chu trình CI/CD tự động bằng các tệp định nghĩa YAML.
    • Mã nguồn sau khi build được đóng gói thành các Docker Image và đẩy vào kho lưu trữ images.
    • Hệ thống khởi chạy dưới dạng các Docker Container trên môi trường máy chủ VPS, cấu hình phân giải tên miền thông qua hệ thống quản lý Freenom.

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

Chương 1: Đặt vấn đề

Chương 1 tập trung làm rõ tính cấp thiết của đề tài trong bối cảnh chuyển đổi số doanh nghiệp:

  • Thực trạng chuyển đổi số: Khảo sát năm 2018 của IDC cho thấy gần 90% doanh nghiệp đã bắt đầu các bước chuyển đổi số và hơn 30% lãnh đạo doanh nghiệp coi đây là yếu tố sống còn để tăng năng suất và thấu hiểu khách hàng.
  • Phân tích thị trường công cụ số:
    • Nhóm giao tiếp (Slack, Microsoft Teams, Google Chat, Zulip, Mattermost, Zalo, Telegram): Slack đi đầu nhưng chuyển dịch trọng tâm sang khách hàng lớn sau khi niêm yết cổ phiếu, đẩy giá thành lên cao.
    • Nhóm quản lý công việc (Jira, Trello, Notion): Jira có hệ sinh thái tiện ích mạnh nhưng cấu trúc đồ sộ, cồng kềnh, khó tiếp cận với các nhóm nhỏ.
    • Nhóm lưu trữ đám mây (Google Drive, OneDrive, Dropbox): Hỗ trợ tốt nhưng tách biệt với quy trình theo dõi tác vụ trực tiếp.
  • Định hướng giải pháp: Xác định sự cần thiết của việc tối giản hóa chức năng nhằm hạ thấp thời gian làm quen và chi phí vận hành. Giới thiệu nền tảng Kyzen Platform với định vị sản phẩm khả dụng tối thiểu phục vụ các nhóm từ 15 đến 40 thành viên.

Chương 2: Phân tích, thiết kế hệ thống phần mềm

Chương 2 trình bày chi tiết toàn bộ quy trình mô hình hóa và phân tích nghiệp vụ của hệ thống:

  • Bốn khối chức năng chính:
    1. Giao tiếp: Nhắn tin văn bản theo thời gian thực và đàm thoại video nhóm.
    2. Quản lý định danh và truy cập (IAM): Quản lý vòng đời tài khoản, nhóm người dùng và cơ chế RBAC.
    3. Quản lý công việc: Quản lý theo mô hình Dự án - Nhiệm vụ (nhiệm vụ chính, nhiệm vụ con), bảng tiến độ 3 trạng thái cố định (Nhiệm vụ cần làm, Nhiệm vụ đang làm, Nhiệm vụ đã hoàn thành) và tạo báo cáo định kỳ (1, 2, 3, 6 tháng, 1 năm).
    4. Lưu trữ và chia sẻ tài liệu: Quản lý tệp tin, phân cấp thư mục, chia sẻ và tải xuống định dạng nén zip.
Vai trò trong hệ thống (Role) Quyền hạn tương ứng
Quản trị viên (Administrator) Toàn quyền thao tác trên toàn bộ hệ thống; quản lý tài khoản, nhóm người dùng, cấp/thu hồi vai trò. Không thể chỉnh sửa định nghĩa role mặc định.
Quản lý (Manager) Khởi tạo và hủy dự án, kích hoạt dự án, thêm/gỡ thành viên dự án, phân công nhiệm vụ, trích xuất báo cáo tiến độ và toàn bộ quyền của Người dùng thông thường.
Người dùng thông thường (User/Member) Tham gia dự án được chỉ định, tạo và cập nhật trạng thái nhiệm vụ, tạo hội thoại, gửi/gỡ tin nhắn, đàm thoại video, thao tác tệp tin cá nhân hoặc được chia sẻ.
  • Đặc tả ca sử dụng và kịch bản: Phân tích chi tiết 43 Use Case (kèm mã định danh và chuỗi sự kiện chính - ngoại lệ từ Bảng 2.3 đến Bảng 2.45), bao gồm:
    • Xác thực: Đăng nhập, Đăng xuất, Đặt lại mật khẩu qua mã OTP.
    • Hội thoại & Video: Tạo/xóa/cập nhật hội thoại, thêm/xóa/rời thành viên, gửi/gỡ tin nhắn, bắt đầu/tham gia/kết thúc video call, bật/tắt camera và mic.
    • Quản lý dự án: Tạo/hủy/kích hoạt dự án, thêm/sửa/gỡ nhiệm vụ, cập nhật trạng thái nhiệm vụ.
    • Quản trị IAM: Tạo/kích hoạt/vô hiệu hóa/hủy tài khoản, quản lý nhóm người dùng, gán/thu hồi role.
    • Lưu trữ: Tạo thư mục, đổi tên, chia sẻ, tải lên, tải xuống (zip), xóa tệp tin/thư mục.
  • Mô hình phân tích và thiết kế: Xây dựng biểu đồ lớp phân tích, hệ thống biểu đồ tuần tự (Sequence Diagram) cho các chu trình nghiệp vụ chính và thiết kế lược đồ cơ sở dữ liệu quan hệ (ERD).

Chương 3: Nội dung triển khai chi tiết hệ thống

Chương 3 trình bày các bước hiện thực hóa thiết kế thành phần mềm chạy thực tế:

  • Mô tả công nghệ: Trình bày nguyên lý hoạt động của kiến trúc REST, danh sách các phương thức HTTP (GET, POST, PUT, DELETE...), bảng mã trạng thái HTTP (200, 201, 400, 401, 403, 404, 500...) và vai trò của Kong API Gateway trong việc định tuyến microservices.
  • Cấu trúc mã nguồn module: Tổ chức mã nguồn backend thành các package độc lập: module IAM, module Communication và module Work.
  • Quy trình đóng gói và phát hành tự động:
    • Xây dựng chu trình CI/CD cho mã nguồn Web APIs và React Web thông qua tệp cấu hình YAML.
    • Tự động hóa quá trình build và lưu trữ image vào Container Registry.
    • Triển khai đồng thời các container lên máy chủ ảo VPS.
  • Kết quả giao diện thực tế: Đồ án chụp và trình bày các giao diện đã hoàn thiện của React Web gồm màn hình đăng nhập hệ thống, giao diện chat/hội thoại và giao diện bảng tiến độ quản lý công việc.

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

  • Kết quả đạt được:
    • Xây dựng thành công nền tảng Kyzen Platform tích hợp đầy đủ 4 phân hệ chức năng: Giao tiếp trực tuyến (chat, đàm thoại video), Quản lý công việc (bảng tiến độ 3 cột), Lưu trữ tài liệu và Quản lý định danh truy cập (RBAC).
    • Hiện thực hóa hệ thống bằng kiến trúc Microservices kết hợp Kong API Gateway, Django REST Framework, WebSockets và React Web.
    • Thiết lập hoàn chỉnh chu trình CI/CD tự động đóng gói ứng dụng thành Docker Container và triển khai thực tế trên máy chủ VPS có gắn tên miền.
  • Đóng góp của tác giả:
    • Đề xuất mô hình phần mềm làm việc hợp nhất tối giản, giúp các doanh nghiệp vừa và nhỏ giải quyết bài toán phân mảnh công cụ khi phải dùng đồng thời nhiều ứng dụng rời rạc.
    • Cung cấp bộ tài liệu phân tích thiết kế chi tiết với 43 ca sử dụng, kịch bản luồng sự kiện rõ ràng, phục vụ tốt cho việc tiếp tục mở rộng phát triển.

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

  • Hạn chế:
    • Hệ thống mới dừng lại ở phiên bản thử nghiệm sản phẩm khả dụng tối thiểu (MVP), phạm vi thử nghiệm giới hạn trong quy mô từ 15 đến 40 thành viên.
    • Bảng tiến độ quản lý công việc mới chỉ hỗ trợ 3 cột trạng thái cố định (Cần làm, Đang làm, Đã hoàn thành), chưa cho phép người dùng tùy biến thêm các cột trạng thái đặc thù theo từng quy trình doanh nghiệp.
    • Tính năng báo cáo tiến độ dự án mới định hình theo các mốc thời gian cơ bản (1, 2, 3, 6 tháng, 1 năm).
  • Hướng nghiên cứu tiếp:
    • Mở rộng quy mô chịu tải của hệ thống để đáp ứng số lượng người dùng đồng thời lớn hơn.
    • Phát triển thêm tính năng tùy biến bảng công việc linh hoạt và hoàn thiện các biểu đồ thống kê chuyên sâu.
    • Tối ưu hóa chất lượng truyền phát của tính năng đàm thoại video và nâng cấp hệ thống phân quyền tệp tin nâng cao.

Giá trị tham khảo

  • Đối tượng hưởng lợi:
    • 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 giá trị về phương pháp hoàn thiện đồ án tốt nghiệp chuẩn mực, từ phân tích yêu cầu, đặc tả Use Case, thiết kế UML/Sequence Diagram, đến lập trình API (Django REST Framework, React Web) và triển khai hạ tầng hiện đại (Docker, CI/CD, API Gateway).
    • Các nhóm khởi nghiệp và tổ chức quy mô nhỏ: Có thể tham khảo kiến trúc và mô hình tổ chức chức năng để xây dựng công cụ nội bộ tiết kiệm chi phí nhưng vẫn đảm bảo tính đồng bộ.
  • Nội dung tham khảo nổi bật: Bảng đặc tả 43 kịch bản ca sử dụng (Chương 2) và quy trình thiết lập tự động hóa CI/CD với Docker Container (Chương 3).

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

1. Nền tảng Kyzen Platform được xây dựng nhằm giải quyết vấn đề cốt lõi nào của doanh nghiệp?
Nền tảng giải quyết tình trạng phân mảnh thông tin và chi phí bản quyền đắt đỏ khi doanh nghiệp vừa và nhỏ phải sử dụng đồng thời nhiều công cụ rời rạc (như Slack, Jira, Google Drive). Kyzen Platform tích hợp giao tiếp, quản lý tác vụ và lưu trữ tệp tin vào một hệ thống tối giản, đồng nhất và chi phí thấp.

2. Hệ thống phân quyền trong Kyzen Platform hoạt động theo nguyên tắc nào?
Hệ thống sử dụng mô hình kiểm soát truy cập dựa trên vai trò (RBAC) với 3 vai trò cố định: Quản trị viên (toàn quyền hệ thống, quản lý tài khoản/nhóm), Quản lý (khởi tạo, điều hành dự án và phân công nhiệm vụ) và Người dùng thông thường (thực hiện nhiệm vụ, giao tiếp và lưu trữ tài liệu cá nhân).

3. Phân hệ quản lý công việc của đồ án hỗ trợ theo dõi tiến độ như thế nào?
Công việc được tổ chức theo mô hình Dự án và Nhiệm vụ (gồm nhiệm vụ chính và nhiệm vụ con). Khi dự án kích hoạt, tiến độ được hiển thị trực quan trên bảng công việc gồm 3 cột trạng thái cố định: "Nhiệm vụ cần làm", "Nhiệm vụ đang làm" và "Nhiệm vụ đã hoàn thành". Quản lý có thể trích xuất báo cáo theo các giai đoạn 1, 2, 3, 6 tháng hoặc 1 năm.

4. Những công nghệ chính nào được sử dụng để phát triển và triển khai hệ thống?
Hệ thống sử dụng Python với Django REST Framework và WebSockets (ASGI) cho Backend; React Web (JSX) cho Frontend; cơ sở dữ liệu PostgreSQL; Kong API Gateway để điều phối kiến trúc Microservices; và quy trình tự động hóa CI/CD (YAML) đóng gói Docker Container triển khai trên máy chủ VPS.

5. Quy mô thử nghiệm và đối tượng mục tiêu của đồ án là gì?
Đồ án hướng đến đối tượng là các doanh nghiệp vừa và nhỏ, câu lạc bộ, hội nhóm có nhu cầu vận hành đơn giản. Phạm vi thử nghiệm của phiên bản MVP được thiết kế và kiểm nghiệm với quy mô nhóm từ 15 đến 40 thành viên.


Kết luận

Đồ án tốt nghiệp "Nền tảng giao tiếp, cộng tác hỗ trợ điều hành và xử lý công việc" của tác giả Đặng Hữu Cảnh đã giải quyết thành công bài toán tích hợp các công cụ số thiết yếu trong môi trường làm việc doanh nghiệp. Bằng việc áp dụng kiến trúc Microservices, Django REST Framework, React Web và quy trình CI/CD hiện đại, tác giả đã xây dựng thành công nền tảng Kyzen Platform với 4 phân hệ chức năng hoàn chỉnh. Công trình là tài liệu tham khảo có giá trị học thuật và ứng dụng cao cho sinh viên ngành kỹ thuật phần mềm cũng như các nhà phát triển hệ thống quản trị nội bộ.