AI支援で320万行超のVB6小売POS基幹システムをVB.NETへ移行
小売・日本のお客様・ AI支援VB6→VB.NET移行 ・15名・ Windowsアプリケーション
約320万行規模のVB6小売POS基幹システムでは、重要な業務ロジックと周辺機器連携を維持したままVB.NETへ移行する必要がありました。NEWWAVE SOLUTIONS JAPANは「CodeShift VB」を活用し、AIによるコード解析・修正支援とエンジニア検証を組み合わせて移行を実施しました。その結果、期間・コストを抑えながら、重要業務を安全に移行し、保守性と運用安定性を高める基盤を実現しました。
■ お客様の背景
お客様は、日本で工具・金物関連商品の小売事業を展開し、販売・仕入れ・在庫・支払いを管理するVB6ベースのPOS基幹システムを長年利用していました。
同システムは、商品マスタ、仕入れ、販売、支払い、在庫、棚卸し、レポートを一元管理するWindowsアプリケーションです。店舗スタッフや管理担当者が利用し、販売業務や在庫管理、経営判断を支える基幹システムとして運用されていました。
販売機会や在庫精度、店舗運営の安定性に直結するため、事業継続において重要な役割を担っていました。
■ ビジネス面での問題
既存のVB6システムは、販売、仕入れ、支払い、在庫、レポートなどの基幹業務を支える重要なシステムとして長年運用されていました。一方で、VB6環境の老朽化により、保守性、拡張性、長期的な運用継続性に課題が生じていました。
お客様は、既存業務を大きく変えるのではなく、これまで蓄積してきた業務ロジックを維持しながら、将来の業務変更やシステム改善にも対応しやすい環境へ移行する必要がありました。
移行を先送りすれば、VB6に対応できるエンジニアの確保が難しくなり、障害対応や機能改修にかかる時間とコストが増加するリスクがあります。また、既存システムへの依存が続くことで、店舗運営や事業拡大に必要な改善を進めにくくなり、長期的な事業継続性にも影響する可能性がありました。
■ 技術面での課題
本プロジェクトでは、320万行超の大規模なVB6アプリケーションをVB.NETへ移行する必要がありました。内訳として、業務ロジック部分は904,622 LOC、UI部分は2,353,718 LOCに及びました。その内容を十分に把握せずに移行を進めると、既存のビジネスロジックを変えてしまうリスクがありました。
UIコードが業務ロジックの約2.6倍に達していたことから、画面処理の重複やUI側へのロジック混在が存在する可能性もありました。そのため、従来型の手作業中心の移行では、調査・修正・テストの工数が大きく増加するリスクがありました。
また、システムはプリンタやスキャナなどのPOS周辺機器とも連携しており、コード変換だけでなく実機による互換性検証も求められました。
そのため、本プロジェクトでは、大規模コードの変換、挙動差異の管理、業務ロジックの維持、POS周辺機器との互換性検証を同時に進める必要がありました。
■ CodeShift VB のアプローチ
320万行超の大規模なVB6コードを効率的かつ安全に移行するため、本プロジェクトでは、VB6移行支援ソリューション「CodeShift VB」を活用し、段階的な移行アプローチを採用しました。
CodeShift VBは、AIによるコード分析・修正支援とエンジニアによる検証を組み合わせた移行支援ソリューションです。本プロジェクトでは、移行課題の可視化、AIによる修正支援、業務要件との整合性確認、POS周辺機器との互換性検証を段階的に実施し、移行品質を確保しました。

