JP2011095918A - Project planning device - Google Patents

Project planning device Download PDF

Info

Publication number
JP2011095918A
JP2011095918A JP2009248053A JP2009248053A JP2011095918A JP 2011095918 A JP2011095918 A JP 2011095918A JP 2009248053 A JP2009248053 A JP 2009248053A JP 2009248053 A JP2009248053 A JP 2009248053A JP 2011095918 A JP2011095918 A JP 2011095918A
Authority
JP
Japan
Prior art keywords
task
tasks
project
relationship
critical chain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009248053A
Other languages
Japanese (ja)
Other versions
JP2011095918A5 (en
JP5443945B2 (en
Inventor
Shinichi Morita
慎一 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEING KK
Being Co Ltd
Original Assignee
BEING KK
Being Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEING KK, Being Co Ltd filed Critical BEING KK
Priority to JP2009248053A priority Critical patent/JP5443945B2/en
Publication of JP2011095918A publication Critical patent/JP2011095918A/en
Publication of JP2011095918A5 publication Critical patent/JP2011095918A5/ja
Application granted granted Critical
Publication of JP5443945B2 publication Critical patent/JP5443945B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a project planning device for properly determining a C.C. (critical chain), even in a project including a task having a hierarchical relation. <P>SOLUTION: The project planning device includes: an information acquisition means for receiving an input of information indicating a resource and required time of each task, an order relation of the tasks, and the hierarchical relation of the tasks; a flow diagram preparing means for determining an order of the tasks so as not to cause a resource conflict among terminal tasks, and for preparing a first flow diagram; and a critical chain determining means for determining a critical chain, for a virtual flow diagram composed of the terminal tasks and virtual nodes, using start and end points of a parent task as the virtual nodes, and for displaying an element indicating the terminal task located on the critical chain so as to be discriminated from an element not located on the critical chain, in the first flow diagram or a second flow diagram prepared from the first flow diagram. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、コンピュータを用いて複数のタスクからなるプロジェクトを計画するプロジェクト計画装置に関し、特に、制約条件の理論(Theory of Constraint;TOC)に従ってプロジェクトを計画する際の合流バッファの挿入を自動的に行えるプロジェクト計画装置に関する。   The present invention relates to a project planning apparatus for planning a project composed of a plurality of tasks using a computer, and in particular, automatically inserting a merging buffer when planning a project according to the theory of constraint (TOC). It relates to a project planning device that can be used.

ゴールドラット博士によって提唱された制約条件の理論(以下、「TOC」とも表記する。)に従って、複数のタスク(作業)からなるプロジェクトを計画するシステムとして、下記特許文献1に記載された医療マネジメント支援システムがある。このシステムでは、サーバが、情報処理端末機からのアクセスに応じて、患者に対する一連の臨床行為をタスクとして並べ、各タスクの完了基準、所要時間、及び、リソースを設定して、クリティカルチェーン(以下、「C.C.」とも表記する。)を決定する。なお、C.C.とは、「それが遅れると全体が遅れる」というタスクをタスクの依存関係(順序関係)によって繋げたチェーンであり、TOCでいう「制約条件」に相当するものである。そして、所要時間内でタスクが完了しない場合の猶予時間として、プロジェクトのC.C.上のタスクの遅延からプロジェクトを保護するためのプロジェクトバッファと、C.C.に合流する作業又は作業群の遅延からプロジェクトを保護するためのフィーディングバッファ(合流バッファ)とを挿入して、患者毎のプロジェクトネットワーク図を作成し、情報処理端末機の表示部に表示させている。また、タスクが複数のサブタスク(子タスク)を含む場合、サブタスクの設定を可能としている(特許文献1の段落0126及び図32参照)。   Medical management support described in Patent Document 1 below as a system for planning a project consisting of a plurality of tasks (work) according to the constraint theory proposed by Dr. Goldratt (hereinafter also referred to as “TOC”) There is a system. In this system, a server arranges a series of clinical actions for patients as tasks according to access from an information processing terminal, sets completion criteria, required time, and resources for each task, , Also written as “CC”). C.C. is a chain in which the task “the whole is delayed when it is delayed” is linked by the task dependency relationship (order relationship), and corresponds to the “constraint condition” in the TOC. And, as a grace period when the task is not completed within the required time, the project buffer for protecting the project from the delay of the task on the CC of the project and the project from the delay of the work or work group joining the CC For this purpose, a project network diagram for each patient is created and displayed on the display unit of the information processing terminal. When a task includes a plurality of subtasks (child tasks), subtasks can be set (see paragraph 0126 of Patent Document 1 and FIG. 32).

特開2007−140607号公報JP 2007-140607 A

ところが、タスクに親子関係(階層関係)がある場合には、別々の親タスクの配下にある子タスク同士が同じリソースを必要とする場合や、ある親タスクの子タスクの成果物を他の親タスクの子タスクが利用する場合が生じ、子タスク同士で階層的には無関係であるにも係わらず依存関係が発生することがある。このように、タスクが階層関係を有する場合には、階層を跨った依存関係が発生することがあり、依存関係が複雑であるため、上記医療マネジメント支援システムを含めて従来のプロジェクト計画システムでは、適切にC.C.を決定することができないという問題があった。   However, when a task has a parent-child relationship (hierarchical relationship), child tasks under different parent tasks need the same resource, or the result of a child task of a parent task can be transferred to another parent task. A child task of a task may be used, and a dependency relationship may occur even though child tasks are hierarchically irrelevant. In this way, when the task has a hierarchical relationship, a dependency relationship across the hierarchy may occur, and the dependency relationship is complicated, so in the conventional project planning system including the medical management support system, There was a problem that CC could not be determined properly.

本発明は、上述した問題を解決するものであり、階層関係を有するタスクを含むプロジェクトに対しても、適切にC.C.を決定することが可能なプロジェクト計画装置を提供することを目的とする。   The present invention solves the above-described problems, and an object thereof is to provide a project planning apparatus capable of appropriately determining C.C. even for a project including tasks having a hierarchical relationship.

本発明のプロジェクト計画装置は、入力部と表示部とを備え、制約条件の理論に従ってプロジェクトを計画するためのものであって、前記入力部を用いたユーザの操作に応じて、プロジェクト遂行に必要な各タスクの所要時間を示す情報、及び、必要なリソースを示す情報の入力を受けるとともに、タスク同士の順序関係を示す情報、及び、タスク同士の階層関係を示す情報の入力を受ける情報取得手段と、前記所要時間を示す情報と前記リソースを示す情報と前記順序関係を示す情報と前記階層関係を示す情報とに基づいて、前記順序関係と前記階層関係とに従うように、かつ、前記階層関係における下位のタスクを持たないタスク(以下、「末端タスク」という。)間で、リソースが競合しないように、各タスクの順序を決定し、当該順序に従って各タスクを示す要素を配置した第1の工程図を作成し、前記表示部に表示する工程図作成手段と、前記階層関係における下位のタスクを持つタスク(以下、「親タスク」という。)の開始点と終了点とを仮想的なノード(以下、「仮想ノード」という。)とし、前記順序関係に基づいて、末端タスク及び仮想ノードで構成される仮想的な工程図を対象として、前記プロジェクトにおけるクリティカルチェーン上にある末端タスク及び仮想ノードを決定し、前記第1の工程図または前記第1の工程図から作成した第2の工程図の少なくとも一方に、前記クリティカルチェーン上の末端タスクを示す要素を、前記クリティカルチェーン上にない末端タスクを示す要素とは区別可能に表示するクリティカルチェーン決定手段と、を備えることを特徴とする。   The project planning device of the present invention includes an input unit and a display unit, and is used for planning a project according to the theory of constraint conditions, and is necessary for project execution in accordance with a user operation using the input unit. Information acquisition means for receiving input of information indicating the required time of each task and information indicating necessary resources, as well as information indicating the order relationship between tasks and information indicating the hierarchical relationship between tasks And based on the information indicating the required time, the information indicating the resource, the information indicating the order relationship, and the information indicating the hierarchy relationship, and according to the order relationship and the hierarchy relationship, and the hierarchy relationship The order of each task is determined so that resources do not compete between tasks that do not have lower-level tasks (hereinafter referred to as “end tasks”). The first process diagram in which elements indicating each task are arranged according to the process diagram, and a process diagram creating means for displaying on the display unit and a task having a lower level task in the hierarchical relationship (hereinafter referred to as “parent task”). A virtual node (hereinafter referred to as a “virtual node”) is defined as a virtual process diagram composed of end tasks and virtual nodes based on the order relation. A terminal task and a virtual node on the critical chain in the project are determined, and the terminal task on the critical chain is added to at least one of the first process diagram and the second process diagram created from the first process diagram. A critical chain determining means for displaying an indicating element in a manner distinguishable from an element indicating a terminal task not on the critical chain. And wherein the door.

ここで、前記クリティカルチェーン上の末端タスク、及び、開始点の仮想ノードがクリティカルチェーン上にある親タスクを基点となるタスクとして、前記基点となるタスクに合流する末端タスクであって前記クリティカルチェーン上にない末端タスクを探索し、見つかった末端タスクの直後に合流バッファを設定し、当該合流バッファを示す要素を前記第1の工程図または前記第2の工程図の少なくとも一方に表示する合流バッファ設定手段を備えることが好ましい。   Here, the end task on the critical chain and the parent task whose starting point virtual node is on the critical chain as a base task, the end task that joins the base point task on the critical chain A merge buffer setting for searching an end task that is not present, setting a merge buffer immediately after the found end task, and displaying an element indicating the merge buffer in at least one of the first process diagram and the second process diagram Preferably means are provided.

また、前記クリティカルチェーン上の末端タスクまたは前記クリティカルチェーン上の仮想ノードに合流する、末端タスクまたは仮想ノードであって前記クリティカルチェーン上にないものを探索し、見つかった末端タスク、及び、見つかった仮想ノードに対応する親タスクの開始点または終了点の直後に、合流バッファを設定し、当該合流バッファを示す要素を前記第1の工程図または前記第2の工程図の少なくとも一方に表示する合流バッファ設定手段を備えることとしてもよい。   In addition, a terminal task or a virtual node that merges with a terminal task on the critical chain or a virtual node on the critical chain and searching for a terminal task or a virtual node that is not on the critical chain is searched. Immediately after the start point or end point of the parent task corresponding to the node, a merge buffer is set, and a merge buffer that displays an element indicating the merge buffer in at least one of the first process diagram and the second process diagram It is good also as providing a setting means.

本発明のプロジェクト計画プログラムは、制約条件の理論に従ってプロジェクトを計画するためのものであって、入力部と表示部とを備えたコンピュータを、前記入力部を用いたユーザの操作に応じて、プロジェクト遂行に必要な各タスクの所要時間を示す情報、及び、必要なリソースを示す情報の入力を受けるとともに、タスク同士の順序関係を示す情報、及び、タスク同士の階層関係を示す情報の入力を受ける情報取得手段、前記所要時間を示す情報と前記リソースを示す情報と前記順序関係を示す情報と前記階層関係を示す情報とに基づいて、前記順序関係と前記階層関係とに従うように、かつ、前記階層関係における下位のタスクを持たないタスク(以下、「末端タスク」という。)間で、リソースが競合しないように、各タスクの順序を決定し、当該順序に従って各タスクを示す要素を配置した第1の工程図を作成し、前記表示部に表示する工程図作成手段、及び、前記階層関係における下位のタスクを持つタスク(以下、「親タスク」という。)の開始点と終了点とを仮想的なノード(以下、「仮想ノード」という。)とし、前記順序関係に基づいて、末端タスク及び仮想ノードで構成される仮想的な工程図を対象として、前記プロジェクトにおけるクリティカルチェーン上にある末端タスク及び仮想ノードを決定し、前記第1の工程図または前記第1の工程図から作成した第2の工程図の少なくとも一方に、前記クリティカルチェーン上の末端タスクを示す要素を、前記クリティカルチェーン上にない末端タスクを示す要素とは区別可能に表示するクリティカルチェーン決定手段、として機能させることを特徴とする。   The project planning program of the present invention is for planning a project in accordance with the theory of constraint conditions. A computer including an input unit and a display unit is used as a project according to a user operation using the input unit. Receives information indicating the time required for each task and information indicating required resources, as well as information indicating the order relationship between tasks and information indicating the hierarchical relationship between tasks. Information acquisition means, based on the information indicating the required time, the information indicating the resource, the information indicating the order relationship, and the information indicating the hierarchical relationship, according to the order relationship and the hierarchical relationship, and In order to avoid resource contention between tasks that do not have lower-level tasks in the hierarchical relationship (hereinafter referred to as “end tasks”), A first process diagram in which an order is determined and an element indicating each task is arranged according to the order, and a process diagram creating means for displaying on the display unit, and a task having a lower-order task in the hierarchical relationship , “Parent task”) is defined as a virtual node (hereinafter referred to as “virtual node”), and based on the order relationship, a virtual task composed of a terminal task and a virtual node. For the target process diagram, the end task and the virtual node on the critical chain in the project are determined, and at least one of the first process diagram or the second process diagram created from the first process diagram, A critical chain displaying an element indicating a terminal task on the critical chain so as to be distinguishable from an element indicating a terminal task not on the critical chain. Characterized in that to down decision means functions as a.

ここで、前記コンピュータを、前記クリティカルチェーン上の末端タスク、及び、開始点の仮想ノードがクリティカルチェーン上にある親タスクを基点となるタスクとして、前記基点となるタスクに合流する末端タスクであって前記クリティカルチェーン上にない末端タスクを探索し、見つかった末端タスクの直後に合流バッファを設定し、当該合流バッファを示す要素を前記第1の工程図または前記第2の工程図の少なくとも一方に表示する合流バッファ設定手段として機能させることが好ましい。   Here, the computer is a terminal task that joins the base task, with the terminal task on the critical chain and the parent task whose virtual node of the starting point is on the critical chain as a base task. An end task that is not on the critical chain is searched, a merge buffer is set immediately after the found end task, and an element indicating the merge buffer is displayed in at least one of the first process diagram and the second process diagram It is preferable to function as a merging buffer setting means.

