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

Báo cáo chuyên đề học phần môn Công nghệ phần mềm với đề tài "Xây dựng website quản lý dự án xây dựng" được thực hiện bởi nhóm sinh viên Ngô Trung Hiếu, Vũ Huy Hoàng và Trần Hoài Nam thuộc chuyên ngành Công nghệ phần mềm, Khoa Công nghệ Thông tin, Trường Đại học Điện Lực (khóa 2020 – 2024), dưới sự hướng dẫn của giảng viên Lê Hoàn.

Lý do chọn đề tài và bối cảnh thực tiễn

Quản lý xây dựng đóng vai trò trung tâm trong việc tổ chức, điều hành các công trình xây dựng phức tạp nhằm đảm bảo đúng tiến độ, ngân sách và chất lượng. Tuy nhiên, tại doanh nghiệp nơi nhóm tác giả thực tập, công tác quản lý dự án trước đây hoàn toàn thực hiện thủ công thông qua bảng tính Microsoft Excel. Cách làm này bộc lộ nhiều hạn chế thực tế:

  • Việc tổng hợp dữ liệu của một dự án đơn lẻ có thể kéo dài tới nửa ngày làm việc.
  • Quy trình cập nhật công việc rời rạc: khi một nhiệm vụ hoàn thành, nhân viên phải nhắn tin riêng cho người quản lý; người quản lý sau đó mới mở tệp Excel để đánh dấu thủ công, gây chậm trễ và dễ sót thông tin.
  • Doanh nghiệp triển khai đồng thời nhiều dự án nhưng thiếu công cụ kiểm soát tập trung về nhân sự, nhiệm vụ, tiến độ và các tổn thất, sự cố công trường.

Từ thực tiễn đó, nhóm tác giả đã nghiên cứu và phát triển một giải pháp ứng dụng nền tảng ít mã (Low-Code) của Microsoft nhằm tin học hóa quy trình quản lý dự án xây dựng.

Mục tiêu và nhiệm vụ nghiên cứu

Văn bản xác định mục tiêu và nhiệm vụ cụ thể của hệ thống gồm:

  1. Tạo điều kiện cho các bên liên quan theo dõi tiến độ dự án theo thời gian thực.
  2. Tối ưu hóa quy trình làm việc và giảm thiểu thời gian giao tiếp trung gian.
  3. Cung cấp thông tin kịp thời, chính xác và đồng bộ về dự án.
  4. Xây dựng 5 nhóm chức năng cốt lõi: quản lý thông tin dự án, quản lý thành viên, quản lý nhiệm vụ, quản lý rủi ro và lập báo cáo thống kê.

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

  • Đối tượng nghiên cứu: Quy trình quản lý, theo dõi tiến độ, phân công công việc và quản trị rủi ro trong các dự án xây dựng; phương pháp xây dựng ứng dụng Canvas App trên nền tảng Microsoft Power Platform.
  • Đối tượng người dùng: Nhà quản lý dự án (Project Manager), quản trị viên hệ thống (Admin), thành viên tham gia dự án (nhân viên/kỹ sư) và các bên liên quan (nhà thầu, khách hàng, nhà cung cấp).
  • Phạm vi thời gian và kế hoạch: Kế hoạch thực hiện dự án được ước lượng trong khoảng 40 ngày làm việc (với ngày hoàn thành kiểm thử ghi nhận là 28/09/2024).

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

Khung lý thuyết và công nghệ sử dụng

Hệ thống được phát triển dựa trên các công nghệ và nền tảng:

  • Nền tảng phát triển ứng dụng: Hệ sinh thái Microsoft Power Platform, cụ thể là Microsoft Power Apps (mô hình Canvas App), Power Automate (tự động hóa quy trình gửi email thông báo), Power BI và Power Pages.
  • Ngôn ngữ lập trình/biểu thức: Power Fx – ngôn ngữ biểu thức dạng khai báo được Microsoft chuẩn hóa cho Power Platform, cho phép xử lý logic, biểu thức điều kiện, lọc và thao tác dữ liệu trực tiếp trên giao diện mà không cần viết mã nguồn phức tạp.
  • Cơ sở dữ liệu và lưu trữ: Microsoft SharePoint List và Microsoft Dataverse (nền tảng lưu trữ dữ liệu đám mây có cấu trúc của Microsoft).
  • Tài liệu tham khảo chuyên ngành: Các nguyên lý phân tích thiết kế hệ thống từ tài liệu "System Analysis and Design" (Alan Dennis, Barbara Haley Wixom, Roberta M. Roth), "The Art of Systems Architecting" (Eberhardt Rechtin, Mark W. Maier) và nguồn tài liệu kỹ thuật từ Microsoft Power Apps Docs, LeetCode System Design, GitHub System Design Primer.

