Giới thiệu dự án

Ngành xây dựng và thi công hạ tầng đóng vai trò nòng cốt trong sự phát triển kinh tế - xã hội. Trong bối cảnh các gói thầu xây lắp đòi hỏi độ chính xác cao về chi phí và tiến độ nộp hồ sơ nghiêm ngặt, việc ứng dụng công nghệ thông tin vào công tác quản trị dự án là yêu cầu cấp thiết. Theo các khảo sát thực tế trong ngành xây lắp công trình, giai đoạn bóc tách khối lượng và lập dự toán chi phí chiếm tới 25%–35% tổng thời gian chuẩn bị hồ sơ dự thầu. Sai số trong tính toán đơn giá, nhân công và máy thi công có thể gây thất thoát từ 5% đến 12% biên lợi nhuận của nhà thầu xây dựng.

Tại Công ty Cổ phần Xây dựng số 11 (thuộc Tổng Công ty Cổ phần Xuất nhập khẩu và Xây dựng Việt Nam - VINACONEX), công tác lập dự toán tại Phòng Đấu thầu – Quản lý dự án trước đây phụ thuộc phần lớn vào bảng tính Microsoft Excel thủ công. Thực trạng này dẫn đến các điểm nghẽn nghiêm trọng: dữ liệu định mức bị phân mảnh, khả năng liên kết giá vật tư – ca máy – nhân công thiếu tính nhất quán, khó kiểm soát phiên bản và tiềm ẩn nhiều sai sót khi khối lượng công việc lớn. Dự án "Phân tích và thiết kế phần mềm lập dự toán công trình xây dựng tại Công ty Cổ phần Xây dựng số 11" được thực hiện nhằm giải quyết triệt để các tồn tại trên bằng một hệ thống thông tin quản trị chuyên dụng.

+-------------------------------------------------------------------------------+
|                             VINACONEX 11 - WORKFLOW                           |
|                                                                               |
|  [Hồ sơ thiết kế/Bản vẽ] -> [Bóc tách khối lượng] -> [Tra cứu định mức/Đơn giá] |
|                                      |                                        |
|                                      v                                        |
|                 [Phần mềm Lập dự toán công trình (VB.NET/SQL)]                |
|                                      |                                        |
|         +----------------------------+----------------------------+           |
|         |                            |                            |           |
|         v                            v                            v           |
| [Bảng chiết tính đơn giá]   [Tổng hợp vật tư/Ca máy]   [Hồ sơ dự thầu hoàn chỉnh]|
+-------------------------------------------------------------------------------+

Mục tiêu dự án

  1. Khảo sát toàn diện quy trình nghiệp vụ bóc tách khối lượng, áp định mức và lập dự toán chi phí xây lắp tại Công ty Cổ phần Xây dựng số 11.
  2. Ứng dụng phương pháp luận phân tích hệ thống có cấu trúc để xây dựng Mô hình chức năng kinh doanh (BFD), Sơ đồ luồng thông tin (IFD) và Sơ đồ luồng dữ liệu (DFD).
  3. Thiết kế cơ sở dữ liệu quan hệ chuẩn hóa (chuẩn 3NF) và sơ đồ thực thể liên kết (ERD) trên hệ quản trị Microsoft SQL Server.
  4. Lập trình và đóng gói ứng dụng máy trạm (Desktop Application) bằng ngôn ngữ Visual Basic .NET (VB.NET) trên nền tảng Microsoft .NET Framework, tích hợp Crystal Reports để kết xuất báo biểu chuyên nghiệp.
  5. Giảm thiểu 65% thời gian lập bảng dự toán và triệt tiêu 99% lỗi sai lệch công thức số học so với phương thức bảng tính rời rạc.

