JP2011095918A - Project planning device - Google Patents
Project planning device Download PDFInfo
- 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
Links
Images
Abstract
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
ところが、タスクに親子関係(階層関係)がある場合には、別々の親タスクの配下にある子タスク同士が同じリソースを必要とする場合や、ある親タスクの子タスクの成果物を他の親タスクの子タスクが利用する場合が生じ、子タスク同士で階層的には無関係であるにも係わらず依存関係が発生することがある。このように、タスクが階層関係を有する場合には、階層を跨った依存関係が発生することがあり、依存関係が複雑であるため、上記医療マネジメント支援システムを含めて従来のプロジェクト計画システムでは、適切に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.
以下、本発明の一実施形態を図面に基づいて説明する。 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
サーバ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
プロジェクト管理プログラムは、ユーザが入力したプロジェクト名等のデータに基づいて、プロジェクトデータを作成して記憶部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
各クライアント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
プロジェクト計画プログラムは、クライアント2を、上述した情報取得手段、工程図作成手段、クリティカルチェーン決定手段、及び、合流バッファ設定手段として機能させるためのものであり、このプロジェクト計画プログラムに従って動作することにより、演算・制御部22は、入力部21、記憶部23、通信部24及び表示部25と協働して、上述した情報取得手段、工程図作成手段、クリティカルチェーン決定手段、及び、合流バッファ設定手段として機能する。
The project planning program is for causing the
次に、プロジェクト計画装置3の動作について、図2―1、2−2のフローチャートを用いて説明する。図2−1、2−2では、ユーザの行う操作を二点鎖線で示している。プロジェクト管理者であるユーザが、サーバ1においてプロジェクト管理プログラムを起動し、表示されたプロジェクト一覧画面(図示せず。)において、所定のボタンのクリック等、所定の操作を行うと、サーバ1は、プロジェクト名やプロジェクトリーダー名等を入力可能な新規プロジェクト作成画面(図示せず。)を表示部15に表示する(図2−1のステップS101)。ユーザが新規プロジェクト作成画面において、プロジェクト名と、プロジェクトの開始時期及び終了時期とを入力し、所定のボタンのクリック等、所定の登録操作を行うと(S102)、サーバ1は、入力されたデータを含むプロジェクトデータを作成し、記憶部13に格納する(S103)。
Next, the operation of the
次に、プロジェクト計画者であるユーザは、クライアント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
〈情報取得ステップ〉図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
以上のようにして、ユーザは、図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
階層を有するタスクの順序関係(依存関係)について説明する。図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
また、クライアント2は、タスクボックスT31、T61、T72以外のタスクボックスTの順序は矢印Yにより決定する。したがって、クライアント2は、図4に示すように、タスクボックスT72より前(プロジェクトネットワーク図においては左側)にタスクボックスT61が、タスクボックスT61より前にタスクボックスT31が配置されるように、かつ、矢印Yで示された順序関係が変わらないように、関係するタスクボックスTをずらすことにより、プロジェクトネットワーク図を完成する。なお、リソースの競合による順序関係は、点線矢印で表す。
Further, the
なお、図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
〈クリティカルチェーン決定ステップ〉ユーザが、プロジェクトネットワーク図が表示されたネットワーク図作成画面において、所定のボタンのクリック等、所定の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
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
このように、クライアント2は、グループタスクの開始点、終了点に相当するノードEも末端タスクと同列に扱ってC.C.を決定し、内部的には、どのノードEがC.C.上にあるかという情報も持っている。なお、開始点に相当するノードEがC.C.上にあるとき、開始点がC.C.上にあるといい、終了点に相当するノードEがC.C.上にあるとき、終了点がC.C.上にあるという。
Thus, the
そして、クライアント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
なお、親タスクのタスクボックス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
また、クライアント2は、図8の工程表の「CC上」と表示された欄において、各タスクがC.C.上にあるか否かを、ある場合には「True」、無い場合には「False」として示す。なお、親タスクの場合には、欄の左側にその開始点が、欄の右側にその終了点がC.C.上にあるか否かを示す。
In addition, the
なお、本実施形態では、図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
〈合流バッファ設定ステップ〉次に、ユーザが、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
プロジェクトバッファ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
図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
図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
〈上位方向探索ステップ〉図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
ステップ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
〈下位方向探索ステップ〉図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
図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
上位方向探索処理では、クライアント2は、対象としているタスクの先行タスクで、まだ下位方向探索処理を行っていないものが存在すれば、その先行タスクについて下位方向探索処理を行い、存在しなければステップS304に進む。図14の例では、タスクT18に先行するタスクはタスクT17のみであるので、クライアント2はステップS304に進む。そして、クライアント2は、ステップS304で、対象としているタスクT18は親タスクを持たないと判定し、図17−1に示す処理に戻って処理を終える。処理を終えたとき、〈見つかった末端タスクの一覧〉には、タスクT173が記憶されている。
In the upper direction search process, the
以上のようにして、クライアント2は、合流バッファを挿入すべきタスクを取得し、取得したタスクと、基点となるC.C.上のタスクとの依存関係を明示する。図14の例では、二点鎖線矢印に示すように、タスクT173とタスクT183との依存関係が明示される。
As described above, the
クライアント2は、基点となるタスクに対し、それぞれ、図17−1〜17−3に示す方法で、合流バッファを挿入すべきタスクを取得する。図15に示す例では、タスクT121を基点としたとき、末端タスクT10、T11が取得される。また、図16に示す例では、タスクT15を基点としたとき、末端タスクT132、T134が取得される。なお、図15、16の二点鎖線矢印は、基点となるタスクと取得したタスクとの依存関係を明示したものである。
The
また、図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
図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
図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
以上説明したように、プロジェクト計画装置3は、親タスクの開始点と終了点とを仮想的なノードEとし、矢印Yで示される順序関係及びリソースによる依存関係に基づいて末端タスク及びノードEで構成される仮想的な工程図を対象として、C.C.上にある末端タスク及びノードEを決定するので、階層構造を持つタスクを含むプロジェクトに対しても、最も時間が掛かるチェーンを適切に選び出してC.C.を決定することができる。そして、工程表にC.C.上の末端タスクを示す要素を、C.C.上にない末端タスクを示す要素とは区別可能に表示するので、ユーザにC.C.を視覚的に示すことができる。
As described above, the
そして、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
また、上記実施形態では、工程表(ガントチャート)にのみ合流バッファを挿入しているが、プロジェクトネットワーク図にも合流バッファを挿入するようにしてもよい。また、プロジェクトネットワーク図にはクリティカルチェーンを表示せず、工程表にのみ表示させるようにしてもよい。また、工程図として、プロジェクトネットワーク図のみ、或いは、工程表のみの実施形態も採り得る。さらに、工程図は、各タスクを示す要素を順序付けて配置することにより工程を示すものであればよく、上記のものに限られない。 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
また、上記実施形態では、プロジェクト計画装置3をサーバ・クライアント型として構成したが、スタンドアロン型として構成してもよい。例えば、プロジェクトデータを共有する必要がない場合等には、上記ステップS105〜120の処理もサーバ1で行い、ステップS104及びS121の処理を無いものとすれば、サーバ1がスタンドアロン型のプロジェクト計画装置3となる。逆に、上記ステップS101〜103、及び、S122の処理もクライアント2で行うようにして、ステップS104及びS121の処理を無いものとすれば、クライアント2がスタンドアロン型のプロジェクト計画装置3となる。
Moreover, in the said embodiment, although the
1…サーバ
2…クライアント
3…プロジェクト計画装置
21…入力部
25…表示部
E…ノード
F…合流バッファ
DESCRIPTION OF
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記載のプロジェクト計画装置。 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記載のプロジェクト計画装置。 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
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)
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)
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 |
-
2009
- 2009-10-28 JP JP2009248053A patent/JP5443945B2/en active Active
Patent Citations (2)
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)
Title |
---|
CSND200500007010; 津曲 公二: 'なるほどtheメソッド TOCによる業務改革' 日経ものづくり 第597号 , 20040601, 186-189, 日経BP社 * |
JPN6013045784; 津曲 公二: 'なるほどtheメソッド TOCによる業務改革' 日経ものづくり 第597号 , 20040601, 186-189, 日経BP社 * |
Cited By (8)
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 |