Step 01|課題を可視化する
まず、VB6のソースコードをVB.NETへ自動変換しました。その後、変換時に発生したエラーを一覧化し、優先的に対応すべき領域を可視化しました。320万行超の大規模システムでは、最初から手作業で個別修正を進めるのではなく、全体像を把握したうえで対応方針を設計することが重要でした。
Step 02|修正パターンを学習する
課題は、VB.NETでサポートされない要素に起因する大量の修正作業でした。チームはエラーパターンを分析し、AIに修正ルールを学習させることで、自動修正の仕組みを構築しました。その結果、反復作業を大幅に削減しながら、既存ロジックの維持を実現しました。
Step 03|挙動差異を管理する
テストで新たな問題が見つかった場合は、まずエンジニアがStep 02でAIによって検出・修正されたエラーをレビューし、業務要件や既存ロジックとの整合性を確認しました。そのうえで、問題をエラーパターンとして整理し、AIへ再学習させることで、自動修正の精度と作業効率を継続的に改善しました。 確認した差異は管理ドキュメントに集約し、業務影響を評価しました。VB.NET側の挙動を採用する場合はお客様と協議して方針を決定し、VB6と同じ挙動が必要な箇所はAIの分析結果をもとにエンジニアが確認しながら移行品質を管理しました。
Step 04|エンジニアと実機で検証する
AIによる修正後も、移行品質の最終判断はエンジニアが担いました。開発者がソースコードをレビューし、販売、在庫、支払いなどの重要な業務処理が既存ロジックと整合しているかを確認しました。 また、POS周辺機器(プリンタ、バーコードスキャナ、レシートプリンター)との連携確認も重要な課題でした。そのため、実機を用いたPOS検証環境を構築し、.NET対応ライブラリを選定・適用しました。これにより、移行後も既存ハードウェアで同等機能を維持できることを確認しました。
■ 技術選定のポイント
| 技術 | 採用理由 |
| .NET Framework 4.8 | VB6資産やPOS周辺機器との互換性を重視し、既存業務を維持しながら安全に移行するため.NET Framework 4.8を採用しました。 |
| Visual Studio Migration Wizard | 移行課題を把握するための初期診断として活用しました。約320万行のコードを自動変換し、発生した警告やエラーを分析することで、影響範囲や優先対応領域を早期に特定しました。 |
| AIによるエラーパターン分析・修正支援 | 大規模移行では、同種エラーの繰り返し修正による工数増加を防ぐため、AIでエラーパターンを分析し、修正作業を効率化しました。 |
| エンジニアによる挙動確認 | AI修正後も、販売・在庫・支払いなどの重要処理について、既存ロジックとの整合性や挙動差異を確認しました。 |
| POS実機環境での互換性検証 | POS周辺機器はコード変換だけでは動作保証が難しいため、実機検証環境を構築し、移行後も既存ハードウェアを継続利用できることを確認しました。 |
■ 移行リスクへの対応
POS周辺機器との連携は、移行時の大きなリスクの一つでした。プリンタ、スキャナ、バーコード機器、COM/USB接続機器などが移行後に正常に動作しなければ、レシート印刷、バーコード読取、ラベル発行などの店舗業務に影響し、追加改修や導入遅延につながる可能性がありました。
NEWWAVE SOLUTIONS JAPANは、このリスクを抑えるため、各デバイスのVB6側の接続方式、ドライバ、APIを確認し、.NET環境で利用可能なライブラリとの互換性を評価しました。そのうえで、既存機能の挙動を維持できる構成を選定し、実機環境で通信・印刷・読取などの動作を検証しました。
その結果、周辺機器を利用する機能についても旧システムと同等の動作を確認し、POS業務への影響や本番移行時のトラブルを抑えた安全な移行につなげました。
■ 結果
| 取り組み | 結果 |
| 移行生産性 | 1人あたり8,500 LOC/日の移行生産性を達成し、工数・期間・コストの削減につなげました。 |
| 業務ロジックの安全な継承 | 警告・エラー・挙動差異を整理し、一貫して対応できる品質管理体制を構築しました。 |
| POS周辺機器との連携確認 | VB6側の接続方式を特定し、.NET対応ライブラリを選定・適用しました。実機検証により、移行後も同等機能を維持し、安定動作を確認しました。 |
| ナレッジ移管 | 移行フローやリソース管理に関するトレーニングを実施し、お客様側でも移行後の管理・運用方法を理解しやすい体制を整えました。 |

※ 小売POS基幹システムの画面例
■ 事業への貢献
① 保守性と運用効率の向上
お客様は老朽化したVB6環境から脱却し、重要業務を次世代環境へ安全に移行しました。これにより、保守性と運用効率の向上を実現しました。
② 開発期間の短縮とコスト削減
AIを活用したコード解析・変換とエンジニアによるレビューを組み合わせることで、再開発と比較して開発期間の短縮とコスト削減を実現し、スムーズなモダナイゼーションを推進しました。
③ 事業継続性の確保
独立した検証環境で十分なテストと互換性確認を実施し、店舗運営や日常業務への影響を抑えながらシステム刷新を実現しました。これにより、事業継続性の確保と移行リスクの低減に貢献しました。
※ 移行完了後も、保守・運用フェーズで継続的に支援し、安定運用と今後の改善対応をサポートしています。
■ お客様からのご評価
お客様からは、品質・進捗・コストの面で高い評価をいただきました。また、移行時に発生した課題を整理しながら、必要な確認や説明を丁寧に行った点についても、実務に即した支援として評価されています。
お問い合わせ
VB6システムの移行をご検討中のお客様は、ぜひNewwave Solutionsまでお問い合わせください。
メール: [email protected]
電話: (+81) 70 3270 4945