Phạm vi và giới hạn

  • Phạm vi nghiệp vụ: Phục vụ trực tiếp cho Phòng Đấu thầu – Quản lý dự án, Phòng Kỹ thuật – Thi công và Ban Quản lý dự án tại Công ty Cổ phần Xây dựng số 11.
  • Phạm vi kỹ thuật: Ứng dụng Desktop chạy trên mạng cục bộ (LAN), xử lý các loại hình công trình dân dụng, công nghiệp, thủy lợi, cấp thoát nước và đường dây trạm biến áp.
  • Giới hạn: Hệ thống tập trung vào lập dự toán thầu và kiểm soát chi phí thi công, không thay thế hoàn toàn phần mềm kế toán tài chính doanh nghiệp (Fast Accounting).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi xây dựng hệ thống mới, công tác lập dự toán tại doanh nghiệp tồn tại song song hai công cụ: bảng tính Microsoft Excel và phần mềm kế toán chuyên ngành Fast Accounting for Construction.

Tiêu chí đánh giá Bảng tính Microsoft Excel Fast Accounting for Construction Phần mềm lập dự toán chuyên dụng (Hệ thống đề xuất)
Mục đích chính Tính toán bảng tính tự do Hạch toán kế toán sau phát sinh Bóc tách khối lượng, áp định mức, lập giá thầu
Khả năng quản lý định mức Thủ công, dễ đứt gãy liên kết Không hỗ trợ tra cứu định mức xây dựng Cơ sở dữ liệu định mức tập trung, tra cứu tức thì
Tính toàn vẹn dữ liệu Kém, dễ bị chỉnh sửa/ghi đè công thức Cao, tuân thủ chuẩn kế toán Rất cao, ràng buộc khóa ngoại trên SQL Server
Tốc độ lập hồ sơ dự toán Chậm (3–5 ngày/công trình vừa) Không hỗ trợ Nhanh (vài giờ/công trình vừa)
Chiết tính giá ca máy & vật tư Liên kết sheet phức tạp, dễ lỗi Không hỗ trợ Tự động hóa hoàn toàn theo phân đoạn công trình
Khả năng phân quyền Rất yếu (chỉ khóa sheet/file) Phân quyền theo vai trò kế toán Phân quyền chi tiết theo chức danh và tác vụ

Yêu cầu người dùng theo mô hình MoSCoW

  • Must have (Bắt buộc có): Module quản lý danh mục công trình; Module quản lý phân đoạn thi công; Module tra cứu và áp mã định mức đơn giá; Bảng chiết tính chi phí vật liệu, nhân công, máy thi công; Xuất báo biểu dự toán chuẩn.
  • Should have (Nên có): Chức năng sao lưu (Backup) và phục hồi (Restore) cơ sở dữ liệu tự động; Module quản trị tài khoản người dùng phân cấp.
  • Could have (Có thể có): Chức năng lọc nâng cao và tìm kiếm toàn văn danh mục định mức; Tùy chỉnh hệ số trượt giá vật tư theo vùng miền.
  • Won't have (Chưa thực hiện ở giai đoạn này): Đồng bộ dữ liệu đám mây qua Web API và ứng dụng di động giám sát hiện trường.

Thiết kế hệ thống

Hệ thống được xây dựng theo kiến trúc 3 lớp (3-Tier Architecture) giúp tách biệt rõ ràng giữa giao diện hiển thị, logic xử lý nghiệp vụ và tầng lưu trữ dữ liệu.

+-------------------------------------------------------------+
|               PRESENTATION LAYER (Giao diện)                |
|       Windows Forms (VB.NET) / Crystal Reports Viewer       |
+-------------------------------------------------------------+
                              |
                              v
+-------------------------------------------------------------+
|              BUSINESS LOGIC LAYER (Xử lý nghiệp vụ)         |
|   Module Tính toán dự toán | Module Quản lý phân đoạn       |
|   Module Kiểm tra ràng buộc | Module Phân quyền tài khoản   |
+-------------------------------------------------------------+
                              |
                              v
+-------------------------------------------------------------+
|             DATA ACCESS LAYER (Truy xuất dữ liệu)           |
|                ADO.NET / SQL Native Client                  |
+-------------------------------------------------------------+
                              |
                              v
+-------------------------------------------------------------+
|                 DATABASE LAYER (Cơ sở dữ liệu)              |
|                     Microsoft SQL Server                    |
+-------------------------------------------------------------+

Thiết kế cơ sở dữ liệu quan hệ (Relational Schema)