Phương pháp nghiên cứu và kỹ thuật áp dụng

  1. Phương pháp phân tích và thiết kế hướng đối tượng (OOAD): Sử dụng công cụ Draw.io để mô hình hóa toàn bộ hệ thống qua các biểu đồ ngôn ngữ UML, bao gồm:
    • Biểu đồ Use Case tổng quát và 5 biểu đồ Use Case phân rã cho từng chức năng.
    • Biểu đồ hoạt động (Activity Diagram) thể hiện luồng nghiệp vụ.
    • Biểu đồ trình tự (Sequence Diagram) chi tiết cho các thao tác CRUD (Create, Read, Update, Delete).
  2. Phương pháp ước lượng dự án: Áp dụng phương pháp phân rã cấu trúc công việc (WBS) để lập bảng ước lượng chi phí, bảng ước lượng thời gian và bảng lập lịch - theo dõi tiến độ.
  3. Phương pháp kiểm thử phần mềm: Thực hiện kiểm thử hộp đen (Black-box Testing) với 55 kịch bản kiểm thử (Test Cases) chi tiết, bao gồm kiểm tra giao diện người dùng (GUI) và kiểm tra chức năng (tìm kiếm, thêm, sửa, xóa dự án).

Thiết kế và triển khai

Kiến trúc dữ liệu và công nghệ triển khai

Hệ thống sử dụng cơ chế lưu trữ phân tán trên các SharePoint List kết nối trực tiếp với ứng dụng Canvas App thông qua các hàm Power Fx:

  • List lưu trữ dự án: Quản lý danh mục dự án, mô tả, thông tin quản lý và trạng thái phê duyệt.
  • List lưu trữ thành viên dự án: Lưu thông tin cá nhân, chức vụ và phân quyền của thành viên trong từng công trình.
  • List lưu trữ nhiệm vụ trong dự án: Lưu trữ các tác vụ cụ thể, người thực hiện, thời hạn và tiến độ hoàn thành.
  • List lưu trữ các rủi ro trong dự án: Ghi nhận phiếu báo cáo sự cố, chấn thương lao động, hư hỏng trang thiết bị từ công trường.
  • List lưu trữ báo cáo thống kê tiến độ dự án: Lưu trữ số liệu tổng hợp định kỳ và lịch sử thay đổi của dự án.

Phân quyền các tác nhân (Actors)

Hệ thống thiết lập 3 nhóm tác nhân chính:

  • Người kiểm duyệt (Admin): Người đứng đầu, có quyền quan sát, theo dõi diễn biến toàn bộ các dự án và thực hiện phê duyệt/từ chối các dự án mới do Quản lý đề xuất.
  • Người quản lý (Project Manager): Tạo lập dự án mới, phân công nhiệm vụ cho nhân viên, thêm/xóa thành viên, ghi nhận và đánh giá rủi ro, theo dõi tiến độ và báo cáo lên Admin.
  • Thành viên làm việc (Nhân viên/Kỹ sư): Tiếp nhận danh sách nhiệm vụ, cập nhật trạng thái hoàn thành trực tiếp trên ứng dụng và lập phiếu gửi cảnh báo rủi ro về cho Quản lý.

Triển khai chức năng trên Power Fx

Nhóm tác giả đã lập trình các khối lệnh Power Fx để xử lý giao diện và nghiệp vụ:

  • Tìm kiếm và lọc dự án theo chuỗi ký tự nhập vào (Search, Filter).
  • Thao tác thêm mới, hiệu chỉnh và xóa bản ghi dự án/thành viên (Patch, Remove, SubmitForm).
  • Cơ chế chuyển đổi ngôn ngữ hiển thị giao diện.
  • Tự động hóa gửi thư điện tử (Gmail/Outlook) qua Power Automate khi có sự kiện báo cáo.

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

Chương 1: Giới thiệu đề tài

Chương này thiết lập bối cảnh thực hiện đề tài tại doanh nghiệp, trình bày tổng quan về bài toán quản trị công trình và giới thiệu mô hình phát triển phần mềm ít mã (Low-code). Nội dung làm rõ các lợi thế cốt lõi của Low-code gồm: phát triển nhanh hơn (kéo thả, tích hợp API, rút ngắn vận hành), thích ứng nhanh hơn với thị trường và cho phép đổi mới sáng tạo từ các nguồn lực sẵn có.

