(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-18
(45)【発行日】2023-04-26
(54)【発明の名称】改修箇所抽出プログラム、改修箇所抽出方法、及び改修箇所抽出装置
(51)【国際特許分類】
G06Q 10/20 20230101AFI20230419BHJP
G06F 16/17 20190101ALI20230419BHJP
【FI】
G06Q10/20
G06F16/17 200
(21)【出願番号】P 2019101362
(22)【出願日】2019-05-30
【審査請求日】2022-02-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100087480
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】小野寺 佐知子
【審査官】石坂 博明
(56)【参考文献】
【文献】特開2012-190284(JP,A)
【文献】特開2008-257482(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06F 16/17
(57)【特許請求の範囲】
【請求項1】
電子手順書の中で操作手順が記載された箇所
を識別する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータ
を識別するオペレータ情報とを関連付けた操作記録を取得し、
前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間の
前記操作手順毎の平均時間の中で他の平均時間に比べて突出した特定の平均時間があるか否かを判断し、
前記特定の平均時間があると判断した場合、前記特定の平均時間に応じた操作手順及び該操作手順の操作時間を含む操作実績に、前記オペレータによる画面操作に関する操作ログを対応付け、
前記操作ログに出現する第1情報と前記オペレータによる操作対象の第2情報が一致するか否かを判断し、
前記第1情報と前記第2情報が一致しないと判断した場合、前記特定の平均時間に応じた操作手順が記載された前記箇所を、前記
電子手順書の改修箇所として抽出する、
処理をコンピュータに実行させるための改修箇所抽出プログラム。
【請求項2】
前記操作記録を参照して、前記箇所のいずれかで
前記複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間の
いずれかに前記オペレータによる、閾値分散より大きな分散があるか否かを判断し、
前記分散があると判断した場合、前記分散がある操作時間のコマンドに該当する前記箇所を、前記
電子手順書の改修箇所として抽出する、
処理を前記コンピュータに実行させることを特徴とする請求項1に記載の改修箇所抽出プログラム。
【請求項3】
前記
第1情報と前記
第2情報が一致する
と判断した場合、前記操作対象の大きさ及び個数の少なくとも一方に基づいて、前記操作時間を補正する、
処理を前記コンピュータに実行させることを特徴とする請求項
1又は2に記載の改修箇所抽出プログラム。
【請求項4】
前記実行情報は、前記箇所に記載された操作手順に従って実行されたコマンドの実行開始日時と実行終了日時とを含み、
前記実行開始日時と前記実行終了日時とに基づいて、前記操作時間を算出する、
処理を前記コンピュータに実行させることを特徴とする請求項1から3のいずれか1項に記載の改修箇所抽出プログラム。
【請求項5】
電子手順書の中で操作手順が記載された箇所
を識別する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータ
を識別するオペレータ情報とを関連付けた操作記録を取得し、
前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間の
前記操作手順毎の平均時間の中で他の平均時間に比べて突出した特定の平均時間があるか否かを判断し、
前記特定の平均時間があると判断した場合、前記特定の平均時間に応じた操作手順及び該操作手順の操作時間を含む操作実績に、前記オペレータによる画面操作に関する操作ログを対応付け、
前記操作ログに出現する第1情報と前記オペレータによる操作対象の第2情報が一致するか否かを判断し、
前記第1情報と前記第2情報が一致しないと判断した場合、前記特定の平均時間に応じた操作手順が記載された前記箇所を、前記
電子手順書の改修箇所として抽出する、
処理をコンピュータが実行する改修箇所抽出方法。
【請求項6】
電子手順書の中で操作手順が記載された箇所
を識別する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータ
を識別するオペレータ情報とを関連付けた操作記録を取得し、
前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間の
前記操作手順毎の平均時間の中で他の平均時間に比べて突出した特定の平均時間があるか否かを判断し、
前記特定の平均時間があると判断した場合、前記特定の平均時間に応じた操作手順及び該操作手順の操作時間を含む操作実績に、前記オペレータによる画面操作に関する操作ログを対応付け、
前記操作ログに出現する第1情報と前記オペレータによる操作対象の第2情報が一致するか否かを判断し、
前記第1情報と前記第2情報が一致しないと判断した場合、前記特定の平均時間に応じた操作手順が記載された前記箇所を、前記
電子手順書の改修箇所として抽出する、
処理を実行する処理部を有する改修箇所抽出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、改修箇所抽出プログラム、改修箇所抽出方法、及び改修箇所抽出装置に関する。
【背景技術】
【0002】
ユーザの操作履歴を用いて、ユーザが使用するシステムの操作性を評価する技術が知られている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、システムの運用現場では、システムの運用を管理する管理者が手順書を作成し、実際の運用については、運用担当者(以下、オペレータという)がその手順書に従って運用を実施していることが多い。しかしながら、手順書の中にわかりづらい操作手順や手間がかかる操作手順などが記載されていると、オペレータが誤った操作手順を実施する可能性がある。仮に、オペレータが誤った操作手順を実施しなくても、操作手順の実施効率が低下する可能性がある。
【0005】
このような可能性を回避するためには、管理者が手順書を確認して、操作手順の記載を改修すればよいが、確認すべき手順書が大量にあると、改修箇所を特定する作業は、作業負荷が大きく、困難である。
【0006】
そこで、1つの側面では、手順書の改修箇所を顕在化することを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様では、改修箇所抽出プログラムは、電子手順書の中で操作手順が記載された箇所を識別する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータを識別するオペレータ情報とを関連付けた操作記録を取得し、前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間の前記操作手順毎の平均時間の中で他の平均時間に比べて突出した特定の平均時間があるか否かを判断し、前記特定の平均時間があると判断した場合、前記特定の平均時間に応じた操作手順及び該操作手順の操作時間を含む操作実績に、前記オペレータによる画面操作に関する操作ログを対応付け、前記操作ログに出現する第1情報と前記オペレータによる操作対象の第2情報が一致するか否かを判断し、前記第1情報と前記第2情報が一致しないと判断した場合、前記特定の平均時間に応じた操作手順が記載された前記箇所を、前記電子手順書の改修箇所として抽出する、処理をコンピュータに実行させる。
【発明の効果】
【0008】
手順書の改修箇所を顕在化することができる。
【図面の簡単な説明】
【0009】
【
図3】
図3は情報処理サーバのハードウェア構成の一例である。
【
図4】
図4は情報処理サーバのブロック図の一例である。
【
図5】
図5は情報処理サーバが実行する処理の一例を示すフローチャートである。
【
図6】
図6(a)は操作記録の一例である。
図6(b)は操作記録の他の一例である。
【
図7】
図7(a)は各操作手順を実施した平均時間と分散の一例を説明するための図である。
図7(b)はオペレーションIDの抽出例を説明するための図である。
【
図8】
図8(a)はウェブ操作ログの一例である。
図8(b)はコンソール操作ログの一例である。
【
図9】
図9は操作ログを対応づけた操作実績の一例である。
【
図10】
図10(a)は電子ファイルの一例である。
図10(b)は電子ファイルの他の一例である。
【
図12】
図12は改修対象操作リストの生成例を説明するための図である。
【発明を実施するための形態】
【0010】
以下、本件を実施するための形態について図面を参照して説明する。
【0011】
図1は改修箇所抽出システムSTの一例である。
図2は手順書の一例である。改修箇所抽出システムSTは複数のオペレータ端末100,110と情報処理サーバ200と管理者端末300を構成要素として含んでいる。情報処理サーバ200は改修箇所抽出装置の一例である。複数のオペレータ端末100,110と情報処理サーバ200と管理者端末300は通信ネットワークNWを介して互いに接続されている。
図1では、通信ネットワークの一例としてLocal Area Network(LAN)が示されている。LANに代えて、インターネットを採用してもよい。尚、改修箇所抽出システムSTの構成要素から複数のオペレータ端末100,110と管理者端末300の少なくとも1つを除外してもよい。
図1では、2台のオペレータ端末100,110が示されているが、3台以上であってもよい。
【0012】
複数のオペレータ端末100,110はいずれもコンピュータで実現された運用対象システム(不図示)の運用を実施するオペレータが手順書に従って操作する端末装置である。管理者端末300はその手順書を作成する管理者が操作する端末装置である。
図1では、オペレータ端末100,110及び管理者端末300の一例として、Personal Computer(PC)が示されている。PCに代えて、タブレット端末を利用してもよく、端末装置の種別は特に限定されない。オペレータ端末100,110はそれぞれのオペレータの操作に基づいて、自身の表示部に手順書を表示する。例えばオペレータ端末100,110はOpen Source Software(OSS)のウェブ(Web)アプリケーションで閲覧可能であって、手順書に記載された各操作手順のコマンド又はコード(以下、単にコマンドという)の実行結果と実行日時の記録が可能な手順書を表示する。
【0013】
具体的には、
図2に示すように、手順書には、手順書を識別する手順書ID、運用対象システムに対する複数の操作手順、複数の操作手順とそれぞれ対応づけられた複数のコマンドが記載されている。その他、手順書には、オペレータ名や手順書のファイル名が対応付けられている。本実施形態に係る手順書には、手順書ID「proc_100」、操作手順「updateを実行する」、コマンド「update ‘対象ファイル’」などが記載されている。手順書には、オペレータ名「山田」及びファイル名「proc_100.ipynb」が対応付けられている。オペレータはこのような手順書に従って操作手順を順に実施する。
【0014】
例えば、オペレータが操作手順「updateを実行する」を実施する場合、コマンド「update ‘対象ファイル’」における対象ファイルを入力して指定し、コマンド実行ボタンBT1をポインタPTで押下する操作を行う。これにより、運用対象システム内でそのコマンドが実行され、その実行結果が実行日時と併せて実行情報として手順書内に出力される。具体的には、実行結果及び実行日時は実行されたコマンド記載箇所の直下に表示される。尚、
図2では実行日時の記載が省略されている。オペレータは実行結果に基づいてコマンドが正常に実行されたことを確認すると、次の操作手順「更新対象ファイルが見つかった場合…」を実施する。このように、オペレータは操作手順を順に実施する。
【0015】
以上説明した手順書は、例えばJupyter Notebookといったツールで実現することができるが、当該ツールに特に限定されない。例えば操作手順と連動してコマンドの実行日時、実行時間、操作手順の操作時間、操作時刻などを動的に記録できるツールや手順書の操作内容と手順書の該当箇所を閲覧している閲覧時刻とその後に続く操作を動的に抽出できるツールなどが知られている。また、このようなツールを利用しなくても後述する操作記録を取得できれば、ツールを利用する手法に限定されない。例えば、オペレータ端末100に表示したターミナル画面(例えばTera Termなど)にコマンドを表す文字列を貼り付けて実行することにより、操作記録を取得できれば、このような手法を採用してもよい。
【0016】
情報処理サーバ200はオペレータの操作記録を収集して記憶する。操作記録は操作手順が記載された箇所に関する操作情報と、その箇所で実行されたコマンドの実行情報と、操作手順を実施したオペレータに関するオペレータ情報を含んでいる。オペレータ情報としてはオペレータIDやオペレータ名などを利用することができる。操作記録では操作情報、実行情報及びオペレータ情報が互いに関連付けられている。詳細は後述するが、情報処理サーバ200は管理者端末300からの指示を検出すると、操作記録を参照して様々な処理を実行し、手順書の改修箇所を抽出する。
【0017】
管理者端末300は管理者の操作に基づいて、様々な画面を表示する。例えば、管理者端末300は情報処理サーバ200にアクセスし、情報処理サーバ200が抽出した改修箇所を確認できる改修箇所確認画面を表示する。管理者は管理者端末300に改修箇所確認画面を表示することで、オペレータにとってわかりづらい操作手順や手間がかかる操作手順を改修することができる。
【0018】
次に、
図3を参照して、情報処理サーバ200のハードウェア構成について説明する。
【0019】
図3は情報処理サーバ200のハードウェア構成の一例である。
図3に示すように、情報処理サーバ200は、少なくともハードウェアプロセッサとしてのCentral Processing Unit(CPU)200A、Random Access Memory(RAM)200B、Read Only Memory(ROM)200C、及びネットワークI/F(インタフェース)200Dを含んでいる。情報処理サーバ200は、必要に応じて、Hard Disk Drive(HDD)200E、入力I/F200F、出力I/F200G、入出力I/F200H、ドライブ装置200Iの少なくとも1つを含んでいてもよい。CPU200Aからドライブ装置200Iまでは、内部バス200Jによって互いに接続されている。すなわち、情報処理サーバ200はコンピュータによって実現することができる。尚、CPU200Aに代えてMicro Processing Unit(MPU)をハードウェアプロセッサとして利用してもよい。
【0020】
入力I/F200Fには、入力装置710が接続される。入力装置710としては、例えばキーボードやマウスなどがある。出力I/F200Gには、表示装置720が接続される。表示装置720としては、例えば液晶ディスプレイがある。入出力I/F200Hには、半導体メモリ730が接続される。半導体メモリ730としては、例えばUniversal Serial Bus(USB)メモリやフラッシュメモリなどがある。入出力I/F200Hは、半導体メモリ730に記憶されたプログラムやデータを読み取る。入力I/F200F及び入出力I/F200Hは、例えばUSBポートを備えている。出力I/F200Gは、例えばディスプレイポートを備えている。
【0021】
ドライブ装置200Iには、可搬型記録媒体740が挿入される。可搬型記録媒体740としては、例えばCompact Disc(CD)-ROM、Digital Versatile Disc(DVD)といったリムーバブルディスクがある。ドライブ装置200Iは、可搬型記録媒体740に記録されたプログラムやデータを読み込む。ネットワークI/F200Dは、例えばLANポートや通信回路などを備えている。ネットワークI/F200Dは通信ネットワークNWと接続される。
【0022】
上述したRAM200Bには、ROM200CやHDD200E、半導体メモリ730に記憶されたプログラムがCPU200Aによって一時的に格納される。RAM200Bには、可搬型記録媒体740に記録されたプログラムがCPU200Aによって一時的に格納される。格納されたプログラムをCPU200Aが実行することにより、CPU200Aは後述する各種の機能を実現し、また、後述する各種の処理を実行する。尚、プログラムは後述するフローチャートに応じたものとすればよい。
【0023】
次に、
図4を参照して、情報処理サーバ200の機能構成について説明する。
【0024】
図4は情報処理サーバ200のブロック図の一例である。
図4では情報処理サーバ200の機能の要部が示されている。
図4に示すように、情報処理サーバ200は記憶部210、処理部220、及び通信部230を構成要素として含んでいる。記憶部210は例えばRAM200B及びHDD200Eによって実現することができる。処理部220は例えばCPU200Aによって実現することができる。通信部230は例えばネットワークI/F200Dによって実現することができる。したがって、記憶部210、処理部220、及び通信部230は互いに接続されている。
【0025】
ここで、記憶部210は操作記録記憶部211、手順書記憶部212、第1ログ記憶部213、第2ログ記憶部214、及び操作対象記憶部215を構成要素として含んでいる。記憶部210に第1ログ記憶部213及び第2ログ記憶部214と異なる一又は複数の第3ログ記憶部(不図示)を構成要素として含めてもよい。処理部220は算出部221、結合部222、補正部223、及び抽出部224を構成要素として含んでいる。処理部220の構成要素はそれぞれ記憶部210の構成要素の少なくとも1つにアクセスして、各種の処理を実行する。
【0026】
例えば、算出部221は、管理者端末300から要求された特定の指示を検出すると、操作記録を記憶する操作記録記憶部211にアクセスし、操作記録記憶部211から操作記録を取得する。算出部221は操作記録を取得すると、取得した操作記録に基づいて、各操作手順の操作時間、操作手順ごとの操作時間の平均時間及び分散を算出する。尚、その他の構成要素については、情報処理サーバ200の動作を説明する際に詳しく記載する。
【0027】
続いて、
図5から
図13を参照して、情報処理サーバ200の動作について説明する。
【0028】
まず、
図5に示すように、算出部221は操作記録記憶部211から操作記録を取得する(ステップS101)。操作記録記憶部211は情報処理サーバ200が収集した複数の操作記録を記憶する。具体的には、
図6(a)及び(b)に示すように、操作記録は、操作手順を識別するオペレーションID及び操作手順の内容を表すオペレーションを含んでいる。また、操作記録は、各操作手順のコマンドを実行し始めた開始日時、及び各操作手順のコマンドを実行し終えた終了日時を含んでいる。さらに、操作記録には手順書ID及びオペレータ名が対応づけられている。
【0029】
図6(a)及び(b)に示すように、各オペレータはそれぞれ同じ手順書IDが付与された手順書を閲覧しながら、一連の複数の操作手順を順に実施している。しかしながら、開始日時と終了日時に基づく各操作手順の操作時間はオペレータによって相違する。例えば、オペレーションID「op100-2」では、オペレータ「山田」よりオペレータ「佐藤」の方が操作に時間がかかっている。算出部221はこのような様々な操作記録を取得する。
【0030】
ステップS101の処理が完了すると、次いで、算出部221は平均時間と分散を算出する(ステップS102)。より詳しくは、算出部221は、取得した複数の操作記録に基づいて、各操作手順の操作時間、操作手順ごとの操作時間の平均時間及び分散を算出する。例えば、算出部221は開始日時と終了日時の差分に基づくコマンドの実行時間を操作手順の操作時間として算出してもよい。これにより、
図7(a)に示すように、オペレーションID毎に平均時間と分散が算出される。
【0031】
ステップS102の処理が完了すると、結合部222は操作単位毎に後続の処理を実行する(ステップS103)。具体的には、結合部222はいずれかのオペレーションIDを指定して後続の処理を実行する。例えば、結合部222は、
図7(b)に示すように、オペレーションID「op100-3」を指定して、後続の処理を実行する。
【0032】
結合部222は、指定したオペレーションIDについて、平均時間が閾値時間より大きいか否かを判断する(ステップS104)。結合部222は平均時間が閾値時間より大きいと判断した場合(ステップS104:YES)、指定したオペレーションIDを抽出する(ステップS105)。本実施形態では、閾値時間として一例として200秒を採用することにより、
図7(b)に示すように、結合部222はオペレーションID「op100-3」を抽出することができる。オペレーションID「op100-2」が指定された場合には、結合部222はオペレーションID「op100-2」も抽出することができる。しかしながら、オペレーションID「op100-1」が指定された場合には、平均時間が閾値時間より大きくないため、結合部222はオペレーションID「op100-1」を抽出することができない。
【0033】
ステップS105の処理が完了すると、次いで、結合部222は操作ログを結合する(ステップS106)。より詳しくは、操作ログに出現する日時に基づいて、抽出したオペレーションIDの操作記録の一部である操作実績に操作ログを結合する。操作ログは少なくともウェブ操作ログとコンソール操作ログを含んでいる。操作ログにウェブ操作ログ及びコンソール操作ログと種類が異なる他の一又は複数の操作ログを含めてもよい。上述した第1ログ記憶部213がウェブ操作ログを記憶する。上述した第2ログ記憶部214がコンソール操作ログを記憶する。記憶部210が上述した第3ログ記憶部(不図示)を含む場合には、第3ログ記憶部が他の一又は複数の操作ログを記憶すればよい。情報処理サーバ200が複数のオペレータ端末100,110からウェブ操作ログとコンソール操作ログを収集することによって、第1ログ記憶部213はウェブ操作ログを記憶することができ、第2ログ記憶部214がコンソール操作ログを記憶することができる。
【0034】
ウェブ操作ログは、ウェブブラウザに対して行われた操作のログ情報である。例えば、
図8(a)に示すように、ウェブ操作ログに出現する日時を操作記録に含まれる開始日時及び終了日時と対比すれば、オペレータ「山田」はオペレーションID「op100-2」の操作手順を実施する際に、ウェブブラウザをスクロールして文字列検索する操作を行ったことが分かる。すなわち、その操作手順を実施する際、オペレータ「山田」は操作手順の理解があいまいであるために、ウェブブラウザを操作して確認したと推定することができる。尚、本実施形態では、オペレーションID「op100-3」が抽出されているため、オペレーションID「op100-2」に対応するウェブ操作ログは、オペレーションID「op100-3」に結合されない。
【0035】
コンソール操作ログは、コンソール画面に対して行われた操作のログ情報である。例えば、
図8(b)に示すように、コンソール操作ログに出現する日時を操作記録に含まれる開始日時及び終了日時と対比すれば、オペレータ「山田」はオペレーションID「op100-3」の操作手順を実施する際に、コンソール画面に対して手順書からautoremove /etc/aaa.logという文字列を抽出する操作を行ったことが分かる。また、オペレータ「佐藤」はオペレーションID「op100-3」の操作手順を実施する際に、コンソール画面に対して/etc/aaa.logの最終行から数行を表示する操作を行ったことが分かる。すなわち、その操作手順を実施する際、オペレータ「山田」及び「佐藤」はいずれも操作手順の理解があいまいであるために、コンソール画面を操作したと推定することができる。本実施形態では、オペレーションID「op100-3」が抽出されているため、オペレーションID「op100-3」に対応するコンソール操作ログは、オペレーションID「op100-3」に結合される。
【0036】
以上の処理により、
図9に示すように、抽出されたオペレーションIDの操作記録の一部である操作実績に、ウェブ操作ログが対応づけられずに、コンソール操作ログが対応づけられる。尚、コンソール時間は例えばコンソール画面を表示し始めてからコンソール画面を表示し終えるまでの時間とすればよい。
【0037】
その他、手順書内に出現する実行結果と次の操作手順の内容との関係があいまいである場合、オペレータによっては同じ操作手順を繰り返したり、順に実施すべき操作手順の少なくとも1つを省略して後に実施すべき操作手順を先に実施したりすることがある。この場合、オペレータの試行錯誤により、コマンドが複数回実行されたり、実行すべきコマンドと異なるコマンドが実行されたりする。例えば、コマンド「upgrade ‘更新対象ファイル’」(
図2参照)が実行され、実行結果が出力された場合に、その実行結果内にautoremoveが出力されていないにも関わらず、手順書によっては手順書内に次の操作手順「autoremoveが出力されていれば…」が記載されていることがある。
【0038】
このような場合、オペレータによっては理解不十分のままその操作手順を実施することにより、正常な実行結果が得られず、試行錯誤により、同じ操作手順を実施する可能性がある。オペレータによってはウェブブラウザを起動して様々な確認を行ったり、コンソール画面を起動して様々な操作を行ったりする。このように、手順書内の操作手順の記載によっては、コマンドが複数回実行されたり、ウェブブラウザやコンソール画面が起動されたりすることがある。
【0039】
ステップS106の処理が完了すると、補正部223は操作ログを結合した操作実績の情報と操作対象の情報が一致するか否かを判断する(ステップS107)。より詳しくは、補正部223は操作対象の情報を記憶する操作対象記憶部215にアクセスして操作対象の情報を取得し、操作ログを結合した操作実績の情報と取得した操作対象の情報が一致するか否かを判断する。ここで、操作対象の情報とは、操作手順を実施する際に参照又は変更した電子ファイルである。このような電子ファイルとして、例えばコマンドの実行結果を表すログファイルやconfigファイルといった設定ファイルを利用することができる。
【0040】
例えば、操作対象記憶部215が操作対象の情報として、
図10(a)及び(b)に示すように、オペレータ「山田」が操作手順を実施する際に参照等した電子ファイルとオペレータ「佐藤」が操作手順を実施する際に参照等した電子ファイルを記憶する場合、補正部223は操作対象記憶部215からこれらの電子ファイルを取得する。例えば補正部223はカレントディレクトリからこれらの電子ファイルを特定して取得する。補正部223は電子ファイルを取得すると、オペレーションIDとオペレータ名の組合せに基づいて、
図9に示すコンソール操作に格納された情報と、電子ファイルに含まれる情報が一致するか否かを判断する。具体的には、補正部223は、
図9及び
図10に示す絶対パスで記載されたファイル名が一致するか否かを判断する。すなわち、補正部223は操作手順を実施する際に実行したコマンドによって生成された電子ファイルを証拠(エビデンス)として使用し、コンソール操作で対象とされた情報が、コマンドが対象とする情報であるか否かを確認する。
【0041】
補正部223は操作ログを結合した操作実績の情報と操作対象の情報が一致すると判断した場合(ステップS107:YES)、操作時間に対するウェブ時間及びコンソール時間の時間割合を算出する(ステップS108)。例えば、補正部223はウェブ時間とコンソール時間の合計時間に対する操作時間の時間割合をオペレータ毎に算出する。本実施形態では、
図9に示すように、オペレーションID「op100-3」についてウェブ時間が考慮されないため、
図11に示すように、補正部223はコンソール時間に対する操作時間の時間割合をオペレータ毎に算出する。操作時間の中でコンソール操作に要した時間の割合を特定することで、オペレータによる試行錯誤の状況を判断することができる。
【0042】
尚、補正部223はウェブ時間に対する操作時間の時間割合とコンソール時間に対する操作時間の時間割合を別々に算出してもよい。また、補正部223はコマンドの実行対象(又は操作対象)のサイズや個数などに基づいて操作時間を補正してから時間割合を算出してもよい。これにより、操作対象に起因する操作時間の変動を抑制することができる。例えば、aaa.logのサイズが大きい場合には、実行時間又は操作時間が長時間になり易い。aaa.log以外にも操作対象があれば、実行時間又は操作時間が長時間になり易い。このような場合、操作時間を補正することにより、補正しない場合に比べて高精度の操作時間を利用することができる。尚、本実施形態では、操作対象が1つであり、そのサイズも小さいと仮定し、補正を行っていない。
【0043】
ステップS108の処理が完了すると、次いで、抽出部224は時間割合が閾値時間割合より大きいか否かを判断する(ステップS109)。抽出部224は時間割合が閾値時間割合より大きいと判断した場合(ステップS109:YES)、改修対象箇所を抽出する(ステップS110)。すなわち、時間割合が閾値時間割合より大きい場合、抽出部224はそのオペレーションIDを改修対象箇所として抽出する。本実施形態では、閾値時間割合の一例として50%を採用することにより、抽出部224はオペレーションID「op100-3」を改修対象箇所として抽出することができる。ステップS110の処理が完了すると、ステップS103の処理に戻り(ステップS111)、結合部222は別のオペレーションIDを改めて指定して後続の処理を実行する。
【0044】
一方、ステップS104の処理において、結合部222は平均時間が閾値時間以下であると判断した場合(ステップS104:NO)、抽出部224は分散が閾値分散より大きいか否かを判断する(ステップS112)。ステップS109の処理において、抽出部224は時間割合が閾値時間割合以下であると判断した場合(ステップS109:NO)、同様に、ステップS112の処理を実行する。すなわち、操作時間の平均時間が短く、各オペレータが操作手順を試行錯誤せずに実施できた場合であっても、オペレータ毎に操作時間のばらつきがある場合には、オペレータによっては試行錯誤によって操作手順を実施している場合もある。また、操作時間の平均時間が長くても、その多くの時間がウェブ操作やコンソール操作に割かれている場合にも、オペレータによっては試行錯誤によって操作手順を実施している場合もある。
【0045】
本実施形態では、閾値分散として一例として「2000」を採用することにより、仮に、オペレーションID「op100-1」の分散(
図7(a)参照)がその閾値分散より大きな分散である場合には、抽出部224は分散が閾値分散より大きいと判断し(ステップS112:YES)、ステップS110の処理を実行する。したがって、この場合、抽出部224はオペレーションID「op100-1」を改修対象箇所として抽出することができる。尚、補正部223は操作ログを結合した操作実績の情報と操作対象の情報が一致しないと判断した場合(ステップS107:NO)、抽出部224はステップS110の処理を実行する。一方、抽出部224は分散が閾値分散以下であると判断した場合(ステップS112:NO)、ステップS110の処理をスキップして、ステップS111の処理を実行する。すなわち、抽出部224は指定されたオペレーションIDの抽出を回避する。
【0046】
ステップS103からステップS111までの処理の繰り返しが終了すると、抽出部224は改修対象操作リストを出力する(ステップS113)。より詳しくは、抽出部224は手順書を記憶する手順書記憶部212にアクセスして、操作記録に含まれる手順書IDに応じた手順書を抽出し、
図12に示すように、抽出した手順書と改修対象箇所をマッチングする。そして、
図12に示すように、抽出部224は改修対象箇所にマッチしたオペレーションを抽出し、手順書IDとオペレーションIDとオペレーションとを含む改修対象操作リストを生成して出力する。
【0047】
抽出部224は改修対象操作リストを出力すると、改修対象操作リストを改修箇所の選択肢として含む改修箇所確認画面を管理者端末300に提供する。これにより、管理者端末300は改修箇所確認画面を表示する。改修箇所確認画面は、
図13に示すように、改修箇所の選択肢のほか、手順書ファイル名や手順書などを含んでいる。管理者は管理者端末300を操作して、選択肢をポインタPTで押下することにより、わかりづらい操作手順や手間がかかる操作手順など確認することができる。これにより、管理者はこれらの操作手順の記載を改修することができる。
【0048】
以上、本実施形態によれば、情報処理サーバ200は処理部220を含み、処理部220は算出部221と抽出部224とを含んでいる。算出部221は操作記録を取得する。操作記録はオペレーションが記載された箇所とそのオペレーションの操作日時とオペレータとを互いに関連付けて含んでいる。抽出部224は操作記録を参照して、その箇所のいずれかで複数のコマンドが実行され、かつ、実行された複数のコマンドの実行結果に基づく操作時間のいずれかにオペレータによる分散がある場合、分散がある操作時間のコマンドに該当する箇所を、手順書の改修箇所として抽出する。これにより、手順書の改修箇所を顕在化することができる。
【0049】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0050】
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)手順書の中で操作手順が記載された箇所に関する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータに関するオペレータ情報とを関連付けた操作記録を取得し、前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間のいずれかに前記オペレータによる分散がある場合、前記分散がある操作時間のコマンドに該当する前記箇所を、前記手順書の改修箇所として抽出する、処理をコンピュータに実行させるための改修箇所抽出プログラム。
(付記2)前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間の前記操作手順毎の平均時間の中で他の平均時間に比べて突出した特定の平均時間がある場合、前記特定の平均時間に応じた操作手順及び該操作手順の操作時間を含む操作実績に、前記オペレータによる画面操作に関する操作ログを対応付け、前記操作ログに出現する情報と前記オペレータによる操作対象の情報が一致しない場合、前記特定の平均時間に応じた操作手順が記載された箇所を、前記手順書の改修箇所として抽出する、ことを特徴とする付記1に記載の改修箇所抽出プログラム。
(付記3)前記操作ログに出現する情報と前記オペレータによる操作対象の情報が一致する場合、前記操作対象の大きさ及び個数の少なくとも一方に基づいて、前記操作時間を補正する、ことを特徴とする付記2に記載の改修箇所抽出プログラム。
(付記4)前記実行情報は、前記箇所に記載された操作手順に従って実行されたコマンドの実行開始日時と実行終了日時とを含み、前記実行開始日時と前記実行終了日時とに基づいて、前記操作時間を算出する、ことを特徴とする付記1から3のいずれか1項に記載の改修箇所抽出プログラム。
(付記5)手順書の中で操作手順が記載された箇所に関する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータに関するオペレータ情報とを関連付けた操作記録を取得し、前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間のいずれかに前記オペレータによる分散がある場合、前記分散がある操作時間のコマンドに該当する前記箇所を、前記手順書の改修箇所として抽出する、処理をコンピュータが実行する改修箇所抽出方法。
(付記6)手順書の中で操作手順が記載された箇所に関する操作情報と、前記箇所で実行されたコマンドの実行情報と、前記操作手順を実施したオペレータに関するオペレータ情報とを関連付けた操作記録を取得し、前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間のいずれかに前記オペレータによる分散がある場合、前記分散がある操作時間のコマンドに該当する前記箇所を、前記手順書の改修箇所として抽出する、処理を実行する処理部を有する改修箇所抽出装置。
(付記7)前記処理部は、前記操作記録を参照して、前記箇所のいずれかで複数のコマンドが実行され、かつ、実行された前記複数のコマンドの実行情報に基づく操作時間の前記操作手順毎の平均時間の中で他の平均時間に比べて突出した特定の平均時間がある場合、前記特定の平均時間に応じた操作手順及び該操作手順の操作時間を含む操作実績に、前記オペレータによる画面操作に関する操作ログを対応付け、前記操作ログに出現する情報と前記オペレータによる操作対象の情報が一致しない場合、前記特定の平均時間に応じた操作手順が記載された箇所を、前記手順書の改修箇所として抽出する、ことを特徴とする付記6に記載の改修箇所抽出装置。
(付記8)前記処理部は、前記操作ログに出現する情報と前記オペレータによる操作対象の情報が一致する場合、前記操作対象の大きさ及び個数の少なくとも一方に基づいて、前記操作時間を補正する、ことを特徴とする付記7に記載の改修箇所抽出装置。
(付記9)前記実行情報は、前記箇所に記載された操作手順に従って実行されたコマンドの実行開始日時と実行終了日時とを含み、前記処理部は、前記実行開始日時と前記実行終了日時とに基づいて、前記操作時間を算出する、ことを特徴とする付記6から8のいずれか1項に記載の改修箇所抽出装置。
【符号の説明】
【0051】
ST 改修箇所抽出システム
100,110 オペレータ端末
200 情報処理サーバ
210 記憶部
220 処理部
221 算出部
222 結合部
223 補正部
224 抽出部
230 通信部
300 管理者端末