(57)【要約】【課題】  システム更改時等における現行システムの仕様把握と費用見積もり作成の作業を容易化し、かつ作成される費用見積もりの精度を向上させ得る画面仕様分析装置及び方法を提案する。【解決手段】  サーバ装置が提供するウェブ画面の画面仕様を分析する画面仕様分析装置及び当該画面仕様分析装置により実行される画面仕様分析方法において、ウェブ画面上で行われた操作のログを操作ログとして収集すると共に、ウェブ画面の画面データを画面ログとして収集し、収集した操作ログに基づいて、一連の画面遷移をシナリオとして抽出し、収集した画面ログに基づいて、各ウェブ画面の１以上の特徴量をそれぞれ算出し、算出した各ウェブ画面の特徴量に基づいて、類似するシナリオ同士を併合し、併合後のシナリオごとの画面遷移の仕様を表す画面仕様を出力するようにした。
2016051479.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置が提供するウェブ画面の画面仕様を分析する画面仕様分析装置において、
前記ウェブ画面上で行われた操作のログを操作ログとして収集すると共に、前記ウェブ画面の画面データを画面ログとして収集するログ収集部と、
前記ログ収集部が収集した前記操作ログに基づいて、一連の画面遷移をシナリオとして抽出するシナリオ抽出部と、
前記ログ収集部が収集した前記画面ログに基づいて、各前記ウェブ画面の１以上の特徴量をそれぞれ算出する画面特徴量算出部と、
前記画面特徴量算出部により算出された各前記ウェブ画面の前記特徴量に基づいて、類似する前記シナリオ同士を併合するシナリオ併合部と、
併合後の前記シナリオごとの画面遷移の仕様を出力する画面仕様出力部と
を備えることを特徴とする画面仕様分析装置。
【請求項２】
前記画面特徴量算出部は、
前記ウェブ画面に含まれる画面名を表すラベル情報、遷移元の前記ウェブ画面に含まれる画面遷移の契機となった画面部品のラベル情報、遷移元の前記ウェブ画面に含まれる画面遷移の契機となった画面部品の文書構造上の位置、及び、遷移元の前記ウェブ画面において入力された項目に基づく各値のうちの少なくとも１つ以上を前記ウェブ画面の特徴量として算出する
ことを特徴とする請求項１に記載の画面仕様分析装置。
【請求項３】
前記シナリオ抽出部は、
前記シナリオとして抽出しない条件として予め与えられた、画面遷移のパターン、前記ウェブ画面のＵＲＬ（Uniform Resource Locator）のパターン、前記ウェブ画面に含まれる文字列のパターンのいずれか１つ以上の条件を管理し、管理している当該条件を満たす画面遷移を除外して前記シナリオを抽出する
ことを特徴とする請求項２に記載の画面仕様分析装置。
【請求項４】
前記サーバ装置は、処理を業務機能の単位で実行し、
前記シナリオ抽出部は、
予め与えられた前記業務機能ごとの画面遷移の開始及び終了の各前記ウェブ画面をそれぞれ判定するための情報を管理し、
管理している当該情報に基づき認識される当該画面遷移の開始から終了までの範囲を前記シナリオとして抽出する
ことを特徴とする請求項２に記載の画面仕様分析装置。
【請求項５】
前記シナリオ抽出部は、
前記操作ログに基づいて、画面の遷移ごとに、遷移元の前記ウェブ画面における画面を遷移させる契機となった画面部品のラベル情報をそれぞれ抽出し、
前記画面仕様出力部は、
前記画面遷移の仕様として、前記ウェブ画面の遷移ごとに、前記シナリオ抽出部により抽出された遷移元の前記ウェブ画面における画面を遷移させる契機となった画面部品のラベル情報を表示する
ことを特徴とする請求項２に記載の画面仕様分析装置。
【請求項６】
前記ウェブ画面の入力可能項目数、当該ウェブ画面の出力項目数、及び当該ウェブ画面に実際に入力された項目数である入力済項目数のいずれか１つ以上を前記操作ログ及び前記画面ログに基づいて取得し、取得した情報に基づいて各前記ウェブ画面の複雑度を算出する画面複雑度算出部を備え、
前記画面仕様出力部は、前記画面複雑度算出部により算出された各前記ウェブ画面の複雑度を必要時に表示する
ことを特徴とする請求項２に記載の画面仕様分析装置。
【請求項７】
サーバ装置が提供するウェブ画面の画面仕様を分析する画面仕様分析装置により実行される画面仕様分析方法において、
前記画面仕様分析装置が、前記ウェブ画面上で行われた操作のログを操作ログとして収集すると共に、前記ウェブ画面の画面データを画面ログとして収集する第１のステップと、
前記画面仕様分析装置が、収集した前記操作ログに基づいて、一連の画面遷移をシナリオとして抽出する第２のステップと、
前記画面仕様分析装置が、前記画面ログに基づいて、各前記ウェブ画面の１以上の特徴量をそれぞれ算出し、算出した各前記ウェブ画面の前記特徴量に基づいて、類似する前記シナリオ同士を併合する第３のステップと、
前記画面仕様分析装置が、併合後の前記シナリオごとの画面遷移の仕様を出力する第４のステップと
を備えることを特徴とする画面仕様分析方法。
【請求項８】
前記第３のステップにおいて、前記画面仕様分析装置は、
前記ウェブ画面に含まれる画面名を表すラベル情報、遷移元の前記ウェブ画面に含まれる画面遷移の契機となった画面部品のラベル情報、遷移元の前記ウェブ画面に含まれる画面遷移の契機となった画面部品の文書構造上の位置、及び、遷移元の前記ウェブ画面において入力された項目に基づく各値のうちの少なくとも１つ以上を前記ウェブ画面の特徴量として算出する
ことを特徴とする請求項７に記載の画面仕様分析方法。
【請求項９】
前記画面仕様分析装置は、
前記シナリオとして抽出しない条件として予め与えられた、画面遷移のパターン、前記ウェブ画面のＵＲＬ（Uniform Resource Locator）のパターン、前記ウェブ画面に含まれる文字列のパターンのいずれか１つ以上の条件を管理し、
前記第２のステップにおいて、
管理している当該条件を満たす画面遷移を除外して前記シナリオを抽出する
ことを特徴とする請求項８に記載の画面仕様分析方法。
【請求項１０】
前記サーバ装置は、処理を業務機能の単位で実行し、
前記画面仕様分析装置は、
予め与えられた前記業務機能ごとの画面遷移の開始及び終了の各前記ウェブ画面をそれぞれ判定するための情報を管理し、
前記第２のステップにおいて、管理している当該情報に基づき認識される当該画面遷移の開始から終了までの範囲を前記シナリオとして抽出する
ことを特徴とする請求項８に記載の画面仕様分析方法。
【請求項１１】
前記第２のステップにおいて、前記画面仕様分析装置は、
前記操作ログに基づいて、画面の遷移ごとに、遷移元の前記ウェブ画面における画面を遷移させる契機となった画面部品のラベル情報をそれぞれ抽出し、
前記第４のステップにおいて、前記画面仕様分析装置は、
前記画面遷移の仕様として、前記ウェブ画面の遷移ごとに、前記シナリオ抽出部により抽出された遷移元の前記ウェブ画面における画面を遷移させる契機となった画面部品のラベル情報を表示する
ことを特徴とする請求項８に記載の画面仕様分析方法。
【請求項１２】
前記第４のステップにおいて、前記画面仕様分析装置は、
前記ウェブ画面の入力項目数、当該ウェブ画面の出力項目数、及び当該ウェブ画面に実際に入力された項目数である入力済項目数のいずれか１つ以上を前記操作ログ及び前記画面ログに基づいて取得し、取得した情報に基づいて各前記ウェブ画面の複雑度を算出し、算出した各前記ウェブ画面の複雑度を必要時に表示する
ことを特徴とする請求項８に記載の画面仕様分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画面仕様分析装置及び方法に関し、例えば、ウェブサーバ装置が提供するウェブページ（以下、これをウェブ画面と呼ぶ）の画面仕様を分析する画面仕様分析装置に適用して好適なものである。
【背景技術】
【０００２】
システムを更改する場合に、業務内容や更改対象システムの理解不足により上流設計の仕様があいまいとなり、システム開発の手戻りが発生することで、開発コストや工期の増大化することが問題となっている。このようなシステム開発の手戻りを防止するためには、現行システムの調査を詳細に行うことが重要である。現行システムの調査を行う際の問題として、過去のシステム更改の際に新たな仕様を仕様書に追加しなかったなどの理由により仕様書が陳腐化している場合が多いことが挙げられる。【０００３】
このような事情に鑑み、従来、現行システムから画面仕様（画面構成や画面遷移）を直接把握する技術が特許文献１に提案されている。本技術は、ウェブアプリケーションの操作手順書を、ウェブアプリケーションを自動巡回することにより得られた情報に基づいて生成するものである。【０００４】
特許文献１は、初めに指定されたＵＲＬ（Uniform Resource Locator）を起点として、ウェブ画面の取得や、ウェブ画面のキャプチャの取得、及び、ウェブ画面中に含まれるリンクの抽出を再帰的に行うことにより、ウェブ画面の遷移を網羅的に抽出する。次いで上述のようにして抽出したウェブ画面の画面遷移を人手により国内旅費申請や国内旅費精算などの業務機能単位にまとめて、その業務機能単位で手順書を生成する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−７９３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、かかる特許文献１に開示された技術によると、上述のように、抽出されたウェブ画面の画面遷移を人手により業務機能単位にまとめる必要があり、手順書の作成に手間及び時間を要する問題があった。【０００７】
一方、システムの更改を業者に依頼する場合、システムが提供するウェブ画面の画面数と、個々のウェブ画面の複雑さの度合い（以下、これを複雑度と呼ぶ）とに基づいてその費用が決定されることが多い。従って、システムの更改の依頼を受けた業者は、高い精度で費用の見積もりを行うために、現行システムにおけるウェブ画面の画面数と、個々のウェブ画面の複雑度とを精度良く把握する必要がある。【０００８】
この場合、システムで提供されるウェブ画面の中には、例えばログインの有無によって同一のＵＲＬでも異なる内容のウェブ画面が表示される仕様のときのように、同一のＵＲＬであっても別物としてカウントすべきウェブ画面や、「日記１」、「日記２」、……などのように、異なるＵＲＬであっても同一画面としてカウントすべきウェブ画面がある。【０００９】
しかしながら特許文献１に開示された技術は、ＵＲＬ及びウェブ画面が静的に一対一に対応することを前提としており、同一のＵＲＬであっても別のウェブ画面としてカウントすべき場合や、異なるＵＲＬであっても同一のウェブ画面としてカウントすべき場合に対応できない。【００１０】
このため、かかる費用見積もりを行う際に特許文献１に開示された技術を適用したとしても、最終的にはウェブ画面の画面数のカウントや画面構成の複雑度の判定を人手により行わなければならず、当該費用見積もりの作成に時間及び手間を要する問題があった。またこのように人手によりウェブ画面の画面数のカウントを行う場合、同一画面の重複カウントや、画面のカウント忘れに伴う見積もり精度のブレが発生し易く、高い精度での費用見積もりを行い難い問題があった。【００１１】
本発明は以上の点を考慮してなされたもので、システム更改時等における現行システムの仕様把握と費用見積もり作成の作業を容易化し、かつ作成される費用見積もりの精度を向上させ得る画面仕様分析装置及び方法を提案しようとするものである。
【課題を解決するための手段】
【００１２】
かかる課題を解決するため本発明においては、サーバ装置が提供するウェブ画面の画面仕様を分析する画面仕様分析装置において、前記ウェブ画面上で行われた操作のログを操作ログとして収集すると共に、前記ウェブ画面の画面データを画面ログとして収集するログ収集部と、前記ログ収集部が収集した前記操作ログに基づいて、一連の画面遷移をシナリオとして抽出するシナリオ抽出部と、前記ログ収集部が収集した前記画面ログに基づいて、各前記ウェブ画面の１以上の特徴量をそれぞれ算出する画面特徴量算出部と、前記画面特徴量算出部により算出された各前記ウェブ画面の前記特徴量に基づいて、類似する前記シナリオ同士を併合するシナリオ併合部と、併合後の前記シナリオごとの画面遷移の仕様を表す画面仕様を出力する画面仕様出力部とを設けるようにした。【００１３】
また本発明においては、サーバ装置が提供するウェブ画面の画面仕様を分析する画面仕様分析装置により実行される画面仕様分析方法において、前記画面仕様分析装置が、前記ウェブ画面上で行われた操作のログを操作ログとして収集すると共に、前記ウェブ画面の画面データを画面ログとして収集する第１のステップと、前記画面仕様分析装置が、収集した前記操作ログに基づいて、一連の画面遷移をシナリオとして抽出する第２のステップと、前記画面仕様分析装置が、前記画面ログに基づいて、各前記ウェブ画面の１以上の特徴量をそれぞれ算出し、算出した各前記ウェブ画面の前記特徴量に基づいて、類似する前記シナリオ同士を併合する第３のステップと、前記画面仕様分析装置が、併合後の前記シナリオごとの画面遷移の仕様を表す画面仕様を出力する第４のステップとを設けるようにした。【００１４】
かかる本画面仕様分析装置及び方法によれば、現行システムの仕様把握の作業を容易化し、また、画面仕様分析装置の利用者が同一ウェブ画面の重複カウントや、ウェブ画面のカウント忘れに伴う見積もり精度のブレが生じ難く、高い精度でシステム更改時等の費用見積もりを行うことができる。
【発明の効果】
【００１５】
本発明によれば、システム更改時等における現行システムの仕様把握と費用見積もり作成の作業を容易化し、かつ作成される費用見積もりの精度を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態による画面仕様分析システムの全体構成を示すブロック図である。
【図２】本画面仕様分析システムの論理構成を示すブロック図である。
【図３】操作ログテーブルを示す概念図である。
【図４】画面ログテーブルを示す概念図である。
【図５】併合前シナリオテーブルを示す概念図である。
【図６】（Ａ）は第１の併合後シナリオテーブルを示す概念図であり、（Ｂ）は第２の併合後シナリオテーブルを示す概念図である。
【図７】ログ収集処理の流れを示すシーケンス図である。
【図８】画面仕様分析処理の処理手順を示すフローチャートである。
【図９】シナリオ抽出処理の処理手順を示すフローチャートである。
【図１０】画面特徴量算出処理の説明に供する図表である。
【図１１】画面特徴量算出処理の説明に供する図表である。
【図１２】シナリオ併合処理の処理手順を示すフローチャートである。
【図１３】本実施の形態による画面仕様分析処理の具体例の説明に供する、スタート画面の構成例を示す略線図である。
【図１４】本実施の形態による画面仕様分析処理の具体例の説明に供する、メインメニュー画面の構成例を示す略線図である。
【図１５】本実施の形態による画面仕様分析処理の具体例の説明に供する、日帰精算書画面の構成例を示す略線図である。
【図１６】本実施の形態による画面仕様分析処理の具体例の説明に供する、国内日帰精算一時保存一覧画面の構成例を示す略線図である。
【図１７】（Ａ）〜（Ｄ）は、シナリオ抽出処理により抽出されたシナリオの具体例を示す概念図である。
【図１８】（Ａ）〜（Ｃ）は、シナリオ併合処理により併合されたシナリオの具体例を示す概念図である。
【図１９】画面仕様書画面の構成例を示す略線図である。
【図２０】画面仕様書画面の構成例を示す略線図である。
【図２１】画面一覧画面の構成例を示す略線図である。
【発明を実施するための形態】
【００１７】
以下図面について、本発明の一実施の形態を詳述する。
【００１８】
（１）本実施の形態による画面仕様分析システムの構成
図１において、１は全体として本実施の形態による画面仕様分析システムの全体構成を示す。この画面仕様分析システム１は、１又は複数のクライアント装置２と、ウェブサーバ装置３と、画面仕様分析装置４とを有し、これらがネットワーク５を介して相互に接続されて構成されている。
【００１９】
クライアント装置２は、ユーザがウェブサーバ装置３にアクセスし、必要なウェブ画面を閲覧及び利用等するために用いるコンピュータ装置であり、プロセッサ１０、メモリ１１、ネットワークインタフェース１２及び入出力装置１３を備えて構成される。
【００２０】
プロセッサ１０は、クライアント装置２全体の動作制御を司る機能を有するハードウェアである。メモリ１１は、例えば半導体メモリから構成され、ウェブブラウザプログラム１４及びスクリプトエンジンプログラム１５等の各種プログラムを記憶保持するために利用されるほか、プロセッサ１０のワークメモリとしても利用される。メモリ１１に格納された各種プログラムをプロセッサ１０が実行することにより、クライアント装置２全体としての各種処理が実行される。
【００２１】
ネットワークインタフェース１２は、クライアント装置２がネットワーク５を介してウェブサーバ装置３と通信を行うためのインタフェースであり、例えばＮＩＣ（Network Interface Card）などから構成される。入出力装置１３は、ユーザが必要な指示や情報をクライアント装置２に入力するために利用する入力装置と、ユーザ操作に応じてウェブサーバ装置３からダウンロードしたウェブ画面等を表示する出力装置とから構成される。入力装置は、例えばキーボードやマウスなどから構成され、出力装置は、例えば液晶ディスプレイなどから構成される。
【００２２】
ウェブサーバ装置３は、ネットワーク５を介して与えられるクライアント装置２からの要求に応じて、例えば図１３について後述するスタート画面６０や、図１４について後述するメインメニュー画面７０、図１５について後述する日帰精算書画面８０又は図１６について後述する国内日帰精算一時保存一覧画面１００等の各種業務用のウェブ画面の画面データをクライアント装置２に送信する機能を有するサーバ装置である。
【００２３】
このウェブサーバ装置３は、プロセッサ２０、メモリ２１、ネットワークインタフェース２２、入出力装置２３及びローカルディスク２４を備えて構成される。プロセッサ２０、メモリ２１、ネットワークインタフェース２２及び入出力装置２３は、それぞれクライアント装置２の対応部位（プロセッサ１０、メモリ１１、ネットワークインタフェース１２又は入出力装置１３）と同様の機能及び構成を有するものであるため、ここでの説明は省略する。なおウェブサーバ装置３のメモリ２１には、ウェブサーバプログラム２５及びウェブアプリケーションプログラム２６が格納される。
【００２４】
ローカルディスク２４は、例えばハードディスク装置、ＳＳＤ（Solid State Drive）又はＲＡＩＤ（Redundant Arrays of Inexpensive Disks）などから構成され、ウェブサーバ装置３がクライアント装置２に提供する各種ウェブ画面のＨＴＭＬ（Hypertext Markup Language）フォーマットの画面データがそれぞれＨＴＭＬファイル２７として格納される。
【００２５】
画面仕様分析装置４は、後述の画面仕様書を生成して本画面仕様分析装置４の利用者に提示する機能を有するサーバ装置であり、プロセッサ３０、メモリ３１、ネットワークインタフェース３２、入出力装置３３及びローカルディスク３４から構成される。プロセッサ３０、メモリ３１、ネットワークインタフェース３２及び入出力装置３３は、それぞれクライアント装置２の対応部位と同様の機能及び構成を有するものであるため、ここでの説明は省略する。なお画面仕様分析装置４のメモリ３１には、ログ収集サーバプログラム３５、画面仕様分析プログラム３６及び画面仕様出力プログラム３７が格納される。
【００２６】
ローカルディスク３４は、例えばハードディスク装置、ＳＳＤ又はＲＡＩＤなどから構成され、後述する操作ログテーブル３８、画面ログテーブル３９及びシナリオテーブル４０などを記憶保持するために利用される。
【００２７】
（２）本実施の形態による画面仕様分析機能
（２−１）画面仕様分析機能の概要及びテーブル構成
次に、かかる画面仕様分析システム１の画面仕様分析装置４に搭載された画面仕様分析機能について説明する。本画面仕様分析装置４には、クライアント装置２のユーザがウェブ画面上で行った操作のログ（以下、これを操作ログと呼ぶ）と、かかるウェブ画面のロード時及びアンロード時の画面データ（以下、これらをまとめて画面ログと呼ぶ）とを各クライアント装置２からそれぞれ収集し、収集したこれら操作ログ及び画面ログに基づいて、ユーザ操作に応じた一連のウェブ画面の画面遷移と、個々のウェブ画面の複雑度とを分析する画面仕様分析機能が搭載されている。
【００２８】
実際上、画面仕様分析装置４は、かかる操作ログ及び画面ログを各クライアント装置２からそれぞれ収集し、収集した操作ログ及び画面ログに基づいて、ユーザ操作に応じた一連の画面遷移をそれぞれシナリオとして抽出する。そして画面仕様分析装置４は、このようにして抽出したシナリオ同士の類似性を判定し、類似のシナリオは１つのシナリオとして併合した上で、ウェブ画面の画面遷移の様子を表す画面仕様書をシナリオごとにそれぞれ生成し、生成した画面仕様書を入出力装置３３に表示する。また画面仕様分析装置４は、操作ログ及び画面ログに基づいて、各シナリオをそれぞれ構成する各ウェブ画面の複雑度を算出し、算出した各ウェブ画面の複雑度を一覧表示する。
【００２９】
このような画面仕様分析機能を実現するための手段として、本画面仕様分析システム１の場合、図２に示すように、クライアント装置２には、ウェブブラウザモジュール５０及びスクリプトエンジンモジュール５１が搭載され、ウェブサーバ装置３には、ウェブサーバモジュール５２及びウェブアプリケーションモジュール５３が実装され、画面仕様分析装置４には、ログ収集サーバモジュール５４、画面仕様分析モジュール５５及び画面仕様出力モジュール５６が実装されている。
【００３０】
これらの「モジュール」は、クライアント装置２のプロセッサ１０（図１）、ウェブサーバ装置３のプロセッサ２０（図１）又は画面仕様分析装置４のプロセッサ３０（図１）が対応する「プログラム」を実行することにより具現化される機能である。例えば、ウェブブラウザモジュール５０及びスクリプトエンジンモジュール５１は、それぞれクライアント装置２のプロセッサ１０がウェブブラウザプログラム１４（図１）又はスクリプトエンジンプログラム１５（図１）を実行することにより具現化される機能であり、ウェブサーバモジュール５２及びウェブアプリケーションモジュール５３は、それぞれウェブサーバ装置３のプロセッサ２０がウェブサーバプログラム２５（図１）又はウェブアプリケーションプログラム２６（図１）を実行することにより具現化する機能である。またログ収集サーバモジュール５４、画面仕様分析モジュール５５及び画面仕様出力モジュール５６は、それぞれ画面仕様分析装置４のプロセッサ３０がログ収集サーバプログラム３５（図１）、画面仕様分析プログラム３６（図１）又は画面仕様出力プログラム３７（図１）を実行することにより具現化される機能である。
【００３１】
そしてクライアント装置２のウェブブラウザモジュール５０は、ユーザによりウェブ画面を表示すべき旨の操作入力が与えられた場合、当該ウェブ画面の表示要求（以下、これをページ表示リクエストと呼ぶ）をネットワーク５を介してウェブサーバ装置３に送信する。
【００３２】
ウェブサーバ装置３のウェブアプリケーションモジュール５３は、かかるページ表示リクエストを受信すると、当該ページ表示リクエストにおいて指定されたウェブ画面の画面データをローカルディスク２４（図１）に格納された対応するＨＴＭＬファイル２７（図１）から読み出し、読み出した画面データを、ウェブ画面上でユーザが行った操作を操作ログとして記録するためのスクリプトコード（以下、これを操作ログ記録スクリプトコードと呼ぶ）を埋め込んだ上で、レスポンスとしてネットワーク５を介してクライアント装置２に送信する。
【００３３】
このレスポンスを受信したクライアント装置２のウェブブラウザモジュール５０は、受信したレスポンスに含まれる画面データに基づいてユーザにより指定されたウェブ画面を入出力装置１３（図１）に表示すると共に、当該画面データに埋め込まれた操作ログ記録スクリプトコードを抽出してスクリプトエンジンモジュール５１に出力する。
【００３４】
スクリプトエンジンモジュール５１は、ウェブブラウザモジュール５０から与えられる操作ログ記録スクリプトコードを実行することにより上述の操作ログを適宜生成し、生成した操作ログをウェブブラウザモジュール５０に出力する。またスクリプトエンジンモジュール５１は、かかる操作ログに加えて、ウェブ画面のロード時及びアンロード時の画面データを画面ログとして記憶し、記憶した画面ログをウェブブラウザモジュール５０に出力する。
【００３５】
そしてウェブブラウザモジュール５０は、スクリプトエンジンモジュール５１から与えられるこれら操作ログ及び画面ログを、対応するウェブ画面がアンロードされたタイミングでネットワーク５を介して画面仕様分析装置４に送信する。
【００３６】
なお、上述のようにウェブ画面の画面データに記録スクリプトコードを埋め込む技術として、特開２００９−１０４２６７号公報（米国特許出願公開第２００９−０１０６７６９号明細書）に開示された技術を適用することができ、ウェブ画面上でユーザが行った操作を記録スクリプトにより操作ログとして記録する技術として、特開２０１１−０６０１９６号公報（米国特許出願公開第２０１１−００６６７０４号明細書）に開示された技術を適用することができる。
【００３７】
画面仕様分析装置４のログ収集サーバモジュール５４は、各クライアント装置２からそれぞれ与えられる操作ログ及び画面ログを収集及び管理する機能を有するモジュールであり、収集した操作ログを操作ログテーブル３８に格納すると共に、収集した画面ログを画面ログテーブル３９に格納する。
【００３８】
また画面仕様分析装置４の画面仕様分析モジュール５５は、ウェブサーバ装置３が提供する個々のウェブ画面を分析し、分析結果に基づいてシナリオを抽出したり、個々のウェブ画面の複雑度を算出したりする機能を有するモジュールであり、シナリオ抽出機能５５Ａ、画面特徴量算出機能５５Ｂ、シナリオ併合機能５５Ｃ及び画面複雑度算出機能５５Ｄを備える。
【００３９】
そして画面仕様分析モジュール５５は、シナリオ抽出機能５５Ａにより、操作ログテーブル３８に格納された操作ログと、画面ログテーブル３９に格納された画面ログとに基づいて、ユーザ操作に応じた一連の画面遷移をそれぞれシナリオとして抽出する。また画面仕様分析モジュール５５は、画面特徴量算出機能５５Ｂにより、各シナリオをそれぞれ構成する各ウェブ画面について、ｎ種類（ｎは１以上の正数）の特徴量をそれぞれ算出し、算出したｎ種類の特徴量からｎ次元の特徴ベクトルを生成する。
【００４０】
また画面仕様分析モジュール５５は、シナリオ併合機能５５Ｃにより、上述のように生成した各ウェブ画面の特徴ベクトルに基づいてシナリオ間の類似性を判定し、類似するシナリオを１つのシナリオに併合した上で、シナリオごとの画面仕様書をそれぞれ生成する。さらに画面仕様分析モジュール５５は、画面複雑度算出機能５５Ｄにより、個々のウェブ画面の複雑度をそれぞれ算出する。
【００４１】
さらに画面仕様出力モジュール５６は、上述のようにして生成したシナリオごとの画面仕様書や各ウェブ画面の複雑度を、利用者からの要求に応じて画面仕様分析装置４の入出力装置３３（図１）に表示する。
【００４２】
なお操作ログテーブル３８の具体的な構成を図３に示す。この図３からも明らかなように、操作ログテーブル３８は、ページＩＤ欄３８Ａ、時刻欄３８Ｂ、イベント欄３８Ｃ、オブジェクト欄３８Ｄ及び属性欄３８Ｅから構成される。
【００４３】
そしてページＩＤ欄３８Ａには、ユーザ操作に応じてクライアント装置２がウェブ画面をロードするごとにそのウェブ画面に対して付与した固有の識別子（ページＩＤ）が格納され、イベント欄３８Ｃには、そのウェブ画面をロードしてからアンロードするまでの間に発生したイベントや補足情報の種別名が格納される。イベントとしては、例えば、そのウェブ画面の読み出し完了（「load」）、テキストボックスへの値の入力（「change」）、入力情報の送信（「submit」）及びウェブ画面のクローズ（「unload」）などがある。補足情報としては、例えば、ウェブ画面のＵＲＬ（Uniform Resource Locator）（「url」）、そのウェブ画面への遷移元のウェブ画面のＵＲＬ（「referer」）、ユーザの一連の画面遷移をトラッキングするための識別子（「trackingid」）、そのウェブ画面の画面名（「pageTitle」）などがある。
【００４４】
またオブジェクト欄３８Ｄには、イベント欄３８Ｃに格納されたイベントの対象がＸＰａｔｈ（XML Path Language）形式で格納される。例えば図３の例の場合、「change」イベントは、ＨＴＭＬ内の１番目のＤＩＶ要素内の１番目のＩＮＰＵＴ要素がイベント発生元であることが示されている。また、「load」や「url」イベントなど、ウェブ画面全体に対するイベントであったり補足情報であったりする場合は、オブジェクトとして「HTML[0]」を格納される。
【００４５】
さらに属性欄３８Ｅには、対応するイベントの対象の属性情報が格納される。例えば図３の例の場合、「url」というイベントについてはそのときロードされたウェブ画面のＵＲＬ（「URL2」）が属性欄３８Ｅに格納され、「referer」というイベントについては遷移元のウェブ画面のＵＲＬ（「URL1」）が属性欄３８Ｅに格納される。また「pageTitle」というイベントについては、「日帰精算書」というそのウェブ画面の画面名が属性欄３８Ｅに格納され、「change」というイベントについては、出張目的欄に入力された目的が格納される。
【００４６】
さらに時刻欄３８Ｂには、対応するイベントが発生した時刻が格納される。なお、図３において「load」から「trackingid」までは、現実的には同じ時刻に発生したイベントであるが、本実施の形態においてはイベントの発生順序をも操作ログテーブルで管理するため、便宜上、これらのイベントがそれぞれ異なる時刻に発生したものとして操作ログテーブル３８に登録される。
【００４７】
また画面ログテーブル３９は、図４に示すように、ページＩＤ欄３９Ａ、時刻欄３９Ｂ、ＨＴＭＬ欄３９Ｃ及びイベント欄３９Ｄから構成される。
【００４８】
そしてページＩＤ欄３９Ａには、操作ログテーブル３８に操作ログが記憶保持された各ウェブ画面にそれぞれ付与されたページＩＤが格納され、イベント欄３９Ｄには、ロード又はアンロードのいずれかのイベント名（「load」又は「unload」）が格納される。また時刻欄３９Ｂには、対応するイベント（「load」又は「unload」）が実行された時刻が格納される。
【００４９】
さらにＨＴＭＬ欄３９Ｃには、対応するイベントがロード（「load」）である場合には、対応するウェブ画面のロード時のＨＴＭＬフォーマットの画面データがそのまま格納され、対応するイベントがアンロード（「unload」）である場合には、対応するウェブ画面のアンロード時のＨＴＭＬフォーマットの画面データがそのまま格納される。
【００５０】
一方、シナリオテーブル４０は、図５に示す併合前シナリオテーブル４１と、図６（Ａ）及び（Ｂ）にそれぞれ示す第１及び第２の併合後シナリオテーブル４２，４３とから構成される。
【００５１】
このうち併合前シナリオテーブル４１は、操作ログテーブル３８に格納された操作ログに基づいて抽出された個々のシナリオを管理するために利用するテーブルであり、図５に示すように、シナリオＩＤ欄４１Ａ、遷移リスト欄４１Ｂ及びシナリオ名欄４１Ｃから構成される。
【００５２】
そしてシナリオＩＤ欄４１Ａには、対応するシナリオに付与されたそのシナリオに固有の識別子（シナリオＩＤ）が格納され、遷移リスト欄４１Ｂには、そのシナリオの遷移リストが格納される。遷移リストは、そのシナリオを構成する一連の各ウェブ画面にそれぞれ付与したページＩＤを対応するウェブ画面の遷移順と同じ順番で並べたものである。
【００５３】
またシナリオ名欄４１Ｃには、対応するシナリオの名称（シナリオ名）が格納される。本実施の形態の場合、対応するシナリオにおいて、あるウェブ画面から次のウェブ画面に遷移する契機となった画面部品（リンク又はボタン）のラベルをウェブ画面の遷移順に並べたものをシナリオ名として、そのシナリオ名がシナリオ名欄４１Ｃに格納される。
【００５４】
また第１の併合後シナリオテーブル４２は、併合処理により得られた各シナリオを構成するウェブ画面の特徴ベクトルを管理するために利用されるテーブルであり、図６（Ａ）に示すように、シナリオＩＤ欄４２Ａ及び特徴ベクトル列欄４２Ｂから構成される。そしてシナリオＩＤ欄４２Ａには、併合処理後の各シナリオにそれぞれ付与されたシナリオＩＤが格納され、特徴ベクトル列欄４２Ｂには、対応するシナリオを構成する各ウェブ画面の特徴ベクトルを対応するウェブ画面の遷移順に配列した特徴ベクトル列が格納される。なお特徴ベクトルの詳細については、図１０及び図１１を用いて後ほど説明する。
【００５５】
さらに第２の併合後シナリオテーブル４３は、併合処理によりどのシナリオとどのシナリオとが併合されたかを管理するために利用されるテーブルであり、図６（Ｂ）に示すように、シナリオＩＤ欄４３Ａ及び併合済みシナリオ欄４３Ｂから構成される。そしてシナリオＩＤ欄４３Ａには、併合処理後の各シナリオにそれぞれ付与されたシナリオＩＤが格納され、併合済みシナリオ欄４３Ｂには、対応するシナリオと併合されたすべてのシナリオのシナリオＩＤがそれぞれ格納される。
【００５６】
（２−２）本画面仕様分析機能に関連する各種処理の流れ
（２−２−１）ログ収集処理の流れ
図７は、各クライアント装置２の操作ログ及び画面ログを画面仕様分析装置４が収集するログ収集処理の一連の流れを示す。
【００５７】
このログ収集処理は、クライアント装置２のウェブブラウザモジュール５０がユーザ操作に応じてページ表示リクエストをウェブサーバ装置３に送信することにより開始される（ＳＰ１）。そしてウェブサーバ装置３では、このページ表示リクエストを受信すると（ＳＰ２）、ウェブサーバモジュール５２がウェブアプリケーションモジュール５３を呼び出し、呼び出されたウェブアプリケーションモジュール５３が必要なレスポンス（指定されたウェブ画面の操作ログ記録スクリプトコードを埋め込んだ画面データ）をクライアント装置２に送信する（ＳＰ３）。
【００５８】
クライアント装置２では、かかるレスポンスをウェブブラウザモジュール５０が受信すると（ＳＰ４）、当該ウェブブラウザモジュール５０が、スクリプトエンジンモジュール５１を呼び出す。そして呼び出されたスクリプトエンジンモジュール５１は、そのときウェブサーバ装置３から画面データが送信されてきたウェブ画面にページＩＤを生成すると共に、操作ログを記録するためのＤＯＭ（Document Object Model）イベントハンドラをウェブブラウザモジュール５０に登録する（ＳＰ５）。またスクリプトエンジンモジュール５１は、かかるウェブ画面の画面データをウェブブラウザモジュール５０から取得する（ＳＰ６）。かかる画面データの取得は、ウェブ画面のＤＯＭをトラバースし、ＨＴＭＬ形式の画面データとして再構成することで実現できる。ＤＯＭデータを利用することで、ユーザが入力したデータも合わせて画面データを取得することができる。
【００５９】
この後、スクリプトエンジンモジュール５１は、かかるウェブ画面上で何らかの操作が行われるごとに操作ログを生成し、生成した操作ログを操作ログ配列に順次追加する（ＳＰ７）。またスクリプトエンジンモジュール５１は、かかるウェブ画面がアンロードされると、そのときのそのウェブ画面の画面データをウェブブラウザモジュール５０から取得し、ステップＳＰ５で生成したそのウェブ画面のページＩＤと、ステップＳＰ６で作成した操作ログ配列とを画面仕様分析装置４に送信すると共に、ステップＳＰ６で取得した画面データと、かかるウェブ画面のアンロード時に取得した画面データとを画面ログとして画面仕様分析装置４に送信する（ＳＰ８）。
【００６０】
画面仕様分析装置４では、これらページＩＤ、操作ログ配列及び画面ログをログ収集サーバモジュール５４が受信し、受信した操作ログ配列をそのとき受信したページＩＤと対応付けて操作ログテーブル３８に追加登録すると共に、そのとき受信した画面ログをそのとき受信したページＩＤと対応付けて画面ログテーブル３９に追加登録する（ＳＰ９）。
【００６１】
（２−２−２）画面仕様分析処理
（２−２−２−１）画面仕様分析処理の流れ
一方、図８は、上述の操作ログ及び画面ログを収集した画面仕様分析装置４の画面仕様分析モジュール５５により実行される画面仕様分析処理の処理手順を示す。画面仕様分析モジュール５５は、この図８に示す処理手順に従って、ウェブサーバ装置３のウェブアプリケーションモジュール５３が提供するウェブ画面の画面仕様を分析する。
【００６２】
実際上、画面仕様分析モジュール５５は、操作ログテーブル３８を参照して、ユーザ操作に応じた一連の画面遷移をそれぞれシナリオとして抽出する（ＳＰ１０）。また画面仕様分析モジュール５５は、抽出した各シナリオについて、そのシナリオを構成する各ウェブ画面の特徴ベクトルをそれぞれ算出し、算出した各ウェブ画面の特徴ベクトルをその遷移順に並べることにより特徴ベクトル列を生成し、生成した特徴ベクトル列をそのシナリオのシナリオＩＤと対応付けて第１の併合後シナリオテーブル４２（図６（Ａ））に登録する（ＳＰ１１）。
【００６３】
次いで、画面仕様分析モジュール５５は、ステップＳＰ１１で算出した各画面の特徴ベクトルに基づいて、類似するシナリオ同士を１つのシナリオに併合し（ＳＰ１２）、この後、併合後のシナリオごとに、そのシナリオにおいて遷移する各ウェブ画面の画面データに基づいて、そのシナリオの名称（シナリオ名）を生成する（ＳＰ１３）。そして画面仕様分析モジュール５５は、この後、この画面仕様分析処理を終了する。
【００６４】
（２−２−２−２）シナリオ抽出処理
図９は、かかる画面仕様分析処理のステップＳＰ１０（図８）の具体的な処理内容を示す。画面仕様分析モジュール５５は、そのシナリオ抽出機能５５Ａ（図１）により、この図９に示す処理手順に従って、シナリオを抽出する。
【００６５】
この場合において、本実施の形態の場合、画面仕様分析装置４には、予め業務機能ごとの画面遷移の開始及び終了の各ウェブ画面を判定するための情報（以下、これを開始又は終了画面判定情報と呼ぶ）が予め与えられている。そして画面仕様分析モジュール５５は、この開始又は終了画面判定情報をローカルディスク３４に格納して管理しており、この開始又は終了画面判定情報に基づき認識される画面遷移の開始から終了までの範囲をシナリオとして抽出する。なお、かかる開始又は終了画面判定情報としては、ＵＲＬや、画面遷移の契機となる画面部品の識別子（リンク、ボタンなどのXPathやＩＤ属性）が適用される。なお開始又は終了画面は、開始又は終了画面判定情報を事前に定義するのではなく、画面遷移の最初又は最後のウェブ画面としても良い。
【００６６】
また本実施の形態の場合、画面仕様分析装置４には、画面遷移をシナリオとして抽出しない条件として、特定の画面遷移のパターンと、その画面遷移を構成する各ウェブ画面の特定のＵＲＬのパターンと、その画面遷移を構成するウェブ画面に含まれる特定の文字列のパターンとが予め与えられている。そして画面仕様分析モジュール５５は、これらの条件をローカルディスク３４に格納して管理しており、これらの中からいずれかを満たす画面遷移を除外してシナリオを抽出する。本除外条件の適用により、同一画面の繰り返しやエラー画面など、シナリオとして不要な画面遷移を除外することができる。
【００６７】
実際上、画面仕様分析モジュール５５は、画面仕様分析処理のステップＳＰ１０に進むと、この図９に示すシナリオ抽出処理を開始し、まず、操作ログテーブル３８（図３）のページＩＤ欄３８Ａに登録されたページＩＤの中から未処理のページＩＤを１つ取得する（ＳＰ２０）。
【００６８】
続いて、画面仕様分析モジュール５５は、ステップＳＰ２０で取得したページＩＤが付与されたウェブ画面が、開始又は終了画面判定情報に基づき認識される画面遷移の開始のウェブ画面であり、その遷移先となるウェブ画面が存在し、かつ開始又は終了画面判定情報に基づき認識される画面遷移の最後のウェブ画面でないか否かを判断する（ＳＰ２１）。この際、画面仕様分析モジュール５５は、遷移先となるウェブ画面が存在するか否かの判定は、操作ログテーブル３８（図３）を参照して、ステップＳＰ２０でページＩＤを取得したウェブ画面の操作ログ内にリンクや、画面遷移用のボタンなどに対する操作ログが存在するか否かを判定することにより行う。
【００６９】
そして画面仕様分析モジュール５５は、この判断で肯定結果を得ると、遷移元のウェブ画面における画面を遷移させる契機となったリンクやボタン等の画面部品に付与されたラベルのラベル情報を操作ログテーブル３８から取得すると共に（ＳＰ２２）、かかる遷移先のウェブ画面のページＩＤを操作ログテーブル３８から取得した後（ＳＰ２３）、ステップＳＰ２１に戻る。
【００７０】
この後、画面仕様分析モジュール５５は、ステップＳＰ２１において否定結果を得るまでステップＳＰ２１〜ステップＳＰ２３‐ステップＳＰ２１のループを繰り返す。これにより画面仕様分析モジュール５５は、ユーザ操作に応じた一連のウェブ画面の画面遷移をシナリオとして抽出することができる。
【００７１】
そして画面仕様分析モジュール５５は、やがて開始又は終了画面判定情報に基づき認識される画面遷移の最後のウェブ画面に到達することによりステップＳＰ２１で否定結果を得ると、そのとき抽出したシナリオを図５について上述した併合前シナリオテーブル４１に新規に登録する（ＳＰ２４）。具体的に、画面仕様分析モジュール５５は、そのシナリオを構成する各ウェブ画面のページＩＤを遷移順に並べた遷移リストを生成し、生成した遷移リストを併合前シナリオテーブル４１の遷移リスト欄４１Ｂに格納する。また画面仕様分析モジュール５５は、そのシナリオにシナリオＩＤを付与し、そのシナリオＩＤをシナリオＩＤ欄４１Ａに格納する。さらに画面仕様分析モジュール５５は、ステップＳＰ２１〜ステップＳＰ２３‐ステップＳＰ２１のループで取得した各ウェブ画面のラベル情報を取得順に並べたものをシナリオ名として生成し、生成したシナリオ名をシナリオ名欄４１Ｃに格納する。
【００７２】
次いで、画面仕様分析モジュール５５は、操作ログテーブル３８に登録されたすべてのページＩＤについてステップＳＰ２１〜ステップＳＰ２４の処理を実行し終えたか否かを判断する（ＳＰ２５）。そして画面仕様分析モジュール５５は、この判断で否定結果を得るとステップＳＰ２１に戻り、この後、ステップＳＰ２１〜ステップＳＰ２５‐ステップＳＰ２１のループを繰り返す。これにより画面仕様分析モジュール５５は、操作ログテーブル３８に登録されたすべてのページＩＤについて、それぞれ関連するシナリオを抽出することができる。
【００７３】
そして画面仕様分析モジュール５５は、やがて操作ログテーブル３８に登録されたすべてのページＩＤについてステップＳＰ２１〜ステップＳＰ２４の処理を実行し終えることによりステップＳＰ２５で肯定結果を得ると、このシナリオ抽出処理を終了する。
【００７４】
（２−２−２−３）画面特徴量算出処理
画面仕様分析モジュール５５は、図８について上述した画面仕様分析処理のステップＳＰ１１において、その画面特徴量算出機能５５Ｂにより、ステップＳＰ１０で抽出したシナリオごとに、そのシナリオを構成する各ウェブ画面のｎ種類の特徴量をそれぞれ算出し、算出したｎ種類の特徴量の一部又は全部に必要に応じて重み付けをし、これら重み付けしたｎ種類の特徴量に基づいてｎ次元の特徴ベクトルを生成する。
【００７５】
ここで本実施の形態の場合、ウェブ画面の特徴量は、図１０に示すように、そのウェブ画面のＵＲＬ、ＨＴＭＬ、リンクのラベル、画面名、遷移元のウェブ画面（以下、これを遷移元画面と呼ぶ）のリンク及び入力項目名などを利用して算出する。
【００７６】
例えばＵＲＬ、ＨＴＭＬ及び画面名については、そのウェブ画面に含まれるＵＲＬ、ＨＴＭＬ又は画面名を表すラベル情報の一部又は全部のハッシュ値をそのウェブ画面の特徴量の１つとする。またリンクのラベルについては、遷移元画面におけるそのウェブ画面への遷移の契機となった画面部品（ボタンやリンクなど）に付与されたラベルを表すラベル情報の一部又は全部のハッシュ値をそのウェブ画面の特徴量の１つとする。さらに遷移元画面のリンクについては、遷移元画面におけるそのウェブ画面への遷移の契機となった画面部品の画面構造（例えばＨＴＭＬ文書構造上の位置を表すXPathやＩＤ属性など）の一部又は全部のハッシュ値をそのウェブ画面の特徴量の１つとする。さらに入力項目については、遷移元画面においてユーザにより入力された項目の一部又は全部について、入力された項目の組み合わせを特徴量の１つとする。
【００７７】
また本実施の形態の場合、図１１に示すように、どの特徴量を重み付けするかはそのウェブ画面の種類によって、画面仕様分析装置の利用者によって設定される。例えば、そのウェブ画面が静的コンテンツのようにＵＲＬと一意に対応付けられている場合にはＵＲＬに基づき算出される特徴量が大きく影響するように（例えばＵＲＬに基づき算出される特徴量の重みを大きく、他の特徴量の重みを小さく）、一部又は全部の特徴量に重み付けし、そのウェブ画面がフレームワークを使っている場合などのようにＵＲＬとの対応付けが難しい場合にはＨＴＭＬに基づき算出される特徴量が大きく影響するように（例えばＨＴＭＬに基づき算出される特徴量の重みを大きく、他の特徴量の重みを小さく）一部又は全部の特徴量に重み付けをする。
【００７８】
（２−２−２−４）シナリオ併合処理
一方、図１２は、図８について上述した画面仕様分析処理のステップＳＰ１２の具体的な処理内容を示す。画面仕様分析モジュール５５は、そのシナリオ併合機能５５Ｃ（図１）により、この図１２に示す処理手順に従って、画面仕様分析処理のステップＳＰ１０で抽出したシナリオのうちの類似するシナリオ同士を併合する。
【００７９】
実際上、画面仕様分析モジュール５５は、画面仕様分析処理のステップＳＰ１２に進むと、この図１２に示すシナリオ併合処理を開始し、まず、併合前シナリオテーブル４１（図５）から未処理のシナリオを１つ選択する（ＳＰ３０）。
【００８０】
続いて、画面仕様分析モジュール５５は、併合前シナリオテーブル４１から未処理かつステップＳＰ３０で選択したシナリオ（以下、これを選択シナリオと呼ぶ）と類似するシナリオをすべて抽出する（ＳＰ３１）。
【００８１】
選択シナリオと類似するシナリオを抽出する手法としては、例えばクラスタ分析を利用することができる。クラスタ分析を利用する場合、まず、図１０及び図１１について上述した画面特徴量算出処理により算出した各ウェブ画面の特徴ベクトルをクラスタ分析することにより、各シナリオの各ウェブ画面を類似の画面群に分類する。その後、図５について上述した併合前シナリオテーブル４１の各行（レコード）の各遷移リスト欄４１Ｂにそれぞれ格納された遷移リストのページＩＤをそれぞれ上述のように分類した画面群のうちの対応する画面群のクラスタ番号に置き換える。そして、このようにして得られたクラスタ番号の列（クラスタ番号列）が選択シナリオのクラスタ番号列と一致するシナリオを選択シナリオと類似するシナリオとして抽出する。なおクラスタ分析の具体的手法としては、例えば「B.S.Everitt: Cluster Analysis, Edward Arnold, third edition, ISBN 13:9780340584798」や、「神嶌  敏弘“データマイニング分野のクラスタリング手法（１）−クラスタリングを使ってみよう！−”人工知能学会誌，vol.18, no.1, pp.59-65(2003)」に開示された手法を利用することができる。
【００８２】
次いで、画面仕様分析モジュール５５は、ステップＳＰ３１において抽出したシナリオの中から選択シナリオと併合可能なシナリオが存在するか否かを判断する（ＳＰ３２）。
【００８３】
併合可能なシナリオが一つもなかった場合、ステップＳＰ３２において否定結果を得ることとなる。この場合にはステップＳＰ３４に進む。
【００８４】
併合可能なシナリオがあった場合、ステップＳＰ３２において肯定結果を得ることとなる。この場合、画面仕様分析モジュール５５は、選択シナリオを第１の併合後シナリオテーブル４２（図６（Ａ））に登録すると共に、選択シナリオのシナリオＩＤと対応付けて、当該選択シナリオと併合可能なシナリオのシナリオＩＤを第２の併合後シナリオテーブル４３（図６（Ｂ））に登録する（ＳＰ３３）。
【００８５】
具体的に、画面仕様分析モジュール５５は、画面仕様分析モジュール５５は、選択シナリオのシナリオＩＤを第１の併合後シナリオテーブル４２の未使用の行（レコード）のシナリオＩＤ欄（４２Ａ）に格納する。また画面仕様分析モジュール５５は、選択シナリオを構成する各ウェブ画面の特徴ベクトルを対応するウェブ画面の遷移順に並べた特徴ベクトル列を生成し、生成した特徴ベクトル列を第１の併合後シナリオテーブル４２における上述の行の特徴ベクトル列欄４２Ｂに格納する。
【００８６】
また画面仕様分析モジュール５５は、選択シナリオのシナリオＩＤを第２の併合後シナリオテーブル４３のシナリオＩＤ欄４３Ａに格納し、ステップＳＰ３１及びステップＳＰ３２で抽出したその選択シナリオと併合可能なすべてのシナリオのシナリオＩＤをそれぞれ第２の併合後シナリオテーブル４３の対応する併合済みシナリオ欄４３Ｂに格納する。以上により、選択シナリオ及びこれに類似するシナリオが併合されたことになる。
【００８７】
上記特徴ベクトルを利用した併合処理により、同一のＵＲＬでも異なる機能のウェブ画面を表示するケースなど、本来別のウェブ画面として認識する必要があるケースを区別してシナリオを抽出することが可能となる。なお、このようなケースとしては、例えば、ログインの有無で異なる画面を表示するケースや、アプリケーションフレームワークを使っていてＵＲＬには画面を特定する情報が含まれないケースなどが挙げられる。
【００８８】
この後、画面仕様分析モジュール５５は、併合前シナリオテーブル４１に登録されたシナリオのうち、ステップＳＰ３０〜ステップＳＰ３３の処理が未処理のシナリオが存在するか否かを判断する（ＳＰ３４）。
【００８９】
そして画面仕様分析モジュール５５は、この判断で否定結果を得るとステップＳＰ３０に戻り、この後ステップＳＰ３４で肯定結果を得るまでステップＳＰ３０〜ステップＳＰ３４の処理を繰り返す。そして画面仕様分析モジュール５５は、やがて併合前シナリオテーブル４１に登録されたすべてのシナリオに対する併合処理を完了することによりステップＳＰ３４で肯定結果を得ると、このシナリオ併合処理を終了する。
【００９０】
（２−２−３）画面複雑度算出処理
一方、画面仕様分析モジュール５５は、各ウェブ画面における入力可能な項目数（以下、これを入力可能項目数と呼ぶ）及び出力項目数と、そのウェブ画面に実際に入力された項目数（以下、これを入力済項目数と呼ぶ）との何れか１つ以上を操作ログ及び画面ログに基づいて取得し、取得したこれらの情報に基づいて各ウェブ画面の複雑度をそれぞれ算出する。
【００９１】
なお入力可能項目数は、例えばテキストボックスやチェックマーク、プルダウンボタンなどのユーザが入力又は選択可能な箇所の合計数として求めることができる。出力項目数は、ユーザやトランザクション等によってウェブ画面の出力内容が変わる箇所の合計数として求めることができる。ウェブ画面の出力内容が変わる箇所の判定は、画面ログテーブル３９の画面データを比較することで実現できる。また入力済項目数は、ユーザがウェブ画面に入力又は選択した箇所の合計数として求めることができる。
【００９２】
ウェブ画面の複雑度の具体的な算出手法としては、そのウェブ画面の複雑度をＣとし、対象とするウェブ画面における入力可能項目数、出力項目数及び入力済項目数の平均値をそれぞれｘａｖｅ、ｙａｖｅ、ｚａｖｅとし、全ウェブ画面を通じて入力可能項目数、出力項目数及び入力済項目数の最大値をそれぞれｘｍａｘ、をｙｍａｘ、ｚｍａｘとし、入力可能項目数、出力項目数及び入力済項目数に対する係数をそれぞれα、β、γとして、次式により求める方法を適用することができる。
【数１】
2016051479.tif 000003
【００９３】
この方法によれば、そのウェブ画面を表示するウェブアプリケーションの種類に依らずに複雑度の最大値がα＋β＋γとなるように正規化することができる。
【００９４】
そして画面仕様分析モジュール５５は、画面仕様分析装置４の入出力装置３３が操作されてウェブ画面の複雑度を表示すべき旨の指示が入力された場合、画面ログテーブル３９に画面データが登録されているすべてのウェブ画面について、そのロード時の画面の複雑度をそれぞれ算出し、得られた各ウェブ画面の複雑度を一覧にまとめて画面仕様分析装置４の入出力装置３３に表示させる。
【００９５】
（２−３）具体例
次に、以上のような本実施の形態による画面仕様分析機能の具体例を図１３〜図１９を参照して説明する。
【００９６】
図１３〜図１６は、ユーザ操作によりクライアント装置２の入出力装置１３（図１）に表示されるシナリオの一例を示す。図１３はスタート画面６０であり、ユーザＩＤ用テキストボックス６１及びパスワード用テキストボックス６２と、ログインボタン６３とが表示される。
【００９７】
そしてユーザは、入出力装置１３を操作してユーザＩＤ用テキストボックス６１にユーザＩＤを入力し、パスワード用テキストボックス６２にパスワードを入力した後にログインボタン６３をクリックすることによって、図１４に示すメインメニュー画面７０をクライアント装置２の入出力装置１３に表示させることができる。
【００９８】
メインメニュー画面７０は、一般ユーザを対象とするメニューが表示された一般メニューフィールド７１と、管理者を対象とするメニューが表示された管理者メニューフィールド７２とに区分されている。
【００９９】
そして一般メニューフィールド７１には、「国内出張」用のメニューとして、「申請（事前）」、「日帰精算」及び「宿泊精算」という文字列が表示され、「海外出張」用のメニューとして、「申請（事前）」及び「精算」という文字列が表示されている。
【０１００】
また管理者メニューフィールド７２には、「承認／差戻し処理」用のメニューとして、「申請分」及び「精算分」という文字列が表示され、「承認履歴検索／承認取消」用のメニューとして、同じく「申請分」及び「精算分」という文字列が表示されている。
【０１０１】
そしてこれらの文字列には、いずれも対応するウェブ画面へのリンクが張られており、かくしてユーザや管理者は、所望する文字列をクリックすることによって、その文字列に応じたウェブ画面に進むことができる。
【０１０２】
図１５は、かかるメインメニュー画面７０において一般メニューにおける「国内出張」用のメニューとして表示された「日帰精算」という文字列をクリックすることにより表示される日帰精算書画面８０を示す。この日帰精算書画面８０には、出張日、出張目的、交通費（出発地、到着地、摘要及び乗車金額）をそれぞれ入力するための複数のテキストボックス８１〜８５と、旅費が複数の部門で按分される場合にチェックすべき負担按分用チェックボックス８７及び旅費が複数の部門で按分される場合の按分すべき部門を入力するためのテキストボックス８６と、承認依頼ボタン８９、一時保存ボタン９０及び削除ボタン９１とが表示される。
【０１０３】
そして日帰精算書画面８０では、必要なテキストボックス８１〜８７に出張日、出張目的、交通費（出発地、到着地、摘要及び乗車金額）等の必要な情報を入力した後、承認依頼ボタン８９をクリックすることによって、その日帰精算書画面８０において入力した情報を承認権限を有するユーザに転送させた上でメインメニュー画面７０（図１４）に戻ることができる。また日帰精算書画面８０では、負担按分用チェックボックス８７にチェックマークを表示させた状態で承認依頼ボタン８９をクリックすることによって、図示しない按分設定画面に遷移することができる。
【０１０４】
さらに日帰精算書画面８０では、削除ボタン９１をクリックすることによって、テキストボックス８１〜８７に入力した情報を破棄させた上でメインメニュー画面７０に戻ることができる。さらに日帰精算書画面８０では、必要なテキストボックス８１〜８７に必要な情報を入力した後に一時保存ボタン９０をクリックすることによって、そのときその日帰精算書画面８０で入力した情報を一時保存した上でメインメニュー画面７０に戻ることができる。
【０１０５】
なお、上述のように日帰精算書画面８０で入力した情報を一時保存した状態にある場合、その後、メインメニュー画面７０において一般メニューにおける「国内出張」用のメニューとして表示された「日帰精算」という文字列をクリックすると、表示画面が上述の日帰精算書画面８０ではなく、図１６に示す国内日帰精算一時保存一覧画面１００に遷移する。
【０１０６】
この国内日帰精算一時保存一覧画面１００では、それまでに日帰精算書画面８０に入力し一時保存した情報に付与された識別番号（以下、これを処理番号と呼ぶ）と、その情報に対応する国内日帰出張の出発日及び帰着日とが一覧１０１として表示される。そして国内日帰精算一時保存一覧画面１００では、かかる一覧１０１に表示された処理番号をクリックすることにより、その情報が入力された状態の日帰精算書画面８０を表示させることができる。
【０１０７】
かくしてユーザは、その状態で承認依頼ボタン８９をクリックすることによって、その日帰精算書画面８０において入力されている情報を、承認権限を有するユーザに転送させた上でメインメニュー画面７０に戻ることができる。
【０１０８】
図１７は、画面仕様分析装置４の画面仕様分析モジュール５５が図９について上述したシナリオ抽出処理を実行することにより、図１３〜図１６に関連して抽出されるシナリオの例を示す。
【０１０９】
図１７（Ａ）は、スタート画面６０（図１３）を起点画面として、当該スタート画面６０の「ログイン」ボタン６３をクリックすることで表示画面がメインメニュー画面７０（図１４）に遷移し、当該メインメニュー画面７０の「日帰精算」という文字列（リンク）をクリックすることで表示画面が日帰精算書画面８０（図１５）に遷移し、さらに当該日帰精算書画面８０で必要事項を入力した後に「承認依頼」ボタン８９をクリックすることで表示画面がメインメニュー画面７０に遷移するというシナリオである。
【０１１０】
また図１７（Ｂ）は、スタート画面６０を起点画面として、当該スタート画面６０の「ログイン」ボタン６３をクリックすることで表示画面がメインメニュー画面７０に遷移し、当該メインメニュー画面７０の「日帰精算」という文字列（リンク）をクリックすることで表示画面が国内日帰精算一時保存一覧画面１００に遷移し、当該国内日帰精算一時保存一覧画面１００の「67JP676625(01)」という処理番号（リンク）をクリックすることで表示画面が日帰精算書画面８０に遷移し、さらに当該日帰精算書画面８０の「承認依頼」ボタン８９をクリックすることで表示画面がメインメニュー画面７０に遷移するというシナリオである。
【０１１１】
さらに図１７（Ｃ）は、スタート画面６０を起点画面として、当該スタート画面６０の「ログイン」ボタン６３をクリックすることで表示画面がメインメニュー画面７０に遷移し、当該メインメニュー画面７０の「日帰精算」という文字列（リンク）をクリックすることで表示画面が国内日帰精算一時保存一覧画面１００に遷移し、当該国内日帰精算一時保存一覧画面１００の「67JP676789(01)」という処理番号（リンク）をクリックすることで表示画面が日帰精算書画面８０に遷移し、さらに当該日帰精算書画面８０の「承認依頼」ボタン８９をクリックすることで表示画面がメインメニュー画面７０に遷移するというシナリオである。
【０１１２】
さらに図１７（Ｄ）は、スタート画面６０を起点画面として、当該スタート画面６０の「ログイン」ボタン６３をクリックすることで表示画面がメインメニュー画面７０に遷移し、当該メインメニュー画面７０の「日帰精算」という文字列（リンク）をクリックすることで表示画面が日帰精算書画面８０に遷移し、さらに当該日帰精算書画面８０において負担按分用チェックボックス８７にチェックマークが表示された状態で「承認依頼」ボタン８９をクリックすることで表示画面が上述の按分設定画面に遷移し、さらに当該按分設定画面の「完了」ボタンをクリックすることで表示画面がメインメニュー画面７０に遷移するというシナリオである。
【０１１３】
図１８は、図１７（Ａ）〜（Ｄ）に示す各シナリオについて、画面仕様分析装置４の画面仕様分析モジュール５５が図１０及び図１１について上述した画面特徴量算出処理と、図１２について上述したシナリオ併合処理とを実行した後の様子を示す。この図１８に示すように、図１７（Ｂ）のシナリオ及び図１７（Ｃ）のシナリオは、類似するシナリオとして判定されて併合される。
【０１１４】
図１９及び図２０は、画面仕様分析装置４の入出力装置３３に表示される画面仕様書画面１１０の構成例を示す。図１９は、図１８（Ａ）のシナリオについての画面仕様書画面１１０であり、図２０は、図１８（Ｂ）についての画面仕様書画面１１０である。
【０１１５】
これら図１９及び図２０に示すように、本実施の形態の画面仕様書画面１１０では、対応するシナリオを構成する各ウェブ画面の画面名が大きな枠体（以下、これを画面名表示枠体と呼ぶ）１１１内に表示される。そして、これらの画面名表示枠体１１１は、対応するウェブ画面の遷移順に並べられ、これらの画面名表示枠体１１１間が遷移方向を表す矢印１１２で繋がれる。
【０１１６】
また画面仕様書画面１１０における画面名表示枠体１１１間には、それぞれ遷移元のウェブ画面から遷移先のウェブ画面に遷移する契機となった画面部品のラベルが記述された、画面名表示枠体１１１よりも小さい角なしの枠体（以下、これをラベル等表示枠体と呼ぶ）１１３が表示される。なおラベル等表示枠体１１３は、ユーザの入力内容によって異なるウェブ画面に分岐、すなわち別のシナリオが存在する場合は、二重枠で表示される。一方、一重枠は、入力内容によらず常に同じウェブ画面に遷移する場合である。分岐の条件は、操作ログテーブル３８のユーザの入力内容（図３のchangeイベント）を基に抽出することができる。
【０１１７】
さらに画面仕様書画面１１０では、二重枠のラベル等表示枠体１１３の右側には、画面遷移の分岐の条件が表示される。例えば、図１９及び図２０において、「divideがfalse」とは、図１５について上述した日帰精算書画面８０において負担按分用チェックボックス８７にチェックをいれていないことを条件とすることを表す。また、分岐の条件が多数個ある場合、「詳細表示」という文字列のリンクが表示され、画面遷移の条件を別画面で表示させることができる。
【０１１８】
他方、図２１は、画面仕様分析装置４を所定操作することによりその入出力装置３３に表示させ得る画面一覧画面１２０を示す。この画面一覧画面１２０では、上述の画面複雑度算出処理により算出した各ウェブ画面の複雑度が一覧表示される。なお各ウェブ画面の複雑度の表示方法として、ウェブ画面をその複雑度でソートしてその順番で表示するようにしても良い。
【０１１９】
また画面一覧画面１２０では、各ウェブ画面にそれぞれ対応させて、当該ウェブ画面が含まれる画面仕様書画面１１０（図１９及び図２０）へのリンクも表示される。かくしてユーザは、画面一覧画面１２０において、所望するウェブ画面のリンクをクリックすることによって、そのウェブ画面が含まれる画面仕様書画面１１０に表示画面を切り替えることができる。
【０１２０】
（３）本実施の形態の効果
以上のように本実施の形態による画面仕様分析システム１では、ユーザ操作に応じた一連の画面遷移をシナリオとして抽出するため、画面仕様分析装置４の利用者が業務機能単位にウェブ画面をまとめる手間を必要としない。
【０１２１】
また本画面仕様分析システム１では、各ウェブ画面の１以上の特徴量に基づいてシナリオの類似性を判定し、類似するシナリオ同士を併合するため、ＵＲＬとウェブ画面との対応が静的かつ一対一でない場合においても、「類似性」の設定（つまり特徴量の選定及び特徴量ごとの重みの設定）次第で、例えば同一のＵＲＬでも別物としたいウェブ画面同士を別のウェブ画面として画面仕様認識装置４に認識させたり、異なるＵＲＬでも同一としたいウェブ画面同士を同一のウェブ画面として画面仕様認識装置４に認識させた上で、各シナリオの画面仕様書を画面仕様認識装置４に作成させることができる。
【０１２２】
従って、本画面仕様分析システム１によれば、現行システムの仕様把握を容易にする。また、画面仕様分析装置４の利用者が同一ウェブ画面の重複カウントや、ウェブ画面のカウント忘れに伴う見積もり精度のブレが生じ難く、高い精度でシステム更改時等の費用見積もりを行うことができる。かくするにつき、本画面仕様分析システム１によれば、システム更改時等における費用見積もりの作成作業を容易化し、かつ作成される費用見積もりの精度を向上させることができる。
【０１２３】
（４）他の実施の形態
なお上述の実施の形態においては、本発明による画面仕様分析装置４を、クライアント装置２と、当該クライアント装置２からの要求に応じて各種業務用のウェブ画面の画面データをクライアント装置２に送信するウェブサーバ装置３とから構成される画面仕様分析システム１に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成の画面仕様分析システムに広く適用することができる。
【０１２４】
また上述の実施の形態においては、画面仕様分析装置４におけるウェブ画面上で行われた操作のログを操作ログとして収集すると共に、ウェブ画面の画面データを画面ログとして収集するログ収集部と、ログ収集部が収集した操作ログに基づいて、一連の画面遷移をシナリオとして抽出するシナリオ抽出部と、ログ収集部が収集した画面ログに基づいて、各ウェブ画面の１以上の特徴量をそれぞれ算出する画面特徴量算出部と、画面特徴量算出部により算出された各ウェブ画面の特徴量に基づいて、類似するシナリオ同士を併合するシナリオ併合部と、併合後のシナリオごとの画面遷移の仕様を出力する画面仕様出力部とをいずれもソフトウェア構成（それぞれログ収集サーバモジュール５４、画面仕様分析モジュール５５又は画面仕様出力モジュールにより構成）とするようにした場合について述べたが、本発明はこれに限らず、これらログ収集部、シナリオ抽出部、画面特徴量算出部、シナリオ併合部及び画面仕様出力部の一部又は全部を専用のハードウェアにより構成するようにしても良い。
【０１２５】
さらに上述の実施の形態においては、ウェブ画面の特徴量として図１０について上述した特徴量を適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の特徴量を広く適用することができる。
【０１２６】
さらに上述の実施の形態においては、ウェブ画面の複雑度を上述の（１）式により算出するようにした場合について述べたが、本発明はこれに限らず、この他種々の算出方法を広く適用することができる。
【産業上の利用可能性】
【０１２７】
本発明は、クライアント装置と、クライアント装置からの要求に応じて要求されたウェブ画面をそのクライアント装置に提供するウェブサーバ装置とを備える画面仕様分析システムに広く適用することができる。
【符号の説明】
【０１２８】
１……画面仕様分析システム、２……クライアント装置、３……ウェブサーバ装置、４……画面仕様分析装置、１０，２０，３０……プロセッサ、１１，２１，３１……メモリ、１３，２３，３３……入出力装置、３５……ログ収集サーバプログラム、３６……画面仕様分析プログラム、３７……画面仕様出力プログラム、３８……操作ログテーブル、３９……画面ログテーブル、４０……シナリオテーブル、４１……併合前シナリオテーブル、４２……第１の併合後シナリオテーブル、４３……第２の併合後シナリオテーブル、５４……ログ収集サーバモジュール、５５……画面仕様分析モジュール、５５Ａ……シナリオ抽出機能、５５Ｂ……画面特徴量算出機能、５５Ｃ……シナリオ併合機能、５５Ｄ……画面複雑度算出機能、５６……画面仕様出力モジュール、１１０……画面仕様書画面、１２０……画面一覧画面。
【図１】
2016051479.tif 000004
【図２】
2016051479.tif 000005
【図３】
2016051479.tif 000006
【図４】
2016051479.tif 000007
【図５】
2016051479.tif 000008
【図６】
2016051479.tif 000009
【図７】
2016051479.tif 000010
【図８】
2016051479.tif 000011
【図９】
2016051479.tif 000012
【図１０】
2016051479.tif 000013
【図１１】
2016051479.tif 000014
【図１２】
2016051479.tif 000015
【図１３】
2016051479.tif 000016
【図１４】
2016051479.tif 000017
【図１５】
2016051479.tif 000018
【図１６】
2016051479.tif 000019
【図１７】
2016051479.tif 000020
【図１８】
2016051479.tif 000021
【図１９】
2016051479.tif 000022
【図２０】
2016051479.tif 000023
【図２１】
2016051479.tif 000024
【国際調査報告】
2016051479.tif 000025
2016051479.tif 000026
2016051479.tif 000027
2016051479.tif 000028