また、前記コンピュータを、前記クリティカルチェーン上の末端タスクまたは前記クリティカルチェーン上の仮想ノードに合流する、末端タスクまたは仮想ノードであって前記クリティカルチェーン上にないものを探索し、見つかった末端タスク、及び、見つかった仮想ノードに対応する親タスクの開始点または終了点の直後に、合流バッファを設定し、当該合流バッファを示す要素を前記第1の工程図または前記第2の工程図の少なくとも一方に表示する合流バッファ設定手段
として機能させることとしてもよい。
Further, the computer is searched for a terminal task or a virtual node that does not exist on the critical chain and joins a terminal task on the critical chain or a virtual node on the critical chain. Immediately after the start point or end point of the parent task corresponding to the found virtual node, a merge buffer is set, and an element indicating the merge buffer is set in at least one of the first process diagram and the second process diagram. It is good also as functioning as a merge buffer setting means to display.

本発明によれば、階層関係を有するタスクを含むプロジェクトに対しても、適切にC.C.を決定することができる。   According to the present invention, C.C. can be appropriately determined even for a project including a task having a hierarchical relationship.

本発明の実施形態に係るプロジェクト計画装置のブロック構成図である。It is a block block diagram of the project planning apparatus which concerns on embodiment of this invention. 同プロジェクト計画装置が行う処理のフローチャートである。It is a flowchart of the process which the project planning apparatus performs. 同フローチャートの続きである。It is a continuation of the flowchart. ユーザが入力した状態のネットワーク図作成画面の例である。It is an example of the network diagram creation screen of the state which the user input. プロジェクトネットワーク図が表示されたネットワーク図作成画面の例である。It is an example of a network diagram creation screen on which a project network diagram is displayed. 親タスクと子タスク及び先行タスクとの依存関係を説明するための図である。It is a figure for demonstrating the dependence relationship of a parent task, a child task, and a preceding task. 図5の依存関係の模式図である。It is a schematic diagram of the dependency relationship of FIG. 図4のプロジェクトネットワーク図においてC.C.上のタスクを区別可能に表示したものである。In the project network diagram of FIG. 4, the tasks on C.C. are displayed in a distinguishable manner. 図7のプロジェクトネットワーク図から作成した工程表の図である。FIG. 8 is a process chart created from the project network diagram of FIG. 7. 図8の工程表において合流バッファを挿入したものである。In the process chart of FIG. 8, a merge buffer is inserted. 図7において合流バッファが必要となる部分を模式図で表したものである。FIG. 7 is a schematic diagram showing a portion where a merging buffer is required in FIG. 図7において合流バッファが必要となる他の部分を模式図で表したものである。FIG. 8 is a schematic diagram showing another part where a merging buffer is required in FIG. 図7において合流バッファが必要となるまた他の部分を模式図で表したものである。FIG. 8 is a schematic diagram showing still another portion where a merging buffer is required in FIG. 図8の工程表において合流バッファを、C.C.に合流する親タスクの開始点・終了点についてはその直後に挿入した図である。FIG. 9 is a diagram in which a merge buffer is inserted immediately after the start and end points of a parent task that merges with C.C. in the process chart of FIG. 依存関係が明示された階層構造を持つタスクの例である。It is an example of a task having a hierarchical structure in which dependencies are clearly shown. 依存関係が明示された階層構造を持つタスクの他の例である。It is another example of a task having a hierarchical structure in which dependency relations are clearly specified. 依存関係が明示された階層構造を持つタスクのまた他の例である。This is another example of a task having a hierarchical structure in which dependencies are clearly specified. 再帰的処理により合流バッファを挿入すべき末端タスクを探索する処理のフローチャートである。It is a flowchart of the process which searches the terminal task which should insert a merge buffer by recursive process. 図17−1の処理における上位方向探索処理のフローチャートである。It is a flowchart of the high-order direction search process in the process of FIGS. 図17−2の処理における下位方向探索処理のフローチャートである。It is a flowchart of the lower direction search process in the process of FIGS. 図7のプロジェクトネットワーク図において依存関係を明示したものである。The dependency is clearly shown in the project network diagram of FIG. ループ処理により合流バッファを挿入すべき末端タスクを探索する処理のフローチャートである。It is a flowchart of the process which searches the terminal task which should insert a merge buffer by a loop process. 図19−1の処理における下位方向探索処理のフローチャートである。It is a flowchart of the lower direction search process in the process of FIGS. 末端タスクを説明するための図である。It is a figure for demonstrating a terminal task.

以下、本発明の一実施形態を図面に基づいて説明する。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

図1に示すように、実施形態のプロジェクト計画装置3は、TOCに基づいて、商品開発、建設工事、ソフトウェア開発等、種々のプロジェクトを計画するための装置であり、サーバ装置(以下、「サーバ」と略す。)1と、サーバ1に通信回線(実施形態ではイントラネット)を介して接続されることによりサーバ1と交信可能な複数のクライアント装置(以下、「クライアント」と略す。)2とから構成されている。   As shown in FIG. 1, a project planning device 3 according to the embodiment is a device for planning various projects such as product development, construction work, and software development based on the TOC. 1) and a plurality of client devices (hereinafter abbreviated as “clients”) 2 that can communicate with the server 1 by being connected to the server 1 via a communication line (intranet in the embodiment). It is configured.

サーバ1は、1又は複数のコンピュータからなり、入力部11、演算・制御部12、記憶部13、通信部14、及び、表示部15を備えている。サーバ1には、OS(オペレーティング・システム)及びそのOS上で動作するWebサーバプログラムやプロジェクト管理プログラム等の各種プログラムがインストールされている。入力部11は、キーボードやマウス等から構成されて、ユーザの操作に応じて各種情報や各種指令等を演算・制御部12に入力する。記憶部13は、半導体メモリ、ハードディスク装置、コンパクト・ディスク装置等から構成され、各プロジェクトのプロジェクトデータを記憶する。演算・制御部12は、CPU、CPUのワークエリアとなるRAM、固定データを格納したROM等から構成されている。通信部14は、通信回線を介してサーバ1とクライアント2を含む他のコンピュータとを接続するときのインタフェースとなる部分である。表示部15は、液晶ディスプレイ等から構成され、演算・制御部12からの表示命令に応じて各種の画面を表示する。   The server 1 includes one or a plurality of computers, and includes an input unit 11, a calculation / control unit 12, a storage unit 13, a communication unit 14, and a display unit 15. The server 1 is installed with an OS (operating system) and various programs such as a Web server program and a project management program that operate on the OS. The input unit 11 includes a keyboard, a mouse, and the like, and inputs various information, various commands, and the like to the calculation / control unit 12 according to user operations. The storage unit 13 includes a semiconductor memory, a hard disk device, a compact disk device, and the like, and stores project data of each project. The calculation / control unit 12 includes a CPU, a RAM that is a work area of the CPU, a ROM that stores fixed data, and the like. The communication unit 14 is a part serving as an interface for connecting the server 1 and other computers including the client 2 via a communication line. The display unit 15 is composed of a liquid crystal display or the like, and displays various screens in accordance with display commands from the calculation / control unit 12.

プロジェクト管理プログラムは、ユーザが入力したプロジェクト名等のデータに基づいて、プロジェクトデータを作成して記憶部13に格納し、また、クライアント2から受信したプロジェクトの詳細データを、当該プロジェクトのプロジェクトデータに追加して記憶部13に格納するように、サーバ装置1を機能させるプログラムである。   The project management program creates project data based on the data such as the project name input by the user and stores it in the storage unit 13, and also stores detailed project data received from the client 2 as project data of the project. It is a program that causes the server device 1 to function so as to be added and stored in the storage unit 13.

各クライアント2は、パーソナル・コンピュータであり、図1に示すように、入力部21、演算・制御部22、記憶部23、通信部24、及び、表示部25を備えている。各クライアント2には、OSとWebブラウザやプロジェクト計画プログラム等そのOS上で動作するプログラムとがインストールされている。入力部21は、マウス等のポインティング・デバイスやキーボード等から構成されて、ユーザの操作に応じて各種データや各種指令等を演算・制御部22に入力するものである。記憶部23は、半導体メモリ、ハードディスク装置、コンパクト・ディスク装置等から構成されている。演算・制御部22は、CPU、CPUのワークエリアとなるRAM、固定データを格納したROM等から構成されている。通信部24は、通信回線を介してクライアント2とサーバ1等他のコンピュータとを接続するときのインタフェースとなる部分である。表示部25は、液晶ディスプレイ等から構成され、演算・制御部22からの表示命令に応じて各種の画面を表示する。   Each client 2 is a personal computer, and includes an input unit 21, a calculation / control unit 22, a storage unit 23, a communication unit 24, and a display unit 25, as shown in FIG. Each client 2 is installed with an OS and a program operating on the OS such as a Web browser and a project planning program. The input unit 21 includes a pointing device such as a mouse, a keyboard, and the like, and inputs various data, various commands, and the like to the calculation / control unit 22 in accordance with a user operation. The storage unit 23 includes a semiconductor memory, a hard disk device, a compact disk device, and the like. The calculation / control unit 22 includes a CPU, a RAM serving as a work area for the CPU, a ROM storing fixed data, and the like. The communication unit 24 is a part that serves as an interface when connecting the client 2 and another computer such as the server 1 via a communication line. The display unit 25 is composed of a liquid crystal display or the like, and displays various screens according to display commands from the calculation / control unit 22.

プロジェクト計画プログラムは、クライアント2を、上述した情報取得手段、工程図作成手段、クリティカルチェーン決定手段、及び、合流バッファ設定手段として機能させるためのものであり、このプロジェクト計画プログラムに従って動作することにより、演算・制御部22は、入力部21、記憶部23、通信部24及び表示部25と協働して、上述した情報取得手段、工程図作成手段、クリティカルチェーン決定手段、及び、合流バッファ設定手段として機能する。   The project planning program is for causing the client 2 to function as the above-described information acquisition means, process diagram creation means, critical chain determination means, and merging buffer setting means, and by operating according to this project planning program, The calculation / control unit 22 cooperates with the input unit 21, the storage unit 23, the communication unit 24, and the display unit 25, and the information acquisition unit, process diagram creation unit, critical chain determination unit, and merge buffer setting unit described above. Function as.

次に、プロジェクト計画装置3の動作について、図2―1、2−2のフローチャートを用いて説明する。図2−1、2−2では、ユーザの行う操作を二点鎖線で示している。プロジェクト管理者であるユーザが、サーバ1においてプロジェクト管理プログラムを起動し、表示されたプロジェクト一覧画面(図示せず。)において、所定のボタンのクリック等、所定の操作を行うと、サーバ1は、プロジェクト名やプロジェクトリーダー名等を入力可能な新規プロジェクト作成画面(図示せず。)を表示部15に表示する(図2−1のステップS101)。ユーザが新規プロジェクト作成画面において、プロジェクト名と、プロジェクトの開始時期及び終了時期とを入力し、所定のボタンのクリック等、所定の登録操作を行うと(S102)、サーバ1は、入力されたデータを含むプロジェクトデータを作成し、記憶部13に格納する(S103)。   Next, the operation of the project planning apparatus 3 will be described using the flowcharts of FIGS. In FIGS. 2-1 and 2-2, the operation performed by the user is indicated by a two-dot chain line. When a user who is a project manager starts a project management program in the server 1 and performs a predetermined operation such as clicking a predetermined button on the displayed project list screen (not shown), the server 1 A new project creation screen (not shown) on which a project name, a project leader name, and the like can be input is displayed on the display unit 15 (step S101 in FIG. 2-1). When the user inputs a project name, a project start time and an end time on the new project creation screen, and performs a predetermined registration operation such as clicking a predetermined button (S102), the server 1 receives the input data. Is created and stored in the storage unit 13 (S103).

次に、プロジェクト計画者であるユーザは、クライアント2においてプロジェクト計画プログラムを起動する。すると、クライアント2は、サーバ1からプロジェクトデータを受信して、プロジェクトデータ内のプロジェクト名を選択可能に表示するプロジェクト選択画面(図示せず。)を表示部25に表示する(S104、S105)。ユーザがプロジェクト選択画面において、プロジェクト名の選択等、所定の選択操作を行うと(S106)、クライアント2は、選択されたプロジェクト名を持つプロジェクトについて、プロジェクトネットワーク図を作成するためのネットワーク図作成画面(図3参照)を表示部25に表示する(S107)。   Next, a user who is a project planner activates a project planning program in the client 2. Then, the client 2 receives the project data from the server 1, and displays a project selection screen (not shown) that displays the project name in the project data in a selectable manner on the display unit 25 (S104, S105). When the user performs a predetermined selection operation such as project name selection on the project selection screen (S106), the client 2 creates a network diagram creation screen for creating a project network diagram for the project having the selected project name. (See FIG. 3) is displayed on the display unit 25 (S107).

〈情報取得ステップ〉図3に示すように、ネットワーク図作成画面は、タスクボックスT1、T2、…(区別しないときは「タスクボックスT」という。)等を配置することにより、プロジェクトネットワーク図を作成可能に構成されている。プロジェクトネットワークとは、プロジェクト内のタスク同士の順序関係及び階層関係を示すネットワークであり、タスクボックスTは、プロジェクトネットワークを表したプロジェクトネットワーク図においてタスク(作業)を示す要素に相当する。   <Information Acquisition Step> As shown in FIG. 3, the network diagram creation screen creates a project network diagram by arranging task boxes T1, T2,... (When not distinguished, “task box T”), etc. It is configured to be possible. The project network is a network indicating the order relationship and the hierarchical relationship between tasks in a project, and the task box T corresponds to an element indicating a task (work) in a project network diagram showing the project network.

