(57)【特許請求の範囲】
【請求項１】
判定対象のシステムの第１仕様書から図形を検出し、
前記システムの仕様に関する項目と、前記項目を表す図形の種類とを対応付けて記憶する記憶部を参照して、前記システムの第２仕様書のうちの検出した前記図形の種類に対応する前記項目の項目内容情報と、検出した前記図形に対応する前記第１仕様書内の位置に配置された文字情報と、が一致するか否かを判定し、
判定した結果を出力する、
制御部を有することを特徴とする情報処理装置。
【請求項２】
前記項目は、
前記システムに関する画面を表す項目を含み、
前記画面を表す項目の項目内容情報は、
前記画面を識別する識別情報であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、
前記文字情報と前記項目の項目内容情報とが一致すると判定した場合、前記画面を識別する識別情報を第１画面内に配置した画面情報を生成し、
生成した前記画面情報を出力する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記制御部は、
前記文字情報と前記項目の項目内容情報とが一致しないと判定した場合、前記文字情報と前記項目の項目内容情報との不一致を示す情報を第１画面内に配置した画面情報を生成し、
生成した前記画面情報を出力する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記項目は、
前記システムに関する画面内に配置されるボタンを表す項目を含み、
前記制御部は、
検出した前記図形が前記ボタンを表す場合に、検出した前記図形に対応する前記第１仕様書内の位置に配置された文字情報を取得し、
取得した前記文字情報を内部に配置した第１ボタンを前記第１画面内に配置した画面情報を生成する、
ことを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記制御部は、
検出した前記図形が前記画面を表す場合に、当該図形に対応する前記第１仕様書内の位置に配置された前記ボタンを表す図形を検出する、
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記制御部は、
検出した前記図形が前記ボタンを表し、当該図形に対応する前記第１仕様書内の位置に文字情報が無い場合、前記ボタンを識別する識別情報が無いことを示す情報を内部に配置した第１ボタンを前記第１画面内に配置した画面情報を生成し、
生成した前記画面情報を生成する、
ことを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記項目は、遷移元の画面から遷移先の画面の遷移を表す項目を含み、
前記項目の項目内容情報は、前記遷移先の画面を識別する識別情報を含み、
前記制御部は、
検出した前記図形が前記遷移を表す場合、当該図形によって特定される前記第１仕様書内の前記遷移先の画面を表す図形に対応する文字情報を取得し、
前記記憶部を参照して、前記第２仕様書のうち検出した前記図形の種類に対応する前記遷移先の画面を識別する識別情報と、取得した前記文字情報と、が一致するか否かを判定し、
判定した結果を出力する、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項９】
前記制御部は、
検出した前記図形が前記遷移を表し、前記遷移先の画面を識別する識別情報と取得した前記文字情報とが一致すると判定した場合、前記第２仕様書から、前記遷移先の画面を識別する識別情報に対応する第２画面の画面情報を呼び出すプログラムを識別する識別情報を取得し、
取得した前記プログラムを識別する識別情報に基づいて、前記遷移先を設定した前記第１画面の画面情報を生成する、
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記制御部は、
前記プログラムを識別する識別情報が前記第２仕様書内に無い場合、前記プログラムを識別する識別情報が無いことを示す情報を判別可能な第１ボタンを前記第１画面内に配置した画面情報を生成する、
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
コンピュータに、
判定対象のシステムの第１仕様書から図形を検出し、
前記システムの仕様に関する項目と、前記項目を表す図形の種類とを対応付けて記憶する記憶部を参照して、前記システムの第２仕様書のうちの検出した前記図形の種類に対応する前記項目の項目内容情報と、検出した前記図形に対応する前記第１仕様書内の位置に配置された文字情報と、が一致するか否かを判定し、
判定した結果を出力する、
処理を実行させることを特徴とする判定プログラム。
【請求項１２】
コンピュータが、
判定対象のシステムの第１仕様書から図形を検出し、
前記システムの仕様に関する項目と、前記項目を表す図形の種類とを対応付けて記憶する記憶部を参照して、前記システムの第２仕様書のうちの検出した前記図形の種類に対応する前記項目の項目内容情報と、検出した前記図形に対応する前記第１仕様書内の位置に配置された文字情報と、が一致するか否かを判定し、
判定した結果を出力する、
処理を実行することを特徴とする判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、判定プログラム、および判定方法に関する。
【背景技術】
【０００２】
従来、システムの開発では、提案書や要件定義によってシステムの内部仕様や外部仕様などが定まり、内部仕様や外部仕様などを規定した仕様書がそれぞれ作成される。例えば、仕様書は、システムのユーザインターフェースに関する仕様書、システムのデータベースやデータに関する仕様書、システムの機能に関する仕様書などがある。また、仕様書は、規定される内容に応じて異なる記述方法により記述されることがある。例えば、表形式で記述される仕様書や図形が配置される仕様書などがある。
【０００３】
先行技術としては、例えば、画面情報と画面遷移情報とを別々に作成し、各処理項目内容を表形式に記述したシートによって画面遷移処理を記述するＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）のファイルを生成する技術がある。
【０００４】
また、原子力施設の計装制御システムに使用されるソフトウェアの設計の各工程において、その直前の工程からの要求仕様が正しく継承されているかを検証する作業およびソフトウェアの各種機能の入出力精度、応答時間などの健全性を確認する技術がある。
【０００５】
また、画面遷移情報と戻り遷移情報とに基づいて、戻り遷移可能画面の一覧画面を表示し、画面遷移情報と戻り遷移情報とに基づいて、画面遷移系列一覧画面を表示する技術がある。
【０００６】
また、複数の画面表示を行うウェブアプリケーションの画面情報と、画面間のリンクを示すリンク情報と、作成者によって入力された所定の画面の要否を示す要否情報と、に基づいて、ウェブアプリケーションで表示される画面の要否を判定する技術がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−１０９６２０号公報
【特許文献２】特開２００１−３３７８２４号公報
【特許文献３】特開２００９−２６５７９９号公報
【特許文献４】特開２０１２−１４５９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来技術では、開発対象のシステムの内部仕様や外部仕様について作成される異なる仕様書間の差異を特定することが困難な場合がある。
【０００９】
１つの側面では、本発明は、仕様書間の差異の特定の容易化を図ることができる情報処理装置、判定プログラム、および判定方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一側面によれば、判定対象のシステムの第１仕様書から図形を検出し、前記システムの仕様に関する項目と、前記項目を表す図形の種類とを対応付けて記憶する記憶部を参照して、前記システムの第２仕様書のうちの検出した前記図形の種類に対応する前記項目の項目内容情報と、検出した前記図形に対応する前記第１仕様書内の位置に配置された文字情報と、が一致するか否かを判定し、判定した結果を出力する制御部を有する情報処理装置、判定プログラム、および判定方法が提案される。
【発明の効果】
【００１１】
本発明の一態様によれば、仕様書間の差異の特定の容易化を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、情報処理装置による一動作例を示す説明図である。
【図２】図２は、情報処理装置のハードウェア構成例を示す説明図である。
【図３】図３は、情報処理装置の機能的構成例を示すブロック図である。
【図４】図４は、仕様書Ａの一例を示す説明図である。
【図５】図５は、仕様書Ｂの一例を示す説明図である。
【図６】図６は、図形の種類と項目とを対応付けた例を示す説明図である。
【図７】図７は、仕様書Ａの取り込み結果例を示す説明図である。
【図８】図８は、仕様書Ａの記載不備表示例を示す説明図である。
【図９】図９は、仕様書Ｂの取り込み結果例を示す説明図である。
【図１０】図１０は、仕様書Ｂの記載不備表示例を示す説明図である。
【図１１】図１１は、仕様書Ａの取り込み結果から一つの画面情報を処理対象とする例を示す説明図である。
【図１２】図１２は、画面情報に応じたＪＳＰ生成結果例を示す説明図である。
【図１３】図１３は、画面情報に応じたサーブレット生成結果例を示す説明図である。
【図１４】図１４は、仕様書Ａと仕様書Ｂとの画面ＩＤの一致判定例を示す説明図である。
【図１５】図１５は、画面ＩＤが仕様書Ａと仕様書Ｂとで一致しない例を示す説明図である。
【図１６】図１６は、画面名が一致しない場合のＪＳＰのファイルへの書き込み例を示す説明図である。
【図１７】図１７は、画面名が一致する場合のＪＳＰのファイルへの書き込み例を示す説明図である。
【図１８】図１８は、画面名が一致する場合のサーブレットのファイルへの画面名の書き込み例を示す説明図である。
【図１９】図１９は、ＪＳＰのファイルへのボタンの設定例を示す説明図である。
【図２０】図２０は、ボタン名が設定されていない場合の例を示す説明図である。
【図２１】図２１は、ボタン名が設定されている場合の例を示す説明図である。
【図２２】図２２は、遷移先画面情報の有無の判定例を示す説明図である。
【図２３】図２３は、遷移先画面情報が無い場合におけるＪＳＰのファイルへの設定例を示す説明図である。
【図２４】図２４は、遷移先画面情報がある場合におけるＪＳＰのファイルへの設定例を示す説明図である。
【図２５】図２５は、画面ＩＤが「１」の場合の表示画面例を示す説明図である。
【図２６】図２６は、画面名が異なり遷移先画面情報が無い場合の画面例を示す説明図である。
【図２７】図２７は、ボタン名が異なる場合の画面例を示す説明図である。
【図２８】図２８は、記載不備および差異の有無の表示例を示す説明図である。
【図２９】図２９は、情報処理装置と利用者が行う処理手順を示すタイミングチャート例を示す説明図である。
【図３０】図３０は、図２９で示した仕様書Ａの取り込み処理の詳細な説明を示すフローチャート（その１）である。
【図３１】図３１は、図２９で示した仕様書Ａの取り込み処理の詳細な説明を示すフローチャート（その２）である。
【図３２】図３２は、図２９で示した仕様書Ｂの取り込み処理の詳細な説明を示すフローチャート（その１）である。
【図３３】図３３は、図２９で示した仕様書Ｂの取り込み処理の詳細な説明を示すフローチャート（その２）である。
【図３４】図３４は、図２９で示したサーブレットおよびＪＳＰのファイルの生成・表示処理の詳細な説明を示すフローチャート（その１）である。
【図３５】図３５は、図２９で示したサーブレットおよびＪＳＰのファイルの生成・表示処理の詳細な説明を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、本発明にかかる情報処理装置、判定プログラム、および判定方法の実施の形態を詳細に説明する。
【００１４】
図１は、情報処理装置による一動作例を示す説明図である。情報処理装置１００は、例えば、開発対象のシステムの仕様書間の差異を特定するコンピュータである。仕様書とは、システムの仕様を規定する電子データである。開発対象のシステムは、例えば、Ｗｅｂシステムである。
【００１５】
ここで、提案書と要件定義書によってシステムに関する外部仕様や内部仕様などが定まる。提案書とは、例えば、システム開発に関する基本的な事項について、顧客との認識を一致させるためであったり、顧客に提案を採用してもらいシステムの開発の案件を受注するためにシステムの範囲、開発や受注の範囲などが記載される文書である。要件定義書とは、例えば、システム化の対象領域、システムの概念、システム構成、業務フロー、作業定義、機能要求、入出力要求、データ項目とデータベースの要求、セキュリティ要求、性能要求・品質要求などが記載される。
【００１６】
そして、システムを開発する際に、開発者は、外部仕様や内部仕様などにより規定する内容に応じて複数の仕様書を記述する。仕様書は、例えば、システムのユーザインターフェースに関する仕様書、システムのデータベースやデータに関する仕様書、システムの機能に関する仕様書などがある。例えば、仕様書は、規定される内容に応じた記述方法によって記述される。例えば、表形式で記述される仕様書や図形が配置された仕様書などが挙げられる。また、仕様書間については項目内容情報の整合性が担保されていることが前提となる。例えば、一つの仕様書内に画面名が規定され、他の仕様書内に画面名が規定される場合に、異なる仕様書間について画面名の整合性が担保されていることとする。
【００１７】
しかしながら、開発対象のシステムの内部仕様や外部仕様について作成される異なる仕様書間の差異を特定することが困難な場合がある。例えば、仕様書間の記述方法が異なると、一つの仕様書の記述に対して他の仕様書のいずれの記述が対応しているかなどの仕様書間の対応関係が分からないため、仕様書間を比較することが困難である。また、仕様書間の差異は、例えば、提案書や要件定義などに変更が発生した際に、開発者が一つの仕様書に対して変更を反映しても、他の仕様書に対して変更を反映することを忘れた場合などに発生する。また、仕様書間の差異は、例えば、開発者が誤入力や勘違いなどによりある仕様書の修正を間違えた場合などに発生する。
【００１８】
そこで、本実施の形態では、異なる記述方法によって作成された仕様書間の差異を特定し易くする情報処理装置１００、判定プログラム、および判定方法について説明する。
【００１９】
第１仕様書１１１と第２仕様書１１２とは、システムの仕様書である。第１仕様書１１１と第２仕様書１１２とは、開発工程のうちの同一工程に関する仕様書であってもよいし、異なる工程間における仕様書であってもよい。
【００２０】
第１仕様書は、例えば、図形と、図形に対応する位置に配置された文字情報と、が配置される。第２仕様書１１２は、例えば、項目ごとに項目内容情報が記述される。第１仕様書１１１は、例えば、ユーザインターフェースに関する仕様書とする。ユーザインターフェースに関する仕様書は、例えば、外部仕様書、画面操作方法の仕様書、画面に表示する情報に関する仕様書などである。
【００２１】
また、記憶部１０１は、図形の種類と、図形が表す項目と、を対応付けて記憶する。図形の種類は、例えば、図形の形状を表す。図形の種類としては、例えば、四角、二重四角、角丸四角、星、三角、矢印、などが挙げられる。図形が表す項目は、例えば、システムの機能、システムのユーザインターフェース、システムのデータベースやデータを表現した項目である。ユーザインターフェースを表現した項目とは、例えば、ユーザインターフェースとして用いられる部品である。本実施の形態では、例えば、この部品として画面を挙げる。また、項目は、例えば、第１仕様書１１１や第２仕様書１１２に規定される項目である。
【００２２】
図１の例では、記憶部１０１には、システムに関する画面と、画面を表す図形の種類と、が対応付けられて記憶される。そして、画面の項目内容情報は、例えば、画面を識別する識別情報である。画面を識別する識別情報は、例えば、画面ＩＤや画面名などが挙げられる。図１の例では、画面を識別する識別情報は、画面名である。また、後述する図６に示すように、例えば、記憶部１０１には、さらに、画面内のボタンと、ボタンを表す図形の種類と、が対応付けられて記憶されてもよい。
【００２３】
情報処理装置１００は、例えば、第１仕様書１１１から図形を検出する。具体的に、情報処理装置１００は、例えば、第１仕様書１１１から図形データを抽出することによって図形を検出する。図形データは、例えば、図形の位置、図形の形状、図形のサイズなどを示す。図１（１）に示すように、情報処理装置１００は、例えば、四角の図形、星の図形、三角の図形、丸の図形を検出する。また、情報処理装置１００は、例えば、第１仕様書１１１から、記憶部１０１に記憶された種類の図形を検出してもよい。このように、記憶部１０１に記憶された種類の図形だけを検出することにより検出時間の短縮を図ることができる。情報処理装置１００は、記憶部１０１に記憶された種類の図形だけを検出する場合、第１仕様書１１１から、画面を表す四角の図形を検出する。
【００２４】
つぎに、情報処理装置１００は、例えば、記憶部１０１を参照して、第２仕様書１１２のうちの検出した図形の種類に対応する項目の項目内容情報と、検出した図形に対応する第１仕様書１１１内の位置に配置された文字情報と、が一致するか否かを判定する。
【００２５】
検出した図形に対応する第１仕様書１１１内の位置は、例えば、検出した図形内の位置や検出した図形から所定距離以内の位置などである。検出した図形に対応する第１仕様書１１１内の位置は、予め定められていてもよい。ここでは、検出した図形内の位置を例に挙げて説明する。例えば、第１仕様書１１１内には、「サーチページと「注意事項」との文字情報がある。検出した図形の種類が四角である場合、情報処理装置１００は、検出した図形内にある文字情報として「サーチページ」を取得する。
【００２６】
また、検出した図形は四角の図形であるため、第２仕様書１１２のうちの検出した図形の種類に対応する項目は、例えば、画面である。そのため、情報処理装置１００は、画面を表す項目の項目内容情報として第２仕様書１１２から画面名を取得する。図１の例では、情報処理装置１００は、画面名として「トップページ」を取得する。
【００２７】
そして、情報処理装置１００は、図１（２）に示すように、文字情報である「サーチページ」と、項目内容情報である「トップページ」とが一致するか否かを判定する。具体的に、情報処理装置１００は、例えば、文字情報と項目内容情報との各先頭の文字コードから順に一致判定を行い、一致しない文字コードがある時点で、文字情報と項目内容情報とが一致しないと判定してもよい。また、情報処理装置１００は、文字情報と項目内容情報との各先頭の文字コードから順に一致判定を行い、すべての文字コードの判定が終了した時点で、一致しない文字コードがある場合、文字情報と項目内容情報とが一致しないと判定してもよい。
【００２８】
図１の例では、情報処理装置１００は、文字情報である「サーチページ」と、項目内容情報である「トップページ」とが一致しないと判定する。そして、情報処理装置１００は、判定した結果を出力する。出力形式としては、記憶装置への出力、情報処理装置１００が有するディスプレイへの出力などが挙げられる。情報処理装置１００は、例えば、図１（３）に示すように、画面名が一致しないことを示す画面を出力してもよい。
【００２９】
このように、本実施の形態では、情報処理装置１００は、開発対象のシステムの仕様に関する項目と、当該項目を表す図形の種類とを対応付けておき、第１仕様書から検出した図形内に配置された文字情報と、該図形に対応する第２仕様書内の仕様項目の項目内容情報との一致を判定し結果を出力する。これにより、異なる仕様書間における同一項目の項目内容情報についての一致または不一致が判別可能となり、仕様書間の差異の特定の容易化を図ることができる。このため、システム開発の上流工程において、仕様書の不備を発見でき、仕様書の不備による手戻りを抑えて開発作業を円滑に進めることができる。
【００３０】
また、図１に示すように、開発対象のシステムで用いられる画面を項目として記憶部１０１に定義することにより、画面に関する仕様書間の差異の特定の容易化を図ることができる。なお、図１では、項目が画面を表す例を挙げたが、これに限らない。例えば、項目がアイコンを表す項目を含む場合に、項目内容情報は、アイコンをクリックした場合の遷移先のアプリケーションを識別する識別情報としてもよい。このように、第１仕様書１１１は、画面に限らず、図形を用いて記述可能であればよい。
【００３１】
（情報処理装置１００のハードウェア構成例）
図２は、情報処理装置のハードウェア構成例を示す説明図である。情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、ディスクドライブ２０４と、ディスク２０５と、を有する。情報処理装置１００は、Ｉ／Ｆ（Ｉｎｔｅｒ／Ｆａｃｅ）２０６と、キーボード２０７と、マウス２０８と、ディスプレイ２０９と、を有する。また、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ディスクドライブ２０４と、Ｉ／Ｆ２０６と、キーボード２０７と、マウス２０８と、ディスプレイ２０９とは、バス２００によってそれぞれ接続される。
【００３２】
ここで、ＣＰＵ２０１は、情報処理装置１００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶する。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがってディスク２０５に対するデータのリード／ライトを制御する。ディスク２０５は、ディスクドライブ２０４の制御で書き込まれたデータを記憶する。ディスク２０５としては、磁気ディスク、光ディスクなどが挙げられる。
【００３３】
Ｉ／Ｆ２０６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（ＷｉＤｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１０に接続され、このネットワーク２１０を介して他の装置に接続される。そして、Ｉ／Ｆ２０６は、ネットワーク２１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００３４】
キーボード２０７やマウス２０８は、利用者の操作により、各種データの入力を行うインターフェースである。ディスプレイ２０９は、ＣＰＵ２０１の指示により、データを出力するインターフェースである。
【００３５】
また、図示を省略するが、情報処理装置１００には、カメラから画像や動画を取り込む入力装置やマイクから音声を取り込む入力装置が設けられていてもよい。また、図示を省略するが、情報処理装置１００には、プリンタなどの出力装置が設けられていてもよい。
【００３６】
また、本実施の形態では、情報処理装置１００のハードウェア構成として、パーソナル・コンピュータを例に挙げているが、これに限らず、サーバなどであってもよい。情報処理装置１００がサーバである場合、情報処理装置１００と利用者の操作可能な装置やディスプレイ２０９などがネットワーク２１０を介して接続されてもよい。
【００３７】
（情報処理装置１００の機能的構成例）
図３は、情報処理装置の機能的構成例を示すブロック図である。情報処理装置１００は、第１取り込み部３０１と、第２取り込み部３０２と、判定部３０３と、生成部３０４と、出力部３０５と、記憶部１０１と、を有する。第１取り込み部３０１から出力部３０５までの制御部の処理は、例えば、図２に示すＣＰＵ２０１がアクセス可能なＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などの記憶装置に記憶されたプログラムにコーディングされている。そして、ＣＰＵ２０１が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部の処理が実現される。また、制御部の処理結果は、例えば、ＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などの記憶装置に記憶される。
【００３８】
記憶部１０１は、ＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などの記憶装置に記憶される。記憶部１０１は、例えば、図形の種類と、図形が表す項目と、を対応付けた対応情報３２１を記憶する。対応情報３２１の詳細例は、図６を用いて後述する。
【００３９】
第１取り込み部３０１は、仕様書Ａを取り込む処理を行う。第２取り込み部３０２は、仕様書Ｂを取り込む処理を行う。仕様書Ａと仕様書Ｂとは同一の開発対象のシステムについての仕様書である。仕様書Ａは、例えば、複数の項目の項目内容情報が表形式で記述された第２仕様書１１２である。仕様書Ｂは、例えば、図形と、図形に対応する位置に配置された文字情報と、が配置された第１仕様書１１１である。
【００４０】
仕様書Ａと仕様書Ｂとは、開発工程において同一の工程であってもよいし、別の工程であってもよい。例えば、仕様書Ａを作成する利用者と仕様書Ｂを作成する利用者とは同じ人であってもよいし、別の人であってもよい。仕様書Ａは、例えば、システムのデータベースやデータに関する仕様書である。仕様書Ｂは、例えば、ユーザインターフェースに関する仕様書である。
【００４１】
図４は、仕様書Ａの一例を示す説明図である。仕様書Ａは、例えば、開発対象のシステムにおいて表示される画面ごとのＪＳＰ（ＪａｖａＳｅｒｖｅｒ  Ｐａｇｅｓ）やサーブレットのファイルの一覧が表形式によって記述される。仕様書Ａは、例えば、表形式で記述される。仕様書Ａは、画面ＩＤ、画面名、ＪＳＰ名、ＳＥＲＶＬＥＴ名、遷移先画面ＩＤ、備考のフィールドを有する。各フィールドに設定される情報が、項目内容情報である。また、各フィールドに情報が設定されることにより、レコード（４００−１〜４００−６）として記憶される。
【００４２】
レコード４００−１を例に挙げると、画面ＩＤは「１」であり、画面名は「ログイン」である。そして、ＪＳＰ名は「Ｌｏｇｉｎ．ｊｓｐ」であり、ＳＥＲＶＬＥＴ名は「Ｌｏｇｉｎ．ｊａｖａ」であり、遷移先画面ＩＤは「２」であり、備考は空である。
【００４３】
図５は、仕様書Ｂの一例を示す説明図である。仕様書Ｂは、例えば、開発対象のシステムにおいて表示される画面の遷移を表す。仕様書Ｂは、例えば、図６に示す図形の種類と項目とを対応付けた対応情報３２１に基づいて、各図形が配置されることにより作成される。
【００４４】
図６は、図形の種類と項目とを対応付けた例を示す説明図である。対応情報３２１は、例えば、図形のパーツと、仕様項目と、が対応付けて記憶部１０１に記憶される。図形のパーツは、例えば、図形の種類を示す。図形の種類とは、四角、二重四角、矢印のように図形の形状を表す。また、例えば、四角の場合に、長方形、正方形、台形などのように区別してもよい。
【００４５】
仕様項目は、上述したように、図形が表す項目である。図形が表す項目は、例えば、システムの機能、システムのユーザインターフェース、システムのデータベースやデータを表現した項目である。また、仕様項目は、例えば、仕様書Ａや仕様書Ｂに規定される項目である。
【００４６】
例えば、対応情報３２１は、画面と、画面を表す図形の種別と、を対応付けて記憶する。対応情報３２１によれば、図形のパーツが四角の場合、仕様項目は開発対象システムの画面を表す。また、例えば、対応情報３２１は、さらに、ボタンと、ボタンを表す図形の種別と、を対応付けて記憶する。図形のパーツが二重四角の場合、仕様項目は画面内に配置されるボタンを表す。
【００４７】
図形のパーツが矢印（始点）の場合、ボタンを含む画面である遷移元画面を表す。図形のパーツが矢印（終点）の場合、項目は、ボタンを押下した場合の遷移先画面を表す。図形のパーツが四角内文字（「）」）の左側）の場合、項目は画面ＩＤを表す。図形のパーツが四角内文字（「）」）の右側）の場合、項目は画面名を表す。画面ＩＤや画面名は、画面を識別する識別情報である。図形のパーツが二重四角内文字の場合、項目はボタン名を表す。ボタン名は、ボタンを識別する識別情報である。
【００４８】
図５の説明に戻って、仕様書Ｂは、例えば、「ログイン画面」に「ログインボタン」があり、「ログイン画面」から「製品いｔらん画面」に遷移することを示す。
【００４９】
図３に示す第１取り込み部３０１は、対応情報３２１を参照して、仕様書Ａから、項目の項目内容情報を取得する。具体的に、第１取り込み部３０１は、例えば、仕様書Ａから、画面ごとに、画面ＩＤ、画面名、ＪＳＰ名、ＳＥＲＶＬＥＴ名、遷移先画面ＩＤなどの項目の項目内容情報を取得する。取得した結果は、図７（１）に示す。そして、第１取り込み部３０１は、仕様書Ａから、画面ごとに遷移先画面ＩＤを取得する。取得した結果は、図７（２）に示す。
【００５０】
つぎに、第１取り込み部３０１は、仕様書Ａに記載の不備があるか否かを判定する。第１取り込み部３０１は、例えば、仕様書Ａについて、記述ルールに合致するか否かに基づいて、記載不備があるか否かを判定する。以下記述ルール（１）〜（４）などに一例を挙げる。
記述ルール（１）：サーブレットのファイル名の先頭の文字は大文字とする。
記述ルール（２）：サーブレットのファイル名の拡張子は「ｊａｖａ」（登録商標）とする。
記述ルール（３）：ＪＳＰのファイル名の先頭の文字は大文字とする。
記述ルール（４）：ＪＳＰのファイル名の拡張子は「ｊｓｐ」とする。
【００５１】
図７は、仕様書Ａの取り込み結果例を示す説明図である。取り込み結果７０１と取り込み結果７０２とは、ＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などの記憶装置に記憶される。図７（１）に示すように、取り込み結果７０１は、画面ごとに、画面ＩＤ、画面名、ＪＳＰ名、ＳＥＲＶＬＥＴ名、遷移先画面数のフィールドを有する。各フィールドに取得した情報が設定されることにより画面情報（例えば、７１１−１〜７１１−６など）が記憶される。取り込み結果７０１は、ＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などの記憶装置によって実現される。
【００５２】
図７（２）に示すように、取り込み結果７０２は、画面ごとに、画面ＩＤ、遷移先画面ＩＤのフィールドを有する。各フィールドに取得した情報が設定されることにより遷移先情報７１２（例えば、７１２−１〜７１２−８など）が記憶される。取り込み結果７０２は、ＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などの記憶装置によって実現される。
【００５３】
図８は、仕様書Ａの記載不備表示例を示す説明図である。表示画面８００は、仕様書Ａの記載不備を表示する例である。画面ＩＤが「５」の場合、ＳＥＲＶＬＥＴ名の拡張子が「ｊｓｐ」であるため、仕様書Ａには、記載不備がある。画面ＩＤが６の場合、ＳＥＲＶＬＥＴ名の先頭文字が小文字であるため、仕様書Ａには、記載不備がある。そして、第１取り込み部３０１は、記載不備を出力する。
【００５４】
図３に示す第２取り込み部３０２は、仕様書Ｂの取り込みを行う。具体的に、第２取り込み部３０２は、検出部３１１と、取得部３１２と、を有する。
【００５５】
検出部３１１は、仕様書Ｂから図形を検出する。また、検出部３１１は、例えば、仕様書Ｂから、対応情報３２１に記憶された種類の図形だけを検出してもよい。また、例えば、画面内のボタンを表す図形があるにも関わらず、画面を表す図形が無い場合、仕様書Ｂには不備がある。このため、検出部３１１は、画面を表す図形を検出した後に、検出した図形に対応するボタンを検出してもよい。ボタンと矢印も同様に、矢印があるにも関わらず、ボタンを表す図形が矢印の始点に接していない場合、仕様書Ｂには不備がある。このため、検出部３１１は、ボタンを表す図形を検出した後に、検出した図形に始点が接する矢印を検出してもよい。このように、検出順を定めることにより、検出を効率よく行うことができる。
【００５６】
そして、取得部３１２は、例えば、検出した図形に対応する仕様書Ｂ内の位置に配置された文字情報を取得する。例えば、検出部３１１によって検出された図形が画面を表す場合、文字情報は、対応情報３２１によれば、例えば、四角内文字「）」の左側に記載された文字情報や四角内文字「）」の右側に記載された文字情報である。
【００５７】
取得部３１２は、例えば、検出した四角内の文字「）」の左側に記載された文字情報を画面ＩＤとして取得する。そして、取得部３１２は、検出した四角内の文字「）」の右側に記載された文字情報を画面名として取得する。ここで、出力部３０５は、取得部３１２によって画面ＩＤや画面名を取得できない場合、記載不備として、画面ＩＤや画面名を取得できないこと示す情報を出力する。
【００５８】
また、例えば、対応情報３２１のように、項目が画面に含まれるボタンを表す項目を含む。検出部３１１は、例えば、仕様書Ｂから二重四角の図形を、画面内のボタンとして検出する。そして、取得部３１２は、検出部３１１によって検出された図形がボタンを表す場合に、ボタンに対応する仕様書Ｂ内の位置に配置された文字情報を取得する。対応情報３２１によれば、ボタンに対応する仕様書Ｂ内の位置は、ボタン内の位置である。
【００５９】
また、検出部３１１は、例えば、四角の図形を検出した場合、検出した図形に対応する仕様書Ｂ内の位置に配置された二重四角の図形を検出してもよい。検出した四角の図形に対応する仕様書Ｂ内の位置は、四角の図形内の位置である。対応情報３２１に示すように、二重四角の図形はボタンを表す。これにより、複数の画面が、仕様書Ｂ内に定義されている場合に、画面ごとに画面内に含まれるボタンを検出することができる。このように、検出部３１１は、例えば、検出した四角の図形内に配置された二重四角の図形を画面に含まれるボタンとして検出する。
【００６０】
取得部３１２は、検出した二重四角の図形に対応する仕様書Ｂ内の位置に配置された文字情報を取得する。例えば、対応情報３２１によれば、検出した二重四角の図形に対応する仕様書Ｂ内の位置に配置された文字情報は、二重四角の図形内に配置された文字情報である。ここで、取得部３１２は、取得した文字情報をボタン名として取得する。ここで、出力部３０５は、取得部３１２によって文字情報を取得できない場合、仕様書Ｂの記載不備を出力する。
【００６１】
また、例えば、対応情報３２１のように、項目が画面に含まれるボタンを押下した場合の遷移先を表す項目を含む。検出部３１１は、仕様書Ｂから矢印の図形を検出する。さらに、検出部３１１は、検出した矢印の図形に接する仕様書Ｂ内の位置に配置された画面を表す四角の図形を検出する。ここで、検出される四角の図形は、ボタンを押下した場合に新たに表示される遷移先の画面を表す。そして、取得部３１２は、検出した四角の図形に対応する仕様書Ｂ内の位置に配置された文字情報を取得する。
【００６２】
具体的に、検出部３１１は、例えば、検出した二重四角の図形に対応する仕様書Ｂ内の位置に配置された矢印の図形を検出する。より具体的に、検出部３１１は、例えば、検出した二重四角の図形に始点が接する仕様書Ｂ内の位置に配置された矢印の図形を検出する。そして、検出部３１１は、例えば、検出した矢印の図形の終点に接する仕様書Ｂ内の位置に配置された四角の図形を検出する。
【００６３】
そして、取得部３１２は、例えば、検出した矢印の図形の終点に接する検出した四角の図形に対応する仕様書Ｂ内の位置に配置された文字情報を取得する。上述したように、取得部３１２は、例えば、検出した四角内の文字「）」の左側に記載された文字情報を画面ＩＤとして取得する。そして、取得部３１２は、検出した四角内の文字「）」の右側に記載された文字情報を画面名として取得する。ここで、取得部３１２は、検出した矢印の図形の終点に接する検出した四角の図形について取得した文字情報を、遷移先画面ＩＤとして取得する。
【００６４】
図９は、仕様書Ｂの取り込み結果例を示す説明図である。図９（１）に示すように、取り込み結果９０１は、画面ごとに、取得された画面ＩＤ、取得された画面名、検出されたボタンの数のフィールドを有する。各フィールドに取得した情報が設定されることにより画面情報（例えば、９１１−１〜９１１−６など）が記憶される。取り込み結果９０１は、ＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などの記憶装置によって実現される。
【００６５】
また、図９（２）に示すように、取り込み結果９０２は、画面ごとに、検出した画面ＩＤ、検出されたボタン名に応じた遷移先画面ＩＤのフィールドを有する。ボタン名に応じた遷移先画面ＩＤとは、ボタンを押下した場合に遷移する遷移先の画面を識別する識別情報である。各フィールドに取得した情報が設定されることによりボタン情報９１２（９１２−１〜９１２−１０）が記憶される。取り込み結果９０２は、ＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などの記憶装置によって実現される。
【００６６】
図１０は、仕様書Ｂの記載不備表示例を示す説明図である。表示画面１０００は、仕様書Ｂの記載不備を表示する例である。画面ＩＤが５の画面が複数あるという仕様書Ｂの記載不備がある。また、画面ＩＤが５の画面には、ボタン名が設定されていないボタンがあるという仕様書Ｂの記載不備があることを示す。出力部３０５は、表示画面１０００をディスプレイ２０９などに表示する。
【００６７】
つぎに、判定部３０３は、記憶部１０１を参照して、システムに関する第２仕様書１１２のうちの検出した図形の種類に対応付けられた項目の項目内容情報と、検出した図形に対応する第１仕様書１１１内の位置に配置された文字情報と、が一致するか否かを判定する。出力部３０５は、判定した結果を出力する。
【００６８】
図１１は、仕様書Ａの取り込み結果から一つの画面情報を処理対象とする例を示す説明図である。図１１には、画面ＩＤが１である画面情報７１１−１を処理対象とする例を示す。
【００６９】
そして、図３に示す生成部３０４は、処理対象として取得した画面情報７１１に基づいて、表示画面の画面情報を生成する。ここで生成される表示画面の画面情報は、例えば、表示画面情報と称する。表示画面情報は、例えば、表示画面を生成可能なＨＴＭＬのファイルやＪＳＰのファイルなどである。後述するように、表示画面において画面遷移を模擬する場合、表示画面情報は、ＪＳＰのファイルとする。そして、生成部３０４は、ＪＳＰのファイルと共に、ＪＳＰのファイルを呼び出すプログラムであるサーブレットのファイルを生成する。ＪＳＰのファイルを識別する識別情報は、例えば、画面情報７１１に含まれるＪＳＰ名である。また、サーブレットのファイルを識別する識別情報は、例えば、画面情報７１１に含まれるＳＥＲＶＬＥＴ名である。
【００７０】
図１２は、画面情報に応じたＪＳＰ生成結果例を示す説明図である。生成部３０４は、処理対象とする画面情報７１１に含まれるＪＳＰ名のＪＳＰのファイルを生成する。ここでは、ＪＳＰのファイルの基本的な内容が記述されたテンプレートなどを用意しておき、生成部３０４は、テンプレートの内容と同一内容のＪＳＰのファイルを生成する。
【００７１】
図１３は、画面情報に応じたサーブレット生成結果例を示す説明図である。生成部３０４は、画面情報７１１に含まれるサーブレット名のサーブレットのファイルを生成する。ここでは、サーブレットのファイルの基本的な内容が記述されたテンプレートなどを用意しておき、生成部３０４は、テンプレートの内容と同一内容のサーブレットのファイルを生成する。
【００７２】
そして、生成部３０４は、サーブレットのファイルに含まれる「ＣＬＡＳＳ＿ＮＡＭＥ」に、画面情報７１１に含まれる画面名である「Ｌｏｇｉｎ」を書き込む。生成部３０４は、サーブレットのファイルに含まれる「ＦｏｗａｒｄＪＳＰ」に、生成したＪＳＰのファイルの保存先およびファイル名である「／ｊｓｐ／Ｌｏｇｉｎ．ｊｓｐ」を書き込む。
【００７３】
具体的に、判定部３０３は、例えば、画面情報７１１に含まれる画面ＩＤが仕様書Ｂの取り込み結果９０１に含まれるか否かを判定する。
【００７４】
図１４は、仕様書Ａと仕様書Ｂとの画面ＩＤの一致判定例を示す説明図である。判定部３０３は、例えば、仕様書Ａに含まれる画面ＩＤの「６」が仕様書Ｂの取り込み結果９０１に含まれないため、画面ＩＤの「６」については一致しないと判定する。そのため、出力部３０５は、例えば、仕様書Ｂに画面ＩＤの「６」の情報が無いことを出力する。画面１４００では、仕様書Ｂに画面ＩＤが「６」の情報が無いことを示す。
【００７５】
判定部３０３は、例えば、仕様書Ａの取り込み結果７０１の画面情報７１１−１に含まれる画面ＩＤの「１」が、仕様書Ｂの取り込み結果９０１の画面情報９１１−１に含まれるため、画面ＩＤが一致すると判定する。
【００７６】
図１５は、画面ＩＤが仕様書Ａと仕様書Ｂとで一致しない例を示す説明図である。生成部３０４は、画面ＩＤの「１」を、画面情報７１１−１について生成したサーブレットのファイルに設定する。画面情報７１１−１について生成したサーブレットのファイルは、「Ｌｏｇｉｎ．ｊａｖａ」である。これにより、画面ＩＤが仕様書Ａと仕様書Ｂとで一致していることを利用者が判別可能な表示画面を表示させることができる。
【００７７】
つぎに、判定部３０３は、例えば、仕様書Ａについての画面情報７１１に含まれる画面ＩＤと、仕様書Ｂについての画面情報９１１に含まれる画面ＩＤとが一致するか否かを判定する。これにより、判定部３０３は、仕様書Ａのうちの検出した図形に対応する記憶部１０１に記憶された項目の項目内容情報と、検出した図形に対応する仕様書Ｂ内の位置に配置された文字情報と、が一致するか否かを判定する。
【００７８】
判定部３０３は、仕様書Ａについての画面情報７１１に含まれる画面ＩＤと、仕様書Ｂについての画面情報９１１に含まれる画面ＩＤとが一致する場合、項目の項目内容情報と文字情報とが一致すると判定する。判定部３０３は、仕様書Ａについての画面情報７１１に含まれる画面ＩＤと、仕様書Ｂについての画面情報９１１に含まれる画面ＩＤとが一致しない場合、項目の項目内容情報と文字情報とが一致しないと判定する。
【００７９】
上述例では、画面ＩＤや画面名に関する一致判定を行っているが、これに限らず、ボタンを表す項目の項目内容情報として、ボタンを識別する識別情報が仕様書Ａに記述され、ボタンの識別情報に関する仕様書間の一致判定を行ってもよい。
【００８０】
生成部３０４は、文字情報と項目の項目内容情報とが一致すると判定した場合、画面を識別する識別情報を、画面内に配置した表示画面の表示画面情報を生成する。ここでの表示画面は第１画面である。一方、生成部３０４は、文字情報と項目の項目内容情報とが一致しないと判定した場合、文字情報と項目の項目内容情報との不一致を示す情報を、画面内に配置した表示画面の表示画面情報を生成する。
【００８１】
そして、出力部３０５は、表示画面情報を出力する。出力部３０５は、例えば、表示画面情報をＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などの記憶装置に記憶させる。また、出力部３０５は、例えば、表示画面情報であるＪＳＰのファイルを実行して表示画面をディスプレイ２０９に表示する。また、出力部３０５は、例えば、サーブレットのファイルを実行することによりＪＳＰのファイルが呼び出されて、ＪＳＰのファイルを実行することにより表示画面をディスプレイ２０９に表示する。
【００８２】
生成部３０４は、画面を識別する識別情報を、画面を表す検出した図形における取得した文字情報の位置に対応する画面内の位置に配置した表示画面の画面情報を生成する。ここでは、画面を識別する識別情報として画面名を表示画面に配置する例を挙げる。例えば、取得した文字情報の位置に対応する位置とは、仕様書Ｂ内における画面を表す図形における画面名の位置と、相対的に一致するような画面内の位置である。例えば、仕様書Ｂ内における画面を表す図形における画面名の位置が、左上にあれば、生成部３０４は、表示画面において画面名を左上に配置する。
【００８３】
図１６は、画面名が一致しない場合のＪＳＰのファイルへの書き込み例を示す説明図である。仕様書Ａについての画面情報７１１−２に含まれる画面名が「製品一覧」であるのに対し、仕様書Ｂについての画面情報９１１−２に含まれる画面名が「製品いｔらん」である。このため、判定部３０３は、仕様書Ａから取得した項目の項目内容情報と、仕様書Ｂから取得した文字情報と、が一致しないと判定する。
【００８４】
また、仕様書Ａについての画面情報７１１−５に含まれる画面名が「製品情報参照」であるのに対して、仕様書Ｂについての画面情報９１１−６に含まれる画面名が「エラー画面」である。このため、判定部３０３は、画面名について、仕様書Ａについての項目の項目内容情報と、仕様書Ｂについての文字情報とが一致しないと判定する。
【００８５】
そして、出力部３０５は、一致しないことを示す表示画面１６００を出力する。表示画面１６００には、画面ＩＤが「２」の場合に画面名が不一致であることを示す文字情報と、画面ＩＤが「５」の場合に画面名が不一致であることを示す文字情報と、を含む。
【００８６】
また、生成部３０４は、例えば、画面名について仕様書Ａと仕様書Ｂとの間で一致しないと判定した場合、表示画面情報であるＪＳＰのファイルに、画面名が一致しないことを示す文字情報を、タイトルおよびコメント記述として書き込む。
【００８７】
また、生成部３０４は、例えば、一致しないことを示す文字情報を強調した表示画面のＪＳＰのファイルを生成する。一致しないことを示す情報は、例えば、「●●●●」である。具体的に、生成部３０４は、例えば、一致しないことを示す文字情報を強調するために、一致しないことを示す情報の表示色を他の情報の表示色と異なる色に設定する。また、生成部３０４は、例えば、一致しないことを示す文字情報を強調するために、一致しないことを示す情報の背景色を他の情報の背景色と異なる色に設定する。また、生成部３０４は、例えば、一致しないことを示す文字情報を強調するために、一致しないことを示す情報のフォントを他の情報のフォントと異なるフォントに設定する。
【００８８】
また、図１６の例では、生成部３０４は、例えば、「●●●●」を赤色で表示するようにＪＳＰのファイルに設定する。出力部３０５は、生成部３０４によって生成されたＪＳＰのファイルの実行によって得られる表示画面をディスプレイ２０９に表示する。
【００８９】
図１７は、画面名が一致する場合のＪＳＰのファイルへの書き込み例を示す説明図である。判定部３０３は、仕様書Ａについての画面情報７１１−１に含まれる画面名と、仕様書Ｂについての画面情報９１１−１に含まれる画面名と、が一致すると判定する。生成部３０４は、画面名が一致すると判定した場合、画面名をタイトルとしてＪＳＰのファイルに書き込む。図１７の例では、生成部３０４は、「ログイン」をタイトルおよびコメント記述としてＪＳＰのファイルに書き込む。
【００９０】
図１８は、画面名が一致する場合のサーブレットのファイルへの画面名の書き込み例を示す説明図である。生成部３０４は、仕様書Ａについての画面情報７１１−１について生成したサーブレットのファイル内の「ＷｉｎｄｏｗＮａｍｅ」および「ＦｏｗａｒｄＷｉｎＮａｍｅ」として、画面名である「ログイン」を書き込む。
【００９１】
生成部３０４は、検出部３１１によって画面内にボタンが検出された場合、画面内にボタンを配置した表示画面を表示する表示画面情報を生成する。具体的に、生成部３０４は、検出部３１１によって画面内にボタンが検出された場合、ＪＳＰのファイルに、ボタンを配置するコードを書き込む。
【００９２】
図１９は、ＪＳＰのファイルへのボタンの設定例を示す説明図である。生成部３０４は、図９に示した画面情報９１１−１を参照すると、ボタン数が１つであるため、画面内に１つのボタンを配置するためのコードを書き込む。このコードは、例えば、テンプレート情報としてＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などの記憶装置に記憶される。そして、生成部３０４は、テンプレート情報に基づいて、記憶装置に記憶された該コードを書き込む。これにより、簡単にボタンが配置された表示画面の表示画面情報を生成することができる。
【００９３】
つぎに、生成部３０４は、検出した図形がボタンを表す場合に、取得した文字情報をボタン内に配置した表示ボタンを画面内に配置した表示画面の表示画面情報を生成する。ここでの文字情報は、例えば、検出した二重四角の図形に対応する仕様書Ｂ内の位置に配置された文字情報である。出力部３０５は、生成した表示画面情報を出力する。
【００９４】
また、表示画面は、例えば、ボタンを、検出した画面を表す図形における検出したボタンを表す図形の位置に対応する位置に配置されてもよい。このように、画面を表す図形におけるボタンを表す図形の位置に対応する位置とは、画面を表す図形におけるボタンを表す図形の位置と相対的に一致するような表示画面内の位置である。例えば、仕様書Ｂ内の画面を表す図形において、ボタンを表す図形が右上の位置にあれば、画面内において右上の位置にボタンを配置した表示画面とする。
【００９５】
また、生成部３０４は、仕様書Ｂについての画面情報９１１に対応するボタン情報９１２に含まれるボタン名が設定されているか否かを判定する。画面情報９１１に対応するボタン情報９１２とは、取り込み結果９０２に含まれるボタン情報９１２のうち画面ＩＤが画面情報９１１と同一であるボタン情報９１２である。生成部３０４は、例えば、ボタン名が設定されていないと判定された場合に、ボタン名が設定されていないことを示す情報をボタン内に配置した表示ボタンを画面内に配置した表示画面の表示画面情報を生成する。表示ボタンは例えば第１ボタンである。
【００９６】
図２０は、ボタン名が設定されていない場合の例を示す説明図である。具体的に、生成部３０４は、例えば、画面情報７１１に対応するボタン情報９１２にボタン名が設定されていない場合、ＪＳＰのファイルに、ボタン名が設定されていないことを示す文字情報を、ボタン名として書き込む。図２０の例では、生成部３０４は、画面ＩＤが「５」の場合にボタン名が設定されていないため、「ＰｒｏｄｕｃｔＲｅｆｅｒｅｎｃｅ．ｊｓｐ」に、ボタン名として「●●」を書き込む。
【００９７】
また、生成部３０４は、ボタン名が無いことを示す情報を強調した表示画面を表示するＪＳＰのファイルを生成してもよい。具体的に、生成部３０４は、例えば、一致しないことを示す情報の表示色を他の情報の表示色と異なる色に設定する。また、生成部３０４は、例えば、一致しないことを示す情報の背景色を他の情報の背景色と異なる色に設定する。また、生成部３０４は、例えば、一致しないことを示す情報のフォントを他の情報のフォントと異なるフォントに設定する。図２０の例では、生成部３０４は、書き込まれた「●●」が赤色で表示されるようにＪＳＰのファイルに書き込む。ボタン名が「●●」である表示画面例は、後述する図２７に示す。
【００９８】
また、出力部３０５は、ボタン名が設定されていないことを示す表示画面２０００を出力する。表示画面２０００では、画面ＩＤが「５」に無名のボタンがあることを示す情報を含む。
【００９９】
図２１は、ボタン名が設定されている場合の例を示す説明図である。出力部３０５は、例えば、ボタン名が設定されていると判定された場合に、ＪＳＰのファイルに、ボタン情報９１２に含まれるボタン名の内容を書き込む。図２１の例では、生成部３０４は、ボタン情報９１２−１に含まれるボタン名である「ログイン」をＪＳＰのファイルに設定する。これにより、ＪＳＰのファイルが実行されることにより得られる画面には、「ログイン」というボタン名が設定されたボタンが画面に含まれる。
【０１００】
図２２は、遷移先画面情報の有無の判定例を示す説明図である。判定部３０３は、例えば、仕様書Ｂについてのボタン情報９１２に含まれる遷移先画面ＩＤと、仕様書Ａについての遷移先情報７１２に含まれる遷移先画面ＩＤと、が一致するか否かを判定する。出力部３０５は、判定部３０３によって一致しないと判定された場合、一致しないことを示す画面を出力する。
【０１０１】
図２２の例では、画面ＩＤが「３」のボタン名が「登録」の場合において、ボタン情報９１２に含まれる遷移先画面ＩＤが登録されていない。そのため、判定部３０３は、ボタン情報９１２に含まれる遷移先画面ＩＤと、遷移先情報７１２に含まれる画面ＩＤとが一致しないと判定する。また、図２２の例では、画面ＩＤが「４」のボタン名が「戻る」および「更新」の場合、ボタン情報９１２に含まれる遷移先画面ＩＤが登録されていない。このため、判定部３０３は、ボタン情報９１２に含まれる遷移先画面ＩＤと、遷移先情報７１２に含まれる画面ＩＤとが一致しないと判定する。そして、図２２の例では、出力部３０５は、画面ＩＤが「３」および「４」の場合に遷移先が無いボタンがあることを示す情報を示す表示画面２２００を出力する。また、図２２の例では、出力部３０５は、画面ＩＤが「４」の場合に、仕様書Ａと仕様書Ｂとに差異があることを示す情報を示す表示画面２２００を出力する。
【０１０２】
一方、生成部３０４は、一致すると判定した場合に、遷移先画面ＩＤについての画面情報７１１からＳＥＲＶＬＥＴ名を取得する。そして、生成部３０４は、ＳＥＲＶＬＥＴ名が画面情報７１１に含まれない場合、遷移先が無いことを示す情報を判別可能な表示ボタンを配置した表示画面の表示画面情報を生成する。
【０１０３】
また、図２２の例では、判定部３０３は、画面ＩＤが「２」の「参照」の場合、ボタン情報９１２に含まれる遷移先画面ＩＤと、遷移先情報７１２に含まれる遷移先画面ＩＤとが一致すると判定する。そして、生成部３０４は、遷移先画面ＩＤである画面ＩＤが「５」の場合の画面情報７１１にＳＥＲＶＬＥＴ名が設定されていないため、画面ＩＤが「２」について遷移先が無いことを示す情報を含む表示画面の表示画面情報を生成する。
【０１０４】
図２３は、遷移先画面情報が無い場合におけるＪＳＰのファイルへの設定例を示す説明図である。具体的に、生成部３０４は、表示画面情報であるＪＳＰのファイルに、「参照」ボタンの文字情報を赤く表示する設定を書き込む。画面ＩＤが「２」の場合のＪＳＰのファイルは、「ＰｒｏｄｕｃｔＬｉｓｔ．ｊｓｐ」である。これにより、遷移先が設定されていないボタンを利用者が容易に特定することができる。
【０１０５】
また、仕様書Ａの取り込み結果７０１と、仕様書Ｂの取り込み結果７０２とによれば、「登録」ボタンや「変更」ボタンについては、遷移先画面ＩＤについてのＳＥＲＶＬＥＴ名が設定されている。このため、生成部３０４は、判定部３０３によってＳＥＲＶＬＥＴ名が設定されていると判定した場合、ＪＳＰのファイルに含まれるボタンの遷移先に、ＳＥＲＶＬＥＴ名を書き込む。図２３の例では、「登録」ボタンの押下による遷移先を示すＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）として「ＰｒｏｄｕｃｔＥｎｔｒｙ．ｊａｖａ」のファイルの在り処を示す情報が設定される。図２３の例では、「変更」ボタンの押下による遷移先を示すＵＲＬとして「ＰｒｏｄｕｃｔＭｏｄｉｆｙ．ｊａｖａ」のファイルの在り処を示す情報が設定される。
【０１０６】
また、図２２の説明に戻って、判定部３０３は、画面ＩＤが「１」の場合についてのボタン情報９１２に含まれる遷移先画面ＩＤと、遷移先情報７１２に含まれる遷移先画面ＩＤと、が一致すると判定する。そして、生成部３０４は、遷移画面ＩＤである画面ＩＤが「２」の場合の画面情報７１１に含まれるＳＥＲＶＬＥＴ名を取得する。ここでは、「ＰｒｏｄｕｃｔＬｉｓｔ．ｊａｖａ」が取得される。
【０１０７】
図２４は、遷移先画面情報がある場合におけるＪＳＰのファイルへの設定例を示す説明図である。生成部３０４は、画面ＩＤが「１」の場合のように、ＪＳＰのファイルに含まれるボタンの遷移先に、取得したＳＥＲＶＬＥＴ名を書き込む。画面ＩＤが「１」の場合におけるＪＳＰのファイルは、「Ｌｏｇｉｎ．ｊｓｐ」である。図２４の例では、ボタンの押下による遷移先を示すＵＲＬとして「ＰｒｏｄｕｃｔＬｉｓｔ．ｊａｖａ」のファイルの在り処を示す情報が設定される。
【０１０８】
図２２の説明に戻って、判定部３０３は、ボタン情報９１２に含まれる画面ＩＤについての画面情報７１１にＳＥＲＶＬＥＴ名が設定されているか否かを判定する。図２２の例では、出力部３０５は、画面ＩＤが「５」の場合、画面情報７１１にＳＥＲＶＬＥＴ名が設定されていないため、ボタン情報９１２に含まれる画面ＩＤについて遷移先が無いボタンがあることを示す情報を出力する。
【０１０９】
また、図３に示す出力部３０５は、例えば、生成部３０４によって生成された表示画面情報を出力する。出力部３０５は、例えば、生成部３０４によって生成された表示画面情報を記憶部１０１に記憶させる。出力部３０５は、例えば、生成部３０４によって生成されたサーブレットのファイルやＪＳＰのファイルを実行することにより得られる表示画面を表示する。図２５〜図２７を用いてＪＳＰのファイルの実行により得られる表示画面例を示す。
【０１１０】
図２５は、画面ＩＤが「１」の場合の表示画面例を示す説明図である。ここでは、「Ｌｏｇｉｎ．ｊａｖａ」が実行されると、「Ｌｏｇｉｎ．ｊｓｐ」が呼び出される。そして、「Ｌｏｇｉｎ．ｊｓｐ」が実行されることにより表示画面２５００が得られる。図２５の例では、仕様書Ａと仕様書Ｂとの間に差異が無い場合の表示画面２５００を示す。図２５の例では、表示画面２５００は、画面名として「ログイン」を含み、「ログイン」ボタンを含む。
【０１１１】
例えば、図２４で示したように、「ログイン」ボタンが押下されると、「ＰｒｏｄｕｃｔＬｉｓｔ．ｊａｖａ」が呼び出され、出力部３０５は、「ＰｒｏｄｕｃｔＬｉｓｔ．ｊａｖａ」を実行する。そして、「ＰｒｏｄｕｃｔＬｉｓｔ．ｊａｖａ」が実行されると、「ＰｒｏｄｕｃｔＬｉｓｔ．ｊｓｐ」が呼び出され、出力部３０５は、「ＰｒｏｄｕｃｔＬｉｓｔ．ｊｓｐ」を実行することにより表示画面２５００を出力する。
【０１１２】
図２６は、画面名が異なり遷移先画面情報が無い場合の画面例を示す説明図である。「ＰｒｏｄｕｃｔＬｉｓｔ．ｊｓｐ」が実行されることにより表示画面２６００が得られる。図２６の例では、仕様書Ａと仕様書Ｂとの間で画面名が異なり、「参照」ボタンの遷移先が無い場合の画面を示す。図２６の例では、表示画面２６００は、画面名として「●●●●」が配置され、「登録」ボタン、「変更」ボタン、「参照」ボタンが配置される。これにより、仕様書Ａと仕様書Ｂとの差異を強調して表示させることができる。
【０１１３】
図２６の例では、出力部３０５は、「参照」ボタンに下線が引かれた表示画面２６００を表示することにより、遷移先画面情報が無いボタンを強調して表示してもよい。また、強調する例としては、ボタン名に下線を引くだけでなく、上述したように遷移先画面情報があるボタンと異なる色に設定してもよいし、ボタン名を遷移先画面情報があるボタン名よりも太字に設定してもよい。
【０１１４】
図２７は、ボタン名が異なる場合の画面例を示す説明図である。ここでは、「ＰｒｏｄｕｃｔＲｅｆｅｒｅｎｃｅ．ｊｓｐ」が実行されることにより得られる表示画面２７００例を示す。図２７の例では、仕様書Ａと仕様書Ｂとの間でボタン名が異なる場合の画面を示す。図２７の例では、表示画面２７００は、画面名として「製品情報参照」を含み、「●●」ボタンを含む。これにより、仕様書Ａと仕様書Ｂとの差異を強調して表示させることができる。
【０１１５】
図２８は、記載不備および差異の有無の表示例を示す説明図である。図２８の例では、表示画面２８００は、画面ＩＤ順に、記載不備および差異の有無を示す。表示画面２８００は、例えば、画面ＩＤが「２」の場合、画面名が不一致であり、遷移先の無いボタンがあることを示す。
【０１１６】
表示画面２８００は、例えば、画面ＩＤが「３」の場合、遷移先の無いボタンがあることを示す。表示画面２８００は、例えば、画面ＩＤが「４」の場合、遷移先の無いボタンが２つあることを示し、遷移先に仕様書Ａと仕様書Ｂとの間に差異があることを示す。
【０１１７】
表示画面２８００は、例えば、画面ＩＤが「５」の場合、画面名が不一致であり、無名のボタンがあることを示す。さらに、表示画面２８００は、例えば、画面ＩＤが「５」の場合、遷移先の無いボタンが２つあることを示す。表示画面２８００は、例えば、画面ＩＤが「６」の情報が仕様書Ｂに無いことを示す。
【０１１８】
（情報処理装置１００と利用者が行う処理手順例）
図２９は、情報処理装置と利用者が行う処理手順を示すタイミングチャート例を示す説明図である。利用者は、例えば、開発者である。まず、利用者が、例えば、仕様書Ａを作成する（ステップＳ２９０１）。仕様書Ａは、例えば、第２仕様書１１２である。つぎに、利用者が、例えば、仕様書Ｂを作成する（ステップＳ２９０２）。
【０１１９】
つぎに、利用者は、仕様書Ａをアップロードする（ステップＳ２９０３）。そして、情報処理装置１００は、第１取り込み部３０１によって、仕様書Ａの取り込み処理を行う（ステップＳ２９１１）。仕様書Ａの取り込み処理の詳細なフローチャート例は図３０および図３１に示す。
【０１２０】
また、利用者は、仕様書Ｂをアップロードする（ステップＳ２９０４）。そして、情報処理装置１００は、第２取り込み部３０２によって、仕様書Ｂの取り込み処理を行う（ステップＳ２９１２）。仕様書Ｂの取り込み処理の詳細なフローチャート例は図３２および図３３に示す。
【０１２１】
情報処理装置１００は、仕様書Ａに不備があるか否かを判定する（ステップＳ２９１３）。仕様書Ａに不備があると判定された場合（ステップＳ２９１３：Ｙｅｓ）、情報処理装置１００は、出力部３０５によって仕様書Ａの不備一覧を表示する（ステップＳ２９１４）。仕様書Ａに不備が無いと判定された場合（ステップＳ２９１３：Ｎｏ）、情報処理装置１００は、ステップＳ２９１５へ移行する。利用者は、表示された仕様書Ａの不備一覧に基づいて、仕様書Ａの不備を確認する（ステップＳ２９０５）。
【０１２２】
つぎに、情報処理装置１００は、仕様書Ｂに不備があるか否かを判定する（ステップＳ２９１５）。仕様書Ｂに不備が無いと判定された場合（ステップＳ２９１５：Ｎｏ）、情報処理装置１００は、ステップＳ２９１７へ移行する。仕様書Ｂに不備があると判定された場合（ステップＳ２９１５：Ｙｅｓ）、情報処理装置１００は、仕様書Ｂの不備一覧を表示する（ステップＳ２９１６）。利用者は、表示された仕様書Ｂの不備一覧に基づいて、仕様書Ｂの不備を確認する（ステップＳ２９０６）。
【０１２３】
つぎに、情報処理装置１００は、サーブレットおよびＪＳＰのファイルの生成・表示処理を行う（ステップＳ２９１７）。利用者は、生成されたサーブレットを実行することによるシミュレーション結果を確認する（ステップＳ２９０７）。
【０１２４】
そして、情報処理装置１００は、仕様書Ａと仕様書Ｂとの間に差異があるか否かを判定する（ステップＳ２９１８）。仕様書Ａと仕様書Ｂとの間に仕様差異が無いと判定された場合（ステップＳ２９１８：Ｎｏ）、情報処理装置１００は、一連の処理を終了する。
【０１２５】
一方、仕様書Ａと仕様書Ｂとの間に仕様差異があると判定された場合（ステップＳ２９１８：Ｙｅｓ）、情報処理装置１００は、仕様書Ａと仕様書Ｂとの間の仕様差異一覧を表示し（ステップＳ２９１９）、一連の処理を終了する。利用者は、表示された仕様差異一覧に基づいて、仕様書Ａと仕様書Ｂとの間の仕様差異を確認する（ステップＳ２９０８）。
【０１２６】
図３０および図３１は、図２９で示した仕様書Ａの取り込み処理の詳細な説明を示すフローチャートである。情報処理装置１００は、仕様書Ａのうち、未選択の行があるか否かを判断する（ステップＳ３００１）。
【０１２７】
未選択の行があると判断された場合（ステップＳ３００１：Ｙｅｓ）、情報処理装置１００は、仕様書Ａのうち、未選択の行から処理対象の行を選択する（ステップＳ３００２）。情報処理装置１００は、仕様書Ａより画面ＩＤを取得する（ステップＳ３００３）。仕様書Ａでは、図４に示したように、画面ＩＤ、画面名、ＪＳＰ名、ＳＥＲＶＬＥＴ名、遷移先画面ＩＤ、備考の順に項目が記述されてある。ここでは、情報処理装置１００は、仕様書Ａより選択した行のｎ列目の項目値を、画面ＩＤとして取得する。
【０１２８】
つぎに、情報処理装置１００は、仕様書Ａより画面名を取得する（ステップＳ３００４）。ここでは、情報処理装置１００は、仕様書Ａより選択した行のｎ＋１列目の項目値を画面名として取得する。そして、情報処理装置１００は、仕様書ＡよりＪＳＰ名を取得する（ステップＳ３００５）。ここでは、情報処理装置１００は、仕様書Ａより選択した行のｎ＋２列目の項目値をＪＳＰ名として取得する。
【０１２９】
情報処理装置１００は、仕様書ＡよりＳＥＲＶＬＥＴ名を取得する（ステップＳ３００６）。ここでは、情報処理装置１００は、仕様書Ａより選択した行のｎ＋３列目の項目値をＳＥＲＶＬＥＴ名として取得する。情報処理装置１００は、画面ＩＤ、画面名、ＪＳＰ名、ＳＥＲＶＬＥＴ名に未記入があるか否かを判断する（ステップＳ３００７）。
【０１３０】
未記入が無いと判断された場合（ステップＳ３００７：Ｎｏ）、情報処理装置１００は、ステップＳ３１０１へ移行する。未記入があると判断された場合（ステップＳ３００７：Ｙｅｓ）、情報処理装置１００は、不備内容を出力し（ステップＳ３００８）、ステップＳ３１０１へ移行する。
【０１３１】
情報処理装置１００は、画面ＩＤ、画面名、ＪＳＰ名、ＳＥＲＶＬＥＴ名に重複があるか否かを判断する（ステップＳ３１０１）。画面ＩＤ、画面名、ＪＳＰ名、ＳＥＲＶＬＥＴ名に重複があると判断された場合（ステップＳ３１０１：Ｙｅｓ）、情報処理装置１００は、不備内容を出力する（ステップＳ３１０２）。画面ＩＤ、画面名、ＪＳＰ名、ＳＥＲＶＬＥＴ名に重複が無いと判断された場合（ステップＳ３１０１：Ｎｏ）、情報処理装置１００は、ステップＳ３１０３へ移行する。
【０１３２】
情報処理装置１００は、画面ＩＤ、ＪＳＰ名、ＳＥＲＶＬＥＴ名が半角英数字で記入されているか否かを判定する（ステップＳ３１０３）。画面ＩＤ、ＪＳＰ名、ＳＥＲＶＬＥＴ名が半角英数字で記入されていると判定された場合（ステップＳ３１０３：Ｙｅｓ）、情報処理装置１００は、ステップＳ３１０５へ移行する。一方、画面ＩＤ、ＪＳＰ名、ＳＥＲＶＬＥＴ名の少なくともいずれかが半角英数字で記入されていないと判定された場合（ステップＳ３１０３：Ｎｏ）、情報処理装置１００は、不備内容を出力する（ステップＳ３１０４）。
【０１３３】
情報処理装置１００は、ＪＳＰ名、ＳＥＲＶＬＥＴ名が大文字英字で始まっているか否かを判定する（ステップＳ３１０５）。ＪＳＰ名、ＳＥＲＶＬＥＴ名が大文字英字で始まっていると判定された場合（ステップＳ３１０５：Ｙｅｓ）、情報処理装置１００は、ステップＳ３００１へ戻る。ＪＳＰ名、ＳＥＲＶＬＥＴ名の少なくともいずれかが大文字英字で始まっていないと判定された場合（ステップＳ３１０５：Ｎｏ）、情報処理装置１００は、不備内容を出力し（ステップＳ３１０６）、ステップＳ３００１へ戻る。
【０１３４】
ステップＳ３００１において、未選択の行が無いと判断された場合（ステップＳ３００１：Ｎｏ）、情報処理装置１００は、一連の処理を終了する。
【０１３５】
図３２および図３３は、図２９で示した仕様書Ｂの取り込み処理の詳細な説明を示すフローチャートである。情報処理装置１００は、画面に対応する四角の図形を検出する（ステップＳ３２０１）。情報処理装置１００は、未処理の四角の図形があるか否かを判断する（ステップＳ３２０２）。
【０１３６】
未処理の四角の図形があると判断された場合（ステップＳ３２０２：Ｙｅｓ）、情報処理装置１００は、未処理の四角から処理対象の四角の図形を選択する（ステップＳ３２０３）。そして、情報処理装置１００は、選択した四角の図形内に画面ＩＤが記載されているか否かを判定する（ステップＳ３２０４）。ここでは、情報処理装置１００は、四角の図形内の「）」の左側に文字情報があるか否かを判断する。
【０１３７】
画面ＩＤが記載されていないと判断された場合（ステップＳ３２０４：Ｎｏ）、情報処理装置１００は、ステップＳ３２０８へ移行する。一方、画面ＩＤが記載されていると判断された場合（ステップＳ３２０４：Ｙｅｓ）、情報処理装置１００は、四角の図形内に配置された画面ＩＤに対応する文字情報を取得する（ステップＳ３２０５）。
【０１３８】
つぎに、情報処理装置１００は、選択した四角の図形内に画面名が記載されているか否かを判断する（ステップＳ３２０６）。ここでは、情報処理装置１００は、四角の図形内の「）」の右側に文字情報があるか否かを判断する。画面名が記載されていると判断された場合（ステップＳ３２０６：Ｙｅｓ）、情報処理装置１００は、四角の図形内から画面名に対応する文字情報を取得し（ステップＳ３２０７）、ステップＳ３３０１へ移行する。
【０１３９】
画面名が記載されていないと判断された場合（ステップＳ３２０６：Ｎｏ）、情報処理装置１００は、不備内容を出力し（ステップＳ３２０８）、ステップＳ３３０１へ移行する。
【０１４０】
つぎに、情報処理装置１００は、四角の図形（画面）内にボタンを表す二重四角の図形が配置されているか否かを判断する（ステップＳ３３０１）。二重四角の図形が配置されていないと判断された場合（ステップＳ３３０１：Ｎｏ）、情報処理装置１００は、ステップＳ３２０２へ戻る。二重四角の図形が配置されていると判断された場合（ステップＳ３３０１：Ｙｅｓ）、情報処理装置１００は、未処理の二重四角の図形があるか否かを判断する（ステップＳ３３０２）。
【０１４１】
未処理の二重四角の図形が無いと判断された場合（ステップＳ３３０２：Ｎｏ）、情報処理装置１００は、ステップＳ３２０２へ戻る。未処理の二重四角の図形があると判断された場合（ステップＳ３３０２：Ｙｅｓ）、情報処理装置１００は、未処理の二重四角の図形から処理対象の二重四角の図形を選択する（ステップＳ３３０３）。
【０１４２】
つぎに、情報処理装置１００は、ボタンを表す二重四角の図形内にボタン名が記載されているか否かを判断する（ステップＳ３３０４）。二重四角の図形内にボタン名が記載されていると判断された場合（ステップＳ３３０４：Ｙｅｓ）、情報処理装置１００は、二重四角の図形内のボタン名に対応する文字情報を取得し（ステップＳ３３０５）、ステップＳ３３０７へ移行する。
【０１４３】
二重四角の図形内にボタン名が記載されていないと判断された場合（ステップＳ３３０４：Ｎｏ）、情報処理装置１００は、不備内容を出力し（ステップＳ３３０６）、ステップＳ３３０７へ移行する。つぎに、情報処理装置１００は、ボタンを表す二重四角の図形に矢印の図形の始点が接しているか否かを判断する（ステップＳ３３０７）。
【０１４４】
ボタンを表す二重四角の図形に矢印の図形の始点が接していないと判断された場合（ステップＳ３３０７：Ｎｏ）、情報処理装置１００は、ステップＳ３３１０へ移行する。ボタンを表す二重四角の図形に矢印の図形の始点が接していると判断された場合（ステップＳ３３０７：Ｙｅｓ）、情報処理装置１００は、矢印の図形の終点が画面を表す四角の図形に接しているか否かを判断する（ステップＳ３３０８）。
【０１４５】
矢印の図形の終点が画面を表す四角の図形に接していると判断された場合（ステップＳ３３０８：Ｙｅｓ）、情報処理装置１００は、遷移先画面情報を取得し（ステップＳ３３０９）、ステップＳ３３０２へ戻る。ここでは、情報処理装置１００は、矢印の図形の終点が接する四角の図形が表す画面についての画面情報を取得する。一方、矢印の図形の終点が画面を表す四角の図形に接していないと判断された場合（ステップＳ３３０８：Ｎｏ）、情報処理装置１００は、不備内容を出力し（ステップＳ３３１０）、ステップＳ３３０２へ戻る。
【０１４６】
ステップＳ３２０２において、未処理の四角の図形が無いと判断された場合（ステップＳ３２０２：Ｎｏ）、情報処理装置１００は、一連の処理を終了する。
【０１４７】
図３４および図３５は、図２９で示したサーブレットおよびＪＳＰのファイルの生成・表示処理の詳細な説明を示すフローチャートである。情報処理装置１００は、仕様書Ａに未処理の画面ＩＤがあるか否かを判断する（ステップＳ３４０１）。仕様書Ａに未処理の画面ＩＤがあると判断された場合（ステップＳ３４０１：Ｙｅｓ）、情報処理装置１００は、未処理の画面ＩＤから処理対象の画面ＩＤを選択する（ステップＳ３４０２）。
【０１４８】
つぎに、情報処理装置１００は、選択した画面ＩＤを含む仕様書Ａの１画面情報を取得する（ステップＳ３４０３）。そして、情報処理装置１００は、取得した仕様書Ａの画面情報によりＪＳＰ、サーブレットのファイルを生成する（ステップＳ３４０４）。ここでは、画面情報に含まれるＪＳＰ名のＪＳＰのファイルと、画面情報に含まれるＳＥＲＶＬＥＴ名のサーブレットのファイルと、が生成される。各ファイルの内容は、例えば、上述したように、ＪＳＰやサーブレットのコードにおけるファイル定義やタイトル定義などの基本的な内容が含まれる。
【０１４９】
情報処理装置１００は、仕様書Ａについて選択した画面情報に含まれる画面ＩＤと一致する画面ＩＤが仕様書Ｂについての取り込み結果にあるか否かを判断する（ステップＳ３４０５）。一致する画面ＩＤが仕様書Ｂに無いと判断された場合（ステップＳ３４０５：Ｎｏ）、情報処理装置１００は、仕様書不備を出力し（ステップＳ３４０６）、ステップＳ３４０１へ戻る。ここで、情報処理装置１００は、画面ＩＤの不一致を示す情報が配置された表示画面の表示画面情報を生成して出力する。
【０１５０】
一致する画面ＩＤが仕様書Ｂにあると判断された場合（ステップＳ３４０５：Ｙｅｓ）、情報処理装置１００は、ＪＳＰ、サーブレットのファイルに画面ＩＤを書き込み（ステップＳ３４０７）。情報処理装置１００は、仕様書Ｂの該当する画面情報９１１を取得する（ステップＳ３４０８）。該当画面情報は、一致すると判定した画面ＩＤを含む仕様書Ｂについての画面情報９１１である。
【０１５１】
情報処理装置１００は、仕様書Ａ、Ｂの画面名が一致するか否かを判断する（ステップＳ３４０９）。仕様書Ａ、Ｂの画面名が一致すると判定された場合（ステップＳ３４０９：Ｙｅｓ）、情報処理装置１００は、ＪＳＰ、サーブレットのファイルに画面名を書き込み（ステップＳ３４１０）、ステップＳ３５０１へ移行する。仕様書Ａ、Ｂの画面名が一致しないと判定された場合（ステップＳ３４０９：Ｎｏ）、情報処理装置１００は、ＪＳＰのファイル内の画面名に赤字で表示される「●●●●」を書き込み（ステップＳ３４１１）、ステップＳ３５０１へ移行する。
【０１５２】
つぎに、情報処理装置１００は、仕様書Ｂの取り込み結果９０１と取り込み結果９０２に基づいて、画面内にボタンがあるか否かを判断する（ステップＳ３５０１）。画面内にボタンがないと判断された場合（ステップＳ３５０１：Ｎｏ）、情報処理装置１００は、ステップＳ３４０１へ戻る。画面内にボタンがあると判断された場合（ステップＳ３５０１：Ｙｅｓ）、情報処理装置１００は、画面内のボタンのうち、未選択のボタンがあるか否かを判断する（ステップＳ３５０２）。未選択のボタンが無いと判断された場合（ステップＳ３５０２：Ｎｏ）、情報処理装置１００は、ステップＳ３４０１へ戻る。
【０１５３】
未選択のボタンがあると判断された場合（ステップＳ３５０２：Ｙｅｓ）、情報処理装置１００は、未選択のボタンから１つのボタンを選択する（ステップＳ３５０３）。つぎに、情報処理装置１００は、ＪＳＰのファイルにボタンを生成する（ステップＳ３５０４）。
【０１５４】
情報処理装置１００は、選択したボタンにボタン名があるか否かを判断する（ステップＳ３５０５）。ボタン名があると判断された場合（ステップＳ３５０５：Ｙｅｓ）、情報処理装置１００は、ＪＳＰのファイルのボタン名に選択したボタンのボタン名を書き込む（ステップＳ３５０６）。ボタン名がないと判断された場合（ステップＳ３５０５：Ｎｏ）、情報処理装置１００は、ＪＳＰのファイルのうちボタン名に赤字で「●●」を書き込む（ステップＳ３５０７）。
【０１５５】
情報処理装置１００は、遷移先画面ＩＤが一致するか否かを判断する（ステップＳ３５０８）。遷移先画面ＩＤが一致しないと判断された場合（ステップＳ３５０８：Ｎｏ）、情報処理装置１００は、記載不備を出力し（ステップＳ３５０９）、ステップＳ３５０２へ戻る。遷移先画面ＩＤが一致すると判断された場合（ステップＳ３５０８：Ｙｅｓ）、情報処理装置１００は、遷移先画面ＩＤについての画面情報７１１にＳＥＲＶＬＥＴ名があるか否かを判断する（ステップＳ３５１０）。
【０１５６】
ＳＥＲＶＬＥＴ名があると判断された場合（ステップＳ３５１０：Ｙｅｓ）、情報処理装置１００は、遷移先画面ＩＤについての画面情報７１１に含まれるＳＥＲＶＬＥＴ名を書き込み（ステップＳ３５１１）、ステップＳ３５０２へ戻る。ＳＥＲＶＬＥＴ名が無いと判断された場合（ステップＳ３５１０：Ｎｏ）、情報処理装置１００は、ＪＳＰのファイルに対して、ボタンの背景色に赤色を設定し（ステップＳ３５１２）、ステップＳ３５０２へ戻る。
【０１５７】
ステップＳ３４０１において、仕様書Ａに未処理の画面ＩＤが無いと判断された場合（ステップＳ３４０１：Ｎｏ）、情報処理装置１００は、一連の処理を終了する。
【０１５８】
以上説明したように、情報処理装置１００は、開発対象のシステムの仕様に関する項目と、当該項目を表す図形の種類とを対応付けておき、第１仕様書から検出した図形に対応する位置に配置された文字情報と、該図形に対応する第２仕様書内の位置に配置された仕様項目の項目内容情報との一致を判定し結果を出力する。これにより、異なる仕様書間における同一項目の項目内容情報についての一致または不一致が判別可能となり、仕様書間の差異の特定の容易化を図ることができる。このため、システム開発の上流工程において、仕様書の不備を発見でき、仕様書の不備による手戻りを抑えて開発作業を円滑に進めることができる。また、第１仕様書は図形が配置され、第２仕様書は、項目の項目内容情報が表形式によって記述される。
【０１５９】
また、開発対象のシステムで用いられる画面を項目として記憶部１０１に定義する。これにより、画面についての２つの仕様書間の差異を特定できる。
【０１６０】
また、情報処理装置１００は、文字情報と項目の項目内容情報とが一致すると判定した場合、画面を識別する識別情報を、画面内に配置した表示画面の画面情報を生成し、生成した画面情報を出力する。これにより、一致したことを示す情報を可視化することができる。したがって、利用者が仕様書間において画面を識別する識別情報に差異が無いことを簡単に気づくことができる。
【０１６１】
また、情報処理装置１００は、文字情報と項目の項目内容情報とが一致しないと判定した場合、文字情報と項目の項目内容情報との不一致を示す情報を、画面内に配置した表示画面の画面情報を生成し、生成した画面情報を出力する。これにより、一致しないことを可視化することができる。したがって、利用者が仕様書間の差異を気付き易くすることができる。
【０１６２】
また、表示画面は、画面を識別する識別情報を、検出した図形における取得した文字情報の位置に対応する画面内の位置に配置する。また、表示画面は、不一致を示す情報を、検出した図形における取得した文字情報の位置に対応する画面内の位置に配置する。これにより、利用者が、第１仕様書と第２仕様書と、表示画面と、を見ながら仕様書の差異を検討する際に、仕様書間の差異を気づき易くすることができる。
【０１６３】
また、項目は、画面内に配置されるボタンを表す項目を含む。そして、情報処理装置１００は、検出した図形がボタンを表す場合に、ボタン名をボタン内に配置した第１ボタンを画面内に配置した表示画面の画面情報を生成する。
【０１６４】
また、情報処理装置１００は、ボタンを表す図形を検出する際に、第１仕様書から、画面を表す図形内に配置されたボタンを表す図形を検出する。これにより、第１仕様書内に画面が複数ある場合であっても、画面に対応するボタンを表す図形を検出することができる。これにより、実際のシステムで用いる表示画面により近い表示画面を作成することができる。このため、利用者が、第１仕様書および第２仕様書と、表示画面と、を見ながら仕様書間の差異を検討する際に、仕様書間の差異を気づき易くすることができる。
【０１６５】
また、第１ボタンは、第１仕様書内の画面を表す図形に対応する位置に配置された検出した図形に対応する画面内の位置に配置される。これにより、実際のシステムで用いる表示画面により近い表示画面を作成することができる。このため、利用者が、第１仕様書と第２仕様書と、表示画面と、を見ながら仕様書の差異を検討する際に、仕様書間の差異を気づき易くすることができる。
【０１６６】
また、情報処理装置１００は、検出した図形が、画面間の遷移を表す矢印の図形の場合に、矢印の図形によって特定される第１仕様書内の遷移先の画面の画面名と、第２仕様所内の矢印の図形の種類に対応する遷移先の画面の画面名と、の一致を判定する。これにより、画面の遷移についての仕様書間の差異を容易に特定することができる。
【０１６７】
情報処理装置１００は、検出した図形がボタンの遷移先を表す場合、検出した図形に対応する第１仕様書内の位置に配置された画面を表す図形を検出する。そして、情報処理装置１００は、第２仕様書のうちの検出した画面を表す図形の種類に対応する項目の項目内容情報と、検出した画面を表す図形に対応する第１仕様書内の位置に配置された文字情報と、が一致するか否かを判定する。これにより、画面内のボタンを押下した場合に遷移先として表示される画面の識別情報が一致するかを判定できる。したがって、ボタンの遷移先についての仕様書間の差異を容易に特定することができる。
【０１６８】
情報処理装置１００は、第２仕様書から、遷移先の画面を識別する識別情報に対応する遷移先の表示画面の第２画面情報の呼び出しを行うサーブレット名を取得し、取得したサーブレット名に基づいて、ボタンの遷移先を設定した画面情報を生成する。これにより、ボタンを押下した場合における画面遷移を自動で視覚化することができ、利用者は仕様書間の差異の有無を把握し易くなる。
【０１６９】
また、情報処理装置１００は、第２仕様書にサーブレット名が無い場合、画面に配置したボタンの識別情報に、サーブレット名が無いことを示す情報を関連付けた画面情報を生成する。これにより、ボタンの遷移先に関する情報が第２仕様書に含まれないことを容易に特定することができ、利用者は、第２仕様書に不備があることを視覚的に把握することができる。
【０１７０】
なお、本実施の形態で説明した判定方法は、予め用意された判定プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本判定プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、判定プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１７１】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１７２】
（付記１）判定対象のシステムの第１仕様書から図形を検出し、
前記システムの仕様に関する項目と、前記項目を表す図形の種類とを対応付けて記憶する記憶部を参照して、前記システムの第２仕様書のうちの検出した前記図形の種類に対応する前記項目の項目内容情報と、検出した前記図形に対応する前記第１仕様書内の位置に配置された文字情報と、が一致するか否かを判定し、
判定した結果を出力する、
制御部を有することを特徴とする情報処理装置。
【０１７３】
（付記２）前記項目は、
前記システムに関する画面を表す項目を含み、
前記画面を表す項目の項目内容情報は、
前記画面を識別する識別情報であることを特徴とする付記１に記載の情報処理装置。
【０１７４】
（付記３）前記制御部は、
前記文字情報と前記項目の項目内容情報とが一致すると判定した場合、前記画面を識別する識別情報を第１画面内に配置した画面情報を生成し、
生成した前記画面情報を出力する、
ことを特徴とする付記２に記載の情報処理装置。
【０１７５】
（付記４）前記画面を識別する識別情報は、
検出した前記図形における前記文字情報の位置に対応する画面内の位置に配置されることを特徴とする付記３に記載の情報処理装置。
【０１７６】
（付記５）前記制御部は、
前記文字情報と前記項目の項目内容情報とが一致しないと判定した場合、前記文字情報と前記項目の項目内容情報との不一致を示す情報を第１画面内に配置した画面情報を生成し、
生成した前記画面情報を出力する、
ことを特徴とする付記２に記載の情報処理装置。
【０１７７】
（付記６）前記不一致を示す情報は、
検出した前記図形における前記文字情報の位置に対応する画面内の位置に配置されることを特徴とする付記４に記載の情報処理装置。
【０１７８】
（付記７）前記項目は、
前記システムに関する画面内に配置されるボタンを表す項目を含み、
前記制御部は、
検出した前記図形が前記ボタンを表す場合に、検出した前記図形に対応する前記第１仕様書内の位置に配置された文字情報を取得し、
取得した前記文字情報を内部に配置した第１ボタンを前記第１画面内に配置した画面情報を生成する、
ことを特徴とする付記３または４に記載の情報処理装置。
【０１７９】
（付記８）前記項目は、
前記システムに関する画面内に配置されるボタンを表す項目を含み、
前記制御部は、
検出した前記図形が前記ボタンを表す場合に、検出した前記図形に対応する前記第１仕様書内の位置に配置された文字情報を取得し、
取得した前記文字情報を内部に配置した第１ボタンを第１画面内に配置した画面情報を生成し、
生成した前記画面情報を出力する、
ことを特徴とする付記１または２に記載の情報処理装置。
【０１８０】
（付記９）前記制御部は、
検出した前記図形が前記画面を表す場合に、当該図形に対応する前記第１仕様書内の位置に配置された前記ボタンを表す図形を検出する、
ことを特徴とする付記７に記載の情報処理装置。
【０１８１】
（付記１０）前記制御部は、
検出した前記図形が前記ボタンを表し、当該図形に対応する前記第１仕様書内の位置に文字情報が無い場合、前記ボタンを識別する識別情報が無いことを示す情報を内部に配置した第１ボタンを前記第１画面内に配置した画面情報を生成し、
生成した前記画面情報を生成する、
ことを特徴とする付記７または９に記載の情報処理装置。
【０１８２】
（付記１１）前記第１ボタンは、前記第１仕様書内の画面を表す図形に対応する位置に配置された検出した前記図形に対応する画面内の位置に配置されることを特徴とする付記７〜１０のいずれか一つに記載の情報処理装置。
【０１８３】
（付記１２）前記項目は、遷移元の画面から遷移先の画面の遷移を表す項目を含み、
前記項目の項目内容情報は、前記遷移先の画面を識別する識別情報を含み、
前記制御部は、
検出した前記図形が前記遷移を表す場合、当該図形によって特定される前記第１仕様書内の前記遷移先の画面を表す図形に対応する文字情報を取得し、
前記記憶部を参照して、前記第２仕様書のうち検出した前記図形の種類に対応する前記遷移先の画面を識別する識別情報と、取得した前記文字情報と、が一致するか否かを判定し、
判定した結果を出力する、
ことを特徴とする付記５に記載の情報処理装置。
【０１８４】
（付記１３）前記制御部は、
検出した前記図形が前記遷移を表し、前記遷移先の画面を識別する識別情報と取得した前記文字情報とが一致すると判定した場合、前記第２仕様書から、前記遷移先の画面を識別する識別情報に対応する第２画面の画面情報を呼び出すプログラムを識別する識別情報を取得し、
取得した前記プログラムを識別する識別情報に基づいて、前記遷移先を設定した前記第１画面の画面情報を生成する、
ことを特徴とする付記１２に記載の情報処理装置。
【０１８５】
（付記１４）前記制御部は、
前記プログラムを識別する識別情報が前記第２仕様書内に無い場合、前記プログラムを識別する識別情報が無いことを示す情報を判別可能な前記第１ボタンを前記第１画面内に配置した画面情報を生成する、
ことを特徴とする付記１２に記載の情報処理装置。
【０１８６】
（付記１５）前記第２仕様書は、前記項目の項目内容情報が表形式によって記述されたことを特徴とする付記５に記載の情報処理装置。
【０１８７】
（付記１６）コンピュータに、
判定対象のシステムの第１仕様書から図形を検出し、
前記システムの仕様に関する項目と、前記項目を表す図形の種類とを対応付けて記憶する記憶部を参照して、前記システムの第２仕様書のうちの検出した前記図形の種類に対応する前記項目の項目内容情報と、検出した前記図形に対応する前記第１仕様書内の位置に配置された文字情報と、が一致するか否かを判定し、
判定した結果を出力する、
処理を実行させることを特徴とする判定プログラム。
【０１８８】
（付記１７）コンピュータが、
判定対象のシステムの第１仕様書から図形を検出し、
前記システムの仕様に関する項目と、前記項目を表す図形の種類とを対応付けて記憶する記憶部を参照して、前記システムの第２仕様書のうちの検出した前記図形の種類に対応する前記項目の項目内容情報と、検出した前記図形に対応する前記第１仕様書内の位置に配置された文字情報と、が一致するか否かを判定し、
判定した結果を出力する、
処理を実行することを特徴とする判定方法。
【符号の説明】
【０１８９】
１００  情報処理装置
１０１  記憶部
１１１  第１仕様書
１１２  第２仕様書
８００，１０００，１６００，２０００，２２００，２５００，２６００，２７００，２８００  表示画面
３０１  第１取り込み部
３０２  第２取り込み部
３０３  判定部
３０４  生成部
３０５  出力部
３１１  検出部
３１２  取得部
３２１  対応情報
７０１，７０２，９０１，９０２  取り込み結果
７１１，９１１  画面情報
７１２  遷移先情報
９１２  ボタン情報
【図１】
0006623709.tif 000002
【図２】
0006623709.tif 000003
【図３】
0006623709.tif 000004
【図４】
0006623709.tif 000005
【図５】
0006623709.tif 000006
【図６】
0006623709.tif 000007
【図７】
0006623709.tif 000008
【図８】
0006623709.tif 000009
【図９】
0006623709.tif 000010
【図１０】
0006623709.tif 000011
【図１１】
0006623709.tif 000012
【図１２】
0006623709.tif 000013
【図１３】
0006623709.tif 000014
【図１４】
0006623709.tif 000015
【図１５】
0006623709.tif 000016
【図１６】
0006623709.tif 000017
【図１７】
0006623709.tif 000018
【図１８】
0006623709.tif 000019
【図１９】
0006623709.tif 000020
【図２０】
0006623709.tif 000021
【図２１】
0006623709.tif 000022
【図２２】
0006623709.tif 000023
【図２３】
0006623709.tif 000024
【図２４】
0006623709.tif 000025
【図２５】
0006623709.tif 000026
【図２６】
0006623709.tif 000027
【図２７】
0006623709.tif 000028
【図２８】
0006623709.tif 000029
【図２９】
0006623709.tif 000030
【図３０】
0006623709.tif 000031
【図３１】
0006623709.tif 000032
【図３２】
0006623709.tif 000033
【図３３】
0006623709.tif 000034
【図３４】
0006623709.tif 000035
【図３５】
0006623709.tif 000036