2025/10/24

Share

  • Share on Facebook
  • Share on Twitter

Chuyển đổi hệ thống sản xuất tại nhà máy từ VB6 sang C# và .NET Framework Chuyển đổi hệ thống sản xuất tại nhà máy từ VB6 sang C# và .NET Framework

Tổng quan dự án

Chúng tôi đã thực hiện dự án chuyển đổi ứng dụng desktop cũ dựa trên Windows XP đang vận hành trên dây chuyền sản xuất của nhà máy sang môi trường Windows 10. Bằng cách tái cấu trúc logic của hệ thống hiện tại được xây dựng bằng VB6 sang C# và .NET Framework, chúng tôi đã loại bỏ rủi ro vận hành do hệ điều hành lỗi thời, đồng thời thực hiện chuyển đổi sang hệ thống mới đảm bảo khả năng bảo trì và mở rộng trong tương lai.

Ngăn xếp công nghệ và công cụ phát triển đã sử dụng

  • Ngôn ngữ lập trình: VB6, C#
  • Back end framework: .NET Framework
  • Database: Oracle
  • Communication tool: Redmine

Thách thức của khách hàng

Rủi ro trong hoạt động kinh doanh liên tục do kết thúc hỗ trợ HĐH và phần cứng lỗi thời

Hệ thống hiện tại đang chạy trên Windows XP đã kết thúc hỗ trợ, và bản thân phần cứng cũng đang dần lỗi thời. Khách hàng phải đối mặt với rủi ro nghiêm trọng là không thể tìm được thiết bị thay thế khi xảy ra sự cố, một vấn đề có thể dẫn đến ngừng hoạt động dây chuyền sản xuất của nhà máy. Từ góc độ Kế hoạch Kinh doanh Liên tục (BCP), việc giải quyết tình trạng này là một nhiệm vụ cấp bách. Do đó, việc chuyển đổi hệ thống sang môi trường Windows 10 vẫn còn được hỗ trợ là yêu cầu cấp thiết. Yêu cầu quan trọng nhất của khách hàng là hệ thống mới phải hoạt động ổn định với chức năng và hiệu suất hoàn toàn tương tự như hệ thống hiện tại.

Yêu cầu của khách hàng

Đảm bảo tương đương chức năng hoàn toàn với hệ thống hiện tại để không làm gián đoạn quy trình nghiệp vụ

Khách hàng yêu cầu hệ thống mới phải tái tạo 100% tất cả các chức năng và quy trình nghiệp vụ hiện có, để không gây ra bất kỳ thay đổi hay gián đoạn nào cho quy trình nghiệp vụ của nhà máy sau khi chuyển đổi. Việc giữ thay đổi về giao diện người dùng (UI) và trải nghiệm vận hành (UX) ở mức tối thiểu được đặc biệt coi trọng, nhằm giúp người vận hành tại chỗ có thể tiếp tục công việc một cách trơn tru như trước đây mà không cảm thấy căng thẳng do việc chuyển đổi.

Tuân thủ quy ước lập trình nghiêm ngặt để đảm bảo khả năng bảo trì và chất lượng, hướng đến khả năng mở rộng trong tương lai

Để việc chuyển đổi này không chỉ đơn thuần là kéo dài tuổi thọ hệ thống, mà còn giúp dễ dàng bổ sung tính năng và sửa đổi trong tương lai, khách hàng yêu cầu tuân thủ tuyệt đối các quy ước lập trình (Coding Conventions) nghiêm ngặt do họ đặt ra. Việc tuân thủ các quy tắc đa dạng như quy tắc đặt tên, xử lý lỗi, phân chia mô-đun, và quy tắc bình luận, đồng thời triển khai mã nguồn chất lượng cao, dễ đọc và dễ bảo trì, được coi là điều không thể thiếu để nâng cao giá trị tài sản kỹ thuật của hệ thống mới.

Đề xuất và phương pháp tiếp cận của chúng tôi

Phát triển và tận dụng công cụ chuyển đổi độc quyền để thực hiện chuyển đổi mã nguồn quy mô lớn một cách nhanh chóng và chính xác

Khối lượng mã nguồn cần chuyển đổi là rất lớn. Nếu thực hiện toàn bộ bằng tay, sẽ có những lo ngại về chi phí nhân công, thời gian, và rủi ro suy giảm chất lượng do lỗi con người. Vì vậy, chúng tôi đã nhanh chóng phát triển và giới thiệu công cụ nội bộ độc quyền hỗ trợ chuyển đổi mã nguồn từ VB6 sang C#. Công cụ này đã tự động hóa cao độ quy trình chuyển đổi mang tính định hình và máy móc, giúp cải thiện vượt bậc hiệu suất phát triển. Đồng thời, việc đảm bảo tính đồng nhất trong độ chính xác chuyển đổi đã góp phần bảo đảm chất lượng và rút ngắn đáng kể thời gian tổng thể của dự án.

Nắm bắt logic nghiệp vụ bằng cách phân tích mã nguồn mà không phụ thuộc vào môi trường thực tế, tránh chậm trễ

Sau khi dự án bắt đầu, việc cung cấp môi trường máy thực tế của hệ thống cũ (Windows XP) đã bị trì hoãn đáng kể so với dự kiến. Thông thường, chúng tôi sẽ vận hành máy thực tế để hiểu quy trình nghiệp vụ, nhưng trong tình huống không thể thực hiện được điều đó, có nguy cơ toàn bộ dự án sẽ bị đình trệ. Chúng tôi đã ngay lập tức thay đổi phương pháp tiếp cận, áp dụng kỹ thuật phân tích ngược (reverse engineering) mã nguồn VB6 được cung cấp một cách triệt để. Bằng cách trích xuất trực tiếp logic xử lý chi tiết và các quy tắc nghiệp vụ ngầm định từ mã nguồn, chúng tôi đã hoàn toàn tránh được rủi ro chậm trễ do phụ thuộc vào môi trường, đồng thời hoàn thành việc chuyển giao chức năng đầy đủ sang hệ thống mới.

Không chỉ “chuyển đổi là xong”: Cải thiện triệt để chất lượng mã nguồn và khả năng bảo trì bằng cách tái cấu trúc (refactoring) sau khi chuyển đổi

Mã nguồn VB6 ban đầu, do kết quả của nhiều năm sửa đổi lặp lại, đã không được chuẩn hóa và ở trong tình trạng rất khó đọc và thiếu nhất quán. Nếu chỉ đơn thuần “chuyển đổi nguyên trạng” sang C#, các vấn đề về khả năng bảo trì trong tương lai (nợ kỹ thuật) sẽ bị kế thừa nguyên vẹn. Chúng tôi đã tích hợp quy trình xem xét toàn bộ mã nguồn và chuẩn hóa (refactoring) thành một công đoạn bắt buộc sau khi chuyển đổi sang C#. Bằng cách tái cấu trúc mã nguồn sau khi chuyển đổi tự động một cách cẩn thận và tuân thủ hoàn toàn các quy ước của khách hàng, chúng tôi đã nỗ lực giải quyết nợ kỹ thuật, đảm bảo hệ thống mới trở thành một tài sản kỹ thuật chất lượng cao, dễ dàng vận hành và bảo trì trong thời gian dài.