Chương 1 cũng đặc tả hệ thống yêu cầu:

  • Yêu cầu chức năng: 5 phân hệ (quản lý dự án, quản lý thành viên, quản lý nhiệm vụ, báo cáo thống kê, quản lý rủi ro).
  • Yêu cầu phi chức năng: Đảm bảo tính bảo mật dữ liệu công trình dự án; sao lưu dữ liệu thường xuyên; cập nhật theo thời gian thực; khả năng chịu tải cho nhiều người dùng đồng thời; tự động gửi email báo cáo; nhân viên tham gia phải ký cam kết bảo mật.

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

Chương 2 tập trung vào công tác ước lượng quản trị dự án phần mềm và phân tích mô hình hóa chức năng:

  • Ước lượng dự án: Lập kế hoạch phân bổ chi tiết cho 4 giai đoạn chính (Quản lý dự án, Phân tích & thiết kế, Module thống kê sản phẩm, Tích hợp & hoàn thành, Đóng gói phần mềm). Tổng thời gian dự kiến là 40 ngày làm việc.
  • Xác định tác nhân: Phân định rõ quyền hạn của Admin, Project Manager và Thành viên làm việc.
  • Đặc tả và mô hình hóa: Xây dựng đầy đủ biểu đồ Use Case tổng quát, Use Case chi tiết, biểu đồ hoạt động và biểu đồ trình tự cho từng phân hệ:
    • Quản lý dự án: Đặc tả 15 bước trình tự cho thao tác thêm, tìm kiếm, sửa và 14 bước cho thao tác xóa dự án.
    • Quản lý thành viên: Đặc tả 17 bước cho luồng thêm thành viên và 16 bước cho luồng xóa thành viên.
    • Quản lý nhiệm vụ: Đặc tả 15 bước cho luồng thêm/sửa và 14 bước cho luồng xóa nhiệm vụ.
    • Quản lý rủi ro: Phân tích 4 hoạt động nghiệp vụ (xác định rủi ro, đánh giá mức độ rủi ro, phân loại rủi ro, lập kế hoạch phòng ngừa).
    • Báo cáo thống kê: Đặc tả 14 bước trình tự cho việc chọn khoảng thời gian, nhập tiến độ và trích xuất dữ liệu.

Chương 3: Thiết kế hệ thống

Chương 3 trình bày chi tiết về kiến trúc dữ liệu và giao diện người dùng:

  • Thiết kế cơ sở dữ liệu: Khảo sát và lựa chọn hai nền tảng lưu trữ Microsoft Dataverse và SharePoint List. Định nghĩa cấu trúc các trường thông tin cho 5 danh sách dữ liệu chính.
  • Thiết kế giao diện: Xây dựng và bố cục trực quan 6 màn hình chức năng trên Power Apps: Màn hình Trang chủ, Màn hình Quản lý dự án, Màn hình Quản lý thành viên, Màn hình Quản lý nhiệm vụ, Màn hình Quản lý rủi ro và Màn hình Báo cáo thống kê.

Chương 4: Kết quả thực nghiệm

Chương 4 giới thiệu lý do lựa chọn ngôn ngữ Power Fx và mô hình Canvas App dựa trên các ưu điểm: khả năng tích hợp dữ liệu đa nguồn (SharePoint, SQL Server, Salesforce), tính linh hoạt trong thiết kế giao diện, khả năng tương tác kéo thả mạnh mẽ và sự tích hợp sâu với hệ sinh thái Microsoft (Teams, Dynamics 365).

Chương này trình bày các đoạn mã nguồn Power Fx đã triển khai thành công cho các chức năng: tìm kiếm/quản lý dự án, thêm/sửa/xóa dự án, tìm kiếm/quản lý thành viên, thêm/xóa thành viên, chuyển đổi ngôn ngữ hệ thống và ghi nhận quản lý rủi ro.

Chương 5: Kiểm thử

