(57)【要約】【課題】  新規プロジェクトの計画立案時に顧客の要望、予算にあったシステムを構築するために最適なＳＥおよびハードウェア、ソフトウェアを自動選択により見積りを即時提供し、対象ＳＥのスケジュールを確保すること。【解決手段】  モバイルＰＣ２０からの入力に基づき、ＳＥ人材関連情報１１，ＳＥスケジュール関連情報１２，ハード関連情報１３，ソフト関連情報１４を参照し、新規プロジェクトにおいて必要な要件技術や開発規模，開発期間，ＳＥ部署，ハード，ソフトの検索条件を算出する算出部１５、必要な予算を算出するための算出処理部１６、算出結果を営業のモバイルＰＣ２０へ通知する見積書の出力部１７、選出されたＳＥ（対象者４０）や上長５０へメールサーバやスケジューラサーバ３０を介してメールによる通知や承認／却下、スケジューラサーバ３０によるスケジュールの確保などを行うユーザー通知部１８を有する。【選択図】      図１
2007058253.tif 000002
【特許請求の範囲】
【請求項１】
ＷＥＢブラウザ搭載機器から受信したデータに基づき、予め登録されデータベース化された過去の各種システム構築に要した要件技術、開発規模、開発期間、担当ＳＥ（System Engineer）情報、ハードウェア情報、ソフトウェア情報をもとに、最適なシステム構成を算出して顧客に提案するためのコンピュータを用いたシステム開発見積支援方法であって、
前記ＷＥＢブラウザ搭載機器に表示された前記要件技術、前記開発規模、前記開発期間を参照して入力されたデータを受信し、要件技術、開発工程の個別見積処理を行い、該個別見積処理により自動見積りされたシステム開発に要する要件技術とシステム開発を実施する開発期間の確定を行う第１のステップと、
前記ＷＥＢブラウザ搭載機器に表示された担当ＳＥ情報を参照して入力されたデータを受信し、システム開発を担当する担当ＳＥの選出を行う第２のステップと、
前記ＷＥＢブラウザ搭載機器から入力された算出方法によってシステム開発工数の算出を行う第３のステップと、
前記選出された担当ＳＥと前記算出されたシステム開発工数に基づいてＳＥ費の算出を行う第４のステップと、
前記ＷＥＢブラウザ搭載機器に表示された前記ハードウェア情報を参照して入力されたデータを受信し、前記システム開発に利用するハードウェアの確定を行う第５のステップと、
前記ＷＥＢブラウザ搭載機器に表示された前記ソフトウェア情報を参照して入力されたデータを受信し、システム開発に利用するソフトウェアの確定を行う第６のステップと、
前記確定されたシステム開発に利用するハードウェア費およびソフトウェア費を算出する第７のステップと、
前記算出されたＳＥ費，ハードウェア費、ソフトウェア費を用いて新規システム開発全体に要する費用を算出する第８のステップと、
前記選出された担当ＳＥのスケジュールを前記データベースに格納して当該担当ＳＥを確保する第９のステップ
を備えることを特徴とするシステム開発見積支援方法。
【請求項２】
前記データベース化された過去の各種システム構築に要した過去の実績データと顧客の要望するシステムとを比較するステップと、この比較により新規システム開発に要する画面数や開発ステップ数に相当する開発規模を自動見積りするステップと、前記ＷＥＢブラウザ搭載機器の入力に基づいてシステム開発工程ごとの配分を自動見積りするステップを備えることを特徴とする請求項１記載のシステム開発見積支援方法。
【請求項３】
前記自動見積りされた新規システム構築に要する要件技術を、前記ＷＥＢブラウザ搭載機器のＧＵＩ（Graphical User Interface）操作で入力されたデータを受信して確定するステップを備えることを特徴とする請求項２記載のシステム開発見積支援方法。
【請求項４】
前記自動見積りされた開発規模と前記ＷＥＢブラウザ搭載機器から受信したシステム開発完了期日を勘案し、開発期間を確定するステップを備えることを特徴とする請求項２記載のシステム開発見積支援方法。
【請求項５】
前記確定されたシステム構築に要する要件技術と、ＳＥ人員関連情報を持つデータベースとを比較し、該要件技術を満たす開発担当ＳＥ部署の選出を行うステップを備えることを特徴とする請求項３記載のシステム開発見積支援方法。
【請求項６】
前記ＷＥＢブラウザ搭載機器から入力された算出方法は、ＣＯＣＯＭＯ（Constructive Cost Model）法もしくはファンクション・ポイント（ＦＰ）法であることを特徴とする請求項１記載のシステム開発見積支援方法。
【請求項７】
前記算出した新規システム開発全体に要する費用を、前記ＷＥＢブラウザ搭載機器に送信するステップを有することを特徴とする請求項１記載のシステム開発見積支援方法。
【請求項８】
前記選出されたＳＥあるいはその上長へ既存のメールシステムを利用し、新規システム開発の担当ＳＥに選出されたことを通知するステップを有することを特徴とする請求項５記載のシステム開発見積支援方法。
【請求項９】
前記ＳＥあるいはその上長により、前記新規システム開発の担当ＳＥの選出が拒否された場合に、再度、別のＳＥを選出するステップを有することを特徴とする請求項８記載のシステム開発見積支援方法。
【請求項１０】
ＷＥＢブラウザ搭載機器から受信したデータに基づき、予め登録されデータベース化された過去の各種システム構築に要した要件技術、開発規模、開発期間、担当ＳＥ（System Engineer）情報、ハードウェア情報、ソフトウェア情報をもとに、最適なシステム構成を算出して顧客に提案するためのコンピュータを用いたシステム開発見積支援システムであって、
前記ＷＥＢブラウザ搭載機器に表示された前記要件技術、前記開発規模、前記開発期間を参照して入力されたデータを受信し、要件技術、開発工程の個別見積処理を行い、該個別見積処理により自動見積りされたシステム開発に要する要件技術とシステム開発を実施する開発期間の確定を行う第１の手段と、
前記ＷＥＢブラウザ搭載機器に表示された担当ＳＥ情報を参照して入力されたデータを受信し、システム開発を担当する担当ＳＥの選出を行う第２の手段と、
前記ＷＥＢブラウザ搭載機器から入力された算出方法によってシステム開発工数の算出を行う第３の手段と、
前記選出された担当ＳＥと前記算出されたシステム開発工数に基づいてＳＥ費の算出を行う第４の手段と、
前記ＷＥＢブラウザ搭載機器に表示された前記ハードウェア情報を参照して入力されたデータを受信し、前記システム開発に利用するハードウェアの確定を行う第５の手段と、
前記ＷＥＢブラウザ搭載機器に表示された前記ソフトウェア情報を参照して入力されたデータを受信し、システム開発に利用するソフトウェアの確定を行う第６の手段と、
前記確定されたシステム開発に利用するハードウェア費およびソフトウェア費を算出する第７の手段と、
前記算出されたＳＥ費，ハードウェア費、ソフトウェア費を用いて新規システム開発全体に要する費用を算出する第８の手段と、
前記選出された担当ＳＥのスケジュールを前記データベースに格納して当該担当ＳＥを確保する第９の手段と
を備えることを特徴とするシステム開発見積支援システム。
【請求項１１】
ＷＥＢブラウザ搭載機器から受信したデータに基づき、予め登録されデータベース化された過去の各種システム構築に要した要件技術、開発規模、開発期間、担当ＳＥ（System Engineer）情報、ハードウェア情報、ソフトウェア情報をもとに、最適なシステム構成を算出して顧客に提案するためのシステム開発見積支援用プログラムであって、
コンピュータを、
前記ＷＥＢブラウザ搭載機器に表示された前記要件技術、前記開発規模、前記開発期間を参照して入力されたデータを受信し、要件技術、開発工程の個別見積処理を行い、該個別見積処理により自動見積りされたシステム開発に要する要件技術とシステム開発を実施する開発期間の確定を行う第１の手段と、
前記ＷＥＢブラウザ搭載機器に表示された担当ＳＥ情報を参照して入力されたデータを受信し、システム開発を担当する担当ＳＥの選出を行う第２の手段と、
前記ＷＥＢブラウザ搭載機器から入力された算出方法によってシステム開発工数の算出を行う第３の手段と、
前記選出された担当ＳＥと前記算出されたシステム開発工数に基づいてＳＥ費の算出を行う第４の手段と、
前記ＷＥＢブラウザ搭載機器に表示された前記ハードウェア情報を参照して入力されたデータを受信し、前記システム開発に利用するハードウェアの確定を行う第５の手段と、
前記ＷＥＢブラウザ搭載機器に表示された前記ソフトウェア情報を参照して入力されたデータを受信し、システム開発に利用するソフトウェアの確定を行う第６の手段と、
前記確定されたシステム開発に利用するハードウェア費およびソフトウェア費を算出する第７の手段と、
前記算出されたＳＥ費，ハードウェア費、ソフトウェア費を用いて新規システム開発全体に要する費用を算出する第８の手段と、
前記選出された担当ＳＥのスケジュールを前記データベースに格納して当該担当ＳＥを確保する第９の手段
として機能させることを特徴とするシステム開発見積支援用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム開発の新規プロジェクトの計画立案時に、適切なシステムエンジニア（System Engineer、以下、単にＳＥという）を自動的にスケジュール化して確保するとともに、該新規プロジェクトに必要なハードウェアおよびソフトウェアを自動的に選定し、顧客に対して最適なシステム構成とその見積りを提案することが可能なシステム開発見積支援方法およびシステム開発見積支援システム、ならびにそのためのプログラムに関するものである。
【背景技術】
【０００２】
従来、新規プロジェクトの計画立案時に、過去の実績データを参照して開発期間，必要なスキルを有するＳＥ，ハードウェア，およびソフトウェアなどの選定を行い、プロジェクトに要する見積りを算出していた。この従来方法では、ビジネスチャンスを逃さないために、迅速に関連部署と調整し、社内に所属するＳＥのスキルおよび空きスケジュール確認、ハードウェアおよびソフトウェアの納期確認をすることが特に重要であった。
【０００３】
従来の見積評価支援システムとして、特開２００３−２８０９０１号公報「見積評価支援プログラムおよび見積評価支援システム」（特許文献１）に開示されたものがある。
【０００４】
上記特許文献１に開示されたものは、過去のシステム構築で要したファイル数や開発担当ＳＥのスキルレベルなど各項目の実績データを数値化、グループ化してデータベース化しておき、ソフトウェア開発等を行う新規システム開発の計画立案時に、同方法により算出した数値と上記データベース化してある過去の類似する開発案件の実績データの数値を比較することにより見積業務の評価支援を行うものであった。
【０００５】
【特許文献１】特開２００３−２８０９０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術には次に掲げる問題点があった。
すなわち、上記従来技術においては、その案件を一旦自社に持ち帰り、会社内のコンピュータを操作してデータベースに保存してある過去におけるシステム構築の実績データを参照し、関連部署とシステム開発構成の検討、見積りの作成などを実施するようにしていた。そのため、顧客先での提案活動において営業担当者がその場で最適なＳＥ、ハードウェア、ソフトウェアを用いたシステム開発構成を迅速に提案することができず、ビジネスチャンス（受注）を逃してしまう場合があった。
【０００７】
また、上記従来技術においては、ＳＥ選定時に、各ＳＥの空きスケジュールを正確に把握することは行っていなかった。そのため、営業担当者は関係部署とのスケジュール調整に膨大な時間を割く必要があり、迅速な対応ができなかった。
【０００８】
さらに、上記従来技術においては、全社的に社内に所属している各ＳＥの経験や技術スキルを把握できていないため、営業担当者が属する事業部内だけでのＳＥ選定になっていた。そして、営業担当者が属する事業部内に必要なスキルを有しスケジュールに空きのあるＳＥがいない場合には外部のＳＥを利用するようにしていたため、営業担当者が属する事業部以外の社内に所属しているＳＥの適材適所での有効活用ができないという問題があった。従って、本来なら自社のＳＥを利用した場合には不要となっていた開発コストを、社外ＳＥを利用するため余分な費用負担をしなければならなかった。
【０００９】
以上のように、特許文献１に開示された従来技術においては、過去のシステム開発実績データに基づいた工数および費用の算出は可能であったが、顧客への迅速な回答および必要なスキルを有する適切なＳＥの選定およびスケジュール確保が迅速にはできないという問題点があった。
【００１０】
本発明は、上記従来技術における問題点を解決し、システム構築に必要な構成要素（ハードウェア、ソフトウェア）を抽出、見積り算出するだけでなく、社内に抱えるＳＥの経験や技術、保有資格を加味したＳＥ選定を実施し、システム構築に必要なＳＥのスケジュール確保を行うことが可能なシステム開発見積支援方法およびシステム開発見積支援システム、ならびにそのためのプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
本発明は、上記目的を達成するために、顧客先において新規プロジェクトの計画立案時に、ＷＥＢブラウザ搭載機器（例えば、ＰＣ端末またはモバイル端末など）の操作により入力される顧客からの要望や予算に基づき、予め登録されデータベース化された過去の各種システム構築に要した開発規模、開発期間、担当ＳＥ、要件技術、ハードウェア、ソフトウェア情報を基に顧客に対し最適なシステム構成をタイムリーに提案するようにしたものである。このシステムは、主に、検索条件の算出部，算出処理部，見積書の出力部、およびユーザー通知部で構成される。
【００１２】
予め過去のシステム構築実績データに基づき各種情報をデータベース化しておき、これと顧客の要望する新規システムの情報とを比較することにより、新規システム開発に要する画面数や開発ステップ数を自動見積り、システム開発工程ごとの配分を自動見積りする。
【００１３】
次に、自動見積りされた新規システム構築に要する要件技術および自動見積りされた開発規模と開発期間を確定する。
【００１４】
更に、確定したシステム構築に要する要件技術とＳＥ人員関連情報を持つデータベースとを比較し、要件技術を満たす開発担当ＳＥ部署の選出を行う。
【００１５】
対象の新規システム開発案件に対し見積算出方法を決定し、システム開発工数を算出し、工程ごとの配分とそれに要する画面数や開発ステップ数と選出されたＳＥ部署、確定したシステム開発期間より、工程ごとに必要なＳＥ費およびシステム開発全体で必要なＳＥ費を算出する。
【００１６】
また、確定されたシステム開発規模、予め登録されたハードウェア情報データベースより新規システム開発に必要なハードウェアおよびハードウェア費用を算出する。
【００１７】
また、同方法により新規システム開発に必要なソフトウェアおよびソフトウェア費用も算出する。これらより新規システム開発に要する全費用見積りを算出する。
【００１８】
次に、選定された各工程を担当するＳＥおよびその上長へ自社において構築された既存のメールシステムを利用し新規システム開発の担当に選出されたことを通知し、社員の業務スケジュールを管理するスケジューラシステムを利用し確定した各開発工程における開発期間を予約する。
【００１９】
この際、選定された各工程を担当するＳＥおよびその上長により、都合が悪いなどの理由で新規システム開発要員としての申し入れをキャンセル（却下、拒否）された場合は、再度、自動的に担当ＳＥ部署を再選出する。
【発明の効果】
【００２０】
従来は、見積提出するまでに、顧客との打ち合わせを何回も行ったり、企業内での担当部署や開発人員の複雑な調整を行う必要があった。また、新規の開発の場合には、開発人員確保に時間がかかり、人員が確定しないとＳＥ費の見積りも出しにくい状況だった。
【００２１】
しかし、本発明によれば、従来難しかったＳＥ開発費の見積算出、及び、人員の確保が素早くできるようになった。具体的には、本発明を採用することにより、一回程度の顧客先での打ち合わせで開発人員の調整なしにシステム開発の見積を自動的に算出したり、見積回答までのスピードアップと見積回答作業の大幅な削減が可能になり、顧客の要望に応える開発人員を自動で確保することが可能になった。従って、本発明を採用することにより、顧客先で見積を即座に回答でき、開発人員の確保をも自動で行えるため、翌日からの開発でも受注することが可能になった。
【発明を実施するための最良の形態】
【００２２】
（概要）
図１は、本発明に係るシステム開発見積システムの概要を示す図である。
本発明に係るシステム開発見積システム１０は、システム開発見積支援およびＳＥ開発要員の自動スケジュール化を行うためのシステムであり、同図に示すように、モバイル端末（モバイルＰＣ，ＰＣ端末などのＷＥＢブラウザ搭載機器。以下、単にモバイルＰＣともいう）２０からの検索条件入力などに基づき、ハードディスクドライブ（ＨＤＤ）などの記憶装置に格納されているＳＥ人材の得意分野やその技術レベルなどのＳＥ人材関連情報１１，ＳＥの予定や空き時間などのＳＥスケジュール関連情報１２，ハードウェア価格などのハード関連情報１３，ソフトウェア価格などのソフト関連情報１４を参照し、新規プロジェクトにおいて必要な要件技術や開発規模，開発期間，ＳＥ部署，ハードウェア，ソフトウェアの検索条件を算出するための検索条件の算出部１５、それらの情報を用い必要な予算を算出するための算出処理部１６、該算出処理部１６による算出結果を見積書として営業のモバイルＰＣ２０へ通知するための見積書の出力部１７、新規プロジェクトメンバーに選出されたＳＥ（対象者４０）および関係者（上長５０）へメールサーバやスケジューラサーバ３０を介してメールによる通知やそれに対する承認／却下、スケジューラサーバ３０によるスケジュールの確保などを行うためのユーザー通知部１８を有する。なお、システム開発見積支援システム１０は、サーバを構成するコンピュータであり、モバイルＰＣなど他のコンピュータとデータの送受信を行う送受信部や表示部などを具備していることはいうまでもない。
【００２３】
本発明は、上記構成を採用することにより、新規プロジェクトの計画立案時に顧客の要望、予算にあったシステムを構築する際に、最適なＳＥおよびハードウェア、ソフトウェアを自動選択して見積りを作製して顧客に即時提供することができ、また適切な対象ＳＥのスケジュールを確保するために、営業担当者がモバイル端末（モバイルＰＣ）を利用し、顧客先でＳＥおよびハードウェア、ソフトウェアを選定し、対象ＳＥのスケジュールを確保し、対象ＳＥや関係者（対象者４０や上長５０）へ通知することができるようになる。
【００２４】
（実施例）
図２−Ａおよび図２−Ｂは、本発明に係る「システム開発見積支援システム」の機能を実現するためのシステム構成の処理の概要を説明するための図である。
【００２５】
以下、これらの図面を用いて、本発明に係る「システム開発見積支援システム」の処理の実施例について説明する。
【００２６】
図２−Ａは、図２−Ｂのフローチャートの記号の凡例（意味）を示す図であり、フローチャート中の四角形（１５１）は処理名を、円筒形（１５２）はデータやテーブル名を、二重枠の四角形（１５３）は画面を用いたデータや指示の入出力を示している。
【００２７】
次に、図２−Ｂを用いて、本発明に係るシステム開発見積支援システムの処理の流れ（ステップＳ１０１〜ステップＳ１１１）と処理に関連するデータの概要について説明する。
【００２８】
本実施例は、対話型システムとして実現されており、まず、ステップＳ１５４においてモバイルＰＣ２０のメイン画面処理により、サーバを構成するシステム開発見積支援システム１０のＵＲＬを入力（またはメニュー選択）することによりサーバのＨＰ（ホームページ）を開き、該ＨＰのメニュー画面に基づいて本発明の処理を開始する（スタート）。
【００２９】
ステップＳ１０１では、個別見積り処理を行うために必要な項目を技術マスタ１２２（図１２参照）や開発工程マスタ１２３（図１３参照）から抽出する抽出処理を実行し、該抽出した項目を画面表示する。ステップＳ１０２では、必要な要件技術を選択するリストの画面表示（図２０参照）により新規システムの開発プロジェクトに必要な技術すなわち要件技術の確定処理を実行し、ステップＳ１０３では、同様に画面表示（図２１参照）により、開発期間の確定処理を実行する。
【００３０】
次のステップＳ１０４〜ステップＳ１０７は、本発明における重要な処理である。これらの処理は、上記ステップＳ１０１〜ステップＳ１０３で取得し確定したデータ（要件技術，開発期間）を元に、ＳＥ人員マスタ１１４（図７参照）、ＳＥスケジュール１１５（図８参照）、技術ＤＢ１１６（図９参照）などと連携しながら、システム開発のＳＥ工数の見積金額算出とシステム開発を担当するＳＥ候補、ＳＥ費用などを算出する処理である。
【００３１】
次のステップＳ１０８〜ステップＳ１０９は、ハード情報ＤＢ１１７（図１０参照）とソフト情報ＤＢ１１８（図１１参照）とモバイルＰＣ２０の画面（１１９，１２０）を利用し、使用するハードウェアの確定（図２２参照）およびソフトウェアの確定（図２３参照）を行い、それぞれの見積金額を算出する処理である。
【００３２】
次のステップＳ１１０は、モバイルＰＣ２０の画面（１２１）（図２４参照）を利用し、担当ＳＥ候補データ、ＳＥ費用、ハードウェア費用およびソフトウェア費の見積合計を算出し、画面へ出力させ、かつ担当ＳＥを確定する処理である。
【００３３】
ステップＳ１１１は、ＳＥスケジュール１１５（図８参照）を利用し、確定したＳＥへの作業依頼とスケジュールの確保（ＳＥの仮押）を行う処理である。その後、ステップＳ１５５において処理を終了する。
【００３４】
次に、図３のフローチャートを用いて、図２−ＢにおけるステップＳ１０１〜ステップＳ１０３の処理の詳細を説明する。
【００３５】
同図において、まず、ステップＳ２０１では、図１２に一例を示した技術マスタ１２２および図１３に一例を示した開発工程マスタ１２３から全項目の全データを抽出する。開発工程マスタ１２３からの抽出は、実際に利用するステップＳ２１２で行ってもよい。
【００３６】
ステップＳ２０２では、前記ステップＳ２０１で抽出したデータを要件技術の選択データとしてモバイルＰＣ２０の画面に表示する（図２０参照）。
【００３７】
ステップＳ２０３では、ステップＳ２０２での表示処理結果を踏まえて、「要件技術」，「開発期間」，「開発開始月」，「開発終了月」，「開発工程配分」，「開発規模」，「見積算出形式」の入力画面を出力すなわち表示する（図２１参照）。但し、「要件技術」の入力項目の画面は、ステップＳ２０２の処理で実施した要件技術の選択データを出力（表示）する。
【００３８】
ステップＳ２０４では、マウスやキー入力によってユーザが入力画面から入力した「要件技術」の入力情報（選択値あるいは入力値）を取得する。
【００３９】
ステップＳ２０５では、ステップＳ２０４の処理で入力された「要件技術」の入力情報（選択値あるいは入力値）がＮＵＬＬ値か否かのチェックを実施する。ＮＵＬＬ値の場合は未入力とみなしステップＳ２０４の処理へ戻るとする（入力待ち）。ＮＵＬＬ値以外の場合はステップＳ２０６の処理へ進む。
【００４０】
ステップＳ２０６では、ユーザが入力画面から入力した「開発期間」の入力情報（データ）を取得する（図２１の「開発期間」の項目参照）。
【００４１】
ステップＳ２０７では、ステップＳ２０６の処理で入力されたデータがＮＵＬＬ値か否かのチェックを実施する。ＮＵＬＬ値の場合は未入力とみなしステップＳ２０６の処理へ戻るとする（入力待ち）。ＮＵＬＬ値以外の場合はステップＳ２０８の処理へ進む。
【００４２】
ステップＳ２０８では、ユーザが入力画面から入力した「開発開始月」の入力情報（データ）を取得する（図２１の「開発開始月」の項目参照）。
【００４３】
ステップＳ２０９では、ステップＳ２０８の処理で入力されたデータがＮＵＬＬ値か否かのチェックを実施する。ＮＵＬＬ値の場合は未入力とみなしステップＳ２０８の処理へ戻るとする（入力待ち）。ＮＵＬＬ値以外の場合はステップＳ２１０の処理へ進む。
【００４４】
ステップＳ２１０では、ユーザが入力画面から入力した「開発終了月」の入力情報（データ）を取得する（図２１の「開発終了月」の項目参照）。
【００４５】
ステップＳ２１１では、ステップＳ２１０の処理で入力されたデータがＮＵＬＬ値か否かのチェックを実施する。ＮＵＬＬ値の場合は未入力とみなしステップＳ２１０の処理へ戻るとする（入力待ち）。ＮＵＬＬ値以外の場合はステップＳ２１２の処理へ進む。
【００４６】
ステップＳ２１２では、開発工程配分を行うために、開発工程マスタ１２３から全データ抽出したデータ毎に配分を実施するように表示する（図２１の「開発工程配分の入力」の項目参照）。その入力画面の表示に基づきキーボードなどからユーザが入力した「開発工程配分」の入力情報を取得する。
【００４７】
なお、開発工程マスタ１２３からの全データの抽出は、上述した如くステップＳ１０１で技術マスタ１２２（図１２参照）からの全データと一緒に抽出し保存しておいてステップＳ２１２で配分を実施するようにしてもよいし、ステップＳ１０１では技術マスタ１２２からの全データの抽出のみを抽出し、ステップＳ２１２において、開発工程マスタ１２３（図１３参照）から全データの抽出して配分を実施するようにしてもよい。
【００４８】
ステップＳ２１３では、ステップＳ２１２の処理で入力された「開発工程配分」の入力情報（入力値）がＮＵＬＬ値か否かのチェックを行うとともに、入力された開発工程配分の合計が１００％か否かをチェックする。
【００４９】
そして、チェックの結果、「入力値がＮＵＬＬ値」あるいは「配分合計が１００％でない」のいずれか一方または両方の場合は、ステップＳ２１２の処理へ戻るとする（入力待ち）。「入力値がＮＵＬＬ値以外」且つ「配分合計が１００％」の場合は、ステップＳ２１４の処理へ進む。
【００５０】
ステップＳ２１４では、ユーザが入力画面から入力した「開発規模」の入力情報（開発規模とは、後述する図８に一例を示したＳＥスケジュール１１５の中の“工数”に相当しており、「工数＝１」は、ＳＥ一人が１ヶ月かかる作業量を示すものとする）を取得する（図２１の「開発規模の入力」の項目参照）。
【００５１】
ステップＳ２１５では、ステップＳ２１４の処理で入力された「開発規模」の入力情報がＮＵＬＬ値か否かのチェックを実施する。ＮＵＬＬ値の場合は未入力とみなしステップＳ２１４の処理へ戻る（入力待ち）。ＮＵＬＬ値以外の場合はステップＳ２１６の処理へ進む。
【００５２】
ステップＳ２１６では、ユーザが入力画面から入力した「見積算出形式」の入力情報を取得する（図２１の「見積算出形式の選択」の項目参照）。ここで「見積算出形式」とは、「ＣＯＣＯＭＯ（Constructive Cost Model）法」と「ファンクション・ポイント（ＦＰ）法」と２つのうちの一つであり、これらのいずれか一方を、ユーザが入力画面からマウスあるいはキーボードなどを用いて入力する入力情報により選択する。
【００５３】
ここで、「ＣＯＣＯＭＯ（Constructive Cost Model）法」と「ファンクション・ポイント（ＦＰ）法」を簡単に説明しておく。（例えば、http://www.atmarkit.co.jp/fbiz/feature/0305itroi/02/01.html（2005.4.22検索）参照）
【００５４】
ファンクション・ポイント（ＦＰ）法は、システムの外部機能に着目してコストを算出する手法である。その名前が示すとおり、システムが持つ機能の数を数え上げ、その総量を開発コストのべースとするものである。機能はシステムの操作に相当する。例えば、銀行のＡＴＭへの暗証番号の入力は１個の操作であり、それが１つの機能に当たる。システムの機能数＝操作数を数え上げれば、ファンクション・ポイントの数が出る。これがシステムの規模になる。つまり、システム規模をファンクション・ポイントの数として外部から計算できるわけである。これがＦＰ法の基本である。 
【００５５】
一方、ＣＯＣＯＭＯ（Constructive Cost Model）法は、過去のシステム開発プロジェクトに関するデータを集積することによって、「このプロジェクトなら開発コストはこのくらい掛かる」という数式を確立している。ＣＯＣＯＭＯ法の数式で用いる要素は「コスト・ドライバ」と呼ばれ、２５〜３０程度ある。コスト・ドライバとしては、システムの難易度やシステムが扱うデータ量、作り手のスキルや組織の成熟度などが挙げられる。それをパラメータとして数式に入れるとコストが計算できる仕組みである。ＦＰ法が「外部機能」の数に着目するのに対し、ＣＯＣＯＭＯ法は、データベースの規模や開発サイドの能力といった「システムの内部構造」に着目したものである。 
【００５６】
次に、再度、図３のフローチャートの説明に戻る。
ステップＳ２１７では、ステップＳ２１６の処理で入力されたデータ（見積算出形式の入力情報）がＮＵＬＬ値か否かのチェックを実施する。ＮＵＬＬ値の場合は未入力とみなしステップＳ２１６の処理へ戻るとする（入力待ち）。ＮＵＬＬ値以外の場合、すなわち、「ＣＯＣＯＭＯ（Constructive Cost Model）法」と「ファンクション・ポイント（ＦＰ）法」のいずれかが選択（入力）された場合はステップＳ２１８の処理へ進む。
【００５７】
ステップＳ２１８では、ステップＳ２０４の処理からステップＳ２１７の処理までに取得したデータ「要件技術」，「開発期間」，「開発開始月」，「開発終了月」，「開発工程配分」，「開発規模」，「見積算出形式」をワークデータとして出力する。出力されたデータは、「入力情報ワークデータ（ｎ）２１９」として保存する。ここで、（ｎ）はステップＳ２０１からステップＳ２１６までの間に出力されたデータレコードのデータ区分を表す。
【００５８】
ここで、「入力情報ワークデータ（ｎ）２１９」の一例を図１６に示す。同図におけるデータは入力画面から入力されたデータを一時保管する表である。同図において、１６０１は入力のデータ区分（ｎ）である。データ（ｎ）はステップＳ２０１からステップＳ２１６までの間に出力されたデータレコードのデータ区分を表す。この区分により、入力時のデータ内容を表す。
【００５９】
すなわち、データ区分（１）は、ステップＳ２０４で取得された要件技術を、データ区分（２）は、ステップＳ２０６〜ステップＳ２１０で取得された開発期間，開発開始月，開発終了月を、データ区分（３）は、ステップＳ２１２で取得された開発工程配分を、データ区分（４）は、ステップＳ２１４，ステップＳ２１６で取得された開発規模，見積算出形式を示している。
【００６０】
１６０２は顧客が要望している要件技術を表す。要件技術のデータは「技術マスタ１２２」とリンクする（ステップＳ２０１〜ステップＳ２０４の処理を参照）。
【００６１】
１６０３は開発期間を表す。１６０４は開発開始月を表す。１６０５は開発修了月を表す。１６０６は開発工程を表す。開発工程のデータは「技術ＤＢ１１６」とリンクする。１６０７は開発工程配分を表す。１６０８は開発規模を表す。１６０９は見積算出形式を表す。ＣＯＣＯＭＯ法またはＦＰ法のいずれかが選択されている。
【００６２】
以下、本発明において重要である図２−ＢのステップＳ１０４からステップＳ１０７の処理を、図４−Ａ〜図４−Ｃを用いてさらに詳細に説明する。
【００６３】
図４−Ａにおいて、ステップＳ３０１の処理では、見積採番ＤＢ３０２から現在の見積採番番号を取得する。見積採番ＤＢ３０２の一例の表を図１４に示してある。ここでは取得した番号をａ（本例では３桁「００１」）とする。ステップＳ３０３の処理は今回の見積ＮＯ（番号）を算出する。
【００６４】
本例における見積ＮＯ（番号）の算出方法は、「当日の年月日＋（ａ＋１）」とする。ここで、＋は数字を順次羅列することを示す。本例では、年月日は２００４１００１（２００４年１０月１日）、ａ＝００１であるので、当日の年月日＋（ａ＋１）は、２００４１００１００２となる。
【００６５】
ステップＳ３０４では、ａ＋１された数字（本例の場合は「００２」）を見積採番ＤＢ３０２に更新する処理を実施し、更新後の見積採番ＤＢ３０２の値を「００２」にする。このような処理を繰り返すことによって、見積ＮＯ（番号）として、順次、２００４１００１００２、２００４１００１００３、・・が得られる。これにて次回採番時に見積ＮＯが重複しないこととなる。
【００６６】
次のステップＳ３０５では、ＳＥ人員毎に取得している「技術」に関連する項目の値を算出する。算出方法は、技術ＤＢ１１６（図９参照）の全データに対してＳＥ人員ＤＢ１１４（図７参照）のデータを、ＳＥ人員ＤＢ１１４と技術ＤＢ１１６の項目「人員」をキーにしてマッチングを実施する。ＳＥ人員ＤＢ１１４と技術ＤＢ１１６のマッチングの関係は、一般的には１対複数の関係とする。
【００６７】
ステップＳ３０６では、ステップＳ３０５の処理でのデータのマッチング結果のチェックを実施する。マッチングしたデータレコードは全てステップＳ３０７の処理を実施する。また、マッチングしなかったデータレコードは全てステップＳ３０８の処理を実施する。
【００６８】
ステップＳ３０７の処理は、技術ＤＢ１１６（図９参照）の全データレコードに結合したＳＥ人員ＤＢ１１４（図７参照）のデータレコードだけを次のように編集し、ワークデータ１（３０９）として出力する。
【００６９】
すなわち、ＳＥ人員ＤＢ１１４と技術ＤＢ１１６のマッチングしたデータからＳＥ人員ＤＢ１１４の項目「人員」、技術ＤＢ１１６の項目「開発工程」、技術ＤＢ１１６の項目「技術分類」、技術ＤＢ１１６の項目「技術」、ＳＥ人員ＤＢ１１４の項目「ＳＥ部署」、技術ＤＢ１１６の項目「技術レベル」のデータ値を、項目「人員」、項目「開発工程」、項目「技術分類」、項目「技術」、項目「ＳＥ部署」をユニークキーとしてワークデータ１（３０９）にデータ出力する。
【００７０】
ユニークキーとは、レコード毎に、それぞれユニークな（一意、つまり、ほかのレコードで重複して使われることがない）キーのことであり、異なるレコードで重複することがなくデータベース（ＤＢ）の管理にとって重要なキーである。
【００７１】
ステップＳ３０８の処理は、ＳＥ人員ＤＢ１４４と技術ＤＢ１１６が関連付けられなかった場合（マッチングしない場合）の処理であり、下記の通りにデータを表す。
【００７２】
すなわち、ＳＥ人員ＤＢ１１４に該当「人員」データレコードが有り、技術ＤＢ１１６に該データレコードがない場合は、ＳＥ人員ＤＢ１１４の項目「人員」、ＳＥ人員ＤＢ１１４の項目「ＳＥ部署」のデータ値を、その他のデータ項目はＮＵＬＬ値にてワークデータ１（３０９）として出力する。
【００７３】
一方、ＳＥ人員ＤＢ１１４に該当「人員」データレコードがなく、技術ＤＢ１１６に該データレーコードが有る場合は、ワークデータ１（３０９）へデータレコードの出力せずエラーデータレコードとしてログへ出力する。
【００７４】
ワークデータ１（３０９）は、ステップＳ３０７とステップＳ３０８の処理結果の全ての出力データレコードからなり、データ構成項目は「人員」，「開発工程」，「技術分類」，「技術」，「ＳＥ部署」，「技術レベル」，「単価」であり、ユニークキーは「人員」，「開発工程」，「技術分類」，「技術」，「ＳＥ部署」である。
【００７５】
ステップＳ３１０の処理は、ステップＳ２１８で入力情報ワークデータ（ｎ）２１９に入力された項目「要件技術」のデータ値と、ステップＳ３０７とステップＳ３０８の処理で入力されたワークデータ１（３０９）の項目「技術分類」，項目「技術」とを比較し、ワークデータ１（３０９）から対象データレコードを抽出し、該当ＳＥ人員を算出する処理である。
【００７６】
抽出方法は、入力情報ワークデータ（ｎ）２１９のデータレコードの項目「要件技術」と、ワークデータ１（３０９）のデータレコードの項目「技術分類」または項目「技術」とをキーとしてマッチング処理をする。
【００７７】
すなわち、マッチング条件式「（入力情報ワークデータ（ｎ）２１９項目「要件技術」＝ワークデータ１（３０９）項目「技術分類」）ｏｒ（入力情報ワークデータ（ｎ）２１９項目「要件技術」＝ワークデータ１（３０９）項目「技術」）」とし、この条件式に当てはまるデータレコードを全て抽出し、該当ＳＥ人員を算出する。
【００７８】
ステップＳ３１１の処理では、ステップＳ３１０で算出されたデータレコード、「人員」，「ＳＥ部署」，「開発工程」，「技術分類」，「技術」，「技術レベル」，「単価」をワークデータ２（３１２）として出力する。
【００７９】
ワークデータ２（３１２）は、ステップＳ３１１の処理で出力された全データレコードで、データ構成項目は「人員」，「ＳＥ部署」，「開発工程」，「技術分類」，「技術」，「技術レベル」，「単価」であり、ユニークキーは「人員」，「ＳＥ部署」，「開発工程」，「技術分類」，「技術」である。
【００８０】
ステップＳ３１３の処理では、ワークデータ２（３１２）の項目「ＳＥ部署」，「開発工程」，「技術分類」，「技術」をキーとしてデータレコードを集約し、その集約したデータレコードの項目「技術レベル」のデータ値の平均値を算出する。この技術レベルの平均値は後に工数見積算出時の補正係数に利用される。また、ワークデータ２（３１２）の項目「ＳＥ部署」，「開発工程」，「技術分類」，「技術」のデータ値を取得する。
【００８１】
ステップＳ３１４の処理では、ステップＳ３１３でワークデータ２（３１２）から抽出したデータレコードの項目「ＳＥ部署」，「開発工程」，「技術分類」，「技術」，「技術レベル」のデータ値を全てワークデータ３（３１５）として出力する。
【００８２】
ワークデータ３（３１５）の処理は、ステップＳ３１４の処理で出力された全データレコードで、データ構成項目は「ＳＥ部署」，「開発工程」，「技術分類」，「技術」，「技術レベル」であり、ユニークキーは「ＳＥ部署」，「開発工程」，「技術分類」，「技術」である。
【００８３】
次に、要求開発期間の算出について説明する。
図４−Ｂにおいて、ステップＳ３１６の処理では、入力情報ワークデータ（ｎ）２１９における「開発期間」、「開発開始月」、「開発終了月」、「開発工程配分」のデータ値から、各開発工程の期間と月数を算出する。算出方法は次の計算式で算出する。
【００８４】
＜各開発工程の月数の算出＞
各開発工程月数＝（「開発終了月」−「開発開始月」）×「各開発按分」率（四捨五入）
「開発終了月」−「開発開始月」＝上記で算出された各開発工程の合計月数
になるように調整の開発工程の月数を算出する。調整する開発工程はパラメータで指定する。
【００８５】
＜各開発工程の期間の算出＞
開発期間の開始月と終了月を算出する。
各開発工程期間開始月＝前開発工程終了月＋１
各開発工程期間終了月＝各開発工程期間開始月＋当該開発工程の月数−１
【００８６】
例えば、入力情報ワークデータ（開発工程配分）の（項目「開発工程」、項目「開発工程配分」）と表現とし（Ａ、１０），（Ｂ，２０），（Ｃ，５０），（Ｄ，２０）の４件のデータレコードがある場合、各開発工程Ａ〜Ｄの開発月数の計算式は次の通りとなる。
【００８７】
Ａの開発月数＝（「開発終了月」−「開発開始月」）×１０／１００（四捨五入）、
Ｂの開発月数＝（「開発終了月」−「開発開始月」）×２０／１００（四捨五入）、
Ｃの開発月数＝（「開発終了月」−「開発開始月」）×５０／１００（四捨五入）、
Ｄの開発月数＝（「開発終了月」−「開発開始月」）×２０／１００（四捨五入）
となる。
【００８８】
次に、
入力情報ワークデータ（開発期間）＝Ａの開発月数＋Ｂの開発月数＋Ｃの開発月数＋Ｄの開発月数
となるかをチェックし、差異が発生した場合は調整開発工程データの月数を上記の式になるように値を調整する。
【００８９】
今回はＡの開発工程を調整するものとする。
調整後の新Ａの開発月数＝Ａの開発月数＋（入力情報ワークデータの（開発期間）−（Ａの開発月数＋Ｂの開発月数＋Ｃの開発月数＋Ｄの開発月数））
【００９０】
次に、開発期間の開発開始月と開発終了月の算出計算式は、
Ａの開始月＝入力情報ワークデータ（開始月）のデータ値＋０、
Ａの開発終了月＝Ａの開発開始月＋Ａの開発月数−１、
Ｂの開発開始月＝Ａ開発終了月＋１、
Ｂの開発終了月＝Ｂの開発開始月＋Ｂの開発月数−１、
Ｃの開発開始月＝Ｂ開発終了月＋１、
Ｃの開発終了月＝Ｃの開発開始月＋Ｃの開発月数−１、
Ｄの開発開始月＝Ｃ開発終了月＋１、
Ｄの開発終了月＝Ｄの開発開始月＋Ｄの開発月数−１
となる。
【００９１】
ステップＳ３１７の処理では、ステップＳ３１６の処理で算出したデータレコード、項目「開発工程」、項目「開発開始月」、項目「開発終了月」、項目「開発月数」のデータ値をワークデータ４（３１８）へ全て出力する。ユニークキーは「開発工程」である。
【００９２】
次に、見積算出について説明する。
図４−Ｃにおいて、ステップＳ３１９の処理では、入力情報ワークデータ（ｎ）２１９の（見積算出形式）のデータ値を参照して見積りの工数見積り算出方式を決定する。
【００９３】
ステップＳ３２０の処理では、ステップＳ３１９における上記決定がＣＯＣＯＭＯ法であるかＦＰ法であるかのチェックを実施し、ＣＯＣＯＭＯ法であれば、ステップＳ３２１の処理を実行し、ＦＰ法であればステップＳ３２２の処理を実施するように判定する。
【００９４】
ステップＳ３２１の処理では、周知の見積り方法であるＣＯＣＯＭＯ法見積で工数の見積りを算出する。ＣＯＣＯＭＯ法の工数見積の計算式は次の通りである。
【００９５】
ＣＯＣＯＭＯ法の工数＝（予定開発ステップ数×開発生産性）指数倍率×補正係数
【００９６】
ここで上記式中の項目について説明する。
「予定開発ステップ数」は、プログラムのステップ数で今回は入力情報ワークデータ（ｎ）２１９の（開発規模）のデータ値に当る。
【００９７】
「指数倍率」は、プロジェクト規模によって開発工数の効率が変動するため、過去の実績から指数値を当てはめる。本発明ではパラメータ入力値とする。
【００９８】
「開発生産性」は、人月/Ｋステップを表し、過去の実績から数値を求める。本発明ではパラメータ入力値とする。
【００９９】
「補正係数」は、技術レベルによる差異の補正値である。本発明では、ワークデータ３（３１５）の項目「技術レベル」（平均値）から係数値を算出する。算出方法はパラメータから技術レベルに対応した係数値を求める。スキルが高い程、係数が少なくなり、開発工数が少なくなる。
【０１００】
このように、ステップＳ３２１の処理では、ＣＯＣＯＭＯ法に従ってワークデータ３（３１５）のレコードデータ毎に工数値を算出する。
【０１０１】
一方、ステップＳ３２２の処理では、周知の見積方法であるＦＰ法見積で工数の見積を算出する。ＦＰ法の工数見積の計算式は次の通りである。
【０１０２】
ＦＰ法の工数＝予定開発ステップ数(ファンクション数)×（補正係数×０．０１＋０．６５）×生産性（ＦＰ/人月）
【０１０３】
ここで上記式中の項目について説明する。
「予定開発ステップ数」は、画面数を表し今回は入力情報ワークデータ（ｎ）２１９の（開発規模）のデータ値に当たる。
【０１０４】
「補正係数」は、技術レベルによる差異を補正する数値である。本発明では、ワークデータ３（３１５）の項目「技術レベル」（平均値）から算出する。算出方法はパラメータから技術レベルに対応した係数値を求める。スキルが高い程、係数値が少なくなり、開発工数が少なくなる。
【０１０５】
「生産性」は、ＦＰ／人月を表し、過去の実績から数値を求める。本発明ではパラメータ入力値とする。
【０１０６】
このように、ステップＳ３２２の処理では、ＦＰ法に従ってワークデータ３（３１５）のレコードデータ毎に工数値を算出する。
【０１０７】
次のステップＳ３２３の処理では、ステップＳ３２１の処理またはステップＳ３２３の処理で求められた「開発工数」のデータ値をデータレコード毎に項目追加し、ワークデータ６（３２４）として全データレコードを出力する。
【０１０８】
ワークデータ６（３２４）のデータレコード項目構成は、「ＳＥ部署」，「開発工程」，「技術分類」，「技術」，「技術レベル」と、ステップＳ３２１の処理またはステップＳ３２２の処理で算出されたデータ値の「開発工数」である。ユニークキーは「ＳＥ部署」，「開発工程」，「技術分類」，「技術」である。
【０１０９】
ステップＳ３２６の処理では、図８に示す如きＳＥスケジュール１１５と、上記ワークデータ２（３１２）と、上記ワークデータ４（３１８）とからワークデータ２（３１２）のデータレコード毎に空き工数を算出する。
【０１１０】
計算方法は、ワークデータ２（３１２）の表データとワークデータ４（３１８）の表データを、項目「開発工程」をキーとして結合する。ワークデータ２（３１２）の全ての表データは出力し、ワークデータ４（３１８）と連結したデータレコードだけ、ワークデータ４（３１８）の項目「開発開始月」、項目「開発終了月」のデータ値を出力する。
【０１１１】
この結合した表を結合表１と表し、構成項目は「人員」，「ＳＥ部署」，「開発工程」，「技術分類」，「技術」，「技術レベル」，「開発開始月」，「開発終了月」，「単価」とする。
【０１１２】
次に、結合表１とＳＥスケジュール１１５を「人員」をキーとして連結して空き工数を算出する。結合表１の全ての表データとして出力する。
【０１１３】
連結条件は、『結合表の項目「開発開始月」＜ＳＥスケジュール１１５の項目「年月」＜結合表１の項目「開発終了月」』とし、抽出されたＳＥスケジュール１１５の項目「工数」を『１−「工数」』と計算し「空き工数」とする。
【０１１４】
次に、人員毎に「空き工数」を集計する。これにより「人員」毎の「空き工数」の値が算出される。この「空き工数」を結合表１の項目として追加する。
【０１１５】
ステップＳ３２７の処理では、ステップＳ３２６で算出された結合表１をワークデータ５（３２８）へ全て出力する。ワークデータ５（３２８）の項目構成は「人員」，「ＳＥ部署」，「開発工程」，「技術分類」，「技術」，「技術レベル」，「開発開始月」，「開発終了月」，「単価」，「空き工数」の表である。また、ユニークキーは「人員」，「ＳＥ部署」，「開発工程」，「技術分類」，「技術」である。
【０１１６】
ステップＳ３２９の処理では、ワークデータ５（３２８）を「ＳＥ部署」，「開発工程」，「技術分類」，「技術」をキーとしてデータレコードをサマリーする。サマリーする時、キー毎に次の計算を実施する。
【０１１７】
各データレコード毎に、『「金額」＝ワークデータ５（３２８）の項目「単価」×のデータ値とワークデータ５（３２８）の項目「空き工数」のデータ値』を計算してキー毎に集計し「金額」を算出する。また、各データレコード毎にワークデータ５（３２８）の項目「空き工数」のデータ値をキー毎に集計し「空き工数合計」を算出する。
【０１１８】
ステップＳ３３０の処理では、算出された結果とステップＳ３２９で算出したデータレコード全てをワークデータ７（３３１）として出力する。ワークデータ７（３３１）の項目構成は「ＳＥ部署」，「開発工程」，「技術分類」，「技術」，「金額」，「空き工数合計」の表である。
【０１１９】
ステップＳ３３２の処理では、開発可能な該当ＳＥ部署の見積金額を算出する。すなわち、ワークデータ６（３２４）とワークデータ７（３３１）を、「ＳＥ部署」，「開発工程」，「技術分類」，「技術」をキーとして結合し、ワークデータ４（３１８）とは「開発工程」をキーとして結合する。
【０１２０】
そこから抽出条件にあったデータレコードだけを抽出する。抽出条件は『（ワークデータ６（３２４）の項目「開発工数」）÷（ワークデータ７（３３１）の項目「空き工数合計」）＝＜（ワークデータ４（３１８）の項目「開発月数」）である。
【０１２１】
ステップＳ３３３の処理では、ステップＳ３３２の処理で抽出したデータレコードをワークデータ８（３３４）として出力する。ワークデータ８（３３４）の項目構成は「ＳＥ部署」，「開発工程」，「技術分類」，「技術」，「金額」の表である。ユニークキーは「ＳＥ部署」，「開発工程」，「技術分類」，「技術」である。
【０１２２】
このようにして得られたワークデータ８（３３４）の表で表されたデータ一覧表がＳＥ費の算出データである。以上が、図２のＳＥ費の算出のステップＳ１０７までの処理の詳細な説明である。
【０１２３】
次に、図２のステップＳ１０８〜ステップＳ１０９の処理におけるハード製品およびソフト製品の見積算出ついて説明する。
【０１２４】
ステップＳ１０８の処理では、ハード情報ＤＢ１１７（図１０参照）から全項目の全データを抽出する。抽出したデータをハード機種の選択データとして画面出力・入力の画面１１９へ表示する。図２２は、その時の出力・入力画面１１９の一例である。表示項目は「分類」（ＵＮＩＸ（登録商標）など），「機器名」（サーバＡなど），「メーカ名」，「単価」とする。出力・入力画面１１９に表示された選択データからユーザが該当データを選択し、さらに購入する数量を入力する。
【０１２５】
入力されたデータをステップＳ１０８の処理へ引き渡す。
ステップＳ１０８の処理では、引き渡されたデータを一時保存をする。このデータをハード一時保存データとする。ハード一時保存データの構成項目は「分類」（ＤＢなど），「機器名」（ソフトＡなど），「メーカ名」，「単価」，「数量」とする。
【０１２６】
ステップＳ１０９の処理では、ソフト情報ＤＢ１１８（図１１参照）から全項目の全データを抽出する。抽出したデータをソフト機種の選択データとして画面出力・入力の画面１２０へ表示する。図２３は、その時の出力・入力画面１２０の一例である。表示項目は「分類」，「機器名」（ソフト名），「メーカ名」，「単価」とする。出力・入力画面１２０で表示された選択データからユーザが該当データを選択し、さらに購入する数量を入力する。
【０１２７】
入力されたデータをステップＳ１０９の処理へ引き渡す。
ステップＳ１０９では、引き渡されたデータを一時保存をする。このデータをソフト一時保存データとする。ソフト一時保存データの構成項目は「分類」，「ソフト名」，「メーカ名」，「単価」，「数量」とする。
【０１２８】
次に、ステップＳ１１０の処理でのシステム開発見積りに必要な構成「ＳＥ費」，「ハード費」，「ソフト費」を算出した結果表示と見積り確定について説明する。
【０１２９】
ステップＳ１１０の処理では、ステップＳ３０３の処理で算出された「見積ＮＯ」、ワークデータ８（３３４）のデータ及びステップＳ１０８の処理で算出されたハード一時保存データ、ステップＳ１０９の処理で算出されたソフト一時保存データを、図２４に一例を示す出力・入力画面１２１へ出力する。
【０１３０】
画面出力時には、開発工程、ＳＥ部署、技術分類、技術毎の小計、「ＳＥ費」の合計とハード一時保存データの機器毎の小計（数量×単価）、ハード費合計とソフト一時保存データの機器毎の小計（数量×単価）、ソフト費合計、および「ＳＥ費」、「ハード費」、「ソフト費」の総合計を出力表示する。
【０１３１】
ＳＥ費については各開発工程に出力一覧からＳＥ部署データをユーザが選択し出力する。これにより、「ＳＥ費」が確定し、「ハード費」，「ソフト費」が算出され、システム開発費の見積費用が算出できる。
【０１３２】
次に、ステップＳ１１１の処理では、ステップＳ１１０の処理で選択された各開発工程毎のＳＥ部署から担当ＳＥをスケジューリングし、この見積りの引き合い案件を担当ＳＥへメールで通知する。詳細は図５を用いて説明する。
【０１３３】
図５において、ステップＳ５０１の処理では、ステップＳ１１０の処理で算出されたＳＥ部署データの表をもとに対象ＳＥ人員を抽出する。一次抽出されたＳＥ人員のデータ一覧であるワークデータ５（３２８）にステップＳ１１０の処理で算出されたデータと「ＳＥ部署」，「開発工程」，「技術分類」，「技術」の項目をキーとして結合する。
【０１３４】
結合したデータレコードのみを抽出してワークデータ５１に表の出力をする。ワークデータ５１の項目構成は、図１７に示すように、「見積ＮＯ１７０１」，「人員１７０２」，「ＳＥ部署１７０３」，「開発工程１７０４」，「技術分類１７０５」，「技術１７０６」，「技術レベル１７０７」，「開発開始月１７０８」，「開発終了月１７０９」，「単価１７１０」，「空き工数１７１１」である。ユニークキーは「見積ＮＯ」，「人員」，「ＳＥ部署」，「開発工程」，「技術分類」，「技術」である。
【０１３５】
ステップＳ１１０の処理で算出されたＳＥ部署データの表の項目構成は「見積ＮＯ」，「ＳＥ部署」，「開発工程」，「技術分類」，「技術」，「金額」である。ユニークキーは「人員」，「ＳＥ部署」，「開発工程」，「技術分類」，「技術」である。
【０１３６】
ステップＳ５０２の処理では、ステップＳ５０１の処理で出力されたワークデータ５１を基にＳＥ人員ＤＢ１１４と「人員」をキーとして結合する。ＳＥ人員ＤＢ１１４の項目「メールアドレス」のデータ値を取得し、ワークデータ５１に項目「メールアドレス」を追加し、取得したデータ値を付加してワークデータ５１を全てワークデータ５２として出力する。
【０１３７】
ワークデータ５２の項目構成は、図１８に示すように、「見積ＮＯ１８０１」，「人員１８０２」，「ＳＥ部署１８０３」，「開発工程１８０４」，「技術分類１８０５」，「技術１８０６」，「技術レベル１８０７」，「開発開始月１８０８」，「開発終了月１８０９」，「単価１８１０」，「空き工数１８１１」，「メールアドレス１８１２」である。ユニークキーは「見積ＮＯ」，「人員」，「ＳＥ部署」，「開発工程」，「技術分類」，「技術」である。
【０１３８】
ステップＳ５０３の処理では、ステップＳ５０２の処理でワークデータ５１とＳＥ人員ＤＢ１１４の結合のチェックを実施する。結合できなかったワークデータ５２は処理せず終了する。結合したワークデータ５２はワークデータ５３として出力する。
【０１３９】
ステップＳ５０４の処理では、まず、図１８に示す如きワークデータ５３を「見積ＮＯ１８０１」，「人員１８０２」，「ＳＥ部署１８０３」，「開発工程１８０４」，「開発開始月１８０８」，「開発終了月１８０９」をキーにデータレーコードをサマリーする。キー毎に「空き工数１８１１」を合算する。「メールアドレス１８１２」は任意のデータを抽出する。この算出したデータの表を「算出データ１」とする。
【０１４０】
「算出データ１」を基にデータレコードを作成しＳＥスケジュール１１５に追加していく。追加方法は「算出データ１」を基にＳＥスケジュール１１５のデータを抽出する。
【０１４１】
その時の抽出条件は、
算出したデータ項目「開発開始月」＜ＳＥスケジュール１１５の「年月」＜算出したデータ項目「開発終了月」
且つ  ＳＥ人員ＤＢ１１４の「人員」＝算出したデータの「人員」
とする。この抽出データの表を「ＳＥ人員ＤＢ抽出データ１」と表す。「ＳＥ人員ＤＢ抽出データ１」の構成項目はＳＥスケジュール１１５と同じである。
【０１４２】
次に、ＳＥスケジュールデータを作成する。
この作成処理の詳細を、図６のフローチャートを用いて詳細に説明する。同図において、６００は算出データ１、６０３はＳＥ人員ＤＢ抽出データ１、６０５はＳＥ人員ＤＢ抽出データ２である。
【０１４３】
ステップＳ６０１の処理では、算出データ１（６００）から一件のデータレコードを読み込む。読み込んだデータレコードをワークデータ６２（図１８参照）と表す。
【０１４４】
ステップＳ６０２の処理は、ＳＥ人員ＤＢ抽出データ１（６０３）のデータを「人員」，「年月」のキーでサマリーし、キー毎に「工数」を合算し、計算式『「空き工数」＝１−（合算した「工数」）』を算出し、ＳＥ人員ＤＢ抽出データ２（６０５）として出力する。
【０１４５】
ＳＥ人員ＤＢ抽出データ２（６０５）の構成項目は、「人員」，「作番（作業番号）」，「年月」，「工数」，「空き工数」である。ユニークキーは「人員」，「年月」である。
【０１４６】
ステップＳ６０４の処理では、ワークデータ６２の「空き工数」を変数Ａへ代入する。ステップＳ６０６の処理では、ＳＥ人員ＤＢ抽出データ２（６０５）からデータレコードを一件読み込む。読み込んだデータをワークデータ６３（図１９参照）と表す。構成項目は、ＳＥ人員ＤＢ抽出データ２（６０５）と同じである。
【０１４７】
ステップＳ６０７の処理では、計算式『変数Ａ−ワークデータ６３「空き工数」』を計算し、計算結果を変数Ａに代入する。
【０１４８】
ステップＳ６０８では、条件『数Ａ＞０』をチェックし、条件に合致していれば（ステップＳ６０８：Ｙ）、ステップＳ６０９の処理へ進み、合致していなければ（ステップＳ６０８：Ｎ）、ステップＳ６１０の処理へ進む。
【０１４９】
ステップＳ６０９の処理は、ワークデータ６３からワークデータ６１（６１１）へ編集出力する。
【０１５０】
編集方法は、ワークデータ６３の「人員」の値をワークデータ６１（６１１）「人員」に代入、ワークデータ６３の「年月」の値をワークデータ６１（６１１）の「年月」へ代入、ワークデータ６３の「空き工数」の値をワークデータ６１（６１１）の「工数」へ代入、ワークデータ６２「見積ＮＯ」をワークデータ６１（６１１）の「作番」へ代入、ワークデータ６１（６１１）の「仮登録フラグ」を立てる。
【０１５１】
ステップＳ６１０の処理では、ワークデータ６３からワークデータ６１（６１１）へ編集出力する。
【０１５２】
編集方法は、ワークデータ６３の「人員」の値をワークデータ６１（６１１）の「人員」に代入、ワークデータ６３の「年月」の値をワークデータ６１（６１１）の「年月」へ代入、変数Ａをワークデータ６１（６１１）の「工数」へ代入、ワークデータ６２「見積ＮＯ」をワークデータ６１（６１１）の「作番」へ代入、ワークデータ６１（６１１）の「仮登録フラグ」を立てる。ステップＳ６１０の処理が終わったらステップＳ６０１の処理へ進む。
【０１５３】
ワークデータ６１（６１１）のデータ項目構成はＳＥスケジュール１１５と同じである。
【０１５４】
ステップＳ６１２の処理では、ステップＳ６０５で読み終わったかどうかをチェックする。読み終わっていたら（ステップＳ６１２：Ｙ）、ステップＳ６１３の処理へ進む。読み終わっていなかったら（ステップＳ６１２：Ｎ）、ステップＳ６０６の処理へ進む。
【０１５５】
ステップＳ６１３の処理では、ステップＳ６０１の読み込みが全て終わったかどうかをチェックする処理である。全て読み終わっていたら（ステップＳ６１３：Ｙ）、ステップＳ６１４の処理へ進む。読み終わっていなかったら（ステップＳ６１３：Ｎ）、ステップＳ６０１の処理へ進む。
【０１５６】
ステップＳ６１４の処理では、ワークデータ６１（６１１）のデータレコードの表をＳＥスケジュール１１５の表へ全て追加する。この処理にてステップＳ５０４の処理が終了し、ＳＥスケジュール１１５（図８参照）へのスケジュール登録が完了する。
【０１５７】
ステップＳ５０５の処理では、「人員」でデータをサマリーし、サマリーした全データレコードの「メールアドレス」を基に、引き合いが発生したことをメールで通知して、ステップＳ５０６では、上記で算出したデータを見積ＤＢ５０７へ登録して処理を終了する。
【０１５８】
次に、上記説明に現れた「ＳＥ人員ＤＢ１１４」，「ＳＥスケジュール１１５」，「技術ＤＢ１１６」，「ハード情報ＤＢ１１７］，「ソフト情報ＤＢ１１８」，「技術マスタ１２２」，「開発工程マスタ１２３」，「見積採番ＤＢ３０２」，「見積ＤＢ５０７」，「入力情報ワークデータ（ｎ）２１９」，ワークデータ５１，５２，５３，６２、６３の表の一例を、図面を用いて簡単に説明する。
【０１５９】
図７は、「ＳＥ人員ＤＢ１１４」の表についての説明である。この表は各部署が管理する人員情報のデータである。人員は現在該当部署に所属していない人員も仮として登録することも可能とする。また、人員の作業単価、メールアドレス、所属部署、人名等のデータが登録してある。表のユニークキーは「人員」とする。同図において、７０１は人員登録番号であり、ユニークキーである。７０２は人名を表す。７０３は所属部署を表す。７０４は１ヶ月あたりの作業単価を表す。７０５は連絡先のメールアドレスを表す。
【０１６０】
図８は、「ＳＥスケジュール１１５」の表を説明するための図である。同図において、８０１は人員の登録番号を表す。８０２は作業番号を表す。この作業番号とは「人員」が携わっている作業の登録番号である。８０３は年月を表す。この年月とは作業番号８０２の作業に携わっている年月を表す。８０４は工数を表す。この工数とは１人が１ヶ月掛かる作業量を１と表し、例えば１人が３日掛かる作業量を０．１（＝３／３０）と表す。８０５は仮の作業番号の登録であるかを表す仮登録フラグである。
【０１６１】
ＳＥスケジュール１１５は、各「ＳＥ人員ＤＢ１１４」に登録してある人員に対しての作業を元に現在から未来に向かっての工数予定を月毎に管理するデータである。表現方法は各人員が担当している作業番号毎に作業工数を表す。毎月の作業工数を１人で一ヶ月掛かる作業を１人月と表す。担当者の一ヶ月の合計工数が１人月を超える作業量は不正値とする。
【０１６２】
図８は、例えば、「人員８０１」が“１”で、「作業番号８０２」が“１”で、月々０.１の工数の作業量を２００４年１０月〜２００４年１２月迄の作業を実施した場合のＳＥスケジュール１１５の例である。表のユニークキーは「人員」，「作番」，「年月」とする。
【０１６３】
図９は、「技術ＤＢ１１６」の表を説明するための図である。この表は人員の技術のレベルを表した表である。各人員の技術スキルの表現方法は各システム開発工程、技術分類、技術毎に登録し、その技術レベルを表す。表のユニークキーは「人員」，「開発工程」，「技術分類」，「技術」とする。同図において、９０１は人員の登録番号を表す。９０２は開発工程の番号を表す。９０３は技術分類を表す。９０４は技術を表す。９０５は技術スキルのレベルを表す。
【０１６４】
図１０は、「ハード情報ＤＢ１１７］の表を説明するための図である。この表は見積が可能なハード製品の見積情報を登録してある。表のユニークキーは「機器番号」である。同図において、１００１はハード情報の機器番号である。１００２はハード分類を表している。１００３はハードの名称である。１００４は製造及び販売している会社名を表している。１００５は販売単価を表している。
【０１６５】
図１１は、「ソフト情報ＤＢ１１８」の表を説明するための図である。この表は見積が可能なソフト製品の見積情報を登録してある。表のユニークキーは「ソフト番号」である。同図において、１１０１はソフト情報のソフト番号である。１１０２はソフト分類を表している。１１０３はソフトの名称である。１１０４は製造及び販売している会社名を表している。１００５は販売単価を表している。
【０１６６】
図１２は、「技術マスタ１２２」の表を説明するための図である。この表は技術ＤＢ１１６の項目「技術分類」，「技術」の内容を定義する表である。表のユニークキーは「開発工程」，「技術分類」，「技術」である。同図において、１２０１は開発工程である。１２０２は技術の分類である。１２０３は技術の項目である。
【０１６７】
ここで「開発工程」はシステムの開発の工程を表す。「技術分類」はシステム構築する為の技術を分類したものである。「技術」はシステム構築するための自社で保有している必要技術を全て表したものである。当システムでは顧客のシステム構築に合った技術を「技術マスタ１２２」から選択する。
【０１６８】
図１３は、「開発工程マスタ１２３」の表を説明するための図である。この表は開発工程の内容を定義するための表である。表のユニークキーは「開発工程」である。同図において、１３０１は開発工程を表す番号である。１３０２は開発工程を表す名称である。１３０３は開発工程の詳細である。開発工程は、開発工程毎に開発され、開発する工程期間が重なることはない。但し、プロジェクト管理工程だけは開発工程の全期間と工程が重なる。
【０１６９】
図１４は、「見積採番ＤＢ３０２」の表を説明するための図である。この表は見積ＮＯを採番するための表である。同図において、１４０１は現在の採番番号の最大値を表している。本例は３桁の場合を示している。
【０１７０】
図１５は、「見積ＤＢ５０７」の表を説明するための図である。この表は見積を管理する表である。同図において、１５０１は見積の番号（見積ＮＯ）を表している。見積ＮＯがこの表のユニークキーである。１５０２は見積先の顧客名である。１５０３は見積して提出した年月日であり、ステップＳ５０６処理を実施した年月日を登録する。１５０４は見積を提出した時間であり、ステップＳ５０６の処理を実施した時間を登録する。１５０５は見積内容を登録する。１５０６はステップＳ１１０処理で最終の見積金額として算出した金額を登録する。１５０７は見積を提出した人の担当者の名前を登録する。
【０１７１】
図１６は、「入力情報ワークデータ（ｎ）」についての説明するための図である。当データは入力画面から入力されたデータを一時保管する表である。同図において、１６０１は入力のデータ区分である。この区分により、入力時のデータ内容を表す。１６０２は顧客が要望している技術要件を表す。技術要件のデータは「技術マスタ」とリンクする。１６０３は開発期間を表す。１６０４は開発開始月を表す。１６０５は開発修了月を表す。１６０６は開発工程を表す。データは「技術ＤＢ」とリンクする。１６０７は開発工程配分を表す。１６０８は開発規模を表す。１６０９は見積算出形式を表す。ＣＯＣＯＭＯ法、ＦＰ法かを選択する。
【０１７２】
図１７は、ワークデータ５１の表についてのデータ例を示す図であり、図１８は、ワークデータ５２、ワークデータ５３、ワークデータ６２の表についての一例を示す図であり、図１９は、ワークデータ６３の表についての一例を示す図である。
【０１７３】
なお、本発明に係るシステム開発見積支援システムを構成する検索条件の算出部１５，算出処理部１６、見積書の出力部１７、ユーザー通知部１８は、ソフトウェア（プログラム）とハードウェアにより実現されるもので、それぞれに対応する機能を達成するためのプログラムをコンピュータのＣＰＵに実行させることにより実現される。
【０１７４】
また、これらのプログラムは、インターネットなどのネットワークを介して配布したり、ＣＤ−ＲＯＭ，ＤＶＤ，ＦＤなどの記録媒体に格納して配布することにより広く流通させることができる。
【図面の簡単な説明】
【０１７５】
【図１】本発明に係るシステム開発見積支援システムの概要図である。
【図２−Ａ】本発明に係るフローチャートの記号の凡例（意味）を示す図である。
【図２−Ｂ】本発明に係るシステム開発見積支援システムの処理概要図である。
【図３】図２−ＢのステップＳ１０１の処理からステップＳ１０３の処理までの説明図である。
【図４−Ａ】図２−ＢのステップＳ１０４の処理からステップＳ１０７の処理までの説明図である（その１）。
【図４−Ｂ】図２−ＢのステップＳ１０４の処理からステップＳ１０７の処理までの説明図である（その２）。
【図４−Ｃ】図２−ＢのステップＳ１０４の処理からステップＳ１０７の処理までの説明図である（その３）。
【図５】図２−ＢのステップＳ１１１処理の説明図である。
【図６】図５のステップＳ５０４の処理の一部の詳細説明図である。
【図７】「ＳＥ人員ＤＢ１１４」の表を説明するための図である。
【図８】「ＳＥスケジュール１１５」の表を説明するための図である。
【図９】「技術ＤＢ１１６」の表を説明するための図である。
【図１０】「ハード情報ＤＢ１１７」の表を説明するための図である。
【図１１】「ソフト情報ＤＢ１１８」の表を説明するための図である。
【図１２】「技術マスタ１２２」の表を説明するための図である。
【図１３】「開発工程マスタ１２３」の表を説明するための図である。
【図１４】「見積採番ＤＢ３０２」の表を説明するための図である。
【図１５】「見積ＤＢ５０７」の表を説明するための図である。
【図１６】「入力情報ワークデータ（ｎ）」について説明するための図である。
【図１７】ワークデータ５１の表についての一例を示す図である。
【図１８】ワークデータ５２、ワークデータ５３、ワークデータ６２の表についての一例を示す図である。
【図１９】ワークデータ６３の表についての一例を示す図である。
【図２０】画面入力「１１２」を説明するための図面例である。
【図２１】画面入力「１１３」を説明するための図面例である。
【図２２】画面出力・入力「１１９」を説明するための図面例である。
【図２３】画面出力・入力「１２０」を説明するための図面例である。
【図２４】画面入力「１２１」を説明するための図面例である。
【符号の説明】
【０１７６】
１０：システム開発見積支援システム
１１：ＳＥ人材関連情報
１２：ＳＥスケジュール関連情報
１３：ハード関連情報
１４：ソフト関連情報
１５：検索条件の算出部
１６：算出処理部
１７：見積書の出力部
１８：ユーザー通知部
２０：モバイルＰＣ
３０：メールサーバ，スケジューラサーバ
４０：対象者（ＳＥ）
５０：上長
１１２，１１３，１１９，１２０，１２１：出力・入力画面
１１４：ＳＥ人員ＤＢ
１１５：ＳＥスケジュール
１１６：技術ＤＢ
１１７：ハード情報ＤＢ
１１８：ソフト情報ＤＢ
１２２：技術マスタ
１２３：開発工程マスタ
１５１：処理名
１５２：データ，テーブル名
１５３：画面入出力
２１９：入力情報ワークデータ
３０２：見積採番ＤＢ
３０９，３１２，３１５，３１８，３２４，３２８，３３１，３３４，６１１：ワークデータ
５０７：見積ＤＢ
【図１】
2007058253.tif 000003
【図２−Ａ】
2007058253.tif 000004
【図２−Ｂ】
2007058253.tif 000005
【図３】
2007058253.tif 000006
【図４−Ａ】
2007058253.tif 000007
【図４−Ｂ】
2007058253.tif 000008
【図４−Ｃ】
2007058253.tif 000009
【図５】
2007058253.tif 000010
【図６】
2007058253.tif 000011
【図７】
2007058253.tif 000012
【図８】
2007058253.tif 000013
【図９】
2007058253.tif 000014
【図１０】
2007058253.tif 000015
【図１１】
2007058253.tif 000016
【図１２】
2007058253.tif 000017
【図１３】
2007058253.tif 000018
【図１４】
2007058253.tif 000019
【図１５】
2007058253.tif 000020
【図１６】
2007058253.tif 000021
【図１７】
2007058253.tif 000022
【図１８】
2007058253.tif 000023
【図１９】
2007058253.tif 000024
【図２０】
2007058253.tif 000025
【図２１】
2007058253.tif 000026
【図２２】
2007058253.tif 000027
【図２３】
2007058253.tif 000028
【図２４】
2007058253.tif 000029