図3は、既にユーザが必要な情報を入力した状態のネットワーク図作成画面であるが、最初に表示されたネットワーク図作成画面は、プロジェクト名が表示されたゴールボックスGが配置されるとともに、その前(左側)に、情報が未入力のタスクボックスTが、1つ配置された状態である。ゴールボックスGは、プロジェクトのゴール(すなわち、プロジェクトの完了期限(納期、締切り))を示すものである。   FIG. 3 is a network diagram creation screen in a state where the user has already input necessary information. The network diagram creation screen that is displayed first has a goal box G in which the project name is displayed, This is a state in which one task box T with no information input is arranged on the front (left side). The goal box G indicates the goal of the project (that is, the project deadline (delivery date, deadline)).

ユーザは、かかるネットワーク図作成画面において、プロジェクトの遂行に必要な各タスクについて、画面上のタスクボタン(図示せず)をクリックしてから配置位置をクリックする等、入力部21を用いて所定の操作を行うことにより、タスクボックスTを配置し、ゴールボックスGまたは他のタスクボックスTと矢印Yで結ぶ。なお、図面では矢印Y1、Y2、…と符号「Y」の後に数字を付して区別しているが、これらを区別しないときは、「矢印Y」という。ユーザは、ゴールボックスGから遡るようにタスクボックスTを配置して矢印Yで結んで行く。タスクボックスT同士を結ぶ矢印Yは、その両端に連結されているタスク同士の順序関係を示す情報に相当し、矢印の先端側に連結されているタスク(矢印Y3、Y6、Y7であればタスクT8)の方が、矢印の基端側に連結されているタスク(矢印Y3、Y6、Y7であれば、それぞれ、タスクT3、T6、T7)よりも後に実行されるものであることを示している。   On the network diagram creation screen, the user clicks a task button (not shown) on the screen and then clicks an arrangement position for each task necessary for the execution of the project. By performing the operation, the task box T is arranged and connected to the goal box G or another task box T by an arrow Y. In the drawings, the arrows Y1, Y2,... Are distinguished from each other by adding a numeral after the symbol “Y”, but when they are not distinguished, they are referred to as “arrow Y”. The user arranges the task box T so as to go back from the goal box G and connects it with an arrow Y. An arrow Y connecting the task boxes T corresponds to information indicating an order relationship between tasks connected to both ends of the task box T, and tasks connected to the tip side of the arrows (in the case of arrows Y3, Y6, Y7, tasks). T8) indicates that the task connected to the base end side of the arrow (arrows Y3, Y6, Y7 is executed after the tasks T3, T6, T7, respectively) Yes.

図3の例で説明すれば、タスクボックスT8は最初から表示されているので、矢印Y8でゴールボックスGと結び、そのタスクボックスT8に、プロジェクトの完了直前に必要なタスク「統合テストする」についての情報を入力する。各タスクボックスTは、そのタスクボックスTで示されるタスクの内容(名称でもよい。)、ID(識別情報)、実行に必要な所要時間、及び、実行に必要なリソースの情報(リソース名及び数量)を入力可能に構成されており、タスクボックスT8では、タスクの内容「統合テストする」、所要時間として3日を示す「3d」、リソースを示す情報としてリソース名「リソースB」とその数量「1」が入力されている。なお、リソースには、人、機械、資材等があり、したがって、リソース名としては、職種名、資格名、個人名、装置名、資材名等がある。各タスクボックスTは、必要に応じてリソース欄Rが複数行設けられるように構成されている。また、所要時間は、そのタスクを完了できる可能性が50%程度の時間とする。また、IDは自動的に決定されるように構成してもよい。   In the example of FIG. 3, since the task box T8 is displayed from the beginning, the task box T8 is connected to the goal box G by the arrow Y8, and the task “integration test” required immediately before completion of the project is indicated in the task box T8. Enter the information. Each task box T includes the content (name may be a name) of the task indicated in the task box T, ID (identification information), time required for execution, and information of resources required for execution (resource name and quantity). ) In the task box T8, in the task box T8, the content of the task “integrated test”, “3d” indicating 3 days as the required time, the resource name “resource B” as the information indicating the resource, and its quantity “ 1 "is entered. Note that resources include people, machines, materials, and the like. Therefore, resource names include job titles, qualification names, personal names, device names, and material names. Each task box T is configured such that a plurality of resource columns R are provided as necessary. Further, the required time is a time when the possibility of completing the task is about 50%. Further, the ID may be automatically determined.

次に、ユーザは、タスクボックスT8で示されているタスクの直前に完了しておくことが必要なタスクのタスクボックスTを、タスクボックスT8の前に配置し、タスクボックスT8と矢印で結ぶとともに、それらのタスクボックスTに情報を入力する。図3の例では、タスクボックスT3、T6、T7を配置し、それぞれ、矢印Y3、Y6、Y7でタスクボックスT8と結んでいる。   Next, the user places a task box T of a task that needs to be completed immediately before the task indicated by the task box T8 in front of the task box T8, and connects the task box T8 with an arrow. , Information is input to these task boxes T. In the example of FIG. 3, task boxes T3, T6, and T7 are arranged and connected to the task box T8 by arrows Y3, Y6, and Y7, respectively.

一方、タスクが複数のタスクからなる場合には、前者のタスクを記載せずに後者の複数のタスクを同一階層として記載することもできるが、後者の複数のタスクの各々を子タスク、前者のタスクを親タスクとして、階層関係(親子関係)があるタスクとして記載することもできる。階層関係があるタスクとは、他のタスクを含むタスク、及び、他のタスクに含まれるタスクをいい、前者を親タスク、後者を子タスクという。親タスクとは、階層関係における下位のタスクを持つタスクであり、子タスクとは階層関係における上位のタスクを持つタスクである。図3では、例えば、タスクボックスT3、T31、T32で示されるタスクは階層関係を持ち、タスクボックスT3で示されるタスクは親タスク、タスクボックスT31、T32で示されるタスクはそれぞれ子タスクである。具体的には、ユーザは、入力部21を用いて所定の操作を行うことにより、図3のタスクボックスT3のように、その子タスクのタスクボックスT31、T32を、親タスクのタスクボックスT3の下に配置する。子タスクのタスクボックスTは、図3に示すように、図形や線(ここでは、子タスクを囲む四角形、及び、その四角形と親タスクのタスクボックスTとを結ぶ点線)を用いて、親タスクのタスクボックスTと連結されている。この連結のための図形や線が、タスク同士(親タスクと子タスク)の階層関係を示す情報に相当する。なお、タスクボックスT31、T32のように、同一の親タスクに含まれる子タスク同士に順序関係がある場合には、ユーザは、矢印Yでその順序関係を定義する。また、別々の親タスクに含まれる子タスク同士に順序関係がある場合にも、ユーザは、矢印Yでその順序関係を定義する。   On the other hand, when a task consists of a plurality of tasks, the latter tasks can be described as the same hierarchy without describing the former tasks. However, each of the latter tasks is a child task and the former task. A task can be described as a parent task and a task having a hierarchical relationship (parent-child relationship). The tasks having a hierarchical relationship refer to tasks including other tasks and tasks included in other tasks, the former being a parent task and the latter being a child task. The parent task is a task having a lower task in the hierarchical relationship, and the child task is a task having a higher task in the hierarchical relationship. In FIG. 3, for example, the tasks indicated by task boxes T3, T31, and T32 have a hierarchical relationship, the task indicated by task box T3 is a parent task, and the tasks indicated by task boxes T31 and T32 are child tasks. Specifically, by performing a predetermined operation using the input unit 21, the user moves the task boxes T31 and T32 of the child task below the task box T3 of the parent task as in the task box T3 of FIG. To place. As shown in FIG. 3, the task box T of the child task uses a figure and a line (here, a rectangle surrounding the child task and a dotted line connecting the rectangle and the task box T of the parent task). Are connected to the task box T. The figure and line for the connection correspond to information indicating the hierarchical relationship between tasks (parent task and child task). When there is an order relationship between child tasks included in the same parent task as in task boxes T31 and T32, the user defines the order relationship with an arrow Y. In addition, even when child tasks included in different parent tasks have an order relationship, the user defines the order relationship with an arrow Y.

以上のようにして、ユーザは、図3に示すようにゴールボックスG及び各タスクボックスTを配置して、タスク同士の順序関係や階層関係を定義するとともに、ゴールボックスG及び各タスクボックスTに必要な情報を入力した後、画面上の所定のボタンのクリック等、所定の確定操作を行う(S108)。   As described above, the user arranges the goal box G and each task box T as shown in FIG. 3 to define the order relationship and the hierarchical relationship between the tasks, and to the goal box G and each task box T. After inputting necessary information, a predetermined confirmation operation such as clicking a predetermined button on the screen is performed (S108).

〈工程図作成ステップ〉すると、クライアント2は、入力された各タスクの所要時間を示す情報とリソースを示す情報と順序関係を示す情報と階層関係を示す情報とに基づいて、入力された順序関係を示す情報(矢印Y)で示された順序関係に従うように、かつ、末端タスク間でリソースが競合しないように、タスクの順序を決定する(S109)。末端タスクとは、階層関係における下位のタスクを持たないタスクをいう。例えば、図20の例では、親タスクの下位(配下)に子タスク1〜4が、子タスク3の下位に孫タスク1、2が存在しており、子タスク1、子タスク2、子タスク4、孫タスク1、及び、孫タスク2が末端タスクとなる。以下、階層関係があるタスクを、階層構造を持つタスク、階層関係がないタスクを、階層構造を持たないタスクともいう。クライアント2は、決定した順序に従って各タスクのタスクボックスTを配置したプロジェクトネットワーク図(第1の工程図に相当。)を作成し、図4に示すように、ネットワーク図作成画面に表示する(S110)。   <Process diagram creation step> Then, the client 2 inputs the input order relationship based on the information indicating the required time of each task, the information indicating the resource, the information indicating the order relationship, and the information indicating the hierarchical relationship. The task order is determined so as to follow the order relationship indicated by the information (arrow Y) indicating that the resource does not compete between the end tasks (S109). A terminal task is a task that does not have a lower-order task in a hierarchical relationship. For example, in the example of FIG. 20, child tasks 1 to 4 exist below the parent task (subordinates), and grandchild tasks 1 and 2 exist below the child task 3, and child task 1, child task 2, and child task 4, grandchild task 1 and grandchild task 2 are end tasks. Hereinafter, a task having a hierarchical relationship is also referred to as a task having a hierarchical structure, and a task having no hierarchical relationship is also referred to as a task having no hierarchical structure. The client 2 creates a project network diagram (corresponding to the first process diagram) in which the task boxes T of each task are arranged according to the determined order, and displays it on the network diagram creation screen as shown in FIG. 4 (S110). ).

階層を有するタスクの順序関係(依存関係)について説明する。図5に示すように、子タスクを含む親タスク(以下、「グループタスク」ともいう。)がある場合、親タスクとその前後のタスク及び配下の子タスクとの間には、(1)子タスクを実行するためには、親タスクの全ての先行タスクが完了していなければならない、(2)親タスクの後続タスクを実行するためには、全ての子タスクが完了していなければならない、というテクニカルな依存関係がある。なお、ここでは、先行タスクの成果物を使用しないとそのタスクが開始できないような関係にあるとき、先行タスクとそのタスクとはテクニカルな依存関係があるという。すなわち、トポロジー的には、図6に示すように、親タスクの開始点と終了点に、サブネットワークSを挟む仮想的なノード(イベントノード)Eが存在するのと同じ構造になる。   The order relationship (dependency relationship) of tasks having a hierarchy will be described. As shown in FIG. 5, when there is a parent task including a child task (hereinafter also referred to as a “group task”), (1) a child is placed between the parent task, the tasks before and after it, and subordinate child tasks. In order to execute a task, all predecessors of the parent task must be completed. (2) To execute the successor task of the parent task, all child tasks must be completed. There is a technical dependency. Here, when there is a relationship in which the task cannot be started unless the product of the preceding task is used, the preceding task and the task are technically dependent. That is, in terms of topology, as shown in FIG. 6, it has the same structure as a virtual node (event node) E sandwiching the subnetwork S at the start point and end point of the parent task.

また、全く無関係な階層位置にあり、テクニカルな依存関係がないタスク同士であっても、リソースによって依存関係が発生する場合もある。図3に示す例では、互いに無関係な階層位置にあるタスクボックスT31、T61、T72で示されるタスクが、同じ時期に同じリソースAを必要としている。そこで、クライアント2は、タスクボックスT31、T61、T72の順序を、所定のルールで(ここでは、プロジェクトネットワーク図において上にあるタスクボックスTが左になるように)決定することにより、リソースの競合を解消する。すなわち、互いに無関係な階層位置にあるタスクボックスT31、T61、T72が、同じ時期に同じリソースAを必要とするために、互いに依存する(順序を持つ)関係となる。   In addition, even if tasks are not related to each other and have no technical dependency, dependency may occur depending on resources. In the example shown in FIG. 3, the tasks indicated by the task boxes T31, T61, and T72 at hierarchical levels that are not related to each other require the same resource A at the same time. Therefore, the client 2 determines the order of the task boxes T31, T61, and T72 according to a predetermined rule (here, the task box T on the upper side in the project network diagram is on the left), thereby competing for resources. Is solved. In other words, the task boxes T31, T61, and T72 at hierarchical positions that are not related to each other require the same resource A at the same time, and thus have a relationship that depends on each other (has an order).