Chương 5 thiết lập bảng ma trận kiểm thử phần mềm cho phân hệ Quản lý dự án thực hiện vào ngày 28/09/2024 bởi 3 thành viên (Ngô Trung Hiếu, Vũ Huy Hoàng, Trần Hoài Nam). Bảng kiểm thử bao gồm 55 ca kiểm thử (MA_01 đến MA_55) được phân loại theo hai nhóm chính:

  • Kiểm thử giao diện người dùng (GUI): 7 ca kiểm tra bố cục, font chữ, kích cỡ chữ, hiển thị tiêu đề, phím tắt điều hướng Tab/Shift+Tab và màu sắc thông điệp cảnh báo.
  • Kiểm thử chức năng (Function): 48 ca kiểm thử các luồng xử lý dữ liệu của chức năng Tìm kiếm (7 ca), Thêm dự án (18 ca), Sửa dự án (18 ca) và Xóa dự án (5 ca).

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

Kết quả định lượng từ quá trình phân tích và kiểm thử

Hạng mục công việc / Kiểm thử Số lượng / Giá trị theo văn bản Đơn vị tính / Ghi chú
Thời gian hoàn thành dự án dự kiến 40 Ngày làm việc
Số lượng thành viên tham gia xây dựng 1 - 3 Sinh viên nghiên cứu và thực nghiệm
Số lượng phân hệ chức năng chính 5 Phân hệ (Dự án, Thành viên, Nhiệm vụ, Rủi ro, Báo cáo)
Số lượng bảng dữ liệu (SharePoint List) 5 Bảng lưu trữ cấu trúc
Số lượng màn hình giao diện chính 6 Màn hình Canvas App
Số lượng kịch bản kiểm thử (Test Cases) 55 Ca kiểm thử (MA_01 đến MA_55)
Tỷ lệ ca kiểm thử đạt yêu cầu (PASS) 100% (55/55) Đạt tất cả tiêu chí kiểm thử GUI và Function

Bảng phân bổ chi phí ước lượng theo các giai đoạn (Trích xuất Bảng 2.1)

Giai đoạn Công việc chính Chi phí ước lượng trong văn bản
Quản lý dự án Khảo sát yêu cầu 500.000 VNĐ
Quản lý dự án Bắt đầu dự án & Lập kế hoạch 1.000 – 1.000 VNĐ / 1.000 VNĐ
Phân tích và thiết kế Đặc tả yêu cầu & Mô tả sơ đồ Use Case 1.000 VNĐ / 2.000 VNĐ
Phân tích và thiết kế Thiết kế cơ sở dữ liệu & Giao diện 2.000 VNĐ / 2.000 VNĐ
Phân tích và thiết kế Viết bài phân tích chi tiết 2.000 VNĐ
Module thống kê sản phẩm Phân tích & Thiết kế module 1.000 VNĐ / 1.000 VNĐ
Module thống kê sản phẩm Xây dựng code 600.000 VNĐ
Module thống kê sản phẩm Cài đặt module demo & Kiểm thử 1.000 – 1.000 VNĐ / 1.000 VNĐ
Module thống kê sản phẩm Viết báo cáo hoàn thiện 500.000 VNĐ
Tích hợp và hoàn thành Tích hợp các module & Kiểm thử 1.000 VNĐ / 1.000 VNĐ
Tích hợp và hoàn thành Fix code lỗi phát sinh 2.000 VNĐ

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

  • Xây dựng thành công ứng dụng mẫu Canvas App giúp số hóa quy trình quản lý dự án xây dựng, thay thế phương thức quản lý thủ công trên Excel.
  • Tự động hóa việc phân công nhiệm vụ và cập nhật trạng thái công việc trực tiếp từ nhân viên hiện trường lên người quản lý mà không cần thông qua tin nhắn cá nhân.
  • Bổ sung cơ chế quản lý rủi ro và an toàn lao động, cho phép lập phiếu ghi nhận chấn thương, hỏng hóc thiết bị ngay tại hiện trường.

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

Hạn chế của đề tài

  • Do giới hạn về mặt thời gian thực hiện trong kỳ học phần và thời gian thực tập, nhóm tác giả chưa thể hoàn thiện toàn bộ các tính năng nâng cao của chương trình ngoài các chức năng cơ bản đã thiết kế.

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

  • Hoàn thiện, bổ sung và điều chỉnh lại một số giao diện người dùng nhằm tăng cường tính trực quan, thân thiện và dễ thao tác cho công nhân và kỹ sư công trường.
  • Nâng cấp và thắt chặt các cơ chế bảo mật dữ liệu dự án trên nền tảng đám mây để ngăn ngừa nguy cơ rò rỉ thông tin công trình ra bên ngoài.

Giá trị tham khảo

