(57)【特許請求の範囲】
【請求項１】
ソフトウェアプログラムの仕様データの入力を支援し、入力された仕様データに基づいてソフトウェアプログラムの機能規模を演算するソフトウェア規模演算装置であって、
該ソフトウェア規模演算装置は、
入力画面を通してソフトウェアプログラムの機能規模を見積もるための指標となる指標データを入力し、記憶装置に保存する指標データ入力手段と、
前記入力画面を通して自然言語で文字入力されるソフトウェアプログラムの仕様データを前記記憶装置へ保存する仕様入力手段と、
前記仕様データと前記指標データとを照合して、前記入力画面に表示されている仕様データ中の前記指標データに対応する文字を識別表示する照合手段と、
を有する仕様記述支援部と、
前記指標データを用いてソフトウェアプログラムの機能規模を算出する見積り演算部と、を備えたことを特徴とするソフトウェア規模演算システム。
【請求項２】
請求項１記載のソフトウェア規模演算装置において、
前記指標データは、前記ソフトウェアプログラムへのデータの入力および前記ソフトウェアプログラムからのデータの出力ごとに付されたデータ移動項目名と、該データ移動項目名に関連付けられ、外部装置またはメモリとの間の入出力動作を区別するためのデータ移動種別とから構成され、
さらに、前記データ移動種別ごとに重み付けした機能規模を表す基準データを前記記憶装置に保存しておき、
前記照合手段は、前記指標データのうち、データ移動項目名と仕様データとを照合して、前記入力画面に表示されている仕様データ中のデータ移動項目名に対応する文字を識別表示し、
前記見積り演算部は、前記データ移動種別ごとに前記データ移動項目名の数を集計し、該集計結果に夫々のデータ移動種別の前記基準データを掛け合わせて機能規模を演算することを特徴とするソフトウェア規模演算装置。
【請求項３】
請求項２記載のソフトウェア規模演算装置において、
前記仕様記述支援部は、さらに、前記データ移動項目名の数が前記仕様データ中に存在する割合により前記仕様データの品質レベルを演算する品質判定手段を備え、
前記見積り演算部は、前記品質レベルに基づいて、前記算出したソフトウェアプログラムの機能規模の変動範囲を演算する変動範囲演算手段を備えたことを特徴とするソフトウェア規模演算装置。
【請求項４】
請求項３記載のソフトウェア規模演算装置において、
前記仕様記述支援部は、さらに、前記記憶装置に蓄積されている複数の仕様データの中から、作成対象の仕様データと機能名称が一致する仕様データを抽出し、複数の仕様データが抽出された場合は、前記品質レベルに基づいて品質レベルの高いものから順に表示する類似仕様抽出手段を備えたことを特徴とするソフトウェア規模演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に組込み向けのソフトウェアプログラムの仕様を記述する仕様記述支援機能を備え、記述された仕様に基づいてソフトウェアプログラムの機能規模を見積もることのできるソフトウェア規模演算装置に関する。
【背景技術】
【０００２】
一般的に、組込み向けのソフトウェアプログラムの製作においては、まず仕様書が作成され、この仕様書に基づいて、ソフトウェアプログラムが設計され、最終的に実行コードが生成されて製品に実装される。複数のプログラム設計者は、仕様書に基づいてソフトウェアプログラムの開発作業を分担し、並行して設計・製作を行う。このため、高品質なソフトウェアプログラムを短納期で製作するために必要な開発要素について漏れのない、正確な仕様を記述することが求められている。
【０００３】
また、ソフトウェアプログラムの製作を納期どおりに完了させるためには、早い段階で製作するソフトウェアプログラムの規模を把握する必要がある。ソフトウェアプログラムの規模を正確に把握することにより、過去の生産性のデータ等を参照することで製作に要する工数を計算することができ、より正確な工程計画を行うことができるからである。
【０００４】
ソフトウェアプログラムの規模の見積もりについては、従来、特許文献２で述べているように、人が経験的にソフトウェア規模を予想して、工程計画を行うことが多かった。その際には、ファイルサイズやソースプログラムの行数に基づいてソフトウェア規模を見積もる手法などが多く用いられていた。
【０００５】
しかしながら、経験に基づく方法では、客観的・定量的にソフトウェア規模が見積もれないという問題がある。また、ファイルサイズやソースプログラムの行数に基づく方法では、必ずしもソースプログラムの行数がソフトウェア規模を反映していないという問題がある。このため、特許文献２では、客観的・定量的な機能規模の見積りを行うため、ファンクションポイント法という方法が提案されている。このファンクションポイント法では、処理やデータに着目して計測を行うので、人の経験などの要素が排除され、客観的・定量的なソフトウェア規模が計測できるというメリットがある。また、特許文献１においては、組込み向けのソフトウェアの開発に適するようにデータの移動に着目したＣＯＳＭＩＣ−ＦＦＰ法（ＩＳＯ／ＩＥＣ １９７６１）による見積もり技術が開示されている。このＣＯＳＭＩＣ−ＦＦＰ法は、ＩＳＯで規格化されているファンクションポイント法の一種である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−７７４４９号公報
【特許文献２】特開２００１−１１７７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、このファンクションポイント法では、見積りの基礎となる処理やデータの抽出に工数がかかり、この抽出作業をいかに効率よく行うかが問題になる。
【０００８】
例えば、特許文献１においては、ＵＭＬ図のユースケース図よりアクティビティ図を抽出し、アクティビティ図の構造から見積りの基礎となる処理やデータを抽出している。この方法は、仕様をＵＭＬで表現する必要がある。しかしながら、特に、組込み分野では、オブジェクト指向開発の分野で進化したＵＭＬの適用が容易でない場合も多く、自然文（自然言語文）で仕様を作成する場合に比べて、工数が掛かるという問題がある。
【０００９】
また、特許文献２では、自然文で記述されたユースケースの文章中のキーワードを利用して、所定のトランザクションを識別し、その識別結果に基づいて、ソフトウェア規模値としてファンクションポイントを算出している。しかし、この方法は、キーワードの抽出に高い精度が必要であるという問題や、ユースケースにキーワードが十分に記述されていない場合においては、算出したソフトウェア規模の精度が低下するという問題がある。
【００１０】
本発明は、上述のかかる事情に鑑みてなされたものであり、機能規模の見積りの基礎となるデータを用いて自然文により効率的に仕様書を作成でき、さらに、精度の高いソフトウェアプログラムの機能規模の見積りを可能にするソフトウェア規模演算装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明においては、ソフトウェアの機能規模を見積もる指標となるデータ（以下、「指標データ」という。）の入力手段を設けると共に、仕様の記述手段を設け、この指標データを用いて仕様の記述を行うようにする。そして、仕様の記述を完了した後は、照合手段により仕様の記述に全ての指標データが記述されていることを確認する。
【００１２】
また、本発明では、指標データとして、データ移動項目名と、それに対応するデータ移動種別とを採用する。また、仕様の記述手段を設けて、データ移動項目名を用いて仕様の記述を行う。そして、仕様の記述を完了した後は、照合手段により仕様中に全てのデータ移動項目名が記述されていることを確認する。
【００１３】
一方、データ移動種別は、外部からのデータの入力（エントリ；Ｅ）と、外部へのデータの出力（エグジット；Ｘ）と、内部データへの書き込み（ライト；Ｗ）と、内部データからの読み出し（リード；Ｒ）とに分類して入力する。
【００１４】
上記のように入力したデータ移動項目名、データ移動種別、仕様から、データ移動種別ごとにデータ移動項目名の数を計数して、ソフトウェアプログラムの機能規模を算出する。
【００１５】
具体的には、本発明に係るソフトウェア規模演算装置は、ソフトウェアプログラムの仕様データの入力を支援し、入力された仕様データに基づいてソフトウェアプログラムの機能規模を演算するソフトウェア規模演算装置であって、該ソフトウェア規模演算装置は、入力画面を通してソフトウェアプログラムの機能規模を見積もるための指標となる指標データを入力し、記憶装置に保存する指標データ入力手段と、入力画面を通して自然言語で文字入力されるソフトウェアプログラムの仕様データを記憶装置へ保存する仕様入力手段と、仕様データと指標データとを照合して、入力画面に表示されている仕様データ中の指標データに対応する文字を識別表示する照合手段と、を有する仕様記述支援部と、指標データを用いてソフトウェアプログラムの機能規模を算出する見積り演算部と、を備えたことを特徴とする。
【００１６】
本発明では、仕様データ中の指標データに対応する文字を識別表示することにより効率良く仕様データの入力ができるようにすると共に、指標データを用いてソフトウェアプログラムの機能規模を算出する。
【００１７】
また、本発明に係るソフトウェア規模演算装置では、指標データは、前記ソフトウェアプログラムへのデータの入力および前記ソフトウェアプログラムからのデータの出力ごとに付された名称であるデータ移動項目名と、該データ移動項目名に関連付けられ、外部装置またはメモリとの間の入力あるいは出力動作を区別するためのデータ移動種別とから構成され、さらに、データ移動種別ごとに重み付けした機能規模を表す基準データを記憶装置に保存しておき、照合手段は、指標データのうち、データ移動項目名と仕様データとを照合して、入力画面に表示されている仕様データ中のデータ移動項目名に対応する文字を識別表示し、見積り演算部は、データ移動種別ごとにデータ移動項目名の数を集計し、該集計結果に夫々のデータ移動種別の基準データを掛け合わせて機能規模を演算する。
【００１８】
ソフトウェアプログラムは仕様に基づいて作成されるが、この仕様の質によって見積もり工数に大きなばらつきが生じる。本発明は、まず機能規模の見積りに大きな影響を及ぼすデータ移動種別ごとのデータ移動項目名を入力し、外部装置、メモリ間のデータの移動を明確にする。そして、このデータ移動項目名が仕様に確実に現れるように仕様作成を支援する。これによりソフトウェア規模の見積りを精度良く行うことのできる仕様の作成を可能にする。
【００１９】
本発明に係るソフトウェア規模演算装置の仕様記述支援部は、さらに、データ移動項目名の数が仕様データ中に存在する割合により仕様データの品質レベルを演算する品質判定手段を備え、見積り演算部は、品質レベルに基づいて、算出したソフトウェアプログラムの機能規模の変動範囲を演算する変動範囲演算手段を備えたことを特徴とする。
【００２０】
本発明では、仕様データの品質レベルから算出したソフトウェアプログラムの機能規模の変動範囲を算出する。これによりソフトウェアプログラムの機能規模の過小見積りに起因する開発工程の遅れや開発費用の超過を防止することができる。
【００２１】
また、本発明に係るソフトウェア規模演算装置の仕様記述支援部は、さらに、記憶装置に蓄積されている複数の仕様データの中から、作成対象の仕様データと機能名称が一致する仕様データを抽出し、複数の仕様データが抽出された場合は、品質レベルに基づいて品質レベルの高いものから順に表示する類似仕様抽出手段を備えたことを特徴とする。
【００２２】
本発明では、過去に蓄積した仕様データから、今回作成すべき仕様データに近い仕様データを品質レベルで優先順位を付けて抽出する。
【発明の効果】
【００２３】
本発明によれば、ソフトウェアの機能規模を見積もる指標となるデータ（指標データ）と仕様データとを別々に入力し、仕様データ中の指標データに対応する文字を識別表示するので、ユーザは、効率良く品質の高い仕様を作成することができる。。このようにすることにより、記載漏れのない仕様を生成することができる。また、仕様の記述と同時にデータ移動項目名・データ移動種別のようなソフトウェアの機能規模を見積もる指標データの列挙も完了するため、開発の早い段階で、客観的・定量的なソフト規模の見積りを得ることができる。これにより、ソフトウェアの製作作業を分担してできるので、高品質なソフトウェアをより正確な工程で製作でき納期を確保することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態によるソフトウェア規模演算装置１の装置構成図である。
【図２】本発明の第１の実施の形態によるソフトウェア規模演算装置１の機能ブロック図である。
【図３】本発明の実施の形態による入力画面の表示例である。
【図４】図２のソフトウェア規模演算装置１の使用時の操作手順を示すフローチャートである。
【図５】図２の照合手段３４の処理手順を示すフローチャートである。
【図６】本発明の実施の形態によるデータ移動種別の説明図である。
【図７】本発明の第２の実施の形態によるソフトウェア規模演算装置１の機能ブロック図である。
【図８】図７の照合手段３４の処理手順を示すフローチャートである。
【図９】本発明の実施の形態による仕様データ中のタグの挿入された様子の説明図であり、図７の仕様ＤＢ５２のデータ例と（図９（ａ））、データ移動項目名・種別ＤＢ５１（図９（ｂ））のデータ例である。
【図１０】図７の品質判定手段３６の処理手順を示すフローチャートである。
【図１１】図７の類似仕様抽出手段３７の処理手順を示すフローチャートである。
【図１２】図７の変動範囲演算手段３８の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態を説明する。図１は、本実施の形態によるソフトウェア規模演算装置１の装置構成図である。この図に示すように、ソフトウェア規模演算装置１は、データを入力する入力装置６、種々の演算処理を実行する演算装置３、演算装置３のプログラム実行等に用いられる主記憶装置４、データやプログラムを保存する補助記憶装置５、および、演算結果を表示するディスプレイ装置７から構成され、各装置３〜７は、内部バス２を通してデータの受け渡しを行っている。
【００２６】
図２は、本発明の第１の実施の形態によるソフトウェア規模演算装置１の機能ブロック図である。この図において、ソフトウェア規模演算装置１は、入力装置６を介してデータの入出力単位の名称であるデータ移動項目名を入力してデータ移動項目名・種別ＤＢ５１に保存するデータ移動項目名入力手段３１、データ移動項目名ごとに、外部装置またはメモリとの間の入出力動作を区別する情報であるデータ移動種別を入力してデータ移動項目名・種別ＤＢ５１に対応するデータ移動項目名に関連付けて保存するデータ移動種別入力手段３２、ソフトウェアプログラムの仕様データを入力して仕様ＤＢ５２へ保存する仕様入力手段３３、仕様データ中にデータ移動項目名に対応する文字が存在するか否かを判定する照合手段３４、および、データ移動項目名とデータ移動種別を用いてソフトウェアプログラムの機能規模を算出する機能規模演算手段３５を有している。各手段３１〜３５はＣＰＵの機能としてブログラムによって実現することができる。手段３１〜３４は、仕様データの効率的な入力を行う仕様記述支援部４１を構成し、機能規模演算手段３５は、ソフトウェアプログラムを精度良く算出する見積り演算部４２を構成する。また、データ移動項目名入力手段３１とデータ移動種別入力手段３２とにより指標データ入力手段３０を構成する。
【００２７】
図２に示すソフトウェア規模演算装置１の機能を図１との関連において説明すると、各手段３１〜３５を実現するプログラムが補助記憶装置５に格納されており、動作開始時にこのプログラムが主記憶装置４にロードされて演算装置３によって実行される。入力されたデータや演算結果は、補助記憶装置５に保存される。なお、入力装置６とディスプレイ装置７を一体として構成し、ディスプレイ装置７上に表示した入力画面を通してデータを入力するようにしても良い。本実施の形態では、入力装置６とディスプレイ装置７が一体構成されていることを前提に説明する。
【００２８】
次に、ソフトウェア規模演算装置１の使用時の操作手順を図３、図４を用いて説明する。ユーザは、図３に示すディスプレイ装置７に表示される入力画面を通して、データ移動項目名、データ移動種別、仕様データの入力を行う。この画面左側には、仕様ＩＤ、機能名称、入力された仕様を表示する画面（ウィンドウ）である仕様項目表示部１３が表示される。図３では、ＩＤ１の仕様項目として、機能名称「バルブ自動開放機能」が選択されている状態を表している。なお、この欄は、最初は空欄になっており、機能名称入力部１５を通して順次入力された機能名称が表示されるようになっている。画面右上部には、選択された仕様項目に対応するデータ移動項目名、対応するデータ移動種別を表示するウィンドウであるデータ移動項目名・種別表示部１４が表示されている。この画面に直接データを入力する。なお、データ移動種別については、種類が限られているため、プルダウンメニュー等によって選択して指定するようにしても良い。図３の例では３項目（ＩＤ１〜３）まで表示されているが、データ数が増えると画面がスクロール表示される。
【００２９】
データ移動項目名・種別表示部１４の下には、機能名称の入力画面である機能名称入力部１５、仕様データの入力画面である仕様入力部１６、後述する照合処理による結果を表示する画面である照合結果表示部１７、機能規模演算結果を表示する画面である機能規模表示部１８が設けられている。
【００３０】
ユーザは、この入力画面の仕様項目表示部１３において作業する仕様ＩＤを選択する。なお、まだ機能名称が登録されていない場合は、機能名称を登録する（Ｓ１０２）。次に、仕様データの入力前のステップとして、センサなどの外部装置やメモリとのデータの受け渡しごとに名称を付して、その名称をデータ移動項目名としてデータ移動項目名・種別表示部１４から入力する。入力されたデータは、データ移動項目名入力手段３１によってデータ移動項目名・種別ＤＢ５１に保存される（Ｓ１０３）。次に、ユーザは、それぞれのデータ移動項目名に対応するデータ移動種別を入力する。入力されたデータは、データ移動種別入力手段３２によってデータ移動項目名・種別ＤＢ５１に保存される（Ｓ１０４）。なお、このデータベース構造は特に図示しないが、データ移動項目名・種別表示部１４に表示したように、データ移動項目名ごとにＩＤが付され、さらにデータ移動種別が各データ移動項目名に関連付けられている。
【００３１】
次に、ユーザは、入力画面の仕様入力部１６から仕様データの入力を行う。入力された仕様データは、仕様入力手段３３により仕様ＤＢ５２に保存される（Ｓ１０５）。仕様の記述に際しては、データ移動項目名として入力された項目（文・単語等）を用いて、自然言語で入力する。このとき、データ移動項目名が必要十分に入力されていれば、仕様データと符合し、仕様の文章中にデータ移動項目名・種別表示部１４のデータ移動項目名を全て用いて、仕様を記述することができる（Ｓ１０６）。
【００３２】
一方、データ移動項目名が不足して意図どおり仕様が記述できていないときには、ステップＳ１０３に戻って、データ移動項目名とそれに対応するデータ移動種別とを追加入力する。データ移動項目名を全て用いて、仕様の記述を終えると、ユーザは、入力画面の照合ボタン１９を押下して照合処理を実行する（Ｓ１０７）。照合処理では、全てのデータ移動項目名が仕様データ中に記述されていることを確認する（Ｓ１０８）。照合の結果、仕様データ中に存在しないデータ移動項目名があった場合には、不要なデータ移動項目名として削除する（Ｓ１０９）。削除後、再度照合（Ｓ１０７）を行い、仕様データ中に現れないデータ移動項目名が存在しなくなれば、その仕様項目に対する作業は完了となる（Ｓ１０８で「ＹＥＳ」）。このステップＳ１０２〜ステップＳ１０９までの処理を必要な仕様項目について繰り返す（Ｓ１０１ａ，Ｓ１０１ｂ）。
【００３３】
図５は、照合手段３４の処理手順を示すフローチャートである。照合手段３４は、照合失敗数を記憶する照合失敗数カウンタ(cnt)と照合結果を格納する領域を主記憶装置上に確保する。照合処理が開始されると、これらの記憶領域が初期化される（Ｓ２０１）。
【００３４】
次に、照合手段３４は、全てのデータ移動項目名について、１つずつデータ移動項目名を選択し（Ｓ２０３）、仕様データ中に選択したデータ移動項目名が出現するか否かを判定する（Ｓ２０４）。そして、選択したデータ項目が仕様データ中に現れなかった場合は、照合手段３４は、照合失敗数カウンタをインクリメントし（Ｓ２０５）、照合結果として、照合に失敗したデータ移動項目名を記憶する（Ｓ２０６）。以上の処理を全てのデータ移動項目名について繰り返す（Ｓ２０２ａ，Ｓ２０２ｂ）。
【００３５】
全てのデータ移動項目名について照合を完了すると、照合手段３４は、照合結果を照合結果表示部１７に表示して照合処理を終了する（Ｓ２０７）。
【００３６】
なお、図３において、入力画面は上述した画面表示部に加え、画面の右下に、照合ボタン１９、機能規模見積ボタン２０、保存ボタン２１、終了ボタン２２が表示されている。このボタンは、画面上の擬似ボタンで、タッチパネルあるいは入力装置６のキーボードのカーソル移動ボタンや、マウスなどのポインティングデバイスを用いて操作する。
【００３７】
入力画面の機能規模見積ボタン２０の押下により、機能規模演算手段３５が起動され、入力されたデータ移動項目名やデータ移動種別の数を計数し、ファンクションポイントの数を計算する。計算方法の例としては、データ移動種別ごとにデータ移動項目名の数を加算し、その合計をファンクションポイントとする方法がある。また、他の実施例としては、データ移動種別ごとに重み付けを行い（即ち基準データで補正し）、ファンクションポイントを計算するようにしても良い。
【００３８】
ＩＳＯで規格化されているファンクションポイント法であるＣＯＳＭＩＣ−ＦＦＰ法（ＩＳＯ／ＩＥＣ １９７６１）を用いる場合には、データ移動種別は図６に示したように、外部からのデータの入力（エントリ；Ｅ）、外部へのデータの出力（エグジット；Ｘ）、内部メモリへのデータの書き込み（ライト；Ｗ）、内部メモリからのデータの読み出し（リード；Ｒ）に分類する。また、加算時の重み付けは１とする。なお、本実施の形態では、各処理は、メモリ受け渡しを想定しているが、レジスタやＩ／Ｏポートなども上記の内部メモリに含めて管理される。
【００３９】
図３の例では、仕様項目が１個あり、その仕様項目におけるデータ移動項目名に対応するデータ移動種別はエントリ（Ｅ）が１個、エグジット（Ｘ）が１個、リード（Ｒ）が１個、ライト（Ｗ）が０個であるので、データ移動項目名ごとの重み付けを１として加算すると、データ項目の総数は３となる。これを全ての仕様項目にわたって加算すると、仕様項目は１個なので、結果としてデータ項目の総数は３である。ＣＯＳＭＩＣ−ＦＦＰ法では機能規模を ＣＦＳＵという単位で表示するため、このソフトウェアの機能規模は、最終的に３ＣＦＳＵとなる。これらのファンクションポイントの計算結果は、機能規模表示部１８に表示されると共に機能規模見積ＤＢ５３に保存される。そして、保存ボタン２１押下により、入力データが補助記憶装置５に保存される。また、終了ボタン２２押下により、入力画面が閉じ、仕様記述支援部４１と見積り演算部４２の機能は終了する。
【００４０】
以上、本実施の形態によれば、自然文での仕様の入力に際し、別途ソフトウェアの機能規模を見積もる指標となるデータ移動項目名およびデータ移動種別を入力し、これらの指標データを参照しながら、入力した仕様中に全てのデータ移動項目名が現れているか否かをチェックする。このため、従来の特許文献２に記載されているようなキーワード等を抽出する方式とは異なり、記述された仕様の過不足が防止できるのみならず、同時に、仕様記述時にデータ移動項目名の過不足も確認することができる。これにより、漏れのない仕様を記述することができる。
【００４１】
また、仕様の記述と同時にデータ移動項目名・データ移動種別のようなソフトウェアの機能規模を見積もる指標となるデータの列挙も完了するため、ファンクションポイント法のような客観的・定量的な見積り方法が、早い段階で適用できるようになり、開発の早い段階で、客観的・定量的なソフト規模の見積りを算定することができる。
【００４２】
以上により、ソフトウェアの製作作業を分担してできるようになり、漏れのない、正確な仕様に基づく、高品質なソフトウェアを、見積もった工程に沿って、短納期で製作できるようになる。
【００４３】
次の本発明の第２の実施の形態を説明する。
図７は、本実施の形態によるソフトウェア規模演算装置１の機能ブロック図である。図２との違いは、入力された仕様データの品質を演算する品質判定手段３６、仕様ＤＢ５２に保存されている仕様データの中から類似の仕様データを抽出する類似仕様抽出手段３７、および機能規模演算手段３５で算出した機能規模の変動範囲（すなわち誤差範囲）を演算する変動範囲演算手段３８を追加したことである。品質判定手段３６と類似仕様抽出手段３７は、仕様記述支援部４１に含まれる。また、変動範囲演算手段３８は、見積り演算部４２に含まれる。その他の構成要素は、図２と同様であり、同一要素には同一符号を付して説明を省略する。なお、各手段３１〜３８は、ＣＰＵの機能としてブログラムによって実現することができる。
【００４４】
以下、本実施の形態によるソフトウェア規模演算装置１の動作について、第１の実施の形態との違いを中心に説明する。
（照合処理）
【００４５】
まず、照合手段３４の動作について図８を参照しながら説明する。照合手段３４は、入力装置６への文字の入力ごとに割込み信号によって起動される。照合手段３４は起動されると、まず、仕様データから最終文字を含むデータ移動項目名の文字数分の文字列を抽出する。そして、抽出した文字列とデータ移動項目名は一致するか否かを判定し、一致する場合は、仕様データ中の当該文字列の前後にタグを挿入する。図９は、仕様データ中のタグの挿入された様子の説明図である。たとえば、図９（ａ）に示す仕様データ中の文字列「＜Ｂ１＞センサ信号受信＜／Ｂ１＞」は、図９（ｂ）に示すデータ移動項目名・種別ＤＢ５１に保存されているデータ移動項目名のＩＤとデータ移動項目名「Ｂ１：センサ信号受信」に対応している。このとき、照合手段３４は、データ移動項目名のＩＤに対応するタグ＜Ｂ１＞, ＜／Ｂ１＞を仕様データ中の文字列「センサ信号受信」の直前と直後にそれぞれ挿入する。一般に、データ移動項目名のＩＤ「Ｂｉ（ｉ＝１〜ｎ）」については、対応するタグ＜Ｂｉ＞，＜／Ｂｉ＞（ｉ＝１〜ｎ）をそのデータ移動項目名の文字列の前後に挿入される。
照合手段３４は、タグを挿入した場合、データ移動項目名・種別ＤＢ５１のそのデータ移動項目名に関連付けられている一致フラグをセットする。その後、仕様データ中、タグの付された文字列を色分けして表示する。
【００４６】
一方、ステップＳ３０３において、抽出した文字列とデータ移動項目名が一致していない場合は、データ移動項目名・種別ウィンドウ１４中のデータ移動項目名の最後まで到達したか否かを判定し、最後でなければ、一致フラグのセットされていない次のデータ移動項目名を抽出して、ステップＳ３０２へ移行する。
【００４７】
ステップＳ３０７で最後まで到達した場合は、データ移動項目名・種別ウィンドウ１４中の一致フラグのセットされていないデータ移動項目名を色替え表示する（Ｓ３０９）。
【００４８】
本実施の形態では、仕様データを入力によって、自動的に照合処理をするので、照合ボタン１９を省略してもよい。
（品質判定処理）
【００４９】
品質判定手段３６は、データ移動項目名・種別ウィンドウ１４のデータ移動項目名と仕様ウィンドウ１６の文字列が一致したときに、そのデータ移動項目名のデータ移動種別に対応して予め設定されているポイントを加算する一致ポイントカウンタと、データ移動項目名・種別ウィンドウ１４の全てのデータ移動項目名に対応するデータ移動種別の合計ポイントをカウントする合計ポイントカウンタを使用する。
【００５０】
以下、図１０を用いて品質判定手段３６の動作を説明する。品質判定手段３６は、周期的または照合手段３４の動作終了時に起動されると、一致ポイントカウンタと合計ポイントカウンタをリセットする（Ｓ４０１）。そして、データ移動項目名・種別ＤＢ５１にアクセスして、データ移動項目名の一致フラグの状態を読み込み（Ｓ４０３）、一致フラグがセットされているか否かを判定する（Ｓ４０４）。一致フラグがセットされている場合は、一致ポイントカウンタと合計ポインタの両方についてそのデータ移動種別に対応するポイント分カウントアップする（Ｓ４０５）。一致フラグがセットされていない場合は合計ポイントカウンタのみカウントアップする（Ｓ４０６）。計算対象の仕様項目の全てのデータ移動項目名についてステップＳ４０３〜ステップＳ４０６の処理を繰り返した後、一致ポイントカウンタの数値を合計ポイントカウンタの数値で除して（Ｓ４０７）、この計算結果を品質レベルとしてディスプレイ装置７へ出力する（Ｓ４０８）。
（類似仕様抽出処理）
【００５１】
次に、図１１を用いて類似仕様抽出手段３７の動作を説明する。類似仕様抽出手段３７は、別に設けられた類似仕様抽出ボタンの押下によって起動されると、仕様ＤＢ５２にアクセスして（Ｓ６０１）、最初の仕様ＩＤを抽出する（Ｓ６０２）。そして、類似仕様抽出手段３７は、抽出した仕様ＩＤの機能名称が現在入力中の仕様データの機能名称と一致するか否かを判定し（Ｓ６０３）、一致している場合は、その仕様データの仕様ＩＤを一時バッファに登録する（Ｓ６０４）。その後、類似仕様抽出手段３７は、全仕様ＩＤについて終了したか否かを判定し、終了していない場合は、次の仕様ＩＤを抽出して（Ｓ６０６）、ステップＳ６０３へ移行する。
【００５２】
ステップＳ６０５で全仕様ＩＤについて終了した場合は、類似仕様抽出手段３７は、次に一時バッファに複数の仕様ＩＤの登録があるか否かを判定し（Ｓ６０７）、複数の仕様ＩＤの登録がある場合には品質レベルの高い順にソートして（Ｓ６０８）、仕様の機能名称、データ移動項目名、データ移動種別、仕様データ等をディスプレイ装置７へ表示出力する（Ｓ６０９）。
（変動範囲演算処理）
【００５３】
次に、図１２を用いて変動範囲演算手段３８の動作を説明する。変動範囲演算手段３８は、機能規模演算手段３５の動作終了時に起動されると、機能規模演算手段３５の演算結果Ｘを抽出する（Ｓ５０１）。また、変動範囲演算手段３８は、品質判定手段３６で算定されたこの仕様データの品質レベルＹを抽出して、演算結果Ｘを品質レベルＹで除して、その値を機能規模の変動範囲の最大値とする（Ｓ５０２）。
そして、変動範囲演算手段３８は、ステップＳ５０１で抽出した演算結果Ｘを機能規模変動範囲の下限値、ステップＳ５０２で算出した最大値を機能規模の変動範囲の上限値として出力する（Ｓ５０３）。
【００５４】
以上、本実施の形態によれば、第１の実施の形態の効果に加えて以下の効果を有する。まず、仕様データの入力中、データ移動項目名との文字列の一致を検出し、一致している場合は、仕様データ中の色替え表示を行い、また、仕様データ中に現れていないデータ移動項目名についても色替え表示をするので、仕様の精度が高くなり、仕様データ入力作業の効率が向上する。
【００５５】
また、データ移動項目名・種別ウィンドウ中のデータ移動項目名と仕様ウィンドウ中の仕様データとを比較して品質レベルを演算し、これによって機能規模の見積りを補正して、変動範囲を決定するので、精度の高い見積りが可能になる。さらに、過去の類似仕様を抽出してデータ移動項目名・種別ウィンドウと仕様ウィンドウに抽出したデータを表示するので、ユーザは、表示されたデータを修正入力すれば足り、最初からデータを入力する必要はないので、仕様作成の効率が向上する。
【００５６】
本発明は、上述した実施の形態に限定されること無く、その要旨を逸脱しない範囲で種々変形して実施することができる。
【００５７】
例えば、データ移動項目名と仕様データ中の文言が完全に一致しない場合は、手動で、データ移動項目名と仕様データ中の文言とを関連付けるようにしても良い。この関連付けをテーブルに保存しておき、照合処理では、完全に一致しない場合は、このテーブルを参照して、データ移動項目名に対応する文言が仕様データ中に存在すれば、一致するとして仕様データ中にタグを挿入し、データ移動項目名の一致フラグをセットするようにしても良い。これにより、より仕様データ作成時の利便性が向上する。
【符号の説明】
【００５８】
１    ソフトウェア規模演算装置
２    内部バス
３    演算装置
４    主記憶装置
５    補助記憶装置
６    入力装置
７    ディスプレイ装置
１３    仕様項目表示部
１４    データ移動項目名・種別表示部
１５    機能名称入力部
１６    仕様入力部
１７    照合結果表示部
１８    機能規模表示部
１９    照合ボタン
２０    機能規模見積ボタン
２１    保存ボタン
２２    終了ボタン
３０    指標データ入力手段
３１    データ移動項目名入力手段
３２    データ移動種別入力手段
３３    仕様入力手段
３４    照合手段
３５    機能規模演算手段
３６    品質判定手段
３７    類似仕様抽出手段
３８    変動範囲演算手段
４１    仕様記述支援部
４２    見積り演算部
５１    データ移動項目名・種別ＤＢ
５２    仕様ＤＢ
５３    機能規模見積ＤＢ
【図１】
0005471912.tif 000002
【図２】
0005471912.tif 000003
【図４】
0005471912.tif 000004
【図５】
0005471912.tif 000005
【図６】
0005471912.tif 000006
【図７】
0005471912.tif 000007
【図８】
0005471912.tif 000008
【図９】
0005471912.tif 000009
【図１０】
0005471912.tif 000010
【図１１】
0005471912.tif 000011
【図１２】
0005471912.tif 000012
【図３】
0005471912.tif 000013