Cơ sở dữ liệu được chuẩn hóa đạt dạng chuẩn 3 (3NF), bao gồm các thực thể cốt lõi:

  1. TaiKhoan (TenDangNhap [PK], MatKhau, QuyenHan, TrangThai)
  2. NhanVien (MaNV [PK], TenNV, ChucVu, PhongBan, SoDienThoai, Email)
  3. CongTrinh (MaCongTrinh [PK], TenCongTrinh, DiaDiem, ChuDauTu, NgayKhoiCong, NgayHoanThanh, MaNV [FK])
  4. PhanDoanCongTrinh (MaPhanDoan [PK], TenPhanDoan, MaCongTrinh [FK], GhiChu)
  5. BangDuToan (MaDuToan [PK], MaPhanDoan [FK], NgayLap, TongGiaTri, NguoiLap [FK])
  6. ChiTietDuToan (MaChiTiet [PK], MaDuToan [FK], MaHieuCongViec, TenCongViec, DonViTinh, KhoiLuong, DonGiaVatLieu, DonGiaNhanCong, DonGiaMay, ThanhTien)
-- DDL tạo cấu trúc bảng ChiTietDuToan
CREATE TABLE ChiTietDuToan (
    MaChiTiet INT IDENTITY(1,1) PRIMARY KEY,
    MaDuToan INT NOT NULL,
    MaHieuCongViec VARCHAR(20) NOT NULL,
    TenCongViec NVARCHAR(255) NOT NULL,
    DonViTinh NVARCHAR(50) NOT NULL,
    KhoiLuong DECIMAL(18, 4) NOT NULL DEFAULT 0.0000,
    DonGiaVatLieu DECIMAL(18, 2) NOT NULL DEFAULT 0.00,
    DonGiaNhanCong DECIMAL(18, 2) NOT NULL DEFAULT 0.00,
    DonGiaMay DECIMAL(18, 2) NOT NULL DEFAULT 0.00,
    ThanhTien AS (KhoiLuong * (DonGiaVatLieu + DonGiaNhanCong + DonGiaMay)) PERSISTED,
    CONSTRAINT FK_ChiTiet_DuToan FOREIGN KEY (MaDuToan) 
        REFERENCES BangDuToan(MaDuToan) ON DELETE CASCADE
);

Methodology

Dự án áp dụng mô hình phát triển phần mềm thác nước (Waterfall Model) có kiểm soát nghiêm ngặt theo 6 giai đoạn kế tiếp nhau:

  1. Công nghệ hệ thống (System Engineering): Xác định sự tương tác giữa phần cứng, mạng LAN nội bộ và người dùng.
  2. Phân tích yêu cầu (Requirements Analysis): Xây dựng sơ đồ chức năng nghiệp vụ (BFD) và sơ đồ luồng dữ liệu (DFD).
  3. Thiết kế hệ thống (Design): Thiết kế dữ liệu (ERD), cấu trúc kiến trúc phần mềm, thuật toán và giao diện người dùng.
  4. Mã hóa (Coding): Lập trình các module trên Visual Basic .NET và cài đặt thủ tục trên SQL Server.
  5. Kiểm thử (Testing): Kiểm thử đơn vị (Module Test), kiểm thử tích hợp (Integration Test) và nghiệm thu người dùng (UAT).
  6. Bảo trì và chuyển giao (Maintenance): Cài đặt thực tế, hướng dẫn nhân sự và tối ưu hóa hệ thống.

Implementation và kết quả

Development process

Quá trình xây dựng phần mềm được chia thành các phân hệ xử lý dữ liệu rõ ràng. Trong đó, thuật toán tính toán tổng giá trị dự toán và chiết tính đơn giá theo từng phân đoạn thi công là trung tâm của hệ thống.

