(57)【特許請求の範囲】
【請求項１】
業務フローを可視化した業務フローチャートを自動的に作成する業務フローチャート作成プログラムにおいて、
コンピュータを、
前記業務フローを構成する複数の業務処理と各業務処理を実行する業務組織と前記業務処理間の実行順序関係とを定義した業務情報を記憶する業務情報記憶手段、
前記業務情報記憶手段から前記業務情報を読み出し、前記業務組織を表すレーンを作成し、前記実行順序関係に従って前記業務処理を表すノードを作成して当該業務処理を実行する業務組織に対応するレーン内に配置し、前記実行順序関係を表す前記ノード間を接続するリンクを作成する作図手段、
前記作図手段が前記リンクを作成する際、第１のレーン内に第１のノードと第２のノードと第３のノードとが配置され第２のレーン内に第４のノードが配置され、レーン方向に対して前記第２のノードが前記第１のノードの後ろかつ前記第３のノードの前に配置され、レーンの幅方向に対して前記第３のノードが前記第２のノードより前記第２のレーン寄りに配置される配置関係にあり、前記第１のノードが表す業務処理に続いて前記第２のノードが表す業務処理と前記第３のノードが表す業務処理とに分岐し、前記第２のノードが表す業務処理に続いて前記第４のノードが表す業務処理が実行される実行順序関係を検出すると、前記作図手段が前記第１のノードから前記第３のノードへの経路上のリンクを作成しないように制御するリンク制御手段、
として機能させることを特徴とする業務フローチャート作成プログラム。
【請求項２】
前記コンピュータを、更に、前記作図手段が作成した複数のレーンの隣接関係を変更する指示を受け付ける操作受付手段として機能させ、
前記リンク制御手段は、前記操作受付手段が前記隣接関係を変更する指示を受け付けると、変更された後のノードの配置関係に基づいてリンクの作成の有無を再判断する、
ことを特徴とする請求項１記載の業務フローチャート作成プログラム。
【請求項３】
業務フローを可視化した業務フローチャートを自動的に作成する業務フローチャート作成装置において、
前記業務フローを構成する複数の業務処理と各業務処理を実行する業務組織と前記業務処理間の実行順序関係とを定義した業務情報を記憶する業務情報記憶手段と、
前記業務情報記憶手段から前記業務情報を読み出し、前記業務組織を表すレーンを作成し、前記実行順序関係に従って前記業務処理を表すノードを作成して当該業務処理を実行する業務組織に対応するレーン内に配置し、前記実行順序関係を表す前記ノード間を接続するリンクを作成する作図手段と、
前記作図手段が前記リンクを作成する際、第１のレーン内に第１のノードと第２のノードと第３のノードとが配置され第２のレーン内に第４のノードが配置され、レーン方向に対して前記第２のノードが前記第１のノードの後ろかつ前記第３のノードの前に配置され、レーンの幅方向に対して前記第３のノードが前記第２のノードより前記第２のレーン寄りに配置される配置関係にあり、前記第１のノードが表す業務処理に続いて前記第２のノードが表す業務処理と前記第３のノードが表す業務処理とに分岐し、前記第２のノードが表す業務処理に続いて前記第４のノードが表す業務処理が実行される実行順序関係を検出すると、前記作図手段が前記第１のノードから前記第３のノードへの経路上のリンクを作成しないように制御するリンク制御手段と、
を有することを特徴とする業務フローチャート作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務フローチャート作成プログラムおよび業務フローチャート作成装置に関し、業務フローチャートを自動的に作成する業務フローチャート作成プログラムおよび業務フローチャート作成装置に関する。
【背景技術】
【０００２】
近年、業務の改善、効率化によるコストの削減などを目的として、業務の流れを表す業務フローチャートを作図し、既存の業務を分析するという方法がよく用いられている。
業務フローチャートは、業務を構成する処理単位にノードを定義し、各ノードを処理の順に従ってノード間を接続するリンクにより関連付けることで、業務の流れを可視化することができる。
【０００３】
さらに、最近では、企業において内部統制が義務付けられる方向にあり、企業内部における業務の透明性がさらに求められている。業務フローチャートは、このような業務を明確に表して他者に示すといった用途にも非常に有用であり、業務フローチャートへの関心が一層高まっている。
【０００４】
ここで、業務フローチャートを作成するにあたっての手順、手法および表記方法は統一されておらず、作成者は試行錯誤を繰り返しながら業務フローチャートを作成しなければならないため、作成者に対して負担が掛かっている。また、このようにして作成された業務フローチャートは、作成者が異なれば、たとえ同じ業務に関して作成された業務フローチャートであっても、表記が大きく異なる。そのため、各業務フローチャートを参照して業務の流れを把握するためには、様々な表記方法を理解しなければならないといった困難も生じる。
【０００５】
また、業務フローチャートは、１度だけ作成すればよいものではなく、適宜作成し直す必要がある。例えば、時間の経過に伴って、組織内のある部門で実施されていた業務が、別の部門に移管されたり、業務の効率化のため業務の流れ自体が改善されたりする。このような場合には、１度作成した業務フローチャートを新しい業務フローチャートに作成し直す必要がある。そのため、業務の数が多くなるほど業務フローチャートを修正する場合に、多大な労力が必要となるといった問題がある。
【０００６】
ここで、上記の問題に対応するための手段として、業務フローチャート作成ツールの使用が挙げられる。業務フローチャート作成ツールは、作成者に対して業務の要点となる情報のみを入力させ、その情報に基づいて作図を行うことで、業務フローチャートを作成する際の負担を軽減する。例えば、業務フローチャート上で処理を表すノードを作図して、ノード間のリンクのみを作成者に作図させることで、作成者の作図の負担を軽減する方法が知られている（例えば特許文献１参照）。さらに、作成者にノードごとに前後のノードとの参照関係を定義させて、その定義情報に基づいてノード間のリンクを自動的に作成する方法も知られている（例えば特許文献２，３参照）。さらにまた、業務ごとにその業務に属する処理の内容や実行する組織、処理で読み書きする情報を、作成者によって一覧表に入力させ、その表に基づいて自動的にノードおよびノード間のリンクの作図まで行い、作成者の負担を大幅に軽減する方法も知られている（例えば特許文献４参照）。
【０００７】
業務フローチャート作成ツールを用いると、上記のように作成者の負担が大幅に軽減されるだけでなく、ツールによってルール化された表記で作図が行われることで、業務フローチャートごとの表記の差異がなくなるので、業務の流れを統一した表記によって表すことが容易となる。さらに、業務フローチャートに変更が生じた場合にも、作成者が当初入力した業務の要点となる情報を更新するだけで、自動的に業務フローチャートが更新されるため、随時必要となる更新のための労力も削減される。
【特許文献１】特開２００３−３０８４２１号公報
【特許文献２】特開平６−２７４５０４号公報
【特許文献３】特開平９−２３１２８０号公報
【特許文献４】特開平７−２４９０２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上記特許文献２〜４に記載の方法では、業務フローチャート作成ツールが自動的に各ノードを配置し、各ノードに定義された前後のノードとの関連付けによって、業務フローチャートのノード間の実行順序関係を表すリンクを作成する。このとき、ノードの配置によっては、リンクが交差してしまう場合がある。ノード間のリンクが交差してしまうと、業務フローチャートが見にくくなるとともに、交差部分において各ノードがどのような順序であるのかを判別するのが困難となる。また、業務フローチャートのノード間のリンクが交差しないように作成者が手作業で業務フローチャートを修正したとしても、更新の時点で各ノードの配置が変更されると、業務フローチャート作成ツールによって自動的にノード間のリンクが再描画されて、関連線の交差が生じてしまう場合がある。このようなノード間のリンクの交差は、業務の規模が大きくなるほど顕著に現れ、業務フローチャートの理解を妨げる要因となる。
【０００９】
本発明はこのような点に鑑みてなされたものであり、見やすく、業務処理の流れを容易に理解することができる業務フローチャートを自動的に作図する業務フローチャート作成プログラムおよび業務フローチャート作成装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明では、上記課題を解決するために、図１に示すような処理をコンピュータに実行させるための業務フローチャート作成プログラムが提供される。この業務フローチャート作成プログラムを実行するコンピュータ１０は、業務情報記憶手段１１、作図手段１２およびリンク制御手段１３を有する。業務情報記憶手段１１は、業務フローを構成する複数の業務処理と各業務処理を実行する業務組織と業務処理間の実行順序関係とを定義した業務情報を記憶する。作図手段１２は、業務情報記憶手段１１から業務情報を読み出し、業務組織を表すレーンを作成する。そして、作図手段１２は、実行順序関係に従って業務処理を表すノードを作成して業務処理を実行する業務組織に対応するレーン内に配置し、実行順序関係を表すノード間を接続するリンクを作成する。リンク制御手段１３は、作図手段１２がリンクを作成する際、第１のレーン内に第１のノードと第２のノードと第３のノードとが配置され第２のレーン内に第４のノードが配置され、レーン方向に対して第２のノードが第１のノードの後ろかつ第３のノードの前に配置され、レーンの幅方向に対して第３のノードが第２のノードより第２のレーン寄りに配置される配置関係にあり、第１のノードが表す業務処理に続いて第２のノードが表す業務処理と第３のノードが表す業務処理とに分岐し、第２のノードが表す業務処理に続いて第４のノードが表す業務処理が実行される実行順序関係を検出すると、作図手段１２が第１のノードから第３のノードへの経路上のリンクを作成しないように制御する。
【００１１】
このような業務フローチャート作成プログラムによれば、作図手段１２により、業務処理を実行する業務組織を表すレーンが作成される。そして、作図手段１２により、実行順序関係に従って業務処理を表すノードが作成されて、業務処理を実行する業務組織に対応するレーン内に配置され、実行順序関係を表すノード間を接続するリンクが作成される。また、リンク制御手段１３により、作図手段１２がリンクを作成する際、第１のレーン内に第１のノードと第２のノードと第３のノードとが配置され第２のレーン内に第４のノードが配置され、レーン方向に対して第２のノードが第１のノードの後ろかつ第３のノードの前に配置され、レーンの幅方向に対して第３のノードが第２のノードより第２のレーン寄りに配置される配置関係にあり、第１のノードが表す業務処理に続いて第２のノードが表す業務処理と第３のノードが表す業務処理とに分岐し、第２のノードが表す業務処理に続いて第４のノードが表す業務処理が実行される実行順序関係が検出されると、作図手段１２が第１のノードから第３のノードへの経路上のリンクを作成しないように制御される。
【００１２】
また、上記課題を解決するために、業務フローを可視化した業務フローチャートを自動的に作成する業務フローチャート作成装置において、業務フローを構成する複数の業務処理と各業務処理を実行する業務組織と業務処理間の実行順序関係とを定義した業務情報を記憶する業務情報記憶手段と、業務情報記憶手段から業務情報を読み出し、業務組織を表すレーンを作成し、実行順序関係に従って業務処理を表すノードを作成して当該業務処理を実行する業務組織に対応するレーン内に配置し、実行順序関係を表すノード間を接続するリンクを作成する作図手段と、作図手段がリンクを作成する際、第１のレーン内に第１のノードと第２のノードと第３のノードとが配置され第２のレーン内に第４のノードが配置され、レーン方向に対して第２のノードが第１のノードの後ろかつ第３のノードの前に配置され、レーンの幅方向に対して第３のノードが第２のノードより第２のレーン寄りに配置される配置関係にあり、第１のノードが表す業務処理に続いて第２のノードが表す業務処理と第３のノードが表す業務処理とに分岐し、第２のノードが表す業務処理に続いて第４のノードが表す業務処理が実行される実行順序関係を検出すると、作図手段が第１のノードから第３のノードへの経路上のリンクを作成しないように制御するリンク制御手段と、を有することを特徴とする業務フローチャート作成装置が提供される。
【００１３】
このような業務フローチャート作成装置によれば、作図手段により、業務処理を実行する業務組織を表すレーンが作成される。そして、作図手段により、実行順序関係に従って業務処理を表すノードが作成されて、業務処理を実行する業務組織に対応するレーン内に配置され、実行順序関係を表すノード間を接続するリンクが作成される。また、リンク制御手段により、作図手段がリンクを作成する際、第１のレーン内に第１のノードと第２のノードと第３のノードとが配置され第２のレーン内に第４のノードが配置され、レーン方向に対して第２のノードが第１のノードの後ろかつ第３のノードの前に配置され、レーンの幅方向に対して第３のノードが第２のノードより第２のレーン寄りに配置される配置関係にあり、第１のノードが表す業務処理に続いて第２のノードが表す業務処理と第３のノードが表す業務処理とに分岐し、第２のノードが表す業務処理に続いて第４のノードが表す業務処理が実行される実行順序関係が検出されると、作図手段が第１のノードから第３のノードへの経路上のリンクを作成しないように制御される。
【発明の効果】
【００１４】
本発明では、業務フローチャートにおける業務処理を表す各ノードを実行順序関係を表すリンクで接続する際に、業務処理の分岐後のレーン内のリンクとレーンをまたがるリンクのうち、レーン内のリンクを作成しないことでリンクの交差を解消することとした。これにより、簡潔で見やすく、業務処理の流れを容易に理解できる業務フローチャートを作成できるようになる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面を参照して詳細に説明する。まず、本発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、実施の形態に適用される発明の概念図である。図１に示されるコンピュータ１０は、業務フローチャートにおける業務処理を表す各ノードを実行順序関係を表すリンクで接続する際、業務処理の分岐後のレーン内のリンクとレーンをまたがるリンクのうち、レーン内のリンクを作成しないことでリンクの交差を解消する。
【００１６】
コンピュータ１０は、業務情報記憶手段１１、作図手段１２およびリンク制御手段１３を有する。
業務情報記憶手段１１は、業務フローを構成する複数の業務処理と各業務処理を実行する業務組織と業務処理間の実行順序関係とを定義した業務情報を記憶する。
【００１７】
作図手段１２は、業務情報記憶手段１１から業務情報を読み出し、業務組織を表すレーンを作成する。そして、作図手段１２は、実行順序関係に従って業務処理を表すノードを作成して業務処理を実行する業務組織に対応するレーン内に配置し、実行順序関係を表すノード間を接続するリンクを作成する。作図手段１２は、上記ノードおよびリンクの作成によって業務フローチャート２１を作図する。
【００１８】
リンク制御手段１３は、作図手段１２がノード間のリンクを作成する際、業務処理間の実行順序関係に基づいて、作図手段１２を制御する。具体的には、リンク制御手段１３は、第１のレーン内に第１のノードと第２のノードと第３のノードとが配置され第２のレーン内に第４のノードが配置され、レーン方向に対して第２のノードが第１のノードの後ろかつ第３のノードの前に配置され、レーンの幅方向に対して第３のノードが第２のノードより第２のレーン寄りに配置される配置関係にあり、第１のノードが表す業務処理に続いて第２のノードが表す業務処理と第３のノードが表す業務処理とに分岐し、第２のノードが表す業務処理に続いて第４のノードが表す業務処理が実行される実行順序関係を検出すると、作図手段１２が第１のノードから第３のノードへの経路上のリンクを作成しないように制御する。
【００１９】
このような業務フローチャート作成プログラムによれば、リンク制御手段１３により、作図手段１２がノード間のリンクを作成する際に、業務処理間の実行順序関係に基づいて、業務処理の分岐後のレーン内のリンクとレーンをまたがるリンクのうち、レーン内のリンクを作成しないよう作図手段１２が制御され、リンクの交差が解消される。
【００２０】
これにより、簡潔で見やすく、業務処理の流れを容易に理解できる業務フローチャートを作成することができる。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００２１】
図２は、業務フローチャート作成装置のハードウェア構成を示す図である。
業務フローチャート作成装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５および通信インタフェース１０６が接続されている。
【００２２】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。
【００２３】
ＨＤＤ１０３には、業務フローチャート作成装置１００上のＯＳやアプリケーションプログラムが扱うデータが格納される。
グラフィック処理装置１０４には、モニタ１６０が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１６０の画面に表示させる。入力インタフェース１０５には、キーボード１７０とマウス１８０とが接続されている。入力インタフェース１０５は、キーボード１７０やマウス１８０から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００２４】
通信インタフェース１０６は、ネットワーク１９０に接続されている。通信インタフェース１０６は、ネットワーク１９０を介して、他のコンピュータとの間でデータの送受信を行う。
【００２５】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、業務フローチャート作成装置１００の機能構成について説明する。
【００２６】
図３は、業務フローチャート作成装置の機能を示すブロック図である。
業務フローチャート作成装置１００は、業務情報記憶部１１０、２次元配置部１２０、座標算出部１３０、作図部１４０およびリンク制御部１５０を有する。業務フローチャート作成装置１００が作成する業務フローチャートは、時系列に上から下へと業務処理を表すノードを配置し、業務フローを可視化したものである。
【００２７】
業務情報記憶部１１０は、業務フローを構成する複数の業務処理と各業務処理を実行する業務組織と業務処理間の実行順序関係とを定義した業務情報を記憶する。業務フローチャートの作成者は、上記の業務情報をキーボード１７０やマウス１８０を用いた入力によって業務情報記憶部１１０に格納する。ここで、業務情報を管理するテーブルとしては、業務情報テーブルがある（後述する）。
【００２８】
ここで、業務フローチャートにおいて、業務処理を表すノードは、長方形やひし形などの記号を用いて描画される。そのため、作成者は、これらの記号の大きさや記号を配置する間隔を決定するためのパラメータを定義し、上記の入力方法によって業務情報記憶部１１０に描画情報として予め格納する。ここで、描画情報を管理するテーブルとしては、記号サイズテーブルおよびレーンサイズテーブルがある（後述する）。
【００２９】
２次元配置部１２０は、業務情報記憶部１１０に格納された業務情報に基づいて、業務組織を表すレーンを作成する。そして、２次元配置部１２０は、実行順序関係に従って業務処理を表すノードを作成して、業務処理を実行する業務組織に対応するレーン内に配置する。このとき、２次元配置部１２０は、レーンを行および列に分割し、予め決められた配置のルールに基づいて、分割した行および列に対応付けてノードを配置する。２次元配置部１２０は、ノードの行および列の配置とノードとの対応付けを定義した情報である２次元配置情報を業務情報記憶部１１０に格納する。ここで、２次元配置情報を管理するテーブルとしては、２次元配置テーブルがある（後述する）。
【００３０】
座標算出部１３０は、業務情報記憶部１１０に格納された業務情報、描画情報および２次元配置情報に基づいて、ノードを描画するための座標情報を作成する。座標算出部１３０は、座標情報を業務情報記憶部１１０に格納する。ここで、座標情報を管理するテーブルとしては、座標テーブルがある（後述する）。
【００３１】
作図部１４０は、業務情報記憶部１１０に格納された座標情報に基づいて、業務フローチャートにおけるノードを作成する。そして、作図部１４０は、業務処理間の実行順序関係に基づいて、ノード間のリンクを作成する。
【００３２】
リンク制御部１５０は、作図部１４０が上記リンクを作成する際に、業務処理間の実行順序関係に基づいて、業務処理の分岐後のレーン内のリンクとレーンをまたがるリンクのうち、レーン内のリンクを作成しないよう作図部１４０を制御する。
【００３３】
図４は、業務情報テーブルのデータ構造例を示す図である。業務情報テーブル１１１には、作成者が業務情報入力画面から入力した情報が設定される。この業務情報入力画面も図４と同じ構成であるため、便宜的に図４を業務情報テーブル１１１、または業務情報入力画面１１１ａとして説明する。業務情報入力画面１１１ａは、業務フローチャート作成装置１００によって例えばモニタ１６０に表示される。
【００３４】
業務情報テーブル１１１には、項目番号を示す項目、業務を示す項目、処理の区分を示す項目、処理（区分、内容、部門）を示す項目、入力（内容、部門）を示す項目、出力（内容、部門）を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの処理についての情報を構成する。
【００３５】
項目番号を示す項目には、表の行順に付与された番号が設定される。項目番号の小さい行から業務処理が流れる。業務を示す項目には、業務の名称が設定される。業務を示す項目には、業務の分類ごとに最も項目番号の小さい行に１度だけ設定されればよい。例えば、業務情報テーブル１１１に表されている項目番号“１”〜“７”の処理は、全て“販売”という業務に分類される処理であるため、項目番号“１”に対応する業務を示す項目に“販売”と設定されるのみでよく、この場合、項目番号“２”〜“７”に対応する業務を示す項目は空欄となる。
【００３６】
処理（区分）を示す項目には、通常の処理であるかｉｆ処理であるかといった処理の区分が設定される。通常の処理の場合には、処理（区分）の欄は空欄となる。表中の“ｉｆ”は、該当する処理がｉｆ処理であることを示している。また、“ｉｆ−ｙｅｓ”、“ｉｆ−ｎｏ”は、ｉｆ処理に続く判定後の処理を示している。“ｉｆ−ｙｅｓ”は、ｉｆ処理の判定が真であった場合に実行される処理である。“ｉｆ−ｎｏ”は、ｉｆ処理の判定が偽であった場合に実行される処理である。“ｅｎｄｉｆ”は、“ｉｆ”処理に続く処理が全て完了したことを示す記号であり、ｉｆ処理後に続く処理がその後に続けて設定される。処理（内容）を示す項目には、処理の内容が設定される。処理（部門）を示す項目には、上記処理の区分および内容によって定義される処理を実行する部門および担当が設定される。
【００３７】
入力（内容）を示す項目には、上記処理に対する入力内容を示す名称が設定される。例えば、データの名称や媒体の名称が設定される。入力（部門）には、上記入力元となる部門および担当が設定される。ここで、上記処理に対する入力が存在しない場合は、入力（内容、部門）の欄は空欄となる。
【００３８】
出力（内容）を示す項目には、上記処理からの出力内容を示す名称が設定される。例えば、データの名称や媒体の名称が設定される。出力（部門）には、上記出力先となる部門および担当などが設定される。ここで、上記処理に対する出力が存在しない場合は、出力（内容、部門）の欄は空欄となる。
【００３９】
上記の入力および出力の内容は、データの名称や媒体の名称が一般的であるが、本発明の業務フローチャート作成プログラムにおいては、特にこれらに限らない。入力および出力の内容は、例えば、口頭での情報でもよい。また、上記のように、各処理における入力および出力は、業務フローチャートの作図にあたって任意に設定可能である。このため、各処理の入力や出力の内容が明確に決定されないような業務においても、業務フローチャートで可視化することが可能である。
【００４０】
業務情報テーブル１１１には、例えば、項目番号が“１”、業務が“販売”、処理（区分）が空欄、処理（内容）が“受付”、処理（部門）が“本屋”、入力（内容）が“本の注文”、入力（部門）が“顧客”、出力（内容）が空欄、出力（部門）が空欄という情報が設定される。
【００４１】
なお、作成者による業務情報入力画面１１１ａにおける処理（部門）、入力（部門）および出力（部門）を示す項目への入力の際には、予め定義された部門および担当の名称の中から、例えばプルダウン方式による選択を可能とすることが望ましい。このようにすると、部門欄へ誤った部門名を入力してしまうといった入力ミスが無くなるとともに、入力作業を迅速に行うことができる。また、業務情報入力画面１１１ａにおける業務を示す項目に関しても、上記と同様に予め定義された業務の名称の中から選択を可能とすることが望ましい。
【００４２】
図５は、部門・担当テーブルのデータ構造例を示す図である。部門・担当テーブル１１２は、業務情報記憶部１１０に格納されている。部門・担当テーブル１１２には、部門ＩＤを示す項目、部門名称を示す項目、レーン幅サイズを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの部門についての情報を構成する。
【００４３】
部門ＩＤを示す項目には、部門の識別番号が設定される。部門名称を示す項目には、部門の名称が設定される。部門名称を示す項目は、業務フローチャートの作成者が、部門の名称を定義するためのインタフェースに基づいて、名称を予め入力することで設定される。なお、部門名称を示す項目は、部門の名称に限らず、担当する人の名称が設定されても構わない。レーン幅サイズを示す項目には、各部門における業務フローチャートを作図するためのレーンの幅を表す値が設定される。レーン幅サイズを示す項目に設定される値は、そのレーン内でのノードの配置によって、座標算出部１３０により自動的に計算されて設定される。
【００４４】
部門・担当テーブル１１２には、例えば、部門ＩＤが“１”、部門名称が“顧客”、レーン幅サイズが“１５２”という情報が設定される。
なお、業務情報入力画面１１１ａの処理（部門）、入力（部門）および出力（部門）を示す項目として作成者に選択を促すための選択対象は、部門・担当テーブル１１２の部門名称に設定された名称から抽出することができる。
【００４５】
図６は、業務テーブルのデータ構造例を示す図である。業務テーブル１１３は、業務情報記憶部１１０に格納されている。業務テーブル１１３には、業務ＩＤを示す項目、業務名称を示す項目、レーン高さサイズを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの業務についての情報を構成する。
【００４６】
業務ＩＤを示す項目には、業務の識別番号が設定される。業務名称を示す項目には、業務の名称が設定される。レーン高さサイズを示す項目には、対応する業務を作成するレーンの高さを表す値が設定される。レーン高さサイズを示す項目に設定される値は、そのレーン内でのノードの配置によって、座標算出部１３０により自動的に計算されて設定される。
【００４７】
業務テーブル１１３には、例えば、業務ＩＤが“１”、業務名称が“販売”、レーン高さサイズが“５０５”という情報が設定される。
なお、業務情報入力画面１１１ａの業務を示す項目として作成者に選択を促すための選択対象は、業務テーブル１１３の業務名称に設定された名称から抽出することができる。
【００４８】
図７は、記号サイズテーブルのデータ構造例を示す図である。記号サイズテーブル１１４は、業務情報記憶部１１０に格納されている。記号サイズテーブル１１４の各項目の設定は、作成者によって予め定義される。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの記号についての情報を構成する。
【００４９】
記号サイズテーブル１１４には、記号種別を示す項目、幅略称を示す項目、幅サイズを示す項目、高さ略称を示す項目、高さサイズを示す項目が設けられている。記号種別を示す項目には、処理の種別が設定される。業務フローチャートにおいて処理を表す記号は、処理の名称によって指定することができる。例えば、処理部、入力部、出力部では長方形が指定され、ｉｆではひし形が指定される。幅略称を示す項目には、対応する記号の幅を表す文字列が設定される。幅サイズを示す項目には、対応する記号の幅を表す数値が設定される。高さ略称を示す項目には、対応する記号の高さを表す文字列が設定される。高さサイズを示す項目には、対応する記号の高さを表す数値が設定される。
【００５０】
記号サイズテーブル１１４には、例えば、記号種別が“処理部”、幅略称が“ｐ＿ｗ”、幅サイズが“６０”、高さ略称が“ｐ＿ｈ”、高さサイズが“３０”という情報が設定される。
【００５１】
なお、記号サイズテーブル１１４には、記号種別として“記号幅の最大値”が設定される。記号種別“記号幅の最大値”に対応する幅サイズは、業務フローチャートの作図に使用される記号のうち、最大の幅をもつ記号の幅サイズの値が設定される。記号サイズテーブル１１４の例では、記号種別“記号幅の最大値”に対応する幅サイズとして、ｉｆの幅サイズの値である“１００”が設定される。記号種別“記号幅の最大値”に対応する高さ略称および高さサイズに関する情報の設定は不要であり、これらの項目の設定は“−（ハイフン）”となる。
【００５２】
図８は、レーンサイズテーブルのデータ構造例を示す図である。レーンサイズテーブル１１５は、業務情報記憶部１１０に格納されている。レーンサイズテーブル１１５の各項目の設定は、作成者によって予め定義される。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのレーンの余白部分の寸法についての情報を構成する。
【００５３】
レーンサイズテーブル１１５には、寸法名称を示す項目、幅略称を示す項目、幅サイズを示す項目、高さ略称を示す項目、高さサイズを示す項目が設けられている。
寸法名称を示す項目には、レーンの余白部分の長さやノード間のリンク部分の長さの名称が設定される。幅略称を示す項目には、寸法名称で指定される幅を表す文字列が設定される。幅サイズを示す項目には、寸法名称で指定される幅を表す数値が設定される。高さ略称を示す項目には、寸法名称で指定される高さを表す文字列が設定される。高さサイズを示す項目には、寸法名称で指定される高さを表す数値が設定される。
【００５４】
レーンサイズテーブル１１５としては、例えば、寸法名称が“トップ余白高さ”、幅略称および幅サイズが“−（ハイフン）”、高さ略称が“ｔ＿ｈ”、高さサイズが“１０”という情報が設定される。寸法名称が“トップ余白高さ”である場合、その名称で指定される情報は、高さの情報のみであるため、幅略称および幅サイズの設定は不要であり、これらの項目の設定は“−（ハイフン）”となる。
【００５５】
図９は、記号およびレーンの各部の寸法を表す模式図である。図９に示される各部の略称は、記号サイズテーブル１１４およびレーンサイズテーブル１１５に示される各部の略称に対応している。
【００５６】
“ｐ＿ｗ”は、記号サイズテーブル１１４における記号種別“処理部”の幅略称を示しており、対応する幅サイズは“６０”である。“ｐ＿ｈ”は、記号サイズテーブル１１４における記号種別“処理部”の高さ略称を示しており、対応する高さサイズは“３０”である。なお、“ｉｎ＿ｗ”、“ｉｎ＿ｈ”、“ｏ＿ｗ”、“ｏ＿ｈ”、“ｉｆ＿ｗ”、“ｉｆ＿ｈ”、“ｅ＿ｗ”、“ｅ＿ｈ”に関しても同様に記号サイズテーブル１１４の各部の幅や高さの略称に対応する。
【００５７】
また、“ｌ＿ｗ”は、レーンサイズテーブル１１５における寸法名称“セル左余白幅”の幅略称を示しており、対応する幅サイズは、“４６”である。“ｔ＿ｈ”は、レーンサイズテーブル１１５における寸法名称“トップ余白高さ”の高さ略称を示しており、対応する高さサイズは“１０”である。なお、“ｂ＿ｈ”、“ｒ＿ｗ”、“ｒｅ＿ｈ”、“ｒｅ２＿ｈ”に関しても同様にレーンサイズテーブル１１５の各部の幅や高さの略称に対応する。
【００５８】
ここで、Ｘ座標は、各レーンの左上端を原点として幅方向に左から右へ値が増加する座標系とし、Ｙ座標は、各レーンの左上端を原点として高さ方向に上から下へ値が増加する座標系とする。Ｘ座標およびＹ座標は、レーンに定義される。
【００５９】
図１０は、２次元配置テーブルのデータ構造例を示す図である。２次元配置テーブル１１６は、業務情報記憶部１１０に格納されている。２次元配置部１２０は、業務組織を表すレーンを列に対応させて、例えば、２次元配置テーブル１１６の“列１（顧客）”、“列２（本屋）”、“列３（卸業者）”のように定義する。そして、２次元配置部１２０は、レーンの高さ方向を行に分割し、例えば、２次元配置テーブル１１６の“行１”、“行２”、“行３”のように定義する。そして、２次元配置部１２０は、予め決められた配置のルールに基づいて、分割した行および列に対応付けて業務処理を表すノードを配置する。
【００６０】
２次元配置部１２０は、業務情報記憶部１１０に格納された業務情報テーブル１１１を参照して、２次元配置テーブル１１６を作成する。２次元配置テーブル１１６では、各処理は業務情報テーブル１１１の項目番号に対応付けたアルファベットで表現される。アルファベットは、業務情報テーブル１１１における“処理”であれば“Ｐ”、“入力”であれば“Ｉ”、“出力”であれば“Ｏ”とし、これらの後に業務情報テーブル１１１の項目番号を付与する。このようにして、２次元配置テーブル１１６には、例えば、行１列１にＩ１（本の注文）、行１列２にＰ１（受付）という情報が予め決められた配置のルールに基づいて設定される。
【００６１】
座標算出部１３０は、このようにして作成された２次元配置テーブル１１６に基づいて、各ノードの実行順序関係の情報を取得することができる。
図１１は、各ノードの実行順序関係を示す模式図である。
【００６２】
２次元配置１１６ａは、２次元配置テーブル１１６に基づく各ノードの実行順序関係を表す。各ノードの実行順序は、同じ行内では、入力（記号：Ｉ）、処理（記号：Ｐ）、出力（記号：Ｏ）の順に定義される。さらに、各ノードの実行順序は、行番号の小さい順に上から下へといった順に定義される。入力や出力が定義されていない場合は、そのノードを飛ばして次のノードへと実行順序が定義される。例えば、ある処理“Ｐ１”に対して、出力“Ｏ１”がある場合は、出力“Ｏ１”から次の処理“Ｐ２”へと処理がつなげられる。出力“Ｏ１”がない場合は、処理“Ｐ１”から次の処理“Ｐ２”へと処理がつなげられる。
【００６３】
座標算出部１３０は、２次元配置テーブル１１６を参照することで、２次元配置１１６ａで示したように、各ノードの実行順序関係の情報を取得する。そして、座標算出部１３０は、この情報に基づいて各ノードを配置する座標を算出する。
【００６４】
図１２および図１３は、座標テーブルのデータ構造例を示す図である。座標テーブル１１７は、業務情報記憶部１１０に格納されている。座標テーブル１１７は、業務情報テーブル１１１、記号サイズテーブル１１４、レーンサイズテーブル１１５および２次元配置テーブル１１６に基づいて、座標算出部１３０によって値が設定される。座標テーブル１１７には、２次元配置を示す項目、記号を示す項目、内容を示す項目、業務を示す項目、部門を示す項目、幅を示す項目、高さを示す項目、中心Ｘ座標を示す項目、中心Ｙ座標を示す項目、上接点（Ｘ座標、Ｙ座標）を示す項目、下接点（Ｘ座標、Ｙ座標）を示す項目、右接点（Ｘ座標、Ｙ座標）を示す項目、左接点（Ｘ座標、Ｙ座標）を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのノードについての情報を構成する。
【００６５】
２次元配置を示す項目には、ノードに対する２次元配置テーブル１１６での行および列の情報が設定される。記号を示す項目には、ノードの処理区分が設定される。内容を示す項目には、処理の内容が設定される。業務を示す項目には、ノードが分類される業務の名称が設定される。部門を示す項目には、処理を実行する部門の名称や担当する人の名称が設定される。幅を示す項目には、ノードとして描画する記号の幅を表す値が設定される。高さを示す項目には、ノードとして描画する記号の高さを表す値が設定される。中心Ｘ座標を示す項目には、ノードの中心を配置するＸ座標が設定される。中心Ｙ座標を示す項目には、ノードの中心を配置するＹ座標が設定される。上接点（Ｘ座標、Ｙ座標）を示す項目には、対応するノードと直前のノードとを接続するリンクが、対応するノードと接する点のＸ座標およびＹ座標が設定される。下接点（Ｘ座標、Ｙ座標）を示す項目には、対応するノードと直後のノードとを接続するリンクが、対応するノードと接する点のＸ座標およびＹ座標が設定される。右接点（Ｘ座標、Ｙ座標）を示す項目には、対応するノードと直後のノードとを接続するリンクが、対応するノードと接する点のＸ座標およびＹ座標が設定される。左接点（Ｘ座標、Ｙ座標）を示す項目には、対応するノードと直前のノードとを接続するリンクが、対応するノードと接する点のＸ座標およびＹ座標が設定される。座標テーブル１１７には、ノードの実行順に時系列に上から下へとデータが格納される。
【００６６】
上記に説明したように、ノードの上下左右のリンクの接点に関して、あるノードから次のノードを接続するリンクは、ノードの右接点または下接点に接続される。また、あるノードと直前のノードを接続するリンクは、ノードの左接点または上接点に接続される。ここで、ノードがｉｆ処理であった場合には、ｉｆ処理のノードの下接点にｉｆ−ｙｅｓ処理を表すノードとのリンクを接続し、ｉｆ処理のノードの左接点にｉｆ−ｎｏ処理を表すノードとのリンクを接続する。すなわち、２次元配置１１６ａにおけるｉｆ−ｎｏ処理“Ｐ４”は、業務フローチャート上ではレーンの幅方向に分岐した処理として、ｉｆ−ｙｅｓ処理“Ｐ３”よりも列３（“卸業者”のレーン）寄りに配置される。
【００６７】
座標テーブル１１７には、例えば、２次元配置が“１行１列”、記号が“入力”、内容が“本の注文”、業務が“販売”、部門が“顧客”、幅が“６０”、高さが“４０”、中心Ｘ座標が“７６”、中心Ｙ座標が“３０”、上接点（Ｘ座標）が“７６”、上接点（Ｙ座標）が“１０”、下接点（Ｘ座標）が“７６”、下接点（Ｙ座標）が“５０”、右接点（Ｘ座標）が“４６”、右接点（Ｙ座標）が“３０”、左接点（Ｘ座標）が“１０６”、左接点（Ｙ座標）が“３０”という情報が設定される。
【００６８】
次に、以上のような構成における業務フローチャート作成装置１００での業務フローチャート作成処理の詳細を説明する。
図１４は、業務フローチャート作成の手順を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。
【００６９】
［ステップＳ１００］作成者は、業務情報入力画面１１１ａに従って、業務情報を入力する。業務情報記憶部１１０は、入力された情報を業務情報テーブル１１１として記憶する。
【００７０】
［ステップＳ２００］２次元配置部１２０は、業務情報テーブル１１１を参照して、２次元配置処理を実行する。
［ステップＳ３００］座標算出部１３０は、業務情報記憶部１１０に記憶された業務情報テーブル１１１、記号サイズテーブル１１４、レーンサイズテーブル１１５および２次元配置テーブル１１６に基づいて座標算出処理を実行する。
【００７１】
［ステップＳ４００］作図部１４０は、業務情報記憶部１１０に記憶された座標テーブル１１７に基づいて、業務フローチャートの作図処理を実行する。
以下に、上記ステップＳ２００，３００，４００で示した処理の詳細を説明する。まず、ステップＳ２００における２次元配置処理について説明する。
【００７２】
図１５は、２次元配置処理の手順を示すフローチャートである。以下、図１５に示す処理をステップ番号に沿って説明する。
［ステップＳ２０１］２次元配置部１２０は、業務情報テーブル１１１から定義されている部門名を取得する。
【００７３】
［ステップＳ２０２］２次元配置部１２０は、各部門名に対応付けられたレーンを作成する。また、２次元配置部１２０は、各レーンを行および列に分割して管理する。
［ステップＳ２０３］２次元配置部１２０は、業務情報テーブル１１１のテーブル参照行を示す行カウンタＮを１に初期化する。
【００７４】
［ステップＳ２０４］２次元配置部１２０は、業務情報テーブル１１１のＮ行目を参照して、テーブルに設定されている業務情報を取得する。
［ステップＳ２０５］２次元配置部１２０は、業務情報に含まれる入力、処理、出力の各ノードを対応するレーンの行に配置し、２次元配置テーブル１１６に配置結果のデータを設定する。２次元配置部１２０は、２次元配置テーブル１１６を業務情報記憶部１１０に格納する。
【００７５】
［ステップＳ２０６］２次元配置部１２０は、行カウンタＮの値を１増加させる。
［ステップＳ２０７］２次元配置部１２０は、業務情報テーブル１１１のＮ行目にデータが無くなったか否かを判定する。データが無くなった場合、２次元配置処理は完了する。データが存在する場合、処理がステップＳ２０４に移される。
【００７６】
次にステップＳ３００における座標算出処理について説明する。
図１６は、座標算出処理の手順を示すフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。なお、以下で記載する“ｐ＿ｗ”、“ｐ＿ｈ”、“ｌ＿ｗ”、“ｔ＿ｈ”といったパラメータは、全て記号サイズテーブル１１４およびレーンサイズテーブル１１５で定義されるものである。また、記号のサイズを表すパラメータとしては、全て記号種別が処理部である場合を想定して説明するが、入力部、出力部、ｉｆなどの記号種別に関しても同様となる。
【００７７】
［ステップＳ３０１］座標算出部１３０は、２次元配置テーブル１１６のテーブル参照行を示す行カウンタＮを１に初期化する。
［ステップＳ３０２］座標算出部１３０は、２次元配置テーブル１１６のＮ行目を参照して、各ノードの２次元配置データを取得する。
【００７８】
［ステップＳ３０３］座標算出部１３０は、行カウンタＮの値が１より大きいか否かを判定する。Ｎが１より大きい場合、処理がステップＳ３０４に移される。Ｎが１より大きくない、すなわちＮが１である場合、処理がステップＳ３０６に移される。
【００７９】
［ステップＳ３０４］座標算出部１３０は、ノードがｉｆ−ｎｏ処理以外であるか否かを判定する。ｉｆ−ｎｏ処理以外である場合、処理がステップＳ３０５に移される。ｉｆ−ｎｏ処理以外でない、すなわちｉｆ−ｎｏ処理である場合、処理がステップＳ３０７に移される。
【００８０】
［ステップＳ３０５］座標算出部１３０は、２次元配置データを参照して、座標算出の対象となっているノードの直前のノードからのリンクの矢印の向きを判定する。リンクの矢印が右向き（以降の説明では、右展開と呼ぶこととする）である場合、処理がステップＳ３０８に移される。リンクの矢印の向きが左向き（以降の説明では、左展開と呼ぶこととする）である場合、処理がステップＳ３０９に移される。リンクの矢印の向きが右展開または左展開以外の場合、処理がステップＳ３１０に移される。
【００８１】
［ステップＳ３０６］座標算出部１３０は、ノードの中心を配置するＸ座標をＸ＝“ｌ＿ｗ”＋１／２×“ｐ＿ｗ”、Ｙ座標をＹ＝“ｔ＿ｈ”＋１／２×“ｐ＿ｈ”として計算する。
【００８２】
［ステップＳ３０７］座標算出部１３０は、ノードの中心を配置するＸ座標をＸ＝（同レーン内のノードのうち１つ前に定義されたノードの中心の配置Ｘ座標）＋１／２×“ｍａｘ＿ｗ”＋１／２×“ｐ＿ｗ”、Ｙ座標をＹ＝（同レーン内のノードのうち１つ前に定義されたノードの下接点のＹ座標）＋“ｒｅ２＿ｈ”＋１／２×“ｐ＿ｈ”として計算する。
【００８３】
［ステップＳ３０８］座標算出部１３０は、ノードの中心を配置するＸ座標をＸ＝“ｌ＿ｗ”＋１／２×“ｐ＿ｗ”として計算する。そして、座標算出部１３０は、ノードの中心を配置するＹ座標を、対象のノードと接続される直前のノードのＹ座標とする。
【００８４】
［ステップＳ３０９］座標算出部１３０は、ノードの中心を配置するＸ座標をＸ＝“ｌ＿ｗ”＋１／２×“ｐ＿ｗ”、Ｙ座標をＹ＝（全てのノードのうち１つ前に定義されたノードの下接点のＹ座標）＋“ｒｅ＿ｈ”＋１／２×“ｐ＿ｈ”として計算する。ここで、この式で計算されたＹ座標でノードを配置した場合に、他のノードと重なるような場合には、Ｙ座標の値にさらに“ｒｅ２＿ｈ”を加算して、ノード同士が重ならないように高さ方向の位置を調節する。
【００８５】
［ステップＳ３１０］座標算出部１３０は、ノードの中心を配置するＸ座標を、対象のノードと接続される直前のノードがある場合は、直前のノードと同じＸ座標とし、ｅｎｄｉｆのように接続される直前のノードが無い場合は、対応するｉｆ処理などのノードと同じＸ座標とする。また、座標算出部１３０は、対象のノードと接続される直前のノードがある場合は、ノードの中心を配置するＹ座標をＹ＝（同レーン内のノードのうち１つ前に定義されたノードの下接点のＹ座標）＋“ｒｅ＿ｈ”＋１／２×“ｐ＿ｈ”として計算し、ｅｎｄｉｆのように接続される直前のノードが無い場合は、Ｙ＝（同レーン内のノードのうち１つ前に定義されたノードの下接点のＹ座標）＋“ｒｅ２＿ｈ”＋１／２×“ｅ＿ｈ”として計算する。
【００８６】
［ステップＳ３１１］座標算出部１３０は、ノードにおけるリンクの接続点を算出する。
［ステップＳ３１２］座標算出部１３０は、ノードが配置されるレーンの幅を再計算する。
【００８７】
［ステップＳ３１３］座標算出部１３０は、２次元配置テーブル１１６の参照行を示す行カウンタＮの値を１増加させる。
［ステップＳ３１４］座標算出部１３０は、２次元配置テーブル１１６のＮ行目にデータが無くなったか否かを判定する。データが無くなった場合、座標算出処理は完了する。データが存在する場合、処理がステップＳ３０２に移される。
【００８８】
次にステップＳ４００における作図処理について説明する。
図１７は、作図処理の手順を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。
【００８９】
［ステップＳ４０１］作図部１４０は、座標テーブル１１７のテーブル参照行を示す行カウンタＮを１に初期化する。
［ステップＳ４０２］作図部１４０は、座標テーブル１１７のＮ行目を参照して、各ノードの座標データを取得する。
【００９０】
［ステップＳ４０３］作図部１４０は、座標データに基づいてノードを作成する。
［ステップＳ４０４］リンク制御部１５０は、上記ステップＳ４０３で作成されたノードの処理区分を判定する。ノードの処理区分が、ｉｆ−ｙｅｓ処理、ｉｆ−ｎｏ処理、ｅｎｄｉｆ処理以外の場合、処理がステップＳ４０５に移される。ノードの処理区分が、ｉｆ−ｙｅｓ処理の場合、処理がステップＳ４０６に移される。ノードの処理区分が、ｉｆ−ｎｏ処理の場合、処理がステップＳ４０７に移される。ノードの処理区分が、ｅｎｄｉｆ処理の場合、処理がステップＳ４０８に移される。
【００９１】
［ステップＳ４０５］作図部１４０は、上記ステップＳ４０３で作成したノードと直前のノードとを処理の実行順序関係を表すリンクである矢印で接続する。ここで、直前のノードとは、実行順序関係により対象のノードの直前に実行されるノードである。通常は、座標テーブル１１７の上から順に処理は流れるが、作図部１４０は、例えば、対象のノードがｉｆ−ｙｅｓ処理またはｉｆ−ｎｏ処理である場合、直前のノードをｉｆ処理を表すノードとしたり、ｉｆ−ｙｅｓ処理の出力とｉｆ−ｎｏ処理とをリンクで接続しないなどの制御を行う。
【００９２】
［ステップＳ４０６］リンク制御部１５０は、作図対象となっているｉｆ−ｙｅｓ処理を表すノードに対応するｉｆ−ｎｏ処理を表すノードが既に作成されており、さらにそのｉｆ−ｎｏ処理を表すノードが左展開により別のレーンの処理とリンクで接続されているか否かを判定する。ｉｆ−ｎｏ処理が既に作成されており、左展開のリンクが接続されている場合、対象のｉｆ−ｙｅｓ処理を表すノードの上に“Ｙｅｓ”と表記して、処理がステップＳ４０８に移される。ｉｆ−ｎｏ処理が作成されていない、または作成されていても左展開のリンクが接続されていない場合、処理がステップＳ４０５に移される。
【００９３】
［ステップＳ４０７］リンク制御部１５０は、作図対象となっているｉｆ−ｎｏ処理を表すノードに対応するｉｆ−ｙｅｓ処理を表すノードが既に作成されており、さらにそのｉｆ−ｙｅｓ処理を表すノードが右展開により別のレーンの処理とリンクで接続されているか否かを判定する。ｉｆ−ｙｅｓ処理が作成されており、右展開のリンクが接続されている場合、対象のｉｆ−ｎｏ処理を表すノードの上に“Ｎｏ”と表記して、処理がステップＳ４０８に移される。ｉｆ−ｙｅｓ処理が作成されていない、または作成されていても右展開のリンクが接続されていない場合、処理がステップＳ４０５に移される。
【００９４】
［ステップＳ４０８］作図部１４０は、座標テーブル１１７の参照行を示す行カウンタＮの値を１増加させる。
［ステップＳ４０９］作図部１４０は、座標テーブル１１７のＮ行目にデータが無くなったか否かを判定する。データが無くなった場合、作図処理は完了する。データが存在する場合、処理がステップＳ４０２に移される。
【００９５】
このように、リンク制御部１５０は、作図部１４０がノード間のリンクを作成する際、
業務処理間の実行順序関係に基づいて、ｉｆ処理の分岐後のレーン内のリンクとレーンをまたがるリンクのうち、レーン内のリンクを作成しないよう作図手段１２を制御して、リンクの交差を解消する。リンクを作成しない場合にも、ｉｆ処理とｉｆ−ｎｏ処理の間の関係は、ｉｆ−ｎｏ処理の上部に付与される“Ｎｏ”という記号により明らかである。すなわち、リンクを作成しなくてもノード間の実行順序を理解することができる。これにより、リンクの交差が解消されるため、簡潔で見やすく、業務処理の流れを容易に理解できる業務フローチャートを作成することができる。
【００９６】
図１８は、作成された業務フローチャートを示す図である。
業務フローチャート１６１は、業務情報テーブル１１１に示した情報に基づいて作成された本の販売業務に関する業務フローチャートである。
【００９７】
業務フローチャート１６１に示されるｉｆ処理であるノード“在庫確認”からは、ｉｆ−ｙｅｓ処理であるノード“在庫更新”とｉｆ−ｎｏ処理であるノード“本の発注”とに分岐する。作図部１４０は、ｉｆ−ｎｏ処理であるノード“本の発注”には、上部に“Ｎｏ”という記号を付与し、ｉｆ処理の分岐に対するｉｆ−ｎｏ処理であることを明示する。これにより、ｉｆ処理とｉｆ−ｎｏ処理の間の関係は明らかであり、リンクが存在しなくてもノード間の実行順序を理解することができる。また、作図部１４０は、ｉｆ処理の終わりを表すｅｎｄｉｆが、業務フローチャート上に配置されていればｉｆ処理の完了を表しており、そこからｉｆ処理後の処理が続くことは明らかであるため、ｉｆ−ｙｅｓ処理やｉｆ−ｎｏ処理とｅｎｄｉｆとのリンクを作成しない。このように、各ノードの実行順序関係を表すリンクを省略しても前後のノードの流れが明らかである場合には、対象のリンクを作成しないことによって、リンクの交差が解消されて、簡潔で見やすく、業務処理の流れを容易に理解できる業務フローチャートを作成することができる。
【００９８】
なお、業務フローチャート１６１の各ノードの配置を修正したい場合は、業務情報入力画面１１１ａにて、対象のノードの情報が定義されている行を変更したい行と交換または挿入して、業務情報テーブル１１１に変更を反映する。また、レーンの順序を変更したい場合は、部門・担当テーブル１１２の部門ＩＤを変更する。部門ＩＤは、レーンの配置と対応しており、例えば、“顧客”のレーンと“本屋”のレーンを変更したい場合には、“顧客”の部門ＩＤと“本屋”の部門ＩＤを交換して、部門・担当テーブル１１２に変更を反映する。業務フローチャート作成装置１００は、業務情報テーブル１１１や部門・担当テーブル１１２の変更を受け付けると各ノードの配置座標を再計算し、修正後の業務フローチャートを自動的に再作図する。このように、業務フローチャート１６１の修正を行う場合にも、対象となるテーブルのデータを更新するのみで容易に修正が可能である。
【００９９】
図１９は、リンクが交差する場合の業務フローチャートの例を示す図である。
業務フローチャート１６２は、業務フローチャート１６１のｉｆ処理を含む一部分である。ただし、業務フローチャート１６２では、リンクの交差を許して描画された場合を例として示している。リンクの交差が存在すると、交差部分においてノード間における実行順序を即座に判断することができず、業務処理の流れを理解するのを妨げる一因となる。
【０１００】
図２０は、リンクの交差を解消した業務フローチャートの例を示す図である。
業務フローチャート１６３は、業務フローチャート１６１のｉｆ処理を含む一部分である。業務フローチャート１６３は、リンク制御部１５０によって、作図部１４０がノード間のリンクを作成する際に、業務処理間の実行順序関係に基づいて、ｉｆ処理の分岐後のレーン内のリンクとレーンをまたがるリンクのうち、レーン内のリンクを作成しないよう作図手段１２が制御されて、リンクの交差が解消された結果を表す例である。
【０１０１】
このようにすることで、簡潔で見やすく、業務処理の流れを容易に理解できる業務フローチャートを作成することができる。
なお、以上の説明では、ｉｆ処理に対応するｉｆ−ｙｅｓ、ｉｆ−ｎｏとして、業務情報テーブル１１１における“処理”を例示したが、ｉｆ−ｙｅｓやｉｆ−ｎｏは、“処理”に限らず、“入力”や“出力”であってもよい。
【０１０２】
さらに、以上の説明では、条件分岐としてｉｆ処理のみを示して説明したが、条件分岐にｃａｓｅ処理を用いる場合も考えられる。以下に、ｃａｓｅ処理を用いた場合の業務フローチャートの作図に関して説明する。
【０１０３】
図２１は、ｃａｓｅ処理の場合の２次元配置テーブルのデータ構造例を示す図である。
２次元配置テーブル（ｃａｓｅ処理）１１８は、行および列の構造については、２次元配置テーブル１１６と同一であるため、説明を省略する。２次元配置テーブル（ｃａｓｅ処理）１１８には、レーンとして“列１（Ｗ１）”が設定されている。そして、“列１（Ｗ１）”のレーンに対して、ｃａｓｅ処理が行“１”〜“７”に設定されている。
【０１０４】
図２２は、ｃａｓｅ処理の場合の各ノードの実行順序関係を示す模式図である。
２次元配置（ｃａｓｅ処理）１１８ａは、２次元配置テーブル（ｃａｓｅ処理）１１８に基づく各ノードの実行順序関係を表す。２次元配置（ｃａｓｅ処理）１１８ａには、行１列１にｃａｓｅ処理の１つ目の分岐として“Ｐ１１”が配置され、“Ｐ１１”に続く処理として“Ｐ１２”が接続される。また、行３列１にｃａｓｅ処理の２つ目の分岐として“Ｐ１３”が配置され、“Ｐ１３”に続く処理として、“Ｐ１４”が接続される。さらに、行５列１にｃａｓｅ処理の３つ目の分岐として“Ｐ１５”が配置され、“Ｐ１５”に続く処理として、“Ｐ１６”が接続される。そして、行７列１にｃａｓｅ処理の完了を表すｅｎｄｃａｓｅ“Ｐ１７”が配置される。
【０１０５】
図２３は、ｃａｓｅ処理の場合の業務フローチャートを示す図である。
業務フローチャート１６４は、２次元配置テーブル（ｃａｓｅ処理）１１８に基づいて作図部１４０が作図した業務フローチャートである。“Ｐ１１”、“Ｐ１３”、“Ｐ１５”に示すｃａｓｅ処理は、それぞれがｃａｓｅ処理の各条件を表していることは明らかであるので、作図部１４０は、各ｃａｓｅ処理に続く処理とのリンクを作成するのみで、“Ｐ１１”、“Ｐ１３”、“Ｐ１５”の間のリンクは作成しない。また、作図部１４０は、“Ｐ１７”のようなｅｎｄｃａｓｅには、業務フローチャート上に配置されていれば、上記のｃａｓｅ処理の完了を表しており、そこからｃａｓｅ処理後の処理が続くことは明らかであるので、上記のｃａｓｅ処理とのリンクは作成しない。
【０１０６】
このように、ｃａｓｅ処理に関しても、業務フローチャート上のノードを参照すれば処理の関係が明らかであるため、作図部１４０は、ｃａｓｅ処理を表すノードとｅｎｄｃａｓｅを表すノードとの間のリンクを作成しない。これによって、簡潔で見やすく、業務処理の流れを容易に理解できる業務フローチャートを作成することができる。
【０１０７】
以上、本発明の業務フローチャート作成プログラムおよび業務フローチャート作成装置を図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されてもよい。また、本発明は前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１０８】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、コンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１０９】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto - Optical disk）などがある。
【０１１０】
上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータに格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１１】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【０１１２】
【図１】実施の形態に適用される発明の概念図である。
【図２】業務フローチャート作成装置のハードウェア構成を示す図である。
【図３】業務フローチャート作成装置の機能を示すブロック図である。
【図４】業務情報テーブルのデータ構造例を示す図である。
【図５】部門・担当テーブルのデータ構造例を示す図である。
【図６】業務テーブルのデータ構造例を示す図である。
【図７】記号サイズテーブルのデータ構造例を示す図である。
【図８】レーンサイズテーブルのデータ構造例を示す図である。
【図９】記号およびレーンの各部の寸法を表す模式図である。
【図１０】２次元配置テーブルのデータ構造例を示す図である。
【図１１】各ノードの実行順序関係を示す模式図である。
【図１２】座標テーブルのデータ構造例を示す図である。
【図１３】座標テーブルのデータ構造例を示す図である。
【図１４】業務フローチャート作成の手順を示すフローチャートである。
【図１５】２次元配置処理の手順を示すフローチャートである。
【図１６】座標算出処理の手順を示すフローチャートである。
【図１７】作図処理の手順を示すフローチャートである。
【図１８】作成された業務フローチャートを示す図である。
【図１９】リンクが交差する場合の業務フローチャートの例を示す図である。
【図２０】リンクの交差を解消した業務フローチャートの例を示す図である。
【図２１】ｃａｓｅ処理の場合の２次元配置テーブルのデータ構造例を示す図である。
【図２２】ｃａｓｅ処理の場合の各ノードの実行順序関係を示す模式図である。
【図２３】ｃａｓｅ処理の場合の業務フローチャートを示す図である。
【符号の説明】
【０１１３】
１０  コンピュータ
１１  業務情報記憶手段
１２  作図手段
１３  リンク制御手段
２１  業務フローチャート
【図１】
0004983546.tif 000002
【図２】
0004983546.tif 000003
【図３】
0004983546.tif 000004
【図４】
0004983546.tif 000005
【図５】
0004983546.tif 000006
【図６】
0004983546.tif 000007
【図７】
0004983546.tif 000008
【図８】
0004983546.tif 000009
【図９】
0004983546.tif 000010
【図１０】
0004983546.tif 000011
【図１１】
0004983546.tif 000012
【図１２】
0004983546.tif 000013
【図１３】
0004983546.tif 000014
【図１４】
0004983546.tif 000015
【図１５】
0004983546.tif 000016
【図１６】
0004983546.tif 000017
【図１７】
0004983546.tif 000018
【図１８】
0004983546.tif 000019
【図１９】
0004983546.tif 000020
【図２０】
0004983546.tif 000021
【図２１】
0004983546.tif 000022
【図２２】
0004983546.tif 000023
【図２３】
0004983546.tif 000024