既存アプリケーションを、新しい技術・プラットホームなどで再構築する際に、既存のアプリケーションのソースコードを開示がされれば、その既存アプリケーションの全機能をソースコードから解析できるために、要件定義あるいは設計の精度が増す、あるいはユーザ側の関与を減らせるという意見があります。
個人的には賛成できないのですが、反論するためには材料が必要です。
ソースコードのみから初めて見るアプリケーションの機能をすべて把握することは難しく、現実的ではないということが書かれている論文、記事(書籍、雑誌、Webなど)があれば教えて欲しいです。
既存アプリケーションが、古いメインフレームで動いていてCOBOLの解析ができるエンジニアが少ないというような状況は想定せずに、技術的には比較的新しいWindowsやVB.NETなどを使っているケースを考えています。
>その既存アプリケーションの全機能をソースコードから解析できるために、
>要件定義あるいは設計の精度が増す、あるいはユーザ側の関与を減らせるという意見があります。
これがそのままデメリットでなのですが・・・。
勝手な要件定義、バグありの設計をされ、ユーザーが余り関与しないので、出来上がったシステムは、
システムとしては正しいが、業務としては使えないものになる。
ソースコードを開示の前に、既存システムの要件定義書、設計書を開示するのが先でしょう。
それがないのなら、ソース開示は必要でしょうね。
>A社が作った要件定義書、設計書、ソースコードを別のB社に渡して、B社が全ての機能を把握することを要求するのは無理がある
B社が、要件定義書、設計書、ソースコードだけをみて、実行ファイルを実行しないのなら、
http://ja.wikipedia.org/wiki/%E9%9D%99%E7%9A%84%E3%82%B3%E3%83%B...
に
実行時エラーを全て検出することは不可能であることが証明されており、任意のプログラムが正しく動作するかエラーになるかを判定する機械的手法はない。これは1930年代のアラン・チューリングやライスの研究で判明した
とありますね。
それは、別の議論としては興味深いですけど、ちょっとボクの意図しているものとは違いますね。
例えば、この「はてな」の様々なシステムが、A社によってASP.NETで作られたと仮定します。
はてな社は、全てのシステムを別のB社にPHPで作り直して欲しいとします。
通常、システム構築をする際は要件定義や設計をしますが、それらを大幅にはしょって、その代わりに既存システムの全ASP.NETの
ソースコードを提供するから、B社は既存の機能をすべてPHPで再現できるだろーと主張するのは無理がある、あるいは非現実的という、第三者的な記事や論文が欲しいです。
例え、既存アプリケーションの再構築であっても、アプリケーションの要件や仕様はユーザの協力のもと明確に定義するべきだと思うんです。
よって、既存アプリケーションの要件定義書、設計書も解決策にはならないと考えています。
A社が作った要件定義書、設計書、ソースコードを別のB社に渡して、B社が全ての機能を把握することを要求するのは無理がある、というようなことを主張したいんです。
そのために第三者の客観的で、できるだけ権威があるような記事や論文があると助かるんです。