JPWO2016051479A1 - 画面仕様分析装置及び方法 - Google Patents

画面仕様分析装置及び方法 Download PDF

Info

Publication number
JPWO2016051479A1
JPWO2016051479A1 JP2016551366A JP2016551366A JPWO2016051479A1 JP WO2016051479 A1 JPWO2016051479 A1 JP WO2016051479A1 JP 2016551366 A JP2016551366 A JP 2016551366A JP 2016551366 A JP2016551366 A JP 2016551366A JP WO2016051479 A1 JPWO2016051479 A1 JP WO2016051479A1
Authority
JP
Japan
Prior art keywords
screen
web
scenario
transition
log
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016551366A
Other languages
English (en)
Other versions
JP6232145B2 (ja
Inventor
克朗 菊地
克朗 菊地
大輔 田代
大輔 田代
恵木 正史
正史 恵木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2016051479A1 publication Critical patent/JPWO2016051479A1/ja
Application granted granted Critical
Publication of JP6232145B2 publication Critical patent/JP6232145B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】システム更改時等における現行システムの仕様把握と費用見積もり作成の作業を容易化し、かつ作成される費用見積もりの精度を向上させ得る画面仕様分析装置及び方法を提案する。【解決手段】サーバ装置が提供するウェブ画面の画面仕様を分析する画面仕様分析装置及び当該画面仕様分析装置により実行される画面仕様分析方法において、ウェブ画面上で行われた操作のログを操作ログとして収集すると共に、ウェブ画面の画面データを画面ログとして収集し、収集した操作ログに基づいて、一連の画面遷移をシナリオとして抽出し、収集した画面ログに基づいて、各ウェブ画面の1以上の特徴量をそれぞれ算出し、算出した各ウェブ画面の特徴量に基づいて、類似するシナリオ同士を併合し、併合後のシナリオごとの画面遷移の仕様を表す画面仕様を出力するようにした。

Description

本発明は画面仕様分析装置及び方法に関し、例えば、ウェブサーバ装置が提供するウェブページ(以下、これをウェブ画面と呼ぶ)の画面仕様を分析する画面仕様分析装置に適用して好適なものである。
システムを更改する場合に、業務内容や更改対象システムの理解不足により上流設計の仕様があいまいとなり、システム開発の手戻りが発生することで、開発コストや工期の増大化することが問題となっている。このようなシステム開発の手戻りを防止するためには、現行システムの調査を詳細に行うことが重要である。現行システムの調査を行う際の問題として、過去のシステム更改の際に新たな仕様を仕様書に追加しなかったなどの理由により仕様書が陳腐化している場合が多いことが挙げられる。
このような事情に鑑み、従来、現行システムから画面仕様(画面構成や画面遷移)を直接把握する技術が特許文献1に提案されている。本技術は、ウェブアプリケーションの操作手順書を、ウェブアプリケーションを自動巡回することにより得られた情報に基づいて生成するものである。
特許文献1は、初めに指定されたURL(Uniform Resource Locator)を起点として、ウェブ画面の取得や、ウェブ画面のキャプチャの取得、及び、ウェブ画面中に含まれるリンクの抽出を再帰的に行うことにより、ウェブ画面の遷移を網羅的に抽出する。次いで上述のようにして抽出したウェブ画面の画面遷移を人手により国内旅費申請や国内旅費精算などの業務機能単位にまとめて、その業務機能単位で手順書を生成する。
特開2010−79342号公報
ところが、かかる特許文献1に開示された技術によると、上述のように、抽出されたウェブ画面の画面遷移を人手により業務機能単位にまとめる必要があり、手順書の作成に手間及び時間を要する問題があった。
一方、システムの更改を業者に依頼する場合、システムが提供するウェブ画面の画面数と、個々のウェブ画面の複雑さの度合い(以下、これを複雑度と呼ぶ)とに基づいてその費用が決定されることが多い。従って、システムの更改の依頼を受けた業者は、高い精度で費用の見積もりを行うために、現行システムにおけるウェブ画面の画面数と、個々のウェブ画面の複雑度とを精度良く把握する必要がある。
この場合、システムで提供されるウェブ画面の中には、例えばログインの有無によって同一のURLでも異なる内容のウェブ画面が表示される仕様のときのように、同一のURLであっても別物としてカウントすべきウェブ画面や、「日記1」、「日記2」、……などのように、異なるURLであっても同一画面としてカウントすべきウェブ画面がある。
しかしながら特許文献1に開示された技術は、URL及びウェブ画面が静的に一対一に対応することを前提としており、同一のURLであっても別のウェブ画面としてカウントすべき場合や、異なるURLであっても同一のウェブ画面としてカウントすべき場合に対応できない。
このため、かかる費用見積もりを行う際に特許文献1に開示された技術を適用したとしても、最終的にはウェブ画面の画面数のカウントや画面構成の複雑度の判定を人手により行わなければならず、当該費用見積もりの作成に時間及び手間を要する問題があった。またこのように人手によりウェブ画面の画面数のカウントを行う場合、同一画面の重複カウントや、画面のカウント忘れに伴う見積もり精度のブレが発生し易く、高い精度での費用見積もりを行い難い問題があった。
本発明は以上の点を考慮してなされたもので、システム更改時等における現行システムの仕様把握と費用見積もり作成の作業を容易化し、かつ作成される費用見積もりの精度を向上させ得る画面仕様分析装置及び方法を提案しようとするものである。
かかる課題を解決するため本発明においては、サーバ装置が提供するウェブ画面の画面仕様を分析する画面仕様分析装置において、前記ウェブ画面上で行われた操作のログを操作ログとして収集すると共に、前記ウェブ画面の画面データを画面ログとして収集するログ収集部と、前記ログ収集部が収集した前記操作ログに基づいて、一連の画面遷移をシナリオとして抽出するシナリオ抽出部と、前記ログ収集部が収集した前記画面ログに基づいて、各前記ウェブ画面の1以上の特徴量をそれぞれ算出する画面特徴量算出部と、前記画面特徴量算出部により算出された各前記ウェブ画面の前記特徴量に基づいて、類似する前記シナリオ同士を併合するシナリオ併合部と、併合後の前記シナリオごとの画面遷移の仕様を表す画面仕様を出力する画面仕様出力部とを設けるようにした。
また本発明においては、サーバ装置が提供するウェブ画面の画面仕様を分析する画面仕様分析装置により実行される画面仕様分析方法において、前記画面仕様分析装置が、前記ウェブ画面上で行われた操作のログを操作ログとして収集すると共に、前記ウェブ画面の画面データを画面ログとして収集する第1のステップと、前記画面仕様分析装置が、収集した前記操作ログに基づいて、一連の画面遷移をシナリオとして抽出する第2のステップと、前記画面仕様分析装置が、前記画面ログに基づいて、各前記ウェブ画面の1以上の特徴量をそれぞれ算出し、算出した各前記ウェブ画面の前記特徴量に基づいて、類似する前記シナリオ同士を併合する第3のステップと、前記画面仕様分析装置が、併合後の前記シナリオごとの画面遷移の仕様を表す画面仕様を出力する第4のステップとを設けるようにした。
かかる本画面仕様分析装置及び方法によれば、現行システムの仕様把握の作業を容易化し、また、画面仕様分析装置の利用者が同一ウェブ画面の重複カウントや、ウェブ画面のカウント忘れに伴う見積もり精度のブレが生じ難く、高い精度でシステム更改時等の費用見積もりを行うことができる。
本発明によれば、システム更改時等における現行システムの仕様把握と費用見積もり作成の作業を容易化し、かつ作成される費用見積もりの精度を向上させることができる。
本実施の形態による画面仕様分析システムの全体構成を示すブロック図である。 本画面仕様分析システムの論理構成を示すブロック図である。 操作ログテーブルを示す概念図である。 画面ログテーブルを示す概念図である。 併合前シナリオテーブルを示す概念図である。 (A)は第1の併合後シナリオテーブルを示す概念図であり、(B)は第2の併合後シナリオテーブルを示す概念図である。 ログ収集処理の流れを示すシーケンス図である。 画面仕様分析処理の処理手順を示すフローチャートである。 シナリオ抽出処理の処理手順を示すフローチャートである。 画面特徴量算出処理の説明に供する図表である。 画面特徴量算出処理の説明に供する図表である。 シナリオ併合処理の処理手順を示すフローチャートである。 本実施の形態による画面仕様分析処理の具体例の説明に供する、スタート画面の構成例を示す略線図である。 本実施の形態による画面仕様分析処理の具体例の説明に供する、メインメニュー画面の構成例を示す略線図である。 本実施の形態による画面仕様分析処理の具体例の説明に供する、日帰精算書画面の構成例を示す略線図である。 本実施の形態による画面仕様分析処理の具体例の説明に供する、国内日帰精算一時保存一覧画面の構成例を示す略線図である。 (A)〜(D)は、シナリオ抽出処理により抽出されたシナリオの具体例を示す概念図である。 (A)〜(C)は、シナリオ併合処理により併合されたシナリオの具体例を示す概念図である。 画面仕様書画面の構成例を示す略線図である。 画面仕様書画面の構成例を示す略線図である。 画面一覧画面の構成例を示す略線図である。
以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態による画面仕様分析システムの構成
図1において、1は全体として本実施の形態による画面仕様分析システムの全体構成を示す。この画面仕様分析システム1は、1又は複数のクライアント装置2と、ウェブサーバ装置3と、画面仕様分析装置4とを有し、これらがネットワーク5を介して相互に接続されて構成されている。
クライアント装置2は、ユーザがウェブサーバ装置3にアクセスし、必要なウェブ画面を閲覧及び利用等するために用いるコンピュータ装置であり、プロセッサ10、メモリ11、ネットワークインタフェース12及び入出力装置13を備えて構成される。
プロセッサ10は、クライアント装置2全体の動作制御を司る機能を有するハードウェアである。メモリ11は、例えば半導体メモリから構成され、ウェブブラウザプログラム14及びスクリプトエンジンプログラム15等の各種プログラムを記憶保持するために利用されるほか、プロセッサ10のワークメモリとしても利用される。メモリ11に格納された各種プログラムをプロセッサ10が実行することにより、クライアント装置2全体としての各種処理が実行される。
ネットワークインタフェース12は、クライアント装置2がネットワーク5を介してウェブサーバ装置3と通信を行うためのインタフェースであり、例えばNIC(Network Interface Card)などから構成される。入出力装置13は、ユーザが必要な指示や情報をクライアント装置2に入力するために利用する入力装置と、ユーザ操作に応じてウェブサーバ装置3からダウンロードしたウェブ画面等を表示する出力装置とから構成される。入力装置は、例えばキーボードやマウスなどから構成され、出力装置は、例えば液晶ディスプレイなどから構成される。
ウェブサーバ装置3は、ネットワーク5を介して与えられるクライアント装置2からの要求に応じて、例えば図13について後述するスタート画面60や、図14について後述するメインメニュー画面70、図15について後述する日帰精算書画面80又は図16について後述する国内日帰精算一時保存一覧画面100等の各種業務用のウェブ画面の画面データをクライアント装置2に送信する機能を有するサーバ装置である。
このウェブサーバ装置3は、プロセッサ20、メモリ21、ネットワークインタフェース22、入出力装置23及びローカルディスク24を備えて構成される。プロセッサ20、メモリ21、ネットワークインタフェース22及び入出力装置23は、それぞれクライアント装置2の対応部位(プロセッサ10、メモリ11、ネットワークインタフェース12又は入出力装置13)と同様の機能及び構成を有するものであるため、ここでの説明は省略する。なおウェブサーバ装置3のメモリ21には、ウェブサーバプログラム25及びウェブアプリケーションプログラム26が格納される。
ローカルディスク24は、例えばハードディスク装置、SSD(Solid State Drive)又はRAID(Redundant Arrays of Inexpensive Disks)などから構成され、ウェブサーバ装置3がクライアント装置2に提供する各種ウェブ画面のHTML(Hypertext Markup Language)フォーマットの画面データがそれぞれHTMLファイル27として格納される。
画面仕様分析装置4は、後述の画面仕様書を生成して本画面仕様分析装置4の利用者に提示する機能を有するサーバ装置であり、プロセッサ30、メモリ31、ネットワークインタフェース32、入出力装置33及びローカルディスク34から構成される。プロセッサ30、メモリ31、ネットワークインタフェース32及び入出力装置33は、それぞれクライアント装置2の対応部位と同様の機能及び構成を有するものであるため、ここでの説明は省略する。なお画面仕様分析装置4のメモリ31には、ログ収集サーバプログラム35、画面仕様分析プログラム36及び画面仕様出力プログラム37が格納される。
ローカルディスク34は、例えばハードディスク装置、SSD又はRAIDなどから構成され、後述する操作ログテーブル38、画面ログテーブル39及びシナリオテーブル40などを記憶保持するために利用される。
(2)本実施の形態による画面仕様分析機能
(2−1)画面仕様分析機能の概要及びテーブル構成
次に、かかる画面仕様分析システム1の画面仕様分析装置4に搭載された画面仕様分析機能について説明する。本画面仕様分析装置4には、クライアント装置2のユーザがウェブ画面上で行った操作のログ(以下、これを操作ログと呼ぶ)と、かかるウェブ画面のロード時及びアンロード時の画面データ(以下、これらをまとめて画面ログと呼ぶ)とを各クライアント装置2からそれぞれ収集し、収集したこれら操作ログ及び画面ログに基づいて、ユーザ操作に応じた一連のウェブ画面の画面遷移と、個々のウェブ画面の複雑度とを分析する画面仕様分析機能が搭載されている。
実際上、画面仕様分析装置4は、かかる操作ログ及び画面ログを各クライアント装置2からそれぞれ収集し、収集した操作ログ及び画面ログに基づいて、ユーザ操作に応じた一連の画面遷移をそれぞれシナリオとして抽出する。そして画面仕様分析装置4は、このようにして抽出したシナリオ同士の類似性を判定し、類似のシナリオは1つのシナリオとして併合した上で、ウェブ画面の画面遷移の様子を表す画面仕様書をシナリオごとにそれぞれ生成し、生成した画面仕様書を入出力装置33に表示する。また画面仕様分析装置4は、操作ログ及び画面ログに基づいて、各シナリオをそれぞれ構成する各ウェブ画面の複雑度を算出し、算出した各ウェブ画面の複雑度を一覧表示する。
このような画面仕様分析機能を実現するための手段として、本画面仕様分析システム1の場合、図2に示すように、クライアント装置2には、ウェブブラウザモジュール50及びスクリプトエンジンモジュール51が搭載され、ウェブサーバ装置3には、ウェブサーバモジュール52及びウェブアプリケーションモジュール53が実装され、画面仕様分析装置4には、ログ収集サーバモジュール54、画面仕様分析モジュール55及び画面仕様出力モジュール56が実装されている。
これらの「モジュール」は、クライアント装置2のプロセッサ10(図1)、ウェブサーバ装置3のプロセッサ20(図1)又は画面仕様分析装置4のプロセッサ30(図1)が対応する「プログラム」を実行することにより具現化される機能である。例えば、ウェブブラウザモジュール50及びスクリプトエンジンモジュール51は、それぞれクライアント装置2のプロセッサ10がウェブブラウザプログラム14(図1)又はスクリプトエンジンプログラム15(図1)を実行することにより具現化される機能であり、ウェブサーバモジュール52及びウェブアプリケーションモジュール53は、それぞれウェブサーバ装置3のプロセッサ20がウェブサーバプログラム25(図1)又はウェブアプリケーションプログラム26(図1)を実行することにより具現化する機能である。またログ収集サーバモジュール54、画面仕様分析モジュール55及び画面仕様出力モジュール56は、それぞれ画面仕様分析装置4のプロセッサ30がログ収集サーバプログラム35(図1)、画面仕様分析プログラム36(図1)又は画面仕様出力プログラム37(図1)を実行することにより具現化される機能である。
そしてクライアント装置2のウェブブラウザモジュール50は、ユーザによりウェブ画面を表示すべき旨の操作入力が与えられた場合、当該ウェブ画面の表示要求(以下、これをページ表示リクエストと呼ぶ)をネットワーク5を介してウェブサーバ装置3に送信する。
ウェブサーバ装置3のウェブアプリケーションモジュール53は、かかるページ表示リクエストを受信すると、当該ページ表示リクエストにおいて指定されたウェブ画面の画面データをローカルディスク24(図1)に格納された対応するHTMLファイル27(図1)から読み出し、読み出した画面データを、ウェブ画面上でユーザが行った操作を操作ログとして記録するためのスクリプトコード(以下、これを操作ログ記録スクリプトコードと呼ぶ)を埋め込んだ上で、レスポンスとしてネットワーク5を介してクライアント装置2に送信する。
このレスポンスを受信したクライアント装置2のウェブブラウザモジュール50は、受信したレスポンスに含まれる画面データに基づいてユーザにより指定されたウェブ画面を入出力装置13(図1)に表示すると共に、当該画面データに埋め込まれた操作ログ記録スクリプトコードを抽出してスクリプトエンジンモジュール51に出力する。
スクリプトエンジンモジュール51は、ウェブブラウザモジュール50から与えられる操作ログ記録スクリプトコードを実行することにより上述の操作ログを適宜生成し、生成した操作ログをウェブブラウザモジュール50に出力する。またスクリプトエンジンモジュール51は、かかる操作ログに加えて、ウェブ画面のロード時及びアンロード時の画面データを画面ログとして記憶し、記憶した画面ログをウェブブラウザモジュール50に出力する。
そしてウェブブラウザモジュール50は、スクリプトエンジンモジュール51から与えられるこれら操作ログ及び画面ログを、対応するウェブ画面がアンロードされたタイミングでネットワーク5を介して画面仕様分析装置4に送信する。
なお、上述のようにウェブ画面の画面データに記録スクリプトコードを埋め込む技術として、特開2009−104267号公報(米国特許出願公開第2009−0106769号明細書)に開示された技術を適用することができ、ウェブ画面上でユーザが行った操作を記録スクリプトにより操作ログとして記録する技術として、特開2011−060196号公報(米国特許出願公開第2011−0066704号明細書)に開示された技術を適用することができる。
画面仕様分析装置4のログ収集サーバモジュール54は、各クライアント装置2からそれぞれ与えられる操作ログ及び画面ログを収集及び管理する機能を有するモジュールであり、収集した操作ログを操作ログテーブル38に格納すると共に、収集した画面ログを画面ログテーブル39に格納する。
また画面仕様分析装置4の画面仕様分析モジュール55は、ウェブサーバ装置3が提供する個々のウェブ画面を分析し、分析結果に基づいてシナリオを抽出したり、個々のウェブ画面の複雑度を算出したりする機能を有するモジュールであり、シナリオ抽出機能55A、画面特徴量算出機能55B、シナリオ併合機能55C及び画面複雑度算出機能55Dを備える。
そして画面仕様分析モジュール55は、シナリオ抽出機能55Aにより、操作ログテーブル38に格納された操作ログと、画面ログテーブル39に格納された画面ログとに基づいて、ユーザ操作に応じた一連の画面遷移をそれぞれシナリオとして抽出する。また画面仕様分析モジュール55は、画面特徴量算出機能55Bにより、各シナリオをそれぞれ構成する各ウェブ画面について、n種類(nは1以上の正数)の特徴量をそれぞれ算出し、算出したn種類の特徴量からn次元の特徴ベクトルを生成する。
また画面仕様分析モジュール55は、シナリオ併合機能55Cにより、上述のように生成した各ウェブ画面の特徴ベクトルに基づいてシナリオ間の類似性を判定し、類似するシナリオを1つのシナリオに併合した上で、シナリオごとの画面仕様書をそれぞれ生成する。さらに画面仕様分析モジュール55は、画面複雑度算出機能55Dにより、個々のウェブ画面の複雑度をそれぞれ算出する。
さらに画面仕様出力モジュール56は、上述のようにして生成したシナリオごとの画面仕様書や各ウェブ画面の複雑度を、利用者からの要求に応じて画面仕様分析装置4の入出力装置33(図1)に表示する。
なお操作ログテーブル38の具体的な構成を図3に示す。この図3からも明らかなように、操作ログテーブル38は、ページID欄38A、時刻欄38B、イベント欄38C、オブジェクト欄38D及び属性欄38Eから構成される。
そしてページID欄38Aには、ユーザ操作に応じてクライアント装置2がウェブ画面をロードするごとにそのウェブ画面に対して付与した固有の識別子(ページID)が格納され、イベント欄38Cには、そのウェブ画面をロードしてからアンロードするまでの間に発生したイベントや補足情報の種別名が格納される。イベントとしては、例えば、そのウェブ画面の読み出し完了(「load」)、テキストボックスへの値の入力(「change」)、入力情報の送信(「submit」)及びウェブ画面のクローズ(「unload」)などがある。補足情報としては、例えば、ウェブ画面のURL(Uniform Resource Locator)(「url」)、そのウェブ画面への遷移元のウェブ画面のURL(「referer」)、ユーザの一連の画面遷移をトラッキングするための識別子(「trackingid」)、そのウェブ画面の画面名(「pageTitle」)などがある。
またオブジェクト欄38Dには、イベント欄38Cに格納されたイベントの対象がXPath(XML Path Language)形式で格納される。例えば図3の例の場合、「change」イベントは、HTML内の1番目のDIV要素内の1番目のINPUT要素がイベント発生元であることが示されている。また、「load」や「url」イベントなど、ウェブ画面全体に対するイベントであったり補足情報であったりする場合は、オブジェクトとして「HTML[0]」を格納される。
さらに属性欄38Eには、対応するイベントの対象の属性情報が格納される。例えば図3の例の場合、「url」というイベントについてはそのときロードされたウェブ画面のURL(「URL2」)が属性欄38Eに格納され、「referer」というイベントについては遷移元のウェブ画面のURL(「URL1」)が属性欄38Eに格納される。また「pageTitle」というイベントについては、「日帰精算書」というそのウェブ画面の画面名が属性欄38Eに格納され、「change」というイベントについては、出張目的欄に入力された目的が格納される。
さらに時刻欄38Bには、対応するイベントが発生した時刻が格納される。なお、図3において「load」から「trackingid」までは、現実的には同じ時刻に発生したイベントであるが、本実施の形態においてはイベントの発生順序をも操作ログテーブルで管理するため、便宜上、これらのイベントがそれぞれ異なる時刻に発生したものとして操作ログテーブル38に登録される。
また画面ログテーブル39は、図4に示すように、ページID欄39A、時刻欄39B、HTML欄39C及びイベント欄39Dから構成される。
そしてページID欄39Aには、操作ログテーブル38に操作ログが記憶保持された各ウェブ画面にそれぞれ付与されたページIDが格納され、イベント欄39Dには、ロード又はアンロードのいずれかのイベント名(「load」又は「unload」)が格納される。また時刻欄39Bには、対応するイベント(「load」又は「unload」)が実行された時刻が格納される。
さらにHTML欄39Cには、対応するイベントがロード(「load」)である場合には、対応するウェブ画面のロード時のHTMLフォーマットの画面データがそのまま格納され、対応するイベントがアンロード(「unload」)である場合には、対応するウェブ画面のアンロード時のHTMLフォーマットの画面データがそのまま格納される。
一方、シナリオテーブル40は、図5に示す併合前シナリオテーブル41と、図6(A)及び(B)にそれぞれ示す第1及び第2の併合後シナリオテーブル42,43とから構成される。
このうち併合前シナリオテーブル41は、操作ログテーブル38に格納された操作ログに基づいて抽出された個々のシナリオを管理するために利用するテーブルであり、図5に示すように、シナリオID欄41A、遷移リスト欄41B及びシナリオ名欄41Cから構成される。
そしてシナリオID欄41Aには、対応するシナリオに付与されたそのシナリオに固有の識別子(シナリオID)が格納され、遷移リスト欄41Bには、そのシナリオの遷移リストが格納される。遷移リストは、そのシナリオを構成する一連の各ウェブ画面にそれぞれ付与したページIDを対応するウェブ画面の遷移順と同じ順番で並べたものである。
またシナリオ名欄41Cには、対応するシナリオの名称(シナリオ名)が格納される。本実施の形態の場合、対応するシナリオにおいて、あるウェブ画面から次のウェブ画面に遷移する契機となった画面部品(リンク又はボタン)のラベルをウェブ画面の遷移順に並べたものをシナリオ名として、そのシナリオ名がシナリオ名欄41Cに格納される。
また第1の併合後シナリオテーブル42は、併合処理により得られた各シナリオを構成するウェブ画面の特徴ベクトルを管理するために利用されるテーブルであり、図6(A)に示すように、シナリオID欄42A及び特徴ベクトル列欄42Bから構成される。そしてシナリオID欄42Aには、併合処理後の各シナリオにそれぞれ付与されたシナリオIDが格納され、特徴ベクトル列欄42Bには、対応するシナリオを構成する各ウェブ画面の特徴ベクトルを対応するウェブ画面の遷移順に配列した特徴ベクトル列が格納される。なお特徴ベクトルの詳細については、図10及び図11を用いて後ほど説明する。
さらに第2の併合後シナリオテーブル43は、併合処理によりどのシナリオとどのシナリオとが併合されたかを管理するために利用されるテーブルであり、図6(B)に示すように、シナリオID欄43A及び併合済みシナリオ欄43Bから構成される。そしてシナリオID欄43Aには、併合処理後の各シナリオにそれぞれ付与されたシナリオIDが格納され、併合済みシナリオ欄43Bには、対応するシナリオと併合されたすべてのシナリオのシナリオIDがそれぞれ格納される。
(2−2)本画面仕様分析機能に関連する各種処理の流れ
(2−2−1)ログ収集処理の流れ
図7は、各クライアント装置2の操作ログ及び画面ログを画面仕様分析装置4が収集するログ収集処理の一連の流れを示す。
このログ収集処理は、クライアント装置2のウェブブラウザモジュール50がユーザ操作に応じてページ表示リクエストをウェブサーバ装置3に送信することにより開始される(SP1)。そしてウェブサーバ装置3では、このページ表示リクエストを受信すると(SP2)、ウェブサーバモジュール52がウェブアプリケーションモジュール53を呼び出し、呼び出されたウェブアプリケーションモジュール53が必要なレスポンス(指定されたウェブ画面の操作ログ記録スクリプトコードを埋め込んだ画面データ)をクライアント装置2に送信する(SP3)。
クライアント装置2では、かかるレスポンスをウェブブラウザモジュール50が受信すると(SP4)、当該ウェブブラウザモジュール50が、スクリプトエンジンモジュール51を呼び出す。そして呼び出されたスクリプトエンジンモジュール51は、そのときウェブサーバ装置3から画面データが送信されてきたウェブ画面にページIDを生成すると共に、操作ログを記録するためのDOM(Document Object Model)イベントハンドラをウェブブラウザモジュール50に登録する(SP5)。またスクリプトエンジンモジュール51は、かかるウェブ画面の画面データをウェブブラウザモジュール50から取得する(SP6)。かかる画面データの取得は、ウェブ画面のDOMをトラバースし、HTML形式の画面データとして再構成することで実現できる。DOMデータを利用することで、ユーザが入力したデータも合わせて画面データを取得することができる。
この後、スクリプトエンジンモジュール51は、かかるウェブ画面上で何らかの操作が行われるごとに操作ログを生成し、生成した操作ログを操作ログ配列に順次追加する(SP7)。またスクリプトエンジンモジュール51は、かかるウェブ画面がアンロードされると、そのときのそのウェブ画面の画面データをウェブブラウザモジュール50から取得し、ステップSP5で生成したそのウェブ画面のページIDと、ステップSP6で作成した操作ログ配列とを画面仕様分析装置4に送信すると共に、ステップSP6で取得した画面データと、かかるウェブ画面のアンロード時に取得した画面データとを画面ログとして画面仕様分析装置4に送信する(SP8)。
画面仕様分析装置4では、これらページID、操作ログ配列及び画面ログをログ収集サーバモジュール54が受信し、受信した操作ログ配列をそのとき受信したページIDと対応付けて操作ログテーブル38に追加登録すると共に、そのとき受信した画面ログをそのとき受信したページIDと対応付けて画面ログテーブル39に追加登録する(SP9)。
(2−2−2)画面仕様分析処理
(2−2−2−1)画面仕様分析処理の流れ
一方、図8は、上述の操作ログ及び画面ログを収集した画面仕様分析装置4の画面仕様分析モジュール55により実行される画面仕様分析処理の処理手順を示す。画面仕様分析モジュール55は、この図8に示す処理手順に従って、ウェブサーバ装置3のウェブアプリケーションモジュール53が提供するウェブ画面の画面仕様を分析する。
実際上、画面仕様分析モジュール55は、操作ログテーブル38を参照して、ユーザ操作に応じた一連の画面遷移をそれぞれシナリオとして抽出する(SP10)。また画面仕様分析モジュール55は、抽出した各シナリオについて、そのシナリオを構成する各ウェブ画面の特徴ベクトルをそれぞれ算出し、算出した各ウェブ画面の特徴ベクトルをその遷移順に並べることにより特徴ベクトル列を生成し、生成した特徴ベクトル列をそのシナリオのシナリオIDと対応付けて第1の併合後シナリオテーブル42(図6(A))に登録する(SP11)。
次いで、画面仕様分析モジュール55は、ステップSP11で算出した各画面の特徴ベクトルに基づいて、類似するシナリオ同士を1つのシナリオに併合し(SP12)、この後、併合後のシナリオごとに、そのシナリオにおいて遷移する各ウェブ画面の画面データに基づいて、そのシナリオの名称(シナリオ名)を生成する(SP13)。そして画面仕様分析モジュール55は、この後、この画面仕様分析処理を終了する。
(2−2−2−2)シナリオ抽出処理
図9は、かかる画面仕様分析処理のステップSP10(図8)の具体的な処理内容を示す。画面仕様分析モジュール55は、そのシナリオ抽出機能55A(図1)により、この図9に示す処理手順に従って、シナリオを抽出する。
この場合において、本実施の形態の場合、画面仕様分析装置4には、予め業務機能ごとの画面遷移の開始及び終了の各ウェブ画面を判定するための情報(以下、これを開始又は終了画面判定情報と呼ぶ)が予め与えられている。そして画面仕様分析モジュール55は、この開始又は終了画面判定情報をローカルディスク34に格納して管理しており、この開始又は終了画面判定情報に基づき認識される画面遷移の開始から終了までの範囲をシナリオとして抽出する。なお、かかる開始又は終了画面判定情報としては、URLや、画面遷移の契機となる画面部品の識別子(リンク、ボタンなどのXPathやID属性)が適用される。なお開始又は終了画面は、開始又は終了画面判定情報を事前に定義するのではなく、画面遷移の最初又は最後のウェブ画面としても良い。
また本実施の形態の場合、画面仕様分析装置4には、画面遷移をシナリオとして抽出しない条件として、特定の画面遷移のパターンと、その画面遷移を構成する各ウェブ画面の特定のURLのパターンと、その画面遷移を構成するウェブ画面に含まれる特定の文字列のパターンとが予め与えられている。そして画面仕様分析モジュール55は、これらの条件をローカルディスク34に格納して管理しており、これらの中からいずれかを満たす画面遷移を除外してシナリオを抽出する。本除外条件の適用により、同一画面の繰り返しやエラー画面など、シナリオとして不要な画面遷移を除外することができる。
実際上、画面仕様分析モジュール55は、画面仕様分析処理のステップSP10に進むと、この図9に示すシナリオ抽出処理を開始し、まず、操作ログテーブル38(図3)のページID欄38Aに登録されたページIDの中から未処理のページIDを1つ取得する(SP20)。
続いて、画面仕様分析モジュール55は、ステップSP20で取得したページIDが付与されたウェブ画面が、開始又は終了画面判定情報に基づき認識される画面遷移の開始のウェブ画面であり、その遷移先となるウェブ画面が存在し、かつ開始又は終了画面判定情報に基づき認識される画面遷移の最後のウェブ画面でないか否かを判断する(SP21)。この際、画面仕様分析モジュール55は、遷移先となるウェブ画面が存在するか否かの判定は、操作ログテーブル38(図3)を参照して、ステップSP20でページIDを取得したウェブ画面の操作ログ内にリンクや、画面遷移用のボタンなどに対する操作ログが存在するか否かを判定することにより行う。
そして画面仕様分析モジュール55は、この判断で肯定結果を得ると、遷移元のウェブ画面における画面を遷移させる契機となったリンクやボタン等の画面部品に付与されたラベルのラベル情報を操作ログテーブル38から取得すると共に(SP22)、かかる遷移先のウェブ画面のページIDを操作ログテーブル38から取得した後(SP23)、ステップSP21に戻る。
この後、画面仕様分析モジュール55は、ステップSP21において否定結果を得るまでステップSP21〜ステップSP23‐ステップSP21のループを繰り返す。これにより画面仕様分析モジュール55は、ユーザ操作に応じた一連のウェブ画面の画面遷移をシナリオとして抽出することができる。
そして画面仕様分析モジュール55は、やがて開始又は終了画面判定情報に基づき認識される画面遷移の最後のウェブ画面に到達することによりステップSP21で否定結果を得ると、そのとき抽出したシナリオを図5について上述した併合前シナリオテーブル41に新規に登録する(SP24)。具体的に、画面仕様分析モジュール55は、そのシナリオを構成する各ウェブ画面のページIDを遷移順に並べた遷移リストを生成し、生成した遷移リストを併合前シナリオテーブル41の遷移リスト欄41Bに格納する。また画面仕様分析モジュール55は、そのシナリオにシナリオIDを付与し、そのシナリオIDをシナリオID欄41Aに格納する。さらに画面仕様分析モジュール55は、ステップSP21〜ステップSP23‐ステップSP21のループで取得した各ウェブ画面のラベル情報を取得順に並べたものをシナリオ名として生成し、生成したシナリオ名をシナリオ名欄41Cに格納する。
次いで、画面仕様分析モジュール55は、操作ログテーブル38に登録されたすべてのページIDについてステップSP21〜ステップSP24の処理を実行し終えたか否かを判断する(SP25)。そして画面仕様分析モジュール55は、この判断で否定結果を得るとステップSP21に戻り、この後、ステップSP21〜ステップSP25‐ステップSP21のループを繰り返す。これにより画面仕様分析モジュール55は、操作ログテーブル38に登録されたすべてのページIDについて、それぞれ関連するシナリオを抽出することができる。
そして画面仕様分析モジュール55は、やがて操作ログテーブル38に登録されたすべてのページIDについてステップSP21〜ステップSP24の処理を実行し終えることによりステップSP25で肯定結果を得ると、このシナリオ抽出処理を終了する。
(2−2−2−3)画面特徴量算出処理
画面仕様分析モジュール55は、図8について上述した画面仕様分析処理のステップSP11において、その画面特徴量算出機能55Bにより、ステップSP10で抽出したシナリオごとに、そのシナリオを構成する各ウェブ画面のn種類の特徴量をそれぞれ算出し、算出したn種類の特徴量の一部又は全部に必要に応じて重み付けをし、これら重み付けしたn種類の特徴量に基づいてn次元の特徴ベクトルを生成する。
ここで本実施の形態の場合、ウェブ画面の特徴量は、図10に示すように、そのウェブ画面のURL、HTML、リンクのラベル、画面名、遷移元のウェブ画面(以下、これを遷移元画面と呼ぶ)のリンク及び入力項目名などを利用して算出する。
例えばURL、HTML及び画面名については、そのウェブ画面に含まれるURL、HTML又は画面名を表すラベル情報の一部又は全部のハッシュ値をそのウェブ画面の特徴量の1つとする。またリンクのラベルについては、遷移元画面におけるそのウェブ画面への遷移の契機となった画面部品(ボタンやリンクなど)に付与されたラベルを表すラベル情報の一部又は全部のハッシュ値をそのウェブ画面の特徴量の1つとする。さらに遷移元画面のリンクについては、遷移元画面におけるそのウェブ画面への遷移の契機となった画面部品の画面構造(例えばHTML文書構造上の位置を表すXPathやID属性など)の一部又は全部のハッシュ値をそのウェブ画面の特徴量の1つとする。さらに入力項目については、遷移元画面においてユーザにより入力された項目の一部又は全部について、入力された項目の組み合わせを特徴量の1つとする。
また本実施の形態の場合、図11に示すように、どの特徴量を重み付けするかはそのウェブ画面の種類によって、画面仕様分析装置の利用者によって設定される。例えば、そのウェブ画面が静的コンテンツのようにURLと一意に対応付けられている場合にはURLに基づき算出される特徴量が大きく影響するように(例えばURLに基づき算出される特徴量の重みを大きく、他の特徴量の重みを小さく)、一部又は全部の特徴量に重み付けし、そのウェブ画面がフレームワークを使っている場合などのようにURLとの対応付けが難しい場合にはHTMLに基づき算出される特徴量が大きく影響するように(例えばHTMLに基づき算出される特徴量の重みを大きく、他の特徴量の重みを小さく)一部又は全部の特徴量に重み付けをする。
(2−2−2−4)シナリオ併合処理
一方、図12は、図8について上述した画面仕様分析処理のステップSP12の具体的な処理内容を示す。画面仕様分析モジュール55は、そのシナリオ併合機能55C(図1)により、この図12に示す処理手順に従って、画面仕様分析処理のステップSP10で抽出したシナリオのうちの類似するシナリオ同士を併合する。
実際上、画面仕様分析モジュール55は、画面仕様分析処理のステップSP12に進むと、この図12に示すシナリオ併合処理を開始し、まず、併合前シナリオテーブル41(図5)から未処理のシナリオを1つ選択する(SP30)。
続いて、画面仕様分析モジュール55は、併合前シナリオテーブル41から未処理かつステップSP30で選択したシナリオ(以下、これを選択シナリオと呼ぶ)と類似するシナリオをすべて抽出する(SP31)。
選択シナリオと類似するシナリオを抽出する手法としては、例えばクラスタ分析を利用することができる。クラスタ分析を利用する場合、まず、図10及び図11について上述した画面特徴量算出処理により算出した各ウェブ画面の特徴ベクトルをクラスタ分析することにより、各シナリオの各ウェブ画面を類似の画面群に分類する。その後、図5について上述した併合前シナリオテーブル41の各行(レコード)の各遷移リスト欄41Bにそれぞれ格納された遷移リストのページIDをそれぞれ上述のように分類した画面群のうちの対応する画面群のクラスタ番号に置き換える。そして、このようにして得られたクラスタ番号の列(クラスタ番号列)が選択シナリオのクラスタ番号列と一致するシナリオを選択シナリオと類似するシナリオとして抽出する。なおクラスタ分析の具体的手法としては、例えば「B.S.Everitt: Cluster Analysis, Edward Arnold, third edition, ISBN 13:9780340584798」や、「神嶌 敏弘“データマイニング分野のクラスタリング手法(1)−クラスタリングを使ってみよう!−”人工知能学会誌,vol.18, no.1, pp.59-65(2003)」に開示された手法を利用することができる。
次いで、画面仕様分析モジュール55は、ステップSP31において抽出したシナリオの中から選択シナリオと併合可能なシナリオが存在するか否かを判断する(SP32)。
併合可能なシナリオが一つもなかった場合、ステップSP32において否定結果を得ることとなる。この場合にはステップSP34に進む。
併合可能なシナリオがあった場合、ステップSP32において肯定結果を得ることとなる。この場合、画面仕様分析モジュール55は、選択シナリオを第1の併合後シナリオテーブル42(図6(A))に登録すると共に、選択シナリオのシナリオIDと対応付けて、当該選択シナリオと併合可能なシナリオのシナリオIDを第2の併合後シナリオテーブル43(図6(B))に登録する(SP33)。
具体的に、画面仕様分析モジュール55は、画面仕様分析モジュール55は、選択シナリオのシナリオIDを第1の併合後シナリオテーブル42の未使用の行(レコード)のシナリオID欄(42A)に格納する。また画面仕様分析モジュール55は、選択シナリオを構成する各ウェブ画面の特徴ベクトルを対応するウェブ画面の遷移順に並べた特徴ベクトル列を生成し、生成した特徴ベクトル列を第1の併合後シナリオテーブル42における上述の行の特徴ベクトル列欄42Bに格納する。
また画面仕様分析モジュール55は、選択シナリオのシナリオIDを第2の併合後シナリオテーブル43のシナリオID欄43Aに格納し、ステップSP31及びステップSP32で抽出したその選択シナリオと併合可能なすべてのシナリオのシナリオIDをそれぞれ第2の併合後シナリオテーブル43の対応する併合済みシナリオ欄43Bに格納する。以上により、選択シナリオ及びこれに類似するシナリオが併合されたことになる。
上記特徴ベクトルを利用した併合処理により、同一のURLでも異なる機能のウェブ画面を表示するケースなど、本来別のウェブ画面として認識する必要があるケースを区別してシナリオを抽出することが可能となる。なお、このようなケースとしては、例えば、ログインの有無で異なる画面を表示するケースや、アプリケーションフレームワークを使っていてURLには画面を特定する情報が含まれないケースなどが挙げられる。
この後、画面仕様分析モジュール55は、併合前シナリオテーブル41に登録されたシナリオのうち、ステップSP30〜ステップSP33の処理が未処理のシナリオが存在するか否かを判断する(SP34)。
そして画面仕様分析モジュール55は、この判断で否定結果を得るとステップSP30に戻り、この後ステップSP34で肯定結果を得るまでステップSP30〜ステップSP34の処理を繰り返す。そして画面仕様分析モジュール55は、やがて併合前シナリオテーブル41に登録されたすべてのシナリオに対する併合処理を完了することによりステップSP34で肯定結果を得ると、このシナリオ併合処理を終了する。
(2−2−3)画面複雑度算出処理
一方、画面仕様分析モジュール55は、各ウェブ画面における入力可能な項目数(以下、これを入力可能項目数と呼ぶ)及び出力項目数と、そのウェブ画面に実際に入力された項目数(以下、これを入力済項目数と呼ぶ)との何れか1つ以上を操作ログ及び画面ログに基づいて取得し、取得したこれらの情報に基づいて各ウェブ画面の複雑度をそれぞれ算出する。
なお入力可能項目数は、例えばテキストボックスやチェックマーク、プルダウンボタンなどのユーザが入力又は選択可能な箇所の合計数として求めることができる。出力項目数は、ユーザやトランザクション等によってウェブ画面の出力内容が変わる箇所の合計数として求めることができる。ウェブ画面の出力内容が変わる箇所の判定は、画面ログテーブル39の画面データを比較することで実現できる。また入力済項目数は、ユーザがウェブ画面に入力又は選択した箇所の合計数として求めることができる。
ウェブ画面の複雑度の具体的な算出手法としては、そのウェブ画面の複雑度をCとし、対象とするウェブ画面における入力可能項目数、出力項目数及び入力済項目数の平均値をそれぞれxave、yave、zaveとし、全ウェブ画面を通じて入力可能項目数、出力項目数及び入力済項目数の最大値をそれぞれxmax、をymax、zmaxとし、入力可能項目数、出力項目数及び入力済項目数に対する係数をそれぞれα、β、γとして、次式により求める方法を適用することができる。
この方法によれば、そのウェブ画面を表示するウェブアプリケーションの種類に依らずに複雑度の最大値がα+β+γとなるように正規化することができる。
そして画面仕様分析モジュール55は、画面仕様分析装置4の入出力装置33が操作されてウェブ画面の複雑度を表示すべき旨の指示が入力された場合、画面ログテーブル39に画面データが登録されているすべてのウェブ画面について、そのロード時の画面の複雑度をそれぞれ算出し、得られた各ウェブ画面の複雑度を一覧にまとめて画面仕様分析装置4の入出力装置33に表示させる。
(2−3)具体例
次に、以上のような本実施の形態による画面仕様分析機能の具体例を図13〜図19を参照して説明する。
図13〜図16は、ユーザ操作によりクライアント装置2の入出力装置13(図1)に表示されるシナリオの一例を示す。図13はスタート画面60であり、ユーザID用テキストボックス61及びパスワード用テキストボックス62と、ログインボタン63とが表示される。
そしてユーザは、入出力装置13を操作してユーザID用テキストボックス61にユーザIDを入力し、パスワード用テキストボックス62にパスワードを入力した後にログインボタン63をクリックすることによって、図14に示すメインメニュー画面70をクライアント装置2の入出力装置13に表示させることができる。
メインメニュー画面70は、一般ユーザを対象とするメニューが表示された一般メニューフィールド71と、管理者を対象とするメニューが表示された管理者メニューフィールド72とに区分されている。
そして一般メニューフィールド71には、「国内出張」用のメニューとして、「申請(事前)」、「日帰精算」及び「宿泊精算」という文字列が表示され、「海外出張」用のメニューとして、「申請(事前)」及び「精算」という文字列が表示されている。
また管理者メニューフィールド72には、「承認/差戻し処理」用のメニューとして、「申請分」及び「精算分」という文字列が表示され、「承認履歴検索/承認取消」用のメニューとして、同じく「申請分」及び「精算分」という文字列が表示されている。
そしてこれらの文字列には、いずれも対応するウェブ画面へのリンクが張られており、かくしてユーザや管理者は、所望する文字列をクリックすることによって、その文字列に応じたウェブ画面に進むことができる。
図15は、かかるメインメニュー画面70において一般メニューにおける「国内出張」用のメニューとして表示された「日帰精算」という文字列をクリックすることにより表示される日帰精算書画面80を示す。この日帰精算書画面80には、出張日、出張目的、交通費(出発地、到着地、摘要及び乗車金額)をそれぞれ入力するための複数のテキストボックス81〜85と、旅費が複数の部門で按分される場合にチェックすべき負担按分用チェックボックス87及び旅費が複数の部門で按分される場合の按分すべき部門を入力するためのテキストボックス86と、承認依頼ボタン89、一時保存ボタン90及び削除ボタン91とが表示される。
そして日帰精算書画面80では、必要なテキストボックス81〜87に出張日、出張目的、交通費(出発地、到着地、摘要及び乗車金額)等の必要な情報を入力した後、承認依頼ボタン89をクリックすることによって、その日帰精算書画面80において入力した情報を承認権限を有するユーザに転送させた上でメインメニュー画面70(図14)に戻ることができる。また日帰精算書画面80では、負担按分用チェックボックス87にチェックマークを表示させた状態で承認依頼ボタン89をクリックすることによって、図示しない按分設定画面に遷移することができる。
さらに日帰精算書画面80では、削除ボタン91をクリックすることによって、テキストボックス81〜87に入力した情報を破棄させた上でメインメニュー画面70に戻ることができる。さらに日帰精算書画面80では、必要なテキストボックス81〜87に必要な情報を入力した後に一時保存ボタン90をクリックすることによって、そのときその日帰精算書画面80で入力した情報を一時保存した上でメインメニュー画面70に戻ることができる。
なお、上述のように日帰精算書画面80で入力した情報を一時保存した状態にある場合、その後、メインメニュー画面70において一般メニューにおける「国内出張」用のメニューとして表示された「日帰精算」という文字列をクリックすると、表示画面が上述の日帰精算書画面80ではなく、図16に示す国内日帰精算一時保存一覧画面100に遷移する。
この国内日帰精算一時保存一覧画面100では、それまでに日帰精算書画面80に入力し一時保存した情報に付与された識別番号(以下、これを処理番号と呼ぶ)と、その情報に対応する国内日帰出張の出発日及び帰着日とが一覧101として表示される。そして国内日帰精算一時保存一覧画面100では、かかる一覧101に表示された処理番号をクリックすることにより、その情報が入力された状態の日帰精算書画面80を表示させることができる。
かくしてユーザは、その状態で承認依頼ボタン89をクリックすることによって、その日帰精算書画面80において入力されている情報を、承認権限を有するユーザに転送させた上でメインメニュー画面70に戻ることができる。
図17は、画面仕様分析装置4の画面仕様分析モジュール55が図9について上述したシナリオ抽出処理を実行することにより、図13〜図16に関連して抽出されるシナリオの例を示す。
図17(A)は、スタート画面60(図13)を起点画面として、当該スタート画面60の「ログイン」ボタン63をクリックすることで表示画面がメインメニュー画面70(図14)に遷移し、当該メインメニュー画面70の「日帰精算」という文字列(リンク)をクリックすることで表示画面が日帰精算書画面80(図15)に遷移し、さらに当該日帰精算書画面80で必要事項を入力した後に「承認依頼」ボタン89をクリックすることで表示画面がメインメニュー画面70に遷移するというシナリオである。
また図17(B)は、スタート画面60を起点画面として、当該スタート画面60の「ログイン」ボタン63をクリックすることで表示画面がメインメニュー画面70に遷移し、当該メインメニュー画面70の「日帰精算」という文字列(リンク)をクリックすることで表示画面が国内日帰精算一時保存一覧画面100に遷移し、当該国内日帰精算一時保存一覧画面100の「67JP676625(01)」という処理番号(リンク)をクリックすることで表示画面が日帰精算書画面80に遷移し、さらに当該日帰精算書画面80の「承認依頼」ボタン89をクリックすることで表示画面がメインメニュー画面70に遷移するというシナリオである。
さらに図17(C)は、スタート画面60を起点画面として、当該スタート画面60の「ログイン」ボタン63をクリックすることで表示画面がメインメニュー画面70に遷移し、当該メインメニュー画面70の「日帰精算」という文字列(リンク)をクリックすることで表示画面が国内日帰精算一時保存一覧画面100に遷移し、当該国内日帰精算一時保存一覧画面100の「67JP676789(01)」という処理番号(リンク)をクリックすることで表示画面が日帰精算書画面80に遷移し、さらに当該日帰精算書画面80の「承認依頼」ボタン89をクリックすることで表示画面がメインメニュー画面70に遷移するというシナリオである。
さらに図17(D)は、スタート画面60を起点画面として、当該スタート画面60の「ログイン」ボタン63をクリックすることで表示画面がメインメニュー画面70に遷移し、当該メインメニュー画面70の「日帰精算」という文字列(リンク)をクリックすることで表示画面が日帰精算書画面80に遷移し、さらに当該日帰精算書画面80において負担按分用チェックボックス87にチェックマークが表示された状態で「承認依頼」ボタン89をクリックすることで表示画面が上述の按分設定画面に遷移し、さらに当該按分設定画面の「完了」ボタンをクリックすることで表示画面がメインメニュー画面70に遷移するというシナリオである。
図18は、図17(A)〜(D)に示す各シナリオについて、画面仕様分析装置4の画面仕様分析モジュール55が図10及び図11について上述した画面特徴量算出処理と、図12について上述したシナリオ併合処理とを実行した後の様子を示す。この図18に示すように、図17(B)のシナリオ及び図17(C)のシナリオは、類似するシナリオとして判定されて併合される。
図19及び図20は、画面仕様分析装置4の入出力装置33に表示される画面仕様書画面110の構成例を示す。図19は、図18(A)のシナリオについての画面仕様書画面110であり、図20は、図18(B)についての画面仕様書画面110である。
これら図19及び図20に示すように、本実施の形態の画面仕様書画面110では、対応するシナリオを構成する各ウェブ画面の画面名が大きな枠体(以下、これを画面名表示枠体と呼ぶ)111内に表示される。そして、これらの画面名表示枠体111は、対応するウェブ画面の遷移順に並べられ、これらの画面名表示枠体111間が遷移方向を表す矢印112で繋がれる。
また画面仕様書画面110における画面名表示枠体111間には、それぞれ遷移元のウェブ画面から遷移先のウェブ画面に遷移する契機となった画面部品のラベルが記述された、画面名表示枠体111よりも小さい角なしの枠体(以下、これをラベル等表示枠体と呼ぶ)113が表示される。なおラベル等表示枠体113は、ユーザの入力内容によって異なるウェブ画面に分岐、すなわち別のシナリオが存在する場合は、二重枠で表示される。一方、一重枠は、入力内容によらず常に同じウェブ画面に遷移する場合である。分岐の条件は、操作ログテーブル38のユーザの入力内容(図3のchangeイベント)を基に抽出することができる。
さらに画面仕様書画面110では、二重枠のラベル等表示枠体113の右側には、画面遷移の分岐の条件が表示される。例えば、図19及び図20において、「divideがfalse」とは、図15について上述した日帰精算書画面80において負担按分用チェックボックス87にチェックをいれていないことを条件とすることを表す。また、分岐の条件が多数個ある場合、「詳細表示」という文字列のリンクが表示され、画面遷移の条件を別画面で表示させることができる。
他方、図21は、画面仕様分析装置4を所定操作することによりその入出力装置33に表示させ得る画面一覧画面120を示す。この画面一覧画面120では、上述の画面複雑度算出処理により算出した各ウェブ画面の複雑度が一覧表示される。なお各ウェブ画面の複雑度の表示方法として、ウェブ画面をその複雑度でソートしてその順番で表示するようにしても良い。
また画面一覧画面120では、各ウェブ画面にそれぞれ対応させて、当該ウェブ画面が含まれる画面仕様書画面110(図19及び図20)へのリンクも表示される。かくしてユーザは、画面一覧画面120において、所望するウェブ画面のリンクをクリックすることによって、そのウェブ画面が含まれる画面仕様書画面110に表示画面を切り替えることができる。
(3)本実施の形態の効果
以上のように本実施の形態による画面仕様分析システム1では、ユーザ操作に応じた一連の画面遷移をシナリオとして抽出するため、画面仕様分析装置4の利用者が業務機能単位にウェブ画面をまとめる手間を必要としない。
また本画面仕様分析システム1では、各ウェブ画面の1以上の特徴量に基づいてシナリオの類似性を判定し、類似するシナリオ同士を併合するため、URLとウェブ画面との対応が静的かつ一対一でない場合においても、「類似性」の設定(つまり特徴量の選定及び特徴量ごとの重みの設定)次第で、例えば同一のURLでも別物としたいウェブ画面同士を別のウェブ画面として画面仕様認識装置4に認識させたり、異なるURLでも同一としたいウェブ画面同士を同一のウェブ画面として画面仕様認識装置4に認識させた上で、各シナリオの画面仕様書を画面仕様認識装置4に作成させることができる。
従って、本画面仕様分析システム1によれば、現行システムの仕様把握を容易にする。また、画面仕様分析装置4の利用者が同一ウェブ画面の重複カウントや、ウェブ画面のカウント忘れに伴う見積もり精度のブレが生じ難く、高い精度でシステム更改時等の費用見積もりを行うことができる。かくするにつき、本画面仕様分析システム1によれば、システム更改時等における費用見積もりの作成作業を容易化し、かつ作成される費用見積もりの精度を向上させることができる。
(4)他の実施の形態
なお上述の実施の形態においては、本発明による画面仕様分析装置4を、クライアント装置2と、当該クライアント装置2からの要求に応じて各種業務用のウェブ画面の画面データをクライアント装置2に送信するウェブサーバ装置3とから構成される画面仕様分析システム1に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成の画面仕様分析システムに広く適用することができる。
また上述の実施の形態においては、画面仕様分析装置4におけるウェブ画面上で行われた操作のログを操作ログとして収集すると共に、ウェブ画面の画面データを画面ログとして収集するログ収集部と、ログ収集部が収集した操作ログに基づいて、一連の画面遷移をシナリオとして抽出するシナリオ抽出部と、ログ収集部が収集した画面ログに基づいて、各ウェブ画面の1以上の特徴量をそれぞれ算出する画面特徴量算出部と、画面特徴量算出部により算出された各ウェブ画面の特徴量に基づいて、類似するシナリオ同士を併合するシナリオ併合部と、併合後のシナリオごとの画面遷移の仕様を出力する画面仕様出力部とをいずれもソフトウェア構成(それぞれログ収集サーバモジュール54、画面仕様分析モジュール55又は画面仕様出力モジュールにより構成)とするようにした場合について述べたが、本発明はこれに限らず、これらログ収集部、シナリオ抽出部、画面特徴量算出部、シナリオ併合部及び画面仕様出力部の一部又は全部を専用のハードウェアにより構成するようにしても良い。
さらに上述の実施の形態においては、ウェブ画面の特徴量として図10について上述した特徴量を適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の特徴量を広く適用することができる。
さらに上述の実施の形態においては、ウェブ画面の複雑度を上述の(1)式により算出するようにした場合について述べたが、本発明はこれに限らず、この他種々の算出方法を広く適用することができる。
本発明は、クライアント装置と、クライアント装置からの要求に応じて要求されたウェブ画面をそのクライアント装置に提供するウェブサーバ装置とを備える画面仕様分析システムに広く適用することができる。
1……画面仕様分析システム、2……クライアント装置、3……ウェブサーバ装置、4……画面仕様分析装置、10,20,30……プロセッサ、11,21,31……メモリ、13,23,33……入出力装置、35……ログ収集サーバプログラム、36……画面仕様分析プログラム、37……画面仕様出力プログラム、38……操作ログテーブル、39……画面ログテーブル、40……シナリオテーブル、41……併合前シナリオテーブル、42……第1の併合後シナリオテーブル、43……第2の併合後シナリオテーブル、54……ログ収集サーバモジュール、55……画面仕様分析モジュール、55A……シナリオ抽出機能、55B……画面特徴量算出機能、55C……シナリオ併合機能、55D……画面複雑度算出機能、56……画面仕様出力モジュール、110……画面仕様書画面、120……画面一覧画面。

Claims (12)

  1. サーバ装置が提供するウェブ画面の画面仕様を分析する画面仕様分析装置において、
    前記ウェブ画面上で行われた操作のログを操作ログとして収集すると共に、前記ウェブ画面の画面データを画面ログとして収集するログ収集部と、
    前記ログ収集部が収集した前記操作ログに基づいて、一連の画面遷移をシナリオとして抽出するシナリオ抽出部と、
    前記ログ収集部が収集した前記画面ログに基づいて、各前記ウェブ画面の1以上の特徴量をそれぞれ算出する画面特徴量算出部と、
    前記画面特徴量算出部により算出された各前記ウェブ画面の前記特徴量に基づいて、類似する前記シナリオ同士を併合するシナリオ併合部と、
    併合後の前記シナリオごとの画面遷移の仕様を出力する画面仕様出力部と
    を備えることを特徴とする画面仕様分析装置。
  2. 前記画面特徴量算出部は、
    前記ウェブ画面に含まれる画面名を表すラベル情報、遷移元の前記ウェブ画面に含まれる画面遷移の契機となった画面部品のラベル情報、遷移元の前記ウェブ画面に含まれる画面遷移の契機となった画面部品の文書構造上の位置、及び、遷移元の前記ウェブ画面において入力された項目に基づく各値のうちの少なくとも1つ以上を前記ウェブ画面の特徴量として算出する
    ことを特徴とする請求項1に記載の画面仕様分析装置。
  3. 前記シナリオ抽出部は、
    前記シナリオとして抽出しない条件として予め与えられた、画面遷移のパターン、前記ウェブ画面のURL(Uniform Resource Locator)のパターン、前記ウェブ画面に含まれる文字列のパターンのいずれか1つ以上の条件を管理し、管理している当該条件を満たす画面遷移を除外して前記シナリオを抽出する
    ことを特徴とする請求項2に記載の画面仕様分析装置。
  4. 前記サーバ装置は、処理を業務機能の単位で実行し、
    前記シナリオ抽出部は、
    予め与えられた前記業務機能ごとの画面遷移の開始及び終了の各前記ウェブ画面をそれぞれ判定するための情報を管理し、
    管理している当該情報に基づき認識される当該画面遷移の開始から終了までの範囲を前記シナリオとして抽出する
    ことを特徴とする請求項2に記載の画面仕様分析装置。
  5. 前記シナリオ抽出部は、
    前記操作ログに基づいて、画面の遷移ごとに、遷移元の前記ウェブ画面における画面を遷移させる契機となった画面部品のラベル情報をそれぞれ抽出し、
    前記画面仕様出力部は、
    前記画面遷移の仕様として、前記ウェブ画面の遷移ごとに、前記シナリオ抽出部により抽出された遷移元の前記ウェブ画面における画面を遷移させる契機となった画面部品のラベル情報を表示する
    ことを特徴とする請求項2に記載の画面仕様分析装置。
  6. 前記ウェブ画面の入力可能項目数、当該ウェブ画面の出力項目数、及び当該ウェブ画面に実際に入力された項目数である入力済項目数のいずれか1つ以上を前記操作ログ及び前記画面ログに基づいて取得し、取得した情報に基づいて各前記ウェブ画面の複雑度を算出する画面複雑度算出部を備え、
    前記画面仕様出力部は、前記画面複雑度算出部により算出された各前記ウェブ画面の複雑度を必要時に表示する
    ことを特徴とする請求項2に記載の画面仕様分析装置。
  7. サーバ装置が提供するウェブ画面の画面仕様を分析する画面仕様分析装置により実行される画面仕様分析方法において、
    前記画面仕様分析装置が、前記ウェブ画面上で行われた操作のログを操作ログとして収集すると共に、前記ウェブ画面の画面データを画面ログとして収集する第1のステップと、
    前記画面仕様分析装置が、収集した前記操作ログに基づいて、一連の画面遷移をシナリオとして抽出する第2のステップと、
    前記画面仕様分析装置が、前記画面ログに基づいて、各前記ウェブ画面の1以上の特徴量をそれぞれ算出し、算出した各前記ウェブ画面の前記特徴量に基づいて、類似する前記シナリオ同士を併合する第3のステップと、
    前記画面仕様分析装置が、併合後の前記シナリオごとの画面遷移の仕様を出力する第4のステップと
    を備えることを特徴とする画面仕様分析方法。
  8. 前記第3のステップにおいて、前記画面仕様分析装置は、
    前記ウェブ画面に含まれる画面名を表すラベル情報、遷移元の前記ウェブ画面に含まれる画面遷移の契機となった画面部品のラベル情報、遷移元の前記ウェブ画面に含まれる画面遷移の契機となった画面部品の文書構造上の位置、及び、遷移元の前記ウェブ画面において入力された項目に基づく各値のうちの少なくとも1つ以上を前記ウェブ画面の特徴量として算出する
    ことを特徴とする請求項7に記載の画面仕様分析方法。
  9. 前記画面仕様分析装置は、
    前記シナリオとして抽出しない条件として予め与えられた、画面遷移のパターン、前記ウェブ画面のURL(Uniform Resource Locator)のパターン、前記ウェブ画面に含まれる文字列のパターンのいずれか1つ以上の条件を管理し、
    前記第2のステップにおいて、
    管理している当該条件を満たす画面遷移を除外して前記シナリオを抽出する
    ことを特徴とする請求項8に記載の画面仕様分析方法。
  10. 前記サーバ装置は、処理を業務機能の単位で実行し、
    前記画面仕様分析装置は、
    予め与えられた前記業務機能ごとの画面遷移の開始及び終了の各前記ウェブ画面をそれぞれ判定するための情報を管理し、
    前記第2のステップにおいて、管理している当該情報に基づき認識される当該画面遷移の開始から終了までの範囲を前記シナリオとして抽出する
    ことを特徴とする請求項8に記載の画面仕様分析方法。
  11. 前記第2のステップにおいて、前記画面仕様分析装置は、
    前記操作ログに基づいて、画面の遷移ごとに、遷移元の前記ウェブ画面における画面を遷移させる契機となった画面部品のラベル情報をそれぞれ抽出し、
    前記第4のステップにおいて、前記画面仕様分析装置は、
    前記画面遷移の仕様として、前記ウェブ画面の遷移ごとに、前記シナリオ抽出部により抽出された遷移元の前記ウェブ画面における画面を遷移させる契機となった画面部品のラベル情報を表示する
    ことを特徴とする請求項8に記載の画面仕様分析方法。
  12. 前記第4のステップにおいて、前記画面仕様分析装置は、
    前記ウェブ画面の入力項目数、当該ウェブ画面の出力項目数、及び当該ウェブ画面に実際に入力された項目数である入力済項目数のいずれか1つ以上を前記操作ログ及び前記画面ログに基づいて取得し、取得した情報に基づいて各前記ウェブ画面の複雑度を算出し、算出した各前記ウェブ画面の複雑度を必要時に表示する
    ことを特徴とする請求項8に記載の画面仕様分析方法。
JP2016551366A 2014-09-29 2014-09-29 画面仕様分析装置及び方法 Expired - Fee Related JP6232145B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/075952 WO2016051479A1 (ja) 2014-09-29 2014-09-29 画面仕様分析装置及び方法

Publications (2)

Publication Number Publication Date
JPWO2016051479A1 true JPWO2016051479A1 (ja) 2017-04-27
JP6232145B2 JP6232145B2 (ja) 2017-11-15

Family

ID=55629578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016551366A Expired - Fee Related JP6232145B2 (ja) 2014-09-29 2014-09-29 画面仕様分析装置及び方法

Country Status (2)

Country Link
JP (1) JP6232145B2 (ja)
WO (1) WO2016051479A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6975540B2 (ja) * 2017-02-20 2021-12-01 株式会社日立社会情報サービス 情報処理装置および情報処理方法
JP6908848B2 (ja) * 2017-09-19 2021-07-28 富士通株式会社 操作画面管理装置、操作画面管理方法及び操作画面管理プログラム
JP2019101575A (ja) * 2017-11-29 2019-06-24 富士通株式会社 取引支援プログラム、装置、及び方法
JP7380714B2 (ja) * 2020-01-08 2023-11-15 日本電信電話株式会社 操作ログ取得装置および操作ログ取得方法
WO2023238356A1 (ja) * 2022-06-09 2023-12-14 日本電信電話株式会社 生成装置、生成方法及び生成プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1069381A (ja) * 1996-08-29 1998-03-10 Hitachi Ltd プログラム説明書作成支援装置
JP2010033456A (ja) * 2008-07-30 2010-02-12 Hitachi Ltd 計算機システム、情報収集支援装置及び情報収集支援方法
JP2010079342A (ja) * 2008-09-24 2010-04-08 Hitachi Software Eng Co Ltd Webアプリケーションの操作手順書生成システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1069381A (ja) * 1996-08-29 1998-03-10 Hitachi Ltd プログラム説明書作成支援装置
JP2010033456A (ja) * 2008-07-30 2010-02-12 Hitachi Ltd 計算機システム、情報収集支援装置及び情報収集支援方法
JP2010079342A (ja) * 2008-09-24 2010-04-08 Hitachi Software Eng Co Ltd Webアプリケーションの操作手順書生成システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
西山 顯、川越恭二: "ネットワークアクセス行動のDB化とWWW検索への応用", 情報処理学会研究報告, vol. 2001, no. 70, JPN6012054514, 18 July 2001 (2001-07-18), JP, pages 193 - 200, ISSN: 0003619739 *

Also Published As

Publication number Publication date
WO2016051479A1 (ja) 2016-04-07
JP6232145B2 (ja) 2017-11-15

Similar Documents

Publication Publication Date Title
Da Costa et al. A framework for evaluating the results of the szz approach for identifying bug-introducing changes
Van der Aalst Extracting event data from databases to unleash process mining
JP6232145B2 (ja) 画面仕様分析装置及び方法
Werner et al. Multilevel process mining for financial audits
US20170109657A1 (en) Machine Learning-Based Model for Identifying Executions of a Business Process
Elbaum et al. Improving web application testing with user session data
US9053437B2 (en) Extracting enterprise information through analysis of provenance data
US20170109676A1 (en) Generation of Candidate Sequences Using Links Between Nonconsecutively Performed Steps of a Business Process
US8224762B2 (en) Information processing method and apparatus for business process analysis
US20170109668A1 (en) Model for Linking Between Nonconsecutively Performed Steps in a Business Process
US20170109667A1 (en) Automaton-Based Identification of Executions of a Business Process
US20170109636A1 (en) Crowd-Based Model for Identifying Executions of a Business Process
US20170109639A1 (en) General Model for Linking Between Nonconsecutively Performed Steps in Business Processes
US20170109638A1 (en) Ensemble-Based Identification of Executions of a Business Process
Swapna et al. Data cleaning for data quality
JP6577914B2 (ja) ビジネスプロセス生成プログラム、及びビジネスプロセス生成方法
US20170109640A1 (en) Generation of Candidate Sequences Using Crowd-Based Seeds of Commonly-Performed Steps of a Business Process
US8396847B2 (en) System and method to retrieve and analyze data for decision making
US20170109670A1 (en) Crowd-Based Patterns for Identifying Executions of Business Processes
US20170109637A1 (en) Crowd-Based Model for Identifying Nonconsecutive Executions of a Business Process
Dittrich et al. Network analysis of software repositories: identifying subject matter experts
Boranbayev et al. Development and Design of a Library Information System Intended for Automation of Processes in Higher Education Institution
US11379444B1 (en) Data-analysis-based facility for adjusting trace fields of a database trace
CN114662005A (zh) 用户行为轨迹的消息推送方法、装置、设备及存储介质
Rathi et al. Automatic selenium code generation for testing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170815

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170907

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171020

R150 Certificate of patent or registration of utility model

Ref document number: 6232145

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees