"ソフトウェアまたはシステムの仕様に関する仕様データの入力を支援する仕様入力支援装置において、前記ソフトウェアまたはシステムの仕様書に記述される項目を表す複数のモデルクラスおよび当該モデルクラスに属する属性を含む設計メタ情報を格納する第1の格納手段と、前記第1の格納手段に格納されている設計メタ情報に含まれる各モデルクラスに属する属性間の参照関係を示す参照関係データを格納する第2の格納手段と、前記第1の格納手段に格納されている設計メタ情報に含まれるモデルクラスおよび当該モデルクラスに属する属性に基づいて、前記仕様データを入力させるモデル入力画面を表示する表示処理手段と、前記モデル入力画面が表示されるモデルクラスに属する属性と参照関係にある属性を、前記第2の格納手段に格納されている参照関係データに基づいて特定する特定手段と、前記特定された属性を、前記モデル入力画面において提示する参照関係提示手段とを具備することを特徴とする仕様入力支援装置。前記モデル入力画面において前記仕様データが入力される際に、前記第2の格納手段に格納されている参照関係データに基づいて、当該仕様データとして入力される属性値の候補を提示する入力候補提示手段と、前記入力候補提示手段によって提示された属性値の候補のうちユーザによって選択された属性値を、前記仕様データとして入力する手段とを更に具備することを特徴とする請求項1記載の仕様入力支援装置。前記モデル入力画面において、前記仕様データとして入力された属性値を変更する変更手段と、前記属性値が変更された属性と参照関係にある属性の属性値を、前記第2の格納手段に格納されている参照関係データに基づいて取得する取得手段と、前記属性値が変更された属性の属性値と前記取得された属性の属性値とを比較することによって、前記属性間の不整合を警告する警告手段とを更に具備することを特徴とする請求項1または2に記載の仕様入力支援装置。ソフトウェアまたはシステムの仕様書に記述される項目を表す複数のモデルクラスおよび当該モデルクラスに属する属性を含む設計メタ情報を格納する第1の格納手段と、前記第1の格納手段に格納されている設計メタ情報に含まれる各モデルクラスに属する属性間の参照関係を示す参照関係データを格納する第2の格納手段とを有する記憶装置と、当該記憶装置を利用するコンピュータとから構成される仕様入力支援装置において、前記コンピュータによって実行されるプログラムであって、前記コンピュータに、前記第1の格納手段に格納されている設計メタ情報に含まれるモデルクラスおよび当該モデルクラスに属する属性に基づいて、前記ソフトウェアまたはシステムの仕様に関する仕様データを入力させるモデル入力画面を表示するステップと、前記モデル入力画面が表示されるモデルクラスに属する属性と参照関係にある属性を、前記第2の格納手段に格納されている参照関係データに基づいて特定するステップと、前記モデル入力画面において、前記特定された属性を提示するステップとを実行させるためのプログラム。ところで、メタモデルのクラスに属する属性の中には、当該属性の属性値を定める際に他の属性の属性値を参照する必要があるものが存在する。このような場合、ユーザが仕様データを入力する際に、参照先となる値属性値を探索しなければならない場合がある。具体的には、ユーザが例えば画面要件仕様の関連機能要件IDを定義入力する際に機能要件IDの参照が必要な場合には、当該機能要件IDが属するクラスを探索しなければならない。このような探索作業は、ユーザの手間を増大させる。また、ユーザの手入力による誤字脱字または入力漏れ等が発生する場合がある。具体的には、ユーザが機能要件IDから関連機能要件IDに対してタイピングによる複写を行う過程で、当該機能要件IDに存在しない値を誤って入力するような場合が想定される。このような場合には、仕様書において不整合が発生する可能性がある。更に、仕様データにおける値を変更した際に、当該変更による影響範囲当該変更に伴って変更しなければならない範囲を見落とす場合がある。具体的には、入力されたモデルインスタンス属性値の確定後に、クラス機能要件からあるモデルインスタンスを削除した場合において、ユーザがクラス関連機能要件から当該モデルインスタンスを削除し忘れてしまう場合が想定される。このような場合には、上記したように仕様書において不整合が発生する可能性がある。したがって、ユーザによる仕様データの入力の際に、これらの手間を削減し、不整合の発生を抑制するように支援することが好ましい。そこで、本発明が解決しようとする課題は、仕様書を作成するための仕様データの入力を支援する仕様入力支援装置およびプログラムを提供することにある。実施形態によれば、ソフトウェアまたはシステムの仕様に関する仕様データの入力を支援する仕様入力支援装置が提供される。実施形態に係る仕様入力支援装置は、第1の格納手段と、第2の格納手段と、表示処理手段と、特定手段と、参照関係提示手段とを具備する。第1の格納手段は、前記ソフトウェアまたはシステムの仕様書に記述される項目を表す複数のモデルクラスおよび当該モデルクラスに属する属性を含む設計メタ情報を格納する。第2の格納手段は、前記第1の格納手段に格納されている設計メタ情報に含まれる各モデルクラスに属する属性間の参照関係を示す参照関係データを格納する。表示処理手段は、前記第1の格納手段に格納されている設計メタ情報に含まれるモデルクラスおよび当該モデルクラスに属する属性に基づいて、前記仕様データを入力させるモデル入力画面を表示する。特定手段は、前記モデル入力画面が表示されるモデルクラスに属する属性と参照関係にある属性を、前記第2の格納手段に格納されている参照関係データに基づいて特定する。参照関係提示手段は、前記特定された属性を、前記モデル入力画面において提示する。以下、図面を参照して、実施形態について説明する。図1は、本実施形態に係る仕様入力支援装置のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブHDD:HardDiskDriveのような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10および外部記憶装置20は、仕様入力支援装置30を構成する。図2は、図1に示す仕様入力支援装置30の主として機能構成を示すブロック図である。図2に示すように、仕様入力支援装置30は、ユーザインタフェース31、仕様データ入力部32および入力支援部33を含む。本実施形態において、これらの各部31~33は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が、例えばネットワークを介してコンピュータ10にダウンロードされても構わない。また、仕様入力支援装置30は、データベース22および仕様データ一時格納部23を含む。本実施形態において、データベース22および仕様データ一時格納部23は、例えば外部記憶装置20に格納される。なお、データベース22は、メタモデル格納部221、参照関係データ格納部222、仕様データ格納部223および不整合参照関係格納部224を含む。メタモデル格納部221は、例えばソフトウェアまたはシステムの仕様書ソフトウェアまたはシステム開発の上流工程における仕様書に記述される項目および当該項目間の関連を表す、モデルクラス以下、単にクラスと表記および当該クラスに属する属性を含む設計メタ情報メタモデルを格納する。換言すれば、メタモデル格納部221には、仕様書に記述されるべき項目を、属性および当該属性が属するクラスという形式で表記した、仕様書の内容の雛形を表すメタモデルが格納される。なお、メタモデル格納部221に格納されている設計メタ情報には、クラスの名称以下、クラス名と表記および属性の名称以下、属性名と表記等の情報が含まれている。参照関係データ格納部222は、メタモデル格納部221に格納されている設計メタ情報に含まれる各クラスに属する属性間の参照関係を示す参照関係データを格納する。具体的には、参照関係データ格納部222には、設計メタ情報が有する属性のうち、他の属性の属性値を参照している属性以下、参照元の属性と表記と、当該属性が参照している先となる属性以下、参照先の属性と表記との2つの属性の組み合わせの全てのデータ参照関係データが格納されている。具体的には、参照関係データ格納部222に格納されている参照関係データには、参照関係が示される2つの属性の各々が属するクラス名が含まれる。なお、メタモデル格納部221に格納されている設計メタ情報および参照関係データ格納部222に格納されている参照関係データは、例えばユーザによってカスタマイズ可能である。仕様データ格納部223には、ソフトウェアまたはシステムの仕様に関するデータ以下、仕様データと表記が格納される。仕様データ格納部223に格納される仕様データには、例えばメタモデル格納部221に格納されている設計メタ情報に含まれるクラスのモデルインスタンス当該クラスによって作成されるデータの実体等が含まれる。ユーザインタフェース31は、ユーザからの入力情報を入力する機能を有する。また、ユーザインタフェース31は、各種情報をユーザに対して表示する機能を有する。仕様データ入力部32は、例えばユーザインタフェース31を介して、ユーザによる仕様データの入力を受け付ける機能を有する。仕様データ入力部32は、メタモデル格納部221に格納されている設計メタ情報に含まれるクラスのクラス名および当該クラスに属する全ての属性の属性名を取得し、当該クラス名および属性名を当該クラス単位で表示する。なお、クラス名および属性名は、ユーザインタフェース31を介して表示される。また、仕様データ入力部32は、仕様データ格納部223に格納されている仕様データに基づいてクラスのモデルインスタンスを取得し、当該モデルインスタンスをユーザインタフェース31を介して表示する。ユーザは、仕様データ入力部32によって表示された画面モデル入力画面を介して、モデルインスタンスの内容を更新することができる。仕様データ入力部32は、ユーザによるモデルインスタンスの更新内容のデータを仕様データ一時格納部23に格納する。なお、仕様データ一時格納部23に格納された更新内容は、例えばユーザの指示に応じて仕様データ格納部223に格納反映される。入力支援部33は、入力支援対象判定部331、参照関係提示部332、入力候補表示選択部333および不整合警告部334を含む。入力支援対象判定部331は、仕様データ入力部32によって表示されたモデルインスタンスに対するユーザの操作、メタモデル格納部221に格納されている設定メタ情報および参照関係データ格納部222に格納されている参照関係データに基づいて、第1~第7のデータを取得し、参照関係提示部332、入力候補表示選択部333、不整合警告部334へ渡す。第1のデータは、仕様データ入力部32によって表示されたモデルインスタンスにおいてユーザによって指定された箇所以下、指定箇所と表記の位置を示すデータである。第2のデータは、指定箇所に対応する属性以下、対象属性と表記を示すデータ当該対象属性の属性名である。第3のデータは、対象属性が属するクラスを示すデータ当該クラスのクラス名である。第4のデータは、対象属性が参照先の属性であるか否かを示すデータである。第5のデータは、対象属性が参照元の属性であるか否かを示すデータである。第6のデータは、対象属性の参照相手の属性を示すデータ当該参照相手の属性の属性名を示す。対象属性が参照先の属性である場合、参照相手の属性は、当該対象属性の属性値を参照している属性である。一方、対象属性が参照元の属性である場合、参照相手の属性は、当該対象属性の属性値が参照している先となる属性である。第7のデータは、第6のデータによって示される属性参照相手の属性が属するクラスを示すデータ当該クラスのクラス名である。以下、参照関係提示部332、入力候補表示選択部333、不整合警告部334について説明するが、これらの各部332~334が取得または特定すると記述している第1~第7のデータは、入力支援対象判定部331が取得し、当該各部332~334に渡されたものである。参照関係提示部332は、仕様データ入力部32によるモデル入力画面において表示されるクラスに属する属性と参照関係にある属性を参照関係データ格納部222に格納されている参照関係データに基づいて特定し、当該特定された属性が属するクラス名をメタモデル格納部221に格納されている設計メタ情報から取得し、当該特定された属性および当該取得されたクラス名を当該モデル入力画面において提示する機能を有する。参照関係提示部332は、メタモデル格納部221に格納されている設計メタ情報に基づいて、上記した対象属性入力支援対象判定部331によって取得された第2のデータによって示される属性と同一のクラスに属する属性以下、同一クラス属性と表記を特定する。参照関係提示部332は、参照関係データ格納部222に格納されている参照関係データに基づいて、特定された同一クラス属性について各種データを取得する。具体的には、参照関係提示部332は、同一クラス属性の属性名が参照関係データ格納部222内に存在するつまり、当該同一クラス属性の属性名が参照関係データに含まれるか否か、同一クラス属性が参照先の属性であるか否か、同一クラス属性が参照元の属性であるか否か、同一クラス属性の参照相手の属性の属性名、当該参照相手の属性が属するクラスのクラス名を示すデータを取得する。参照関係提示部332は、同一クラス属性が参照先の属性である場合、当該同一クラス属性を参照している属性参照元の属性を、当該参照元の属性が属するクラスのクラス名とともに含む文章を作成する。なお、参照元の属性が属するクラスのクラス名は、メタモデル格納部221に格納されている設計メタ情報から取得される。また、参照関係提示部332は、同一クラス属性が参照元の属性である場合、当該同一クラス属性が参照している先となる属性参照先の属性の属性名を、当該参照先の属性が属するクラスのクラス名とともに含む文章を作成する。なお、参照先の属性が属するクラスのクラス名は、メタモデル格納部221に格納されている設計メタ情報から取得される。なお、参照関係提示部332は、当該参照関係提示部332に予め保持されているフォーマットに従って文章を作成する。参照関係提示部332は、作成された文章をリンクとしてユーザに対して提示する機能を有する。この提示された文章リンクがユーザによって指定された場合、参照関係提示部332は、例えば仕様データ格納部223に格納されている仕様データに基づいて、同一クラス属性の参照相手の属性当該同一クラス属性の参照先の属性または参照元の属性が属するクラスのモデルインスタンスを表示する。入力候補表示選択部333は、仕様データ入力部32によって表示されたモデル入力画面において仕様データがユーザによって入力される際に、参照関係データ格納部222に格納されている参照関係データに基づいて当該仕様データとして入力される属性値の候補を提示し、当該提示された属性値の候補のうちユーザによって選択された属性値を仕様データとして入力する機能を有する。入力候補表示選択部333は、上記した対象属性が参照元の属性である場合、当該対象属性の参照相手の属性ここでは、参照先の属性の属性名および当該参照先の属性が属するクラスのクラス名を取得する。入力候補表示選択部333は、取得された対象属性の参照先の属性が所属するクラスのモデルインスタンスを、仕様データ格納部223に格納されている仕様データに基づいて取得する。この場合、入力候補表示選択部333は、仕様データ一時格納部23に格納されている更新内容のデータが反映された仕様データに基づいて最新の内容のモデルインスタンスを取得する。また、入力候補表示選択部333は、取得された対象属性の参照先の属性と同一のクラスに属し、当該対象属性の参照先となる属性と関連のある属性例えば、名称または説明等の属性名を、メタモデル格納部221に格納されている設計メタ情報に基づいて取得する。入力候補表示選択部333は、取得されたこれらの情報をもとに、対象属性の参照先の属性が属するクラスの最新のモデルインスタンスを表示するためのポップアップ画面を生成する。このポップアップ画面においては、対象属性の参照先の属性に加え、当該参照先の属性と同一のクラスに属し、当該参照先の属性と関連のある属性が表示される。入力候補表示選択部333によって生成されたポップアップ画面は、ユーザインタフェース31を介してユーザに対して表示される。なお、ユーザインタフェース31を介して表示されたポップアップ画面においてユーザによってモデルインスタンスが選択された場合、当該選択されたモデルインスタンスの主キー属性、つまり、対象属性の参照先の属性の属性値が指定箇所に入力される。また、入力候補表示選択部333は、入力支援対象判定部331によって取得された第1のデータに基づいて、指定箇所の位置を取得し、仕様データ格納部223および仕様データ一時格納部23から当該指定箇所に入力されている属性値を取得する。更に、入力候補表示選択部333は、入力支援対象判定部331によって取得された第6のデータによって示される対象属性の参照相手の属性ここでは、参照先の属性の属性名および第7のデータによって示される当該参照先の属性が属するクラスのクラス名に基づいて、仕様データ格納部223および仕様データ一時格納部23から当該参照先の属性の属性値からなる集合を取得する。入力候補表示選択部333は、取得されたこれらの情報をもとに、指定箇所に入力されている属性値が対象属性の参照先の属性の属性値として存在するか否かを判定する。入力候補表示選択部333は、上記したポップアップ画面において表示されているモデルインスタンスのうち、対象属性の参照先の属性の属性値として指定箇所に入力されているモデルインスタンスを選択済みにする。また、入力候補表示選択部333は、指定箇所に入力されている属性値のうち、対象属性の参照先の属性の属性値として存在しないものを、当該入力候補表示選択部333に予め保持されているフォーマットに従ってポップアップ画面内に表示列挙する。入力候補表示選択部333は、ポップアップ画面においてユーザによって選択されているモデルインスタンスを取得する。これにより、入力候補表示選択部333は、取得されたモデルインスタンスについて、対象属性の参照先の属性の属性値を取得し、当該取得された属性値を指定箇所に自動複写する。不整合警告部334は、仕様データ入力部32によって表示されたモデル入力画面において仕様データとして入力された属性値がユーザによって変更された際、当該属性値が変更された属性と参照関係にある属性の属性値を参照関係データ格納部222に格納されている参照関係データおよび仕様データ格納部223に格納されている仕様データに基づいて取得し、当該属性値が変更された属性の属性値と当該取得された属性値とを比較することによって、当該属性間の不整合を警告する機能を有する。不整合警告部334は、対象属性が参照元の属性である場合、入力支援対象判定部331によって取得された第6のデータによって示される当該対象属性の参照相手の属性ここでは、参照先の属性の属性名および第7のデータによって示される当該参照先の属性が属するクラスのクラス名を取得する。不整合警告部334は、対象属性が参照先の属性である場合、仕様データ一時格納部23を参照して、ユーザによる更新内容がモデルインスタンスの削除であるか否かを判定する。ここで、ユーザによる入力がモデルインスタンスの削除であると判定された場合、入力支援対象判定部331によって取得された第6のデータによって示される当該対象属性の参照相手の属性ここでは、参照元の属性の属性名および第7のデータによって示される当該参照元の属性が属するクラスのクラス名を取得する。なお、対象属性が参照元の属性であるか、または、参照先の属性であるかは、入力支援対象判定部331によって取得された第4および第5のデータに基づいて判定される。不整合警告部334は、対象属性の参照先の属性の属性値の最新の入力値を求めるため、仕様データ格納部223から当該参照先の属性が属するクラスのモデルインスタンスを取得し、当該モデルインスタンスから当該参照先の属性の属性値からなる集合参照先の集合を求める。また、不整合警告部334は、仕様データ一時格納部23から対象属性の参照先の属性の属性値の更新内容つまり、入力または削除等の履歴のデータを取得し、求められた参照先の集合に当該履歴のデータを反映させる。同様に、不整合警告部334は、対象属性の参照元の属性の属性値の最新の入力値を求めるため、仕様データ格納部223から当該参照元の属性が属するクラスのモデルインスタンスを取得し、当該モデルインスタンスから当該参照元の属性の属性値からなる集合参照元の集合を求める。また、不整合警告部334は、仕様データ一時格納部23から対象属性の参照元の属性の属性値の更新内容履歴のデータを取得し、求められた参照元の集合に当該履歴のデータを反映させる。また、不整合警告部334は、上記した参照元の集合の属性値毎に、当該属性値が参照先の集合に含まれるか否かを判定する。不整合警告部334は、参照元の集合の属性値が参照先の集合に含まれないと判定された場合、当該参照元の集合の属性値を参照元の属性の属性値として持つ、当該参照元の属性が属するクラスのモデルインスタンスを求める。更に、不整合警告部334は、対象属性の参照元の属性の各属性値について求めたモデルインスタンスの和集合を求め、不整合が発生しているモデルインスタンス不整合データを持つモデルインスタンスの集合を得る。このモデルインスタンスの和集合と、対象属性の参照元の属性の属性名および当該属性が属するクラスのクラス名は、一組のデータとして不整合参照関係格納部224に格納される。具体的には、不整合参照関係格納部224は、不整合が発生している参照元の属性および参照先の属性の各組み合わせについて、当該参照元の属性の属性名と、当該参照元の属性が属するクラスのクラス名と、当該参照先の属性の属性名と、当該参照先の属性が属するクラスのクラス名と、当該参照元の属性が属するクラスのモデルインスタンスのうち、参照元の属性と参照先の属性との間で属性値の不整合が発生している全てのモデルインスタンスとを不整合データとして格納する。不整合警告部334は、不整合参照関係格納部224に格納されているデータの各組に対して、当該データの組に含まれる参照先の属性が属するクラスがユーザインタフェース31を介して現在表示されているか否かを判定する。データの組に含まれる参照先の属性が属するクラスが表示されていると判定された場合、不整合警告部334は、当該データの組から参照元の属性の属性名および当該属性が属するクラスの名称を取得する。不整合警告部334は、上記したデータの組に含まれる参照先の属性が属するクラスがユーザインタフェース31を介して現在表示されているか否かを判定する。データの組に含まれる参照先の属性が属するクラスが表示されていると判定された場合、不整合警告部334は、参照先の属性が属するクラスのモデル入力画面において、取得された参照元の属性および当該属性が属するクラスのクラス名からなるリンクの箇所に、属性値間の不整合を警告するメッセージを表示する。更に、参照先の属性の列全体が色付けされ、当該参照先の属性および参照元の属性間で不整合が発生していることが警告される。更に、不整合警告部334は、上記したデータの組に含まれる参照元の属性が属するクラスがユーザインタフェース31を介して現在表示されているか否かを判定する。データの組に含まれる参照元の属性が属するクラスが表示されていると判定された場合、不整合警告部334は、参照元の属性が属するクラスのモデル入力画面において、当該データの組に含まれる不整合が発生しているモデルインスタンス不整合データを持つモデルインスタンスについて参照元の属性の属性値の箇所を色付けして不整合が発生していることを警告する。また、不整合警告部334は、参照先の属性の属性名および当該属性が属するクラスのクラス名を用いた指定フォーマットの文章で表示されているリンクの箇所に不整合が発生していることを警告するメッセージを表示する。なお、不整合参照関係格納部224に格納されているデータの組は、例えばメニュー画面等において一覧で表示される。図3は、図2に示すデータベース22に含まれるメタモデル格納部221に格納されている設計メタ情報のデータ構造の一例を示す。上記したようにメタモデル格納部221に格納されている設計メタ情報には、ソフトウェアまたはシステム仕様書に記述される項目を表すクラスモデルクラスおよび当該クラスに属する属性が含まれる。図3に示す例では、設計メタ情報には、仕様書に記述される項目を表すクラスとして、要件クラス、機能的要件クラス、機能要件クラス、画面要件クラス、帳票要件クラスおよびデータ要件クラスが含まれている。ここで、例えば要件クラスは、クラス名が要件であるクラスを表す。ここでは要件クラスについて説明したが、他のクラスについても同様に表記する。また、図3に示す例えば機能要件クラスに属する属性には、機能要件ID属性、機能要件名属性、説明属性、入力データ要件ID属性および出力データ要件ID属性が含まれる。なお、例えば機能要件ID属性は、属性名が機能要件IDである属性である。ここでは、機能要件ID属性について説明したが、他の属性についても同様に表記する。図3に示す画面要件クラスに属する属性には、画面要件ID属性、画面要件名属性、説明属性および関連機能要件ID属性が含まれている。図3に示す帳票要件クラスに属する属性には、帳票要件ID属性、帳票要件名属性、説明属性および関連機能要件ID属性が含まれている。また、図3に示すデータ要件クラスに属する属性には、データ要件ID属性、データ要件名属性および説明属性が含まれている。なお、図3に示すように、設計メタ情報においては、クラス間の関係つまり、項目間の関連についても表されている。図4は、図2に示すデータベース22に含まれる参照関係データ格納部222に格納されている参照関係データのデータ構造の一例を示す。図4に示すように、参照関係データには、参照元の属性が属するクラス、参照元の属性、参照先の属性および参照先の属性が属するクラスが対応づけて含まれる。なお、参照元の属性は、対応する属性参照先の属性を参照している属性である。また、参照先の属性は、対応する属性参照元の属性が参照している先となる属性である。参照関係データにおいては、参照元の属性が属するクラス、参照元の属性、参照先の属性および参照先の属性が属するクラスの組毎に、当該組を識別するための番号が付与されている。図4に示す例では、参照関係データには、番号1に対応づけて参照元の属性が属するクラス画面要件、参照元の属性関連機能要件ID、参照先の属性機能要件IDおよび参照先の属性が属するクラス機能要件が含まれている。これによれば、画面要件クラスに属する関連機能要件ID属性が機能要件クラスに属する機能要件ID属性の属性値を参照していることが示されている。また、参照関係データには、番号2に対応づけて参照元の属性が属するクラス帳票要件、参照元の属性関連機能要件ID、参照先の属性機能要件IDおよび参照先の属性が属するクラス機能要件が含まれている。これによれば、帳票要件クラスに属する関連機能要件ID属性が機能要件クラスに属する機能要件ID属性の属性値を参照していることが示されている。参照関係データには、番号3に対応づけて参照元の属性が属するクラス機能要件、参照元の属性入力データ要件ID、参照先の属性データ要件IDおよび参照先の属性が属するクラスデータ要件が含まれている。これによれば、機能要件クラスに属する入力データ要件ID属性がデータ要件クラスに属するデータ要件ID属性の属性値を参照していることが示されている。更に、参照関係データには、番号4に対応づけて参照元の属性が属するクラス機能要件、参照元の属性出力データ要件ID、参照先の属性データ要件IDおよび参照先の属性が属するクラスデータ要件が含まれている。これによれば、機能要件クラスに属する出力データ要件ID属性がデータ要件クラスに属するデータ要件ID属性の属性値を参照していることが示されている。以下、主に図2に示す入力支援部33の動作について詳細に説明する。まず、図5のフローチャートを参照して、入力支援部33に含まれる入力支援対象判定部331の処理手順について説明する。ここで、仕様データ入力部32は、メタモデル格納部211に格納されている設計メタ情報に含まれるクラスのクラス名および当該クラスに属する属性の属性名を取得し、更に、当該クラスのモデルインスタンスを仕様データ一時格納部23のデータを反映させた仕様データ格納部223から取得する。これにより、仕様データ入力部32は、取得されたクラス名、属性名およびモデルインスタンスをユーザインタフェース31を介して表示する。以下、このようにユーザインタフェース31を介して表示される画面をモデル入力画面とする。この場合、ユーザは、モデル入力画面に対して操作を行うことによって、例えば対象となる箇所を指定し、モデルインスタンスの内容を更新することができる。つまり、ユーザは、例えばモデル入力画面を介して仕様データを入力することができる。入力支援対象判定部331は、ユーザの操作に応じて、モデル入力画面内の箇所が指定されたか否かを判定するステップS1。モデル入力画面内の箇所が指定されたと判定された場合ステップS1のYES、入力支援対象判定部331は、ユーザによって指定された箇所指定箇所に対応する属性対象属性の属性名および当該対象属性が属するクラスのクラス名をメタモデル格納部221に格納されている設計メタ情報から取得するステップS2。次に、入力支援対象判定部331は、取得された対象属性の属性名が参照関係データ格納部222に格納されている参照関係データ中に存在するか否かを判定するステップS3。対象属性の属性名が参照関係データ中に存在すると判定された場合ステップS3のYES、入力支援対象判定部331は、参照関係データ格納部222に格納されている参照関係データに基づいて、対象属性が参照先の属性であるか否かを判定するステップS4。ステップS4の処理において、入力支援対象判定部331は、ステップS2において取得された対象属性の属性名が参照先の属性として参照関係データに含まれている場合、当該対象属性が参照先の属性であると判定する。対象属性が参照先の属性であると判定された場合ステップS4のYES、入力支援対象判定部331は、対象属性の属性名を参照先の属性として含む参照関係データにおいて、当該対象属性に対応づけられている、当該対象属性を参照する属性つまり、対象属性の参照元の属性の属性名および当該属性が属するクラスのクラス名を、参照関係データ格納部222から取得するステップS5。なお、対象属性の参照元の属性は、複数存在し得る。このように対象属性の参照元の属性が複数存在する場合、入力支援対象判定部331は、当該対象属性の参照元の属性毎に、属性名およびクラス名を取得するつまり、複数の属性名およびクラス名を取得する。次に、入力支援対象判定部331は、参照関係データ格納部222に格納されている参照関係データに基づいて、対象属性が参照元の属性であるか否かを判定するステップS6。ステップS6の処理において、入力支援対象判定部331は、ステップS2において取得された対象属性の属性名が参照先の属性として参照関係データに含まれている場合、当該対象属性が参照元の属性であると判定する。対象属性が参照元の属性であると判定された場合ステップS6のYES、入力支援対象判定部331は、対象属性の属性名を参照元の属性として含む参照関係データにおいて、当該対象属性に対応づけられている、当該対象属性が参照する属性つまり、対象属性の参照先の属性の属性名および当該属性が属するクラスのクラス名を、参照関係データ格納部222から取得するステップS7。次に、入力支援対象判定部331は、ユーザによる指定箇所を示すデータを取得するステップS8。入力支援対象判定部331は、上記した処理において取得されたデータを参照関係提示部332、入力候補表示選択部333および不整合警告部334に渡すステップS9。ここで、入力支援対象判定部331によって参照関係提示部332、入力候補表示選択部333および不整合警告部334に渡されるデータには、ユーザによる指定箇所を示すデータ第1のデータ、対象属性の属性名を示すデータ第2のデータ、対象属性が属するクラスのクラス名を示すデータ第3のデータ、対象属性が参照先の属性であるか否かを示すデータ第4のデータ、対象属性が参照元の属性であるか否かを示すデータ第5のデータ、対象属性の参照相手参照元または参照先の属性の属性名を示すデータ第6のデータ、および対象属性の参照相手の属性が属するクラスのクラス名を示すデータ第7のデータが含まれる。なお、第1のデータは、上記したステップS8の処理において取得される。第2および第3のデータは、上記したステップS2の処理において取得される。第4のデータは、上記したステップS4の処理において取得される。第5のデータは、上記したステップS6の処理において取得される。第6および第7のデータは、上記したステップS5またはS7の処理において取得される。一方、上記したステップS1においてモデル入力画面内の箇所が指定されていないと判定された場合、またはステップS3において対象属性の属性名が参照関係データ中に存在しないと判定された場合、入力支援対象判定部331の処理は終了される。また、ステップS4において対象属性が参照先の属性でないと判定された場合、ステップS5の処理は実行されない。また、ステップS6において対象属性が参照元の属性でないと判定された場合、ステップS7の処理は実行されない。次に、図6および図7のフローチャートを参照して、入力支援部33に含まれる参照関係提示部332の処理手順について説明する。まず、参照関係提示部332は、入力支援対象判定部331から渡されたデータ第1~第7のデータを取得するステップS11。次に、参照関係提示部332は、取得された第2および第3のデータとメタモデル格納部221に格納されている設計メタ情報とに基づいて、対象属性と同一のクラスに属する属性同一クラス属性を特定するステップS12。ここでは、n個の同一クラス属性が特定されたものとして説明する。なお、参照関係提示部332は、ステップS12の処理の際に、設計メタ情報から同一クラス属性の各々の属性名を取得する。参照関係提示部332は、特定された同一クラス属性の各々について、以下のステップS13~S21の処理を実行する。以下、この処理の対象となる同一クラス属性を同一クラス属性Aii=1,2,...,nとする。参照関係提示部332は、同一クラス属性Aiが参照関係データ格納部222に格納されている参照関係データ中に存在するか否かを判定するステップS13。同一クラス属性Aiが参照関係データ中に存在すると判定された場合ステップS13のYES、参照関係提示部332は、参照関係データ格納部222に格納されている参照関係データに基づいて、同一クラス属性Aiが参照先の属性であるか否かを判定するステップS14。ステップS14の処理において、参照関係提示部332は、同一クラス属性Aiの属性名が参照先の属性として参照関係データに含まれている場合、当該同一クラス属性Aiが参照先の属性であると判定する。同一クラス属性Aiが参照先の属性であると判定された場合ステップS14のYES、参照関係提示部332は、当該同一クラス属性Aiを参照する属性つまり、同一クラス属性Aiの参照元の属性の属性名および当該属性が属するクラスのクラス名を、ステップS11において取得された第6および第7のデータから取得するステップS15。参照関係提示部332は、取得された同一クラス属性Aiの参照元の属性の属性名および当該属性が属するクラスのクラス名が指定フォーマットで列挙された文章を作成するステップS16。なお、ステップS16の処理において用いられる指定フォーマットは、参照関係提示部332において予め保持されている。次に、参照関係提示部332は、参照関係データ格納部222に格納されている参照関係データに基づいて、同一クラス属性Aiが参照元の属性であるか否かを判定するステップS17。ステップS17の処理において、参照関係提示部332は、同一クラス属性Aiが参照元の属性として参照関係データに含まれている場合、当該同一クラス属性Aiが参照元の属性であると判定する。同一クラス属性Aiが参照元の属性であると判定された場合ステップS17のYES、参照関係提示部332は、同一クラス属性Aiの属性名を参照元の属性として含む参照関係データにおいて、当該同一クラス属性Aiに対応づけられている、当該同一クラス属性Aiが参照する属性つまり、同一クラス属性Aiの参照先の属性の属性名および当該属性が属するクラスのクラス名を、ステップS11において取得された第6および第7のデータから取得するステップS18。参照関係提示部332は、取得された同一クラス属性Aiの参照先の属性の属性名および当該属性が属するクラスのクラス名が指定フォーマットで列挙された文章を作成するステップS19。なお、ステップS19の処理において用いられる指定フォーマットは、参照関係提示部332において予め保持されている。次に、参照関係提示部332は、ステップS16およびS19において作成された文章を、対象属性が属するクラスのモデル入力画面つまり、対象属性の属性名、当該対象属性が属するクラスのクラス名および当該クラスのモデルインスタンスが表示される画面において、当該文章中の属性の参照相手の属性参照元または参照先の属性の近傍に表示する。なお、参照関係提示部332は、モデル入力画面に表示される各文章に対して、当該文章中のクラス名に対応するクラスのモデル入力画面へ遷移することが定義されたリンクを作成するステップS21。ステップS21の処理が実行されると、参照関係提示部332は、ステップS2において特定された同一クラス属性の全てについてステップS13~S21の処理が実行されたか否かを判定するステップS22。同一クラス属性の全てについて処理が実行されていないと判定された場合ステップS22のNO、上記したステップS13に戻って処理が繰り返される。一方、同一クラス属性の全てについて処理が実行されたと判定された場合ステップS22のYES、参照関係提示部332は、ユーザの操作に応じて、対象属性が属するクラスのモデル入力画面において表示されている文章に対して作成されているリンクにおいて定義されているクラスのモデル入力画面へ遷移することを命令するイベントが発生したか否かを判定するステップS23。なお、このイベントは、対象属性が属するクラスのモデル入力画面において表示されている文章がユーザによって指定された場合に発生する。イベントが発生したと判定された場合ステップS23のYES、参照関係提示部332は、ユーザによって指定された文章中のクラス名を取得するステップS24。参照関係提示部332は、取得されたクラス名に対応するクラスのモデル入力画面を、ユーザインタフェース31を介して表示する。このモデル入力画面には、取得されたクラス名、つまり、ユーザによって指定された文章中のクラス名に対応するクラスのモデルインスタンスが表示される。このように、ユーザは、対象属性が属するクラスのモデル入力画面において文章を指定することによって、当該文章中のクラス名に対応するクラスのモデル入力画面を開くことができる。一方、上記したステップS13において同一クラス属性Aiが参照関係データ中に存在しないと判定された場合、ステップS22の処理が実行される。上記したステップS14において同一クラス属性Aiが参照先の属性でないと判定された場合、ステップS15およびS16の処理は実行されない。上記したステップS17において同一クラス属性Aiが参照元の属性でないと判定された場合、ステップS18およびS19の処理は実行されない。また、上記したステップ23においてイベントが発生していないと判定された場合、参照関係提示部332の処理は終了される。次に、図8および図9のフローチャートを参照して、入力支援部33に含まれる入力候補表示選択部333の処理手順について説明する。まず、入力候補表示選択部333は、入力支援対象判定部331から渡されたデータ第1~第7のデータを取得するステップS31。入力候補表示選択部333は、取得された第2および第3のデータおよび参照関係データ格納部222に格納されている参照関係データに基づいて、対象属性が参照元の属性であるか否かを判定するステップS32。ステップS32の処理において、入力候補表示選択部333は、対象属性の属性名が参照元の属性として参照関係データに含まれている場合、当該対象属性が参照元の属性であると判定する。対象属性が参照元の属性であると判定された場合ステップS32のYES、入力候補表示選択部333は、ステップS31において取得された第6および第7のデータに基づいて、当該対象属性の参照先の属性つまり、当該対象属性の参照相手の属性および当該属性が属するクラスを特定するステップS33。以下、ステップS33において特定された属性を属性X、クラスをクラスYと称する。次に、入力候補表示選択部333は、取得されたクラスYのモデルインスタンスの更新内容の全てからなるデータ以下、データAと表記を、仕様データ一時格納部23から取得するステップS34。また、入力候補表示選択部333は、取得されたクラスYのモデルインスタンスの全てからなるデータ以下、データBと表記を、仕様データ格納部223から取得するステップS35。入力候補表示選択部333は、ステップS34において取得されたデータAをステップS35において取得されたデータBに対して反映させるステップS36。これにより、入力候補表示選択部333は、データAをデータBに反映させたデータ以下、データCと表記を取得する。なお、データCは、クラスYの最新の内容のモデルインスタンスを含む。また、入力候補表示選択部333は、メタモデル格納部221に格納されている設計メタ情報に基づいて、対象属性の参照先の属性つまり、属性Xと関連のある属性を特定するステップS37。具体的には、入力候補表示選択部333は、対象属性の参照先の属性が属するクラスつまり、クラスYに属する例えば名称に関する属性および説明に関する属性を特定する。以下、ステップS37において特定された対象属性の参照先の属性と関連のある属性を属性aおよび属性bとする。次に、入力候補表示選択部333は、データCの全てのモデルインスタンスについて、属性X、属性aおよび属性bの属性値のみを表示する指定フォーマットのポップアップ画面自動複写用ポップアップ画面を生成する。なお、ここで用いられる指定フォーマットは、入力候補表示選択部333において予め保持されている。入力候補表示選択部333は、生成された指定フォーマットのポップアップ画面を、ユーザインタフェース31を介して表示するステップS38。ここで、入力候補表示選択部333は、ステップS31において取得された第1のデータに基づいて、ユーザによる指定箇所に入力されている全ての値を、仕様データ一時格納部23のデータを反映させた仕様データ格納部223のデータから取得するステップS39。次に、入力候補表示選択部333は、取得された値についてポップアップ画面表示処理を実行するステップS40。このポップアップ画面表示処理によれば、属性Xの属性値が取得された値に含まれているモデルインスタンスを選択済みにし、また、指定箇所に入力されている属性値のうち参照先の属性の属性値として存在しないものがステップS38で表示したポップアップ画面内に表示される。なお、ポップアップ画面表示処理の詳細については後述する。入力候補表示選択部333は、ユーザの操作に応じて、ポップアップ画面において選択されたモデルインスタンスを複写することを命令するイベント複写イベントが発生したか否かを判定するステップS41。なお、このイベントは、後述するポップアップ画面に設けられている例えば複写するボタンがユーザによって指定押下された場合に発生する。複写イベントが発生したと判定された場合ステップS41のYES、入力候補表示選択部333は、ポップアップ画面において選択されているモデルインスタンスを全て取得するステップS42。次に、入力候補表示選択部333は、取得されたモデルインスタンスにおける属性X対象属性の参照先の属性の属性値を全て取得するステップS43。入力候補表示選択部333は、取得された属性値の全てを、ユーザによる指定箇所に対して入力するステップS44。ステップS44の処理が実行されると、入力候補表示選択部333は、ポップアップ画面を閉じるステップS45。なお、上記したステップS32において対象属性が参照元の属性でないと判定された場合、入力候補表示選択部333の処理は終了される。また、ステップS41において複写イベントが発生していないと判定された場合、入力候補表示選択部333は、ユーザの操作に応じて、ポップアップ画面を閉じることを命令するイベント閉じるイベントが発生したか否かを判定するステップS46。なお、このイベントは、後述するポップアップ画面に設けられている例えば閉じるボタンがユーザによって指定押下された場合に発生する。閉じるイベントが発生したと判定された場合ステップS46のYES、入力候補表示選択部333は、上記したステップS45の処理を実行する。一方、閉じるイベントが発生していないと判定された場合ステップS46のNO、ステップS41に戻って処理が繰り返される。次に、図10のフローチャートを参照して、上記したポップアップ画面表示処理図8に示すステップS40の処理の処理手順について説明する。ここでは、上記した図8に示すステップS39において、m個の値が取得されたものとする。なお、ポップアップ画面表示処理は、これらのm個の値の各々について実行される。以下の説明では、ポップアップ画面表示処理の対象となる値を値Vii=1,2,...,mとする。まず、入力候補表示選択部333は、クラスYのモデルインスタンスのうち、属性Xの属性値が値Viと一致するモデルインスタンスを全て取得するステップS51。モデルインスタンスが取得された場合ステップS52のYES、入力候補表示選択部333は、取得されたモデルインスタンスを、ポップアップ画面において選択済みとして表示するステップS53。一方、属性Xの属性値が値Viと一致するモデルインスタンスが1つも存在しない場合ステップS52のNO、入力候補表示選択部333は、当該入力候補表示選択部333において予め保持されている指定フォーマットで、値Viが不正な値であることを表す文章を作成し、当該文章をポップアップ画面に表示するステップS54。このようにポップアップ画面表示処理においては、属性Xの属性値が値Viと一致するクラスYのモデルインスタンスが存在する場合には、そのような全てのモデルインスタンスが選択済みとしてポップアップ画面に表示され、属性Xの属性値が値Viと一致するクラスYのモデルインスタンスが存在しない場合には、当該値Viが不正な値であることを表す文章がポップアップ画面に表示される。以下、本実施形態に係る仕様入力支援装置30の第1の動作例について具体的に説明する。なお、第1の動作例は、参照先の属性の属性値が確定した後に参照元の属性の属性値を入力する場合における動作である。ここでは、参照先の属性は例えば機能要件クラスに属する機能要件ID属性であるものとし、参照元の属性は例えば画面要件クラスに属する関連機能要件ID属性であるものとする。なお、図11は、機能要件クラスのモデル入力画面の一例を示す。なお、図11に示す例では、機能要件クラスのモデル入力画面における入力は、完了しているものとする。ここで、参照元の属性である関連機能要件ID属性が属する画面要件クラスのモデル入力画面を開いたものとする。図12は、画面要件クラスのモデル入力画面の一例を示す。この場合、ユーザは、図12に示す画面要件クラスのモデル入力画面において、画面要件IDがS-M-01であるモデルインスタンスの関連機能要件IDの属性指定箇所を指定するステップS61。具体的には、ユーザは、指定箇所において右クリックを行う。入力候補表示選択部333は、図13に示すように、右クリックされた指定箇所において例えば入力候補ボックスを表示のリストを表示するステップS62。次に、入力候補表示選択部333は、入力支援対象判定部331から渡された第1、第2および第3のデータから、指定箇所が指定された画面が画面要件クラスのモデル入力画面であること、および指定箇所の属性つまり、列名が関連機能要件ID属性であることを特定するステップS63,S64。また、入力候補表示選択部333は、指定箇所を示すデータを取得する。ここで、上記したステップS62において表示されたリストがユーザによってクリックされた場合を想定する。この場合、入力支援対象判定部331は、参照関係データ222に格納されている参照関係データに基づいて上述した第6および第7のデータを取得しステップS65、入力候補表示選択部333へ渡す。入力候補表示選択部333は、入力支援対象判定部331から渡された第6および第7のデータから、指定箇所の属性ここでは、関連機能要件ID属性が参照している属性つまり、関連機能要件ID属性の参照先の属性および当該属性が属するクラスここでは、機能要件クラスを特定する。図13に示す例では、入力候補表示選択部333は、関連機能要件ID属性の参照先の属性として、機能要件クラスに属する機能要件ID属性を特定する。この場合、入力候補表示選択部333は、機能要件クラスの各モデルインスタンスについて、特定された機能要件ID属性、その名称に関する属性である機能要件名属性およびその説明に関する属性である説明属性の属性値を取得するステップS66。なお、入力候補表示選択部333は、機能要件クラスの仕様データここでは、仕様データ一時格納部23内の更新内容が反映された仕様データ格納部223内の機能要件クラスの仕様データから属性値を取得する。図14は、仕様データ一時格納部23内の更新内容を仕様データ格納部223内の機能要件クラスの仕様データに対して反映させることによって、最新の内容の機能要件クラスの仕様データが生成される様子を示す。再び図13に戻ると、入力候補表示選択部333は、取得された各属性値が表示された入力候補ボックスポップアップ画面を、ユーザインタフェース31を介して表示するステップS67。ここで、ユーザは、図15に示すように、入力候補ボックスにおいてリストとして表示されている属性値にチェックをつけることにより、関連機能要件として入力したい機能要件クラスのモデルインスタンスを指定するステップS68。また、ユーザは、入力候補ボックスに設けられている複写するボタンをクリック指定するステップS69。これにより、入力候補表示選択部333は、入力候補ボックスのリストにおいて選択されているモデルインスタンスにおける機能要件ID属性の属性値ここでは、F01およびF02を取得する。入力候補表示選択部333は、取得された属性値を、上記した画面要件クラスのモデル入力画面の指定箇所ここでは、関連機能要件IDの箇所に入力登録するステップS70。ステップS70において属性値が指定箇所に登録されると、入力候補ボックスは閉じられる。なお、上記した複写するボタンがクリックされる前に、入力候補ボックスに設けられている閉じるボタンがユーザによってクリック指定されると、入力候補表示選択部333は、当該入力候補ボックスを閉じるステップS71。このように入力候補表示選択部333の処理が実行されることによって、ユーザは、入力候補ボックスに表示された属性値の中から任意の値をクリック操作により選択する操作のみで、当該値を指定箇所に入力することができる。次に、図16および図17のフローチャートを参照して、入力支援部33に含まれる不整合警告部334の処理手順について説明する。まず、不整合警告部334は、入力支援対象判定部331から渡されたデータ第1~第7のデータを取得するステップS81。不整合警告部334は、取得された第5のデータに基づいて、対象属性が参照元の属性であるか否かを判定するステップS82。対象属性が参照元の属性であると判定された場合ステップS82のYES、不整合警告部334は、ステップS81において取得された第6および第7のデータに基づいて、対象属性の参照先の属性以下、属性aと表記および当該属性aが属するクラス以下、クラスAと表記を特定するステップS83。次に、不整合警告部334は、特定されたクラスAのモデルインスタンスの全てを、仕様データ格納部223から取得するステップS84。不整合警告部334は、取得されたモデルインスタンスから、属性aの属性値からなるデータ以下、データSと表記を取得するステップS85。また、不整合警告部334は、属性aの属性値の入力、変更、削除等の履歴のデータ、つまり、当該属性値の更新内容のデータ以下、データαと表記を、仕様データ一時格納部23から取得するステップS86。不整合警告部334は、ステップS85において取得されたデータSに対してステップS86において取得されたデータαを反映させるステップS87。これにより、不整合警告部334は、データSに対してデータαを反映させたデータ以下、データTと表記を取得する。次に、不整合警告部334は、不整合データ格納処理を実行するステップS88。この不整合データ格納処理によれば、属性間の不整合を表す不整合データが不整合参照関係格納部224に格納される。なお、不整合データ格納処理の詳細については後述する。ステップS88の処理が実行されると、不整合警告部334は、警告表示処理を実行するステップS89。この警告表示処理によれば、不整合が発生していることを警告するためのメッセージ等が表示される。なお、警告表示処理の詳細については後述する。ステップS89の処理の処理が実行されると、不整合警告部334は、不整合参照関係格納部224に格納されているデータを、ユーザインタフェース31を介して一覧表示するステップS90。一方、上記したステップS82において対象属性が参照元の属性でないと判定された場合、不整合警告部334は、ステップS81において取得された第4のデータに基づいて、対象属性が参照先の属性であるか否かを判定するステップS91。対象属性が参照先の属性であると判定された場合ステップS91のYES、不整合警告部334は、ユーザによる指定箇所においてモデルインスタンスの削除が行われたか否かを判定するステップS92。この場合、不整合警告部334は、仕様データ一時格納部23に格納されている更新内容に基づいて判定処理を実行する。モデルインスタンスの削除が行われたと判定された場合ステップS92のYES、不整合警告部334は、ステップS81において取得された第6および第7のデータに基づいて、対象属性の参照元の属性対象属性を参照する属性および当該属性が属するクラスを特定するステップS93。なお、上記したように対象属性が参照先の属性であると判定され、かつ、モデルインスタンスの削除が行われたと判定された場合には、以下の処理においては、対象属性を属性a、当該対象属性が属するクラスをクラスAとして処理が実行される。ステップS93の処理が実行されると、上記したステップS84以降の処理が実行される。上記したステップS91において対象属性が参照先の属性でないと判定された場合、不整合警告部334の処理は終了される。また、上記したステップS92においてモデルインスタンスの削除が行われていないと判定された場合、同様に、不整合警告部334の処理は終了される。次に、図18のフローチャートを参照して、上述した不整合データ格納処理図16に示すステップS88の処理の処理手順について詳細に説明する。ここで、上記したように対象属性が参照元の属性である場合、不整合データ格納処理は、対象属性の参照先の属性を属性a、当該属性aが属するクラスをクラスA、対象属性を属性X1、当該対象属性属性X1が属するクラスをクラスY1として実行される。一方、対象属性が参照先の属性である場合、不整合データ格納処理は、対象属性の参照元の各属性を属性X1、X2、...、Xk、当該属性X1、X2、...、Xkの各々が属するクラスをクラスY1、Y2、...、Yk、対象属性を属性a、当該対象属性属性aが属するクラスをクラスAとして実行される。ここでは、上記した図17に示すステップS93の処理においてk個の対象属性の参照元の属性が特定された場合を想定している。なお、不整合データ格納処理は、対応する属性XおよびクラスYの組毎に実行される。具体的には、対象属性が参照先の属性である場合のように複数の属性X1、X2、...、Xkおよび複数のクラスY1、Y2、...、Ykが存在する場合には、不整合データ格納処理は、属性X1およびクラスY1、属性X2およびクラスY2、...、属性XkおよびクラスYkの各々について実行される。一方、対象属性が参照元の属性である場合のように属性X1およびクラスY1のみが存在する場合には、不整合データ格納処理は、属性X1およびクラスY1についてのみ実行される。以下では、便宜的に、不整合データ格納処理の対象となる属性XおよびクラスYを属性XiおよびクラスYii=1、2、...、kとして説明する。まず、不整合警告部334は、クラスYiの全てのモデルインスタンスを、仕様データ格納部223から取得するステップS101。次に、不整合警告部334は、取得された全てのモデルインスタンスから、属性Xiの属性値からなるデータ以下、データUiと表記を取得するステップS102。また、不整合警告部334は、属性Xiの属性値の入力、変更、削除等の履歴のデータ、つまり、当該属性値の更新内容のデータ以下、データβiと表記を取得するステップS103。不整合警告部334は、ステップS101において取得されたデータUiに対してステップS103において取得されたデータβiを反映させるステップS104。これにより、不整合警告部334は、データUiに対してデータβiを反映させたデータ以下、データViと表記を取得する。次に、不整合警告部334は、データViが持つ値属性値の各々について、以下のステップS105~S107の処理を実行する。以下、この処理の対象となるデータViが持つ値を値Vijとする。まず、不整合警告部334は、値VijがデータT内に存在するか否かを判定するステップS105。ここで、データTは、上述した図16に示すステップS87においてデータSに対してデータαを反映させたデータである。値VijがデータT内に存在しないと判定された場合ステップS105のNO、不整合警告部334は、値Vijを属性Xiの属性値として持つ、クラスYiの全てのモデルインスタンスを特定するステップS106。次に、不整合警告部334は、特定されたモデルインスタンスをデータ集合Eiに追加するステップS107。不整合警告部334は、データViが持つ全ての値について上記したステップS105~S107の処理が実行された否かを判定するステップS108。データViが持つ全ての値について処理が実行されていないと判定された場合ステップS108のNO、上記したステップS105に戻って処理が繰り返される。一方、データViが持つ全ての値について処理が実行されたと判定された場合ステップS108のYES、不整合警告部334は、参照先の属性が属性aであり、当該属性aが属するクラスがクラスAであることと、参照元の属性が属性Xiであり、当該属性Xiが属するクラスがクラスYiであることと、不整合データを持つクラスYiのモデルインスタンスがデータEi内の全要素であることとを一組のデータとして、不整合参照関係格納部224に格納するステップS109。なお、データEiは、ステップS106において特定されたモデルインスタンスの和集合であり、同一の要素を複数持つことはない。なお、上記したステップS105において値VijがデータT内に存在すると判定された場合、ステップS106およびS107の処理は実行されず、ステップS108の処理が実行される。次に、図19のフローチャートを参照して、上述した警告表示処理図16に示すステップ89の処理の処理手順について詳細に説明する。なお、警告表示処理は、不整合参照関係格納部224に格納されている各データの組について実行される。ここでは、不整合参照関係格納部224にはs個のデータの組が格納されているものとする。また、以下の説明においては、警告表示処理の対象となるデータの組をデータの組Dtt=1、2、...、sとする。また、データの組Dtに含まれる参照先の属性を属性S、当該属性Sが属するクラスをクラスRとする。更に、データの組Dtに含まれる参照元の属性を属性P、当該属性Pが属するクラスをクラスQとする。まず、不整合警告部334は、データの組Dtに含まれる属性S参照先の属性が属するクラスRのモデル入力画面がユーザインタフェース31を介して現在表示されているか否かを判定するステップS111。クラスRのモデル入力画面が現在表示されていると判定された場合ステップS111のYES、不整合警告部334は、当該クラスRのモデル入力画面において、属性PおよびクラスQを用いた指定フォーマットの文章で表示されているリンクの箇所に、不整合が発生していることを警告するメッセージを表示するステップS112。このとき、不整合警告部334は、クラスRのモデル入力画面において、属性S参照先の属性の列全体を色付けするステップS113。なお、上記したステップS111においてクラスRのモデル入力画面が現在表示されていないと判定された場合、ステップS112およびS113の処理は実行されない。次に、不整合警告部334は、データの組Dtに含まれる属性P参照元の属性が属するクラスQのモデル入力画面がユーザインタフェース31を介して現在表示されているか否かを判定するステップS114。クラスQのモデル入力画面が現在表示されていると判定された場合ステップS114のYES、不整合警告部334は、当該クラスQのモデル入力画面において、属性SおよびクラスRを用いた指定フォーマットの文章で表示されているリンクの箇所に、不整合が発生していることを警告するメッセージを表示するステップS115。このとき、不整合警告部334は、クラスQのモデル入力画面において、データの組Dtに含まれる不整合データを持つモデルインスタンスの全てに対して参照元の属性Pの属性値の箇所を色付けするステップS116。なお、上記したステップS114においてクラスQのモデル入力画面が現在表示されていないと判定された場合、ステップS115およびS116の処理は実行されず、警告表示処理は終了される。以下、本実施形態に係る仕様入力支援装置30の第2の動作例について具体的に説明する。なお、第2の動作例は、参照先の属性および参照元の属性の属性値が確定した後に参照先の属性が属するクラスのモデルインスタンスが削除される場合における動作である。ここでは、上述した入力候補表示選択部333による処理が繰り返されることにより、画面要件クラスのモデル入力画面における関連機能要件IDの列つまり、関連機能要件ID属性の属性値への入力が全て完了していることを前提とする。なお、図20は、このときの参照元の属性である関連機能要件ID属性が属する画面要件クラスのモデル入力画面の一例を示す。また、このときの参照先となる属性である機能要件IDが属する機能要件クラスのモデル入力画面は、前述した図11に示す画面であるものとする。図21に示す例によれば、ユーザは、図11に示すような機能要件クラスのモデル入力画面において、当該機能要件クラスのモデルインスタンスから、機能要件ID属性がF02であるモデルインスタンスを削除するステップS121。この場合、入力支援対象判定部331は、機能要件クラスのモデル入力画面においてユーザによる変更作業が行われたことを検知し、第1~第7のデータを不整合警告部334に渡す。不整合警告部334は、入力支援対象判定部331から渡された第2および第3のデータから当該変更作業が行われたクラスここでは、機能要件クラスおよび属性ここでは、機能要件ID属性を特定するステップS122,S123。次に、入力支援対象判定部331は、参照関係データ格納部222に格納されている参照関係データに基づいて上述した第6および第7のデータを取得するステップS124。不整合警告部334は、特定された機能要件ID属性を参照している属性つまり、機能要件ID属性の参照元の属性および当該属性が属するクラスを、入力支援対象判定部331から渡された第6および第7のデータから特定する。ここでは、図21に示すように、機能要件ID属性の参照元の属性として、画面要件クラスに属する関連機能要件ID属性および帳票要件クラスに属する関連機能要件ID属性が特定される。不整合警告部334は、機能要件クラスに属する機能要件ID属性の属性値を、機能要件クラスの仕様データここでは、仕様データ一時格納部23内の更新内容が反映された仕様データ格納部223内の機能要件クラスの仕様データから取得するステップS125。また、不整合警告部334は、機能要件ID属性の参照元の各属性画面要件クラスに属する関連機能要件ID属性および帳票要件クラスに属する関連機能要件IDの属性値を、当該画面要件クラスの仕様データおよび帳票要件クラスの仕様データから取得するステップS126。この画面要件クラスの仕様データおよび帳票要件クラスの仕様データは、仕様データ一時格納部23内の更新内容が反映された仕様データ格納部223内の画面要件クラスの仕様データおよび帳票要件クラスの仕様データである。なお、図21においては、便宜的に、画面要件クラスの仕様データのみが示されている。また、図22は、仕様データ一時格納部23内の更新内容を仕様データ格納部223内の画面要件クラスの仕様データに対して反映させることによって、最新の内容の画面要件クラスの仕様データが生成される様子を示す。次に、不整合警告部334は、取得された機能要件ID属性の属性値と当該機能要件ID属性の参照元の各属性画面要件クラスに属する関連機能要件ID属性および帳票要件クラスに属する関連機能要件ID属性の属性値とを比較するステップS127。不整合警告部334は、比較結果を参照して、機能要件IDの参照元の各属性の属性値入力内容が機能要件ID属性の属性値として存在しているか否かを判定する。図21に示す例では、画面要件クラスの画面要件ID属性の属性値がS-M-01、S-M-02およびS-M-03であるモデルインスタンスの関連機能要件ID属性の属性値ここでは、F02が、機能要件クラスに属する機能要件ID属性の属性値として存在しない。この場合、不整合警告部334は、機能要件ID属性の属性値として存在しない関連機能要件ID属性の箇所を、画面要件クラスのモデル入力画面において色付けすることにより、当該箇所への入力内容が不正であるつまり、不整合が発生していることを警告するステップS128。更に、不整合警告部334は、機能要件クラスのモデル入力画面において、機能要件ID属性の列全体を色付けすることにより、機能要件ID属性を参照している属性つまり、機能要件ID属性の参照元の属性との間で、属性値の入力内容の不整合が発生していることを警告するステップS129。なお、図23は、上記したような処理が実行された直後の不整合参照関係格納部224のデータ構造の一例を示す。不整合参照関係格納部224には、上記したように不整合データを持つ参照元クラス参照元の属性が属するクラスのモデルインスタンスのID属性値、参照元の属性が属するクラスのクラス名、参照元の属性の属性名、参照先の属性の属性名および参照先の属性が属するクラスのクラス名が対応づけて格納されている。ここで、上記したように不整合警告部334により不整合が発生していることがユーザに対して警告された場合、当該ユーザは、当該ユーザの変更作業ここでは、削除作業の影響で不整合が発生したことを、機能要件クラスのモデル入力画面において知ることができる。この場合、ユーザは、発生した不整合を除去するために、機能要件クラスのモデル入力画面において、機能要件ID属性の列の上方の文章に対して作成されているリンクをクリック指定するステップS130。図21に示す例では、ユーザは、例えば☆参照元1:画面要件クラスの関連機能要件IDの文章に対して作成されているリンクをクリックする。なお、この文章の☆印および当該文章の右側の吹き出しは、不整合の発生を意味している。ここで、参照関係提示部332は、ユーザによってクリックされたリンクにおいて定義されているクラスのモデル入力画面を表示する。この場合、図21に示す画面要件クラスのモデル入力画面が表示される。ユーザは、画面要件クラスの色付けされている関連機能要件ID属性の箇所の1つを右クリックつまり、指定するステップS131。ここでは、画面要件ID属性の属性値がS-M-01であるモデルインスタンスの関連機能要件ID属性の箇所が指定されたものとする。この場合、図24に示すように、入力候補表示選択部333は、右クリックされた関連機能要件ID属性の箇所に入力候補ボックスを表示のリストを表示するステップS132。入力候補表示選択部333は、入力支援対象判定部331から渡された第1、第2および第3のデータから、ユーザによって指定右クリックされた画面が画面要件クラスのモデル入力画面であること、および当該指定された箇所の属性つまり、列名が関連機能要件ID属性であることを特定するステップS133,S134。また、入力候補表示選択部333は、ユーザによって指定された箇所指定箇所を示すデータを取得する。ここで、入力候補表示選択部333によって表示された入力候補ボックスを表示のリストがユーザによってクリック指定されたものとする。この場合、入力支援対象判定部331は、参照関係データ格納部222に格納されている参照関係データに基づいて上述した第6および第7のデータを取得するステップS135。入力候補表示選択部333は、上記したステップS134において特定された画面要件クラスに属する関連機能要件ID属性から参照されている属性つまり、関連機能要件ID属性の参照先の属性および当該属性が属するクラスを、入力支援対象判定部331から渡された第6および第7のデータから特定する。図24に示す例では、画面要件クラスの関連機能要件ID属性の参照先の属性として、機能要件クラスに属する機能要件ID属性が特定される。入力候補表示選択部333は、機能要件クラスの各モデルインスタンスについて、特定された機能要件ID属性、その名称に関する属性である機能要件名属性およびその説明に関する属性である説明属性の属性値を取得するステップS136。なお、入力候補表示選択部333は、これらの属性値を、機能要件クラスの仕様データここでは、仕様データ一時格納部23内の更新内容が反映された仕様データ格納部223内の機能要件クラスの仕様データから取得する。図25は、図24に示す例において、仕様データ一時格納部23内の更新内容を仕様データ格納部223内の機能要件クラスの仕様データに対して反映させることによって、最新の内容の機能要件クラスの仕様データが生成される様子を示す。次に、入力候補表示選択部333は、取得された属性値を表示した入力候補ボックスを表示するステップS137。このとき、入力候補ボックスに表示されている機能要件ID属性の属性値のうち、上記したステップS131においてユーザによって右クリックされた箇所つまり、ユーザによる指定箇所に入力されていた値つまり、属性値については、入力候補ボックスにおいて当該機能要件ID属性の属性値の行を色付けし、更には、チェックをつけて選択済みとして表示される。一方、指定箇所に入力されている値のうち、入力候補ボックスに表示されている機能要件ID属性の属性値として存在しない値については、入力候補表示選択部333において予め保持されている指定フォーマットに従って当該値が不正な値であることを示す文章が作成されて、表示される。ここで、図26に示すように、上記したような入力候補ボックスのリストにおいて、画面要件クラスのモデル入力画面において関連機能要件ID属性の属性値として入力する値機能要件ID属性の属性値がユーザによって選択された後に、当該入力候補ボックスに設けられている複写するボタンがユーザによってクリックされたものとするステップS138。この場合、入力候補表示選択部333は、入力候補ボックスのリストにおいて選択された行の機能要件ID属性の属性値を取得する。入力候補表示選択部333は、取得された値を、ユーザによる指定箇所ステップS131においてユーザによって右クリックされた箇所に入力するステップS139。これによって、ユーザによる指定箇所に適切な値が入力されることになる。なお、入力候補ボックスは、複写終了後に閉じられる。図26に示す例では、入力候補ボックスのリストにおいて選択された機能要件ID属性の属性値F01が、画面要件クラスのモデル入力画面内の画面要件ID属性の属性値がS-M-01であるモデルインスタンスの関連機能要件ID属性の箇所ユーザによる指定箇所に対して入力されている。入力支援対象判定部331は、画面要件クラスのモデル入力画面において変更作業が行われたことを検知し、第1~第7のデータを不整合警告部334に渡す。不整合警告部334は、入力支援対象判定部331から渡された第2および第3のデータから当該変更作業が行われたクラスここでは、画面要件クラスおよび属性ここでは、関連機能要件ID属性を特定するステップS140,S141。次に、入力支援対象判定部331は、参照関係データ格納部222に格納されている参照関係データに基づいて上述した第6および第7のデータを取得するステップS142。不整合警告部334は、特定された関連機能要件ID属性が参照している属性関連機能要件IDの参照先の属性を、入力支援対象判定部331から渡された第6および第7のデータから特定する。ここでは、図26に示すように、関連機能要件ID属性の参照先の属性として、機能要件クラスに属する機能要件ID属性が特定される。不整合警告部334は、画面要件クラスに属する関連機能要件ID属性の属性値の集合を、画面要件クラスの仕様データ仕様データ一時格納部23内の更新内容が反映された仕様データ格納部223内の画面要件クラスの仕様データから取得するステップS143。図27は、図26に示す例において、仕様データ一時格納部23内の更新内容を仕様データ格納部223内の画面要件クラスの仕様データに対して反映させることによって、最新の内容の画面要件クラスの仕様データが生成される様子を示す。また、不整合警告部334は、特定された機能要件クラスに属する機能要件ID属性の属性値の集合を、機能要件クラスの仕様データ仕様データ一時格納部23内の更新内容が反映された仕様データ格納部223内の機能要件クラスの仕様データから取得するステップS144。図28は、図26に示す例において、仕様データ一時格納部23内の更新内容を仕様データ格納部223内の機能要件クラスの仕様データに対して反映させることによって、最新の内容の画面要件クラスの仕様データが生成される様子を示す。次に、不整合警告部334は、画面要件クラスに属する関連機能要件ID属性の属性値と機能要件クラスに属する機能要件ID属性の属性値とを比較するステップS145。不整合警告部334は、比較結果に基づいて、関連機能要件ID属性の属性値が機能要件ID属性の属性値として存在しているか否かを判定する。図26に示す例では、画面要件クラスに属する画面要件ID属性の属性値がS-M-02およびS-M-03であるモデルインスタンスの関連機能要件ID属性の属性値ここでは、F02が、機能要件クラスに属する機能要件ID属性の属性値として存在しない。この場合、不整合警告部334は、機能要件ID属性の属性値として存在しない関連機能要件ID属性の箇所を、画面要件クラスのモデル入力画面において色付けすることにより、当該箇所への入力内容が不正であるつまり、不整合が発生していることを警告するステップS146。更に、不整合警告部334は、機能要件クラスのモデル入力画面において、機能要件ID属性の列全体を色付けすることにより、機能要件ID属性を参照している属性つまり、機能要件ID属性の参照元の属性との間で、属性値の入力内容の不整合が発生していることを警告するステップS147。なお、図29は、上記したような処理が実行された直後の不整合参照関係格納部224のデータ構造の一例を示す。なお、不整合参照関係格納部224のデータ構造については、前述した図23において説明した通りであるので、その詳しい説明を省略する。ここで、入力候補ボックスが表示されてから一度も複写するボタンが押下されていない場合であって、図26に示す入力候補ボックスに設けられている閉じるボタンが押下されたときには、入力候補表示選択部333は、当該入力候補ボックスを閉じるステップS148。なお、ユーザは、図26に示す画面要件クラスのモデル入力画面において色付けされている関連機能要件ID属性の他の箇所つまり、画面要件ID属性の属性値がS-M-02およびS-M-03であるモデルインスタンスの関連機能要件ID属性の各箇所についても上記したステップS131と同様に指定することによって、ステップS131~S147の処理を実行させることができる。ここで、図30は、画面要件クラスのモデル入力画面において色付けされている関連機能要件ID属性の全ての箇所について上記したように処理が実行された後の画面要件クラスのモデル入力画面の一例を示す。また、図31は、画面要件クラスのモデル入力画面において色付けされている関連機能要件ID属性の全ての箇所について処理が実行された後の機能要件クラスのモデル入力画面の一例を示す。また、図32は、画面要件クラスのモデル入力画面において色付けされている関連機能要件ID属性の全ての箇所について処理が実行された後の不整合参照関係格納部224のデータ構造の一例を示す。ここで、ユーザは、上記した図31に示す機能要件クラスのモデル入力画面を確認することによって、機能要件クラスに属する機能要件ID属性と、当該機能要件IDの参照元の属性ここでは、帳票要件クラスに属する関連機能要件ID属性との間に発生した属性値の不整合の除去作業が完了していないことを知ることができる。この場合、ユーザは、不整合の除去作業を完了させるため、機能要件クラスのモデル入力画面において、機能要件ID属性の列の情報の文章に対して作成されているリンクをクリックする。図31に示す機能要件クラスのモデル入力画面においては、ユーザは、☆参照元2:帳票要件クラスの関連機能要件IDの文章に対して作成されているリンクをクリックする。この場合、ユーザによってクリックされたリンクにおいて定義されているクラスのモデル入力画面が表示される。具体的には、図33に示す帳票要件クラスのモデル入力画面が表示される。以下、上述したステップS132以降の処理に相当する処理が実行される。ここで、図34は、図33に示す帳票要件クラスのモデル入力画面に対してステップS132以降の処理に相当する処理が実行された後の帳票要件クラスのモデル入力画面の一例を示す。図34に示すように、帳票要件クラスのモデル入力画面においては、各モデルインスタンスの関連機能要件ID属性の属性値からF02が削除されている。また、図34に示す帳票要件クラスのモデル入力画面においては、上記した図33に示す帳票要件クラスのモデル入力画面と比較して、不整合が発生している旨の警告は表示されない。また、図35は、図33に示す帳票要件クラスのモデル入力画面に対してステップS132以降の処理に相当する処理が実行された後の不整合参照関係格納部224のデータ構造の一例を示す。この場合、不整合は発生していないので、不整合参照関係格納部224には図35に示すようにデータは保持されない。また、図36は、図33に示す帳票要件クラスのモデル入力画面に対してステップS132以降の処理に相当する処理が実行された後の機能要件クラスのモデル入力画面の一例を示す。この場合、図36に示す機能要件クラスのモデル入力画面においては、上記した図31に示す機能要件クラスのモデル入力画面と比較して、不整合が発生している旨の警告は表示されない。ユーザは、例えばこれらのクラスのモデル入力画面を確認することによって、不整合の警告がないことから、上述したようなモデルインスタンスの削除作業の影響による不整合の除去作業を完了したことを知ることができる。上記したように本実施形態においては、メタモデル格納部221に格納されている設計メタ情報に含まれるモデルクラスおよび当該モデルクラスに属する属性に基づいて仕様データを入力させるモデル入力画面を表示し、当該モデルクラスに属する属性と参照関係にある属性を参照関係データ格納部222に格納されている参照関係データに基づいて特定し、当該モデル入力画面において当該特定された属性を提示する。また、本実施形態においては、モデル入力画面において仕様データが入力される際に、参照関係データ格納部222に格納されている参照関係データに基づいて当該仕様データとして入力される属性値の候補を提示し、当該提示された属性値の候補のうちユーザによって選択された属性値を仕様データとして入力する。また、本実施形態においては、モデル入力画面において仕様データとして入力された属性値を変更し、当該属性値が変更された属性値と参照関係にある属性を、参照関係データ格納部222に格納されている参照関係データに基づいて取得し、当該属性値が変更された属性の属性と当該取得された属性の属性値とを比較することによって、当該属性間の不整合を警告する。これにより、本実施形態においては、参照関係にある属性の属性値の探索または入力の手間を削減し、参照関係に関する当該属性間の不整合の発生を抑制し、更には、当該変更に応じて発生した不整合を警告することにより、当該不整合の除去を促すことができる。具体的には、本実施形態においては、メタモデル格納部221に格納されている設計メタ情報および参照関係データ格納部222に格納されている参照関係データによって定められる参照関係に従った入力値をユーザが入力することができる。また、本実施形態においては、ユーザは入力対象のクラスのモデル入力画面および当該モデル入力画面内のリンクから辿ることができる画面を表示させればよく、他の様々な画面を自ら探索して表示参照する必要はなく、ユーザの手間を低減させることが可能となる。また、本実施形態においては、ユーザによる入力値が高い割合で参照関係に従ったものとなり、当該参照関係に違反することによる仕様の不整合の発生を未然に防止することが可能となる。更に、本実施形態においては、参照関係に違反していることによる不整合が入力値に発生している場合には、当該不整合を自動的に検出し、ユーザに対して提示することが可能となる。したがって、本実施形態においては、上記したように仕様の不整合を大幅に減少させることによって仕様に関するデータ仕様データの品質を向上さることができる。また、参照関係に従った入力を行う際の手間、不整合の検知および修正の手間を大幅に減少させることができる。なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。"