Báo cáo chuyên đề mang lại 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 và Công nghệ phần mềm: Tài liệu cung cấp ví dụ thực tế về quy trình phân tích thiết kế hệ thống theo chuẩn UML (Use Case, Activity, Sequence Diagram) kết hợp với kỹ thuật lập trình ít mã (Low-Code) trên Power Apps.
  • Người phát triển ứng dụng doanh nghiệp: Cung cấp tài liệu tham khảo về cách tổ chức dữ liệu giữa Power Apps Canvas App với SharePoint List và Dataverse, cũng như cấu trúc viết mã Power Fx cho các thao tác CRUD cơ bản.
  • Kỹ sư kiểm thử phần mềm (Tester): Bộ 55 kịch bản kiểm thử (Test Cases) chi tiết cho màn hình quản lý dự án (từ kiểm tra giao diện, phím Tab, kiểm tra biên, khoảng trắng, định dạng dữ liệu đến xử lý sự kiện nút bấm) là tài liệu tham khảo tốt cho việc thiết kế ca kiểm thử hộp đen.

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

1. Hệ thống sử dụng nền tảng công nghệ và ngôn ngữ lập trình nào để xây dựng?

Hệ thống được xây dựng trên nền tảng Microsoft Power Platform (chủ đạo là Power Apps theo mô hình Canvas App), kết hợp Power Automate để tự động hóa gửi email và sử dụng ngôn ngữ biểu thức Power Fx để xử lý các sự kiện logic và truy vấn dữ liệu.

2. Dữ liệu của hệ thống quản lý dự án xây dựng được lưu trữ ở đâu?

Hệ thống sử dụng Microsoft SharePoint List và Microsoft Dataverse làm cơ sở dữ liệu trên nền tảng đám mây, được chia thành 5 danh sách chính: List dự án, List thành viên, List nhiệm vụ, List rủi ro và List báo cáo thống kê tiến độ.

3. Có những tác nhân nào tương tác với hệ thống và quyền hạn ra sao?

Có 3 tác nhân chính:

  • Admin (Người kiểm duyệt): Theo dõi tổng thể và phê duyệt các dự án mới.
  • Project Manager (Người quản lý): Tạo dự án, phân công nhiệm vụ, thêm/xóa thành viên, theo dõi tiến độ và xử lý phiếu rủi ro.
  • Thành viên làm việc: Tiếp nhận nhiệm vụ, cập nhật tiến độ công việc và gửi phiếu báo cáo sự cố/chấn thương.

4. Quá trình kiểm thử của hệ thống được tiến hành như thế nào và bao gồm những nội dung gì?

Hệ thống được kiểm thử vào ngày 28/09/2024 bởi 3 người thực hiện (Ngô Trung Hiếu, Vũ Huy Hoàng, Trần Hoài Nam) với 55 Test Cases (từ MA_01 đến MA_55) tập trung vào module Quản lý dự án, bao gồm 7 ca kiểm thử giao diện (GUI) và 48 ca kiểm thử chức năng (Tìm kiếm, Thêm, Sửa, Xóa). Toàn bộ 55 ca kiểm thử đều đạt kết quả PASS.

5. Kế hoạch thời gian hoàn thành dự án được ước lượng trong bao lâu?

Theo bảng ước lượng thời gian và lập lịch theo dõi trong văn bản (Bảng 2.2 và 2.3), tổng thời gian thực hiện toàn bộ các giai đoạn từ khảo sát, phân tích, thiết kế, cài đặt, kiểm thử đến đóng gói và bảo trì là khoảng 40 ngày làm việc.


Kết luận

Báo cáo chuyên đề môn Công nghệ phần mềm của nhóm sinh viên Trường Đại học Điện Lực đã trình bày đầy đủ quy trình phân tích, thiết kế và cài đặt thực nghiệm website quản lý dự án xây dựng bằng giải pháp Canvas App trên nền tảng Microsoft Power Platform và Power Fx. Đề tài đã giải quyết được bài toán chuyển đổi số từ việc quản lý thủ công bằng Excel sang hệ thống theo dõi trực tuyến với 5 phân hệ chức năng và cấu trúc dữ liệu trên SharePoint List. Kết quả kiểm nghiệm thực tế với 55 kịch bản kiểm thử đã chứng minh tính khả thi của mô hình ứng dụng Low-code trong việc tối ưu hóa quản lý tiến độ và an toàn lao động trong doanh nghiệp xây dựng.