Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

本ページでは、主にプログラム / ソース コードの移行・コンバージョンの作業範囲を扱います。

内部リンク

アプリケーションの移行

ネイティブ・アプリケーション

.NET・アプリケーション

データプロバイダ

移行に関連のある、データプロバイダ。

使用しているデータプロバイダとサポート状況を確認してください。

その他、移行

プラットフォーム

サーバ

仮想化

テスト

保守、延命

移行・コンバージョン方式の種別について

ここでは移行・コンバージョン方式の種別として、便宜上以下の用語を使用します。

環境移行

本ページでは、環境移行を、

「プログラムはそのまま利用できるが、プラットフォーム、ミドルなどが変更される場合」

とする。

プログラム / ソース コードの修正作業は発生しないが、
サーバなどの構築作業が発生するので、DBMSの移行(データ移行、再構築)などは比較的作業量が多くなる。

ポーティング移行

本ページでは、ポーティング移行を、

「いくらか手修正が必要になるプラットフォーム移植」

とする。

条件付コンパイルやツール / ライブラリソース互換性サブシステムを使用することで移植性を向上させることもあるが、
プラットフォーム間でAPIのI/Fや挙動に差異がある場合は、ポーティング(移植)が必要になる。

コンバージョン移行

本ページでは、コンバージョン移行を

「コンバージョン ツールを使ってソース コードをコンバージョンする場合」

とする。

手修正無しのコンバージョン移行

本ページでは、手修正無しのコンバージョン移行を、

「コンバージョン ツールを使用してソース コードをコンバージョンし、そのままビルド、リリースできる場合」

とする(ただしテストは必要)。

開発ツール(ランタイム)のアップグレード(バージョンアップ)をする場合などに多い。

ただし、

などにより、若干のプログラム修正が必要になることもある。

手修正有りのコンバージョン移行

本ページでは、手修正有りのコンバージョン移行を、

「コンバージョン ツールだけでは対応しきれない部分があり、その部分の手修正が必要になる場合」

とする。

開発ツール(ランタイム)の

などの内、

使用する3rdパーティ製ライブラリの

による代替品の利用により、ライブラリのI/O、I/F変更が発生するため、
修正の範囲が非常に大きくなることがあるので注意が必要。

開発ツール(ランタイム)のアップグレード、バージョンアップ

上記のコンバージョン移行と同等に考える。
ライブラリの変更のみの場合など、手修正のみの(コンバージョンを伴わない)場合もある。

マイクロソフト製品のサポートの提供については、下記を参照下さい。

再構築

本ページでは、再構築を、

「母体システムの仕様を基にしてシステムを作り直す場合」

とする(本ページでは扱わない)。

移行見積もりの概要

以下、 環境移行 、 ポーティング移行 、 コンバージョン移行 の見積もり(移行見積もり)の概要について説明します。

説明の前提条件として以下のデータを使用します。

と仮定する。

と仮定する。

テスト工程の工数

以下、移行に於けるテスト工程(CLの作成と消化)の工数について言及します。

CL作成工数

新規開発時にCLを起す作業は、設計 / PGの工程で、作業者が母体の仕様を理解しているため高い生産性で遂行できる。

移行時にCLを再作成するのは、作業者が母体の仕様を理解しながらになるので、生産性は、新規開発時より低くなる。

上記の理由により、移行時のテスト工程は、新規開発時のテスト工程の工数より多くかかると考えます。

CL消化工数

上記の理由により、移行時、既存のCLを全て流用可能でも、それ程生産性は高くならないと考えます。

その他の工数

また、実際には、テスト以外の作業も発生するため、更に工数を積む必要があるので注意が必要です。

移行見積もりの際は、これらの工数も忘れずに積み上げてください。以下に、それらの作業の一例を列挙します。

環境移行

手修正作業

手修正作業は、環境移行に留まらない、ポーティング、手修正有りのコンバージョン移行が必要となる案件の場合に必要になる。

また、手修正作業の際、母体理解(リバースエンジニアリング)的な作業工数が追加で必要になることもある。

これらの作業工数の算出のため、前述のプログラムの移行性評価作業が重要になる。

参考


Tags: :移行


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS