(57)【要約】【課題】  ポーティングの工数及び費用の見積の作業を簡素化する。【解決手段】  ポーティング見積システムは、顧客からアクセス可能なＷｅｂページを表示する機能と、ポーティングに必要な修正項目を調査及び解析するポーティング項目チェックソフトウエアと、を有し、Ｗｅｂページを介して顧客からポーティング工数及び費用の見積の依頼を受信したとき上記ポーティング項目チェックソフトウエアを顧客にダウンロードし、上記ポーティング項目チェックソフトウエアによる調査及び解析の結果を顧客から受信する。【効果】  顧客はポーティング業者にポーティング対象ソフトウエアのソースコードを提供する必要がないため、秘密保持契約等の手続きが不要となる。【選択図】  図１
2005189919.tif 000002
【特許請求の範囲】
【請求項１】
顧客からアクセス可能なＷｅｂページを表示する機能と、ポーティングに必要な修正項目を調査及び解析するポーティング項目チェックソフトウエアと、を有し、Ｗｅｂページを介して顧客からポーティング工数及び費用の見積の依頼を受信したとき上記ポーティング項目チェックソフトウエアを顧客にダウンロードし、上記ポーティング項目チェックソフトウエアによる調査及び解析の結果を顧客から受信することを特徴とするポーティング見積システム。
【請求項２】
請求項１のポーティング見積システムおいて、更に、顧客から受信した上記ポーティング項目チェックソフトウエアによる調査及び解析結果に基づいてポーティング工数及び費用の見積を算出する見積算出用プログラムを有することを特徴とするポーティング見積システム。
【請求項３】
請求項２のポーティング見積システムおいて、更にポーティング対象ソフトウエアの用途、技術カテゴリの種別、顧客業種に応じた解析費用を格納する解析費用データベースを有し、上記見積算出用プログラムは該解析費用データベースを参照してポーティング工数及び費用の見積を算出することを特徴とするポーティング見積システム。
【請求項４】
請求項１のポーティング見積システムおいて、上記ポーティング項目チェックソフトウエアはメール送信プログラムを含み、該メール送信プログラムは、上記ポーティング項目チェックソフトウエアによる調査及び解析の結果を顧客から該ポーティング見積システムに自動的に送信することを特徴とするポーティング見積システム。
【請求項５】
請求項４のポーティング見積システムおいて、上記ポーティング項目チェックソフトウエアによる調査及び解析の結果を暗号化して顧客から受信することを特徴とするポーティング見積システム。
【請求項６】
顧客からアクセス可能なＷｅｂページを表示するＷｅｂページ表示ステップと、Ｗｅｂページを介して顧客からポーティング工数及び費用の見積の依頼を受信する依頼受信ステップと、ポーティングに必要な修正項目を調査及び解析するポーティング項目チェックソフトウエアを顧客にダウンロードするダウンロードステップと、上記ポーティング項目チェックソフトウエアによる調査及び解析の結果を顧客から受信する結果受信ステップと、を有するポーティング見積方法。
【請求項７】
請求項６記載のポーティング見積方法において、顧客から受信した上記ポーティング項目チェックソフトウエアによる調査及び解析結果に基づいてポーティング工数及び費用の見積を算出する見積算出ステップと、を有することを特徴とするポーティング見積方法。
【請求項８】
請求項６又は７記載のポーティング見積方法をコンピュータによって実行させるためのコンピュータにより読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータのソースプログラムのポーティングに関し、特に、ポーティングの工数及び費用を見積るためのシステム及び方法に関する。
【背景技術】
【０００２】
近年、オープンソースソフトウエアのオペレーティングシステムを採用するシステムへ移行を検討している顧客が増加している。オペレーティングシステム等のシステムを変更する場合、既存のソフトウエアを活用するために、ソースプログラムのポーティング（移植）作業を行う必要がある。
【０００３】
通常、ポーティング作業は顧客から委託された専門のポーティング業者が行う。顧客は、先ず、ポーティング業者に、ポーティングの工数及び費用の見積りを依頼する。顧客は見積りが妥当であると判断すると、そのポーティング業者にポーティング作業の委託する。見積りが妥当でないと判断すると、他のポーティング業者を探す。
【０００４】
特開２００３−５９５９号公報に記述されている例では、ポーティング元から受信したポーティング対象情報より、ソースプログラム、コンパイル・リンク・オプション情報、ポーティング先環境情報を入手し、修正箇所を検出し、表に纏め、修正情報をポーティング元に送り返す。
【０００５】
【特許文献１】特開２００３−００５９５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の方法では、顧客は、ポーティングの工数及び費用の見積りの依頼を外部のポーティング業者に委託する場合、ポーティング対象となるソフトウエアのソースコードをポーティング業者に提示しなければならない。しかし、顧客の財産であるソフトウエアを外部のポーティング業者に提出するためには、ポーティング業者との間で守秘義務契約など手続きを踏む必要がある。この守秘義務契約の手続きには、時間を要するケースが多く、システムの移行又は開発の期間へ影響を及ぼすこととなる。
【０００７】
また、外部のポーティング業者へソースコードやコンパイル環境を送付しなければならず、これに関連する作業も必要となる。
【０００８】
本発明はこれらの問題点を鑑み、簡単な手続きにてポーティングの工数及び費用の見積りができるシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明によると、顧客は、ポーティングの工数及び費用の見積の依頼をＷｅｂページにより行う。ポーティング業者は、顧客から見積の依頼を受信すると、ポーティング項目チェックソフトウエアを顧客にダウンロードする。ポーティング項目チェックソフトウエアは、顧客のポーティング対象コンピュータにて、自動的に起動し、ポーティング対象ソフトウエアに対する調査及び解析を行い、その結果を暗号化して、自動的にポーティング業者に送信する。ポーティング業者は、調査及び解析の結果を利用して、ポーティングの工数及び費用の見積を行い、見積結果を顧客に送信する。
【００１０】
顧客は、ポーティング業者からの見積結果に基づいて、ポーティング作業の委託を申し込む。
【発明の効果】
【００１１】
本発明によると、ソフトウエアのポーティングの工数及び費用の見積り作業を簡単化することができるから、システムの移行又は開発を迅速化し、費用の低減を実現することができる。
【発明を実施するための最良の形態】
【００１２】
図１を参照して本発明によるポーティング見積システムの例を説明する。ポーティング見積システムは、ポーティング業者側１に設けられる。ポーティング見積システムは、管理用サーバ１００と見積算出用コンピュータ２００を有し、両者は、例えば、ポーティング業者専用ネットワークであるイントラネット４によって接続されている。イントラネット４はゲートウエイ５を介してインターネット等の公衆網６に接続されている。図１では、管理用サーバ１００に１つの見積算出用コンピュータ２００が接続されているが、複数の見積算出用コンピュータが接続されてよい。尚、管理用サーバ１００と見積算出用コンピュータ２００は１つの装置又はシステムによって構成してもよい。
【００１３】
管理用サーバ１００は、顧客からのポーティング工数及び費用の見積の依頼を受信するデータ入力画面を有するＷｅｂページ表示機能１０２と、ポーティング対象ソフトウエアのソースコードを精査しポーティングに必要な修正項目を調査及び解析するポーティング項目チェックソフトウエア１１０と、顧客に関するデータを格納する顧客データベース１０４と、解析費用データベース１０６と、を有する。ポーティング項目チェックソフトウエア１１０は、移行するための修正内容をリストアップする移行チェックプログラム１１１と、メール送信プログラム１１２と、顧客に関するデータを格納する顧客データ１１３と、データアラインや日本語コード、関数インタフェースなどのポーティング時に考慮すべき修正項目の内容を格納する移行ポイントデータベース１１４とを有する。
【００１４】
ポーティング項目チェックソフトウエア１１０にメール送信プログラム１１２を設けた理由を説明する。本例によると、ポーティング項目チェックソフトウエア１１０は、顧客側にダウンロードされて、自動的に起動する。メール送信プログラム１１２は、ポーティング項目チェックソフトウエア１１０による調査及び解析結果をダウンロード先の顧客からポーティング業者へメールにて通知する。
【００１５】
解析費用データベース１０６は、ポーティング対象ソフトウエアの用途、技術カテゴリの種別、顧客業種を記憶し、それらに応じた解析費用を格納する。
【００１６】
見積算出用コンピュータ２００には、ダウンロード先の顧客からの調査及び解析結果をメールとして受信し、見積結果を返信するためのメール送受信プログラム２０２と、顧客より受信した調査及び解析結果に基づいてポーティング工数及び費用の見積を算出する見積算出用プログラム２０１と、有する。
【００１７】
顧客側３に設けられたソース管理コンピュータ３００には、ポーティング対象であると同時に見積対象であるソフトウエア３０３が格納されている。本例では、ソース管理コンピュータ３００が、ポーティング対象のコンピュータである。従って、ソフトウエア３０３には、ポーティング対象であるソースコード、リンク・コンパイル環境を備える。
【００１８】
ソース管理コンピュータ３００は、ポーティング業者側のＷｅｂページを閲覧可能なブラウザ３０１と、見積算出用コンピュータ２００から見積結果を受信するためのメール送受信プログラム３０２を有する。ソース管理コンピュータ３００は、モデム３０４を介して公衆網６に接続されている。
【００１９】
本発明によると、ポーティング業者は、Ｗｅｂページにて顧客からポーティング工数及び費用の見積依頼を受信すると、ポーティング項目チェックソフトウエア１１０を顧客側のソース管理コンピュータ３００にダウンロードする。ポーティング項目チェックソフトウエア１１０は、顧客側のソース管理コンピュータ３００にて、自動的に立ち上がり、移行チェックプログラム１１１を実行する。メール送信プログラム１１２は、調査及び解析結果を暗号化し、見積算出用コンピュータ２００へ送信する。顧客は、ソース管理コンピュータ３００にて起動し作業を行うポーティング項目チェックソフトウエア１１０に関与することはできない。
【００２０】
本発明によると、顧客はポーティング業者にポーティング対象ソフトウエアのソースコードを提供する必要がないから、秘密保持契約等の手続きが省略され、ポーティングの工数及び費用の見積作業が能率的になる。
【００２１】
図２を参照して、管理用サーバ１００のＷｅｂページ表示機能１０２によって表示される見積算出用ブラウザ画面の例を説明する。見積算出用ブラウザ画面２０は、以下の項目を含む。
（ａ）ポーティングの工数及び費用の見積の依頼者を特定する「顧客名」、及び、「担当者名」２１
（ｂ）工数及び費用の見積結果をポーティング業者から顧客へ送信するための顧客の「担当者メールアドレス」２２
（ｃ）ポーティング対象ソフトウエアの内容２３として、業種２３１、用途２３２、ソフトウエアの技術カテゴゴリ（例えば、オペレーティングシステム、ドライバ、ミドルソフトなど）２３３
（ｄ）ソースコードをコンパイルするために、ソースファイルの格納場所を示すディレクトリパス２４
（ｅ）ポーティング対象ソフトウエアをコンパイルするためのコマンドプロシジャの格納場所を示すディレクトリパス２５
（ｆ）ポーティング対象ソフトウエアをコンパイルするためのコマンドプロシジャのファイル名２６
【００２２】
顧客は、これらの項目を入力し、画面下側の見積算出開始ボタン２８をクリックする。それにより、項目（ａ）〜（ｆ）と共に見積依頼が、ポーティング業者側の管理用サーバ１００に送信される。
【００２３】
（１）見積算出用サービス手順
図３を参照して、本発明によるポーティング見積システムの動作を説明する。ステップＳ３０１にて、ポーティング業者側の管理用サーバ１００は、Ｗｅｂページ表示機能１０２によりＷｅｂページを提示する。ステップＳ３０２にて、顧客は、ソース管理コンピュータ３００のブラウザ３０１より、Ｗｅｂページにアクセスし、見積算出用ブラウザ画面２０を表示する。見積算出用ブラウザ画面２０の例は図２に示した。ステップＳ３０３にて、顧客は、上述の項目（ａ）〜（ｆ）を入力し、見積算出開始ボタン２８をクリックする。ステップＳ３０４にて、ポーティング業者側の管理サーバは、顧客から送信された項目（ａ）〜（ｆ）を受信し、それを顧客データベース１０４及び顧客データ１１３に格納する。ステップＳ３０５にて、ポーティング業者側の管理サーバ１００から顧客のソース管理コンピュータ３００へ、ポーティング項目チェックソフトウエア１１０がダウンロードされる。このポーティング項目チェックソフトウエア１１０は、項目（ａ）〜（ｆ）が格納された顧客データ１１３を含む。
【００２４】
ステップＳ３０６にて、ソース管理コンピュータ３００のブラウザ３０１の見積開始ボタン２８を押すことによって自動的にポーティング項目チェックソフトウエア１１０をダウンロードする。ポーティング項目チェックソフトウエア１１０は、自動的に起動し、ポーティングのための調査及び解析を実行する。ポーティング項目チェックソフトウエアによる調査及び解析の詳細は、後に、図４を参照して説明する。ステップＳ３０７にて、ポーティング項目チェックソフトウエア１１０に備えられたメール送信プログラム１１２は、調査及び解析結果を暗号化し、ポーティング業者側の見積算出用コンピュータ２００に送信する。ステップＳ３０８にて、見積算出用コンピュータ２００のメール送受信プログラム２０２は、調査及び解析結果を受信すると共に、顧客データベース１０４及び解析費用データベース１０６から、必要な情報を受信する。見積算出用コンピュータ２００の見積算出用プログラム２０１は、ポーティングの工数及び費用の見積を行う。ステップＳ３０９にて、見積算出用コンピュータ２００のメール送受信プログラム２０２は、工数及び費用の見積結果を顧客側のソース管理コンピュータ３００に送信する。ステップＳ３１０にてソース管理コンピュータ３００のメール送受信プログラム３０２は、工数及び費用の見積結果を受信する。ステップＳ３１１にて、顧客は、工数及び費用の見積結果に基づいて、このポーティング業者に、ポーティング作業を依頼するか否かを判断する。ステップＳ３１２にて、顧客は、ソース管理コンピュータ３００のメール送受信プログラム３０２を介して、このポーティング業者に、ポーティング作業を依頼するか否かの返事を送信する。ステップＳ３１３にて、ポーティング業者側の管理サーバ１００は顧客からの返事を受信する。
【００２５】
本例によると、ポーティング業者は、顧客のポーティング対象ソフトウエアにアクセスすることなくポーティング作業の工数及び費用の見積を得ることができる。尚、ソース管理コンピュータ３００にダウンロードされたポーティング項目チェックソフトウエア１１０は、所定の時間経過後に自動的には消去されてよいが、そのままソース管理コンピュータ３００に格納されてもよい。顧客は、ポーティング項目チェックソフトウエア１１０を起動することも、プログラム内容を検索することもできない。
【００２６】
（２）ポーティング項目のリストアップ処理
図４を参照して、ポーティング項目チェックソフトウエア１１０の動作を説明する。ステップＳ４０１にて、ポーティング項目チェックソフトウエア１１０は、顧客のソース管理コンピュータ３００にダウンロードされ、自動的に起動する。ポーティング項目チェックソフトウエア１１０には上述のように、移行チェックプログラム１１１、メール送信プログラム１１２、顧客データ１１３及び移行ポイントデータベース１１４が含まれる。
【００２７】
ステップＳ４０２にて、ポーティング項目チェックソフトウエア１１０は、顧客データ１１３に格納されているコンパイル用コマンドプロシジャディレクトリパス２５とファイル名２６を読み出し、それと同一のコンパイル用コマンドプロシジャをソース管理コンピュータ３００のポーティング対象ソフトウエア３０３より検出する。ステップＳ４０３にて、ポーティング項目チェックソフトウエア１１０は、検出したコンパイル用コマンドプロシジャのコピーを作成する。ステップＳ４０４にて、ポーティング項目チェックソフトウエア１１０は、コピーしたコマンドプロシジャ内のコンパイラ名称を移行チェックプログラム１１１のプログラム名称に変更する。
【００２８】
ステップＳ４０２、Ｓ４０３、Ｓ４０４は、ポーティング対象ソフトウエア３０３のコンパイル環境と同一環境で移行チェックプログラム１１１を実行するための処理である。これにより、調査及び解析結果として、詳細なポーティングのための修正項目をリストアップすることができる。
【００２９】
ステップＳ４０５にて、移行チェックプログラム１１１は、コピーしたコンパイル用コマンドプロシジャを実行する。ステップＳ４０６にて、移行チェックプログラム１１１は、ポーティング対象ソフトウエアのソースコードの１行１行を、移行ポイントデータベース１１４に格納されたデータに基づいて検証し、ポーティングのための修正項目をリストアップする。
【００３０】
ステップＳ４０７にて、移行チェックプログラム１１１は、調査及び解析結果として修正項目のリストと修正内容のメッセージを、ファイルとして出力する。修正項目のリストは、ソース管理コンピュータ３００のディスプレイに表示されるが、修正内容のメッセージは暗号化され、顧客には知らされない。図６には、修正項目のリストの表示例を示す。
【００３１】
ステップＳ４０８にて、ポーティング項目チェックソフトウエア１１０は、調査及び解析結果をポーティング業者に送信するか否かの問いを、ソース管理コンピュータ３００のディスプレイに表示する。例えば、ディスプレイにて、会話形式の問い合わせを表示してよい。顧客は、見積算出が必要と判断した場合にメール送信の指示を行う。
【００３２】
ステップＳ４０９にて、ポーティング項目チェックソフトウエア１１０のメール送信プログラム１１２は、顧客からメール送信の指示があったか否かを判定する。顧客からメール送信の指示があった場合には、ステップＳ４１０にて、ポーティング項目チェックソフトウエア１１０のメール送信プログラム１１２は、ポーティング業者側の見積算出用コンピュータ２００のメール送受信プログラム２０２に対して、調査及び解析結果を送信する。以上でポーティングのための修正項目リストアップ処理及び送信処理は終了する。
【００３３】
（３）見積算出用プログラムの処理
図５を参照して、ポーティング業者側の見積算出用コンピュータ２００の見積算出用プログラム２０１の動作を説明する。
【００３４】
ステップＳ５０１にて、ポーティング業者側の見積担当者は、管理用サーバ１００より見積算出用コンピュータ２００に格納された見積算出用プログラム２０１を起動する。ポーティング業者側の見積担当者は、例えば、顧客からポーティング工数及び費用の見積依頼を受信した時に、見積算出用プログラム２０１を起動してよい。ステップＳ５０２にて、見積算出用プログラム２０１は、メール送受信プログラム２０２にて受信した調査及び解析結果のファイルを読み込む。ステップＳ５０３にて、見積算出用プログラム２０１は、管理サーバ１００の顧客データベース１０４に格納された項目（ａ）〜（ｆ）を読み出す。ステップＳ５０４にて、見積算出用プログラム２０１は、読み出した項目（ａ）〜（ｆ）と管理サーバの解析費用データベース１０６の情報を比較する。ステップＳ５０５にて、ステップＳ５０４の比較結果と調査及び解析結果に基づいて、ポーティング作業の工数と費用を算出する。ステップＳ５０６にて、メール送受信プログラム２０２を介して、見積結果を顧客側のソース管理コンピュータ３００のメール送受信プログラム３０２へ、担当者宛のメールとして、送信する。
【００３５】
（４）調査及び解析結果
図６は、移行チェックプログラム１１１によって生成されたポーティングのための修正項目のリスト６００の例を示す。左端の第１列は、ポーティング対象となるソースファイル名６１０を表し、上端の第１行は、変更ポイント６２０を表す。マトリックスの各要素は、そのソースファイル名６１０に含まれる変更ポイントの個数を表す。この表により、ポーティング対象のソースファイル数と修正箇所の数が明確になり、見積算出用が容易となる。
【００３６】
図７は、移行チェックプログラム１１１によって生成されたポーティングのための修正内容に関するメッセージ７００の例を示す。本例のメッセージは、ソースコードの修正行単位毎に表示され、各メッセージは、以下の内容を含む。この内容は具体的な修正内容を示すために顧客には未公開とするため暗号化の処理を施す。
（１）変更ポイント区別するためのコード７２０
（２）修正が必要なソースファイル名７３０
（３）ソースコード内の行番号７４０
（４）修正内容を表すメッセージ７５０
【００３７】
本発明によると、ポーティング見積用の調査及び解析をするためにポーティング項目チェックソフトウエアを顧客側にダウンロードし、調査及び解析の結果を顧客側からポーティング業者へ送信する。従って、ポーティング業者は、顧客の知的財産であるソフトウエアのソースコードをポーティング業者担当者が直接アクセスすることなく、見積算出が可能となる。それにより、契約等の煩雑な手続きが削減され、開発のスピードアップあるいは、開発コスト低減が期待できる。
【００３８】
以上本発明の例を説明したが本発明は上述の例に限定されるものではなく、特許請求の範囲に記載された発明の範囲にて様々な変更が可能であることは当業者に容易に理解されよう。
【図面の簡単な説明】
【００３９】
【図１】本発明によるポーティング見積システムの構成例を示す図である。
【図２】見積算出用ブラウザ画面の例を示す図である。
【図３】見積算出用サービス手順を示す図である
【図４】ポーティングのための修正項目をリストアップする処理の流れを示す図である。
【図５】見積算出用プログラムの処理の流れを示す図である。
【図６】ファイル毎のポーティングに必要な修正箇所数の一覧表を示す図である。
【図７】修正内容に関するメッセージの例を示す図である。
【符号の説明】
【００４０】
１…ポーティング業者側、３…顧客側、４…イントラネット、５…ゲートウエイ、６…公衆網、１００…管理用サーバ、１０２…Ｗｅｂページ表示機能、１０４…顧客データベース、１０６…解析費用データベース、１１０…ポーティング項目チェックソフトウエア、１１１…移行チェックプログラム、１１２…メール送信プログラム、１１３…顧客データ、１１４…移行ポイントデータベース、２００…見積算出用コンピュータ、２０１…見積算出用プログラム、２０２…メール送受信プログラム、３００…ソース管理コンピュータ、３０１…ブラウザ、３０２…メール送受信プログラム、３０３…ポーティング対象（見積対象）ソフトウエア、３０４…モデム、
【図１】
2005189919.tif 000003
【図２】
2005189919.tif 000004
【図３】
2005189919.tif 000005
【図４】
2005189919.tif 000006
【図５】
2005189919.tif 000007
【図６】
2005189919.tif 000008
【図７】
2005189919.tif 000009