<実施の形態1>
図1は、本発明の実施の形態1に係るレーンフロー図生成装置を実現するハードウェアの構成を示すブロック図である。PC(パーソナルコンピュータ)1は、演算処理装置としてCPU5を、記憶装置としてメモリ6及びハードディスク7を有する。PC1に、表示装置としてディスプレイ2を接続し、入力装置として、キーボード3およびポインティングデバイス4を接続することで、レーンフロー図生成装置を実現する。なお、表示装置はディスプレイ2に、入力装置はキーボード3やポインティングデバイス4に、記憶装置はメモリ6やハードディスク7に、限定されるものではない。
図2は、本実施の形態に係るレーンフロー図生成装置を示す構成図である。本生成装置は、組織構成情報を保管する組織構成情報保管手段11、組織構成情報保管手段11を読み込み、表示対象組織を提示し入力を受け付け、選択された組織を管理する組織選択手段12、タスクフローの各タスクとその連結情報や担当組織情報とを保管するタスクフロー情報保管手段13、タスクフロー情報保管手段13を読み込み、タスクフローを提示し入力を受け付け、選択されたタスクフロー部分情報を管理するタスクフロー部分選択手段14、組織選択手段12で選択された組織情報とタスクフロー部分選択手段14で選択されたタスクフロー部分情報とからレーンレイアウトを算出するレーンレイアウト算出手段15、レーンレイアウト算出手段15で算出されたレーンレイアウト情報とタスクフロー部分選択手段14で選択されたタスクフロー部分情報とからレーンフロー図を生成するレーンフロー生成手段16、組織選択手段12とタスクフロー部分選択手段14とレーンフロー生成手段16との表示出力を表示する表示手段17、及び組織選択手段12とタスクフロー部分選択手段14とに選択情報を入力する入力手段18からなる。
組織構成情報保管手段11、及びタスクフロー情報保管手段13は、ハードディスク7上に搭載されている。組織選択手段12、タスクフロー部分選択手段14、レーンレイアウト算出手段15、及びレーンフロー生成手段16は、ハードディスク7上に搭載されており、CPU5によりメモリ6上に展開され実行される。表示手段17は、ディスプレイ2に相当し、入力手段18は、キーボード3、及びポインティングデバイス4に相当する。
なお、組織構成情報保管手段11に保管されている組織構成情報は、レーンフロー図において表示対象となる組織に関する情報(組織名等)を含んで構成されている。
また、図2においては、レーンレイアウト算出手段15がレーンフロー生成手段16とは別に構成されている場合が示されているが、これに限らず、あるいは、レーンレイアウト算出手段15は、レーンフロー生成手段16内に含まれるように構成されていてもよい。
本実施の形態においては、レーンフロー図生成の例として資材発注処理を用いて説明する。
まず、レーンフロー図生成装置外部からユーザが行うユーザ処理についてここで示す。
ユーザは、ディスプレイ2上に木構造形式の組織図として表示される組織構成情報から、レーンフロー図として表示したい組織を注目する順番に選択することにより入力する。
図3は、組織構成情報を木構造形式の組織図としてディスプレイ2上に表示した例である。表示画面48の中に、組織図を表示する組織図表示エリア47と選択処理を完了するOKボタン49と選択中の状態を解除するためのCANCELボタン50とを持つ。組織の選択は、組織図表示エリア47内に表示されている組織図の各組織(A電機41、B事業所42、本社43、総務部44、資材部45、及び経理部46)を、キーボード3またはポインティングデバイス4を用いて指定することで行われる。選択された組織は、色付きで表示される。図3は、B事業所42、資材部45、経理部46が選択されていることを表している。なお、ここでは、最初の組織としてB事業所42が選択され、二番目の組織として資材部45が選択され、三番目の組織として経理部46が選択されたものとする。選択処理を途中でやり直したい場合は、CANCELボタン50を押下することで、最初からやり直すことができる。OKボタン49を押下することで、選択処理を完了することができる。
次に、ディスプレイ2上に表示されるタスクフロー情報から、レーンフロー図として表示したい部分を選択し入力する。図4は、タスクフロー情報をディスプレイ2上に表示した例である。表示画面37の中に、タスクフロー図を表示するフロー表示エリア36と選択処理を完了するOKボタン38と選択中の状態を解除するためのCANCELボタン39とを持つ。タスクフローの部分の選択は、フロー表示エリア36内に表示されているタスクフロー図の各タスク(資材発注タスク31、外部発注タスク32、決済タスク33、不能通知タスク34、及び結果受理タスク35)を、キーボード3またはポインティングデバイス4を用いて指定することで行われる。ユーザは、あるタスクを選択し、次に他のあるタスクを選択することで、二つの選択タスク間の全タスクを指定することができる。この処理を繰り返すことで、目的のタスクフローの部分を選択する。選択をやり直したい場合は、CANCELボタン39を押下することで選択を取り消すことができる。目的のタスクフロー部分を選択した時点で、OKボタン38を押下することで選択は完了する。
図4は、最初の選択タスクとして資材発注タスク31が選択され、二番目の選択タスクとして決済タスク33が選択され、三番目の選択タスクとして結果受理タスク35が選択され、OKボタン38が押下された結果、タスクフローの部分としては、”資材発注→外部発注→決済→結果受理”という一連のタスク列が選択された状態を表している(なお、外部発注タスク32については、資材発注タスク31と決済タスク33とが選択された時点で自動的に選択されることになる)。
ここで、二番目の選択タスクとして不能通知タスク34が選択された場合は、”資材発注→外部発注→不能通知→結果受理”という処理が指定される。
以上の入力を与えることにより、レーンフロー図生成装置はレーンフロー図を生成し、ユーザはディスプレイ2上に表示されるレーンフロー図を確認することが可能となる。図5に、生成されたレーンフロー図を示す。
図5のレーンフロー図は、複数個の組織(B事業所42、資材部45、および経理部46)がそれぞれ複数個のタスク(資材発注タスク31、外部発注タスク32、決済タスク33、および結果受理タスク35)を行うフローを表している。
また、図5において、レーンレイアウト(組織を配置させた上部)の各組織は、選択された順序に基づき配置されている。すなわち、レーンレイアウトにおいては、上述した組織の選択順位に基づき、B事業所42、資材部45、および経理部46がこの順に配置されている。また、レーンフロー(タスクを配置させた下部)においては、指定されたタスク列に含まれる各タスクは、担当組織に対応するレーンに配置されている。すなわち、資材発注タスク31および結果受理タスク35はB事業所42のレーンに、外部発注タスク32は資材部45のレーンに、決済タスク33は経理部46のレーンに、それぞれ配置されている。
また、図5におけるレーンレイアウトは、各組織どうしの階層関係(木構造)に基づき、入れ子表示を用いて配置されている。入れ子表示とは、組織間の上下関係をレーンレイアウトに表現する方法である。例えば、図3によると資材部45と経理部46とはB事業所42に属しているので、この二つの部署の組織名の文字列とそれを囲む長方形とは、その上位組織であるB事業所42が上部を覆う形で表示する。これにより、組織間の上下関係を保持したまま、組織間の関連を把握することができる。
次に、図6に示すフローチャートを用いて、レーンフロー図生成装置内部における内部処理を説明する。なお、図6に示される各工程は、レーンフロー図生成装置内部において、所定のプログラムをPC1(CPU5)に実行させることにより実現される。
まず、ステップST1において、組織選択手段12は、組織選択処理を行い、選択組織情報をレーンフロー生成手段16に渡す(ステップST1は、本発明に係る組織選択工程として機能する)。
次に、ステップST2において、タスクフロー部分選択手段14は、タスクフロー部分選択処理を行い、タスクフロー部分情報をレーンフロー生成手段16に渡す。
次に、ステップST3において、レーンフロー生成手段16は、これらの入力を受け、レーンフロー生成処理を行い、生成されたレーンフロー図を出力する。
以下では、図6の各処理について詳細を述べる。
<ステップST1.組織選択処理>
図7は、ステップST1の組織選択処理の手順を示すフローチャートである。
まず、ステップST11において、組織選択手段12は、ハードディスク7上の組織構成情報保管手段11から表示対象組織の組織構成情報を取得する。組織構成情報は、図8のような表形式で表現される情報であり、組織ID、組織名、及び上位組織IDを持つ。
図8は、図3に対応しており、例えば、組織ID=2である総務部44、組織ID=3である資材部45、及び組織ID=4である経理部46の上位には、組織ID=1であるB事業所42が位置している。
ここでは、組織構成情報保管手段11は、組織構成情報を表形式で保管しているが、表形式以外の形式で保管してもよい。例えば、XMLを用いて木構造を記述した構造化データでもよい。
次に、ステップST12において、組織選択手段12は、取得した組織構成情報から木構造の組織図を作成し、表示手段17を用いてディスプレイ2に出力する。
次に、ステップST13において、組織選択手段12は、キーボード3またはポインティングデバイス4を用いて入力されるユーザからのイベントを待つ。なお、ここで受け取るイベントは、組織が選択されたことを示す組織選択イベント、OKボタン49が押下されたことを示す選択完了イベント、及びCANCELボタン50が押下されたことを示す全選択解除イベントの三種類がある。
次に、ステップST14において、イベントを受け取ると、イベントの種類の判定を行う。
ステップST14の判定の結果、イベントが組織選択イベントであった場合、ステップST15へ進み、組織選択イベントと共に入力される座標情報が選択可能組織の持つ座標の範囲に含まれるかどうかを判定する。組織選択手段12は、ディスプレイ2に表示している組織図の座標情報を保持しており、これを入力座標と比較することで、どの組織を指しているのかを判定できる。選択可能組織とは、表示している組織図の中で、選択されていない組織である。
次に、ステップST16へ進み、組織IDを選択順に保持するためのメモリ6上の選択組織配列に、選択された組織IDを付加し、組織図上の対応する組織を選択状態に変更しディスプレイ2に出力する。例えば、色を変更する等の処理を行うことで、選択状態を表現する。処理完了後、ステップST13へ進み次の入力イベントを待つ。
ステップST14の判定の結果、イベントが選択完了イベントであった場合、ステップST17へ進み、選択組織配列のメモリアドレスをレーンフロー生成手段16に渡し、処理を終了する。
ステップST14の判定の結果、イベントが全選択解除イベントであった場合、ステップST18へ進み、選択組織配列の内容をクリアし、ディスプレイ2の組織図において選択状態になっている組織の表示を解除し元の状態に戻す。処理完了後、ステップST13へ進み次の入力イベントを待つ。
以上の全ての処理は、CPU5の命令に従って実行される。これらの手順により、図6のステップST1における組織選択処理を行うことができる。
<ステップST2.タスクフロー部分選択処理>
図9は、ステップST2のタスクフロー部分選択処理の手順を示すフローチャートである。
まず、ステップST501において、タスクフロー部分選択手段14は、ハードディスク7上のタスクフロー情報保管手段13から、タスクフロー情報を取得する。タスクフロー情報は、図10に示すタスクの内容や担当組織が記されたタスク情報及び図11に示すタスク間の繋がり方が記された連結情報の2つの表形式の情報で構成されるものである。
図10〜11は、図4〜5に対応しており、例えば、タスクID=T2である外部発注タスク32が組織ID=3である資材部45で処理されると、その次には、発注可能という(遷移)条件下では、タスクID=T3である決済タスク33が組織ID=4である経理部46で処理され(決済処理し結果を通知)、発注不能という条件下では、タスクID=T4である不能通知タスク34が組織ID=3である資材部45で処理される(発注不能を発注元に通知する)。
ここでは、タスクフロー情報保管手段13は、タスクフロー情報を2つの表形式で保管しているが、表形式以外の形式で保管してもよい。例えば、XMLを用いて記述した構造化データでもよい。
また、タスクフロー情報保管手段13は、あるいは、組織構成情報保管手段11と一体に保管されてもよい。例えば、XMLを用いて記述した構造化データにおいて、前半の領域に組織構成情報保管手段11を配置し後半の領域にタスクフロー情報保管手段13を配置することにより、1個のファイルに保管してもよい。
次に、ステップST502において、タスクフロー部分選択手段14は、取得したタスクフロー情報からタスクフロー図を作成し、表示手段17を用いてディスプレイ2に出力する。
次に、ステップST503において、タスクフロー部分選択手段14は、キーボード3またはポインティングデバイス4を用いて入力されるユーザからのイベントを待つ。なお、ここで受け取るイベントは、タスクが選択されたことを示すタスク選択イベント、OKボタン49が押下されたことを示す選択完了イベント、及びCANCELボタン50が押下されたことを示す全選択解除イベントの三種類がある。
次に、ステップST504において、イベントを受け取ると、イベントの種類の判定を行う。
ステップST504の判定の結果、イベントがタスク選択イベントであった場合、ステップST505へ進み、タスク選択イベントと共に入力される座標情報が選択可能タスクの持つ座標の範囲に含まれるかを判定する。タスクフロー部分選択手段14は、ディスプレイ2に表示しているタスクフロー図の座標情報を保持しており、これを入力座標と比較することで、どのタスクを指しているのかを判定できる。選択可能タスクとは、表示しているタスクフロー図の中で、選択されているタスクが無ければ全てのタスクであり、選択されているタスクがあれば、それらのタスクよりも処理工程が後で、かつ選択されていないタスクである。
ステップST505の判定の結果、入力されたタスクが選択可能タスクでなかった場合は、ステップST503へ進み、入力されたタスクが選択可能タスクであった場合は、ステップST506へ進み、既選択タスクが存在するかどうかを確認する。
ステップST506の確認の結果、既選択タスクが無かった場合、ステップST507へ進み、そのタスクを最初の選択タスクとして、タスクIDをメモリ6上にある選択タスク配列に付加し、タスクフロー図上の対応するタスクを選択状態に変更し、ディスプレイ2に出力する。例えば、色を変更する等の処理を行うことで、選択状態を表現する。処理完了後、ステップST503へ進み次の入力イベントを待つ。
ステップST506の確認の結果、既選択タスクがあった場合、ステップST508へ進み、選択タスク配列の最後尾のタスクと今指定された選択タスクとの間の全てのタスクを被選択タスク列とする。そして、ステップST509へ進み、被選択タスク列のタスクIDを選択タスク配列に付加し、タスクフロー図上の対応するタスクを選択状態に変更し、ディスプレイ2に出力する。処理完了後、ステップST503へ進み次の入力イベントを待つ。
ステップST504の判定の結果、イベントが選択完了イベントであった場合、ステップST510へ進み、選択タスク配列のメモリアドレスをレーンフロー生成手段16に渡し、処理を終了する。
ステップST504の判定の結果、イベントが全選択解除イベントであった場合、ステップST511へ進み、選択組織配列の内容をクリアし、ディスプレイ2の組織図において選択状態になっている組織の表示を解除し元の状態に戻す。処理完了後、ステップST503へ進み次の入力イベントを待つ。
以上の全ての処理は、CPU5の命令に従って実行される。これらの手順により、図6のステップST2におけるタスクフロー部分選択処理を行うことができる。
なお、この例では、選択可能タスクを後工程に限定しているため、ステップST508〜ST509において、選択タスク配列にタスクを追加する際に、最後尾のタスクと後工程の選択されたタスクとの間にあるタスクを選択タスク配列の最後尾に追加しているが、選択タスク配列に含まれるタスクよりも前工程のタスクを選択することを可能としてもよい。例えば、図4において、決済タスク33、結果受理タスク35、資材発注タスク31の順番で選択された場合、”資材発注→外部発注→決済→結果受理”という一連のタスク列が選択された状態となる。
また、二つの選択タスク間に分岐が含まれており、経路が一意には決められないような場合に対処するためには、以下のような三つの処理方法が考えられる。
第一の処理方法としては、タスクフローにおいて、分岐処理が標準フローと異常フローとに分けて指定されている場合は、標準フローを採用することが考えられる。標準フローとは、正常な状態の場合に実行されるタスク列のことであり、異常フローとは、異常発生時に実行されるタスク列である。この方法を用いる場合、図11に示したタスク情報において、標準フローか異常フローかを記載する欄を設ける。例えば、人工衛星の運用分野においては、タスクフローにおける下方向への分岐が標準フローであり、横方向への分岐が異常フローであると規定されている。
第二の処理方法としては、経路を一意に特定できないことをダイアログ等を用いてユーザに伝え、タスクの再指定を促すことが考えられる。
第三の処理方法としては、タスクフロー上で、選択可能な分岐先の候補となるタスクを点滅させたり色を変えたりして、ユーザに伝え、分岐先タスクの指定を促すことが考えられる。
また、上述では、図6に示されるように、表示する組織を選択(ステップST1)してから、タスクフローの範囲を指定(ステップST2)したが、その順番が逆になっても、同様の結果を得ることができる。
<ステップST3.レーンフロー生成処理>
図12は、ステップST3のレーンフロー生成処理の手順を示すフローチャートである。
まず、ステップST61において、レーンフロー生成手段16は、組織選択手段12から組織選択情報のメモリアドレスが入力されるのを待つ。
次に、ステップST62において、レーンフロー生成手段16は、組織選択情報のメモリアドレスが入力されると、タスクフロー部分選択手段14からタスクフロー部分情報のメモリアドレスが入力されるのを待つ。
次に、ステップST63において、レーンフロー生成手段16は、組織選択情報とタスクフロー部分情報とのメモリアドレス情報を取得すると、レーンレイアウト算出手段15に渡し、レーンレイアウト算出手段15で算出されたレーンレイアウト情報のメモリアドレスを取得する。レーンレイアウト情報は、レーン構成情報と座標情報とからなる(ステップST63は、本発明に係るレーンレイアウト算出工程として機能する)。なお、ステップST63のレーンレイアウト算出処理の詳細については、後述する。
次に、ステップST64において、レーンフロー生成手段16は、レーン構成情報と座標情報とに従って、レーンを生成し、メモリ6上に保管する。
次に、ステップST65において、レーンフロー生成手段16は、タスクフロー部分情報のタスクを、担当組織に該当する各レーンにタスク列の処理順に配置し、メモリ6に保管する。
この配置処理は、レーン構成情報を基準にして行う。タスクの担当組織の組織IDが、レーン構成情報の組織ID欄と一致すれば、その組織IDのレーンにタスクを配置する。レーン構成情報の組織ID欄に一致する組織IDが無かった場合は、組織図を上位方向にたどり、選択順位を持つ組織が見つかれば、その組織IDの該当するレーンにタスクを配置する。タスクを配置した際、このタスクと直前に配置されたタスクとの間を結ぶ線分を記述する。
次に、ステップST66において、レーンフロー生成手段16は、タスクフロー部分情報内に、未配置のタスクが残っていないかを確認する。
ステップST66の確認の結果、未配置のタスクがあれば、ステップST65へ進む。
ステップST66の確認の結果、未配置のタスクが無ければ、ステップST67へ進み、レーンフロー生成手段16は、生成されたレーンフロー図を、メモリ6に保管するとともに表示手段17を用いてディスプレイ2に出力する(ステップST64〜ST67は、本発明に係るレーンフロー生成工程として機能する)。
以上の全ての処理は、CPU5の命令に従って実行される。これらの手順により、図6のステップST3のレーンフロー生成処理を行うことができる。
<ステップST63.レーンレイアウト算出処理>
ステップST63のレーンレイアウト算出処理は、ある組織とその下部の組織とを対象に、選択順位をもとにソートし、選ばれていない組織を上部組織に吸収させることを繰り返し、得られた列をレーンの並び順とすることで、組織構成を保持しつつ選択順位を反映したレーンの順番を指定することを可能とするものである。
以下では、図13のフローチャートに従って、ステップST63のレーンレイアウト算出処理について、具体的な処理手順を述べる。
ここでは、図14のような組織を事例として、レーンレイアウト算出の手順を述べる。この図14では、組織ORG1〜ORG13のうち、組織ORG2、組織ORG12、組織ORG5、組織ORG6、組織ORG10、組織ORG9の順番に組織が選択されたことを表しており、選択された各組織には1(番)から6(番)までの選択順位(の番号)が付加されている。レーンレイアウト算出手段15は、この組織選択情報をレーンフロー生成手段16から入力として受け、これに基づき以下のようなレーンレイアウト算出処理を行う。
まず、ステップST21において、レーンレイアウト算出手段15は、次のステップST22以降における処理対象として、仮想最上位組織を指定する。仮想最上位組織とは、組織図において最上位組織(図14では組織ORG1)のさらに上位にあると想定した実際には存在しない組織であり、組織図にもレーンフロー図にも表示されることがない仮想の組織である。
次に、ステップST22において、レーンレイアウト算出手段15は、仮想最上位組織のレーン構成情報を作成する。
レーン構成情報とは、生成するレーンフロー図における各レーンの包含関係を示すものであり、図15のような形式のものである。レーン構成情報は、組織IDと選択順位とレーン下部情報とを持つ。なお、図15において、組織ID=ORGVは、上述した仮想最上位組織を表すものである。
ここで、レーンに表示される組織の基本構成について述べておく。レーン内の各組織は図16のような構成を持つものとする。
各組織は、図の色つきの部分によって表示され、左下及び右下の部分に下部組織を持つことができる。それぞれの部分をL領域及びR領域と呼ぶ。また、下段中央には、自組織を表す(正確には、後述するように、自組織に吸収した下部組織を表す)部分を持ち、これをC領域と呼ぶ。L領域は、自組織よりも選択順位の番号が小さい(選択順位が上位である)下部組織が配置される領域であり、R領域は、自組織よりも選択順位の番号が大きい(選択順位が下位である)下部組織が配置される領域である。L領域又はR領域には、それぞれ0個以上の組織を持つことができる。
レーン構成情報のレーン下部情報は、L欄、C欄、R欄の3つの欄に分けられており、L欄には、L領域に配置される組織を設定する。同様に、R欄にはR領域に配置される組織を設定する。また、C欄は、C領域に該当する組織情報であるが、ここには下部組織のうちで選択順位を持たないリーフ組織(下部組織を持たない組織)を設定する。このことを、上位組織に吸収する、と呼ぶこととする。これらの組織は上位組織に含まれてしまうため、レーンには組織名は表示されない。以降では、レーン下部情報のL欄、C欄、R欄に設定されている組織をそれぞれL組織、C組織、R組織と呼ぶ。
例えば、図14〜15において、選択順位が1番である組織ORG2の下位には、組織ORG4,ORG5,ORG6,ORG7が配置されているが、組織ORG5,ORG6はいずれも選択順位が組織ORG2より下位であるのでレーン下部情報のR欄に記載され、組織ORG4,ORG7はいずれも選択順位を持たず且つ下部組織を持たないのでレーン下部情報のC欄に記載されて(すなわち組織ORG2に吸収されて)いる。
なお、ステップST22のレーン構成情報作成処理については、後述する。
次に、ステップST23において、レーンレイアウト算出手段15は、組織選択情報に含まれる組織の中に、レーン構成情報を未作成の組織が存在するかどうかを判定する。
ステップST23の判定の結果、レーン構成情報を未作成の組織が存在する場合には、ステップST24へ進み、レーン構成情報を未作成の組織を指定し、ステップST22へ進む(これを繰り返すことにより、組織選択情報に含まれる全組織を対象としてレーン構成情報が作成される)。
ステップST23の判定の結果、レーン構成情報を未作成の組織が存在しない場合には(言い換えれば、全組織を対象としたレーン構成情報の作成が完了した場合には)、ステップST25へ進み、座標情報算出処理を行う。この処理は、レーン構成情報に示されたレーンの包含関係に従って、実際の描画に必要となる座標情報を算出する処理である。
なお、ステップST25までで、レーンレイアウト処理は完了する。ここで算出されたレーンレイアウトは図17のようになる。また、ステップST25の座標情報算出処理の詳細については、後述する。
すなわち、図14において選択された6個の組織のうち、組織ORG2と組織ORG9とは互いに従属関係にない(異なるツリーに属する)ので、図17においても、並列に配置されている。また、組織ORG2のR領域には、組織ORG2より選択順位が下位である組織ORG5,ORG6,ORG10が配置されている。また、組織ORG6のR領域には、組織ORG6より選択順位が下位である組織ORG10が配置されている。また、組織ORG5と組織ORG6とは互いに従属関係にないので、並列に配置されている。また、組織ORG9のL領域には、組織ORG9より選択順位が上位である組織ORG12が配置されている。
また、組織ORG8(一の組織)は、図14に示されるように、選択順位を持たず且つ上位に選択順位を持つ他の組織が存在しないので、図17に示されるように、レーンレイアウトに配置されない。
次に、ステップST26において、レーンレイアウト算出手段15は、レーン構成情報と各組織の座標情報とをレーンフロー生成手段16に渡し、処理を終了する。
<ステップST22.レーン構成情報作成処理>
図18は、ステップST22のレーン構成情報作成処理の手順を示すフローチャートである。
まず、ステップST31において、レーンレイアウト算出手段15は、レーン構成情報に新規レコードを作成する。
次に、ステップST32において、レーンレイアウト算出手段15は、指定組織が仮想最上位組織かどうかを判定する。
ステップST32の判定の結果、指定組織が仮想最上位組織である場合には、ステップST33へ進み組織ID=ORGVを設定する。そして、ステップST34へ進み、選択順位欄に、選択順位を設定するのであるが、仮想最上位組織は組織図として表現されないため、選択順位を指定されることは有り得ない。そのため、最も低い選択順位として、組織図の全組織数に1を加えた値を設定する。図14においては、全組織数が13であるため、仮想最上位組織の選択順位は14となる。
ステップST32の判定の結果、指定組織が仮想最上位組織でない場合には、ステップST35へ進み、組織ID欄に、指定組織の組織IDを入力する。そして、ステップST36へ進み、選択順位欄に、指定組織の選択順位を設定する。
次に、ステップST37において、レーンレイアウト算出手段15は、レーン下部情報設定処理を行う。この処理により、レーン下部情報のL組織、C組織、R組織が設定され、ここまでの処理でレーン構成情報の一つのレコードの作成が完了する。ステップST37のレーン下部情報設定処理については、次に述べる。
<ステップST37.レーン下部情報設定処理>
図19は、ステップST37のレーン下部情報設定処理の手順を示すフローチャートである。
まず、ステップST101において、レーンレイアウト算出手段15は、指定組織の直下の下部組織(直下組織)を全て抽出する。
次に、ステップST102において、レーンレイアウト算出手段15は、指定組織の全直下組織に関するレーン下部情報設定の確認(直下組織が指定組織のL組織、C組織、R組織のいずれに該当するかの確認)が完了しているかどうかを判定する。
ステップST102の判定の結果、全直下組織の確認が完了している場合には(言い換えれば、未確認の組織が存在しない場合には)、処理を終了する。
ステップST102の判定の結果、未確認の組織が存在する場合には、ステップST103へ進み、その未確認の組織を、次のステップST104以降における処理対象として指定する。
次に、ステップST104において、ステップST103で指定された指定組織が選択順位を持っているかを判定する。
ステップST104の判定の結果、指定組織が選択順位を持っている場合は、ステップST105へ進み、指定組織の選択順位を上位組織の選択順位と比較する。
ステップST105の比較の結果、指定組織の選択順位の番号が、上位組織の選択順位の番号よりも小さい(選択順位が上位である)場合には、ステップST105からステップST107へ進み、この指定組織を上位組織のレーン構成情報のL組織に追加する。追加する際に、既に他の組織がL組織に存在する場合には、選択順位の順番にソートして追加する。そして、ステップST102へ進む。
ステップST105の比較の結果、指定組織の選択順位の番号が、上位組織の選択順位の番号よりも大きい(選択順位が下位である)場合には、ステップST105からステップST106へ進み、この指定組織を上位組織のレーン構成情報のR組織に追加する。追加する際に、既に他の組織がR組織に存在する場合には、選択順位の順番にソートして追加する。そして、ステップST102へ進む。
ステップST104の判定の結果、指定組織が選択順位を持っていない場合は、ステップST108へ進み、指定組織が直下組織を持つかどうかを確認する。
ステップST108の確認の結果、指定組織が直下組織を持たない場合は、ステップST109へ進み、タスクフローに含まれる各タスクの担当タスクに指定組織が該当するかを確認する。ステップST109の確認の結果、該当しない場合にはステップST102へ進み、該当した場合には、ステップST110へ進み、指定組織を上位組織のC組織に追加する。追加する際に、既に他の組織がC組織に存在する場合には、選択順位の順番にソートして追加する。そして、ステップST102へ進む。
ステップST108の確認の結果、指定組織が直下組織を持つ場合は、ステップST111へ進み、指定組織について、レーン下部情報設定処理を再帰的に実行する(言い換えれば、ステップST101へ進み、図19のレーン下部情報設定処理全体を再び先頭から実行する)。
上述の処理を繰り返すことにより、全直下組織のレーン下部情報設定について確認することができる。ステップST102において、全直下組織の確認が完了すると、レーン構成情報におけるレーン下部情報設定処理は完了する。
以下では、図19のレーン下部情報設定処理の具体例を、図14を用いて説明する。
まず、ステップST101において、レーンレイアウト算出手段15は、仮想最上位組織の直下組織を全て抽出する。仮想最上位組織の直下の下部組織は、組織ORG1のみであるので、ステップST102〜ST103において、組織ORG1を指定する。
組織ORG1は、選択順位が指定されていないので、ステップST104からステップST108へ進み、直下組織を持つので、ステップST108からステップST111へ進み、下部組織の選択状況を再帰的に確認する(すなわち、ステップST101へ進む)。
ステップST101においては、組織ORG1の直下組織として、組織ORG2と組織ORG3とが抽出される。
まず、ステップST102〜ST103において、組織ORG2を指定する。
組織ORG2は選択順位を持っている(2番)ので、ステップST104からステップST105へ進み、この選択順位を上位組織の選択順位を比較する。このとき、組織ORG2の真上の組織ORG1は選択順位を持っていないので、組織ORG1の真上の仮想最上位組織ORGVと比較する。仮想最上位組織ORGVの選択順位は14番であるので、ステップST105からステップST107へ進み、仮想最上位組織ORGVのレーン下部情報欄のL組織に追加する。尚、追加する際に、既に他の組織が存在する場合には、選択順位で昇順にソートして追加する。そして、ステップST102へ進む。
次に、ステップST102〜ST103において、組織ORG3を指定する。
組織ORG3は、選択順位が指定されていないので、ステップST104からステップST108へ進み、直下組織を持つので、ステップST108からステップST111へ進み、下部組織の選択状況を再帰的に確認する(すなわち、ステップST101へ進む)。
上述の処理を繰り返すことにより、図15に示すレーン構成情報を取得することができる。これにより、各レーンの包含関係を明確にすることができる。
<ステップST25.座標情報算出処理>
図20〜21を用いて、レーン構成情報から、実際にレーンを描画するための座標情報の算出を行う処理について述べる。
レーンにおける各組織は、図16のような基本構成を持っているが、この基本構成を描画するための座標情報として、図20に示す各値を算出する。
図20においては、左上の角のX座標(x軸は右向きに正の方向とする)を表す値xと、左上の角のY座標(y軸は下向きに正の方向とする)を表す値yと、レーン幅Wと、レーン高Hと、L領域の幅LWと、L領域の高さLHと、C領域の幅CWと、R領域の幅RWと、R領域の高さRHとが示されている。
以下では、座標情報を算出するために、値w,hを用いる。値wは、レーンレイアウトにおいて下部組織を持たない組織のレーン幅を表すものであり、本実施の形態においては、80ピクセルとする。また、値hは、レーンレイアウトにおける下部組織を持たない組織のレーン高のうち、最小の値を表すものであり、本実施の形態においては、25ピクセルとする。
尚、ここでは、値w,hを固定値としたが、生成されるレーンフロー図に応じて動的に値を決めても良い。例えば、レーンフロー図上の全レーンを単一画面に表示するために、画面の横幅の大きさをレーンの数で割った値を値wとしても良い。
図21は、座標情報算出処理の手順を示すフローチャートである。
まず、ステップST41において、レーンレイアウト算出手段15は、次のステップST42における処理対象として、仮想最上位組織を指定する。
次に、ステップST42において、レーンレイアウト算出手段15は、レーンサイズ情報算出処理を行う。ここで、座標情報のうちでレーンのサイズを表すレーン幅W、レーン高H、L領域の幅LW、L領域の高さLH、C領域の幅CW、R領域の幅RW、およびR領域の高さRHが算出される。なお、ステップST42のレーンサイズ情報算出処理の詳細については、後述する。
次に、ステップST43において、仮想最上位組織の値xを0、値yを値(−h)とし、次のステップST44における処理対象として、仮想最上位組織を指定する。なお、この(−h)は、仮想最上位組織自体の高さを相殺するために設定されるものである。
次に、ステップST44において、位置情報算出処理を行う。ここで、座標情報のうちレーンの位置を表す値x,yが算出され、全ての座標情報の算出が完了する。なお、ステップST44の位置情報算出処理の詳細については、後述する。
<ステップST42.レーンサイズ情報算出処理>
図22は、レーンサイズ情報算出処理の手順を示すフローチャートである。
まず、ステップST201において、レーンレイアウト算出手段15は、指定組織のL組織またはR組織の中に未処理の組織が存在するかどうかを判定する。
ステップST201の判定の結果、未処理の組織が存在する場合には、ステップST202へ進み、未処理の組織のうち左端(すなわち最も左側)に位置する組織を指定する。そして、ステップST203へ進み、レーンサイズ情報算出処理を再帰的に実行する(言い換えれば、ステップST201へ進み、図22のレーンサイズ情報算出処理全体を再び先頭から実行する)。これを繰り返すことにより、最も左側の最下層の組織から順にレーン構成情報に含まれる全ての組織のレーンサイズを求めることができる。
ステップST201の判定の結果、未処理の組織が存在しない場合には、ステップST204へ進み、全L組織のうち最大のレーン高の値を各L組織のレーン高Hに代入し、その値をL領域の高さLHに代入する。
次に、ステップST205において、全R組織のうち最大のレーン高の値を各R組織のレーン高Hに代入し、その値をR領域の高さRHに代入する。ステップST204〜ST205を実行することにより、L組織内またはR組織内でレーンの高さが違う場合に、高さを揃えることが可能となる。
次に、ステップST206において、全L組織におけるレーン幅Wの和をL領域の幅LWに代入することによりL領域の幅LWを定めるとともに、全R組織におけるレーン幅Wの和をR領域の幅RWに代入することによりR領域の幅RWを定める。
次に、ステップST207において、指定組織がC組織を持つかどうかを判定する。ステップST207の判定の結果、指定組織がC組織を持つ場合には、ステップST208へ進み、C領域の幅CWに値wを代入することによりC領域の幅CWを定め、ステップST210へ進む。ステップST207の判定の結果、指定組織がC組織を持たない場合には、ステップST209へ進み、C領域の幅CWに0を代入することによりC領域の幅CWを定め、ステップST210へ進む。
次に、ステップST210において、レーン高Hに、R領域の高さRHおよびL領域の高さLHのうちより大きい一方に値hを加えた値を代入する。これにより、レーン高Hが定められる。
次に、ステップST211において、指定組織がL組織、C組織、およびR組織のいずれかを持つかどうかを判定する。ステップST211の判定の結果、指定組織がL組織、C組織、およびR組織のいずれかを持っている場合には、ステップST212へ進み、指定組織が持っている下部組織に対応して、値LW,CW,RWのいずれかまたはこれらの和を、レーン幅Wに代入する(例えば、指定組織がL組織とC組織とを持っている場合には、L領域の幅LWとC領域の幅CWとの和をレーン幅Wに代入する)。ステップST211の判定の結果、指定組織がL組織、C組織、およびR組織のいずれも持っていない場合には、ステップST213へ進み、値wをレーン幅Wに代入する。
以下では、図22のレーンサイズ情報算出処理の具体例を、図14を用いて説明する。
まず、ステップST201〜ST202において、仮想最上位組織の下部のL組織およびR組織のうち、左端の組織として、組織ORG2が指定される。そして、ステップST203において、レーン情報算出処理が再帰的に実行される(すなわち、ステップST201へ進む)。
次に、ステップST201〜ST202において、組織ORG2の下部のL組織およびR組織のうち、左端の組織として、組織ORG5が指定される。そして、ステップST203において、レーン情報算出処理が再帰的に実行される(すなわち、ステップST201へ進む)。
次に、ステップST201において、組織ORG5は下部組織を持たないので、ステップST204へ進む。
次に、ステップST204において、組織ORG5は下部組織を持たないので、全L組織のうち最大のレーン高の値は0となり、L領域の高さLHには0が代入される。同様に、ステップST205において、R領域の高さRHには0が代入される。
次に、ステップST206において、組織ORG5は下部組織を持たないので、L領域の幅LWおよびR領域の幅RWにそれぞれ0が代入される。
次に、ステップST207において、組織ORG5は下部組織を持たないので、ステップST208へ進み、C領域の幅CWに0が代入される。
次に、ステップST210において、L領域の幅LWおよびR領域の幅RWはいずれも0であるので、レーン高Hには、(0+h)=hが代入される。
次に、ステップST211において、組織ORG5は下部組織を持たないので、ステップST213へ進み、レーン幅Wに値wが代入される。
以上により、ORG5のレーンサイズ情報が算出される。
上述の処理を繰り返すことにより、レーン構成情報の全組織についてのレーンサイズ情報が算出される。
<ステップST44.位置情報算出処理>
図23は、位置情報算出処理の手順を示すフローチャートである。
以下では、図23の位置情報算出処理の具体例を、図14を用いて説明する。なお、図23においては、各組織における値x,yを求めるために、変数tx,tyを用いて計算を行う。
まず、ステップST301において、変数tx,tyに、それぞれ、仮想最上位組織の値xとしての0と仮想最上位組織の値yとしての(−h)とを代入する。なお、この(−h)は、上述したように、仮想最上位組織自体の高さを相殺するために設定されるものである。
次に、ステップST302において、未処理のL組織またはR組織が存在しているかどうかを判定する。仮想最上位組織の下部において、組織ORG1は選択順位を持たないのでL組織にもR組織にも該当しないが、組織ORG1の直下には選択順位を持つ組織ORG2,ORG3が存在しているので、ステップST303へ進む。
次に、ステップST303において、組織ORG2,ORG3のうち左端に位置する組織ORG2を指定する(以下では、説明の都合上、ステップST303で指定された組織を組織kとも呼ぶ)。
次に、ステップST304において、組織kがR組織の左端の組織であるかどうかを判定する。組織kとしての組織ORG2は、R組織の左端の組織ではないので、ステップST306へ進む。なお、組織kがR組織の左端の組織であった場合(言い換えればR組織の中で、選択順位が最上位であった場合)には、ステップST305へ進み変数txにC領域の幅CWを加える処理を行い、ステップST306へ進む。
次に、ステップST306において、組織kとしての組織ORG2の値xに、変数txを代入する。ここでは、変数txは0であるので、値xに0が代入される。
次に、ステップST307において、変数txに、組織kとしての組織ORG2のレーン幅Wを加える。ここでは、値Wは4wである(ステップST42のレーンサイズ情報算出処理においては、図17に示されるように、組織ORG2と組織ORG5と組織ORG6と組織ORG10との4つの組織に相当する幅として4wが算出される)ので、変数txは4wとなる。
次に、ステップST308において、組織kとしての組織ORG2の値yに、変数tyに仮想最上位組織のレーン高Hと組織kとしての組織ORG2のレーン高Hとの差を加えた値を代入する。ここでは、変数tyは(−h)であり、組織kとしての組織ORG2のレーン高Hは3hであり(ステップST42のレーンサイズ情報算出処理においては、図17に示されるように、組織ORG2と組織ORG5又は組織ORG6と組織ORG10との3つの組織に相当する幅として3wが算出される)、仮想最上位組織のレーン高Hは4hである(組織ORG2のレーン高である3hに仮想最上位組織自体のレーン高に相当するhを加えたもの)ので、変数yには、(−h)+(4h−3h)=0が代入される。
これにより、組織kとしての組織ORG2の位置情報として、値x(=0),y(=0)が算出される。
次に、ステップST309において、次のステップST310以降における処理対象として、組織kすなわち組織ORG2を指定して、ステップST310へ進み、位置情報算出処理を再帰的に実行する(すなわち、ステップST301へ進む)。これにより、組織ORG5,ORG6,ORG10の位置情報が順次算出される。そして、ステップST302へ進む。
次に、ステップST302〜303において、仮想最上位組織の下部における未処理のL組織またはR組織のうち左端に位置する組織ORG9を組織kとして指定する。
以下、ステップST304〜ST308において、組織ORG9について、組織ORG2と同様に処理を行うことにより、位置情報を算出する。そして、ステップST309において、次のステップST310以降における処理対象として、組織kすなわち組織ORG9を指定して、ステップST310へ進み、位置情報算出処理を再帰的に実行する(すなわち、ステップST301へ進む)。これにより、組織ORG12の位置情報が算出される。
以上により、レーン構成情報の全組織についての位置情報が算出される。
ここで、図24〜25を用いて、ステップST63のレーンレイアウト算出処理を、本実施の形態で説明してきた資材発注を例に説明する。
ここでは、B事業所42、資材部45、経理部46の順に選択されているため、まず、仮想最上位組織の下部組織としてL組織にB事業所42が設定される。本社43は、選択順位を持たないリーフ組織であるが、タスクフローの指定範囲の中で、担当するタスクが存在しないため、C組織には含めない。
次に、B事業所42の下部組織として、C組織に選択順位を持たないリーフ組織である総務部44が設定され、R組織に選択順位がB事業所42よりも低い資材部45と経理部46とが設定される。資材部45および経理部46は、共に下部組織を持たないので、以上で、図24のようなレーン構成情報が生成される。
次に、図24のレーン構成情報から、座標情報を算出する。算出結果を処理の順番に従って、以下に示す。
すなわち、ステップST42のレーンサイズ情報算出処理においては、資材部45については、LH=0、RH=0、LW=0、RW=0、CW=0、H=h、W=wとなり、経理部46については、LH=0、RH=0、LW=0、RW=0、CW=0、H=h、W=wとなり、B事業所42については、LH=0、RH=h、LW=0、RW=2w、CW=w、H=2h 、W=3wとなる。
また、ステップST44の位置情報算出処理においては、B事業所42については、x=0、y=0となり、資材部45については、x=w、y=hとなり、経理部46については、x=2w、y=hとなる。
以上により、全ての座標情報が算出されるので、この座標情報を用いて、図25に示すようなレーンレイアウトを取得することができる(なお、図25は、図5の上部に対応している)。
このように、本実施の形態に係るレーンフロー図生成装置およびレーンフロー図生成プログラムにおいては、組織を表すレーンを所望の順に階層関係を持たせて並べることができる。従って、注目する組織が行う処理等を理解しやすいレーンフロー図を提供することができるという効果を奏する。
<実施の形態2>
図26は、実施の形態2に係るレーンフロー図生成装置を示す構成図である。図26は、実施の形態1に係る図2において、レーンレイアウト算出手段15を、選択順位補正型レーンアウト算出手段19に置き換えたものであり、それ以外は図2と同様の構成である。なお、図26のレーンフロー図生成装置を実現するハードウェアの構成は、実施の形態1に係る図1と同様である。また、選択順位補正型レーンアウト算出手段19は、ハードディスク7上に搭載されており、CPU5によりメモリ6上に展開され実行される。
本実施の形態においては、選択順位補正型レーンアウト算出手段19を用いて組織間関係を考慮したレーンフロー図生成の例を示す。この手順は、タスクフローのタスク列の範囲において、対象組織と他の組織との関係の深さを求め、その関係の深さに基づいてレーンの配置を決定する組織間関係を考慮したレーンレイアウト情報を算出することが特徴である。なお、本実施の形態において、ユーザが行うユーザ処理は、実施の形態1と同様である。
図27は、図26のレーンフロー図生成装置を用いたレーンレイアウト算出処理の手順を示すフローチャートである。これは、実施の形態1に係る図13において、ステップST21の前に、関係の深さによる選択順位の補正処理を行うステップST27が追加されたものである。それ以外の処理は、実施の形態1と同様の処理である。
ここで、図28〜38を用いて、図27のレーンレイアウト算出処理の手順を説明する。本実施の形態において対象とする組織構成は、実施の形態1と同様である。図28に、選択された組織情報を示す。ここでは、総務部44、資材部45、経理部46、本社43の順に選択されたものとする。
図29に、指定されたタスクフローの範囲を示す。図30に、図29のタスクフローにおけるタスク情報を、図31に、図29のタスクフローにおけるタスク間の連結情報を、それぞれ示す。
図29〜31に示されるように、本実施の形態においては、Aタスク〜Gタスクは、それぞれ、タスクID=T1〜T7を持ち、タスク内容がA処理〜G処理であり、この順に実行される。また、図32に、比較のため、図28〜31に基づき生成された(選択順位の補正を行わなかった場合の)レーンフロー図を示す。
例えば、Cタスクは、タスクID=T3を持ち、総務部44(組織ID=2)および本社43(組織ID=5)に担当される。また、Cタスクの次には、無条件で、Dタスク(タスクID=T4)へ遷移する。
以下では、図33のフローチャートを用いて、図29〜31に示されるような情報を入力された場合に選択順位補正型レーンレイアウト算出手段19が行うステップST27の手順について述べる。
まず、ステップST401において、図34のように選択順位と組織IDと優先度とからなる組織情報表を用意し、組織IDを選択順位に従って並べ、優先度には、(全選択数)−(選択順位)の値を代入する。すなわち、選択順位の番号が小さいほど、優先度は高くなる。なお、図34においては、全選択数は4である。
次に、ステップST402において、各組織と選択順位が1番の組織との間の関係数を数え、その関係数に0.3をかけた値を優先度に加える。関係数とは、レーンフロー図においてタスク間をつなぐ線の数で表され、関係数を数える場合、その組織IDの組織との関係、及び、その組織の子(や孫)で、選択順のついていないものとの関係を数える。なお、ここで用いた0.3という値は、他の値でもよく、取り扱うドメインによって、最適なパラメータを選べばよい。
具体的には、図32を参照して、選択順位が1番の総務部44と他の組織との関係数は、資材部45では0、経理部46では6、本社43では0となる。これらの関係数それぞれに0.3をかけた値が組織情報表の優先度に加えられる。
ステップST403において、選択順位が2番以降の組織情報を優先度で降順にソートし、選択順位を上から昇順で付け直す。
この処理の結果、図35に示されるように、経理部46(組織ID=4)の優先度1に1.8が加えられ2.8となるので、経理部46と資材部45(組織ID=3)とが入れ替わる。
ステップST403までで、選択順位が1番の組織とその他の組織との関係の深さを考慮した選択順位が決められるので、ステップST404以降では、選択順位が2番以降の組織について、各組織間の関係の深さに基づいて選択順位を補正する。
ステップST404において、レーンフロー図全体の全関係数Nを数える。ここでは、N=11となる(図32において、各組織間を互いに結ぶ線の本数の合計により算出される)。
ステップS405において、図36に示すその他関係数表を用意する。これは、選択順位が2番以降の各組織(図36では組織ID=3〜5)間の関係数を表すためのものである。そして、選択順位が2番以降の組織を第一組織として、第一組織よりも優先度が大きい組織を第二組織とし(図35〜36では組織ID=4,3,5の順に優先度が大きい)、第一組織と第二組織との間の関係数を求め、その他関係数表に格納する。
ステップST406において、関係数の昇順で並べる。ここで、その他関係数表は図36のようになる。
次に、ステップST407において、図36のその他関係数表に記載された行のうち未処理の行が存在するかどうかを判定する。ステップST407の判定の結果、未処理の行が存在しない場合には処理を終了し、ステップST407の判定の結果、未処理の行が存在する場合には、ステップST408へ進み、未処理の行のうち、関係数が最も小さい行を指定し、ステップST409へ進む。
ステップST409において、ステップST408で指定された行における関係数がN×0.1(=1.1)よりも大きいかどうかを確認する。ステップST409の確認の結果、関係数がNよりも大きくない場合にはステップST407へ進み、関係数がNよりも大きくない場合にはステップST410へ進む。
ステップST410において、組織情報表において、第二組織を第一組織の次(隣り)に移動し、選択順位を上から昇順で付ける。これを、その他関係数表の関係数の昇順に繰り返す。ここでは、第一組織が経理部46(組織ID=4)で、第二組織が本社43(組織ID=5)の場合に、関係数が4となり1.1より大きくなるので、組織情報表において、経理46部の次に本社43を移動し、選択順位を昇順に付ける。なお、ここで用いた0.1という値は、他の値でもよく、取り扱うドメインによって、最適なパラメータを選べばよい。
図37に、図33の選択順位補正型レーンレイアウト算出処理が完了した時点(すなわち図27のステップST27が完了した時点)での組織情報表を示す。ステップST27で得られた順番を選択順位として、実施の形態1と同様の手順で、以降の処理を行うことにより、図38のようなレーンフロー図が得られる。
図38においては、図32に比べると、選択順位が1番である総務部44の次に、総務部44と関連の深い経理部46が配置されており、経理部46の次に、経理部46と関連の深い本社43が配置されていることが分かる。
このように、本実施の形態に係るレーンフロー図生成装置およびレーンフロー図生成プログラムにおいては、選択順位補正型レーンアウト算出手段19は、複数個の組織を各組織どうしの関係の深さに基づき配置させる。従って、関係の深い組織のレーンを近い場所に配置することができるので、タスク間の距離の総和を短くすることができる。これにより、多数の長い横線をたどる回数を減らすことができるため、タスクを順に参照する際の負担が軽減される。従って、実施の形態1に比べて、さらに理解しやすいレーンフロー図を提供することができるという効果を奏する。
<実施の形態3>
図39は、実施の形態3に係るレーンフロー図生成装置を示す構成図である。図39は、実施の形態1に係る図2において、レーンフロー生成手段16の隣に、その他組織レーン追加手段20を加えたものであり、それ以外は図2と同様の構成である。なお、図39のレーンフロー図生成装置を実現するハードウェアの構成は、実施の形態1に係る図1と同様である。また、その他組織レーン追加手段20は、ハードディスク7上に搭載されており、CPU5によりメモリ6上に展開され実行される。
本実施の形態においては、その他組織レーン追加手段20を用いたレーンフロー図生成の例を示す。本実施の形態において、レーンフロー図生成装置内部における内部処理は、実施の形態1と異なるが、レーンフロー図生成装置外部からユーザが行うユーザ処理は実施の形態1と同様である。
図40は、図39のレーンフロー図生成装置を用いたレーンレイアウト算出処理の手順を示すフローチャートである。これは、実施の形態1に係る図13において、ステップST63の後かつステップST64の前に、その他組織レーン追加処理を行うステップST68が追加されたものである。それ以外の処理は、実施の形態1と同様の処理である。
図39において、レーンフロー生成手段16は、レーンレイアウト算出手段15から渡されたレーン構成情報と座標情報とからなるレーンレイアウト情報を、その他組織レーン追加手段20へ入力させる。
<ステップST68.その他組織レーン追加処理>
図41は、その他組織レーン追加処理の手順を示すフローチャートである。
以下では、図41のその他組織レーン追加処理の具体例を、図14を用いて説明する。
まず、ステップST71において、その他組織レーン追加手段20は、生成すべきレーンフロー図にその他組織レーンが必要かどうかを判定する。判定方法は、レーン構成情報における仮想最上位組織のレコードがC組織を持つかどうかで判定できる。仮想最上位組織がC組織を持つということは、全ての上位組織が選択順位を持たないリーフ組織が存在することを意味する。つまり、そのリーフ組織は、レーンフロー図に対応するレーンが存在しないことを意味する。本実施の形態においては、このようなリーフ組織に対応するその他組織レーンを生成することを特徴とする。
図14の事例では、図15に示されるように、仮想最上位組織(ORGV)がC組織として組織ORG8のみを持っている(図14においては、組織ORG4,ORG7,ORG8,ORG11,ORG13がリーフ組織であるが、組織ORG4,ORG7においては上位の組織ORG2が、組織ORG11においては上位の組織ORG2,ORG6が、組織ORG13においては上位の組織ORG9が、それぞれ選択順位を持っている)。従って、その他組織レーンが必要であると判定され、ステップST72へ進む。なお、その他組織レーンが必要でないと判定された場合には、そのまま処理を終了する。
次に、ステップST72において、その他組織レーン追加手段20は、その他組織のレーン構成情報の追加を行う。ここでは、図42に示されるように、組織ID欄に”その他(ORG8)”を設定し、選択順位欄には仮想最上位組織と同じ値として14を設定し、レーン下部情報は設定しない。
次に、ステップST73において、レーンレイアウト算出手段15は、図42のレーン構成情報から、座標情報を算出する。その他組織レーンの座標情報は以下のようになる。
すなわち、x=(仮想最上位組織の全てのL組織の値wの和)、y=0、W=w、H=(仮想最上位組織の任意のL組織の値H)、LW=0、LH=0、RW=0、RH=0、CW=0となる。
図14(図42)の事例では、値xは、組織ORG2の値W(=4w)と組織ORG9の値W(=2w)との和として6wとなり、値Hは、ORG2の値Hとして3hとなる。これで座標情報の算出が完了する。
次に、ステップST74において、レーンレイアウト算出手段15は、レーン構成情報と各組織の座標情報とをレーンフロー生成手段16に渡し、処理を終了する。追加されたレーン構成情報と座標情報とから生成されるレーンレイアウトは、図43のようになる。
このように、本実施の形態に係るレーンフロー図生成装置およびレーンフロー図生成プログラムにおいては、レーンレイアウト算出手段15は、選択順位を持たず且つ上位に選択順位を持つ他の組織が存在しない一の組織(組織ORG8)を、その他組織レーン追加手段20により追加されたその他組織レーンに配置させる。従って、選択された組織の中に担当組織が存在しないタスク(言い換えれば、組織ORG8に担当されるタスク)を、その他組織レーンに配置することができる。従って、実施の形態1の効果に加えて、生成するレーンフロー図において元のタスクフロー図の処理の流れの連続性を保つことができるという効果を奏する。
なお、上述では、実施の形態1において、その他組織レーン追加手段20(ステップST68のその他組織レーン追加処理)の追加を行う場合について説明したが、この追加は、実施の形態2において行ってもよい。
1 PC、2 ディスプレイ、3 キーボード、4 ポインティングデバイス、5 CPU、6 メモリ、7 ハードディスク、11 組織構成情報保管手段、12 組織選択手段、13 タスクフロー情報保管手段、14 タスクフロー部分選択手段、15 レーンレイアウト算出手段、16 レーンフロー生成手段、17 表示手段、18 入力手段、19 選択順位補正型レーンアウト算出手段、20 その他組織レーン追加手段、31 資材発注タスク、32 外部発注タスク、33 決済タスク、34 不能通知タスク、35 結果受理タスク、36 フロー表示エリア、37 表示画面、38,49 OKボタン、39,50 CANCELボタン、41 A電機、42 B事業所、43 本社、44 総務部、45 資材部、46 経理部、47 組織図表示エリア、48 表示画面。