(57)【要約】      （修正有）【課題】手順書の改修箇所を顕在化することで作業性を向上させる改修箇所抽出プログラム、改修箇所抽出方法、及び改修箇所抽出装置を提供する。【解決手段】改修箇所抽出において、情報処理サーバ２００は、記憶部２１０、処理部２２０及び通信部２３０を具備する。処理部２２０は、算出部２２１、結合部２２２、補正部２２３及び抽出部２２４を構成要素として含んでいる。算出部２２１は、特定の指示を検出すると、操作記録を記憶する操作記録記憶部２１１にアクセスし、操作記録記憶部２１１から操作記録を取得する。算出部２２１は、操作記録を取得すると、取得した操作記録に基づいて、各操作手順の操作時間、操作手順ごとの操作時間の平均時間及び分散を算出する。【選択図】図４
2020194501.tif 000002
【特許請求の範囲】
【請求項１】
手順書の中で操作手順が記載された箇所に関する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータに関するオペレータ情報とを関連付けた操作記録を取得し、
前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間のいずれかに前記オペレータによる分散がある場合、前記分散がある操作時間のコマンドに該当する前記箇所を、前記手順書の改修箇所として抽出する、
処理をコンピュータに実行させるための改修箇所抽出プログラム。
【請求項２】
前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間の前記操作手順毎の平均時間の中で他の平均時間に比べて突出した特定の平均時間がある場合、前記特定の平均時間に応じた操作手順及び該操作手順の操作時間を含む操作実績に、前記オペレータによる画面操作に関する操作ログを対応付け、
前記操作ログに出現する情報と前記オペレータによる操作対象の情報が一致しない場合、前記特定の平均時間に応じた操作手順が記載された箇所を、前記手順書の改修箇所として抽出する、
ことを特徴とする請求項１に記載の改修箇所抽出プログラム。
【請求項３】
前記操作ログに出現する情報と前記オペレータによる操作対象の情報が一致する場合、前記操作対象の大きさ及び個数の少なくとも一方に基づいて、前記操作時間を補正する、
ことを特徴とする請求項２に記載の改修箇所抽出プログラム。
【請求項４】
前記実行情報は、前記箇所に記載された操作手順に従って実行されたコマンドの実行開始日時と実行終了日時とを含み、
前記実行開始日時と前記実行終了日時とに基づいて、前記操作時間を算出する、
ことを特徴とする請求項１から３のいずれか１項に記載の改修箇所抽出プログラム。
【請求項５】
手順書の中で操作手順が記載された箇所に関する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータに関するオペレータ情報とを関連付けた操作記録を取得し、
前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間のいずれかに前記オペレータによる分散がある場合、前記分散がある操作時間のコマンドに該当する前記箇所を、前記手順書の改修箇所として抽出する、
処理をコンピュータが実行する改修箇所抽出方法。
【請求項６】
手順書の中で操作手順が記載された箇所に関する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータに関するオペレータ情報とを関連付けた操作記録を取得し、
前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間のいずれかに前記オペレータによる分散がある場合、前記分散がある操作時間のコマンドに該当する前記箇所を、前記手順書の改修箇所として抽出する、
処理を実行する処理部を有する改修箇所抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、改修箇所抽出プログラム、改修箇所抽出方法、及び改修箇所抽出装置に関する。
【背景技術】
【０００２】
ユーザの操作履歴を用いて、ユーザが使用するシステムの操作性を評価する技術が知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−３２７９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、システムの運用現場では、システムの運用を管理する管理者が手順書を作成し、実際の運用については、運用担当者（以下、オペレータという）がその手順書に従って運用を実施していることが多い。しかしながら、手順書の中にわかりづらい操作手順や手間がかかる操作手順などが記載されていると、オペレータが誤った操作手順を実施する可能性がある。仮に、オペレータが誤った操作手順を実施しなくても、操作手順の実施効率が低下する可能性がある。
【０００５】
このような可能性を回避するためには、管理者が手順書を確認して、操作手順の記載を改修すればよいが、確認すべき手順書が大量にあると、改修箇所を特定する作業は、作業負荷が大きく、困難である。
【０００６】
そこで、１つの側面では、手順書の改修箇所を顕在化することを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、改修箇所抽出プログラムは、手順書の中で操作手順が記載された箇所に関する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータに関するオペレータ情報とを関連付けた操作記録を取得し、前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間のいずれかに前記オペレータによる分散がある場合、前記分散がある操作時間のコマンドに該当する前記箇所を、前記手順書の改修箇所として抽出する、処理をコンピュータに実行させる。
【発明の効果】
【０００８】
手順書の改修箇所を顕在化することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は改修箇所抽出システムの一例である。
【図２】図２は手順書の一例である。
【図３】図３は情報処理サーバのハードウェア構成の一例である。
【図４】図４は情報処理サーバのブロック図の一例である。
【図５】図５は情報処理サーバが実行する処理の一例を示すフローチャートである。
【図６】図６（ａ）は操作記録の一例である。図６（ｂ）は操作記録の他の一例である。
【図７】図７（ａ）は各操作手順を実施した平均時間と分散の一例を説明するための図である。図７（ｂ）はオペレーションＩＤの抽出例を説明するための図である。
【図８】図８（ａ）はウェブ操作ログの一例である。図８（ｂ）はコンソール操作ログの一例である。
【図９】図９は操作ログを対応づけた操作実績の一例である。
【図１０】図１０（ａ）は電子ファイルの一例である。図１０（ｂ）は電子ファイルの他の一例である。
【図１１】図１１は時間割合を算出した操作実績の一例である。
【図１２】図１２は改修対象操作リストの生成例を説明するための図である。
【図１３】図１３は改修箇所確認画面の一例である。
【発明を実施するための形態】
【００１０】
以下、本件を実施するための形態について図面を参照して説明する。
【００１１】
図１は改修箇所抽出システムＳＴの一例である。図２は手順書の一例である。改修箇所抽出システムＳＴは複数のオペレータ端末１００，１１０と情報処理サーバ２００と管理者端末３００を構成要素として含んでいる。情報処理サーバ２００は改修箇所抽出装置の一例である。複数のオペレータ端末１００，１１０と情報処理サーバ２００と管理者端末３００は通信ネットワークＮＷを介して互いに接続されている。図１では、通信ネットワークの一例としてLocal Area Network（ＬＡＮ）が示されている。ＬＡＮに代えて、インターネットを採用してもよい。尚、改修箇所抽出システムＳＴの構成要素から複数のオペレータ端末１００，１１０と管理者端末３００の少なくとも１つを除外してもよい。図１では、２台のオペレータ端末１００，１１０が示されているが、３台以上であってもよい。
【００１２】
複数のオペレータ端末１００，１１０はいずれもコンピュータで実現された運用対象システム（不図示）の運用を実施するオペレータが手順書に従って操作する端末装置である。管理者端末３００はその手順書を作成する管理者が操作する端末装置である。図１では、オペレータ端末１００，１１０及び管理者端末３００の一例として、Personal Computer（ＰＣ）が示されている。ＰＣに代えて、タブレット端末を利用してもよく、端末装置の種別は特に限定されない。オペレータ端末１００，１１０はそれぞれのオペレータの操作に基づいて、自身の表示部に手順書を表示する。例えばオペレータ端末１００，１１０はOpen Source Software（ＯＳＳ）のウェブ（Ｗｅｂ）アプリケーションで閲覧可能であって、手順書に記載された各操作手順のコマンド又はコード（以下、単にコマンドという）の実行結果と実行日時の記録が可能な手順書を表示する。
【００１３】
具体的には、図２に示すように、手順書には、手順書を識別する手順書ＩＤ、運用対象システムに対する複数の操作手順、複数の操作手順とそれぞれ対応づけられた複数のコマンドが記載されている。その他、手順書には、オペレータ名や手順書のファイル名が対応付けられている。本実施形態に係る手順書には、手順書ＩＤ「proc_100」、操作手順「updateを実行する」、コマンド「update ‘対象ファイル’」などが記載されている。手順書には、オペレータ名「山田」及びファイル名「proc_100.ipynb」が対応付けられている。オペレータはこのような手順書に従って操作手順を順に実施する。
【００１４】
例えば、オペレータが操作手順「updateを実行する」を実施する場合、コマンド「update  ‘対象ファイル’」における対象ファイルを入力して指定し、コマンド実行ボタンＢＴ１をポインタＰＴで押下する操作を行う。これにより、運用対象システム内でそのコマンドが実行され、その実行結果が実行日時と併せて実行情報として手順書内に出力される。具体的には、実行結果及び実行日時は実行されたコマンド記載箇所の直下に表示される。尚、図２では実行日時の記載が省略されている。オペレータは実行結果に基づいてコマンドが正常に実行されたことを確認すると、次の操作手順「更新対象ファイルが見つかった場合…」を実施する。このように、オペレータは操作手順を順に実施する。
【００１５】
以上説明した手順書は、例えばJupyter Notebookといったツールで実現することができるが、当該ツールに特に限定されない。例えば操作手順と連動してコマンドの実行日時、実行時間、操作手順の操作時間、操作時刻などを動的に記録できるツールや手順書の操作内容と手順書の該当箇所を閲覧している閲覧時刻とその後に続く操作を動的に抽出できるツールなどが知られている。また、このようなツールを利用しなくても後述する操作記録を取得できれば、ツールを利用する手法に限定されない。例えば、オペレータ端末１００に表示したターミナル画面（例えばTera Termなど）にコマンドを表す文字列を貼り付けて実行することにより、操作記録を取得できれば、このような手法を採用してもよい。
【００１６】
情報処理サーバ２００はオペレータの操作記録を収集して記憶する。操作記録は操作手順が記載された箇所に関する操作情報と、その箇所で実行されたコマンドの実行情報と、操作手順を実施したオペレータに関するオペレータ情報を含んでいる。オペレータ情報としてはオペレータＩＤやオペレータ名などを利用することができる。操作記録では操作情報、実行情報及びオペレータ情報が互いに関連付けられている。詳細は後述するが、情報処理サーバ２００は管理者端末３００からの指示を検出すると、操作記録を参照して様々な処理を実行し、手順書の改修箇所を抽出する。
【００１７】
管理者端末３００は管理者の操作に基づいて、様々な画面を表示する。例えば、管理者端末３００は情報処理サーバ２００にアクセスし、情報処理サーバ２００が抽出した改修箇所を確認できる改修箇所確認画面を表示する。管理者は管理者端末３００に改修箇所確認画面を表示することで、オペレータにとってわかりづらい操作手順や手間がかかる操作手順を改修することができる。
【００１８】
次に、図３を参照して、情報処理サーバ２００のハードウェア構成について説明する。
【００１９】
図３は情報処理サーバ２００のハードウェア構成の一例である。図３に示すように、情報処理サーバ２００は、少なくともハードウェアプロセッサとしてのCentral Processing Unit（ＣＰＵ）２００Ａ、Random Access Memory（ＲＡＭ）２００Ｂ、Read Only Memory（ＲＯＭ）２００Ｃ、及びネットワークＩ／Ｆ（インタフェース）２００Ｄを含んでいる。情報処理サーバ２００は、必要に応じて、Hard Disk Drive（ＨＤＤ）２００Ｅ、入力Ｉ／Ｆ２００Ｆ、出力Ｉ／Ｆ２００Ｇ、入出力Ｉ／Ｆ２００Ｈ、ドライブ装置２００Ｉの少なくとも１つを含んでいてもよい。ＣＰＵ２００Ａからドライブ装置２００Ｉまでは、内部バス２００Ｊによって互いに接続されている。すなわち、情報処理サーバ２００はコンピュータによって実現することができる。尚、ＣＰＵ２００Ａに代えてMicro Processing Unit（ＭＰＵ）をハードウェアプロセッサとして利用してもよい。
【００２０】
入力Ｉ／Ｆ２００Ｆには、入力装置７１０が接続される。入力装置７１０としては、例えばキーボードやマウスなどがある。出力Ｉ／Ｆ２００Ｇには、表示装置７２０が接続される。表示装置７２０としては、例えば液晶ディスプレイがある。入出力Ｉ／Ｆ２００Ｈには、半導体メモリ７３０が接続される。半導体メモリ７３０としては、例えばUniversal Serial Bus（ＵＳＢ）メモリやフラッシュメモリなどがある。入出力Ｉ／Ｆ２００Ｈは、半導体メモリ７３０に記憶されたプログラムやデータを読み取る。入力Ｉ／Ｆ２００Ｆ及び入出力Ｉ／Ｆ２００Ｈは、例えばＵＳＢポートを備えている。出力Ｉ／Ｆ２００Ｇは、例えばディスプレイポートを備えている。
【００２１】
ドライブ装置２００Ｉには、可搬型記録媒体７４０が挿入される。可搬型記録媒体７４０としては、例えばCompact Disc（ＣＤ）−ＲＯＭ、Digital Versatile Disc（ＤＶＤ）といったリムーバブルディスクがある。ドライブ装置２００Ｉは、可搬型記録媒体７４０に記録されたプログラムやデータを読み込む。ネットワークＩ／Ｆ２００Ｄは、例えばＬＡＮポートや通信回路などを備えている。ネットワークＩ／Ｆ２００Ｄは通信ネットワークＮＷと接続される。
【００２２】
上述したＲＡＭ２００Ｂには、ＲＯＭ２００ＣやＨＤＤ２００Ｅ、半導体メモリ７３０に記憶されたプログラムがＣＰＵ２００Ａによって一時的に格納される。ＲＡＭ２００Ｂには、可搬型記録媒体７４０に記録されたプログラムがＣＰＵ２００Ａによって一時的に格納される。格納されたプログラムをＣＰＵ２００Ａが実行することにより、ＣＰＵ２００Ａは後述する各種の機能を実現し、また、後述する各種の処理を実行する。尚、プログラムは後述するフローチャートに応じたものとすればよい。
【００２３】
次に、図４を参照して、情報処理サーバ２００の機能構成について説明する。
【００２４】
図４は情報処理サーバ２００のブロック図の一例である。図４では情報処理サーバ２００の機能の要部が示されている。図４に示すように、情報処理サーバ２００は記憶部２１０、処理部２２０、及び通信部２３０を構成要素として含んでいる。記憶部２１０は例えばＲＡＭ２００Ｂ及びＨＤＤ２００Ｅによって実現することができる。処理部２２０は例えばＣＰＵ２００Ａによって実現することができる。通信部２３０は例えばネットワークＩ／Ｆ２００Ｄによって実現することができる。したがって、記憶部２１０、処理部２２０、及び通信部２３０は互いに接続されている。
【００２５】
ここで、記憶部２１０は操作記録記憶部２１１、手順書記憶部２１２、第１ログ記憶部２１３、第２ログ記憶部２１４、及び操作対象記憶部２１５を構成要素として含んでいる。記憶部２１０に第１ログ記憶部２１３及び第２ログ記憶部２１４と異なる一又は複数の第３ログ記憶部（不図示）を構成要素として含めてもよい。処理部２２０は算出部２２１、結合部２２２、補正部２２３、及び抽出部２２４を構成要素として含んでいる。処理部２２０の構成要素はそれぞれ記憶部２１０の構成要素の少なくとも１つにアクセスして、各種の処理を実行する。
【００２６】
例えば、算出部２２１は、管理者端末３００から要求された特定の指示を検出すると、操作記録を記憶する操作記録記憶部２１１にアクセスし、操作記録記憶部２１１から操作記録を取得する。算出部２２１は操作記録を取得すると、取得した操作記録に基づいて、各操作手順の操作時間、操作手順ごとの操作時間の平均時間及び分散を算出する。尚、その他の構成要素については、情報処理サーバ２００の動作を説明する際に詳しく記載する。
【００２７】
続いて、図５から図１３を参照して、情報処理サーバ２００の動作について説明する。
【００２８】
まず、図５に示すように、算出部２２１は操作記録記憶部２１１から操作記録を取得する（ステップＳ１０１）。操作記録記憶部２１１は情報処理サーバ２００が収集した複数の操作記録を記憶する。具体的には、図６（ａ）及び（ｂ）に示すように、操作記録は、操作手順を識別するオペレーションＩＤ及び操作手順の内容を表すオペレーションを含んでいる。また、操作記録は、各操作手順のコマンドを実行し始めた開始日時、及び各操作手順のコマンドを実行し終えた終了日時を含んでいる。さらに、操作記録には手順書ＩＤ及びオペレータ名が対応づけられている。
【００２９】
図６（ａ）及び（ｂ）に示すように、各オペレータはそれぞれ同じ手順書ＩＤが付与された手順書を閲覧しながら、一連の複数の操作手順を順に実施している。しかしながら、開始日時と終了日時に基づく各操作手順の操作時間はオペレータによって相違する。例えば、オペレーションＩＤ「ｏｐ１００−２」では、オペレータ「山田」よりオペレータ「佐藤」の方が操作に時間がかかっている。算出部２２１はこのような様々な操作記録を取得する。
【００３０】
ステップＳ１０１の処理が完了すると、次いで、算出部２２１は平均時間と分散を算出する（ステップＳ１０２）。より詳しくは、算出部２２１は、取得した複数の操作記録に基づいて、各操作手順の操作時間、操作手順ごとの操作時間の平均時間及び分散を算出する。例えば、算出部２２１は開始日時と終了日時の差分に基づくコマンドの実行時間を操作手順の操作時間として算出してもよい。これにより、図７（ａ）に示すように、オペレーションＩＤ毎に平均時間と分散が算出される。
【００３１】
ステップＳ１０２の処理が完了すると、結合部２２２は操作単位毎に後続の処理を実行する（ステップＳ１０３）。具体的には、結合部２２２はいずれかのオペレーションＩＤを指定して後続の処理を実行する。例えば、結合部２２２は、図７（ｂ）に示すように、オペレーションＩＤ「ｏｐ１００−３」を指定して、後続の処理を実行する。
【００３２】
結合部２２２は、指定したオペレーションＩＤについて、平均時間が閾値時間より大きいか否かを判断する（ステップＳ１０４）。結合部２２２は平均時間が閾値時間より大きいと判断した場合（ステップＳ１０４：ＹＥＳ）、指定したオペレーションＩＤを抽出する（ステップＳ１０５）。本実施形態では、閾値時間として一例として２００秒を採用することにより、図７（ｂ）に示すように、結合部２２２はオペレーションＩＤ「ｏｐ１００−３」を抽出することができる。オペレーションＩＤ「ｏｐ１００−２」が指定された場合には、結合部２２２はオペレーションＩＤ「ｏｐ１００−２」も抽出することができる。しかしながら、オペレーションＩＤ「ｏｐ１００−１」が指定された場合には、平均時間が閾値時間より大きくないため、結合部２２２はオペレーションＩＤ「ｏｐ１００−１」を抽出することができない。
【００３３】
ステップＳ１０５の処理が完了すると、次いで、結合部２２２は操作ログを結合する（ステップＳ１０６）。より詳しくは、操作ログに出現する日時に基づいて、抽出したオペレーションＩＤの操作記録の一部である操作実績に操作ログを結合する。操作ログは少なくともウェブ操作ログとコンソール操作ログを含んでいる。操作ログにウェブ操作ログ及びコンソール操作ログと種類が異なる他の一又は複数の操作ログを含めてもよい。上述した第１ログ記憶部２１３がウェブ操作ログを記憶する。上述した第２ログ記憶部２１４がコンソール操作ログを記憶する。記憶部２１０が上述した第３ログ記憶部（不図示）を含む場合には、第３ログ記憶部が他の一又は複数の操作ログを記憶すればよい。情報処理サーバ２００が複数のオペレータ端末１００，１１０からウェブ操作ログとコンソール操作ログを収集することによって、第１ログ記憶部２１３はウェブ操作ログを記憶することができ、第２ログ記憶部２１４がコンソール操作ログを記憶することができる。
【００３４】
ウェブ操作ログは、ウェブブラウザに対して行われた操作のログ情報である。例えば、図８（ａ）に示すように、ウェブ操作ログに出現する日時を操作記録に含まれる開始日時及び終了日時と対比すれば、オペレータ「山田」はオペレーションＩＤ「ｏｐ１００−２」の操作手順を実施する際に、ウェブブラウザをスクロールして文字列検索する操作を行ったことが分かる。すなわち、その操作手順を実施する際、オペレータ「山田」は操作手順の理解があいまいであるために、ウェブブラウザを操作して確認したと推定することができる。尚、本実施形態では、オペレーションＩＤ「ｏｐ１００−３」が抽出されているため、オペレーションＩＤ「ｏｐ１００−２」に対応するウェブ操作ログは、オペレーションＩＤ「ｏｐ１００−３」に結合されない。
【００３５】
コンソール操作ログは、コンソール画面に対して行われた操作のログ情報である。例えば、図８（ｂ）に示すように、コンソール操作ログに出現する日時を操作記録に含まれる開始日時及び終了日時と対比すれば、オペレータ「山田」はオペレーションＩＤ「ｏｐ１００−３」の操作手順を実施する際に、コンソール画面に対して手順書からautoremove /etc/aaa.logという文字列を抽出する操作を行ったことが分かる。また、オペレータ「佐藤」はオペレーションＩＤ「ｏｐ１００−３」の操作手順を実施する際に、コンソール画面に対して/etc/aaa.logの最終行から数行を表示する操作を行ったことが分かる。すなわち、その操作手順を実施する際、オペレータ「山田」及び「佐藤」はいずれも操作手順の理解があいまいであるために、コンソール画面を操作したと推定することができる。本実施形態では、オペレーションＩＤ「ｏｐ１００−３」が抽出されているため、オペレーションＩＤ「ｏｐ１００−３」に対応するコンソール操作ログは、オペレーションＩＤ「ｏｐ１００−３」に結合される。
【００３６】
以上の処理により、図９に示すように、抽出されたオペレーションＩＤの操作記録の一部である操作実績に、ウェブ操作ログが対応づけられずに、コンソール操作ログが対応づけられる。尚、コンソール時間は例えばコンソール画面を表示し始めてからコンソール画面を表示し終えるまでの時間とすればよい。
【００３７】
その他、手順書内に出現する実行結果と次の操作手順の内容との関係があいまいである場合、オペレータによっては同じ操作手順を繰り返したり、順に実施すべき操作手順の少なくとも１つを省略して後に実施すべき操作手順を先に実施したりすることがある。この場合、オペレータの試行錯誤により、コマンドが複数回実行されたり、実行すべきコマンドと異なるコマンドが実行されたりする。例えば、コマンド「upgrade ‘更新対象ファイル’」（図２参照）が実行され、実行結果が出力された場合に、その実行結果内にautoremoveが出力されていないにも関わらず、手順書によっては手順書内に次の操作手順「autoremoveが出力されていれば…」が記載されていることがある。
【００３８】
このような場合、オペレータによっては理解不十分のままその操作手順を実施することにより、正常な実行結果が得られず、試行錯誤により、同じ操作手順を実施する可能性がある。オペレータによってはウェブブラウザを起動して様々な確認を行ったり、コンソール画面を起動して様々な操作を行ったりする。このように、手順書内の操作手順の記載によっては、コマンドが複数回実行されたり、ウェブブラウザやコンソール画面が起動されたりすることがある。
【００３９】
ステップＳ１０６の処理が完了すると、補正部２２３は操作ログを結合した操作実績の情報と操作対象の情報が一致するか否かを判断する（ステップＳ１０７）。より詳しくは、補正部２２３は操作対象の情報を記憶する操作対象記憶部２１５にアクセスして操作対象の情報を取得し、操作ログを結合した操作実績の情報と取得した操作対象の情報が一致するか否かを判断する。ここで、操作対象の情報とは、操作手順を実施する際に参照又は変更した電子ファイルである。このような電子ファイルとして、例えばコマンドの実行結果を表すログファイルやconfigファイルといった設定ファイルを利用することができる。
【００４０】
例えば、操作対象記憶部２１５が操作対象の情報として、図１０（ａ）及び（ｂ）に示すように、オペレータ「山田」が操作手順を実施する際に参照等した電子ファイルとオペレータ「佐藤」が操作手順を実施する際に参照等した電子ファイルを記憶する場合、補正部２２３は操作対象記憶部２１５からこれらの電子ファイルを取得する。例えば補正部２２３はカレントディレクトリからこれらの電子ファイルを特定して取得する。補正部２２３は電子ファイルを取得すると、オペレーションＩＤとオペレータ名の組合せに基づいて、図９に示すコンソール操作に格納された情報と、電子ファイルに含まれる情報が一致するか否かを判断する。具体的には、補正部２２３は、図９及び図１０に示す絶対パスで記載されたファイル名が一致するか否かを判断する。すなわち、補正部２２３は操作手順を実施する際に実行したコマンドによって生成された電子ファイルを証拠（エビデンス）として使用し、コンソール操作で対象とされた情報が、コマンドが対象とする情報であるか否かを確認する。
【００４１】
補正部２２３は操作ログを結合した操作実績の情報と操作対象の情報が一致すると判断した場合（ステップＳ１０７：ＹＥＳ）、操作時間に対するウェブ時間及びコンソール時間の時間割合を算出する（ステップＳ１０８）。例えば、補正部２２３はウェブ時間とコンソール時間の合計時間に対する操作時間の時間割合をオペレータ毎に算出する。本実施形態では、図９に示すように、オペレーションＩＤ「ｏｐ１００−３」についてウェブ時間が考慮されないため、図１１に示すように、補正部２２３はコンソール時間に対する操作時間の時間割合をオペレータ毎に算出する。操作時間の中でコンソール操作に要した時間の割合を特定することで、オペレータによる試行錯誤の状況を判断することができる。
【００４２】
尚、補正部２２３はウェブ時間に対する操作時間の時間割合とコンソール時間に対する操作時間の時間割合を別々に算出してもよい。また、補正部２２３はコマンドの実行対象（又は操作対象）のサイズや個数などに基づいて操作時間を補正してから時間割合を算出してもよい。これにより、操作対象に起因する操作時間の変動を抑制することができる。例えば、aaa.logのサイズが大きい場合には、実行時間又は操作時間が長時間になり易い。aaa.log以外にも操作対象があれば、実行時間又は操作時間が長時間になり易い。このような場合、操作時間を補正することにより、補正しない場合に比べて高精度の操作時間を利用することができる。尚、本実施形態では、操作対象が１つであり、そのサイズも小さいと仮定し、補正を行っていない。
【００４３】
ステップＳ１０８の処理が完了すると、次いで、抽出部２２４は時間割合が閾値時間割合より大きいか否かを判断する（ステップＳ１０９）。抽出部２２４は時間割合が閾値時間割合より大きいと判断した場合（ステップＳ１０９：ＹＥＳ）、改修対象箇所を抽出する（ステップＳ１１０）。すなわち、時間割合が閾値時間割合より大きい場合、抽出部２２４はそのオペレーションＩＤを改修対象箇所として抽出する。本実施形態では、閾値時間割合の一例として５０％を採用することにより、抽出部２２４はオペレーションＩＤ「ｏｐ１００−３」を改修対象箇所として抽出することができる。ステップＳ１１０の処理が完了すると、ステップＳ１０３の処理に戻り（ステップＳ１１１）、結合部２２２は別のオペレーションＩＤを改めて指定して後続の処理を実行する。
【００４４】
一方、ステップＳ１０４の処理において、結合部２２２は平均時間が閾値時間以下であると判断した場合（ステップＳ１０４：ＮＯ）、抽出部２２４は分散が閾値分散より大きいか否かを判断する（ステップＳ１１２）。ステップＳ１０９の処理において、抽出部２２４は時間割合が閾値時間割合以下であると判断した場合（ステップＳ１０９：ＮＯ）、同様に、ステップＳ１１２の処理を実行する。すなわち、操作時間の平均時間が短く、各オペレータが操作手順を試行錯誤せずに実施できた場合であっても、オペレータ毎に操作時間のばらつきがある場合には、オペレータによっては試行錯誤によって操作手順を実施している場合もある。また、操作時間の平均時間が長くても、その多くの時間がウェブ操作やコンソール操作に割かれている場合にも、オペレータによっては試行錯誤によって操作手順を実施している場合もある。
【００４５】
本実施形態では、閾値分散として一例として「２０００」を採用することにより、仮に、オペレーションＩＤ「ｏｐ１００−１」の分散（図７（ａ）参照）がその閾値分散より大きな分散である場合には、抽出部２２４は分散が閾値分散より大きいと判断し（ステップＳ１１２：ＹＥＳ）、ステップＳ１１０の処理を実行する。したがって、この場合、抽出部２２４はオペレーションＩＤ「ｏｐ１００−１」を改修対象箇所として抽出することができる。尚、補正部２２３は操作ログを結合した操作実績の情報と操作対象の情報が一致しないと判断した場合（ステップＳ１０７：ＮＯ）、抽出部２２４はステップＳ１１０の処理を実行する。一方、抽出部２２４は分散が閾値分散以下であると判断した場合（ステップＳ１１２：ＮＯ）、ステップＳ１１０の処理をスキップして、ステップＳ１１１の処理を実行する。すなわち、抽出部２２４は指定されたオペレーションＩＤの抽出を回避する。
【００４６】
ステップＳ１０３からステップＳ１１１までの処理の繰り返しが終了すると、抽出部２２４は改修対象操作リストを出力する（ステップＳ１１３）。より詳しくは、抽出部２２４は手順書を記憶する手順書記憶部２１２にアクセスして、操作記録に含まれる手順書ＩＤに応じた手順書を抽出し、図１２に示すように、抽出した手順書と改修対象箇所をマッチングする。そして、図１２に示すように、抽出部２２４は改修対象箇所にマッチしたオペレーションを抽出し、手順書ＩＤとオペレーションＩＤとオペレーションとを含む改修対象操作リストを生成して出力する。
【００４７】
抽出部２２４は改修対象操作リストを出力すると、改修対象操作リストを改修箇所の選択肢として含む改修箇所確認画面を管理者端末３００に提供する。これにより、管理者端末３００は改修箇所確認画面を表示する。改修箇所確認画面は、図１３に示すように、改修箇所の選択肢のほか、手順書ファイル名や手順書などを含んでいる。管理者は管理者端末３００を操作して、選択肢をポインタＰＴで押下することにより、わかりづらい操作手順や手間がかかる操作手順など確認することができる。これにより、管理者はこれらの操作手順の記載を改修することができる。
【００４８】
以上、本実施形態によれば、情報処理サーバ２００は処理部２２０を含み、処理部２２０は算出部２２１と抽出部２２４とを含んでいる。算出部２２１は操作記録を取得する。操作記録はオペレーションが記載された箇所とそのオペレーションの操作日時とオペレータとを互いに関連付けて含んでいる。抽出部２２４は操作記録を参照して、その箇所のいずれかで複数のコマンドが実行され、かつ、実行された複数のコマンドの実行結果に基づく操作時間のいずれかにオペレータによる分散がある場合、分散がある操作時間のコマンドに該当する箇所を、手順書の改修箇所として抽出する。これにより、手順書の改修箇所を顕在化することができる。
【００４９】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００５０】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）手順書の中で操作手順が記載された箇所に関する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータに関するオペレータ情報とを関連付けた操作記録を取得し、前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間のいずれかに前記オペレータによる分散がある場合、前記分散がある操作時間のコマンドに該当する前記箇所を、前記手順書の改修箇所として抽出する、処理をコンピュータに実行させるための改修箇所抽出プログラム。
（付記２）前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間の前記操作手順毎の平均時間の中で他の平均時間に比べて突出した特定の平均時間がある場合、前記特定の平均時間に応じた操作手順及び該操作手順の操作時間を含む操作実績に、前記オペレータによる画面操作に関する操作ログを対応付け、前記操作ログに出現する情報と前記オペレータによる操作対象の情報が一致しない場合、前記特定の平均時間に応じた操作手順が記載された箇所を、前記手順書の改修箇所として抽出する、ことを特徴とする付記１に記載の改修箇所抽出プログラム。
（付記３）前記操作ログに出現する情報と前記オペレータによる操作対象の情報が一致する場合、前記操作対象の大きさ及び個数の少なくとも一方に基づいて、前記操作時間を補正する、ことを特徴とする付記２に記載の改修箇所抽出プログラム。
（付記４）前記実行情報は、前記箇所に記載された操作手順に従って実行されたコマンドの実行開始日時と実行終了日時とを含み、前記実行開始日時と前記実行終了日時とに基づいて、前記操作時間を算出する、ことを特徴とする付記１から３のいずれか１項に記載の改修箇所抽出プログラム。
（付記５）手順書の中で操作手順が記載された箇所に関する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータに関するオペレータ情報とを関連付けた操作記録を取得し、前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間のいずれかに前記オペレータによる分散がある場合、前記分散がある操作時間のコマンドに該当する前記箇所を、前記手順書の改修箇所として抽出する、処理をコンピュータが実行する改修箇所抽出方法。
（付記６）手順書の中で操作手順が記載された箇所に関する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータに関するオペレータ情報とを関連付けた操作記録を取得し、前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間のいずれかに前記オペレータによる分散がある場合、前記分散がある操作時間のコマンドに該当する前記箇所を、前記手順書の改修箇所として抽出する、処理を実行する処理部を有する改修箇所抽出装置。
（付記７）前記処理部は、前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間の前記操作手順毎の平均時間の中で他の平均時間に比べて突出した特定の平均時間がある場合、前記特定の平均時間に応じた操作手順及び該操作手順の操作時間を含む操作実績に、前記オペレータによる画面操作に関する操作ログを対応付け、前記操作ログに出現する情報と前記オペレータによる操作対象の情報が一致しない場合、前記特定の平均時間に応じた操作手順が記載された箇所を、前記手順書の改修箇所として抽出する、ことを特徴とする付記６に記載の改修箇所抽出装置。
（付記８）前記処理部は、前記操作ログに出現する情報と前記オペレータによる操作対象の情報が一致する場合、前記操作対象の大きさ及び個数の少なくとも一方に基づいて、前記操作時間を補正する、ことを特徴とする付記７に記載の改修箇所抽出装置。
（付記９）前記実行情報は、前記箇所に記載された操作手順に従って実行されたコマンドの実行開始日時と実行終了日時とを含み、前記処理部は、前記実行開始日時と前記実行終了日時とに基づいて、前記操作時間を算出する、ことを特徴とする付記６から８のいずれか１項に記載の改修箇所抽出装置。
【符号の説明】
【００５１】
ＳＴ  改修箇所抽出システム
１００，１１０  オペレータ端末
２００  情報処理サーバ
２１０  記憶部
２２０  処理部
２２１  算出部
２２２  結合部
２２３  補正部
２２４  抽出部
２３０  通信部
３００  管理者端末
【図１】
2020194501.tif 000003
【図２】
2020194501.tif 000004
【図３】
2020194501.tif 000005
【図４】
2020194501.tif 000006
【図５】
2020194501.tif 000007
【図６】
2020194501.tif 000008
【図７】
2020194501.tif 000009
【図８】
2020194501.tif 000010
【図９】
2020194501.tif 000011
【図１０】
2020194501.tif 000012
【図１１】
2020194501.tif 000013
【図１２】
2020194501.tif 000014
【図１３】
2020194501.tif 000015