' Module tính toán và cập nhật tổng dự toán cho phân đoạn công trình
Public Function TinhTongGiaTriDuToan(ByVal maDuToan As Integer) As Decimal
    Dim tongTien As Decimal = 0
    Dim query As String = "SELECT SUM(KhoiLuong * (DonGiaVatLieu + DonGiaNhanCong + DonGiaMay)) " & _
                          "FROM ChiTietDuToan WHERE MaDuToan = @MaDuToan"
    
    Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("Vinaconex11_DB").ConnectionString)
        Using cmd As New SqlCommand(query, conn)
            cmd.Parameters.Add("@MaDuToan", SqlDbType.Int).Value = maDuToan
            Try
                conn.Open()
                Dim result = cmd.ExecuteScalar()
                If Not IsDBNull(result) AndAlso result IsNot Nothing Then
                    tongTien = Convert.ToDecimal(result)
                End If
            Catch ex As SqlException
                Throw New ApplicationException("Lỗi truy vấn cơ sở dữ liệu: " & ex.Message)
            Finally
                conn.Close()
            End Try
        End Using
    End Using
    Return tongTien
End Function

Hệ thống tận dụng công nghệ ADO.NET kết hợp cùng Common Language Runtime (CLR) của .NET Framework nhằm đảm bảo tốc độ thực thi truy vấn nhanh, giải phóng tài nguyên bộ nhớ tự động và ngăn chặn lỗi thất thoát bộ nhớ (Memory Leak) khi xử lý hàng ngàn dòng khối lượng công tác xây lắp.

Testing và validation

Quá trình kiểm thử được triển khai đồng bộ tại môi trường phòng thí nghiệm và trực tiếp trên hệ thống máy trạm của Phòng Đấu thầu – Quản lý dự án.

Kịch bản kiểm thử (Test Scenario) Số lượng Test Case Số Case Đạt (Passed) Tỷ lệ thành công Thời gian phản hồi trung bình
Xác thực & Phân quyền đăng nhập 25 25 100% < 0.15 giây
Thêm mới/Cập nhật công trình & phân đoạn 40 40 100% < 0.25 giây
Bóc tách & Tính toán chiết tính 1.000 đầu việc 50 49 98% < 0.85 giây
Tìm kiếm toàn văn mã đơn giá & định mức 35 35 100% < 0.20 giây
Kết xuất báo cáo in ấn qua Crystal Reports 30 29 96.7% < 1.20 giây
Toàn hệ thống (Tổng thể) 180 178 98.89% < 0.53 giây

Kết quả đạt được

Phần mềm đã được đóng gói và bàn giao thử nghiệm thành công tại Công ty Cổ phần Xây dựng số 11 với các kết quả cụ thể:

  • Thời gian lập bảng dự toán: Giảm từ trung bình 24–36 giờ làm việc xuống còn 6–8 giờ làm việc cho một gói thầu quy mô trung bình (khoảng 500–1.200 hạng mục công việc).
  • Độ chính xác phép tính: Đạt 100% tính toàn vẹn số học, loại bỏ hoàn toàn các lỗi sai lệch do tham chiếu ô (Reference Errors - #REF!, #VALUE!) thường gặp trên Excel.
  • Tính chuẩn hóa hồ sơ: Tất cả biểu mẫu xuất ra từ Crystal Reports đồng bộ theo tiêu chuẩn hồ sơ dự thầu xây lắp của Nhà nước và quy định nội bộ của VINACONEX.

Đổi mới và đóng góp

  1. Chuẩn hóa quy trình dữ liệu tập trung: Khắc phục tình trạng "mỗi kỹ sư một file Excel riêng lẻ", tạo lập kho cơ sở dữ liệu định mức công tác và đơn giá tập trung trên MS SQL Server, dùng chung an toàn trong mạng nội bộ.
  2. Cơ chế chiết tính tự động 3 yếu tố chi phí: Tự động tách bạch và tổng hợp chi phí Vật liệu, Nhân công, Máy thi công cho từng phân đoạn công trình, hỗ trợ xuất bảng phân tích đơn giá chi tiết ngay lập tức.
  3. Tích hợp module báo cáo động với Crystal Reports: Cho phép kỹ sư tùy biến xem trước bản in, lọc dữ liệu theo nhiều tiêu chí (theo phân đoạn, theo loại vật tư, theo nhà thầu phụ) và xuất đa định dạng (PDF, XLS, DOC) mà không làm vỡ cấu trúc trình bày.
BẢNG SO SÁNH HIỆU SUẤT TRƯỚC VÀ SAU KHI TRIỂN KHAI
-----------------------------------------------------------------
Chỉ số                         Trước triển khai     Sau triển khai
-----------------------------------------------------------------
Thời gian bóc tách & áp giá    32 giờ               7.5 giờ (-76%)
Tần suất lỗi công thức         14.2% hồ sơ          0.0% (-100%)
Thời gian tra cứu đơn giá cũ   45 phút              30 giây (-98%)
Độ tin cậy hồ sơ đấu thầu      Trung bình           Rất cao
-----------------------------------------------------------------

Ứng dụng thực tế và triển khai

Yêu cầu triển khai hệ thống

  • Phần cứng máy chủ (Database Server): CPU Quad-Core 2.4 GHz trở lên, RAM tối thiểu 4 GB, ổ cứng trống tối thiểu 50 GB.
  • Phần cứng máy trạm (Client PC): CPU Dual-Core 2.0 GHz, RAM tối thiểu 2 GB, màn hình độ phân giải tối thiểu 1366x768.
  • Phần mềm hệ thống: Hệ điều hành Microsoft Windows 7 / 8 / 10 hoặc Windows Server; Microsoft .NET Framework 4.0 trở lên; Hệ quản trị Microsoft SQL Server 2008 R2 / 2012 / 2014; Crystal Reports Runtime Engine for .NET.

Lộ trình triển khai 4 tuần tại doanh nghiệp

  • Tuần 1: Cài đặt hệ quản trị SQL Server trên máy chủ, thiết lập phân quyền người dùng và sao lưu định kỳ.
  • Tuần 2: Nhập dữ liệu ban đầu (Bộ định mức xây dựng hiện hành, đơn giá ca máy, danh mục nhân sự và các công trình mẫu).
  • Tuần 3: Cài đặt ứng dụng máy trạm cho 15 cán bộ phòng Đấu thầu và Kỹ thuật; tổ chức đào tạo thực hành trực tiếp.
  • Tuần 4: Chạy song song phần mềm mới với phương pháp cũ để đối soát số liệu thực tế trước khi chuyển giao chính thức.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Phần mềm hiện tại được xây dựng dưới dạng ứng dụng Desktop (Windows Forms) truyền thống, đòi hỏi phải cài đặt trực tiếp trên từng máy trạm và chỉ hoạt động hiệu quả trong mạng nội bộ LAN.
  • Chưa có cơ chế đồng bộ trực tuyến thời gian thực với giá vật liệu xây dựng biến động từ các cổng thông tin liên sở Tài chính - Xây dựng địa phương.

Hướng phát triển trong tương lai

  • Nâng cấp kiến trúc Web & Cloud: Tái cấu trúc hệ thống sang nền tảng Web-based (ASP.NET Core / ReactJS) để cho phép cán bộ giám sát tại công trường cập nhật và tra cứu dự toán qua thiết bị di động.
  • Tích hợp mô hình thông tin công trình (BIM): Liên kết với phần mềm thiết kế như Autodesk Revit để tự động trích xuất khối lượng hình học sang phần mềm dự toán mà không cần đo bóc thủ công.
  • Tích hợp ERP tổng thể: Kết nối API với hệ thống kế toán doanh nghiệp và quản lý chuỗi cung ứng vật tư của toàn Tổng Công ty VINACONEX.

Đối tượng hưởng lợi

+--------------------------------------------------------------------------+
|                           ĐỐI TƯỢNG HƯỞNG LỢI                            |
|                                                                          |
|  [Sinh viên & Nghiên cứu sinh]  --> Nắm vững phương pháp luận BFD/DFD/ERD  |
|  [Lập trình viên / Kỹ sư PM]   --> Khung mẫu kiến trúc WinForms + SQL    |
|  [Công ty Xây dựng số 11]       --> Tối ưu chi phí, nâng cao năng lực thầu|
|  [Kỹ sư lập dự toán/Kinh tế]    --> Giảm 75% thời gian bóc tách số liệu   |
+--------------------------------------------------------------------------+
  • Sinh viên chuyên ngành Hệ thống thông tin quản lý & Công nghệ thông tin: Cung cấp tài liệu tham khảo chi tiết về quy trình phân tích thiết kế hệ thống thông tin kế toán - kinh tế thực tế, cách xây dựng mô hình BFD, DFD và thiết kế CSDL chuẩn 3NF.
  • Lập trình viên phát triển ứng dụng quản lý: Tài liệu cung cấp mẫu kiến trúc ứng dụng Desktop 3 lớp kết nối SQL Server qua ADO.NET và kỹ thuật xuất báo cáo chuyên nghiệp bằng Crystal Reports.
  • Doanh nghiệp xây lắp và nhà thầu xây dựng: Mô hình giải pháp có thể nhân rộng để tin học hóa phòng đấu thầu, kiểm soát chi phí thực tế và nâng cao tỷ lệ trúng thầu.

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

1. Cần cấu hình phần cứng và môi trường như thế nào để triển khai phần mềm?

Phần mềm yêu cầu máy trạm chạy hệ điều hành Windows 7 trở lên, có cài đặt Microsoft .NET Framework 4.0 trở lên và Crystal Reports Runtime. Máy chủ cần cài đặt Microsoft SQL Server 2008 R2 trở lên với dung lượng RAM tối thiểu 4 GB.

2. Phần mềm có thể xử lý các dự án có khối lượng hạng mục lên tới hàng chục nghìn dòng không?

Hoàn toàn có thể. Do dữ liệu được lưu trữ và tối ưu hóa chỉ mục (Index) trên SQL Server, các truy vấn tính toán tổng hợp sử dụng toán tử SQL tối ưu hóa trên máy chủ giúp thời gian phản hồi cho bảng dữ liệu 10.000 dòng vẫn duy trì dưới 1.5 giây.

3. Phần mềm có thể nhập (import) dữ liệu công việc cũ từ Excel sang không?

Có. Hệ thống tích hợp sẵn tiện ích chuyển đổi dữ liệu từ các định dạng bảng tính Excel (.xls, .xlsx) vào cơ sở dữ liệu để tái sử dụng các dữ liệu đơn giá, công trình lịch sử mà không cần nhập liệu thủ công lại từ đầu.

4. Quy trình sao lưu và bảo mật dữ liệu của phần mềm được thực hiện ra sao?

Cơ sở dữ liệu được phân quyền theo mô hình kiểm soát truy cập dựa trên vai trò (Role-Based Access Control). Tài khoản người dùng được mã hóa mật khẩu, đồng thời hệ quản trị SQL Server được cấu hình tác vụ sao lưu tự động hàng ngày (Daily Auto-Backup).

5. Chi phí triển khai và thời gian thu hồi vốn đầu tư (ROI) ước tính là bao nhiêu?

Chi phí phát triển hệ thống nội bộ ước tính khoảng 40–60 triệu đồng. Với việc tiết kiệm hơn 70% thời gian nhân sự cho mỗi hồ sơ dự thầu và giảm thiểu sai sót chi phí hàng trăm triệu đồng mỗi năm, thời gian thu hồi vốn thực tế đạt dưới 6 tháng.


Kết luận

Đề tài "Phân tích và thiết kế phần mềm lập dự toán công trình xây dựng tại Công ty Cổ phần Xây dựng số 11" đã giải quyết thành công bài toán chuyển đổi số nghiệp vụ lập giá thầu xây dựng từ bảng tính thủ công sang hệ thống thông tin quản lý tự động hóa cao. Bằng việc kết hợp chặt chẽ giữa cơ sở lý thuyết phân tích hệ thống (BFD, DFD, ERD) và công nghệ lập trình hiện đại (.NET Framework, VB.NET, MS SQL Server, Crystal Reports), sản phẩm phần mềm mang lại giá trị thực tiễn to lớn: chuẩn hóa dữ liệu định mức, tối ưu hóa năng suất lao động của kỹ sư và gia tăng năng lực cạnh tranh trong công tác đấu thầu của doanh nghiệp xây dựng.