Open棟梁Project - マイクロソフト系技術情報 Wiki
本ページでは、主にプログラム / ソース コードの移行・コンバージョンの作業範囲を扱います。
移行に関連のある、データプロバイダ。
使用しているデータプロバイダとサポート状況を確認してください。
ここでは移行・コンバージョン方式の種別として、便宜上以下の用語を使用します。
本ページでは、環境移行を、
「プログラムはそのまま利用できるが、プラットフォーム、ミドルなどが変更される場合」
とする。
プログラム / ソース コードの修正作業は発生しないが、
サーバなどの構築作業が発生するので、DBMSの移行(データ移行、再構築)などは比較的作業量が多くなる。
本ページでは、ポーティング移行を、
「いくらか手修正が必要になるプラットフォーム移植」
とする。
条件付コンパイルやツール / ライブラリ、ソース互換性サブシステムを使用することで移植性を向上させることもあるが、
プラットフォーム間でAPIのI/Fや挙動に差異がある場合は、ポーティング(移植)が必要になる。
本ページでは、コンバージョン移行を
「コンバージョン ツールを使ってソース コードをコンバージョンする場合」
とする。
本ページでは、手修正無しのコンバージョン移行を、
「コンバージョン ツールを使用してソース コードをコンバージョンし、そのままビルド、リリースできる場合」
とする(ただしテストは必要)。
開発ツール(ランタイム)のアップグレード(バージョンアップ)をする場合などに多い。
ただし、
などにより、若干のプログラム修正が必要になることもある。
本ページでは、手修正有りのコンバージョン移行を、
「コンバージョン ツールだけでは対応しきれない部分があり、その部分の手修正が必要になる場合」
とする。
開発ツール(ランタイム)の
などの内、
使用する3rdパーティ製ライブラリの
による代替品の利用により、ライブラリのI/O、I/F変更が発生するため、
修正の範囲が非常に大きくなることがあるので注意が必要。
上記のコンバージョン移行と同等に考える。
ライブラリの変更のみの場合など、手修正のみの(コンバージョンを伴わない)場合もある。
マイクロソフト製品のサポートの提供については、下記を参照下さい。
本ページでは、再構築を、
「母体システムの仕様を基にしてシステムを作り直す場合」
とする(本ページでは扱わない)。
以下、 環境移行 、 ポーティング移行 、 コンバージョン移行 の見積もり(移行見積もり)の概要について説明します。
説明の前提条件として以下のデータを使用します。
と仮定する。
と仮定する。
以下、移行に於けるテスト工程(CLの作成と消化)の工数について言及します。
新規開発時にCLを起す作業は、設計 / PGの工程で、作業者が母体の仕様を理解しているため高い生産性で遂行できる。
↓
移行時にCLを再作成するのは、作業者が母体の仕様を理解しながらになるので、生産性は、新規開発時より低くなる。
上記の理由により、移行時のテスト工程は、新規開発時のテスト工程の工数より多くかかると考えます。
↓
上記の理由により、移行時、既存のCLを全て流用可能でも、それ程生産性は高くならないと考えます。
また、実際には、テスト以外の作業も発生するため、更に工数を積む必要があるので注意が必要です。
移行見積もりの際は、これらの工数も忘れずに積み上げてください。以下に、それらの作業の一例を列挙します。
手修正作業は、環境移行に留まらない、ポーティング、手修正有りのコンバージョン移行が必要となる案件の場合に必要になる。
また、手修正作業の際、母体理解(リバースエンジニアリング)的な作業工数が追加で必要になることもある。
これらの作業工数の算出のため、前述のプログラムの移行性評価作業が重要になる。
Tags: :移行