また、クライアント2は、タスクボックスT31、T61、T72以外のタスクボックスTの順序は矢印Yにより決定する。したがって、クライアント2は、図4に示すように、タスクボックスT72より前(プロジェクトネットワーク図においては左側)にタスクボックスT61が、タスクボックスT61より前にタスクボックスT31が配置されるように、かつ、矢印Yで示された順序関係が変わらないように、関係するタスクボックスTをずらすことにより、プロジェクトネットワーク図を完成する。なお、リソースの競合による順序関係は、点線矢印で表す。   Further, the client 2 determines the order of the task boxes T other than the task boxes T31, T61, T72 by the arrow Y. Therefore, as shown in FIG. 4, the client 2 arranges the task box T61 in front of the task box T72 (left side in the project network diagram) and the task box T31 in front of the task box T61, and The project network diagram is completed by shifting the related task boxes T so that the order relationship indicated by the arrow Y does not change. Note that the order relationship due to resource contention is indicated by a dotted arrow.

なお、図3の例では、階層関係が2階層までであったが、親タスクが子タスクを含み、その子タスクがさらに子タスク(すなわち、孫タスク)を含む等、階層関係が3階層以上ある場合にも、クライアント2は、末端タスクを対象として(すなわち、グループタスクを最下層のタスクまで展開して)、リソースが競合しているか否かを判定し、タスクボックスTをずらすことによりその競合を解消して、プロジェクトネットワーク図を完成する。   In the example of FIG. 3, the hierarchical relationship is up to two layers, but there are three or more hierarchical relationships such that the parent task includes a child task and the child task further includes a child task (that is, a grandchild task). Even in this case, the client 2 determines whether or not resources are competing for the end task (that is, the group task is expanded to the lowest task), and the contention is performed by shifting the task box T. To complete the project network diagram.

〈クリティカルチェーン決定ステップ〉ユーザが、プロジェクトネットワーク図が表示されたネットワーク図作成画面において、所定のボタンのクリック等、所定のC.C.決定指示操作を行うと(S111)、クライアント2は、末端タスクを対象として、上記のように決定したタスクの順序に基づいて、C.C.を決定する(S112)。   <Critical Chain Determination Step> When the user performs a predetermined CC determination instruction operation such as clicking a predetermined button on the network diagram creation screen on which the project network diagram is displayed (S111), the client 2 targets the end task. As described above, the CC is determined based on the task order determined as described above (S112).

C.C.(クリティカルチェーン)とは、リソースの競合を考慮して、「それが遅れると全体が遅れる」という末端タスクを繋げたチェーンであり、TOCでいう「制約条件」に相当するものである。すなわち、本実施形態では、C.C.上のタスクは末端タスクである。チェーンとは、タスク同士の依存関係(テクニカルな依存関係及びリソースによる依存関係の両方を含む。)によって順序付けられているタスクの並び(繋がり)であり、その種類として、C.C.、合流チェーンがある。合流チェーンとは、C.C.に合流する末端タスクから遡りつつ、C.C.上にない末端タスクを繋げた(すなわち、C.C.上の末端タスクにぶつかった所で若しくは先行タスクがなくなった所で終了する)チェーンをいう。なお、チェーンは、複数の末端タスクからなるものとは限らず、1つの末端タスクからなるものもある。   C.C. (Critical Chain) is a chain in which end tasks such as “the whole is delayed when it is delayed” are linked in consideration of resource competition, and corresponds to a “constraint condition” in the TOC. That is, in this embodiment, the task on C.C. is a terminal task. A chain is a sequence (connection) of tasks ordered by task dependencies (including both technical dependencies and resource dependencies), and there are C.C. and merge chains. A merge chain is a chain that traces back from the end task that joins the CC and connects end tasks that are not on the CC (that is, ends when it encounters the end task on the CC or when there is no preceding task). Say. Note that a chain is not limited to a plurality of end tasks, and may be a single end task.

クライアント2は、親タスクの開始点と終了点とを仮想的なノードEとしたときに、矢印Yで示される順序関係(テクニカルな依存関係)及びリソースによる依存関係に基づいて、末端タスク及びノードEで構成される仮想的な工程図(例えば図6に示すような工程図)を対象として、ゴールから全てのチェーンをそのチェーンの最初のタスクまで遡ることにより、最も時間が長く掛かるチェーンをC.C.と判定し、C.C.上にある末端タスク及びノードEを決定する。換言すれば、クライアント2は、末端タスクを対象として(すなわち、階層構造を持つタスクについては最下層のタスクまで分解(展開)して)、かつ、ノードEを末端タスクと同列に扱って、ゴールから全てのチェーンをそのチェーンの最初のタスクまで遡り、最も時間が長く掛かるチェーンをC.C.と判定する。なお、最も時間が長く掛かるチェーンが複数ある場合には、所定のルールに従ってC.C.を決定する。ここでは、プロジェクトネットワーク図において上になるチェーンをC.C.とする。   When the start point and end point of the parent task are assumed to be a virtual node E, the client 2 determines that the end task and the node are based on the order relationship (technical dependency relationship) indicated by the arrow Y and the resource dependency relationship. For the virtual process diagram (eg, the process diagram shown in Fig. 6) composed of E, the chain that takes the longest time is CCed by tracing all the chains from the goal to the first task of the chain. To determine the end task and node E on the CC. In other words, the client 2 targets the end task (that is, decomposes (expands) the task having a hierarchical structure to the lowest layer task), treats the node E in the same row as the end task, and completes the goal. All chains are traced back to the first task of the chain, and the chain that takes the longest time is determined as CC. When there are a plurality of chains that take the longest time, C.C. is determined according to a predetermined rule. Here, the upper chain in the project network diagram is C.C.

このように、クライアント2は、グループタスクの開始点、終了点に相当するノードEも末端タスクと同列に扱ってC.C.を決定し、内部的には、どのノードEがC.C.上にあるかという情報も持っている。なお、開始点に相当するノードEがC.C.上にあるとき、開始点がC.C.上にあるといい、終了点に相当するノードEがC.C.上にあるとき、終了点がC.C.上にあるという。   Thus, the client 2 determines the CC by treating the node E corresponding to the start point and end point of the group task in the same manner as the end task, and internally, information indicating which node E is on the CC. Also have. When the node E corresponding to the start point is on C.C., the start point is on C.C., and when the node E corresponding to the end point is on C.C., the end point is on C.C.

そして、クライアント2は、図7に示すように、プロジェクトネットワーク図において、C.C.上の末端タスクのタスクボックスTを、C.C.上にない末端タスクのタスクボックスTとは色を変えることにより、区別可能に表示する(図2−2のステップS113)。図7では、地の部分に網掛けが施されたタスクボックスT1、T31、T61、T72、T73、T8が、C.C.上にあるタスクボックスTである。   Then, as shown in FIG. 7, the client 2 can distinguish the task box T of the end task on the CC from the task box T of the end task not on the CC by changing the color in the project network diagram. It is displayed (step S113 in FIG. 2-2). In FIG. 7, task boxes T1, T31, T61, T72, T73, and T8, in which the ground portion is shaded, are task boxes T on C.C.

なお、親タスクのタスクボックスTは、その開始点あるいは終了点のいずれか一方においてC.C.上にある場合には、C.C.上のタスクボックスTと同様に色を変えて表示される。図7では、タスクボックスT3は開始点が、タスクボックスT7は終了点がC.C.上にあるため、色を変えて表示されている。   If the task box T of the parent task is on C.C. at either the start point or the end point, the task box T is displayed in a different color as with the task box T on C.C. In FIG. 7, the task box T3 has a start point and the task box T7 has an end point on C.C.

次に、ユーザが、プロジェクトネットワーク図が表示されたネットワーク図作成画面において、所定のボタンのクリック等、所定の工程表表示操作を行うと(S114)、クライアント2は、プロジェクトネットワーク図から工程表(第2の工程図に相当。)を作成し、図8に示すように表示部25に表示する(S115、116)。図8の工程表は、ガントチャートと称される種類のものであり、各タスクが所要時間に応じた長さを有するバー(横棒)Bで表示されている。なお、図中は、バーB1、B2、…というように符号「B」に数字を付して区別しているが、区別しないときは「バーB」という。バーB1、B2、…は、それぞれ、タスクボックスT1、T2、…に対応している。また、親タスクは両端部に下向き三角形が付された黒色のバーBで示され、C.C.上のタスクは斜め縞模様のバーBで表示されることにより、C.C.上にないタスクとは区別可能に表示される。バーBは、工程表においてタスクを示す要素である。また、ネットワーク図作成画面において入力されたタスク同士の順序関係は実線矢印で、タスク同士のリソースによる依存関係は点線矢印で示されている。   Next, when the user performs a predetermined process table display operation such as clicking a predetermined button on the network diagram creation screen on which the project network diagram is displayed (S114), the client 2 reads the process table ( This corresponds to the second process diagram) and is displayed on the display unit 25 as shown in FIG. 8 (S115, 116). The process chart of FIG. 8 is of a type called a Gantt chart, and each task is displayed as a bar (horizontal bar) B having a length corresponding to the required time. In the figure, the symbols “B” are distinguished by adding numbers such as bars B1, B2,..., But when not distinguished, they are referred to as “bar B”. Bars B1, B2,... Correspond to task boxes T1, T2,. In addition, the parent task is indicated by a black bar B with triangles pointing downward at both ends, and the task on the CC is displayed as a diagonally striped bar B so that it can be distinguished from a task not on the CC. Is displayed. The bar B is an element indicating a task in the process chart. In addition, the order relationship between tasks input on the network diagram creation screen is indicated by a solid line arrow, and the dependency relationship between tasks among resources is indicated by a dotted line arrow.

また、クライアント2は、図8の工程表の「CC上」と表示された欄において、各タスクがC.C.上にあるか否かを、ある場合には「True」、無い場合には「False」として示す。なお、親タスクの場合には、欄の左側にその開始点が、欄の右側にその終了点がC.C.上にあるか否かを示す。   In addition, the client 2 determines whether each task is on the CC in the column of “on CC” in the process chart of FIG. 8, “True” if there is any, “False” if there is none. As shown. In the case of the parent task, the start point is on the left side of the column, and the end point is on the C.C. on the right side of the column.

