事例のポイント
こちらの企業様では、Windows XPのサポート終了に伴い、Visual Basic 6.0(VB6)で構築された大規模な基幹システムのセキュリティリスク回避が急務となっていました。 そこで、既存のロジックを最大限活用し、Visual Basic .NET(VB.Net)への短期間での移行手法をご提案。クライアントと密に連携し、開発とテストを分担することで、品質を確保しつつ迅速な移行を実現しました。 この結果、期限内に移行を完了させ、システムの安定運用を確保するとともに、事業継続のリスクを回避することができました。
建設資材メーカーのI社様では、Windows XPのサポート終了に伴い、VB6で構築された基幹システム※3を新たな開発言語へ移行する必要がありました。
製造管理・販売管理など、基幹業務を支えるシステムがVB6資産のままでは、セキュリティ面でのリスクが増大し、業務の継続に支障をきたす懸念があったため、早急な対応が求められていました。
特に、対象となるシステムは製造管理・販売管理に関わる60の機能、99画面に及ぶ大規模なものであり、限られた期間内での移行作業が大きな課題となっていました。
当社は、短期間でのシステム移行を実現するため、既存のVB6ロジックを可能な限り流用し、VB.Netへのマイグレーション※4をご提案しました。
くわえて、外部ソフトウェアとの連携部分については、新環境でも円滑に利用できるよう、「ラッパー※5」と呼ばれる橋渡しの仕組みを構築。これにより、既存機能を保ちながら新環境へ移行することが可能となります。
移行後の品質は「新旧比較テスト」により担保し、統合テスト(業務シナリオテスト)についてはクライアント主導で実施いただくことで、業務知識面の不足を補完します。
クライアントと当社が一体となって取り組むことで、短期間でありながら高品質なマイグレーションの実現を目指しました。
開発は、以下のステップで段階的に進めました。
①現行資産の調査
現行資産(VB6)の構造および機能を詳細に分析し、全体像を把握しました。
②チーム編成
調査結果を踏まえ、ラッパー作成チームとVB.Netへの移行チームを編成。各チームが並行して作業を進めることで、開発期間の短縮を図りました。
③ルール策定
既存の不具合報告に関する手順を明文化し、軽微なものは稼働後の対応と整理。また、VB6とVB.Netの非互換事項に関する報告ルールも整備し、完成後のシステム像を事前にクライアントと共有しました。
④テスト仕様書のテンプレート化
テスト仕様書の一部をテンプレート化することで、テスト業務の生産性と品質を確保しました。
⑤顧客との連携
統合テスト(業務シナリオテスト)はクライアント主導で実施いただく体制を構築。当社は開発に専念できる環境を整え、両者の役割分担によりスムーズなプロジェクト推進を図りました。
今回のシステム開発により、以下の成果を実現しました。
①短納期でのプロジェクト完了
ラッパーの採用やテスト仕様書のテンプレート化により、多くの人材が関与する体制でも品質を一定に保つことが可能となりました。その結果、マイグレーションを短期間で完了し、Windows XPのサポート終了にも間に合わせることができました。
②高品質なシステム移行
既存ロジックの多くをラッパーを通じて動作保証付きで流用し、さらに統合テスト(業務シナリオテスト)をクライアント主導で実施いただくことで、イレギュラーな運用パターンにも対応。
これらの取り組みにより、受入後の不具合発生率は 0.06件/Kstep※6という非常に低い水準となり、予算内で高品質なシステム移行を実現しました。
※1 VB6(Visual Basic 6.0):Microsoftが提供していた開発言語です。1990年代から2000年代初頭にかけて多くの業務アプリケーションで使用されていました。現在はサポートが終了しており、新しい開発環境への移行が求められています。
※2 VB.Net(Visual Basic .NET):VB6の後継としてMicrosoftが提供するプログラミング言語です。.NET Framework上で動作し、保守性や堅牢性に優れたシステム開発が可能です。
※3 基幹システム:企業の中核となる業務を支えるシステムです。販売管理、生産管理、会計システムなどが該当します。
※4 マイグレーション:既存システムを新しい環境や言語に移行することを指します。機能の継承や資産の活用を維持しながら、保守性やセキュリティ性の向上を目的として実施されます。
※5 ラッパー:既存のプログラムや機能を新しいシステム上でも使用できるように包み込む中間処理のことです。短期間で互換性を保ちながら移行を進める手段として用いられます。
※6 Kstep(キロステップ):ソフトウェアの規模を表す単位で、1 Kstep は 1,000ステップ(行)のコードを意味します。不具合率などの定量的評価指標として用いられます。
お問い合わせはこちらから
課題やご要望を丁寧にお伺いし、最適なアプローチをご提案いたします。