(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-19
(45)【発行日】2022-07-27
(54)【発明の名称】ワークフロー試験装置及びワークフロー試験プログラム
(51)【国際特許分類】
G06F 11/36 20060101AFI20220720BHJP
【FI】
G06F11/36 164
(21)【出願番号】P 2018041656
(22)【出願日】2018-03-08
【審査請求日】2021-02-26
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】100115129
【氏名又は名称】清水 昇
(74)【代理人】
【識別番号】100102716
【氏名又は名称】在原 元司
(74)【代理人】
【識別番号】100122275
【氏名又は名称】竹居 信利
(72)【発明者】
【氏名】都甲 篤史
(72)【発明者】
【氏名】田代 潔
(72)【発明者】
【氏名】松尾 淑央
(72)【発明者】
【氏名】飯村 和也
【審査官】北川 純次
(56)【参考文献】
【文献】国際公開第2017/200633(WO,A1)
【文献】国際公開第2006/080078(WO,A1)
【文献】特開2015-119251(JP,A)
【文献】特開2009-075724(JP,A)
【文献】米国特許出願公開第2016/0004622(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
G06F 11/30
(57)【特許請求の範囲】
【請求項1】
ワークフローを取得する取得手段と、
前記ワークフローにおける分岐点の指示を受け付ける受付手段と、
前記受付手段が受け付けた分岐点から前記ワークフローを実行する実行手段
を備え
、
前記分岐点は、前記ワークフロー上の外観では分岐ではないが、該ワークフロー内の作業を行う装置に依存して表示内容が異なるステップである、
ワークフロー試験装置。
【請求項2】
前記試験が行われている間は、前記ワークフローの過程を表示する表示手段
をさらに有する請求項1に記載のワークフロー試験装置。
【請求項3】
前記表示手段は、前記ワークフロー内の各ステップにおける文書の状態を表示する、
請求項2に記載のワークフロー試験装置。
【請求項4】
前記表示手段は、前記各ステップにおける処理内容、該ステップにおいて表示された画面を表示する、
請求項3に記載のワークフロー試験装置。
【請求項5】
前記分岐点は、
前記作業を行う者が用いる装置が複数あり、該装置の画面の大きさが異なる場合である、
請求項1に記載のワークフロー試験装置。
【請求項6】
前記分岐点は、
前記作業を行う者が用いる装置が複数あり、該装置で表示される言語が異なる場合である、
請求項1に記載のワークフロー試験装置。
【請求項7】
前記ワークフローの試験を行う者が用いる第1装置と前記作業を行う者が用いる第2装置と異なる場合であっても、該第1装置上で該第2装置上の画面表示と同じものを表示する、
請求項5又は6に記載のワークフロー試験装置。
【請求項8】
前記分岐点となるステップを、他のステップとは異ならせて表示する表示手段
をさらに有する請求項
1に記載のワークフロー試験装置。
【請求項9】
前記分岐点は、前記ワークフロー内の作業の判定によってルートが異なるステップである、
請求項1に記載のワークフロー試験装置。
【請求項10】
コンピュータを、
ワークフローを取得する取得手段と、
前記ワークフローにおける分岐点の指示を受け付ける受付手段と、
前記受付手段が受け付けた分岐点から前記ワークフローを実行する実行手段
として機能させ
、
前記分岐点は、前記ワークフロー上の外観では分岐ではないが、該ワークフロー内の作業を行う装置に依存して表示内容が異なるステップである、
ワークフロー試験プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワークフロー試験装置及びワークフロー試験プログラムに関する。
【背景技術】
【0002】
特許文献1には、複数のソフトウェア部品から構成されるソフトウェアの動作を容易且つ正確にシミュレート可能なソフトウェア動作確認方法、情報処理システム及び情報処理装置を提供することを課題とし、所定の装置上でのソフトウェアの動作を情報処理装置上で確認するソフトウェア動作確認方法であって、情報処理装置が、複数のソフトウェア部品から構成されるソフトウェアの動作のシミュレート要求を受け付ける受付ステップと、情報処理装置が、所定の装置上でのソフトウェアの動作を、ソフトウェアを構成しているソフトウェア部品の単位でシミュレートするシミュレートステップと、情報処理装置が、シミュレート結果をシミュレート要求に対する応答として出力する応答ステップとを有することにより上記課題を解決することが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
業務の一連の処理手続きを定義したワークフローがある。新たに作成(修正等を含む)したワークフローを、正式採用する前に、そのワークフローの試験(試験ともいわれる)を行う必要がある。
しかし、分岐があるワークフローの試験にあっては、複数の実行パターンが存在する。したがって、それらの実行パターンには共通するステップが存在するにもかかわらず、それぞれの実行パターンを最初から実行しなければならないため、試験に時間がかかっていた。
本発明は、分岐があるワークフローの試験にあたって、指示された分岐点からワークフローを試験することができるワークフロー試験装置及びワークフロー試験プログラムを提供することを目的としている。
【課題を解決するための手段】
【0005】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。なお、以下の「請求項」とあるのは、出願当初の請求項である。
請求項1の発明は、ワークフローを取得する取得手段と、前記ワークフローにおける分岐点の指示を受け付ける受付手段と、前記受付手段が受け付けた分岐点から前記ワークフローを実行する実行手段を備えたワークフロー試験装置である。
【0006】
請求項2の発明は、前記試験が行われている間は、前記ワークフローの過程を表示する表示手段をさらに有する請求項1に記載のワークフロー試験装置である。
【0007】
請求項3の発明は、前記表示手段は、前記ワークフロー内の各ステップにおける文書の状態を表示する、請求項2に記載のワークフロー試験装置である。
【0008】
請求項4の発明は、前記表示手段は、前記各ステップにおける処理内容、該ステップにおいて表示された画面を表示する、請求項3に記載のワークフロー試験装置である。
【0009】
請求項5の発明は、前記分岐点は、前記ワークフロー内の作業を行う装置に依存して表示内容が異なるステップである、請求項1に記載のワークフロー試験装置である。
【0010】
請求項6の発明は、前記分岐点となるステップを、他のステップとは異ならせて表示する表示手段をさらに有する請求項5に記載のワークフロー試験装置である。
【0011】
請求項7の発明は、前記分岐点は、前記ワークフロー内の作業の判定によってルートが異なるステップである、請求項1に記載のワークフロー試験装置である。
【0012】
請求項8の発明は、コンピュータを、ワークフローを取得する取得手段と、前記ワークフローにおける分岐点の指示を受け付ける受付手段と、前記受付手段が受け付けた分岐点から前記ワークフローを実行する実行手段として機能させるためのワークフロー試験プログラムである。
【発明の効果】
【0013】
請求項1のワークフロー試験装置によれば、分岐があるワークフローの試験にあたって、指示された分岐点からワークフローを試験することができる。
【0014】
請求項2のワークフロー試験装置によれば、試験が行われている間の、ワークフローの過程を知ることができる。
【0015】
請求項3のワークフロー試験装置によれば、ワークフロー内の各ステップにおける文書の状態を知ることができる。
【0016】
請求項4のワークフロー試験装置によれば、各ステップにおける処理内容、そのステップにおいて表示された画面を知ることができる。
【0017】
請求項5のワークフロー試験装置によれば、ワークフロー内の作業を行う装置に依存して表示内容が異なるステップを分岐点とすることができる。
【0018】
請求項6のワークフロー試験装置によれば、分岐点となるステップを知ることができる。
【0019】
請求項7のワークフロー試験装置によれば、ワークフロー内の作業の判定によってルートが異なることとなるステップを分岐点とすることができる。
【0020】
請求項8のワークフロー試験プログラムによれば、分岐があるワークフローの試験にあたって、指示された分岐点からワークフローを試験することができる。
【図面の簡単な説明】
【0021】
【
図1】本実施の形態の構成例についての概念的なモジュール構成図である。
【
図2】本実施の形態を利用したシステム構成例を示す説明図である。
【
図3】本実施の形態での処理対象となるワークフローの例を示す説明図である。
【
図4】ユーザー基本データテーブルのデータ構造例を示す説明図である。
【
図5】ユーザー設定データテーブルのデータ構造例を示す説明図である。
【
図6】通知先設定テーブルのデータ構造例を示す説明図である。
【
図7】本実施の形態による処理例を示すフローチャートである。
【
図8】本実施の形態による処理例を示すフローチャートである。
【
図9】本実施の形態による処理例を示す説明図である。
【
図10】本実施の形態による処理例を示す説明図である。
【
図11】本実施の形態による処理例を示す説明図である。
【
図12】ユーザー情報テーブルのデータ構造例を示す説明図である。
【
図13】本実施の形態による処理例を示す説明図である。
【
図14】本実施の形態による処理例を示す説明図である。
【
図15】本実施の形態が対象とする分岐点のあるワークフロー例を示す説明図である。
【
図16】ワークフロー定義テーブルのデータ構造例を示す説明図である。
【
図17】ワークフロー状態遷移テーブルのデータ構造例を示す説明図である。
【
図18】ワークフロー状態データテーブルのデータ構造例を示す説明図である。
【
図19】本実施の形態による処理例を示すフローチャートである。
【
図20】本実施の形態による処理例を示す説明図である。
【
図21】本実施の形態による処理例を示す説明図である。
【
図22】本実施の形態による処理例を示す説明図である。
【
図23】本実施の形態による処理例を示す説明図である。
【
図24】本実施の形態による処理例を示す説明図である。
【
図25】本実施の形態による処理例を示すフローチャートである。
【
図26】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0022】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0023】
本実施の形態であるワークフロー情報提供装置100とユーザー端末150は、ワークフロー(ジョブフローを含む)の試験を行うものである。ワークフロー情報提供装置100は、
図1の例に示すように、ソフトウェア部品記憶モジュール105、ソフトウェア(ワークフロー)動作可能判定モジュール110、ソフトウェア(ワークフロー)実行モジュール115、ソフトウェア部品提供モジュール120、ユーザー情報記憶モジュール125、ユーザー情報提供モジュール130、ワークフロー試験データ記憶モジュール135、ソフトウェア(ワークフロー)試験データ記憶モジュール140を有している。ユーザー端末150は、ソフトウェア部品取得モジュール155、ユーザー情報取得モジュール160、テスト実行モジュール165、画面表示モジュール170を有している。なお、ワークフロー情報提供装置100は、ワークフローのソフトウェア部品の提供・実行用サーバとしての機能も有している。ユーザー端末150は、ワークフロー生成としての機能も有している。
「ワークフロー」とは、業務の一連の処理手続きが定義されたもの、またその業務の一連の流れを指す。ワークフローは、後述する
図3の例に示すように、順序付けられた作業によって構成されている。文書がワークフロー内の各作業で受け渡しされる。ここで「文書(ファイルともいわれる)」とは、テキストデータ、数値データ、図形データ、画像データ、動画データ、音声データ等、又はこれらの組み合わせであり、記憶、編集及び検索等の対象となり、システム又は利用者間で個別の単位として交換できるものをいい、これらに類似するものを含む。具体的には、文書作成プログラム(いわゆるワープロソフト)によって作成された文書、画像読取装置(スキャナ等)で読み込まれた画像、Webページ等を含む。
本実施の形態によって、第1のユーザー、第2のユーザーとして、ユーザー端末150におけるユーザー(1人の試験者)が代行して作業を行うことになる。
なお、ユーザーが個別にユーザー端末150を有している場合は、本実施の形態によって一つのユーザー端末150で試験ができることになる。
また、「ワークフローの試験」として、検証、シミュレーション、デバッグも含む。ワークフローの試験は、試験モードでの実行であって、正式な運用に対して影響を及ぼさないものである。
【0024】
ソフトウェア部品記憶モジュール105は、ソフトウェア(ワークフロー)動作可能判定モジュール110、ソフトウェア(ワークフロー)実行モジュール115、ソフトウェア部品提供モジュール120と接続されている。ソフトウェア部品記憶モジュール105は、ワークフローに関するソフトウェア(プログラム)を記憶している。例えば、ワークフローの各作業(ステップ)の処理を行うソフトウェア部品を記憶している。第1のユーザーが用いるユーザー端末150、第2のユーザーが用いるユーザー端末150の種類が異なると、同じ処理を行う場合でも、異なるソフトウェアを用意する必要がある場合がある。もちろんのことながら、OSに依存しないプログラミング言語で記載されたソフトウェアであってもよい。
【0025】
ソフトウェア(ワークフロー)動作可能判定モジュール110は、ソフトウェア部品記憶モジュール105、ユーザー端末150の画面表示モジュール170と接続されている。ソフトウェア(ワークフロー)動作可能判定モジュール110は、ユーザー端末150において、対象となっているワークフローの動作が可能であるか否かを判定する。動作が可能でない場合は、そのユーザー端末150では本ワークフローを動作できない旨を、ユーザー端末150に通知する。
ソフトウェア(ワークフロー)実行モジュール115は、ソフトウェア部品記憶モジュール105、ソフトウェア(ワークフロー)試験データ記憶モジュール140、ユーザー端末150の画面表示モジュール170と接続されている。ソフトウェア(ワークフロー)実行モジュール115は、ワークフローの各作業を実行する。なお、試験においては、テスト実行モジュール165が試験におけるワークフローの各作業を実行してもよいし、試験においても、テスト実行モジュール165からの指示にしたがって、ワークフローの各作業を実行してもよい。
ソフトウェア部品提供モジュール120は、ソフトウェア部品記憶モジュール105、ユーザー端末150のソフトウェア部品取得モジュール155と接続されている。ソフトウェア部品提供モジュール120は、ユーザー端末150のソフトウェア部品取得モジュール155からの要求にしたがって、そのユーザー端末150がワークフローの各作業を実行するにあたって、必要なソフトウェアをソフトウェア部品記憶モジュール105から抽出し、そのユーザー端末150に提供する。
【0026】
ユーザー情報記憶モジュール125は、ユーザー情報提供モジュール130と接続されている。ユーザー情報記憶モジュール125は、ワークフローの各作業を行うユーザー(第1のユーザー、第2のユーザー等)に関する情報を記憶している。例えば、ユーザー基本データテーブル400、ユーザー設定データテーブル500、通知先設定テーブル600を記憶している。
図4は、ユーザー基本データテーブル400のデータ構造例を示す説明図である。ユーザー基本データテーブル400は、ユーザーID欄405、氏名欄410、メールアドレス欄415、所属組織欄420、役職欄425を有している。ユーザーID欄405は、本実施の形態において、ユーザーを一意に識別するための情報(ユーザーID:IDentification)を記憶している。氏名欄410は、そのユーザーの氏名を記憶している。メールアドレス欄415は、そのユーザーのメールアドレスを記憶している。所属組織欄420は、そのユーザーの所属組織を記憶している。役職欄425は、そのユーザーの役職を記憶している。例えば、
図4では、ユーザーID:User0001において、氏名は「富士太郎」であり、メールアドレスは「fuji.taro@hoge.com」であり、所属組織は「Hoge部」であり、役職は「一般」であり、ユーザーID:User0002において、氏名は「鈴木一郎」であり、メールアドレスは「suzuki.ichiro@hoge.com」であり、所属組織は「Hoge部」であり、役職は「部長」であることを示している。
【0027】
図5は、ユーザー設定データテーブル500のデータ構造例を示す説明図である。ユーザー設定データテーブル500は、ユーザーID欄505、デバイスID欄510、表示言語欄515、ファイル格納先欄520、メール通知欄525、メール通知頻度欄530を有している。ユーザーID欄505は、ユーザーIDを記憶している。デバイスID欄510は、本実施の形態において、デバイスを一意に識別するための情報(デバイスID)を記憶している。このデバイスは、ユーザーIDのユーザーが使用するユーザー端末150である。表示言語欄515は、そのユーザー端末150における表示言語を記憶している。ファイル格納先欄520は、そのユーザー端末150(又はユーザー)におけるファイル格納先を記憶している。メール通知欄525は、そのユーザー端末150(又はユーザー)におけるメール通知機能のOn/Offを記憶している。メール通知頻度欄530は、そのメール通知の頻度を記憶している。例えば、
図5では、ユーザーID:User0001において、デバイスIDは「User0001-Desktop1」であり、表示言語は「日本語」であり、ファイル格納先は「W-Folder」であり、メール通知は「On」であり、メール通知頻度は「1日に1度」であり、ユーザーID:User0002において、デバイスIDは「User0002-Mobile1」であり、表示言語は「英語」であり、ファイル格納先は「G-Drive」であり、メール通知は「On」であり、メール通知頻度は「都度」であり、ユーザーID:User0002において、デバイスIDは「User0002-Desktop1」であり、表示言語は「日本語」であり、ファイル格納先は「G-Drive」であり、メール通知は「Off」であることを示している。なお、ユーザー設定データテーブル500の2行目と3行目では、同じユーザー(User0002)が、2つのユーザー端末150(User0002-Mobile1、User0002-Desktop1)を有していることを示している。
【0028】
図6は、通知先設定テーブル600のデータ構造例を示す説明図である。通知先設定テーブル600は、ワークフローID欄605、作業ID欄610、メール通知頻度欄615、通知先欄620を有している。ワークフローID欄605は、本実施の形態において、ワークフローを一意に識別するための情報(ワークフローID)を記憶している。作業ID欄610は、本実施の形態において、そのワークフローを構成している作業を一意に識別するための情報(作業ID)を記憶している。メール通知頻度欄615は、そのワークフロー(又は作業)におけるメール通知の頻度を記憶している。通知先欄620は、そのメールの通知先を記憶している。
【0029】
ユーザー情報提供モジュール130は、ユーザー情報記憶モジュール125、ユーザー端末150のユーザー情報取得モジュール160と接続されている。ユーザー情報提供モジュール130は、ユーザー端末150のユーザー情報取得モジュール160からの要求にしたがって、試験に必要なユーザー情報をユーザー情報記憶モジュール125から抽出し、ユーザー情報取得モジュール160に提供する。ユーザー情報提供モジュール130は、検証モードで提供可能なユーザー情報を提供する。
【0030】
ソフトウェア部品取得モジュール155は、テスト実行モジュール165、ワークフロー情報提供装置100のソフトウェア部品提供モジュール120と接続されている。ソフトウェア部品取得モジュール155は、ワークフローの作業を実行するにあたって必要なソフトウェアを、ワークフロー情報提供装置100のソフトウェア部品提供モジュール120から取得する。
ユーザー情報取得モジュール160は、テスト実行モジュール165、ワークフロー情報提供装置100のユーザー情報提供モジュール130と接続されている。ユーザー情報取得モジュール160は、ワークフローの作業を実行するユーザーに関する情報を、ワークフロー情報提供装置100のユーザー情報提供モジュール130から取得する。具体的には、対象となっているワークフローの正式な運用において、作業者となるユーザー(第1のユーザー、第2のユーザー)に関する情報を取得する。具体的には、そのユーザーのユーザー基本データテーブル400、ユーザー設定データテーブル500、通知先設定テーブル600の情報である。
テスト実行モジュール165は、ソフトウェア部品取得モジュール155、ユーザー情報取得モジュール160、画面表示モジュール170と接続されている。テスト実行モジュール165は、ソフトウェア部品取得モジュール155が取得したソフトウェア、ユーザー情報取得モジュール160が取得したユーザー(第1のユーザー、第2のユーザー)に関する情報を用いて、対象となっているワークフローの各作業を試験的に実行する。具体的には、正式な運用における第1のユーザー、第2のユーザーが利用しているかのように、ワークフローの各作業を行う。例えば、第1のユーザー、第2のユーザーの名称を表示し、第1のユーザー、第2のユーザーが使用するユーザー端末150の種類又は仕様にしたがった表示等の処理を行う。
【0031】
画面表示モジュール170は、テスト実行モジュール165、ワークフロー情報提供装置100のソフトウェア(ワークフロー)動作可能判定モジュール110、ソフトウェア(ワークフロー)実行モジュール115と接続されている。画面表示モジュール170は、各作業の担当ユーザーに応じた画面を、ユーザー情報を使用して再現し、表示する。
例えば、画面表示モジュール170は、ユーザー情報取得モジュール160が取得したユーザー情報に応じて、ワークフローの作業を実行する第1のユーザーにおける画面を表示する。
そして、画面表示モジュール170は、表示画面において第1のユーザーによる作業が終了した場合に、次の作業を実行する第2のユーザーにおける画面を表示する。
【0032】
なお、第1のユーザー又は第2のユーザーのうち少なくとも1人以上は、ワークフローの試験を行うユーザーとは異なる。もちろんのことながら、第1のユーザーと第2のユーザーは異なるユーザーである。前述したように、ここでのワークフローの試験は、1人のユーザー(試験者)が行うものである。また、試験者は、正式な運用(いわゆる本番)における複数のユーザーのうちの1人であってもよい。したがって、試験者は、第1のユーザー又は第2のユーザーのうち少なくとも1人以上とは異なることになる。
【0033】
また、第1のユーザーが用いるユーザー端末150又は第2のユーザーが用いるユーザー端末150のうち少なくとも1台以上は、ワークフローの試験を行うユーザー端末150とは異なる。もちろんのことながら、第1のユーザーが用いるユーザー端末150と第2のユーザーが用いるユーザー端末150は異なるものである。前述したように、ここでのワークフローの試験は、1台のユーザー端末150で行うものである。また、試験者は、正式な運用(いわゆる本番)における複数のユーザー端末150のうちの1台であってもよい。したがって、試験に用いるユーザー端末150は、第1のユーザーが用いるユーザー端末150又は第2のユーザーが用いるユーザー端末150のうち少なくとも1台以上とは異なることになる。
【0034】
また、画面表示モジュール170は、第1のユーザー又は第2のユーザーの設定値を反映させて表示するようにしてもよい。ここでの「設定値」は、第1のユーザーが用いるユーザー端末150又は第2のユーザーが用いるユーザー端末150の種類又は仕様としてもよい。また、「設定値」として、ユーザーの属性(使用言語、氏名の表記(英文表記と日本語表記が異なる、ミドルネームがある等)等)を含めてもよい。
そして、「ユーザー端末150の種類」として、例えば、デスクトップパソコン、モバイル端末等のハードウェアの種類、そのハードウェア上で動作するOS(Operating System)の種類等がある。ユーザー端末150の種類が異なると、表示できる文字種(例えば、アルファベットのみを表示、漢字も表示可能等)、操作性、利用する場合の環境(例えば、デスクトップパソコンならば室内、モバイル端末ならば周囲に人がいることがある屋外等)等が異なることがあるからである。また、「ユーザー端末150の仕様」として、例えば、画面の大きさ、利用できるユーザーインタフェース等がある。これらが異なると、表示できる情報量が異なり、そのワークフローの操作性(使いやすさ、使い勝手)等も異なるからである。「利用できるユーザーインタフェース」として、マウス、キーボード、タッチパネル、音声、視線、ジェスチャ等がある。なお、「ユーザー端末150の仕様」として、「ユーザー端末150の種類」を含めて解釈してもよい。
【0035】
また、画面表示モジュール170は、試験が行われている間は、ワークフローの過程を共に表示するようにしてもよい。ここで「共に」とあるのは、ワークフローの試験において操作画面、表示画面等が表示されるが、これらと「共に」の意味である。ここで「ワークフローの過程」として、そのワークフロー中の現時点の作業を他の作業とは異ならせて表示するようにしてもよい。ここで「現時点の作業を他の作業とは異ならせて表示する」として、形態を異ならせることであって、形態として、例えば、文字、図形、記号等の他に、形状、模様、色彩、動的に変化すること(例えば、フラッシュ、アニメーション等)、点滅(点滅における変更対象は、点滅を行うか否か、点滅を行っている期間、点滅の間隔等がある)、又は、これらの組み合わせであってもよい。具体的には、他の作業の背景を白とし、現時点の作業を赤とすること、又は、他の作業を静止表示とし、現時点の作業を点滅表示にすること等がある。
【0036】
また、画面表示モジュール170は、試験の内容に応じて画面を変化させるようにしてもよい。ここで「試験の内容」として、ワークフローの作業があり、例えば、申請、承認等がある。具体的には、申請作業の画面と承認作業の画面を異ならせるものである。
また、画面表示モジュール170は、第1のユーザー又は第2のユーザーを設定することができるようにしてもよい。この試験時では、第1のユーザー又は第2のユーザーが未定な場合(正式な運用におけるユーザーが未定な場合)に対応するものである。この設定は、試験者の操作によって設定するようにしてもよいし、予め定められたユーザーを設定するようにしてもよい。
【0037】
次に、分岐があるワークフローの試験を行う場合におけるモジュールの説明を行う。特に、ワークフローの試験において、網羅的な試験を支援するものである。
ユーザー端末150のテスト実行モジュール165、画面表示モジュール170は、前述した処理の他に、次のような処理を行う。
テスト実行モジュール165は、試験対象となるワークフローを取得する。
そして、テスト実行モジュール165は、ワークフローにおける分岐点の指示を受け付ける。指示は、ユーザーの操作によるものであってもよいし、テスト実行モジュール165が分岐点を抽出し、その分岐点を指示してもよい。
次に、テスト実行モジュール165は、受け付けた分岐点からワークフローを実行する。
画面表示モジュール170は、試験が行われている間は、ワークフローの過程を表示する。前述したように、「ワークフローの過程」として、そのワークフロー中の現時点の作業を他の作業とは異ならせて表示するようにしてもよい。
また、画面表示モジュール170は、ワークフロー内の各ステップにおける文書の状態を表示するようにしてもよい。
【0038】
さらに、画面表示モジュール170は、各ステップにおける処理内容、そのステップにおいて表示された画面を表示するようにしてもよい。
ここで「分岐点」は、(1)次のステップが複数あるステップ(ワークフロー上で分岐しているステップ)の他に、(2)ワークフロー内の作業を行う装置に依存して表示内容が異なるステップとしてもよい。この(2)のステップは、ワークフローの外観だけで明確に判別できるものではない。ここで「作業を行う装置に依存して表示内容が異なるステップ」として、例えば、作業するユーザーが用いる装置が複数あるステップの場合がある。具体的には、その作業が行われ得る装置として、デスクトップパソコン、モバイル端末が設定されていた場合、デスクトップパソコンで行われた場合の作業、モバイル端末で行われた場合の作業を試験する必要がある。具体的には、画面の大きさが異なるため、表示できる内容、ユーザーの操作性が異なることになり、試験が必要であるからである。
この場合に、画面表示モジュール170は、分岐点となるステップを、他のステップとは異ならせて表示するようにしてもよい。ここで「ワークフロー内の作業を行う装置に依存して表示内容が異なるステップ」の場合は、ワークフローを見ただけでは判断できないからである。具体的には、作業するユーザーが用いる装置が複数あるステップの形態を、他のステップの形態と異ならせればよい。形態として、例えば、文字、図形、記号等の他に、形状、模様、色彩、動的に変化すること(例えば、フラッシュ、アニメーション等)、点滅(点滅における変更対象は、点滅を行うか否か、点滅を行っている期間、点滅の間隔等がある)、又は、これらの組み合わせであってもよい。具体的には、他のステップの背景を白とし、ユーザーが用いる装置が複数あるステップを赤とすること、又は、他のステップを静止表示とし、ユーザーが用いる装置が複数あるステップを点滅表示にすること等がある。
また、「分岐点」は、ワークフロー内の作業の判定によってルートが異なるステップとしてもよい。ここで「ルートが異なる」とは、ワークフローの外観上で分岐が発生していることをいう。
【0039】
ソフトウェア(ワークフロー)試験データ記憶モジュール140は、ソフトウェア(ワークフロー)実行モジュール115、ワークフロー試験データ記憶モジュール135と接続されている。ソフトウェア(ワークフロー)試験データ記憶モジュール140は、ワークフローの試験を行うにあたっての試験用データを、ワークフローの試験を行うテスト実行モジュール165又はソフトウェア(ワークフロー)実行モジュール115に供給する。
そして、ソフトウェア(ワークフロー)試験データ記憶モジュール140は、テスト実行モジュール165又はソフトウェア(ワークフロー)実行モジュール115によって行われたワークフローの試験のログデータ(履歴データ)を抽出し、ワークフロー試験データ記憶モジュール135に記憶させる。ここでのログデータとして、前述した各ステップにおける文書の状態、各ステップにおける処理内容、各ステップにおいて表示された画面等を含む。
【0040】
ワークフロー試験データ記憶モジュール135は、ソフトウェア(ワークフロー)試験データ記憶モジュール140と接続されている。ワークフロー試験データ記憶モジュール135は、ワークフローの試験を行うにあたっての試験用データを記憶している。試験用データとして、試験用に用いる文書等があり、その試験におけるログデータを含む。例えば、ワークフロー定義テーブル1600、ワークフロー状態遷移テーブル1700、ワークフロー状態データテーブル1800を記憶している。
図16は、ワークフロー定義テーブル1600のデータ構造例を示す説明図である。ワークフロー定義テーブル1600は、ワークフローID欄1605、作業ID欄1610、作業名欄1615、次の作業ID欄1620を有している。ワークフローID欄1605は、ワークフローIDを記憶している。作業ID欄1610は、そのワークフローを構成している作業の作業IDを記憶している。作業名欄1615は、その作業の作業名を記憶している。次の作業ID欄1620は、次の作業の作業IDを記憶している。分岐がある作業では、
図16の例に示すワークフロー定義テーブル1600の3行目のように、複数の作業IDが記憶されることになる。
【0041】
図17は、ワークフロー状態遷移テーブル1700のデータ構造例を示す説明図である。
ワークフロー状態遷移テーブル1700は、ID欄1705、日時欄1710、状態ID欄1715、アクティブ作業ID欄1720を有している。ID欄1705は、IDを記憶している。日時欄1710は、試験における作業(ステップ)が実行された日時を記憶している。状態ID欄1715は、本実施の形態において、状態を一意に識別するための情報(状態ID)を記憶している。アクティブ作業ID欄1720は、その日時において実行された(アクティブとなった)作業の作業IDを記憶している。
【0042】
図18は、ワークフロー状態データテーブル1800のデータ構造例を示す説明図である。
ワークフロー状態データテーブル1800は、ID欄1805、状態ID欄1810、作業ID欄1815、作業状態データ欄1820を有している。ID欄1805は、IDを記憶している。状態ID欄1810は、状態IDを記憶している。ワークフロー状態遷移テーブル1700の状態ID欄1715に対応するものである。作業ID欄1815は、作業IDを記憶している。ワークフロー定義テーブル1600の作業ID欄1610に対応するものである。作業状態データ欄1820は、作業状態データを記憶している。その作業で行われた処理内容(いわゆるログデータ)を記憶している。
【0043】
図2は、本実施の形態を利用したシステム構成例を示す説明図である。
ワークフロー情報提供装置100、ユーザー端末150A、ユーザー端末150B、ユーザー端末150C、ユーザーモバイル端末250A、ユーザーモバイル端末250B、ユーザーモバイル端末250Dは、通信回線290を介してそれぞれ接続されている。なお、ユーザーモバイル端末250は、
図1の例に示したユーザー端末150の一例である。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、ワークフロー情報提供装置100による機能は、クラウドサービスとして実現してもよい。ユーザー210は、ワークフローの作業者であり、第1のユーザー、第2のユーザーの一例である。
ユーザー210A、ユーザー210Cは、それぞれユーザー端末150A、ユーザー端末150Cを有している。
ユーザー215A、ユーザー215Bは、それぞれユーザーモバイル端末250A、ユーザーモバイル端末250Bを有している。
ユーザー210Bは、ユーザー端末150B、ユーザーモバイル端末250Dを有している。
本実施の形態では、例えば、ユーザー210Aがワークフローの試験者になり、ユーザー端末150Aで、その試験を行う場合、正式な運用ならばユーザー210B等が行う作業を、ユーザー210Aがユーザー端末150A上で行うことができる。また、ユーザーモバイル端末250D上での画面表示と同等のものを、ユーザー端末150A上で表示することもできる。
【0044】
<第1の処理例>
図3は、本実施の形態での処理対象となるワークフローの例を示す説明図である。
図3(a)の例に示すように、ワークフロー300は、申請310、部長承認320、社長承認330の作業により構成されており、申請310の後に部長承認320が行われ、部長承認320の後に社長承認330が行われる。このワークフローは、複数人のユーザー(つまり、複数のユーザー端末150)が作業者として介在するものである。
【0045】
図3(b)の例に示すように、このワークフロー300の各作業をユーザーに割り当てる。
ユーザー210Aは、ワークフロー作成者であり、ワークフロー300においては、申請310の作業者としての申請者でもある。そして、その作業は、ユーザー端末150Aを用いて行われる。
ユーザー210Bは、ワークフロー300における部長承認320の作業者としての部長である。そして、その作業は、ユーザー端末150Bを用いて行われる。なお、ユーザーモバイル端末250D等が含まれていてもよい。
ユーザー210Cは、ワークフロー300における社長承認330の作業者としての社長である。そして、その作業は、ユーザー端末150Cを用いて行われる。
本実施の形態を用いずに、ワークフロー300の試験を行う場合、ユーザー210A、ユーザー210B、ユーザー210Cの予定を調整し、ユーザー端末150B等の準備(ワークフロー300を実行するための環境整備等)等が必要となる。
【0046】
そこで、
図3(c)の例に示すように、正式運用を行う前に、ワークフロー作成者であるユーザー210Aは、本実施の形態を用いてワークフロー300の試験を行う。つまり、ユーザー端末150A上で、申請310、部長承認320、社長承認330の作業が行われる。その試験によって、ユーザー210Aは、申請310では申請者視点で作業を行うことができ、部長承認320では部長視点で作業を行うことができ、社長承認330では社長視点で作業を行うことができることになる。つまり、作業を行うユーザーに応じた表示(見せ方)を、1台のユーザー端末150A上で行うことができ、ユーザー210Aが単独で(つまり、ユーザー210B、ユーザー210Cの助けなしで)、試験を行うことができる。
【0047】
図7は、本実施の形態による処理例を示すフローチャートである。試験モードでの処理例を示すものであり、通知先を、試験者に変更する処理を行うものである。
ステップS702では、通知が必要な作業であるか否かを判断し、通知が必要な作業である場合はステップS704へ進み、それ以外の場合は処理を終了する(ステップS799)。通知として、例えば、電子メール、チャット、電子掲示板、ソーシャルメディアを用いた通知、プッシュ通知、自動音声応答による電話発信等があり、電話発信として、例えば、Lync(登録商標)等を用いて行えばよい。以下、電子メールを例示して説明する。
【0048】
ステップS704では、シミュレーション対象の担当者(正式運用でのユーザー)のユーザー設定データ(本フローチャートにおいて、以下、(A)という)を取得する。例えば、ユーザー設定データテーブル500から担当者のユーザー設定データを取得すればよい。
ステップS706では、シミュレーション実施ユーザー(試験者)のメールアドレス(本フローチャートにおいて、以下、(B)という)を取得する。例えば、ユーザー基本データテーブル400のメールアドレス欄415から実施ユーザーのメールアドレスを取得すればよい。
【0049】
ステップS708では、(A)のデータ数分、ステップS712までの処理を繰り返す。
ステップS710では、メール通知機能(ユーザー設定データテーブル500のメール通知欄525)はOnであるか否かを判断し、Onの場合はステップS712へ進み、それ以外の場合はステップS708へ戻る。
ステップS712では、N番目の(A)データのメール通知頻度(ユーザー設定データテーブル500のメール通知頻度欄530)に応じた通知スケジュールを(B)のメールアドレス宛に設定し、ステップS708へ戻る。
【0050】
図8は、本実施の形態による処理例を示すフローチャートである。試験モードでの処理例を示すものであり、画面表示を行うものである。
ステップS802では、ワークフロー定義における該当作業の担当者(本フローチャートにおいて、以下、(A)という)を取得する。例えば、ステップS802により、[部長]が取得できる。
ステップS804では、(A)は、役職であるか否かを判断し、役職である場合はステップS806へ進み、ステップS810へ進む。なお、ワークフロー定義において、作業者を「特定のユーザー」(ユーザーIDによる指定)又は「役職」で指定することができる。なお、役職であるか否かを判断は、特定のユーザーではないか否かの判断でもある。
【0051】
ステップS806では、シミュレーション対象の担当者のユーザー基本データ(本フローチャートにおいて、以下、(B)という)を取得する。例えば、ユーザー基本データテーブル400を取得する。
ステップS808では、(B)の役職と所属組織(ユーザー基本データテーブル400の役職欄425、所属組織欄420)から、担当者の[部長]を特定する。例えば、試験者(又は、前の作業における作業者)の所属組織と同じ所属組織である部長を抽出すればよい。
ステップS810では、担当者とデバイスIDから、ユーザー設定データ(本フローチャートにおいて、以下、(C)という)を取得する。例えば、ユーザー設定データテーブル500を取得する。ここでデバイスIDは、試験者の操作によって指定されている。例えば、モバイル端末が指定されている。
ステップS812では、(C)に基づき画面を表示する。例えば、ユーザー設定データテーブル500の2行目のデータに基づいて、試験が行われる。
【0052】
図9~
図14の例を用いて、
図8の例に示した処理の具体例を示す。
なお、試験モードであって、シミュレーション実施ユーザー:富士太郎、シミュレーション対象の担当者:鈴木一郎(部長)、表示する端末:モバイル端末(User0002-Mobile1)とする。
【0053】
図9は、本実施の形態による処理例を示す説明図である。
画面900には、ワークフローとして、開始910、文書915、申請920、文書925、部長承認930、文書935、社長承認940、文書945、終了950を表示し、テスト開始ボタン960を表示している。そして、試験者(富士太郎)によるテスト開始ボタン960を選択する操作を検知した場合、メニュー970を表示する。メニュー970には、例えば、[富士太郎]として始める972、開始するユーザーを検索する974を表示する。[富士太郎]として始める972内の「富士太郎」は、画面900を表示しているユーザー端末150のユーザーである。ここでは、[富士太郎]として始める972が選択されたとする。
【0054】
図10は、本実施の形態による処理例を示す説明図である。申請920の作業の試験の例を示した者である。
画面1000には、ワークフロー表示領域1010、文書1020、仕事トレイ表示領域1030、申請1050を表示する。
ワークフロー表示領域1010には、ワークフロー(開始910~終了950)、作業者表示欄1012を表示する。作業中である申請920は、他の作業(部長承認930等)とは異なる形態(例えば、申請920内を黄色)の表示にしている。そして、作業中である申請920の下に、作業者表示欄1012を表示している。この申請920、作業者表示欄1012によって、ワークフロー定義中のどの作業を、どのユーザーとして試験しているかがわかるようになる。
申請920では、仕事トレイ表示領域1030を表示する。仕事トレイ表示領域1030には、作業者表示欄1032、仕事トレイ一覧表示領域1034を表示し、仕事トレイ一覧表示領域1034には、「決裁承認申請」トレイ1035、「アンケート集計結果を受け取る」トレイ1040、「仕様書の開示」トレイ1045等を表示する。申請920における作業として、試験者は、文書1020を「仕様書の開示」トレイ1045に複写(又は移動)する操作を行う。この操作によって、申請1050を表示する。申請1050には、対象文書表示領域1055、宛先表示領域1060、同報先表示領域1065、自動処理表示領域1070、コメント表示領域1075、送信ボタン1080、キャンセルボタン1085を表示する。なお、対象文書表示領域1055内に表示している文書1020Aは、複写された文書1020のサムネイル画像である。
試験者が送信ボタン1080を選択することによって、申請920の作業は終了する。そして、次の部長承認930の作業に移る。
なお、仕事トレイ表示領域1030、申請1050は、富士太郎のユーザー端末150で表示した場合と同等のものである。
【0055】
図11は、本実施の形態による処理例を示す説明図である。部長承認930の作業の試験の例を示した者である。
画面1100には、ワークフロー表示領域1010、仕事トレイ表示領域1130を表示する。
ワークフロー表示領域1010には、ワークフロー(開始910~終了950)、作業者表示欄1012、作業者表示欄1114を表示する。作業中である部長承認930は、他の作業(申請920等)とは異なる形態(例えば、部長承認930内を黄色)の表示にしている。そして、作業中である部長承認930の下に、作業者表示欄1114を表示している。この部長承認930、作業者表示欄1114によって、ワークフロー定義中のどの作業を、どのユーザーとして試験しているかがわかるようになる。なお、各作業の担当者は固定のこともあれば、申請者に応じて、申請内容に応じて、動的に変化することもある。作業によって担当者が決まり、その担当者の視点で検証する。
部長承認930では、仕事トレイ表示領域1130を表示する。仕事トレイ表示領域1130には、作業者表示欄1132、仕事トレイ一覧表示領域1135、文書表示領域1140を表示する。仕事トレイ一覧表示領域1135には、「電子印鑑で承認する」トレイ1137、「翻訳結果を付けて表示する」トレイ1139を表示する。「電子印鑑で承認する」トレイ1137には、対象となっている文書(
図10での文書1020)が格納されていることが、「電子印鑑で承認する」トレイ1137の右上にある「丸印の1」でわかるようになっている。試験者は、「電子印鑑で承認する」トレイ1137を選択し、文書表示領域1140に、対象となっている文書を表示し、その文書に対しての作業として「承認する」ボタン1145、「差し戻す」ボタン1150、「トークに戻る」ボタン1155を表示する。
なお、仕事トレイ表示領域1130は、鈴木一郎のユーザー端末150で表示した場合と同等のものである。
また、
図10、
図11の表示(試験中の作業における表示)は、試験者以外のユーザー(鈴木一郎等)のユーザー端末150には表示させない。つまり、試験者以外のユーザーの業務を邪魔しない(煩わせない)ようにしている。
【0056】
また、作業者「鈴木一郎」のユーザー情報テーブル1200によって、「鈴木一郎」が2種類のユーザー端末150を有していることがわかり、いずれかのユーザー端末150で作業が行われる可能性があることがわかる。なお、ユーザー情報テーブル1200は、前述したユーザー基本データテーブル400、ユーザー設定データテーブル500から生成されたものである。
図12は、ユーザー情報テーブル1200のデータ構造例を示す説明図である。ユーザー情報テーブル1200は、ユーザー名欄1205、企業名・部署欄1210、役職欄1215、上長(承認者)欄1220、作業端末(PC/スマホ)欄1225、通知設定(メール通知ON/OFF、通知頻度)欄1230、表示言語欄1235、ファイル格納先欄1240を有している。ユーザー名欄1205は、ユーザー名を記憶している。企業名・部署欄1210は、企業名・部署を記憶している。役職欄1215は、役割を記憶している。上長(承認者)欄1220は、上長(承認者)を記憶している。作業端末(PC/スマホ)欄1225は、作業端末がPCであるかスマートフォンであるかの情報を記憶している。通知設定(メール通知ON/OFF、通知頻度)欄1230は、通知設定を記憶している。通知設定として、メール通知機能のON/OFF、通知頻度を記憶している。表示言語欄1235は、表示言語を記憶している。ファイル格納先欄1240は、ファイル格納先を記憶している。
【0057】
例えば、
図12では、ユーザー名として、「鈴木一郎」と「鈴木とても長いミドルネーム一郎」があり、作業端末として、それぞれPCとスマホ(携帯端末)であり、表示言語として、それぞれ日本語と英語である。
そこで、試験者は、2種類の表示画面を確認する必要がある。
図13は、本実施の形態による処理例を示す説明図である。つまり、ユーザー情報テーブル1200の左側(作業端末がPC)の場合を示したものである。
仕事トレイ表示領域1300には、作業者表示領域1302、仕事トレイ一覧表示領域1304を表示する。仕事トレイ一覧表示領域1304には、「仕様書の開示」トレイ1305を表示する。つまり、仕事トレイ表示領域1300は、PCの液晶ディスプレイ等の表示装置に表示した場合の大きさであり、内容は日本語で表示しており、作業者表示領域1302は「鈴木一郎」の表記である。
図14は、本実施の形態による処理例を示す説明図である。つまり、ユーザー情報テーブル1200の右側(作業端末がスマホ)の場合を示したものである。
仕事トレイ表示領域1400には、作業者表示領域1402、仕事トレイ一覧表示領域1404を表示する。仕事トレイ一覧表示領域1404には、「仕様書の開示」トレイ1405を表示する。つまり、仕事トレイ表示領域1400は、スマホの表示装置に表示した場合の大きさ(
図13の例に示した仕事トレイ表示領域1300より小さい)であり、内容は英語で表示しており、作業者表示領域1402は「Ichiro TotemoNa・・・」の表記である。また、仕事トレイ一覧表示領域1404のタイトルは英語表記である。この仕事トレイ表示領域1400を観察して、試験者は、以下の改善点を発見する。
作業者表示領域1402から「部長はワークフローをスマホで利用しているのか。しかも名前の表示名が長い。表示方法変えた方がいいかな。」と気付き、仕事トレイ一覧表示領域1404から「部長は英語で仕事をしているのか!「仕様書の開示」トレイ1405のアイコン名称を英語でわかるように設定し直そう。」と気付く。このように、ユーザー情報テーブル1200を適用してワークフローを試験することで実運用に即した確認ができるようになる。
【0058】
<第2の処理例>
図15は、本実施の形態が対象とする分岐点のあるワークフロー例を示す説明図である。
図15(a)の例に示すワークフローは、作業1505、作業1510、作業1515、作業1520、作業1525、作業1530、作業1535、作業1540のステップによって構成されている。
一般的に(本実施の形態を用いない場合)、ワークフローの試験を行うにあたって、網羅性があるようにワークフローの試験を行うとすると、そのパターン毎に最初からワークフローを起動しなければならない。具体的には、ワークフローパターン1550、ワークフローパターン1555、ワークフローパターン1560の試験が必要である。ワークフローパターン1550は、作業1505、作業1510、作業1515、作業1520、作業1525、作業1530と進むパターンであり、ワークフローパターン1555は、作業1505、作業1510、作業1515、作業1520、作業1525、作業1535と進むパターンであり、ワークフローパターン1560は、作業1505、作業1510、作業1515、作業1520、作業1525、作業1540と進むパターンである。
【0059】
図15(b)の例に示すワークフローは、
図15(a)の例に示すワークフローと同じである。
本実施の形態は、網羅性があるようにワークフローを試験するために、ワークフローの実行状態を以前の状態に戻すことによって、効率的に網羅性のある検証を行うことができるようにしている。ここでの「効率的に」とは、別のパターンの試験を行うにあたって、常に最初からワークフローを実行させる必要がないことを意味している。
ワークフローパターン1565は、作業1505、作業1510、作業1515、作業1520、作業1525と進み、ワークフローパターン1570として作業1530を行う。その後、作業1530から作業1525に戻り、ワークフローパターン1575として作業1535を行う。そして、その後、作業1535から作業1525に戻り、ワークフローパターン1580として作業1540を行う。状態を戻すことによって、網羅性のある試験を行っている。つまり、作業1505から作業1525までの処理は同じであるので、
図15(b)の例に示す3つのパターンは、
図15(a)の例に示した3つのパターン(ワークフローパターン1550、ワークフローパターン1555、ワークフローパターン1560)と同じである。
【0060】
テスト実行モジュール165は、ワークフローの試験において、任意の作業に戻す(又は進める)ことができるようにしている。これによって、分岐が含まれるワークフローを網羅的に試験する際、ワークフローを何度も起動することなく、少ない操作で試験することができる。
また、画面表示モジュール170は、作業(ステップ)単位だけでなく、各作業で実施される一連の処理の単位で履歴や文書を参照することができるようにしている。一般的に、作業には、複数の処理が含まれている。これによって、画面には現れない文書に対する処理が正常に行われているか否かの検証が可能となる。
【0061】
図19は、本実施の形態による処理例を示すフローチャートである。
ステップS1902では、ロールバック対象の作業ID(本フローチャートにおいて、以下、(1)という)を取得する。つまり、後戻りの作業IDを取得する。試験者による作業の指示操作であってもよいし、分岐点がある作業を抽出してもよい。
ステップS1904では、(1)とワークフロー状態遷移データテーブル1700のアクティブ作業ID(アクティブ作業ID欄1720)が一致するレコードの状態ID(本フローチャートにおいて、以下、(2)という)を取得する。
【0062】
ステップS1906では、(2)とワークフロー状態データテーブル1800の状態ID(状態ID欄1810)が一致するレコード群(本フローチャートにおいて、以下、(3)という)を取得する。
ステップS1908では、(3)のレコード群からワークフローの状態をロールバックする。つまり、ステップS1902で取得した作業における状態(過去の状態)に戻すことを行う。具体的には、その作業、及びその作業よりも前に行われた各作業の状態を含めて抽出し、その状態を復元する。
【0063】
例えば、work3(
図16の例に示すワークフロー定義テーブル1600の3行目)が指定された場合(ステップS1902)、
図17の例に示すワークフロー状態遷移テーブル1700の2行目を抽出し(ステップS1904)、
図18の例に示すワークフロー状態データテーブル1800の2、3行目を抽出し(ステップS1906)、work3を実行した状態に戻す(ステップS1908)。つまり、work4、work5は実行されていない状態に戻す。
【0064】
図20~
図25の例を用いて、
図19の例に示した処理の具体例を示す。
図20は、本実施の形態による処理例を示す説明図である。
画面2000には、ワークフローとして、開始2010、文書2015、申請2020、文書2025、部長承認2030、文書2035、文書2037、社長承認2040、文書2045、終了2050を表示し、また、テスト開始ボタン2060を表示する。試験者によるテスト開始ボタン2060を選択する操作を検知した場合、メニュー2070を表示する。メニュー2070には、例えば、[富士太郎]として始める2072、開始するユーザーを検索する2074を表示する。「[富士太郎]として始める2072」内の「富士太郎」は、画面2000を表示しているユーザー端末150のユーザーである。ここでは、「[富士太郎]として始める2072」が選択されたとする。
【0065】
図21は、本実施の形態による処理例を示す説明図である。
画面2100には、ワークフロー表示領域2110を表示する。ワークフロー表示領域2110には、
図20の例に示したワークフロー(開始2010~終了2050)、正式運用での担当者(作業者表示欄2112、作業者表示欄2114、作業者表示欄2216)を表示する。そして、このワークフローの試験が行われ、終了2050まで進んだ状態である。
ここで、試験者の操作によって、部長承認2030の近辺でメニュー表示操作(例えば、マウスの右ボタン押し)を検知した場合に、メニュー2170を表示する。メニュー2170には、[部長承認]まで戻す2172を表示する。なお、テスト実行モジュール165が、ワークフローのパターン全てを試験していない場合は、分岐点である部長承認2030を抽出して、メニュー2170を表示するようにしてもよい。また、分岐点である作業以外の場所で、メニュー表示操作を検知した場合は、テスト実行モジュール165が、分岐点である作業を抽出して、メニュー2170を表示するようにしてもよい。
[部長承認]まで戻す2172が選択されることによって、分岐作業(部長承認2030)まで戻し、未試験の作業を試験する。つまり、別パターンの試験を行うのに、ワークフローを最初から始める必要がない。
【0066】
図22は、本実施の形態による処理例を示す説明図である。
画面2200には、ワークフロー表示領域2110を表示する。この場面では、社長承認2040の試験は行われており、部長承認2030から終了2050に進むパターンが未試験である。しかし、試験者は、社長承認2040を再度試験を行いたい場合がある。
そこで、社長承認2040の近辺でメニュー表示操作を検知した場合に、メニュー2270を表示する。メニュー2270には、[社長承認]まで進める2272を表示する。
もちろんのことながら、文書2037の近辺でメニュー表示操作を検知した場合には、「終了2050まで進める」を有するメニュー2270を表示する。
【0067】
図23は、本実施の形態による処理例を示す説明図である。
画面2300には、ワークフロー表示領域2110を表示する。ワークフロー表示領域2110には、ワークフローの他に、「履歴を表示」ボタン2310を表示する。「履歴を表示」ボタン2310が選択されたことを検知した場合は、履歴一覧表示領域2320を表示する。この履歴一覧表示領域2320内の内容は、
図18の例に示したワークフロー状態データテーブル1800の作業状態データ欄1820から生成したものである。履歴一覧表示領域2320については、
図24を用いて詳細に説明する。
また、ワークフロー表示領域2110では、分岐点となる作業を、他の作業(申請2020等)とは異なる形態(例えば、部長承認2030内を黄色)で表示している。部長承認2030は、ワークフローの外観上で分岐が発生しているものであるが、前述したように、作業を行う担当者が複数種類のユーザー端末150を有している作業を分岐点となる作業としてもよい。例えば、デスクトップパソコン、携帯端末等では、画面の大きさ等が異なるため、表示内容が異なることになる。そのため、その複数種類のユーザー端末150での試験を行う必要があるからである。
【0068】
図24は、本実施の形態による処理例を示す説明図である。
履歴一覧表示領域2320には、履歴2410、履歴2420、履歴2430、履歴2440、履歴2450、履歴2460、履歴2470を表示する。履歴一覧表示領域2320は、時系列に、各作業(作業内に複数の処理がある場合は、処理毎)における試験の履歴を表示する。例えば、その作業時におけるデスクトップ画面のスクリーンショット画像、処理内容、その処理で対象とされた文書の状態(
図24の例では、文書変換が行われており、文書の種類(doc、xdw、PDF、html、jpg等))を表示する。具体的には、以下のような表示を行う。
履歴2410には、履歴画面2412、作業内容2414、文書2416を表示する。例えば、作業内容2414として、「お仕事トレイ[仕様書の開示]に文書[XX申請書]を投入しました。」と表示する。
履歴2420には、履歴画面2422、作業内容2424、文書2426を表示する。例えば、作業内容2424として、「トレイ[電子印鑑で承認する]の設定を実施し、仕事を開始しました。」と表示する。
履歴2430には、作業内容2434、文書2436を表示する。例えば、作業内容2434として、「文書がDWに変換されました。」と表示する。
履歴2440には、作業内容2444、文書2446を表示する。例えば、作業内容2444として、「文書が鈴木一郎さんに送付されました。」と表示する。
履歴2450には、履歴画面2452、作業内容2454、文書2456を表示する。例えば、作業内容2454として、「・・・」と表示する。
履歴2460には、履歴画面2462、作業内容2464、文書2466を表示する。例えば、作業内容2464として、「・・・」と表示する。
履歴2470には、履歴画面2472、作業内容2474、文書2476を表示する。例えば、作業内容2454として、「・・・」と表示する。
【0069】
履歴一覧表示領域2320内の履歴を選択することによって、その処理まで戻すこともできる、この場合、ワークフロー表示領域2110内の作業を選択して戻す場合よりも、細かい単位(例えば、履歴2430、履歴2440のような処理単位)で戻す(又は進める)ことができることになる。
また、履歴内の文書(文書2416等)を閲覧することも可能である。もちろんのことながら、その履歴時点(処理前又は処理後)での文書を表示する。
【0070】
図25は、本実施の形態による処理例を示すフローチャートである。
図24の例に示した履歴一覧表示領域2320内の履歴は、
図25の例に示す処理によって発生したものである。ワークフロー情報提供装置100に対して、ユーザー(富士太郎さん)2502、ユーザー(鈴木一郎さん)2504、ユーザー(高橋二郎さん)2506が行った操作等による処理内容を示している。なお、ユーザー(富士太郎さん)2502は申請2020の担当者であり、ユーザー(鈴木一郎さん)2504は部長承認2030の担当者であり、ユーザー(高橋二郎さん)2506は社長承認2040の担当者であるが、試験モードであるので、ユーザー(鈴木一郎さん)2504、ユーザー(高橋二郎さん)2506の代わりに、ユーザー(富士太郎さん)2502が操作している。
【0071】
ステップS2510では、ユーザー(富士太郎さん)2502が、お仕事トレイ[仕様書の開示]に文書[XX申請書]を投入する。
図24の例に示す履歴2410に該当する。
ステップS2512では、ユーザー(富士太郎さん)2502がワークフロー情報提供装置100に対して、必要な設定をして、仕事を開始する。
図24の例に示す履歴2420に該当する。
ステップS2514では、ワークフロー情報提供装置100が、文書変換を行う。
図24の例に示す履歴2430に該当する。
【0072】
ステップS2516では、ワークフロー情報提供装置100が、ユーザー(鈴木一郎さん)2504に対して、文書を送付する。
図24の例に示す履歴2440に該当する。
ステップS2518では、ユーザー(鈴木一郎さん)2504が、開封する。
図24の例に示す履歴2450に該当する。
ステップS2520では、ユーザー(鈴木一郎さん)2504が、承認(押印した承認文書を作成)する。押印ではテスト用のものを使用する。
図24の例に示す履歴2460に該当する。
【0073】
ステップS2522では、ユーザー(鈴木一郎さん)2504が、ワークフロー情報提供装置100に対して、必要な設定をして、承認文書を送付する。
図24の例に示す履歴2470に該当する。
ステップS2524では、ワークフロー情報提供装置100が、ユーザー(高橋二郎さん)2506に対して、承認文書を送付する。
【0074】
図26を参照して、本実施の形態の情報処理装置(ワークフロー情報提供装置100、ユーザー端末150)のハードウェア構成例について説明する。
図26に示す構成は、例えばパーソナルコンピュータ(PC)等によって構成されるものであり、スキャナ等のデータ読み取り部2617と、プリンタ等のデータ出力部2618を備えたハードウェア構成例を示している。
【0075】
CPU(Central Processing Unit)2601は、前述の実施の形態において説明した各種のモジュール、すなわち、ソフトウェア(ワークフロー)動作可能判定モジュール110、ソフトウェア(ワークフロー)実行モジュール115、ソフトウェア部品提供モジュール120、ユーザー情報提供モジュール130、ソフトウェア(ワークフロー)試験データ記憶モジュール140、ソフトウェア部品取得モジュール155、ユーザー情報取得モジュール160、テスト実行モジュール165、画面表示モジュール170等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0076】
ROM(Read Only Memory)2602は、CPU2601が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)2603は、CPU2601の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバス等から構成されるホストバス2604により相互に接続されている。
【0077】
ホストバス2604は、ブリッジ2605を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス2606に接続されている。
【0078】
キーボード2608、マウス等のポインティングデバイス2609は、操作者により操作されるデバイスである。ディスプレイ2610は、液晶表示装置又はCRT(Cathode Ray Tube)等があり、各種情報をテキストやイメージ情報として表示する。また、ポインティングデバイス2609とディスプレイ2610の両方の機能を備えているタッチスクリーン等であってもよい。その場合、キーボードの機能の実現について、キーボード2608のように物理的に接続しなくても、画面(タッチスクリーン)上にソフトウェアでキーボード(いわゆるソフトウェアキーボード、スクリーンキーボード等ともいわれる)を描画して、キーボードの機能を実現するようにしてもよい。
【0079】
HDD(Hard Disk Drive)2611は、ハードディスク(フラッシュ・メモリ等であってもよい)を内蔵し、ハードディスクを駆動し、CPU2601によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、ソフトウェア部品記憶モジュール105、ユーザー情報記憶モジュール125、ワークフロー試験データ記憶モジュール135等としての機能を実現させる。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
【0080】
ドライブ2612は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体2613に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース2607、外部バス2606、ブリッジ2605、及びホストバス2604を介して接続されているRAM2603に供給する。なお、リムーバブル記録媒体2613も、データ記録領域として利用可能である。
【0081】
接続ポート2614は、外部接続機器2615を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート2614は、インタフェース2607、及び外部バス2606、ブリッジ2605、ホストバス2604等を介してCPU2601等に接続されている。通信部2616は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部2617は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部2618は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0082】
なお、
図26に示す情報処理装置(ワークフロー情報提供装置100、ユーザー端末150)のハードウェア構成は、一つの構成例を示すものであり、本実施の形態は、
図26に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに
図26に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0083】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD-R、DVD-RW、DVD-RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD-ROM)、CDレコーダブル(CD-R)、CDリライタブル(CD-RW)等、ブルーレイ・ディスク(Blu-ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【0084】
前述の実施の形態は以下のように把握してもよい。そして、特許請求の範囲に記載の発明と以下の発明とを組み合わせてもよい。
例えば、課題として以下のものがある。
業務の一連の処理手続きを定義したワークフローがある。新たに作成(修正等を含む)したワークフローを、正式採用する前に、そのワークフローの試験を行う必要がある。
しかし、複数の情報処理装置(又は、複数人)で、作業が進められるワークフローにあっては、試験を行うのに、全部の情報処理装置(又は、作業を行う全部のユーザー)を事前に確保する必要が生じてしまう。
本実施の形態は、複数の情報処理装置(又は、複数人)で、作業が進められるワークフローの試験にあたって、一つの情報処理装置(又は、1人のユーザー)で、試験を行うことができる情報処理装置及び情報処理プログラムを提供することを目的としている。
【0085】
[A1]ワークフローの試験を行う情報処理装置において、
前記ワークフローの作業を実行するユーザーに関する情報を取得する取得手段と、
前記取得手段が取得したユーザー情報に応じて、前記ワークフローの作業を実行する第1のユーザーにおける画面を表示する表示手段
を備え、
前記表示手段は、前記表示画面において前記第1のユーザーによる作業が終了した場合に、次の作業を実行する第2のユーザーにおける画面を表示する、
情報処理装置。
【0086】
[A2]前記第1のユーザー又は前記第2のユーザーのうち少なくとも1人以上は、前記ワークフローの試験を行うユーザーとは異なる、
[A1]に記載の情報処理装置。
【0087】
[A3]前記第1のユーザーが用いる情報処理装置又は前記第2のユーザーが用いる情報処理装置のうち少なくとも1台以上は、前記ワークフローの試験を行う情報処理装置とは異なる、
[A1]に記載の情報処理装置。
【0088】
[A4]前記表示手段は、前記第1のユーザー又は前記第2のユーザーの設定値を反映させて表示する、
[A1]に記載の情報処理装置。
【0089】
[A5]前記設定値は、前記第1のユーザーが用いる情報処理装置又は前記第2のユーザーが用いる情報処理装置の種類又は仕様である、
[A4]に記載の情報処理装置。
【0090】
[A6]前記表示手段は、前記試験が行われている間は、前記ワークフローの過程を共に表示する、
[A1]に記載の情報処理装置。
【0091】
[A7]前記ワークフローの過程として、該ワークフロー中の現時点の作業を他の作業とは異ならせて表示する、
[A6]に記載の情報処理装置。
【0092】
[A8]前記表示手段は、前記試験の内容に応じて画面を変化させる、
[A1]に記載の情報処理装置。
【0093】
[A9]前記第1のユーザー又は前記第2のユーザーを設定することができる、
[A1]に記載の情報処理装置。
【0094】
[A10]ワークフローの試験を行うコンピュータを、
前記ワークフローの作業を実行するユーザーに関する情報を取得する取得手段と、
前記取得手段が取得したユーザー情報に応じて、前記ワークフローの作業を実行する第1のユーザーにおける画面を表示する表示手段
として機能させ、
前記表示手段は、前記表示画面において前記第1のユーザーによる作業が終了した場合に、次の作業を実行する第2のユーザーにおける画面を表示する、
情報処理プログラム。
【0095】
そして、前述の発明は、以下の効果を有する。
[A1]の情報処理装置によれば、複数の情報処理装置(又は、複数人)で、作業が進められるワークフローの試験にあたって、一つの情報処理装置(又は、1人のユーザー)で、試験を行うことができる。
【0096】
[A2]の情報処理装置によれば、第1のユーザー又は第2のユーザーのうち少なくとも1人以上が、ワークフローの試験を行うユーザーと異なっていてもワークフローの試験を行うことができる。
【0097】
[A3]の情報処理装置によれば、第1のユーザーが用いる情報処理装置又は第2のユーザーが用いる情報処理装置のうち少なくとも1台以上が、ワークフローの試験を行う情報処理装置と異なっていてもワークフローの試験を行うことができる。
【0098】
[A4]の情報処理装置によれば、第1のユーザー又は第2のユーザーの設定値を反映させた表示を行うことができる。
【0099】
[A5]の情報処理装置によれば、設定値として、第1のユーザーが用いる情報処理装置又は第2のユーザーが用いる情報処理装置の種類又は仕様を用いることができる。
【0100】
[A6]の情報処理装置によれば、試験が行われている間、ワークフローの過程を知らせることができる。
【0101】
[A7]の情報処理装置によれば、ワークフロー中の現時点の作業を知らせることができる。
【0102】
[A8]の情報処理装置によれば、試験の内容に応じた画面を表示することができる。
【0103】
[A9]の情報処理装置によれば、第1のユーザー又は第2のユーザーを設定して、ワークフローの試験を行うことができる。
【0104】
[A10]の情報処理プログラムによれば、複数の情報処理装置(又は、複数人)で、作業が進められるワークフローの試験にあたって、一つの情報処理装置(又は、1人のユーザー)で、試験を行うことができる。
【符号の説明】
【0105】
100…ワークフロー情報提供装置
105…ソフトウェア部品記憶モジュール
110…ソフトウェア(ワークフロー)動作可能判定モジュール
115…ソフトウェア(ワークフロー)実行モジュール
120…ソフトウェア部品提供モジュール
125…ユーザー情報記憶モジュール
130…ユーザー情報提供モジュール
135…ワークフロー試験データ記憶モジュール
140…ソフトウェア(ワークフロー)試験データ記憶モジュール
150…ユーザー端末
155…ソフトウェア部品取得モジュール
160…ユーザー情報取得モジュール
165…テスト実行モジュール
170…画面表示モジュール
210、215…ユーザー
250…ユーザーモバイル端末
290…通信回線