なお、本実施形態では、図4の状態のC.C.決定前のプロジェクトネットワーク図から工程表を作成することも可能であり、その場合には、C.C.が表示されていない(斜め縞模様のバーB、及び、「True」、「False」の表示がない)工程表が作成されて表示される。そして、かかる工程表が表示された画面においてユーザが所定のC.C.決定指示操作を行うと、クライアント2は、プロジェクトネットワーク図においてC.C.を決定するときと同様に、C.C.を決定し、工程表に図8に示すように表示する。   In the present embodiment, it is also possible to create a process chart from the project network diagram before CC determination in the state of FIG. 4, in which case CC is not displayed (bars B with diagonal stripes, (There is no indication of “True” or “False”) and a process chart is created and displayed. Then, when the user performs a predetermined CC determination instruction operation on the screen on which the process table is displayed, the client 2 determines the CC as in the case of determining CC in the project network diagram, and displays the process table in FIG. Display as shown in.

〈合流バッファ設定ステップ〉次に、ユーザが、C.C.付き工程表が表示された画面において、所定のボタンのクリック等、所定のバッファ挿入指示操作を行うと(S117)、クライアント2は、工程表を解析して、バッファ(合流バッファとプロジェクトバッファ)の挿入位置と長さとを決定し(S118)、バッファが挿入された工程表を、図9に示すように表示部25に表示する(S119)。バッファは下辺が上辺より短い台形で表されている。また、図中、プロジェクトバッファには符号P、合流バッファには符号F及び数字を付している。なお、合流バッファF1、F2、…を区別しないときは、「合流バッファF」という。   <Confluence buffer setting step> Next, when the user performs a predetermined buffer insertion instruction operation such as clicking a predetermined button on the screen on which the CC-related process table is displayed (S117), the client 2 displays the process table. Analysis is performed to determine the insertion position and length of the buffers (confluence buffer and project buffer) (S118), and the process table in which the buffers are inserted is displayed on the display unit 25 as shown in FIG. 9 (S119). The buffer is represented by a trapezoid whose bottom is shorter than the top. Further, in the figure, the project buffer is denoted by reference symbol P, and the confluence buffer is denoted by reference symbol F and a number. Note that when the merging buffers F1, F2,... Are not distinguished, they are referred to as “merging buffer F”.

プロジェクトバッファPは、プロジェクトのC.C.上のタスクの遅延からプロジェクトを保護する(すなわち、C.C.上のタスクが遅れても、プロジェクトが遅れないようにする)ための猶予時間(余裕時間)であり、ゴール直前のタスクとゴールとの間に挿入され、長さはC.C.の長さに応じて、例えば、C.C.の長さの1/2というように決定される。   The project buffer P is a grace time (allowance time) for protecting the project from the delay of the task on the CC of the project (that is, even if the task on the CC is delayed, the project is not delayed). Inserted between the immediately preceding task and the goal, the length is determined according to the length of CC, for example, 1/2 of the length of CC.

また、合流バッファFは、C.C.に合流する合流チェーンの遅延からC.C.を保護する(すなわち、C.C.に合流する合流チェーンが遅れても、C.C.が遅れないようにする)ための猶予時間であり、C.C.に合流するタスクであってそれ自身はC.C.上にないものの直後に設けられ、合流バッファFの長さは、その合流バッファFが挿入されるタスクが乗っている合流チェーンの長さに応じて、例えば、その合流チェーンの長さの1/2というように決定される。   The merge buffer F is a grace period for protecting the CC from the delay of the merge chain that merges with the CC (that is, even if the merge chain that merges with the CC is delayed) Is provided immediately after the task that is not on the CC, and the length of the merge buffer F depends on the length of the merge chain on which the task into which the merge buffer F is inserted is mounted, For example, it is determined to be 1/2 of the length of the merging chain.

ところで、階層構造を有するプロジェクトでは、親タスクの途中から階層的に無関係なタスクにC.C.が移ったり、階層的に無関係なタスクから親タスクの途中にC.C.が入ってきたりすることがある。図8の例では、バーB1、B31、B61、B72、B73、B8が、C.C.上のタスクを示しているが、バーB3で表される親タスクの途中からバーB6で表される親タスクにC.C.が移り、バーB6で表される親タスクの途中からバーB7で表される親タスクの途中にC.C.が移っている。すなわち、親タスクの開始点や終了点はC.C.上にないが、その子タスクがC.C.上にあるという場合があり得る。   By the way, in a project having a hierarchical structure, C.C. may move from a middle of a parent task to a hierarchically irrelevant task, or C.C. may enter a middle of a parent task from a hierarchically irrelevant task. In the example of FIG. 8, the bars B1, B31, B61, B72, B73, and B8 indicate the tasks on the CC, but from the middle of the parent task represented by the bar B3, the parent task represented by the bar B6 The CC moves, and the CC moves from the middle of the parent task represented by the bar B6 to the middle of the parent task represented by the bar B7. That is, there may be a case where the start point and end point of the parent task are not on C.C., but the child task is on C.C.

以下、クライアント2が行う合流バッファの挿入位置の判定手法について説明する。図10〜12は、図7において合流バッファが必要となる部分を、親タスクの開始点と終了点に相当するノードEを明示して、C.C.決定後の仮想的な工程図の一部として模式図で表したものである。なお、図10〜12では、各ノードには区別のために符号「E」の後に数字を付している。以下、「タスクボックス」を単に「タスク」ともいう。また、C.C.上のタスクT及びノードEには斜め縞模様を付している。   Hereinafter, a method for determining the insertion position of the merge buffer performed by the client 2 will be described. FIGS. 10 to 12 schematically illustrate a part where a merge buffer is required in FIG. 7 as a part of a virtual process diagram after CC determination by specifying a node E corresponding to a start point and an end point of a parent task. It is shown in the figure. 10 to 12, each node is given a number after the symbol “E” for distinction. Hereinafter, the “task box” is also simply referred to as “task”. In addition, task T and node E on C.C. are given diagonal stripes.

図10では、親タスクT3の開始点のノードE1はC.C.上にあり、タスクT2は、それ自身はC.C.上にないが、ノードE1に合流するので、タスクT2の直後は合流バッファの挿入箇所(合流箇所)と判断できる。また、C.C.はタスクT31からタスクT61に移っており、親タスクT3の終了点のノードE2は、それ自身はC.C.上にないが、C.C.上のタスクT8に合流していることから、ノードE2の直後は合流箇所と判断できる。   In FIG. 10, the node E1 as the starting point of the parent task T3 is on the CC, and the task T2 is not itself on the CC, but joins the node E1, so immediately after the task T2, the joining buffer insertion point ( It can be judged as a meeting place. Also, CC has moved from task T31 to task T61, and the node E2 at the end of the parent task T3 is not itself on the CC, but has joined the task T8 on the CC, so the node E2 Immediately after that, it can be judged as a meeting place.

また、図11では、タスクT31、及び、親タスクT6の配下の子タスクT61は、いずれもC.C.上にあるが、親タスクT6の開始点のノードE3は、それ自身はC.C.上にない。しかし、ノードE3は、C.C.上のタスクT61に合流することから、ノードE3の直後は合流箇所と判断できる。また、タスクT61からタスクT72にC.C.が移っており、親タスクT6の終了点のノードE4は、それ自身はC.C.上にないが、C.C.上のタスクT8に合流していることから、ノードE4の直後は合流箇所と判断できる。   In FIG. 11, the task T31 and the child task T61 under the parent task T6 are both on CC, but the node E3 at the starting point of the parent task T6 is not on CC. However, since the node E3 merges with the task T61 on C.C., it can be determined that the node E3 is a merge point immediately after the node E3. Also, CC has moved from task T61 to task T72, and the node E4 at the end of the parent task T6 is not itself on the CC, but has joined the task T8 on the CC, so the node E4 Immediately after that, it can be judged as a meeting place.

さらに、図12では、タスクT71は、それ自身はC.C.上にないが、C.C.上のタスクT72に合流することから、タスクT71の直後は合流箇所と判断できる。また、親タスクT7の終了点のノードE6はC.C.上にあり、タスクT74は、それ自身はC.C.上にないが、ノードE6に合流することから、タスクT74の直後は合流箇所と判断できる。   Furthermore, in FIG. 12, although task T71 itself is not on C.C., it merges with task T72 on C.C., so it can be determined that the task T71 is a merge point immediately after task T71. Further, the node E6 at the end point of the parent task T7 is on C.C., and the task T74 itself is not on C.C., but since it joins the node E6, it can be determined immediately after the task T74 as a joining point.

以上のように、親タスクの開始点及び終了点のノードEを末端タスクと同列に扱うことにより、合流バッファFの挿入位置を判定できる。図7のプロジェクトネットワーク図をガントチャートで表した図8の工程表において、以上のようにして合流箇所を判定し、合流バッファFを挿入したものを、図13に示す。図13では、タスクT2を示すバーB2の直後に合流バッファF1、タスクT71を示すバーB71の直後に合流バッファF6、タスクT74を示すバーB74の直後に合流バッファF7が挿入されている。また、タスクT3を示すバーB3の終了点の直後に合流バッファF8、タスクT6を示すバーB6の開始点、終了点の直後にそれぞれ合流バッファF9、F10が挿入されている。   As described above, the insertion position of the merging buffer F can be determined by treating the start point and end point node E of the parent task in the same row as the end task. FIG. 13 shows the process network shown in FIG. 8 in which the project network diagram of FIG. 7 is represented by a Gantt chart, where the joining location is determined as described above and the joining buffer F is inserted. In FIG. 13, the merge buffer F1 is inserted immediately after the bar B2 indicating the task T2, the merge buffer F6 is inserted immediately after the bar B71 indicating the task T71, and the merge buffer F7 is inserted immediately after the bar B74 indicating the task T74. Further, merge buffer F8 is inserted immediately after the end point of bar B3 indicating task T3, and merge buffers F9 and F10 are respectively inserted immediately after the start point and end point of bar B6 indicating task T6.

図13では、グループタスクの開始点または終了点がC.C.に合流する場合、その直後に直接合流バッファFを挿入している。かかる図13に示す状態の工程表を表示部25に表示させることとしてもよいが、グループタスクの開始点と終了点は仮想的なノードEであって、実際に稼働時間のあるタスクではないため、その直後に合流バッファFを挿入するのは、直感的に理解し難い。そのため、本実施形態では、上述したような親タスクの開始点及び終了点のノードEを末端タスクと同列に扱うことにより、合流バッファFの挿入位置を判定する方法は用いず、図13に示すような工程表も表示しない。その代わりに、クライアント2は、図17−1〜17−3に示すように、階層構造を持つタスクを辿ることにより、C.C.上のタスクに合流する末端タスクであってそれ自身はC.C.上にないもの(すなわち、合流バッファFを挿入すべきタスク)を発見する。そして、そのタスクから合流先のC.C.上のタスクまで明示的に依存関係を作成し、そのタスクの直後に合流バッファFを挿入することとする。以下、再帰的処理により末端タスクを探索して合流バッファを挿入する方法について、図14〜16の例、及び、図17−1〜17−3を用いて説明する。図14〜16では、図10〜12と同様に、C.C.上のタスクT及びノードEを斜め縞模様が付された矩形で示している。   In FIG. 13, when the start point or end point of the group task merges with C.C., the merge buffer F is directly inserted immediately after that. The process chart in the state shown in FIG. 13 may be displayed on the display unit 25, but the start point and end point of the group task are virtual nodes E and are not tasks with actual operating time. It is difficult to intuitively insert the merge buffer F immediately after that. For this reason, in this embodiment, the method for determining the insertion position of the merge buffer F by handling the node E at the start point and end point of the parent task in the same row as the end task is not used, as shown in FIG. Such a process chart is not displayed. Instead, as shown in FIGS. 17-1 to 17-3, the client 2 is a terminal task that merges with a task on the CC by following a task having a hierarchical structure, and is not itself on the CC. Find something (i.e. the task into which the merge buffer F should be inserted). Then, a dependency relationship is explicitly created from the task to the task on the destination C.C., and the merge buffer F is inserted immediately after the task. Hereinafter, a method for searching for a terminal task by recursive processing and inserting a merge buffer will be described with reference to examples of FIGS. 14 to 16 and FIGS. 17-1 to 17-3. 14 to 16, as in FIGS. 10 to 12, the task T and the node E on C.C. are indicated by rectangles with diagonal stripes.

図14に示す例は、タスクT16から階層的に無関係なタスクT183にC.C.がつながっている。タスクT183は三重になった階層構造の末端タスクである。そして、タスクT183を配下に置く最も上位の親タスクT18に対し、テクニカルな依存関係により先行するタスクT17も、三重の階層構造を有している。このように、グループタスクは何重にも入れ子になっている可能性がある。   In the example shown in FIG. 14, C.C. is connected from task T16 to task T183 which is hierarchically irrelevant. Task T183 is an end task with a triple hierarchical structure. The task T17 that precedes the uppermost parent task T18 under which the task T183 is subordinated due to the technical dependency also has a triple hierarchical structure. In this way, group tasks can be nested multiple times.

まず、クライアント2は、図17−1に示すように、基点となるC.C.上のタスク(図14の例ではタスクT183)についての〈見つかった末端タスクの一覧〉を初期化する(S201)。なお、基点となるC.C.上のタスク(以下、単に「基点となるタスク」ともいう。)は、C.C.上の末端タスク、及び、開始点がC.C.上にある親タスクであり、〈見つかった末端タスクの一覧〉とは、見つかった末端タスクの一覧を記憶する記憶領域を示す。次に、クライアント2は、基点となるC.C.上のタスクを対象として、上位方向に合流する末端タスクを探す処理(以下、「上位方向探索処理」という。)を行い(S202)、処理を終える。処理を終えたときに〈見つかった末端タスクの一覧〉に記憶されている末端タスクが、合流バッファを挿入すべきタスクとなる。   First, as shown in FIG. 17A, the client 2 initializes <list of end tasks found> for a task on C.C. as a base point (task T183 in the example of FIG. 14) (S201). The task on the CC as the base point (hereinafter also simply referred to as “the task as the base point”) is the end task on the CC and the parent task whose start point is on the CC. Is a storage area for storing a list of found end tasks. Next, the client 2 performs a process (hereinafter referred to as “upward direction search process”) to search for a terminal task that joins in the upper direction for the task on the base point C.C. (S202), and ends the process. When the processing is finished, the end task stored in the <list of end tasks found> becomes the task into which the merge buffer is to be inserted.

〈上位方向探索ステップ〉図17−2に示すように、上位方向探索処理では、クライアント2は、対象としているタスク(図中〈あるタスク〉と表示。)の各先行タスクについて、下位方向に合流する末端タスクを探す処理(以下、「下位方向探索処理」という。)を行う(S301、302)。なお、先行タスクとはテクニカルな依存関係またはリソースによる依存関係により先行するタスクをいう。図14の例では、まず、タスクT183を対象とするが、タスクT183は先行タスクT16を持つため、クライアント2は、タスクT16についてステップS302の下位方向探索処理を行う。下位方向探索処理では、後述するように、ステップS401で対象とするタスクが子タスクを持つか否かが判定され、タスクT16は子タスクを持たないので、ステップ404に進んで、C.C.上にあるか否かが判定され、タスクT16はC.C.上にあるので、ステップ404でNOと判定されて、下位方向探索処理を抜ける。そして、タスクT183は、タスクT16以外に先行タスクを持たないため、ステップS304に進む。   <Upward Direction Search Step> As shown in FIG. 17-2, in the upward direction search process, the client 2 joins the preceding tasks of the target task (displayed as <certain task> in the figure) in the lower direction. A process for searching for a terminal task to be performed (hereinafter referred to as “lower direction search process”) is performed (S301, 302). The predecessor task means a task that precedes due to technical dependency or resource dependency. In the example of FIG. 14, the task T183 is first targeted. However, since the task T183 has the preceding task T16, the client 2 performs the lower-level search process in step S302 for the task T16. In the lower direction search process, as will be described later, it is determined whether or not the target task has a child task in step S401, and the task T16 has no child task, so the process proceeds to step 404 and is on the CC. Since the task T16 is on the CC, it is determined NO in step 404, and the low-level search process is exited. Since task T183 has no preceding task other than task T16, the process proceeds to step S304.

ステップS304では、対象としているタスクが親タスクを持つか否かを判定する。そして、親タスクを持たなければ上位方向探索処理を抜けて、図17−1に示す処理に戻って処理を終える。一方、親タスクを持っていれば、親タスクの開始点がC.C.上にあるか否かを判定し(S305)、C.C.上にあれば、上位方向探索処理を抜けて、図17−1に示す処理に戻って処理を終えるが、C.C.上に無ければ、親タスクを対象として、さらに上位方向探索処理を行う(S306)。   In step S304, it is determined whether the target task has a parent task. If there is no parent task, the upper direction search process is exited, and the process returns to the process shown in FIG. On the other hand, if it has a parent task, it is determined whether or not the starting point of the parent task is on the CC (S305). If it is on the CC, the upper direction search process is exited and shown in FIG. Returning to the process and finishing the process, if not on the CC, a further upward search process is performed for the parent task (S306).

図14の例では、対象としているタスクT183は親タスクT182を持つので、クライアント2は、親タスクT182の開始点がC.C.上にあるか否かを判定し(S305)、親タスクT182の開始点はC.C.上に無いので、親タスクT182を対象として、さらに上位方向探索処理を行う(S306)。タスクT182は先行タスクを持たないので、下位方向探索処理は行わず、タスクT182の親タスクT181について、その開始点がC.C.上にあるか否かを判定し(S305)、C.C.上に無いので、親タスクT181を対象として、さらに上位方向探索処理を行う(S306)。タスクT181は、先行タスクを持たないので、下位方向探索処理は行わず、タスクT181の親タスクT18について、その開始点がC.C.上にあるか否かを判定し(S305)、C.C.上に無いので、親タスクT18を対象として、さらに上位方向探索処理を行う(S306)。親タスクT18を対象とする上位方向探索処理では、親タスクT18は先行タスクT17を持っているので、クライアント2は、タスクT17を対象として、下位方向探索処理を行う。   In the example of FIG. 14, since the target task T183 has a parent task T182, the client 2 determines whether or not the starting point of the parent task T182 is on the CC (S305), and the starting point of the parent task T182 Is not on the CC, further upward search processing is performed for the parent task T182 (S306). Since task T182 does not have a predecessor task, the lower-level search process is not performed, and it is determined whether or not the start point of the parent task T181 of task T182 is on the CC (S305). Further upward search processing is performed for the parent task T181 (S306). Since task T181 does not have a preceding task, it does not perform the lower direction search process, and determines whether or not the start point of the parent task T18 of task T181 is on the CC (S305). Then, further upward search processing is performed for the parent task T18 (S306). In the upper direction search process for the parent task T18, since the parent task T18 has the preceding task T17, the client 2 performs the lower direction search process for the task T17.

〈下位方向探索ステップ〉図17−3に示すように、下位方向探索処理では、クライアント2は、対象としているタスクが子タスクを持つか否かを判定し(S401)、持つ場合には、その最後尾の各子タスクについて、下位方向探索処理をさらに行う(S402、403)。なお、最後尾の子タスクとは、同じ親タスクの直下(1つ下の階層)の子タスクの中で順序が最も遅いタスクをいい、例えば、図16の親タスクT13を対象とするときは、タスクT132、T134となる。一方、子タスクを持たない場合には、対象としているタスクがC.C.上にあるか否かを判定し、C.C.上に無い場合にのみ、そのタスクを〈見つかった末端タスクの一覧〉に追加する(S404、405)。   <Lower Direction Search Step> As shown in FIG. 17-3, in the lower direction search processing, the client 2 determines whether or not the target task has a child task (S401). For each child task at the end, the lower direction search process is further performed (S402, 403). Note that the last child task is a task with the slowest order among the child tasks immediately below (one layer below) of the same parent task. For example, when the parent task T13 in FIG. Tasks T132 and T134. On the other hand, when there is no child task, it is determined whether or not the target task is on the CC, and only when the task is not on the CC, the task is added to the <List of found end tasks> ( S404, 405).

図14の例では、下位方向探索処理において最初に対象とされるタスクT17は、子タスクT171を持つので(S401でYES)、クライアント2は、子タスクT171を対象として、さらに下位方向探索処理を行い(S402、403)、子タスクT171は子タスクT172を持つので(S401でYES)、クライアント2は、子タスクT172を対象として、さらに下位方向探索処理を行い(S402、403)、子タスクT172は子タスクT173を持つので(S401でYES)、子タスクT173を対象として、さらに下位方向探索処理を行う(S402、403)。子タスクT173を対象とする下位方向探索処理において、子タスクT173は、子タスクを持たず(S401でNO)、C.C.上にないので(S404でYES)、クライアント2は、子タスクT173を〈見つかった末端タスクの一覧〉に追加し(S405)、下位方向探索処理を抜けて、上位方向探索処理に戻る。   In the example of FIG. 14, the task T17 that is first targeted in the lower direction search process has a child task T171 (YES in S401), so that the client 2 further performs the lower direction search process for the child task T171. (S402, 403), since the child task T171 has a child task T172 (YES in S401), the client 2 further performs a lower direction search process for the child task T172 (S402, 403), and the child task T172. Has a child task T173 (YES in S401), and further downward search processing is performed for the child task T173 (S402, 403). In the lower-level search process for the child task T173, the child task T173 has no child task (NO in S401) and is not on the CC (YES in S404), so the client 2 <finds the child task T173. To the list of end tasks> (S405), exit from the lower direction search process, and return to the upper direction search process.

上位方向探索処理では、クライアント2は、対象としているタスクの先行タスクで、まだ下位方向探索処理を行っていないものが存在すれば、その先行タスクについて下位方向探索処理を行い、存在しなければステップS304に進む。図14の例では、タスクT18に先行するタスクはタスクT17のみであるので、クライアント2はステップS304に進む。そして、クライアント2は、ステップS304で、対象としているタスクT18は親タスクを持たないと判定し、図17−1に示す処理に戻って処理を終える。処理を終えたとき、〈見つかった末端タスクの一覧〉には、タスクT173が記憶されている。   In the upper direction search process, the client 2 performs the lower direction search process for the preceding task if there is a target task that has not been subjected to the lower direction search process yet, and if not, the step is performed. The process proceeds to S304. In the example of FIG. 14, since the task preceding task T18 is only task T17, client 2 proceeds to step S304. In step S304, the client 2 determines that the target task T18 does not have a parent task, returns to the process illustrated in FIG. 17A, and ends the process. When the processing is finished, the task T173 is stored in the <list of end tasks found>.

以上のようにして、クライアント2は、合流バッファを挿入すべきタスクを取得し、取得したタスクと、基点となるC.C.上のタスクとの依存関係を明示する。図14の例では、二点鎖線矢印に示すように、タスクT173とタスクT183との依存関係が明示される。   As described above, the client 2 acquires the task into which the merge buffer is to be inserted, and clearly shows the dependency relationship between the acquired task and the task on the C.C. serving as the base point. In the example of FIG. 14, as shown by a two-dot chain line arrow, the dependency relationship between the task T173 and the task T183 is clearly indicated.

クライアント2は、基点となるタスクに対し、それぞれ、図17−1〜17−3に示す方法で、合流バッファを挿入すべきタスクを取得する。図15に示す例では、タスクT121を基点としたとき、末端タスクT10、T11が取得される。また、図16に示す例では、タスクT15を基点としたとき、末端タスクT132、T134が取得される。なお、図15、16の二点鎖線矢印は、基点となるタスクと取得したタスクとの依存関係を明示したものである。   The client 2 obtains a task into which the merge buffer is to be inserted with respect to the task serving as the base point by the method illustrated in FIGS. In the example shown in FIG. 15, when the task T121 is used as a base point, end tasks T10 and T11 are acquired. In the example shown in FIG. 16, when the task T15 is used as a base point, the end tasks T132 and T134 are acquired. Note that the two-dot chain arrows in FIGS. 15 and 16 clearly indicate the dependency between the task as the base point and the acquired task.

また、図17−1〜17−3に示す方法によれば、図7の例では、タスクT3(開始点がC.C.上にある親タスクに相当。)に対してタスクT2が、タスクT61に対してタスクT4、T5が、タスクT72に対してタスクT71が、タスクT8に対してタスクT32、T62、T74が、合流バッファを挿入すべきタスクとして取得される。クライアント2は、取得したタスクとC.C.上のタスクとの依存関係が、プロジェクトネットワーク図上で矢印Yで明示されていない場合には、依存関係を明示する。   Also, according to the method shown in FIGS. 17-1 to 17-3, in the example of FIG. 7, the task T2 for the task T3 (corresponding to the parent task whose start point is on the CC) is Thus, tasks T4 and T5, task T71 for task T72, and tasks T32, T62, and T74 for task T8 are acquired as tasks to which the merge buffer is to be inserted. When the dependency relationship between the acquired task and the task on C.C. is not clearly indicated by the arrow Y on the project network diagram, the client 2 specifies the dependency relationship.

図18は、図7に示すプロジェクトネットワーク図において、合流バッファを挿入すべきタスクとして取得したタスクと、基点となるC.C.上のタスクとの依存関係を明示したものであり、図7では明示されていなかったタスクT4、T5とタスクT61との依存関係、及び、タスクT32、T62、T74とタスクT8との依存関係が二点鎖線矢印で明示されている。なお、タスクT2とタスクT3との依存関係等は、既に矢印Y2等で明示されているので、二点鎖線矢印での表示は行わない。   FIG. 18 clearly shows the dependency relationship between the task acquired as the task into which the merge buffer is to be inserted and the task on the CC as the base point in the project network diagram shown in FIG. The dependency relationship between the tasks T4, T5 and the task T61, and the dependency relationship between the tasks T32, T62, T74 and the task T8, which are not present, are clearly indicated by two-dot chain arrows. Note that the dependency relationship between the task T2 and the task T3 is already clearly indicated by the arrow Y2 or the like, and therefore, the display by the two-dot chain line arrow is not performed.

そして、クライアント2は、上記のように取得した末端タスクの直後に合流バッファFを挿入する。すなわち、図9に示すように、合流バッファF1〜F7が挿入されることとなる。図9と図13とを比較すれば、親タスクT3、T6を示すバーB3、B6の開始点や終了点に挿入されていた合流バッファF8、F9、F10が、合流バッファF2、F3、F4、F5に置き換えられているのが分かる。   Then, the client 2 inserts the merge buffer F immediately after the end task acquired as described above. That is, as shown in FIG. 9, the merge buffers F1 to F7 are inserted. When FIG. 9 is compared with FIG. 13, the merge buffers F8, F9, F10 inserted at the start points and end points of the bars B3, B6 indicating the parent tasks T3, T6 are merged buffers F2, F3, F4, It can be seen that it has been replaced by F5.

図2−2に戻って説明すれば、ユーザがクライアント2において所定の登録操作を行うと(S120)、クライアント2は、ゴールボックスGのプロジェクト名等、各タスクTの識別情報、所要時間を示す情報、必要なリソースを示す情報、タスクT同士の順序関係を示す情報、タスクT同士の依存関係を示す情報、C.C.に関する情報(C.C.上のタスクTやノードEの識別情報や順序等)、及び、バッファに関する情報(プロジェクトバッファP及び合流バッファFの挿入位置や長さ等)を含む詳細データを、サーバ1に送信し(S121)、サーバ1は、受信した詳細データを当該プロジェクトのプロジェクトデータに追加して記憶(格納)する(S122)。   Returning to FIG. 2-2, when the user performs a predetermined registration operation on the client 2 (S120), the client 2 indicates the identification information of each task T, such as the project name of the goal box G, and the required time. Information, information indicating necessary resources, information indicating an order relationship between tasks T, information indicating a dependency relationship between tasks T, information on CC (identification information and order of task T and node E on CC, etc.), and The detailed data including information on the buffer (insertion position and length of the project buffer P and the merge buffer F, etc.) is transmitted to the server 1 (S121), and the server 1 converts the received detailed data into the project data of the project. It is additionally stored (stored) (S122).

以上説明したように、プロジェクト計画装置3は、親タスクの開始点と終了点とを仮想的なノードEとし、矢印Yで示される順序関係及びリソースによる依存関係に基づいて末端タスク及びノードEで構成される仮想的な工程図を対象として、C.C.上にある末端タスク及びノードEを決定するので、階層構造を持つタスクを含むプロジェクトに対しても、最も時間が掛かるチェーンを適切に選び出してC.C.を決定することができる。そして、工程表にC.C.上の末端タスクを示す要素を、C.C.上にない末端タスクを示す要素とは区別可能に表示するので、ユーザにC.C.を視覚的に示すことができる。   As described above, the project planning device 3 sets the start point and end point of the parent task as a virtual node E, and at the end task and the node E based on the order relationship indicated by the arrow Y and the resource dependency. Since the end task and node E on the CC are determined for the configured virtual process diagram, the most time-consuming chain is properly selected even for projects including tasks with a hierarchical structure. Can be determined. Since the element indicating the end task on C.C. is displayed in the process table so as to be distinguishable from the element indicating the end task not on C.C., C.C. can be visually shown to the user.

そして、C.C.上の末端タスク、及び、開始点がC.C.上にある親タスクを、基点となるタスクとして、かかる基点となるタスクに合流する末端タスクであってC.C.上にない末端タスクを探索し、見つかった末端タスクの直後に合流バッファを設定するので、階層関係を有するタスクを含むプロジェクトに対しても、合流バッファを適切な位置に自動的に挿入することができる。例えば、図7のタスクT31、T61、T72のように階層を跨ってC.C.が移るようなプロジェクトであっても、図9の合流バッファFに示すように、C.C.に合流する末端タスクであってそれ自身はC.C.上にないもの(すなわち、合流チェーンの末尾の末端タスク)の直後に、合流バッファを挿入できる。   Then, the terminal task on the CC and the parent task whose starting point is on the CC are used as the base point task, and the terminal task that merges with the base point task and does not exist on the CC is searched. Since the merge buffer is set immediately after the found end task, the merge buffer can be automatically inserted at an appropriate position even for a project including tasks having a hierarchical relationship. For example, even in a project in which CC moves across hierarchies, such as tasks T31, T61, and T72 in FIG. 7, as shown in the merge buffer F in FIG. A merge buffer can be inserted immediately after something that is not on the CC (ie, the end task at the end of the merge chain).

なお、上記実施形態では、再帰的処理により、合流バッファを挿入すべき末端タスクを探索したが、再帰的処理はループ処理に置換できることが一般に知られている。以下、ループ処理による合流バッファを挿入すべき末端タスクの探索方法について、図19−1、19−2を用いて説明する。   In the above embodiment, the end task to which the merge buffer is to be inserted is searched by recursive processing. However, it is generally known that recursive processing can be replaced by loop processing. Hereinafter, a method for searching for a terminal task into which a merge buffer is to be inserted by loop processing will be described with reference to FIGS.

基点となるC.C.上のタスクは、図17−1〜17−3の方法と同じく、C.C.上の末端タスク、及び、開始点がC.C.上にある親タスクである。また、先行タスクの意味も、図17−1〜17−3の方法と同じである。まず、〈見つかった末端タスクの一覧〉を初期化し(図19−1のステップS501)、基点となるC.C.上のタスクを、処理対象である〈あるタスク〉として処理を開始する(S502)。そして、あるタスクの各先行タスクについて、後述する下位方向に合流する末端タスクを探す処理(以下、「下位方向探索処理」という。)を行う(S504、505)。次に、対象としているタスクに親タスクがあり、かつ、その開始点がC.C.上にないか否かを判定し(S506)、ステップS506でYESであれば、対象とするタスクを、現在対象としているタスクの親タスクに置換して(S507)、ステップS505に戻り、NOであれば処理を終える。処理終了時に〈見つかった末端タスクの一覧〉に記憶されているタスクが、合流バッファを挿入すべき末端タスクである。   The task on the C.C. serving as the base point is the end task on the C.C. and the parent task whose start point is on the C.C., as in the method of FIGS. The meaning of the preceding task is also the same as the method of FIGS. 17-1 to 17-3. First, the <list of end tasks found> is initialized (step S501 in FIG. 19-1), and the task on the C.C. serving as the base point is set as the <target task> to be processed (S502). Then, for each preceding task of a certain task, a process for searching for a terminal task that joins in a lower direction, which will be described later (hereinafter referred to as “lower direction search process”) is performed (S504, 505). Next, it is determined whether the target task has a parent task and its start point is not on the CC (S506). If YES in step S506, the target task is determined as the current target. (S507), the process returns to step S505, and if NO, the process ends. The task stored in the <list of end tasks found> at the end of processing is the end task into which the merge buffer is to be inserted.

下位方向探索処理では、記憶領域〈探索対象タスクの一覧〉を初期化して、現在対象としている先行タスクを〈探索対象タスクの一覧〉に追加する(図19−2のステップS601)。そして、〈探索対象タスクの一覧〉が空でない間、〈探索対象タスクの一覧〉から処理対象とするタスク〈対象タスク〉を1つ取り出して(S602、603)、ステップS604〜609で示す処理(以下、「探索ループ処理」という。)を繰り返す。   In the lower direction search process, the storage area <search target task list> is initialized, and the preceding task that is the current target is added to the <search target task list> (step S601 in FIG. 19-2). Then, while the <search target task list> is not empty, one task <target task> to be processed is extracted from the <search target task list> (S602, 603), and the processes shown in steps S604 to S609 ( Hereinafter, “search loop processing” is repeated.

探索ループ処理では、〈対象タスク〉が子タスクを持つか否かを判定し(S604)、持つ場合には、その〈対象タスク〉の各子タスクについて、その子タスクがその子タスクの階層で最後尾であるか否かを判定する(S606)。そして、その子タスクがその子タスクの階層で最後尾である場合にのみ、その子タスクを〈探索対象タスクの一覧〉に追加する(S607)。一方、ステップ604で、〈対象タスク〉が子タスクを持たないと判定した場合には、その〈対象タスク〉がC.C.上にあるか否かを判定し(S608)、C.C.上にない場合にのみ、その〈対象タスク〉を〈見つかった末端タスクの一覧〉に追加する(S609)。   In the search loop process, it is determined whether or not the <target task> has a child task (S604). If so, for each child task of the <target task>, the child task is at the end of the child task hierarchy. It is determined whether or not (S606). Then, only when the child task is the last in the hierarchy of the child task, the child task is added to the <search target task list> (S607). On the other hand, if it is determined in step 604 that the <target task> has no child tasks, it is determined whether or not the <target task> is on the CC (S608), and only when it is not on the CC. Then, the <target task> is added to the <list of end tasks found> (S609).

図19−1、19−2に示す方法は、次のように記述できる。すなわち、基点となるC.C.上のタスクを最初の対象タスクとして、対象タスクの各先行タスクについて下位方向探索処理を行い、続けて、上位方向に、開始点がC.C.上にない親タスクが続く間、親タスクを新たな対象タスクとして、各先行タスクの下位方向探索処理を繰り返す。下位方向探索処理では、初期状態で先行タスクのみを含む探索対象タスクの一覧を用意し、この一覧が空になるまで、対象タスクをひとつずつ取り出しながら、探索ループ処理を繰り返す。探索ループ処理では、対象タスクが子タスクをもたない場合は、対象タスクがC.C.上になければ、それを合流する末端タスクの一覧に含め、対象タスクが子タスクをもつ場合は、対象タスクの各子タスクについて、子タスクがその子タスクが存在する階層内で最後尾であれば、それを探索対象タスクの一覧に追加する。   The method shown in FIGS. 19A and 19B can be described as follows. That is, the task on the CC that is the base point is set as the first target task, the lower direction search processing is performed for each preceding task of the target task, and then the parent task that does not have the start point on the CC continues in the upper direction. The lower direction search process of each preceding task is repeated with the parent task as a new target task. In the lower direction search process, a list of search target tasks including only the preceding task is prepared in the initial state, and the search loop process is repeated while extracting the target tasks one by one until the list becomes empty. In the search loop processing, if the target task has no child tasks, if the target task is not on the CC, it is included in the list of end tasks to join, and if the target task has child tasks, For each child task, if the child task is the last in the hierarchy where the child task exists, it is added to the search target task list.

以上のように、ループ処理により、合流バッファを挿入すべき末端タスクを探索することも可能である。   As described above, it is also possible to search for a terminal task into which a merge buffer is to be inserted by loop processing.

また、図17−1〜17−3に示す方法、及び、図19−1、19−2に示す方法のように、階層構造を持つタスクを上位方向や下位方向に辿ることにより、C.C.に合流する末端タスクであってそれ自身はC.C.上にないものを探索して、その直後に合流バッファを挿入する方法ではなく、図10〜12を用いて上述したように、親タスクの開始点及び終了点を仮想的なノードとして末端タスクと同列に扱うことにより、合流バッファの挿入位置を判定する方法により、図13に示すように合流バッファFを挿入してもよい。   In addition, as shown in FIGS. 17-1 to 17-3 and the methods shown in FIGS. 19-1 and 19-2, the task having a hierarchical structure is traced upward or downward to join the CC. It is not a method of searching for end tasks that are not on the CC and inserting a merge buffer immediately after that, but as described above with reference to FIGS. The merge buffer F may be inserted as shown in FIG. 13 by the method of determining the insertion position of the merge buffer by treating the points as virtual nodes in the same row as the end task.

すなわち、C.C.上の末端タスクまたは仮想ノードEに合流する末端タスクまたは仮想ノードEであってC.C.上にないものを探索し、見つかった末端タスク、及び、見つかった仮想ノードEに対応する親タスクの開始点または終了点の直後に、合流バッファを設定し、その合流バッファを示す要素をプロジェクトネットワーク図またはガントチャートの少なくとも一方に表示してもよい(図13参照)。この方法であっても、上述した図17−1〜17−3や、図19−1、19−2に示すような方法と同様に、階層構造を有するタスクを含むプロジェクトに対して適切な位置に合流バッファを挿入可能である。   That is, the terminal task or virtual node E that joins the terminal task or virtual node E on the CC and that is not on the CC is searched, and the terminal task found and the parent task corresponding to the found virtual node E Immediately after the start point or the end point, a merge buffer may be set, and an element indicating the merge buffer may be displayed on at least one of the project network diagram and the Gantt chart (see FIG. 13). Even with this method, as with the methods shown in FIGS. 17-1 to 17-3 and FIGS. 19-1 and 19-2 described above, an appropriate position for a project including a task having a hierarchical structure. It is possible to insert a merging buffer.

図9と図13とを比較すれば、上述したように合流バッファF3、F4が合流バッファF9に、合流バッファF2が合流バッファF8に、合流バッファF5が合流バッファF10に置き換わっているが、いずれの場合でも、時間的(稼働時間的)には、C.C.に合流する末端タスクであってそれ自身はC.C.上にないタスクT4、T5、T32、T62(それぞれ、バーB4、B5、B32、B62で表されている。)の直後に合流バッファFが挿入されている。なお、図13によるときの合流バッファFの長さは、合流する最も長い合流チェーンの長さに応じて決定される。   9 and FIG. 13, as described above, the merge buffers F3 and F4 are replaced with the merge buffer F9, the merge buffer F2 is replaced with the merge buffer F8, and the merge buffer F5 is replaced with the merge buffer F10. Even in this case, in terms of time (operational time), tasks T4, T5, T32, and T62 that are end tasks that join the CC and are not themselves on the CC (represented by bars B4, B5, B32, and B62, respectively) The merge buffer F is inserted immediately after. The length of the merging buffer F as shown in FIG. 13 is determined according to the length of the longest merging chain that merges.

また、図17−1〜17−3、及び、図19−1、19−2を用いて説明したように、C.C.上の末端タスク及び開始点がC.C.上にある親タスクを基点となるタスクとして、基点となるタスクに合流する末端タスクであってC.C.上にない末端タスクを探索し、見つかった末端タスクの直後に合流バッファを設定する手段、及び、図10〜12を用いて説明したように、C.C.上の末端タスクまたはC.C.上の仮想ノードに合流する、末端タスクまたは仮想ノードであってC.C.上にないものを探索し、見つかった末端タスク、及び、見つかった仮想ノードに対応する親タスクの開始点または終了点の直後に、合流バッファを設定する手段のいずれをもクライアント2が備えるように構成し、ユーザがどちらの手段で合流バッファを挿入するかを選択可能に構成してもよい。   In addition, as described with reference to FIGS. 17-1 to 17-3 and FIGS. 19-1 and 19-2, a terminal task on the CC and a parent task whose start point is on the CC are used as a base task. , Means for searching for a terminal task that is a terminal task that merges with the task that is the base point and is not on the CC, and sets a merge buffer immediately after the terminal task that was found, and as described with reference to FIGS. Search for a terminal task or virtual node that does not exist on CC that joins a terminal task on CC or a virtual node on CC, and find the end task found and the parent task corresponding to the virtual node found. Immediately after the start point or the end point, the client 2 is configured to have any means for setting the merge buffer, and the user can select which means to insert the merge buffer. It may be.

また、上記実施形態では、工程表(ガントチャート)にのみ合流バッファを挿入しているが、プロジェクトネットワーク図にも合流バッファを挿入するようにしてもよい。また、プロジェクトネットワーク図にはクリティカルチェーンを表示せず、工程表にのみ表示させるようにしてもよい。また、工程図として、プロジェクトネットワーク図のみ、或いは、工程表のみの実施形態も採り得る。さらに、工程図は、各タスクを示す要素を順序付けて配置することにより工程を示すものであればよく、上記のものに限られない。   In the above embodiment, the merge buffer is inserted only in the process chart (Gantt chart). However, the merge buffer may be inserted in the project network diagram. Further, the critical chain may not be displayed on the project network diagram, but may be displayed only on the process chart. In addition, an embodiment in which only the project network diagram or only the process chart is used as the process chart can be adopted. Furthermore, the process diagram is not limited to the above, as long as it shows the process by arranging the elements indicating the tasks in order.

また、上記実施形態では、実質的にクライアント2がプロジェクト計画装置3として構成されているが、サーバ1にもプロジェクト計画プログラムをインストールすることにより、サーバ1もプロジェクト計画装置3として構成できる。すなわち、同一のプロジェクトについて、クライアント2とサーバ1とで分担して計画することも可能である。また、作成した計画をクライアント2で修正したり、サーバ1で修正したりすることも可能である。   In the above embodiment, the client 2 is substantially configured as the project planning device 3, but the server 1 can also be configured as the project planning device 3 by installing the project planning program in the server 1. In other words, the same project can be shared between the client 2 and the server 1 and planned. The created plan can be corrected by the client 2 or can be corrected by the server 1.

また、上記実施形態では、プロジェクト計画装置3をサーバ・クライアント型として構成したが、スタンドアロン型として構成してもよい。例えば、プロジェクトデータを共有する必要がない場合等には、上記ステップS105〜120の処理もサーバ1で行い、ステップS104及びS121の処理を無いものとすれば、サーバ1がスタンドアロン型のプロジェクト計画装置3となる。逆に、上記ステップS101〜103、及び、S122の処理もクライアント2で行うようにして、ステップS104及びS121の処理を無いものとすれば、クライアント2がスタンドアロン型のプロジェクト計画装置3となる。   Moreover, in the said embodiment, although the project planning apparatus 3 was comprised as a server client type, you may comprise as a stand-alone type. For example, when it is not necessary to share project data, the server 1 also performs the processing of steps S105 to 120, and if the processing of steps S104 and S121 is not performed, the server 1 is a stand-alone type project planning device. 3 On the contrary, if the processing of steps S101 to S103 and S122 is also performed by the client 2 and the processing of steps S104 and S121 is not performed, the client 2 becomes the stand-alone type project planning apparatus 3.

1…サーバ
2…クライアント
3…プロジェクト計画装置
21…入力部
25…表示部
E…ノード
F…合流バッファ
DESCRIPTION OF SYMBOLS 1 ... Server 2 ... Client 3 ... Project planning apparatus 21 ... Input part 25 ... Display part E ... Node F ... Merge buffer

Claims (6)

入力部と表示部とを備え、制約条件の理論に従ってプロジェクトを計画するためのプロジェクト計画装置であって、
前記入力部を用いたユーザの操作に応じて、プロジェクト遂行に必要な各タスクの所要時間を示す情報、及び、必要なリソースを示す情報の入力を受けるとともに、タスク同士の順序関係を示す情報、及び、タスク同士の階層関係を示す情報の入力を受ける情報取得手段と、
前記所要時間を示す情報と前記リソースを示す情報と前記順序関係を示す情報と前記階層関係を示す情報とに基づいて、前記順序関係と前記階層関係とに従うように、かつ、前記階層関係における下位のタスクを持たないタスク(以下、「末端タスク」という。)間で、リソースが競合しないように、各タスクの順序を決定し、当該順序に従って各タスクを示す要素を配置した第1の工程図を作成し、前記表示部に表示する工程図作成手段と、
前記階層関係における下位のタスクを持つタスク(以下、「親タスク」という。)の開始点と終了点とを仮想的なノード(以下、「仮想ノード」という。)とし、前記順序関係に基づいて、末端タスク及び仮想ノードで構成される仮想的な工程図を対象として、前記プロジェクトにおけるクリティカルチェーン上にある末端タスク及び仮想ノードを決定し、前記第1の工程図または前記第1の工程図から作成した第2の工程図の少なくとも一方に、前記クリティカルチェーン上の末端タスクを示す要素を、前記クリティカルチェーン上にない末端タスクを示す要素とは区別可能に表示するクリティカルチェーン決定手段と、
を備えることを特徴とするプロジェクト計画装置。
A project planning device comprising an input unit and a display unit, for planning a project according to the theory of constraints,
In response to the user's operation using the input unit, information indicating the time required for each task required for project execution, and information indicating the necessary resources, and information indicating the order relationship between tasks, And information acquisition means for receiving input of information indicating a hierarchical relationship between tasks;
Based on the information indicating the required time, the information indicating the resource, the information indicating the order relationship, and the information indicating the hierarchy relationship, the order relationship and the hierarchy relationship are followed, and the lower order in the hierarchy relationship A first process diagram in which the order of each task is determined so that resources do not compete between tasks that do not have the task (hereinafter referred to as “end task”), and elements indicating each task are arranged according to the order. And a process drawing creation means for displaying on the display unit,
The start point and end point of a task having a lower-order task in the hierarchical relationship (hereinafter referred to as “parent task”) are defined as virtual nodes (hereinafter referred to as “virtual nodes”), and based on the order relationship. , For a virtual process diagram composed of end tasks and virtual nodes, determine end tasks and virtual nodes on the critical chain in the project, and from the first process diagram or the first process diagram Critical chain determination means for displaying an element indicating the end task on the critical chain in at least one of the created second process diagrams so as to be distinguishable from an element indicating the end task not on the critical chain;
A project planning apparatus comprising:
前記クリティカルチェーン上の末端タスク、及び、開始点の仮想ノードがクリティカルチェーン上にある親タスクを基点となるタスクとして、前記基点となるタスクに合流する末端タスクであって前記クリティカルチェーン上にない末端タスクを探索し、見つかった末端タスクの直後に合流バッファを設定し、当該合流バッファを示す要素を前記第1の工程図または前記第2の工程図の少なくとも一方に表示する合流バッファ設定手段
を備えることを特徴とする請求項1記載のプロジェクト計画装置。
The end task on the critical chain, and the end task that joins the task that is the base point with the parent task whose starting point virtual node is on the critical chain as the base task, and that is not on the critical chain A merge buffer setting means for searching for a task, setting a merge buffer immediately after the found end task, and displaying an element indicating the merge buffer in at least one of the first process diagram and the second process diagram; The project planning apparatus according to claim 1, wherein:
前記クリティカルチェーン上の末端タスクまたは前記クリティカルチェーン上の仮想ノードに合流する、末端タスクまたは仮想ノードであって前記クリティカルチェーン上にないものを探索し、見つかった末端タスク、及び、見つかった仮想ノードに対応する親タスクの開始点または終了点の直後に、合流バッファを設定し、当該合流バッファを示す要素を前記第1の工程図または前記第2の工程図の少なくとも一方に表示する合流バッファ設定手段
を備えることを特徴とする請求項1記載のプロジェクト計画装置。
Search for end tasks or virtual nodes that join the end task on the critical chain or the virtual node on the critical chain that are not on the critical chain. Immediately after the start point or end point of the corresponding parent task, a merging buffer is set, and a merging buffer setting means for displaying an element indicating the merging buffer in at least one of the first process diagram and the second process diagram. The project planning apparatus according to claim 1, further comprising:
制約条件の理論に従ってプロジェクトを計画するためのプロジェクト計画プログラムであって、入力部と表示部とを備えたコンピュータを、
前記入力部を用いたユーザの操作に応じて、プロジェクト遂行に必要な各タスクの所要時間を示す情報、及び、必要なリソースを示す情報の入力を受けるとともに、タスク同士の順序関係を示す情報、及び、タスク同士の階層関係を示す情報の入力を受ける情報取得手段、
前記所要時間を示す情報と前記リソースを示す情報と前記順序関係を示す情報と前記階層関係を示す情報とに基づいて、前記順序関係と前記階層関係とに従うように、かつ、前記階層関係における下位のタスクを持たないタスク(以下、「末端タスク」という。)間で、リソースが競合しないように、各タスクの順序を決定し、当該順序に従って各タスクを示す要素を配置した第1の工程図を作成し、前記表示部に表示する工程図作成手段、
及び、
前記階層関係における下位のタスクを持つタスク(以下、「親タスク」という。)の開始点と終了点とを仮想的なノード(以下、「仮想ノード」という。)とし、前記順序関係に基づいて、末端タスク及び仮想ノードで構成される仮想的な工程図を対象として、前記プロジェクトにおけるクリティカルチェーン上にある末端タスク及び仮想ノードを決定し、前記第1の工程図または前記第1の工程図から作成した第2の工程図の少なくとも一方に、前記クリティカルチェーン上の末端タスクを示す要素を、前記クリティカルチェーン上にない末端タスクを示す要素とは区別可能に表示するクリティカルチェーン決定手段、
として機能させることを特徴とするプロジェクト計画プログラム。
A project planning program for planning a project in accordance with the theory of constraints, comprising a computer having an input unit and a display unit,
In response to the user's operation using the input unit, information indicating the time required for each task required for project execution, and information indicating the necessary resources, and information indicating the order relationship between tasks, And information acquisition means for receiving input of information indicating a hierarchical relationship between tasks,
Based on the information indicating the required time, the information indicating the resource, the information indicating the order relationship, and the information indicating the hierarchy relationship, the order relationship and the hierarchy relationship are followed, and the lower order in the hierarchy relationship A first process diagram in which the order of each task is determined so that resources do not compete between tasks that do not have the task (hereinafter referred to as “end task”), and elements indicating each task are arranged according to the order. Creating a process diagram for displaying on the display unit,
as well as,
The start point and end point of a task having a lower-order task in the hierarchical relationship (hereinafter referred to as “parent task”) are defined as virtual nodes (hereinafter referred to as “virtual nodes”), and based on the order relationship. , For a virtual process diagram composed of end tasks and virtual nodes, determine end tasks and virtual nodes on the critical chain in the project, and from the first process diagram or the first process diagram Critical chain determining means for displaying an element indicating a terminal task on the critical chain in at least one of the created second process diagrams so as to be distinguishable from an element indicating a terminal task not on the critical chain;
Project planning program characterized by functioning as
前記コンピュータを、
前記クリティカルチェーン上の末端タスク、及び、開始点の仮想ノードがクリティカルチェーン上にある親タスクを基点となるタスクとして、前記基点となるタスクに合流する末端タスクであって前記クリティカルチェーン上にない末端タスクを探索し、見つかった末端タスクの直後に合流バッファを設定し、当該合流バッファを示す要素を前記第1の工程図または前記第2の工程図の少なくとも一方に表示する合流バッファ設定手段
として機能させることを特徴とする請求項4記載のプロジェクト計画プログラム。
The computer,
The end task on the critical chain, and the end task that joins the task that is the base point with the parent task whose starting point virtual node is on the critical chain as the base task, and that is not on the critical chain Functions as a merge buffer setting means for searching for a task, setting a merge buffer immediately after the found end task, and displaying an element indicating the merge buffer in at least one of the first process diagram and the second process diagram The project planning program according to claim 4, wherein:
前記コンピュータを、
前記クリティカルチェーン上の末端タスクまたは前記クリティカルチェーン上の仮想ノードに合流する、末端タスクまたは仮想ノードであって前記クリティカルチェーン上にないものを探索し、見つかった末端タスク、及び、見つかった仮想ノードに対応する親タスクの開始点または終了点の直後に、合流バッファを設定し、当該合流バッファを示す要素を前記第1の工程図または前記第2の工程図の少なくとも一方に表示する合流バッファ設定手段
として機能させることを特徴とする請求項4記載のプロジェクト計画プログラム。
The computer,
Search for end tasks or virtual nodes that join the end task on the critical chain or the virtual node on the critical chain that are not on the critical chain. Immediately after the start point or end point of the corresponding parent task, a merging buffer is set, and a merging buffer setting means for displaying an element indicating the merging buffer in at least one of the first process diagram and the second process diagram. The project planning program according to claim 4, wherein
JP2009248053A 2009-10-28 2009-10-28 Project planning device and project planning program Active JP5443945B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009248053A JP5443945B2 (en) 2009-10-28 2009-10-28 Project planning device and project planning program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009248053A JP5443945B2 (en) 2009-10-28 2009-10-28 Project planning device and project planning program

Publications (3)

Publication Number Publication Date
JP2011095918A true JP2011095918A (en) 2011-05-12
JP2011095918A5 JP2011095918A5 (en) 2013-03-21
JP5443945B2 JP5443945B2 (en) 2014-03-19

Family

ID=44112769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009248053A Active JP5443945B2 (en) 2009-10-28 2009-10-28 Project planning device and project planning program

Country Status (1)

Country Link
JP (1) JP5443945B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013254368A (en) * 2012-06-07 2013-12-19 Ntt Data Corp Simulation device, simulation method and program
JP2015219747A (en) * 2014-05-19 2015-12-07 株式会社日立製作所 Method for assisting in making work plan in software development and work plan drafting assistance device
JP2017004318A (en) * 2015-06-11 2017-01-05 三菱重工業株式会社 Planning assistance system
WO2021044487A1 (en) * 2019-09-02 2021-03-11 日本電気株式会社 Processing device, processing method, and program
WO2021193800A1 (en) * 2020-03-27 2021-09-30 パナソニックIpマネジメント株式会社 Work management device and preparation instruction method
US20220035813A1 (en) * 2020-08-03 2022-02-03 Alipay (Hangzhou) Information Technology Co.. Ltd. Query optimization method and apparatus
CN117132095A (en) * 2023-08-07 2023-11-28 中国船舶集团有限公司第七一九研究所 Ship development progress management system based on buffer area monitoring

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140607A (en) * 2005-11-14 2007-06-07 Noriaki Aoki Medical management support apparatus, medical management support method, medical management support program and medical management support system
JP2008059369A (en) * 2006-08-31 2008-03-13 Ricoh Co Ltd Workflow management system, workflow management method, workflow management program, and recording medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140607A (en) * 2005-11-14 2007-06-07 Noriaki Aoki Medical management support apparatus, medical management support method, medical management support program and medical management support system
JP2008059369A (en) * 2006-08-31 2008-03-13 Ricoh Co Ltd Workflow management system, workflow management method, workflow management program, and recording medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200500007010; 津曲 公二: 'なるほどtheメソッド TOCによる業務改革' 日経ものづくり 第597号 , 20040601, 186-189, 日経BP社 *
JPN6013045784; 津曲 公二: 'なるほどtheメソッド TOCによる業務改革' 日経ものづくり 第597号 , 20040601, 186-189, 日経BP社 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013254368A (en) * 2012-06-07 2013-12-19 Ntt Data Corp Simulation device, simulation method and program
JP2015219747A (en) * 2014-05-19 2015-12-07 株式会社日立製作所 Method for assisting in making work plan in software development and work plan drafting assistance device
JP2017004318A (en) * 2015-06-11 2017-01-05 三菱重工業株式会社 Planning assistance system
WO2021044487A1 (en) * 2019-09-02 2021-03-11 日本電気株式会社 Processing device, processing method, and program
WO2021193800A1 (en) * 2020-03-27 2021-09-30 パナソニックIpマネジメント株式会社 Work management device and preparation instruction method
US20220035813A1 (en) * 2020-08-03 2022-02-03 Alipay (Hangzhou) Information Technology Co.. Ltd. Query optimization method and apparatus
CN117132095A (en) * 2023-08-07 2023-11-28 中国船舶集团有限公司第七一九研究所 Ship development progress management system based on buffer area monitoring
CN117132095B (en) * 2023-08-07 2024-03-01 中国船舶集团有限公司第七一九研究所 Ship development progress management system based on buffer area monitoring

Also Published As

Publication number Publication date
JP5443945B2 (en) 2014-03-19

Similar Documents

Publication Publication Date Title
JP5443945B2 (en) Project planning device and project planning program
JP5260672B2 (en) Layout manager
McKinney et al. Generating, evaluating and visualizing construction schedules with CAD tools
US7316000B2 (en) Interactive agent for a topological multi-tier business application composer
US20190080289A1 (en) Graphical project management tool
US9213526B1 (en) Service oriented architecture (SOA) modeling
JP5238937B2 (en) Creating a segmentation definition
US20090234699A1 (en) User Interface For Scheduling Resource Assignments
US20140324493A1 (en) Display and management of a service composition candidate inventory
US20050257157A1 (en) Developing and executing applications with configurable patterns
US20070168384A1 (en) Mapping of designtime to runtime in a visual modeling language environment
CN102567840A (en) Hybrid task board and critical path method based project management application interface
CN101226559A (en) Method and computer program product of computer aided design of a product comprising a set of constrained objects
JP2006107478A (en) Extensible flamework for designing work flow
US8924919B2 (en) Tracking and integrity enforcement of relationships between service and composition candidates in a service model
JP2018106306A (en) Game development system
JP5384294B2 (en) Project progress management device
US20050257190A1 (en) Developing and executing applications with configurable patterns
US9229689B2 (en) System and method for providing user support in designing graph structures
Sangwan et al. Integrating a software architecture-centric method into object-oriented analysis and design
US7757208B2 (en) Floorplan manager
US20030041311A1 (en) Topological multi-tier business application composer
JP2008003803A (en) Project management system and its program
JP5884925B2 (en) Management support apparatus, management support method, and management support program
JP5279767B2 (en) General program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121023

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20121023

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20121023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131220

R150 Certificate of patent or registration of utility model

Ref document number: 5443945

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250