業務フロー出力装置、業務フロー出力プログラム、及び業務フロー出力方法
【課題】業務システムで実行される業務について従来よりも正確な業務フローを出力できる業務フロー出力装置、業務フロー出力プログラム、及び業務フロー出力方法を提供する。
【解決手段】業務フロー出力装置300は、業務システムが有する第1機能と、第1機能の実行により当該業務の実行状態が遷移する遷移先と、第1機能の実行により業務の実行状態が遷移先の状態に遷移した場合に実行が許可される第2機能と、が対応付けて記憶する情報記憶部310を備える。また、業務フロー出力装置300は、取得された機能と同じ第1機能に対応付けられた遷移先と第2機能とを検索する検索部350と、取得された機能を業務システムが実行してから、検索された遷移先へ業務の実行状態が遷移した後に、検索された第2機能を業務システムが実行する処理フローを含む業務フローを出力する出力部340と、を備える。
【解決手段】業務フロー出力装置300は、業務システムが有する第1機能と、第1機能の実行により当該業務の実行状態が遷移する遷移先と、第1機能の実行により業務の実行状態が遷移先の状態に遷移した場合に実行が許可される第2機能と、が対応付けて記憶する情報記憶部310を備える。また、業務フロー出力装置300は、取得された機能と同じ第1機能に対応付けられた遷移先と第2機能とを検索する検索部350と、取得された機能を業務システムが実行してから、検索された遷移先へ業務の実行状態が遷移した後に、検索された第2機能を業務システムが実行する処理フローを含む業務フローを出力する出力部340と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、業務フロー出力装置、業務フロー出力プログラム、及び業務フロー出力方法に関する。
【背景技術】
【0002】
特許文献1には、業務の実行に伴って業務システムが実行する機能と、当該機能が実行される前における当該業務の実行状態と、当該機能が実行された後における実行状態と、が対応付けられた状態遷移表に基づいて、機能の実行順序及び状態の遷移順序により当該業務の流れを表す図(以下、業務フロー図という)を出力するシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−288396号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、図16に示すように、業務システムで異なる機能AからCが実行された後に業務の実行状態がそれぞれ同じ状態Aに遷移する場合がある。このため、特許文献1に開示された業務システムでは、業務の実行状態を状態Aに遷移させた機能を特定することができない。また、例えば、業務システムは、機能Aの後に機能D若しくは機能Eを実行するが、機能Aの後に機能Fを実行しないなど、業務システムが連携して実行する機能の組み合わせが予め定められている場合がある。つまり、業務システムがある機能を実行するか否かは、当該機能の実行前における状態だけでなく、当該状態に遷移するためにどのような機能が実行されたかにも基づいて決定される。
【0005】
このため、上記業務システムでは、機能と機能実行前後の状態とが対応付けられた状態遷移表に基づいて業務フローを特定するため、業務システムで連携して実行される機能を正確に特定できず、不正確な業務フローを出力してしまうという問題があった。
【0006】
そこで、本発明は、このような点に鑑み、その目的とするところは、業務システムで実行される業務について従来よりも正確な業務フローを出力できる業務フロー出力装置、業務フロー出力プログラム、及び業務フロー出力方法を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の第1の観点に係る業務フロー出力装置は、
業務を実行する業務システムが有する第1機能を表す第1機能情報と、前記第1機能の実行により当該業務の実行状態が遷移する遷移先を表す遷移先情報と、前記第1機能の実行により前記業務の実行状態が前記遷移先の状態に遷移した場合に実行が許可される第2機能を表す第2機能情報と、が対応付けられた情報を記憶する情報記憶手段と、
前記業務システムが実行する機能を表す機能情報を取得する取得手段と、
前記取得された機能情報と同じ第1機能情報に対応付けられた前記遷移先情報と前記第2機能情報とを検索する検索手段と、
前記取得された機能情報で表される機能を前記業務システムが実行してから、前記検索された遷移先情報で表される状態へ前記業務の実行状態が遷移した後に、前記検索された第2機能情報で表される機能を前記業務システムが実行する処理フローを含む業務フローを出力する出力手段と、を備える、
ことを特徴とする。
【0008】
第1の観点に係る業務フロー出力装置において、
前記情報記憶手段は、前記業務システムが前記第1機能情報で表される機能を実行した後に前記第2機能情報で表される機能を実行する処理フローをどの程度優先して出力するかを示す優先度を表す情報が、前記第1機能情報と前記第2機能情報とにさらに対応付けられた情報を記憶し、
前記取得手段は、前記出力手段から出力される業務フローに含まれる処理フローの優先度を指定する情報をさらに取得し、
前記検索手段は、前記取得された情報で指定された優先度を表す情報に対応付けられた前記第1機能情報と前記第2機能情報とを前記情報記憶手段から検索し、
前記出力手段は、前記検索された第1機能情報で表される機能を前記業務システムが実行した後に、前記検索された第2機能情報で表される機能を実行する処理フローからなる業務フローを出力する、
としても良い。
【0009】
第1の観点に係る業務フロー出力装置において、
前記出力された業務フローに従って実行される第1機能を実現するプログラムと第2機能を実現するプログラムとの結合試験に用いられるテストケースを生成する生成手段をさらに備え、
前記優先度は、当該優先度を表す情報に対応付けられた前記第1機能情報で表される第1機能を実現するプログラムと、前記第2機能情報で表される第2機能を実現するプログラムと、の結合試験をどの程度優先して行う必要があるかを表す、
としても良い。
【0010】
また、本発明の第2の観点に係る業務フロー出力プログラムは、
コンピュータを、
業務を実行する業務システムが有する第1機能を表す第1機能情報と、前記第1機能の実行により当該業務の実行状態が遷移する遷移先を表す遷移先情報と、前記第1機能の実行により前記業務の実行状態が前記遷移先の状態に遷移した場合に実行が許可される第2機能を表す第2機能情報と、が対応付けられた情報を記憶する情報記憶手段、
前記業務システムが実行する機能を表す機能情報を取得する取得手段、
前記取得された機能情報と同じ第1機能情報に対応付けられた前記遷移先情報と前記第2機能情報とを検索する検索手段、
前記取得された機能情報で表される機能を前記業務システムが実行してから、前記検索された遷移先情報で表される状態へ前記業務の実行状態が遷移した後に、前記検索された第2機能情報で表される機能を前記業務システムが実行する処理フローを含む業務フローを出力する出力手段、として機能させる、
ことを特徴としている。
【0011】
また、本発明の第3の観点に係る業務フロー出力方法は、
業務を実行する業務システムが実行する機能を表す機能情報を取得する取得ステップと、
前記業務システムが有する第1機能を表す第1機能情報と、前記第1機能の実行により当該業務の実行状態が遷移する遷移先を表す遷移先情報と、前記第1機能の実行により前記業務の実行状態が前記遷移先の状態に遷移した場合に実行が許可される第2機能を表す第2機能情報と、が対応付けられた情報を記憶する情報記憶手段から、前記取得された機能情報と同じ第1機能情報に対応付けられた前記遷移先情報と前記第2機能情報とを検索する検索ステップと、
前記取得された機能情報で表される機能を前記業務システムが実行してから、前記検索された遷移先情報で表される状態へ前記業務の実行状態が遷移した後に、前記検索された第2機能情報で表される機能を前記業務システムが実行する処理フローを含む業務フローを出力する出力ステップと、を有する、
ことを特徴としている。
【発明の効果】
【0012】
本発明に係る業務フロー出力装置、業務フロー出力プログラム、及び業務フロー出力方法によれば、業務システムで実行される業務について従来よりも正確な業務フローを出力できる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係る業務フロー出力装置で構成されるシステムの一例を表す図である。
【図2】業務フロー出力装置の一構成例を表すハードウェア構成図である。
【図3】業務フロー出力装置が実行する状態遷移表出力処理の一例を表すフローチャートである。
【図4】業務フロー出力装置が有する機能の一例を表す機能ブロック図である。
【図5】状態遷移表の一例を表す図である。
【図6】業務フロー出力装置が実行するSFマトリクス出力処理の一例を表すフローチャートである。
【図7】(a)は、注目状態情報と一致する実行前情報に対応付けられた情報の一例を表す図である。(b)は、注目状態情報と一致する実行後情報に対応付けられた情報の一例を表す図である。
【図8】連携が許可される機能と連携が許可されない機能との一例を表す図である。
【図9】SFマトリクスの一例を表す図である。
【図10】優先度テーブルの一例を表す図である。
【図11】業務フロー出力装置が実行する業務フロー出力処理の一例を表すフローチャートである。
【図12】業務フロー出力装置が出力する業務フローの一例を表す図である。
【図13】業務フロー図定義テーブルの一例を表す図である。
【図14】業務フロー出力装置が実行する指定業務フロー出力処理の一例を表すフローチャートである。
【図15】業務フロー出力装置が出力する指定業務フローの一例を表す図である。
【図16】業務の実行状態の一遷移例を表す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について添付図面を参照しつつ説明する。
【0015】
本発明の実施形態に係る業務フロー出力装置300は、図1に示すように、コンピュータ通信網(以下、通信網という)10を介して端末装置101及び端末装置102並びに業務システム200に接続されている。業務フロー出力装置300は、開発中の業務システム200で実行される業務の流れ(つまり、業務フロー)を表す業務フロー図を出力する。
【0016】
通信網10は、インターネットで構成される。通信網10は、LAN(Local Area Network)又は公衆回線網であっても良い。
【0017】
端末装置101及び端末装置102は、例えば、LCD(Liquid Crystal Display)などの表示部と、キーボード及びマウスなどの入力部と、を備えたパーソナル・コンピュータで構成される。端末装置101と端末装置102とは、それぞれ同様の構成を有するため、以下、端末装置102の説明を適宜省略する。
【0018】
業務システム200は、複数台のパーソナル・コンピュータで構成され、通信網10を介して端末装置101及び端末装置102に接続されている。業務システム200は、端末装置101若しくは端末装置102から出力された情報に応じて、例えば、賃貸アパート若しくは賃貸マンション(以下、賃貸物件という)に対する入居者を募集する業務を実行する。
【0019】
業務フロー出力装置300は、図2に示すようなサーバ機で構成され、CPU(Central Processing Unit)300a、ROM(Read Only Memory)300b、RAM(Random Access Memory)300c、ハードディスク300d、メディアコントローラ300e、LANカード300f、ビデオカード300g、LCD300h、キーボード300i、スピーカ300j、及びタッチパッド300kで構成される。
【0020】
CPU300aは、ROM300b又はハードディスク300dに保存されたプログラムに従ってソフトウェア処理を実行することで、業務フロー出力装置300の全体制御を行う。RAM300cは、CPU300aによるプログラムの実行時において、処理対象とされるデータを一時的に記憶する。
【0021】
ハードディスク300dは、各種のデータを保存したテーブルを記憶する。尚、業務フロー出力装置300は、ハードディスク300dの代わりに、フラッシュメモリを備えても良い。
【0022】
メディアコントローラ300eは、フラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、及びブルーレイディスク(Blu-ray Disc)(登録商標)を含む記録媒体から各種のデータ及びプログラムを読み出す。
【0023】
LANカード300fは、通信網10を介して接続する端末装置101及び端末装置102との間でデータを送受信する。キーボード300i及びタッチパッド300kは、ユーザの操作に応じた信号又は情報を入力する。
【0024】
ビデオカード300gは、CPU300aから出力されたデジタル信号に基づいて画像を描画(つまり、レンダリング)すると共に、描画された画像を表す画像信号を出力する。LCD300hは、ビデオカード300gから出力された画像信号に従って画像を表示する。尚、業務フロー出力装置300は、LCD300hの代わりに、PDP(Plasma Display Panel)又はEL(Electroluminescence)ディスプレイを備えても良い。スピーカ300jは、CPU300aから出力された信号に基づいて音声を出力する。
【0025】
業務システム200の開発者は、業務システム200で実行されるプログラムを設計するために、業務の実行状態がどのように遷移するかを定義する。このため、開発者は、業務システム200がプログラムの実行により実現する機能と、当該機能の実行開始時における業務の実行状態(以下、実行前状態という)と、当該機能の実行終了時における業務の実行状態(以下、実行後状態という)と、を定義する状態遷移表を業務フロー出力装置300に作成させる。
【0026】
このため、開発者は、状態遷移表を作成させるための操作を、端末装置101若しくは端末装置102の入力部に対して行う。また、開発者は、業務システム200が実行する機能を表す機能情報と、当該機能の実行前状態を表す情報と、実行後状態を表す情報と、を入力させるための操作を、端末装置101若しくは端末装置102の入力部に対して行う。
【0027】
図2に示したCPU300aが、上記操作に対応した信号であって端末装置101若しくは端末装置102から受信された信号を、LANカード300fから取得すると、図3に示すような、状態遷移表を出力する状態遷移表出力処理を実行する。これにより、CPU300aは、図4に示すような取得部320、生成部330、出力部340、及び保存部345として機能する。また、CPU300aは、ハードディスク300dと協働して情報記憶部310として機能する。
【0028】
状態遷移表出力処理が開始されると、図4に示した取得部320は、図2に示したLANカード300fから、端末装置101若しくは端末装置102から送信された機能情報と実行前情報と実行後情報とを取得する(ステップS01)。
【0029】
次に、図4に示した生成部330は、取得された実行前情報と機能情報と実行後情報とを対応付けることで、図5に示すような状態遷移表を生成する(ステップS02)。
【0030】
この状態遷移表は、業務の実行状態が初期状態の「状態なし」である場合に、インターネット上で非公開のウェブページに、例えば、賃貸物件の最寄り駅、賃料、間取り、専有面積、及び築年数などといった賃貸物件を説明する説明文を登録する機能(以下、「登録機能」という)が実行されると、業務の実行状態は、当該ウェブページの管理者が公開を承認するのを待つ「承認待ち」の状態に遷移することを表す。
【0031】
同様に、この状態遷移表は、業務の実行状態が「承認待ち」である場合に、「登録機能」が実行されると、業務の実行状態は、「承認待ち」のままで遷移しないことを表す。また同様に、この状態遷移表は、業務の実行状態が「承認待ち」である場合に、上記非公開のウェブページに賃貸物件の画像を登録する機能(以下、「画像登録機能」という)が実行されると、業務の実行状態は、「承認待ち」のままで遷移しないことを表す。
【0032】
さらに、この状態遷移表は、業務の実行状態が「承認待ち」である場合に、業務システム200において、非公開のウェブページの公開を承認する機能(以下、「承認機能」という)の実行により公開を承認するアクションが行われると、業務の実行状態が「承認済み」状態に遷移することを表す。これに対して、この状態遷移表は、業務の実行状態が「承認待ち」である場合に、業務システム200において「承認機能」の実行により公開を承認しないアクションが行われると、業務の実行状態が「非承認」状態に遷移することを表す。
【0033】
またさらに、この状態遷移表は、業務の実行状態が「承認済み」若しくは「非承認」である場合に、「登録機能」若しくは「画像登録機能」が実行されると、業務の実行状態が「承認待ち」状態に遷移することを表す。また、この状態遷移表は、業務の実行状態が「承認済み」である場合に、承認された非公開のウェブページをインターネット上に掲載する(つまり、公開する)機能(以下、「Web掲載機能」という)が実行されると、業務の実行状態が「終了」状態に遷移することを表す。
【0034】
図3に示したステップS02の後に、図4に示した出力部340は、生成された状態遷移表を表す情報を、図2に示したLANカード300fへ出力する(ステップS03)。その後、LANカード300fは、端末装置101若しくは端末装置102へ状態遷移表を表す情報を送信し、端末装置101若しくは端末装置102は、送信された情報で表される状態遷移表を表示部に表示する。
【0035】
その後に、図4に示した保存部345は、状態遷移表を表す情報を情報記憶部310へ保存した後に(ステップS04)、状態遷移表出力処理の実行を終了する。
【0036】
状態遷移表が生成されると、業務システム200の開発者は、業務システム200が有する複数の機能を連携して実行するか否かを定める。このため、開発者は、業務システム200が有する第1機能と、第1機能の実行により業務の実行状態が遷移する遷移先と、第1機能の実行により業務の実行状態が遷移先の状態にある場合に実行が許可される第2機能と、を定義するSF(State-based Feature)マトリクスを業務フロー出力装置300に作成させる。このため、開発者は、SFマトリクスを作成させるための操作を、端末装置101若しくは端末装置102の入力部に対して行う。
【0037】
図2に示したCPU300aが、図2のLANカード300fから上記操作に対応した信号を取得すると、図6に示すような、SFマトリクスを出力するSFマトリクス出力処理を実行する。これにより、CPU300aは、図4に示すような取得部320、生成部330、出力部340、保存部345、及び検索部350として機能する。
【0038】
図4に示した生成部330は、SFマトリクス出力処理を開始すると、初期化のためにSFマトリクスに追加された情報を全て削除する(ステップS10)。次に、検索部350は、情報記憶部310に保存された状態遷移表を表す情報を検索する(ステップS11)。その後、生成部330は、検索された状態遷移表を表す情報から実行前情報及び実行後情報を取得し、取得された実行前情報及び実行後情報でそれぞれ表される業務の実行状態の内で、未だに注目されていない実行状態があるか否かを判別する(ステップS12)。
【0039】
このとき、生成部330は、未注目の実行状態があると判別すると(ステップS12;Yes)、未注目の実行状態の1つに注目し、当該実行状態を注目状態とする(ステップS13)。以下、「承認待ち」状態を注目状態とする場合を例に挙げて説明を行う。
【0040】
ステップS13の後に、生成部330は、図5に示した状態遷移表を表す情報から、注目状態「承認待ち」を表す実行前情報に対応した機能情報を検索することで、図7(a)に示すような「登録機能」を表す機能情報、「画像登録機能」を表す機能情報、及び「承認機能」を表す機能情報を取得する(ステップS14)。次に、生成部330は、ステップS14で取得した機能情報を第1機能情報とし、当該第1機能情報で表される機能を第1機能とする(ステップS15)。
【0041】
同様に、生成部330は、注目状態「承認待ち」を表す実行後情報に対応した機能情報を、図5に示した状態遷移表を表す情報から検索することで、図7(b)に示すような「登録機能」を表す機能情報、及び「画像登録機能」を表す機能情報を取得する(ステップS16)。次に、生成部330は、ステップS16で取得した機能情報を第2機能情報とし、当該第2機能情報で表される機能を第2機能とする(ステップS17)。
【0042】
その後、生成部330は、注目状態を表す情報を遷移先情報とする(ステップS18)。第1機能の実行により業務の実行状態が注目状態に遷移するためである。
【0043】
次に、図4に示した出力部340は、第1機能情報、遷移先情報、及び第2機能情報を、図2に示したLANカード300fへ出力する(ステップS19)。その後、LANカード300fは、出力された情報を端末装置101若しくは端末装置102へ送信し、端末装置101若しくは端末装置102は、図8に示すような画面上を表示部へ表示してから、当該送信された情報で表される第1機能、第1機能の実行による状態の遷移先、及び第2機能を当該画面に表示する。
【0044】
次に、開発者は、表示部の表示を視認し、第1機能の実行により業務の実行状態が遷移先の状態にある場合に、業務システム200に対して第2機能の実行を許可するか否かを定める。つまり、開発者は、第1機能と第2機能とを、連携して実行される連携機能として定義するか否かを決定する。
【0045】
具体例として、開発者は、物件の画像を非公開のウェブページに掲載する「画像登録機能」の実行後に業務の実行状態が「承認待ち」状態であれば、ウェブページの公開を承認する「承認機能」の実行を許可すると定める。これに対して、開発者は、物件の説明文を非公開のウェブページに掲載する「登録機能」の実行後に業務の実行状態が「承認待ち」状態であっても、ウェブページの公開を承認する「承認機能」の実行を許可しないと定める。物件の画像が掲載されていないウェブページの閲覧数は、物件の画像が掲載されているウェブページの閲覧数に比べて著しく低いためである。
【0046】
次に、開発者は、端末装置101若しくは端末装置102の入力部を操作することで、定義結果を表す情報(以下、連携定義情報という)を入力させる。その後、端末装置101若しくは端末装置102は、入力された連携定義情報を業務フロー出力装置300へ送信する。
【0047】
図6に示したステップS19の後に、図4に示した取得部320は、図2に示したLANカード300fから連携定義情報を取得する(ステップS20)。次に、生成部330は、取得された連携定義情報で表される定義結果において、連携機能とされた第1機能の後に第2機能を実行する処理の流れ(つまり、処理フロー)を識別する処理フローIDを生成する(ステップS21)。
【0048】
図8に示した具体例では、「画像登録機能」を第1機能とし、第1機能の実行による状態の遷移先を「承認待ち」状態とし、「承認機能」を第2機能とする場合には、当該第1機能と当該第2機能とは連携して実行される連携機能であると定められた。このため、生成部330は、「画像登録機能」の後に「承認機能」を実行する処理フローを識別する処理フローID「7」を生成する。これに対して、図8に示した具体例では、「登録機能」を第1機能とし、遷移先を「承認待ち」状態とし、「承認機能」を第2機能とする場合には、当該第1機能と当該第2機能とは連携して実行されないと定められた。このため、生成部330は、「登録機能」の後に「承認機能」を実行する処理フローを識別する処理フローIDを生成しない。
【0049】
ステップS21の後に、生成部330は、生成した処理フローIDと、当該処理フローに従って実行される第1機能を表す第1機能情報及び第2機能を表す第2機能情報、並びに当該処理フローに従って業務の実行状態が遷移する遷移先を表す遷移先情報と、を対応付けてSFマトリクスへ追加する(ステップS22)。
【0050】
図8に示した具体例では、第1機能である「画像登録機能」と第2機能である「承認機能」とが連携機能であると定められた。このため、生成部330は、図9に示すように、「画像登録機能」を表す第1機能情報と、「承認機能」を表す第2機能情報と、「画像登録機能」の後に「承認機能」を実行する処理フローの処理フローID「7」と、を対応付けてSFマトリクスへ追加する。これに対して、第1機能である「登録機能」と第2機能である「承認機能」とが連携機能でないと定められたため、生成部330は、図9に示すように、「登録機能」を表す第1機能情報と、「承認機能」を表す第2機能情報と、当該第1機能と当該第2機能とが連携機能でないことを表す文字「-」と、を対応付けてSFマトリクスへ追加する。
【0051】
その後、開発者は、連携機能と定めた機能を実行する処理フローを、業務フローを構成する処理フローとしてどの程度優先して出力するかを示す優先度を決定する。その後、開発者は、端末装置101若しくは端末装置102の入力部を操作することで、決定した優先度を表す情報(以下、優先度情報という)を入力させる。その後、端末装置101若しくは端末装置102は、入力された優先度情報を業務フロー出力装置300へ送信する。
【0052】
ステップS22の後に、図4に示した取得部320は、図2に示したLANカード300fから優先度情報を取得する(ステップS23)。その後、保存部345は、取得された優先度情報を、ステップS21で生成された処理フローIDに対応付けて、図10に示すような優先度テーブルへ保存する(ステップS24)。尚、優先度テーブルは、情報記憶部310に記憶されている。その後、ステップS12から上記処理が繰り返される。
【0053】
ステップS12において、図4に示した生成部330が、未注目の実行状態はないと判別すると(ステップS12;No)、図4に示した出力部340は、生成されたSFマトリクスを表す情報を、図2に示したLANカード300fへ出力する(ステップS25)。その後、LANカード300fは、端末装置101若しくは端末装置102へSFマトリクスを表す情報を送信し、端末装置101若しくは端末装置102は、送信された情報で表されるSFマトリクスを表示部に表示する。
【0054】
その後、図4に示した保存部345は、SFマトリクスを表す情報を情報記憶部310へ保存した後に(ステップS26)、SFマトリクス出力処理の実行を終了する。
【0055】
SFマトリクスが生成されると、業務システム200の開発者は、業務システム200が実行するように設計された業務フローをレビューするために、業務フロー図を業務フロー出力装置300に出力させる。このため、開発者は、業務フロー図を出力させるための操作を、端末装置101若しくは端末装置102の入力部に対して行う。
【0056】
図2に示したCPU300aが、図2に示したLANカード300fから上記操作に対応した情報を取得すると、図11に示すような、業務フロー図を出力する業務フロー出力処理を実行する。これにより、CPU300aは、図4に示すような取得部320、生成部330、出力部340、保存部345、及び検索部350として機能する。
【0057】
業務フロー出力処理が開始されると、図4に示した取得部320は、初期化処理を実行する(ステップS31)。具体的には、取得部320は、出力される業務フロー図に追加された情報を全て削除する。次に、取得部320は、業務フロー出力処理において注目された機能を表す情報が追加される注目済機能リスト及び注目されていない機能を表す情報が追加される未注目機能リストから全ての情報を削除する。また、取得部320は、情報記憶部310に予め記憶されている業務の実行状態の初期状態「状態なし」を表す情報(以下、初期状態情報という)と、業務の実行を開始する機能「開始機能」を表す情報(以下、初期機能情報という)と、を取得する。
【0058】
次に、検索部350は、図9に示したSFマトリクスを表す情報から、「状態なし」を表す初期状態情報と、「開始機能」を表す初期機能情報と、に対応付けられた「登録機能」を表す第2機能情報と、「開始機能」の後に「登録機能」を実行する処理フローの処理フローID「1」と、を検索する。次に、検索部350は、図10の優先度テーブルから、処理フローID「1」に対応付けられた優先度「A」を表す優先度情報を検索する(ステップS32)。
【0059】
次に、図4に示した生成部330は、図12に示すような処理フローID「1」で識別される処理フローを表す記号と、当該処理フローの優先度を表す文字列などを業務フロー図に追加する。具体的には、生成部330は、業務の開始を表す記号S、「登録機能」を表す記号FR、記号Sから記号FRへ向かう矢印、例えば、当該矢印の左右といった当該矢印に関連した位置に表示される処理フローID「1」を表す文字、実行状態の遷移先を表す文字列「状態なし」、及び優先度を表す文字「A」を業務フロー図に追加する(ステップS33)。
【0060】
その後、検索部350は、ステップS32で検索した「登録機能」を表す第2機能情報を、未注目機能リストに追加する(ステップS34)。
【0061】
次に、取得部320は、未注目機能リストに「登録機能」を表す第2機能情報が存在すると判別する(ステップS35;Yes)。その後、取得部320は、未注目機能リスト内の第2機能情報の1つを取得し、取得した情報で表される機能「登録機能」に注目する。このため、取得部320は、当該情報を注目機能情報とし、当該機能を注目機能とする(ステップS36)。
【0062】
その後、検索部350は、図9に示したSFマトリクスを表す情報から、注目機能「登録機能」を表す注目機能情報と同じ第1機能情報に対応付けられた「承認待ち」を表す遷移先情報、「登録機能」を表す第2機能情報、及び処理フローID「2」と、「承認待ち」を表す遷移先情報、「画像登録機能」を表す第2機能情報、及び処理フローID「3」と、を検索する。その後、検索部350は、図10に示した優先度テーブルから、処理フローID「2」に対応付けられた優先度「B」を表す優先度情報と、処理フローID「3」に対応付けられた優先度「A」を表す優先度情報と、を検索する(ステップS37)。
【0063】
次に、生成部330は、ステップS33と同様に、処理フローID「2」で識別される処理フローを表す記号及び当該処理フローの優先度を表す文字列と、処理フローID「3」で識別される処理フローを表す記号及び当該処理フローの優先度を表す文字列と、を業務フロー図に追加する(ステップS38)。具体的には、生成部330は、図12に示すように、「登録機能」を表す記号FRから記号FRへ戻る矢印、当該矢印に関連した位置に表示される処理フローID「2」を表す文字、実行状態の遷移先を表す文字列「承認待ち」、及び優先度を表す文字「B」を業務フロー図に追加する。また、生成部330は、「登録機能」を表す記号FRから「画像登録機能」を表す記号FPへ向かう矢印、当該矢印に関連した位置に表示される処理フローID「3」を表す文字、実行状態の遷移先を表す文字列「承認待ち」、及び優先度を表す文字「A」を業務フロー図に追加する。
【0064】
その後、生成部330は、「登録機能」を表す情報を未注目機能リストから削除し、「登録機能」を表す情報を注目済機能リストに追加する。次に、生成部330は、ステップS37で検索された「登録機能」を表す第2機能情報が注目済機能リストに追加されているが、「画像登録機能」を表す第2機能情報が注目済機能リストに追加されていないと判別し、「画像登録機能」を表す第2機能情報を未注目機能リストに追加する(ステップS39)。その後、ステップS35に戻り、未注目機能リストから情報が無くなるまで、ステップS35からステップS39の処理が繰り返される。
【0065】
ステップS35において、取得部320は、未注目機能リストに第2機能情報が存在しないと判別すると(ステップS35;No)、情報記憶部310に予め記憶されている業務の実行状態の「終了状態」を表す情報(以下、終了状態情報という)と、業務の実行を終了する機能「終了機能」を表す情報(以下、終了機能情報という)と、を取得する。
【0066】
次に、検索部350は、図9に示したSFマトリクスを表す情報から、「終了機能」を表す終了機能情報と「終了状態」を表す終了状態情報とに対応付けられた「Web登録機能」を表す第1機能情報と、「終了機能」の実行により処理を終了する処理フローのID「13」と、を検索する。次に、検索部350は、図10の優先度テーブルから、処理フローID「13」に対応付けられた優先度「A」を表す優先度情報を検索する(ステップS40)。
【0067】
次に、図4に示した生成部330は、ステップS33と同様に、処理フローID「13」で識別される処理フローを表す記号と、当該処理フローの優先度を表す文字列などを業務フロー図に追加する。具体的には、生成部330は、業務の終了を表す記号E、「Web登録機能」を表す記号FW、記号FWから記号Eへ向かう矢印、当該矢印に関連した位置に表示される処理フローID「13」を表す文字、実行状態の遷移先を表す文字列「終了状態」、及び優先度を表す文字「A」を業務フロー図に追加する(ステップS41)。
【0068】
その後、図4に示した保存部345は、生成された業務フロー図を表す情報を情報記憶部310へ保存する(ステップS42)。その後、出力部340は、業務フロー図を表す情報を、図2に示したLANカード300fへ出力した後に(ステップS43)、業務フロー出力処理の実行を終了する。尚、LANカード300fは、端末装置101若しくは端末装置102へ業務フロー図を表す情報を送信し、端末装置101若しくは端末装置102は、送信された情報で表される業務フロー図を表示部に表示する。
【0069】
業務フロー図が出力されると、開発者は、出力された業務フロー図を用いて業務フローのレビューを行う。また、業務システム200が有する機能を実現するプログラムが作成されると、開発者は、当該プログラムの結合テストを行うために、業務フロー図に基づいたテストケースを業務フロー出力装置300に生成させる。
【0070】
ここで、業務システム200が有する機能が増加すると、業務フローを構成する処理フローが増加する。このため、業務フローを構成する全ての処理フローを掲載した業務フロー図(以下、全体業務フロー図という)を用いるのでは、開発者は、効率的に業務フローをレビューできない。同様の理由から、全体業務フロー図に掲載された業務フローに基づいて生成されたテストケースを用いるのでは、開発者は、効率的にプログラムの結合テストをすることができない。
【0071】
そこで、開発者は、レビュー等が必要な処理フローとして指定されたフローからなる業務フロー(以下、指定業務フローという)を掲載した図(以下、指定業務フロー図という)と、指定業務フローに基づいて生成されたテストケースを表す情報とを、業務フロー出力装置300に出力させる。
【0072】
このため、開発者は、端末装置101若しくは端末装置102の入力部を操作することで、指定業務フロー図の名称と、当該指定業務フロー図に表される業務フローを構成する処理フローの優先度と、が対応付けられた情報(以下、業務フロー図定義情報という)を複数入力させる。
【0073】
図2に示したCPU300aは、端末装置101若しくは端末装置102から送信された業務フロー図定義情報を、図2のLANカード300fから取得する。CPU300aは、業務フロー図定義情報を取得すると、図13に示すような業務フロー図定義テーブルに業務フロー図定義情報を保存する。尚、業務フロー図定義テーブルは、図4に示した情報記憶部310が記憶している。
【0074】
その後、開発者は、ユーザが指定する指定業務フローの名称を表す情報(以下、指定業務フロー名情報という)を入力させるために、端末装置101若しくは端末装置102の入力部を操作する。以下、指定業務フローの名称を表す情報として、「フロー図(2)」を表す情報が入力された場合を例に挙げて説明を行う。
【0075】
図2に示したCPU300aが、図2に示したLANカード300fから、上記操作に対応した指定業務フロー名情報を取得すると、図14に示すような、指定業務フロー図などを出力する指定業務フロー処理を実行する。これにより、CPU300aは、図4に示すような取得部320、生成部330、出力部340、保存部345、及び検索部350として機能する。
【0076】
指定業務フロー処理が開始されると、図4に示した取得部320は、「フロー図(2)」を表す指定業務フロー名情報を、LANカード300fから取得する(ステップS51)。次に、検索部350は、図13に示した業務フロー図定義テーブルから、「フロー図(2)」を表す指定業務フロー名情報に対応付けられた優先度「A」を表す優先度情報及び「B」を表す優先度情報を検索する(ステップS52)。
【0077】
次に、取得部320は、図11に示したステップS43で保存された業務フロー図を表す情報(以下、全体業務フロー情報という)を情報記憶部310から取得する(ステップS53)。
【0078】
その後、図4に示した生成部330は、ステップS52で検索された優先度情報で表される優先度(以下、検索優先度という)「A」及び「B」の双方と異なる優先度「C」の処理フローを表す記号並びに当該記号に関連付けられた文字及び文字列を削除する(ステップS54)。具体的には、生成部330は、図12に示した全体業務フロー図から、優先度「C」の処理フローを識別する処理フローID「6」、「9」、及び「12」を特定する。次に、生成部330は、処理フローID「6」、「9」、及び「12」に関連付けられた矢印と、当該処理フローIDを表す文字若しくは文字列と、遷移先を表す文字列と、及び優先度を表す文字と、を全体業務フロー図から削除することで、図15に示すような指定業務フローを生成する。
【0079】
その後、図4に示した保存部345は、生成された指定業務フロー図を表す情報を情報記憶部310へ保存する(ステップS55)。次に、出力部340は、指定業務フロー図を表す情報を、図2に示したLANカード300fへ出力する(ステップS56)。尚、LANカード300fは、端末装置101若しくは端末装置102へ指定業務フロー図を表す情報を送信し、端末装置101若しくは端末装置102は、送信された情報で表される指定業務フロー図を表示部に表示する。
【0080】
開発者は、表示された指定業務フロー図を視認すると、当該指定業務フロー図に基づいたテストケースを業務フロー出力装置300に出力させるか否かを決定する。その後、開発者は、決定結果を表す情報を入力させるために、端末装置101若しくは端末装置102の入力部を操作する。
【0081】
その後、取得部320は、図2に示したLANカード300fから、決定結果を表す情報を取得し、取得した情報に基づいてテストケースを出力させるか否かを判別する(ステップS57)。このとき、取得部320は、テストケースを出力させないと判別すると(ステップS57;No)、指定業務フロー出力処理の実行を終了する。
【0082】
これに対して、取得部320がテストケースを出力させると判別すると(ステップS57;Yes)、生成部330は、出力された指定業務フローに従って各機能をそれぞれ実現する複数のプログラムの結合試験に用いられるテストケースを生成する(ステップS58)。尚、生成部330は、公知のいかなる方法を用いてテストケースを作成しても良い。
【0083】
その後、保存部345は、生成されたテストケースを表す情報を情報記憶部310へ保存する(ステップS59)。次に、出力部340は、テストケースを表す情報を、図2に示したLANカード300fへ出力した後に(ステップS60)、指定業務フロー出力処理の実行を終了する。尚、LANカード300fは、端末装置101若しくは端末装置102へテストケースを表す情報を送信し、端末装置101若しくは端末装置102は、送信された情報で表されるテストケースを表示部に表示する。
【0084】
これらの構成によれば、業務システム200が、第1機能を実行した後に実行される第2機能を、第2機能の実行前における業務の実行状態だけでなく、当該状態に業務の実行状態を遷移させるために実行される第1機能にも基づいて特定する。このため、業務システム200による機能の実行順序及び業務の実行状態の遷移順序によって表される業務フローを従来よりも正確に特定できる(つまり、網羅できる)ので、従来よりも正確な業務フロー図を出力できる。
【0085】
またこれらの構成によれば、指定された優先度の処理フローからなる業務フローを出力する。このため、業務システム200が有する機能の増加に伴い業務フローを構成する処理フローの数が増加しても、開発者は、指定された優先度の処理フローからなる指定業務フローを用いて業務システム200で実行される業務の流れを効率的かつ容易に確認若しくはレビューできる。
【0086】
図13に示した業務フロー図定義テーブルにおいて、優先度「A」を表す情報は、指定業務フローの名称を表す全ての情報と対応付けられている。このため、優先度「A」の処理フローは、優先度「B」の処理フロー及び優先度「C」の処理フローよりも、業務フローを構成する処理フローとして優先的に出力される。このため、優先度「A」は、優先度「B」及び「C」よりも高い。
【0087】
本実施形態では、処理フローの優先度は、当該処理フローを、業務フローを構成する処理フローとしてどの程度優先して出力するかを示すとして説明したが、この処理フローの優先度は、当該処理フローに従って業務が実行される頻度がどの程度高いかをさらに示すとしても良い。つまり、開発者は、処理フローの優先度を決定する場合に、業務の実行において他の処理フローよりも高い頻度で実行される処理フロー程優先度を高く決定しても良い。
【0088】
この構成によれば、業務システム200が有する機能の増加に伴い業務フローを構成する処理フローの数が増加しても、開発者は、指定された実行頻度の処理フローからなる指定業務フローを用いて業務システム200で実行される業務の流れを効率的かつ容易に確認若しくはレビューできる。すなわち、開発者は、実行頻度が他の処理フローより高い処理フローからなる指定業務フローを確認した後に、例えば、例外的な処理フローなどの実行頻度が低い処理フローを含む指定業務フローを確認できるので、業務システム200で実行される業務の流れを効率的かつ容易に確認若しくはレビューできる。
【0089】
複数の機能をそれぞれ実現する複数のプログラムの結合テストに用いられるテストケースは、複数の機能を連携して実行する順序を表す指定業務フローに基づいて生成される。このため、処理フローの優先度は、当該処理フローに従って実行される連携機能を実現する複数のプログラムの結合テストをどの程度優先して行う必要があるかをさらに示すとしても良い。つまり、処理フローの優先度が高い場合には、当該処理フローに従って実行される連携機能を実現する複数のプログラムの結合テストを、他の処理フローに従って実行される連携機能を実現する複数のプログラムの結合テストよりも優先して行う必要があるため、テストケースの作成に用いられる業務フローに対して、当該処理フローを当該他の処理フローよりも優先して追加するとして良い。
【0090】
これらの構成によれば、指定された優先度の処理フローで実行される機能を試験するためのテストケースを、当該処理フローからなる業務フローから生成する。このため、業務システム200が有する機能の増加に伴い業務フローを構成する処理フローの数が増加しても、開発者は、指定された優先度の処理フローに従って実行される連携機能を実現する複数のプログラムの結合試験を効率的に実行できる。
【0091】
また、開発者は、処理フローの優先度を、当該処理フローに従って実行されるプログラムのネストが深い程高い優先度としたり、ステップ数が多い程高い優先度としても良い。プログラムのネストが深い程、プログラムにバグが存在する可能性が高くなるためである。同様に、プログラムのステップ数が多い程、プログラムにバグが存在する可能性が高くなるためである。
【0092】
また、本実施形態では、処理フローの優先度は、開発者が決定するとして説明したが、これに限定される訳ではなく、業務フロー出力装置300が処理フローの優先度を決定する構成を採用できる。この構成において、図4に示した業務フロー出力装置300の情報記憶部310は、処理フローを識別する処理フローIDと、当該処理フローに従って実行される機能を実現するプログラムのソースコードを表す情報と、を対応付けて記憶している。また、業務フロー出力装置300の取得部320は、処理フローIDに対応付けられたソースコードを表す情報を取得し、取得した情報で表されるソースコードからステップ数及びネスト数を計数する。次に、取得部320は、計数したステップ数及びネスト数に応じて当該処理フローの優先度を算出するとしても良い。
【0093】
これらの構成によれば、処理フローに従って実行される機能を実現するプログラムのソースコードに基づいて的確に優先度を決定できる。
【0094】
本実施形態において、業務フロー出力装置300は、全体業務フローを生成した後に、指定された優先度の処理フローを全体業務フローから削除することで、指定業務フローを生成するとして説明した。しかし、これに限定される訳ではなく、例えば、業務フロー出力装置300は、指定された優先度の処理フローを用いて直接的に指定業務フローを生成する構成を採用できる。この構成において、業務フロー出力装置300は、図11に示したステップS37を実行する前に、図14に示したステップS51及びステップS52を実行することで、指定された優先度を表す優先度情報を検索する。その後、業務フロー出力装置300は、ステップS37において、図9に示したSFマトリクスを表す情報から、注目機能を表す注目機能情報と同じ第1機能情報と、指定された優先度を表す優先度情報と、に対応付けられた遷移先情報、第2機能情報、及び処理フローIDを検索する。次に、業務フロー出力装置300は、検索された処理フローIDで識別される処理フローを表す文字及び記号を業務フロー図に追加するステップS38の処理を実行することで、指定された優先度の処理フローからなる指定業務フローを直接生成しても良い。
【0095】
尚、業務システム200が実行する業務は、賃貸マンションなどの募集業務に限定される訳ではなく、繰り返し実行される作業であればどのような業務でも構わない。
【0096】
また、業務システム200は、複数台のパーソナル・コンピュータで構成されるとして説明したが、これに限定される訳ではなく、一台のパーソナル・コンピュータで構成されても良い。
【0097】
業務フロー出力装置300は、図3に示した状態遷移表出力処理の実行により状態遷移表を生成し、状態遷移表を表す情報を出力及び保存すると説明したが、これに限定される訳ではなく、状態遷移図を生成し、状態遷移図を表す情報を出力及び保存しても良い。
【0098】
本実施形態において、図4に示した取得部320は、端末装置101若しくは端末装置102から受信した各種信号若しくは情報を、図2に示したLANカード300fから取得し、出力部340は、各種情報をLANカード300fへ出力するとして説明した。しかし、これに限定される訳ではなく、例えば、取得部320は、図2に示したキーボード300i若しくはタッチパッド300kから各種信号若しくは情報を取得し、出力部340は、各種情報をビデオカード300gへ出力する構成を採用できる。
【0099】
本実施形態において、業務フロー出力装置300が出力するテストケースは、ユースケーステストで用いられるテストケースであるが、これに限定される訳ではない。また、本実施形態において、業務フロー出力装置300は、指定業務フロー図に基づいてテストケースを生成するとして説明したが、これに限定される訳ではなく、例えば、ユーザが、端末装置101に表示された指定業務フロー図を視認しながらテストケースを生成するとしても良い。
【0100】
本実施形態及び本実施形態の変形例は、互いにそれぞれ組み合わせることができる。本実施形態及び本実施形態の変形例のいずれかに係る機能を実現するための構成を備えた業務フロー出力装置300として提供できることはもとより、複数の装置で構成されるシステムであって、本実施形態及び本実施形態の変形例のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
【0101】
本実施形態及び本実施形態の変形例のいずれかに係る機能を実現するための構成を予め備えた業務フロー出力装置300として提供できることはもとより、プログラムの適用により、既存の業務フロー出力装置を本実施形態及び本実施形態の変形例のいずれかに係る業務フロー出力装置300として機能させることもできる。すなわち、本実施形態及び本実施形態の変形例のいずれかで例示した業務フロー出力装置300による各機能構成を実現させるための業務フロー出力プログラムを、既存の業務フロー出力装置を制御するコンピュータ(CPUなど)で実行きるように適用することで、本実施形態及び本実施形態の変形例のいずれかに係る業務フロー出力装置300として機能させることができる。
【0102】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM、又はDVD−ROMなどの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。また、本発明に係る業務フロー出力方法は、本発明に係る業務フロー出力装置300を用いて実施できる。
【0103】
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【0104】
10:通信網
101、102:端末装置
200:業務システム
300:業務フロー出力装置
300a:CPU
300b:ROM
300c:RAM
300d:ハードディスク
300e:メディアコントローラ
300f:LANカード
300g:ビデオカード
300h:LCD
300i:キーボード
300j:スピーカ
300k:タッチパッド
310:情報記憶部
320:取得部
330:生成部
340:出力部
345:保存部
350:検索部
【技術分野】
【0001】
本発明は、業務フロー出力装置、業務フロー出力プログラム、及び業務フロー出力方法に関する。
【背景技術】
【0002】
特許文献1には、業務の実行に伴って業務システムが実行する機能と、当該機能が実行される前における当該業務の実行状態と、当該機能が実行された後における実行状態と、が対応付けられた状態遷移表に基づいて、機能の実行順序及び状態の遷移順序により当該業務の流れを表す図(以下、業務フロー図という)を出力するシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−288396号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、図16に示すように、業務システムで異なる機能AからCが実行された後に業務の実行状態がそれぞれ同じ状態Aに遷移する場合がある。このため、特許文献1に開示された業務システムでは、業務の実行状態を状態Aに遷移させた機能を特定することができない。また、例えば、業務システムは、機能Aの後に機能D若しくは機能Eを実行するが、機能Aの後に機能Fを実行しないなど、業務システムが連携して実行する機能の組み合わせが予め定められている場合がある。つまり、業務システムがある機能を実行するか否かは、当該機能の実行前における状態だけでなく、当該状態に遷移するためにどのような機能が実行されたかにも基づいて決定される。
【0005】
このため、上記業務システムでは、機能と機能実行前後の状態とが対応付けられた状態遷移表に基づいて業務フローを特定するため、業務システムで連携して実行される機能を正確に特定できず、不正確な業務フローを出力してしまうという問題があった。
【0006】
そこで、本発明は、このような点に鑑み、その目的とするところは、業務システムで実行される業務について従来よりも正確な業務フローを出力できる業務フロー出力装置、業務フロー出力プログラム、及び業務フロー出力方法を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の第1の観点に係る業務フロー出力装置は、
業務を実行する業務システムが有する第1機能を表す第1機能情報と、前記第1機能の実行により当該業務の実行状態が遷移する遷移先を表す遷移先情報と、前記第1機能の実行により前記業務の実行状態が前記遷移先の状態に遷移した場合に実行が許可される第2機能を表す第2機能情報と、が対応付けられた情報を記憶する情報記憶手段と、
前記業務システムが実行する機能を表す機能情報を取得する取得手段と、
前記取得された機能情報と同じ第1機能情報に対応付けられた前記遷移先情報と前記第2機能情報とを検索する検索手段と、
前記取得された機能情報で表される機能を前記業務システムが実行してから、前記検索された遷移先情報で表される状態へ前記業務の実行状態が遷移した後に、前記検索された第2機能情報で表される機能を前記業務システムが実行する処理フローを含む業務フローを出力する出力手段と、を備える、
ことを特徴とする。
【0008】
第1の観点に係る業務フロー出力装置において、
前記情報記憶手段は、前記業務システムが前記第1機能情報で表される機能を実行した後に前記第2機能情報で表される機能を実行する処理フローをどの程度優先して出力するかを示す優先度を表す情報が、前記第1機能情報と前記第2機能情報とにさらに対応付けられた情報を記憶し、
前記取得手段は、前記出力手段から出力される業務フローに含まれる処理フローの優先度を指定する情報をさらに取得し、
前記検索手段は、前記取得された情報で指定された優先度を表す情報に対応付けられた前記第1機能情報と前記第2機能情報とを前記情報記憶手段から検索し、
前記出力手段は、前記検索された第1機能情報で表される機能を前記業務システムが実行した後に、前記検索された第2機能情報で表される機能を実行する処理フローからなる業務フローを出力する、
としても良い。
【0009】
第1の観点に係る業務フロー出力装置において、
前記出力された業務フローに従って実行される第1機能を実現するプログラムと第2機能を実現するプログラムとの結合試験に用いられるテストケースを生成する生成手段をさらに備え、
前記優先度は、当該優先度を表す情報に対応付けられた前記第1機能情報で表される第1機能を実現するプログラムと、前記第2機能情報で表される第2機能を実現するプログラムと、の結合試験をどの程度優先して行う必要があるかを表す、
としても良い。
【0010】
また、本発明の第2の観点に係る業務フロー出力プログラムは、
コンピュータを、
業務を実行する業務システムが有する第1機能を表す第1機能情報と、前記第1機能の実行により当該業務の実行状態が遷移する遷移先を表す遷移先情報と、前記第1機能の実行により前記業務の実行状態が前記遷移先の状態に遷移した場合に実行が許可される第2機能を表す第2機能情報と、が対応付けられた情報を記憶する情報記憶手段、
前記業務システムが実行する機能を表す機能情報を取得する取得手段、
前記取得された機能情報と同じ第1機能情報に対応付けられた前記遷移先情報と前記第2機能情報とを検索する検索手段、
前記取得された機能情報で表される機能を前記業務システムが実行してから、前記検索された遷移先情報で表される状態へ前記業務の実行状態が遷移した後に、前記検索された第2機能情報で表される機能を前記業務システムが実行する処理フローを含む業務フローを出力する出力手段、として機能させる、
ことを特徴としている。
【0011】
また、本発明の第3の観点に係る業務フロー出力方法は、
業務を実行する業務システムが実行する機能を表す機能情報を取得する取得ステップと、
前記業務システムが有する第1機能を表す第1機能情報と、前記第1機能の実行により当該業務の実行状態が遷移する遷移先を表す遷移先情報と、前記第1機能の実行により前記業務の実行状態が前記遷移先の状態に遷移した場合に実行が許可される第2機能を表す第2機能情報と、が対応付けられた情報を記憶する情報記憶手段から、前記取得された機能情報と同じ第1機能情報に対応付けられた前記遷移先情報と前記第2機能情報とを検索する検索ステップと、
前記取得された機能情報で表される機能を前記業務システムが実行してから、前記検索された遷移先情報で表される状態へ前記業務の実行状態が遷移した後に、前記検索された第2機能情報で表される機能を前記業務システムが実行する処理フローを含む業務フローを出力する出力ステップと、を有する、
ことを特徴としている。
【発明の効果】
【0012】
本発明に係る業務フロー出力装置、業務フロー出力プログラム、及び業務フロー出力方法によれば、業務システムで実行される業務について従来よりも正確な業務フローを出力できる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係る業務フロー出力装置で構成されるシステムの一例を表す図である。
【図2】業務フロー出力装置の一構成例を表すハードウェア構成図である。
【図3】業務フロー出力装置が実行する状態遷移表出力処理の一例を表すフローチャートである。
【図4】業務フロー出力装置が有する機能の一例を表す機能ブロック図である。
【図5】状態遷移表の一例を表す図である。
【図6】業務フロー出力装置が実行するSFマトリクス出力処理の一例を表すフローチャートである。
【図7】(a)は、注目状態情報と一致する実行前情報に対応付けられた情報の一例を表す図である。(b)は、注目状態情報と一致する実行後情報に対応付けられた情報の一例を表す図である。
【図8】連携が許可される機能と連携が許可されない機能との一例を表す図である。
【図9】SFマトリクスの一例を表す図である。
【図10】優先度テーブルの一例を表す図である。
【図11】業務フロー出力装置が実行する業務フロー出力処理の一例を表すフローチャートである。
【図12】業務フロー出力装置が出力する業務フローの一例を表す図である。
【図13】業務フロー図定義テーブルの一例を表す図である。
【図14】業務フロー出力装置が実行する指定業務フロー出力処理の一例を表すフローチャートである。
【図15】業務フロー出力装置が出力する指定業務フローの一例を表す図である。
【図16】業務の実行状態の一遷移例を表す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について添付図面を参照しつつ説明する。
【0015】
本発明の実施形態に係る業務フロー出力装置300は、図1に示すように、コンピュータ通信網(以下、通信網という)10を介して端末装置101及び端末装置102並びに業務システム200に接続されている。業務フロー出力装置300は、開発中の業務システム200で実行される業務の流れ(つまり、業務フロー)を表す業務フロー図を出力する。
【0016】
通信網10は、インターネットで構成される。通信網10は、LAN(Local Area Network)又は公衆回線網であっても良い。
【0017】
端末装置101及び端末装置102は、例えば、LCD(Liquid Crystal Display)などの表示部と、キーボード及びマウスなどの入力部と、を備えたパーソナル・コンピュータで構成される。端末装置101と端末装置102とは、それぞれ同様の構成を有するため、以下、端末装置102の説明を適宜省略する。
【0018】
業務システム200は、複数台のパーソナル・コンピュータで構成され、通信網10を介して端末装置101及び端末装置102に接続されている。業務システム200は、端末装置101若しくは端末装置102から出力された情報に応じて、例えば、賃貸アパート若しくは賃貸マンション(以下、賃貸物件という)に対する入居者を募集する業務を実行する。
【0019】
業務フロー出力装置300は、図2に示すようなサーバ機で構成され、CPU(Central Processing Unit)300a、ROM(Read Only Memory)300b、RAM(Random Access Memory)300c、ハードディスク300d、メディアコントローラ300e、LANカード300f、ビデオカード300g、LCD300h、キーボード300i、スピーカ300j、及びタッチパッド300kで構成される。
【0020】
CPU300aは、ROM300b又はハードディスク300dに保存されたプログラムに従ってソフトウェア処理を実行することで、業務フロー出力装置300の全体制御を行う。RAM300cは、CPU300aによるプログラムの実行時において、処理対象とされるデータを一時的に記憶する。
【0021】
ハードディスク300dは、各種のデータを保存したテーブルを記憶する。尚、業務フロー出力装置300は、ハードディスク300dの代わりに、フラッシュメモリを備えても良い。
【0022】
メディアコントローラ300eは、フラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、及びブルーレイディスク(Blu-ray Disc)(登録商標)を含む記録媒体から各種のデータ及びプログラムを読み出す。
【0023】
LANカード300fは、通信網10を介して接続する端末装置101及び端末装置102との間でデータを送受信する。キーボード300i及びタッチパッド300kは、ユーザの操作に応じた信号又は情報を入力する。
【0024】
ビデオカード300gは、CPU300aから出力されたデジタル信号に基づいて画像を描画(つまり、レンダリング)すると共に、描画された画像を表す画像信号を出力する。LCD300hは、ビデオカード300gから出力された画像信号に従って画像を表示する。尚、業務フロー出力装置300は、LCD300hの代わりに、PDP(Plasma Display Panel)又はEL(Electroluminescence)ディスプレイを備えても良い。スピーカ300jは、CPU300aから出力された信号に基づいて音声を出力する。
【0025】
業務システム200の開発者は、業務システム200で実行されるプログラムを設計するために、業務の実行状態がどのように遷移するかを定義する。このため、開発者は、業務システム200がプログラムの実行により実現する機能と、当該機能の実行開始時における業務の実行状態(以下、実行前状態という)と、当該機能の実行終了時における業務の実行状態(以下、実行後状態という)と、を定義する状態遷移表を業務フロー出力装置300に作成させる。
【0026】
このため、開発者は、状態遷移表を作成させるための操作を、端末装置101若しくは端末装置102の入力部に対して行う。また、開発者は、業務システム200が実行する機能を表す機能情報と、当該機能の実行前状態を表す情報と、実行後状態を表す情報と、を入力させるための操作を、端末装置101若しくは端末装置102の入力部に対して行う。
【0027】
図2に示したCPU300aが、上記操作に対応した信号であって端末装置101若しくは端末装置102から受信された信号を、LANカード300fから取得すると、図3に示すような、状態遷移表を出力する状態遷移表出力処理を実行する。これにより、CPU300aは、図4に示すような取得部320、生成部330、出力部340、及び保存部345として機能する。また、CPU300aは、ハードディスク300dと協働して情報記憶部310として機能する。
【0028】
状態遷移表出力処理が開始されると、図4に示した取得部320は、図2に示したLANカード300fから、端末装置101若しくは端末装置102から送信された機能情報と実行前情報と実行後情報とを取得する(ステップS01)。
【0029】
次に、図4に示した生成部330は、取得された実行前情報と機能情報と実行後情報とを対応付けることで、図5に示すような状態遷移表を生成する(ステップS02)。
【0030】
この状態遷移表は、業務の実行状態が初期状態の「状態なし」である場合に、インターネット上で非公開のウェブページに、例えば、賃貸物件の最寄り駅、賃料、間取り、専有面積、及び築年数などといった賃貸物件を説明する説明文を登録する機能(以下、「登録機能」という)が実行されると、業務の実行状態は、当該ウェブページの管理者が公開を承認するのを待つ「承認待ち」の状態に遷移することを表す。
【0031】
同様に、この状態遷移表は、業務の実行状態が「承認待ち」である場合に、「登録機能」が実行されると、業務の実行状態は、「承認待ち」のままで遷移しないことを表す。また同様に、この状態遷移表は、業務の実行状態が「承認待ち」である場合に、上記非公開のウェブページに賃貸物件の画像を登録する機能(以下、「画像登録機能」という)が実行されると、業務の実行状態は、「承認待ち」のままで遷移しないことを表す。
【0032】
さらに、この状態遷移表は、業務の実行状態が「承認待ち」である場合に、業務システム200において、非公開のウェブページの公開を承認する機能(以下、「承認機能」という)の実行により公開を承認するアクションが行われると、業務の実行状態が「承認済み」状態に遷移することを表す。これに対して、この状態遷移表は、業務の実行状態が「承認待ち」である場合に、業務システム200において「承認機能」の実行により公開を承認しないアクションが行われると、業務の実行状態が「非承認」状態に遷移することを表す。
【0033】
またさらに、この状態遷移表は、業務の実行状態が「承認済み」若しくは「非承認」である場合に、「登録機能」若しくは「画像登録機能」が実行されると、業務の実行状態が「承認待ち」状態に遷移することを表す。また、この状態遷移表は、業務の実行状態が「承認済み」である場合に、承認された非公開のウェブページをインターネット上に掲載する(つまり、公開する)機能(以下、「Web掲載機能」という)が実行されると、業務の実行状態が「終了」状態に遷移することを表す。
【0034】
図3に示したステップS02の後に、図4に示した出力部340は、生成された状態遷移表を表す情報を、図2に示したLANカード300fへ出力する(ステップS03)。その後、LANカード300fは、端末装置101若しくは端末装置102へ状態遷移表を表す情報を送信し、端末装置101若しくは端末装置102は、送信された情報で表される状態遷移表を表示部に表示する。
【0035】
その後に、図4に示した保存部345は、状態遷移表を表す情報を情報記憶部310へ保存した後に(ステップS04)、状態遷移表出力処理の実行を終了する。
【0036】
状態遷移表が生成されると、業務システム200の開発者は、業務システム200が有する複数の機能を連携して実行するか否かを定める。このため、開発者は、業務システム200が有する第1機能と、第1機能の実行により業務の実行状態が遷移する遷移先と、第1機能の実行により業務の実行状態が遷移先の状態にある場合に実行が許可される第2機能と、を定義するSF(State-based Feature)マトリクスを業務フロー出力装置300に作成させる。このため、開発者は、SFマトリクスを作成させるための操作を、端末装置101若しくは端末装置102の入力部に対して行う。
【0037】
図2に示したCPU300aが、図2のLANカード300fから上記操作に対応した信号を取得すると、図6に示すような、SFマトリクスを出力するSFマトリクス出力処理を実行する。これにより、CPU300aは、図4に示すような取得部320、生成部330、出力部340、保存部345、及び検索部350として機能する。
【0038】
図4に示した生成部330は、SFマトリクス出力処理を開始すると、初期化のためにSFマトリクスに追加された情報を全て削除する(ステップS10)。次に、検索部350は、情報記憶部310に保存された状態遷移表を表す情報を検索する(ステップS11)。その後、生成部330は、検索された状態遷移表を表す情報から実行前情報及び実行後情報を取得し、取得された実行前情報及び実行後情報でそれぞれ表される業務の実行状態の内で、未だに注目されていない実行状態があるか否かを判別する(ステップS12)。
【0039】
このとき、生成部330は、未注目の実行状態があると判別すると(ステップS12;Yes)、未注目の実行状態の1つに注目し、当該実行状態を注目状態とする(ステップS13)。以下、「承認待ち」状態を注目状態とする場合を例に挙げて説明を行う。
【0040】
ステップS13の後に、生成部330は、図5に示した状態遷移表を表す情報から、注目状態「承認待ち」を表す実行前情報に対応した機能情報を検索することで、図7(a)に示すような「登録機能」を表す機能情報、「画像登録機能」を表す機能情報、及び「承認機能」を表す機能情報を取得する(ステップS14)。次に、生成部330は、ステップS14で取得した機能情報を第1機能情報とし、当該第1機能情報で表される機能を第1機能とする(ステップS15)。
【0041】
同様に、生成部330は、注目状態「承認待ち」を表す実行後情報に対応した機能情報を、図5に示した状態遷移表を表す情報から検索することで、図7(b)に示すような「登録機能」を表す機能情報、及び「画像登録機能」を表す機能情報を取得する(ステップS16)。次に、生成部330は、ステップS16で取得した機能情報を第2機能情報とし、当該第2機能情報で表される機能を第2機能とする(ステップS17)。
【0042】
その後、生成部330は、注目状態を表す情報を遷移先情報とする(ステップS18)。第1機能の実行により業務の実行状態が注目状態に遷移するためである。
【0043】
次に、図4に示した出力部340は、第1機能情報、遷移先情報、及び第2機能情報を、図2に示したLANカード300fへ出力する(ステップS19)。その後、LANカード300fは、出力された情報を端末装置101若しくは端末装置102へ送信し、端末装置101若しくは端末装置102は、図8に示すような画面上を表示部へ表示してから、当該送信された情報で表される第1機能、第1機能の実行による状態の遷移先、及び第2機能を当該画面に表示する。
【0044】
次に、開発者は、表示部の表示を視認し、第1機能の実行により業務の実行状態が遷移先の状態にある場合に、業務システム200に対して第2機能の実行を許可するか否かを定める。つまり、開発者は、第1機能と第2機能とを、連携して実行される連携機能として定義するか否かを決定する。
【0045】
具体例として、開発者は、物件の画像を非公開のウェブページに掲載する「画像登録機能」の実行後に業務の実行状態が「承認待ち」状態であれば、ウェブページの公開を承認する「承認機能」の実行を許可すると定める。これに対して、開発者は、物件の説明文を非公開のウェブページに掲載する「登録機能」の実行後に業務の実行状態が「承認待ち」状態であっても、ウェブページの公開を承認する「承認機能」の実行を許可しないと定める。物件の画像が掲載されていないウェブページの閲覧数は、物件の画像が掲載されているウェブページの閲覧数に比べて著しく低いためである。
【0046】
次に、開発者は、端末装置101若しくは端末装置102の入力部を操作することで、定義結果を表す情報(以下、連携定義情報という)を入力させる。その後、端末装置101若しくは端末装置102は、入力された連携定義情報を業務フロー出力装置300へ送信する。
【0047】
図6に示したステップS19の後に、図4に示した取得部320は、図2に示したLANカード300fから連携定義情報を取得する(ステップS20)。次に、生成部330は、取得された連携定義情報で表される定義結果において、連携機能とされた第1機能の後に第2機能を実行する処理の流れ(つまり、処理フロー)を識別する処理フローIDを生成する(ステップS21)。
【0048】
図8に示した具体例では、「画像登録機能」を第1機能とし、第1機能の実行による状態の遷移先を「承認待ち」状態とし、「承認機能」を第2機能とする場合には、当該第1機能と当該第2機能とは連携して実行される連携機能であると定められた。このため、生成部330は、「画像登録機能」の後に「承認機能」を実行する処理フローを識別する処理フローID「7」を生成する。これに対して、図8に示した具体例では、「登録機能」を第1機能とし、遷移先を「承認待ち」状態とし、「承認機能」を第2機能とする場合には、当該第1機能と当該第2機能とは連携して実行されないと定められた。このため、生成部330は、「登録機能」の後に「承認機能」を実行する処理フローを識別する処理フローIDを生成しない。
【0049】
ステップS21の後に、生成部330は、生成した処理フローIDと、当該処理フローに従って実行される第1機能を表す第1機能情報及び第2機能を表す第2機能情報、並びに当該処理フローに従って業務の実行状態が遷移する遷移先を表す遷移先情報と、を対応付けてSFマトリクスへ追加する(ステップS22)。
【0050】
図8に示した具体例では、第1機能である「画像登録機能」と第2機能である「承認機能」とが連携機能であると定められた。このため、生成部330は、図9に示すように、「画像登録機能」を表す第1機能情報と、「承認機能」を表す第2機能情報と、「画像登録機能」の後に「承認機能」を実行する処理フローの処理フローID「7」と、を対応付けてSFマトリクスへ追加する。これに対して、第1機能である「登録機能」と第2機能である「承認機能」とが連携機能でないと定められたため、生成部330は、図9に示すように、「登録機能」を表す第1機能情報と、「承認機能」を表す第2機能情報と、当該第1機能と当該第2機能とが連携機能でないことを表す文字「-」と、を対応付けてSFマトリクスへ追加する。
【0051】
その後、開発者は、連携機能と定めた機能を実行する処理フローを、業務フローを構成する処理フローとしてどの程度優先して出力するかを示す優先度を決定する。その後、開発者は、端末装置101若しくは端末装置102の入力部を操作することで、決定した優先度を表す情報(以下、優先度情報という)を入力させる。その後、端末装置101若しくは端末装置102は、入力された優先度情報を業務フロー出力装置300へ送信する。
【0052】
ステップS22の後に、図4に示した取得部320は、図2に示したLANカード300fから優先度情報を取得する(ステップS23)。その後、保存部345は、取得された優先度情報を、ステップS21で生成された処理フローIDに対応付けて、図10に示すような優先度テーブルへ保存する(ステップS24)。尚、優先度テーブルは、情報記憶部310に記憶されている。その後、ステップS12から上記処理が繰り返される。
【0053】
ステップS12において、図4に示した生成部330が、未注目の実行状態はないと判別すると(ステップS12;No)、図4に示した出力部340は、生成されたSFマトリクスを表す情報を、図2に示したLANカード300fへ出力する(ステップS25)。その後、LANカード300fは、端末装置101若しくは端末装置102へSFマトリクスを表す情報を送信し、端末装置101若しくは端末装置102は、送信された情報で表されるSFマトリクスを表示部に表示する。
【0054】
その後、図4に示した保存部345は、SFマトリクスを表す情報を情報記憶部310へ保存した後に(ステップS26)、SFマトリクス出力処理の実行を終了する。
【0055】
SFマトリクスが生成されると、業務システム200の開発者は、業務システム200が実行するように設計された業務フローをレビューするために、業務フロー図を業務フロー出力装置300に出力させる。このため、開発者は、業務フロー図を出力させるための操作を、端末装置101若しくは端末装置102の入力部に対して行う。
【0056】
図2に示したCPU300aが、図2に示したLANカード300fから上記操作に対応した情報を取得すると、図11に示すような、業務フロー図を出力する業務フロー出力処理を実行する。これにより、CPU300aは、図4に示すような取得部320、生成部330、出力部340、保存部345、及び検索部350として機能する。
【0057】
業務フロー出力処理が開始されると、図4に示した取得部320は、初期化処理を実行する(ステップS31)。具体的には、取得部320は、出力される業務フロー図に追加された情報を全て削除する。次に、取得部320は、業務フロー出力処理において注目された機能を表す情報が追加される注目済機能リスト及び注目されていない機能を表す情報が追加される未注目機能リストから全ての情報を削除する。また、取得部320は、情報記憶部310に予め記憶されている業務の実行状態の初期状態「状態なし」を表す情報(以下、初期状態情報という)と、業務の実行を開始する機能「開始機能」を表す情報(以下、初期機能情報という)と、を取得する。
【0058】
次に、検索部350は、図9に示したSFマトリクスを表す情報から、「状態なし」を表す初期状態情報と、「開始機能」を表す初期機能情報と、に対応付けられた「登録機能」を表す第2機能情報と、「開始機能」の後に「登録機能」を実行する処理フローの処理フローID「1」と、を検索する。次に、検索部350は、図10の優先度テーブルから、処理フローID「1」に対応付けられた優先度「A」を表す優先度情報を検索する(ステップS32)。
【0059】
次に、図4に示した生成部330は、図12に示すような処理フローID「1」で識別される処理フローを表す記号と、当該処理フローの優先度を表す文字列などを業務フロー図に追加する。具体的には、生成部330は、業務の開始を表す記号S、「登録機能」を表す記号FR、記号Sから記号FRへ向かう矢印、例えば、当該矢印の左右といった当該矢印に関連した位置に表示される処理フローID「1」を表す文字、実行状態の遷移先を表す文字列「状態なし」、及び優先度を表す文字「A」を業務フロー図に追加する(ステップS33)。
【0060】
その後、検索部350は、ステップS32で検索した「登録機能」を表す第2機能情報を、未注目機能リストに追加する(ステップS34)。
【0061】
次に、取得部320は、未注目機能リストに「登録機能」を表す第2機能情報が存在すると判別する(ステップS35;Yes)。その後、取得部320は、未注目機能リスト内の第2機能情報の1つを取得し、取得した情報で表される機能「登録機能」に注目する。このため、取得部320は、当該情報を注目機能情報とし、当該機能を注目機能とする(ステップS36)。
【0062】
その後、検索部350は、図9に示したSFマトリクスを表す情報から、注目機能「登録機能」を表す注目機能情報と同じ第1機能情報に対応付けられた「承認待ち」を表す遷移先情報、「登録機能」を表す第2機能情報、及び処理フローID「2」と、「承認待ち」を表す遷移先情報、「画像登録機能」を表す第2機能情報、及び処理フローID「3」と、を検索する。その後、検索部350は、図10に示した優先度テーブルから、処理フローID「2」に対応付けられた優先度「B」を表す優先度情報と、処理フローID「3」に対応付けられた優先度「A」を表す優先度情報と、を検索する(ステップS37)。
【0063】
次に、生成部330は、ステップS33と同様に、処理フローID「2」で識別される処理フローを表す記号及び当該処理フローの優先度を表す文字列と、処理フローID「3」で識別される処理フローを表す記号及び当該処理フローの優先度を表す文字列と、を業務フロー図に追加する(ステップS38)。具体的には、生成部330は、図12に示すように、「登録機能」を表す記号FRから記号FRへ戻る矢印、当該矢印に関連した位置に表示される処理フローID「2」を表す文字、実行状態の遷移先を表す文字列「承認待ち」、及び優先度を表す文字「B」を業務フロー図に追加する。また、生成部330は、「登録機能」を表す記号FRから「画像登録機能」を表す記号FPへ向かう矢印、当該矢印に関連した位置に表示される処理フローID「3」を表す文字、実行状態の遷移先を表す文字列「承認待ち」、及び優先度を表す文字「A」を業務フロー図に追加する。
【0064】
その後、生成部330は、「登録機能」を表す情報を未注目機能リストから削除し、「登録機能」を表す情報を注目済機能リストに追加する。次に、生成部330は、ステップS37で検索された「登録機能」を表す第2機能情報が注目済機能リストに追加されているが、「画像登録機能」を表す第2機能情報が注目済機能リストに追加されていないと判別し、「画像登録機能」を表す第2機能情報を未注目機能リストに追加する(ステップS39)。その後、ステップS35に戻り、未注目機能リストから情報が無くなるまで、ステップS35からステップS39の処理が繰り返される。
【0065】
ステップS35において、取得部320は、未注目機能リストに第2機能情報が存在しないと判別すると(ステップS35;No)、情報記憶部310に予め記憶されている業務の実行状態の「終了状態」を表す情報(以下、終了状態情報という)と、業務の実行を終了する機能「終了機能」を表す情報(以下、終了機能情報という)と、を取得する。
【0066】
次に、検索部350は、図9に示したSFマトリクスを表す情報から、「終了機能」を表す終了機能情報と「終了状態」を表す終了状態情報とに対応付けられた「Web登録機能」を表す第1機能情報と、「終了機能」の実行により処理を終了する処理フローのID「13」と、を検索する。次に、検索部350は、図10の優先度テーブルから、処理フローID「13」に対応付けられた優先度「A」を表す優先度情報を検索する(ステップS40)。
【0067】
次に、図4に示した生成部330は、ステップS33と同様に、処理フローID「13」で識別される処理フローを表す記号と、当該処理フローの優先度を表す文字列などを業務フロー図に追加する。具体的には、生成部330は、業務の終了を表す記号E、「Web登録機能」を表す記号FW、記号FWから記号Eへ向かう矢印、当該矢印に関連した位置に表示される処理フローID「13」を表す文字、実行状態の遷移先を表す文字列「終了状態」、及び優先度を表す文字「A」を業務フロー図に追加する(ステップS41)。
【0068】
その後、図4に示した保存部345は、生成された業務フロー図を表す情報を情報記憶部310へ保存する(ステップS42)。その後、出力部340は、業務フロー図を表す情報を、図2に示したLANカード300fへ出力した後に(ステップS43)、業務フロー出力処理の実行を終了する。尚、LANカード300fは、端末装置101若しくは端末装置102へ業務フロー図を表す情報を送信し、端末装置101若しくは端末装置102は、送信された情報で表される業務フロー図を表示部に表示する。
【0069】
業務フロー図が出力されると、開発者は、出力された業務フロー図を用いて業務フローのレビューを行う。また、業務システム200が有する機能を実現するプログラムが作成されると、開発者は、当該プログラムの結合テストを行うために、業務フロー図に基づいたテストケースを業務フロー出力装置300に生成させる。
【0070】
ここで、業務システム200が有する機能が増加すると、業務フローを構成する処理フローが増加する。このため、業務フローを構成する全ての処理フローを掲載した業務フロー図(以下、全体業務フロー図という)を用いるのでは、開発者は、効率的に業務フローをレビューできない。同様の理由から、全体業務フロー図に掲載された業務フローに基づいて生成されたテストケースを用いるのでは、開発者は、効率的にプログラムの結合テストをすることができない。
【0071】
そこで、開発者は、レビュー等が必要な処理フローとして指定されたフローからなる業務フロー(以下、指定業務フローという)を掲載した図(以下、指定業務フロー図という)と、指定業務フローに基づいて生成されたテストケースを表す情報とを、業務フロー出力装置300に出力させる。
【0072】
このため、開発者は、端末装置101若しくは端末装置102の入力部を操作することで、指定業務フロー図の名称と、当該指定業務フロー図に表される業務フローを構成する処理フローの優先度と、が対応付けられた情報(以下、業務フロー図定義情報という)を複数入力させる。
【0073】
図2に示したCPU300aは、端末装置101若しくは端末装置102から送信された業務フロー図定義情報を、図2のLANカード300fから取得する。CPU300aは、業務フロー図定義情報を取得すると、図13に示すような業務フロー図定義テーブルに業務フロー図定義情報を保存する。尚、業務フロー図定義テーブルは、図4に示した情報記憶部310が記憶している。
【0074】
その後、開発者は、ユーザが指定する指定業務フローの名称を表す情報(以下、指定業務フロー名情報という)を入力させるために、端末装置101若しくは端末装置102の入力部を操作する。以下、指定業務フローの名称を表す情報として、「フロー図(2)」を表す情報が入力された場合を例に挙げて説明を行う。
【0075】
図2に示したCPU300aが、図2に示したLANカード300fから、上記操作に対応した指定業務フロー名情報を取得すると、図14に示すような、指定業務フロー図などを出力する指定業務フロー処理を実行する。これにより、CPU300aは、図4に示すような取得部320、生成部330、出力部340、保存部345、及び検索部350として機能する。
【0076】
指定業務フロー処理が開始されると、図4に示した取得部320は、「フロー図(2)」を表す指定業務フロー名情報を、LANカード300fから取得する(ステップS51)。次に、検索部350は、図13に示した業務フロー図定義テーブルから、「フロー図(2)」を表す指定業務フロー名情報に対応付けられた優先度「A」を表す優先度情報及び「B」を表す優先度情報を検索する(ステップS52)。
【0077】
次に、取得部320は、図11に示したステップS43で保存された業務フロー図を表す情報(以下、全体業務フロー情報という)を情報記憶部310から取得する(ステップS53)。
【0078】
その後、図4に示した生成部330は、ステップS52で検索された優先度情報で表される優先度(以下、検索優先度という)「A」及び「B」の双方と異なる優先度「C」の処理フローを表す記号並びに当該記号に関連付けられた文字及び文字列を削除する(ステップS54)。具体的には、生成部330は、図12に示した全体業務フロー図から、優先度「C」の処理フローを識別する処理フローID「6」、「9」、及び「12」を特定する。次に、生成部330は、処理フローID「6」、「9」、及び「12」に関連付けられた矢印と、当該処理フローIDを表す文字若しくは文字列と、遷移先を表す文字列と、及び優先度を表す文字と、を全体業務フロー図から削除することで、図15に示すような指定業務フローを生成する。
【0079】
その後、図4に示した保存部345は、生成された指定業務フロー図を表す情報を情報記憶部310へ保存する(ステップS55)。次に、出力部340は、指定業務フロー図を表す情報を、図2に示したLANカード300fへ出力する(ステップS56)。尚、LANカード300fは、端末装置101若しくは端末装置102へ指定業務フロー図を表す情報を送信し、端末装置101若しくは端末装置102は、送信された情報で表される指定業務フロー図を表示部に表示する。
【0080】
開発者は、表示された指定業務フロー図を視認すると、当該指定業務フロー図に基づいたテストケースを業務フロー出力装置300に出力させるか否かを決定する。その後、開発者は、決定結果を表す情報を入力させるために、端末装置101若しくは端末装置102の入力部を操作する。
【0081】
その後、取得部320は、図2に示したLANカード300fから、決定結果を表す情報を取得し、取得した情報に基づいてテストケースを出力させるか否かを判別する(ステップS57)。このとき、取得部320は、テストケースを出力させないと判別すると(ステップS57;No)、指定業務フロー出力処理の実行を終了する。
【0082】
これに対して、取得部320がテストケースを出力させると判別すると(ステップS57;Yes)、生成部330は、出力された指定業務フローに従って各機能をそれぞれ実現する複数のプログラムの結合試験に用いられるテストケースを生成する(ステップS58)。尚、生成部330は、公知のいかなる方法を用いてテストケースを作成しても良い。
【0083】
その後、保存部345は、生成されたテストケースを表す情報を情報記憶部310へ保存する(ステップS59)。次に、出力部340は、テストケースを表す情報を、図2に示したLANカード300fへ出力した後に(ステップS60)、指定業務フロー出力処理の実行を終了する。尚、LANカード300fは、端末装置101若しくは端末装置102へテストケースを表す情報を送信し、端末装置101若しくは端末装置102は、送信された情報で表されるテストケースを表示部に表示する。
【0084】
これらの構成によれば、業務システム200が、第1機能を実行した後に実行される第2機能を、第2機能の実行前における業務の実行状態だけでなく、当該状態に業務の実行状態を遷移させるために実行される第1機能にも基づいて特定する。このため、業務システム200による機能の実行順序及び業務の実行状態の遷移順序によって表される業務フローを従来よりも正確に特定できる(つまり、網羅できる)ので、従来よりも正確な業務フロー図を出力できる。
【0085】
またこれらの構成によれば、指定された優先度の処理フローからなる業務フローを出力する。このため、業務システム200が有する機能の増加に伴い業務フローを構成する処理フローの数が増加しても、開発者は、指定された優先度の処理フローからなる指定業務フローを用いて業務システム200で実行される業務の流れを効率的かつ容易に確認若しくはレビューできる。
【0086】
図13に示した業務フロー図定義テーブルにおいて、優先度「A」を表す情報は、指定業務フローの名称を表す全ての情報と対応付けられている。このため、優先度「A」の処理フローは、優先度「B」の処理フロー及び優先度「C」の処理フローよりも、業務フローを構成する処理フローとして優先的に出力される。このため、優先度「A」は、優先度「B」及び「C」よりも高い。
【0087】
本実施形態では、処理フローの優先度は、当該処理フローを、業務フローを構成する処理フローとしてどの程度優先して出力するかを示すとして説明したが、この処理フローの優先度は、当該処理フローに従って業務が実行される頻度がどの程度高いかをさらに示すとしても良い。つまり、開発者は、処理フローの優先度を決定する場合に、業務の実行において他の処理フローよりも高い頻度で実行される処理フロー程優先度を高く決定しても良い。
【0088】
この構成によれば、業務システム200が有する機能の増加に伴い業務フローを構成する処理フローの数が増加しても、開発者は、指定された実行頻度の処理フローからなる指定業務フローを用いて業務システム200で実行される業務の流れを効率的かつ容易に確認若しくはレビューできる。すなわち、開発者は、実行頻度が他の処理フローより高い処理フローからなる指定業務フローを確認した後に、例えば、例外的な処理フローなどの実行頻度が低い処理フローを含む指定業務フローを確認できるので、業務システム200で実行される業務の流れを効率的かつ容易に確認若しくはレビューできる。
【0089】
複数の機能をそれぞれ実現する複数のプログラムの結合テストに用いられるテストケースは、複数の機能を連携して実行する順序を表す指定業務フローに基づいて生成される。このため、処理フローの優先度は、当該処理フローに従って実行される連携機能を実現する複数のプログラムの結合テストをどの程度優先して行う必要があるかをさらに示すとしても良い。つまり、処理フローの優先度が高い場合には、当該処理フローに従って実行される連携機能を実現する複数のプログラムの結合テストを、他の処理フローに従って実行される連携機能を実現する複数のプログラムの結合テストよりも優先して行う必要があるため、テストケースの作成に用いられる業務フローに対して、当該処理フローを当該他の処理フローよりも優先して追加するとして良い。
【0090】
これらの構成によれば、指定された優先度の処理フローで実行される機能を試験するためのテストケースを、当該処理フローからなる業務フローから生成する。このため、業務システム200が有する機能の増加に伴い業務フローを構成する処理フローの数が増加しても、開発者は、指定された優先度の処理フローに従って実行される連携機能を実現する複数のプログラムの結合試験を効率的に実行できる。
【0091】
また、開発者は、処理フローの優先度を、当該処理フローに従って実行されるプログラムのネストが深い程高い優先度としたり、ステップ数が多い程高い優先度としても良い。プログラムのネストが深い程、プログラムにバグが存在する可能性が高くなるためである。同様に、プログラムのステップ数が多い程、プログラムにバグが存在する可能性が高くなるためである。
【0092】
また、本実施形態では、処理フローの優先度は、開発者が決定するとして説明したが、これに限定される訳ではなく、業務フロー出力装置300が処理フローの優先度を決定する構成を採用できる。この構成において、図4に示した業務フロー出力装置300の情報記憶部310は、処理フローを識別する処理フローIDと、当該処理フローに従って実行される機能を実現するプログラムのソースコードを表す情報と、を対応付けて記憶している。また、業務フロー出力装置300の取得部320は、処理フローIDに対応付けられたソースコードを表す情報を取得し、取得した情報で表されるソースコードからステップ数及びネスト数を計数する。次に、取得部320は、計数したステップ数及びネスト数に応じて当該処理フローの優先度を算出するとしても良い。
【0093】
これらの構成によれば、処理フローに従って実行される機能を実現するプログラムのソースコードに基づいて的確に優先度を決定できる。
【0094】
本実施形態において、業務フロー出力装置300は、全体業務フローを生成した後に、指定された優先度の処理フローを全体業務フローから削除することで、指定業務フローを生成するとして説明した。しかし、これに限定される訳ではなく、例えば、業務フロー出力装置300は、指定された優先度の処理フローを用いて直接的に指定業務フローを生成する構成を採用できる。この構成において、業務フロー出力装置300は、図11に示したステップS37を実行する前に、図14に示したステップS51及びステップS52を実行することで、指定された優先度を表す優先度情報を検索する。その後、業務フロー出力装置300は、ステップS37において、図9に示したSFマトリクスを表す情報から、注目機能を表す注目機能情報と同じ第1機能情報と、指定された優先度を表す優先度情報と、に対応付けられた遷移先情報、第2機能情報、及び処理フローIDを検索する。次に、業務フロー出力装置300は、検索された処理フローIDで識別される処理フローを表す文字及び記号を業務フロー図に追加するステップS38の処理を実行することで、指定された優先度の処理フローからなる指定業務フローを直接生成しても良い。
【0095】
尚、業務システム200が実行する業務は、賃貸マンションなどの募集業務に限定される訳ではなく、繰り返し実行される作業であればどのような業務でも構わない。
【0096】
また、業務システム200は、複数台のパーソナル・コンピュータで構成されるとして説明したが、これに限定される訳ではなく、一台のパーソナル・コンピュータで構成されても良い。
【0097】
業務フロー出力装置300は、図3に示した状態遷移表出力処理の実行により状態遷移表を生成し、状態遷移表を表す情報を出力及び保存すると説明したが、これに限定される訳ではなく、状態遷移図を生成し、状態遷移図を表す情報を出力及び保存しても良い。
【0098】
本実施形態において、図4に示した取得部320は、端末装置101若しくは端末装置102から受信した各種信号若しくは情報を、図2に示したLANカード300fから取得し、出力部340は、各種情報をLANカード300fへ出力するとして説明した。しかし、これに限定される訳ではなく、例えば、取得部320は、図2に示したキーボード300i若しくはタッチパッド300kから各種信号若しくは情報を取得し、出力部340は、各種情報をビデオカード300gへ出力する構成を採用できる。
【0099】
本実施形態において、業務フロー出力装置300が出力するテストケースは、ユースケーステストで用いられるテストケースであるが、これに限定される訳ではない。また、本実施形態において、業務フロー出力装置300は、指定業務フロー図に基づいてテストケースを生成するとして説明したが、これに限定される訳ではなく、例えば、ユーザが、端末装置101に表示された指定業務フロー図を視認しながらテストケースを生成するとしても良い。
【0100】
本実施形態及び本実施形態の変形例は、互いにそれぞれ組み合わせることができる。本実施形態及び本実施形態の変形例のいずれかに係る機能を実現するための構成を備えた業務フロー出力装置300として提供できることはもとより、複数の装置で構成されるシステムであって、本実施形態及び本実施形態の変形例のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
【0101】
本実施形態及び本実施形態の変形例のいずれかに係る機能を実現するための構成を予め備えた業務フロー出力装置300として提供できることはもとより、プログラムの適用により、既存の業務フロー出力装置を本実施形態及び本実施形態の変形例のいずれかに係る業務フロー出力装置300として機能させることもできる。すなわち、本実施形態及び本実施形態の変形例のいずれかで例示した業務フロー出力装置300による各機能構成を実現させるための業務フロー出力プログラムを、既存の業務フロー出力装置を制御するコンピュータ(CPUなど)で実行きるように適用することで、本実施形態及び本実施形態の変形例のいずれかに係る業務フロー出力装置300として機能させることができる。
【0102】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM、又はDVD−ROMなどの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。また、本発明に係る業務フロー出力方法は、本発明に係る業務フロー出力装置300を用いて実施できる。
【0103】
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【0104】
10:通信網
101、102:端末装置
200:業務システム
300:業務フロー出力装置
300a:CPU
300b:ROM
300c:RAM
300d:ハードディスク
300e:メディアコントローラ
300f:LANカード
300g:ビデオカード
300h:LCD
300i:キーボード
300j:スピーカ
300k:タッチパッド
310:情報記憶部
320:取得部
330:生成部
340:出力部
345:保存部
350:検索部
【特許請求の範囲】
【請求項1】
業務を実行する業務システムが有する第1機能を表す第1機能情報と、前記第1機能の実行により当該業務の実行状態が遷移する遷移先を表す遷移先情報と、前記第1機能の実行により前記業務の実行状態が前記遷移先の状態に遷移した場合に実行が許可される第2機能を表す第2機能情報と、が対応付けられた情報を記憶する情報記憶手段と、
前記業務システムが実行する機能を表す機能情報を取得する取得手段と、
前記取得された機能情報と同じ第1機能情報に対応付けられた前記遷移先情報と前記第2機能情報とを検索する検索手段と、
前記取得された機能情報で表される機能を前記業務システムが実行してから、前記検索された遷移先情報で表される状態へ前記業務の実行状態が遷移した後に、前記検索された第2機能情報で表される機能を前記業務システムが実行する処理フローを含む業務フローを出力する出力手段と、を備える、
ことを特徴とする業務フロー出力装置。
【請求項2】
前記情報記憶手段は、前記業務システムが前記第1機能情報で表される機能を実行した後に前記第2機能情報で表される機能を実行する処理フローをどの程度優先して出力するかを示す優先度を表す情報が、前記第1機能情報と前記第2機能情報とにさらに対応付けられた情報を記憶し、
前記取得手段は、前記出力手段から出力される業務フローに含まれる処理フローの優先度を指定する情報をさらに取得し、
前記検索手段は、前記取得された情報で指定された優先度を表す情報に対応付けられた前記第1機能情報と前記第2機能情報とを前記情報記憶手段から検索し、
前記出力手段は、前記検索された第1機能情報で表される機能を前記業務システムが実行した後に、前記検索された第2機能情報で表される機能を実行する処理フローからなる業務フローを出力する、
ことを特徴とする請求項1に記載の業務フロー出力装置。
【請求項3】
前記出力された業務フローに従って実行される第1機能を実現するプログラムと第2機能を実現するプログラムとの結合試験に用いられるテストケースを生成する生成手段をさらに備え、
前記優先度は、当該優先度を表す情報に対応付けられた前記第1機能情報で表される第1機能を実現するプログラムと、前記第2機能情報で表される第2機能を実現するプログラムと、の結合試験をどの程度優先して行う必要があるかを表す、
ことを特徴とする請求項2に記載の業務フロー出力装置。
【請求項4】
コンピュータを、
業務を実行する業務システムが有する第1機能を表す第1機能情報と、前記第1機能の実行により当該業務の実行状態が遷移する遷移先を表す遷移先情報と、前記第1機能の実行により前記業務の実行状態が前記遷移先の状態に遷移した場合に実行が許可される第2機能を表す第2機能情報と、が対応付けられた情報を記憶する情報記憶手段、
前記業務システムが実行する機能を表す機能情報を取得する取得手段、
前記取得された機能情報と同じ第1機能情報に対応付けられた前記遷移先情報と前記第2機能情報とを検索する検索手段、
前記取得された機能情報で表される機能を前記業務システムが実行してから、前記検索された遷移先情報で表される状態へ前記業務の実行状態が遷移した後に、前記検索された第2機能情報で表される機能を前記業務システムが実行する処理フローを含む業務フローを出力する出力手段、として機能させる、
ことを特徴とする業務フロー出力プログラム。
【請求項5】
業務を実行する業務システムが実行する機能を表す機能情報を取得する取得ステップと、
前記業務システムが有する第1機能を表す第1機能情報と、前記第1機能の実行により当該業務の実行状態が遷移する遷移先を表す遷移先情報と、前記第1機能の実行により前記業務の実行状態が前記遷移先の状態に遷移した場合に実行が許可される第2機能を表す第2機能情報と、が対応付けられた情報を記憶する情報記憶手段から、前記取得された機能情報と同じ第1機能情報に対応付けられた前記遷移先情報と前記第2機能情報とを検索する検索ステップと、
前記取得された機能情報で表される機能を前記業務システムが実行してから、前記検索された遷移先情報で表される状態へ前記業務の実行状態が遷移した後に、前記検索された第2機能情報で表される機能を前記業務システムが実行する処理フローを含む業務フローを出力する出力ステップと、を有する、
ことを特徴とする業務フロー出力方法。
【請求項1】
業務を実行する業務システムが有する第1機能を表す第1機能情報と、前記第1機能の実行により当該業務の実行状態が遷移する遷移先を表す遷移先情報と、前記第1機能の実行により前記業務の実行状態が前記遷移先の状態に遷移した場合に実行が許可される第2機能を表す第2機能情報と、が対応付けられた情報を記憶する情報記憶手段と、
前記業務システムが実行する機能を表す機能情報を取得する取得手段と、
前記取得された機能情報と同じ第1機能情報に対応付けられた前記遷移先情報と前記第2機能情報とを検索する検索手段と、
前記取得された機能情報で表される機能を前記業務システムが実行してから、前記検索された遷移先情報で表される状態へ前記業務の実行状態が遷移した後に、前記検索された第2機能情報で表される機能を前記業務システムが実行する処理フローを含む業務フローを出力する出力手段と、を備える、
ことを特徴とする業務フロー出力装置。
【請求項2】
前記情報記憶手段は、前記業務システムが前記第1機能情報で表される機能を実行した後に前記第2機能情報で表される機能を実行する処理フローをどの程度優先して出力するかを示す優先度を表す情報が、前記第1機能情報と前記第2機能情報とにさらに対応付けられた情報を記憶し、
前記取得手段は、前記出力手段から出力される業務フローに含まれる処理フローの優先度を指定する情報をさらに取得し、
前記検索手段は、前記取得された情報で指定された優先度を表す情報に対応付けられた前記第1機能情報と前記第2機能情報とを前記情報記憶手段から検索し、
前記出力手段は、前記検索された第1機能情報で表される機能を前記業務システムが実行した後に、前記検索された第2機能情報で表される機能を実行する処理フローからなる業務フローを出力する、
ことを特徴とする請求項1に記載の業務フロー出力装置。
【請求項3】
前記出力された業務フローに従って実行される第1機能を実現するプログラムと第2機能を実現するプログラムとの結合試験に用いられるテストケースを生成する生成手段をさらに備え、
前記優先度は、当該優先度を表す情報に対応付けられた前記第1機能情報で表される第1機能を実現するプログラムと、前記第2機能情報で表される第2機能を実現するプログラムと、の結合試験をどの程度優先して行う必要があるかを表す、
ことを特徴とする請求項2に記載の業務フロー出力装置。
【請求項4】
コンピュータを、
業務を実行する業務システムが有する第1機能を表す第1機能情報と、前記第1機能の実行により当該業務の実行状態が遷移する遷移先を表す遷移先情報と、前記第1機能の実行により前記業務の実行状態が前記遷移先の状態に遷移した場合に実行が許可される第2機能を表す第2機能情報と、が対応付けられた情報を記憶する情報記憶手段、
前記業務システムが実行する機能を表す機能情報を取得する取得手段、
前記取得された機能情報と同じ第1機能情報に対応付けられた前記遷移先情報と前記第2機能情報とを検索する検索手段、
前記取得された機能情報で表される機能を前記業務システムが実行してから、前記検索された遷移先情報で表される状態へ前記業務の実行状態が遷移した後に、前記検索された第2機能情報で表される機能を前記業務システムが実行する処理フローを含む業務フローを出力する出力手段、として機能させる、
ことを特徴とする業務フロー出力プログラム。
【請求項5】
業務を実行する業務システムが実行する機能を表す機能情報を取得する取得ステップと、
前記業務システムが有する第1機能を表す第1機能情報と、前記第1機能の実行により当該業務の実行状態が遷移する遷移先を表す遷移先情報と、前記第1機能の実行により前記業務の実行状態が前記遷移先の状態に遷移した場合に実行が許可される第2機能を表す第2機能情報と、が対応付けられた情報を記憶する情報記憶手段から、前記取得された機能情報と同じ第1機能情報に対応付けられた前記遷移先情報と前記第2機能情報とを検索する検索ステップと、
前記取得された機能情報で表される機能を前記業務システムが実行してから、前記検索された遷移先情報で表される状態へ前記業務の実行状態が遷移した後に、前記検索された第2機能情報で表される機能を前記業務システムが実行する処理フローを含む業務フローを出力する出力ステップと、を有する、
ことを特徴とする業務フロー出力方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2013−45301(P2013−45301A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−183010(P2011−183010)
【出願日】平成23年8月24日(2011.8.24)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願日】平成23年8月24日(2011.8.24)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】
[ Back to top ]