(57)【要約】【課題】スケジュールを効率よく作成する。【解決手段】複数のタスクからなるプロジェクトの実施スケジュールを生成するためのスケジュール生成装置であって、タスク毎に実施すべき期間が図形的な要素として示されたガントチャートを表示させる表示制御手段と、先行タスクとして所定のタスクよりも先に実施されるべきタスクに対して完了日時が入力されるとともに前記所定のタスクに対して開始日時が入力された場合に、前記所定のタスクに対して入力された開始日時が前記先行タスクに対して入力された完了日時に対して矛盾が生じているか否かを判定する判定手段と、を備え、前記表示制御手段は、前記判定手段により前記矛盾が生じていると判定された場合に、前記矛盾が生じている旨のアラートを表示させるとともに前記矛盾が解消済みのガントチャートを表示させる。【選択図】図４
2018106423.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクからなるプロジェクトの実施スケジュールを生成するためのスケジュール生成装置であって、
タスク毎に実施すべき期間が図形的な要素として示されたガントチャートを表示させる表示制御手段と、
先行タスクとして所定のタスクよりも先に実施されるべきタスクに対して完了日時が入力されるとともに前記所定のタスクに対して開始日時が入力された場合に、前記所定のタスクに対して入力された開始日時が前記先行タスクに対して入力された完了日時に対して矛盾が生じているか否かを判定する判定手段と、
を備え、
前記表示制御手段は、前記判定手段により前記矛盾が生じていると判定された場合に、前記矛盾が生じている旨のアラートを表示させるとともに前記矛盾が解消済みのガントチャートを表示させることを特徴とするスケジュール生成装置。
【請求項２】
複数のタスクからなるプロジェクトの実施スケジュールを生成するためのスケジュール生成装置であって、
タスク毎に実施すべき期間が図形的な要素として示されたガントチャートを表示させる表示制御手段と、
先行タスクとして所定のタスクよりも先に実施されるべきタスクに対して開始日時及び実施期間長さが入力されるとともに前記所定のタスクに対して開始日時が入力された場合に、前記所定のタスクに対して入力された開始日時が前記先行タスクに対して入力された開始日時及び実施期間長さに対して矛盾が生じているか否かを判定する判定手段と、
を備え、
前記表示制御手段は、前記判定手段により前記矛盾が生じていると判定された場合に、前記矛盾が生じている旨のアラートを表示させるとともに前記矛盾が解消済みのガントチャートを表示させることを特徴とするスケジュール生成装置。
【請求項３】
前記表示制御手段は、前記矛盾が解消済みのガントチャートを表示させる際に、前記ガントチャートにおける前記所定のタスクに対応する前記図形的な要素と同一の行に、前記所定のタスクに対して入力された開始日時と、前記矛盾が解消済みの前記所定のタスクに対する開始日時と、を併記表示させることを特徴とする請求項１または２に記載のスケジュール生成装置。
【請求項４】
前記先行タスクに対して入力された完了日時以後の日時、または、前記先行タスクに対して入力された開始日時に前記先行タスクに対して入力された実施期間長さを加えた日時以後の日時を、前記所定のタスクに対する前記矛盾が解消済みの開始日時として設定する設定手段を備えたことを特徴とする請求項３に記載のスケジュール生成装置。
【請求項５】
複数のタスクからなるプロジェクトの実施スケジュールを生成するためのスケジュール生成装置であって、
タスク毎に実施すべき期間が図形的な要素として示されたガントチャートを表示させる表示制御手段と、
先行タスクとして所定のタスクよりも先に実施されるべきタスクに対して完了日時が入力されるとともに前記所定のタスクに対して実施期間長さ及び完了日時が入力された場合に、前記所定のタスクに対して入力された実施期間長さ及び完了日時が前記先行タスクに対して入力された完了日時に対して矛盾が生じているか否かを判定する判定手段と、
を備え、
前記表示制御手段は、前記判定手段により前記矛盾が生じていると判定された場合に、前記矛盾が生じている旨のアラートを表示させるとともに前記矛盾が解消済みのガントチャートを表示させることを特徴とするスケジュール生成装置。
【請求項６】
複数のタスクからなるプロジェクトの実施スケジュールを生成するためのスケジュール生成装置であって、
タスク毎に実施すべき期間が図形的な要素として示されたガントチャートを表示させる表示制御手段と、
先行タスクとして所定のタスクよりも先に実施されるべきタスクに対して開始日時及び実施期間長さが入力されるとともに前記所定のタスクに対して実施期間長さ及び完了日時が入力された場合に、前記所定のタスクに対して入力された実施期間長さ及び完了日時が前記先行タスクに対して入力された開始日時及び実施期間長さに対して矛盾が生じているか否かを判定する判定手段と、
を備え、
前記表示制御手段は、前記判定手段により前記矛盾が生じていると判定された場合に、前記矛盾が生じている旨のアラートを表示させるとともに前記矛盾が解消済みのガントチャートを表示させることを特徴とするスケジュール生成装置。
【請求項７】
前記表示制御手段は、前記矛盾が解消済みのガントチャートを表示させる際に、前記ガントチャートにおける前記所定のタスクに対応する前記図形的な要素と同一の行に、前記所定のタスクに対して入力された完了日時と、前記矛盾が解消済みの前記所定のタスクに対する完了日時と、を併記表示させることを特徴とする請求項４または５に記載のスケジュール生成装置。
【請求項８】
前記先行タスクに対して入力された完了日時に前記所定のタスクに対して入力された実施期間長さを加えた日時以降の日時、または、前記先行タスクに対して入力された開始日時に前記先行タスクに対して入力された実施期間長さと前記所定のタスクに対して入力された実施期間長さとを加えた日時以後の日時を、前記所定のタスクに対する前記矛盾が解消済みの完了日時として設定する設定手段を備えたことを特徴とする請求項７に記載のスケジュール生成装置。
【請求項９】
スケジュールを作成するためのタスクのパラメータを入力するパラメータ入力領域と、前記パラメータに基づく前記タスクのスケジュールの導出結果を表示するスケジュール導出結果表示領域と、前記パラメータ及び前記導出結果に基づくスケジュールチャートを表示するスケジュールチャート表示領域とを並列した前記スケジュールを表示画面に表示させる第１の表示制御手段と、
前記パラメータ入力領域に入力されたパラメータの入力パターンに基づくスケジュール導出ロジックを用いて前記タスクのスケジュールを導出し、導出結果を前記スケジュール導出結果表示領域に表示させる第２の表示制御手段と、
前記パラメータ及び前記導出結果に基づいて描画されるスケジュールチャートを前記スケジュールチャート表示領域に表示させる第３の表示制御手段と、
を備えるスケジュール生成装置。
【請求項１０】
前記第２の表示制御手段は、前記パラメータとして、カレンダにより設定される就業日又は就業時間に応じて前記タスクのスケジュールを導出する請求項９に記載のスケジュール生成装置。
【請求項１１】
前記パラメータは、先行タスクパラメータと開始日パラメータとを含み、
前記導出結果は、開始日と完了日とを含み、
前記スケジュール導出ロジックは、前記先行タスクパラメータに含まれる先行タスクの導出結果で最遅の完了日が、前記開始日パラメータと同日または後日である場合には、先行タスクの導出結果で最遅の完了日の翌日を前記導出結果の開始日として前記タスクのスケジュールを導出する請求項９に記載のスケジュール生成装置。
【請求項１２】
前記パラメータは、開始日パラメータと完了日パラメータと日数パラメータとを含み、
前記第３の表示制御手段は、前記完了日パラメータ及び前記日数パラメータの入力がなく、前記開始日パラメータの入力がある場合には、前記開始日パラメータをマイルストーンとして前記スケジュールチャートを表示させる請求項９に記載のスケジュール生成装置。
【請求項１３】
コンピュータを、
スケジュールを作成するためのタスクのパラメータを入力するパラメータ入力領域と、前記パラメータに基づく前記タスクのスケジュールの導出結果を表示するスケジュール導出結果表示領域と、前記パラメータ及び前記導出結果に基づくスケジュールチャートを表示するスケジュールチャート表示領域とを並列した前記スケジュールを表示画面に表示させる第１の表示制御手段、
前記パラメータ入力領域に入力されたパラメータの入力パターンに基づくスケジュール導出ロジックを用いて前記タスクのスケジュールを導出し、導出結果を前記スケジュール導出結果表示領域に表示させる第２の表示制御手段、
前記パラメータ及び前記導出結果に基づいて描画されるスケジュールチャートを前記スケジュールチャート表示領域に表示させる第３の表示制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジュール生成装置及びプログラムに関する。
【背景技術】
【０００２】
開発、製造、建設など多くの要員が従事し、多数の工程（作業、タスク）から構成されるプロジェクトのスケジュールを立案するために、コンピュータを用いて日程表が作成されている。日程表作成の入力情報としては、プロジェクトをタスクやサブタスクに分割し、それぞれのタスクの名称や必要日数、開始予定日、完了予定日、先行タスク（当該タスクの開始前に完了することが前提となるタスク）などがある（特許文献１）。また、タスクのアウトプット文書（タスクの成果物）、そのテンプレート、参照文書を登録して、文書の閲覧管理と進捗管理とを連動させたシステムがある（特許文献２）。
【０００３】
入力情報をもとに日程を計算する方法として、暦日上の休日や稼働率を考慮して日程を計算する方法（特許文献３）や余裕時間（タスクの完了時刻から終業時刻までの時間）が長いタスクから日程を計算する方法（特許文献４）などがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−３２５８６０号公報
【特許文献２】特開２００３−１４１３２０号公報
【特許文献３】特開平６−３０１６８４号公報
【特許文献４】特開２００８−２２５８０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
日程計算に必要となる情報（入力情報）としては、タスクの名称、開始日、完了日、日数、先行タスクがあり、人手で入力するのが原則である。また、大きなプロジェクトは多くのタスクに分割され、上記の情報を繰り返し入力する必要がある。従来までの日程表作成システムでは、タスクごとに入力画面（特許文献１の図７、特許文献２の図３参照）が切り替わってしまい、画面操作が大変に煩わしい。
また、タスクの情報の他に、マイルストーン（プロジェクト節目となる成果物、イベントなど）を入力することがあるが、タスク情報の入力画面とは別の画面に切り換えて、情報を入力する必要があり、画面操作が煩わしい。
【０００６】
図１２は、比較例としてのタスク・マイルストーンの情報入力画面Ｘ９００を例示する図である。マイルストーンやタスクの入力パターンに応じて、タブ（９０１〜９０５）を切り替えながら情報を入力する必要がある。図１３は、比較例としてのタスク・マイルストーンの情報入力画面Ｙ９２０を例示する図である。画面Ｘ９００のタブ（９０１〜９０５）のかわりにラジオボタン（９２１〜９２５）で入力パターンを指定する必要がある。画面切換えのかわりにタブやラジオボタンの操作が必要となり、画面操作が煩わしい。
【０００７】
一方、日程の計算に関しては、暦日の休日を考慮して日程計算を行う技術（特許文献３）はあるが、タスク担当者の所属組織が異なり休日が異なる（就業カレンダが異なる）ときには、対応できない。無理に対応させようとすると、（就業）カレンダごとにばらばらの日程表となってしまい、日程表作成の効率が著しく落ちてしまう。
本発明の課題は、スケジュールを効率よく作成することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明のスケジュール生成装置は、複数のタスクからなるプロジェクトの実施スケジュールを生成するためのスケジュール生成装置であって、タスク毎に実施すべき期間が図形的な要素として示されたガントチャートを表示させる表示制御手段と、先行タスクとして所定のタスクよりも先に実施されるべきタスクに対して完了日時が入力されるとともに前記所定のタスクに対して開始日時が入力された場合に、前記所定のタスクに対して入力された開始日時が前記先行タスクに対して入力された完了日時に対して矛盾が生じているか否かを判定する判定手段と、を備え、前記表示制御手段は、前記判定手段により前記矛盾が生じていると判定された場合に、前記矛盾が生じている旨のアラートを表示させるとともに前記矛盾が解消済みのガントチャートを表示させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、スケジュールを効率よく作成することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る日程表生成装置の全体構成を示す図である。
【図２】本実施形態に係る日程表作成装置の利用者の作業手順を示すフローチャートである。
【図３】本実施形態に係る日程表生成装置の画面構成を示す画面レイアウト図であり、タスク情報入力前の画面を示す図である。
【図４】本実施形態に係るタスク情報の入力途中の画面を示す図である。
【図５】本実施形態に係る日程計算結果を表示した画面を示す図である。
【図６】本実施形態に係るアラームを含んだ日程計算結果を表示した画面を示す図である。
【図７】本実施形態に係る日程チャートを表示した画面を示す図である。
【図８】本実施形態に係る日程計算処理を示すフローチャートである。
【図９】本実施形態に係る日程計算ロジックを示す図である。
【図１０】本実施形態に係る日程チャート描画処理を示すフローチャートである。
【図１１】本実施形態に係る、時間単位の日程計算ロジックを示す図である。
【図１２】比較例としてのタスク・マイルストーンの情報入力画面Ｘを示す図である。
【図１３】比較例としてのタスク・マイルストーンの情報入力画面Ｙを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態（実施形態）を、図面を参照して詳細に説明する。なお、各図は本発明を十分に理解できる程度に概略的に示しているに過ぎず、本発明を図示例のみに限定するものではない。また、同一の要素が異なる図に示されていても同一の符号を付与して、その重複する説明を省略することがある。
【００１２】
≪全体構成≫
図１は、本実施形態に係る日程表生成装置（スケジュール生成装置）１の全体構成を示す図である。日程表生成装置１は、ＣＰＵ（Central Processing Unit）１１０と、記憶部１２０と、入出力部１３０とを備え、さらに、不図示のディスプレイやキーボード、マウスなどの入出力装置を備える。ディスプレイやキーボード、マウスのかわりにタッチパネルを備えてもよい。
ＣＰＵ１１０は、記憶部１２０に記憶されたＯＳ（Operating System）１２１や日程表生成プログラム１２２を実行することにより日程表生成装置１を機能させる。ＣＰＵ１１０は、後に詳述する第１の表示制御手段と第２の表示制御手段と第３の表示制御手段とを具現化する。
【００１３】
記憶部１２０は、ＲＡＭ（Random Access Memory）やＨＤＤ（Hard Disk Drive）、フラッシュメモリなどの半導体素子によって具現化され、日程表生成装置１を機能させるＯＳ１２１と日程表生成プログラム１２２などのプログラムを記憶する。また、日程表生成プログラム１２２は内部に日程計算ロジック２００（後述する図９参照）を備える。さらに、記憶部１２０は、作成途中または作成済みの日程表１２３が保存される。
入出力部１３０は、ＮＩＣ（Network Interface Card）、ＵＩＣ（USB Interface Card）、ＶＣ（Video Card）などの入出力装置によって具現化され、図示しないディスプレイやプロジェクタ、キーボード、マウスとのデータの入出力を行う。さらに、入出力部１３０は、図示しないファイルサーバ他のコンピュータとの通信を行う。
【００１４】
≪全体処理≫
図２は、本実施形態に係る日程表作成装置１の利用者の作業手順を示すフローチャートである。図２〜図７を参照しながら、タスクとマイルストーンの情報入力、日程計算、日程チャート作成という日程表作成手順全体を画面例と合わせて説明する。なお、タスクとマイルストーンを合わせて構成要素、または、区別する必要がないときには２つを合わせてタスクとも記す。
【００１５】
日程表作成の第１段階として、日程表生成装置１の利用者がプロジェクトをタスクに分割して、画面４００（後述する図３参照）のパラメータ入力領域４２１にタスクとマイルストーンの情報を入力する（ステップＳ１１）。図３は、本実施形態に係る日程表生成装置１の画面構成を示す画面レイアウト図であり、図示しないディスプレイに表示されるタスク情報入力前の画面４００を示す図である。図４は、本実施形態に係るタスク情報の入力途中の画面４００Ａを示す図であり、図示しないディスプレイに表示される。利用者は、１タスクを１行として、パラメータ入力領域４２１にタスク情報を入力する。
【００１６】
画面（４００、４００Ａ）には、日程計算ボタン４１１と、日程チャート描画ボタン４１２と、日程表保存ボタン４１３と、パラメータ入力領域４２１と、日程計算結果表示領域（日程導出結果表示領域）４２２と、日程チャート描画領域（日程チャート表示領域）４２３とが配置されている。パラメータ入力領域４２１と日程計算結果表示領域４２２と日程チャート描画領域４２３とは、画面の左から右に並列に配置されていて、１行が１タスクに対応している。
パラメータ入力領域４２１は、ＷＢＳ（Work Breakdown Structure）４２１１、タスク名称４２１２、先行タスク４２１３、カレンダ４２１４、日数４２１５、開始日４２１６、完了日４２１７の列からなる。
【００１７】
ＷＢＳ４２１１の列には、当該タスクの識別情報が入力される。プロジェクトから分割されたタスクに対しては、１、２、３といった自然数の識別情報を用いる。タスクからさらに分割されたサブタスクに対しては、分割前のタスクの識別情報にピリオドを付け、さらに自然数を続けて、識別情報とする。サブタスクに分割されたタスクには、最後に「＊」を付与する。図４では、１番目のタスクに１、２番目のタスクを分割した１番目のサブタスクに２．１と識別情報を付与している。また、分割されたタスクには、２＊、３＊の識別情報を付与している。
【００１８】
タスク名称４２１２の列には、タスクやサブタスク、マイルストーンの名称が入力される。
先行タスク４２１３の列には、当該タスクに先行するタスクのＷＢＳ４２１１の列に記載された識別情報が入力される。先行タスクとは、当該タスクの開始前の完了が前提となるタスクであり、先行タスクの完了後でなければ当該タスクを開始できないタスクのことである。先行タスクの列４２１３には、複数の先行タスクの識別情報（ＷＢＳ）を入力してもよい。複数タスクが入力されたときには、全ての先行タスクが完了した後に当該タスクを開始する。先行タスクがない場合には未入力となる。
【００１９】
画面４００Ａの例では、ＷＢＳが２．２、２．３、２．４のサブタスクの先行タスクは、それぞれ２．１、２．２、２．３であり、２．１、２．２、２．３、２．４の順にサブタスクを実行する。
カレンダ４２１４の列は、当該タスクを実行する担当者の（就業）カレンダの識別情報が入力される。ＣＰＵ１１０が当該タスクの日程計算をするときには、このカレンダを参照する。つまり、ＣＰＵ１１０は、カレンダにある休業日ではない就業日の日数（実施期間長さ）が確保できるように日程計算する。カレンダ４２１４に入力がない場合には、ＣＰＵ１１０は所定のカレンダを使って日程計算する。休業日は、後述する日程チャート描画領域４２３で、ハッチングで表示されている。
【００２０】
日数４２１５の列には、当該タスクを実行するのに必要な日数が入力される。ＣＰＵ１１０は、カレンダ４２１４によって示される就業日が、この日数分だけ確保できるように日程計算を実行する。
開始日４２１６の列には、当該タスクを開始する開始日が入力される。
完了日４２１７の列には、当該タスクを完了する完了日が入力される。
利用者が、開始日と完了日を入力するときには、日付を直接入力してもよいが、日付入力ツール４３１（図４参照）を用いて入力することもできる。利用者が開始日４２１６または完了日４２１７の入力位置をマウスのクリック等で指示操作すると、日付入力ツール４３１が表示される。次に、利用者が日付入力ツール４３１の上部の矢印（←と→）を用いて月を選択すると、選択された月のカレンダが表示される。続いて、利用者が表示されたカレンダ上の日付を選択すると、開始日または完了日が入力される。
【００２１】
また、サブタスクがあるタスクについては、先行タスク、カレンダ、日数、開始日、完了日は入力されず、ＷＢＳとタスク名が入力される。
本ステップＳ１１での利用者のタスク情報入力作業は、日程表生成プログラム１２２を実行するＣＰＵ１１０が第１の表示制御手段として機能することで実現される。
【００２２】
図２に戻り、日程表作成の第２段階として、利用者は日程計算ボタン４１１をマウスのクリック等により指示操作して、ステップＳ１１で入力されたタスク情報に基づいた日程計算を日程表生成装置１に指示する（ステップＳ１２）。指示を受けた日程表生成装置１は、日程計算結果である開始可能日と完了可能日とアラーム（アラートとも記す）を表示する。図５は、本実施形態に係る日程計算結果を日程計算結果表示領域４２２に表示した画面４００Ｂを示す図である。３つのボタン（４１１〜４１３）は図示していない。
【００２３】
日程計算結果表示領域４２２は、開始可能日４２２１の列と、完了可能日４２２２の列と、アラームの列４２２３とからなる。ＣＰＵ１１０は、日程計算が正常に終了したときには、計算結果の開始可能日４２２１と完了可能日４２２２をそれぞれの列に表示する。ＣＰＵ１１０は、日程計算の実行中にステップＳ１１で入力された情報に不正や不足を発見し、正常に終了しなかったときには、その旨を示すアラームをアラーム４２２３の列に表示する。
【００２４】
図６は、本実施形態に係るアラームを含んだ日程計算結果を表示した画面４００Ｃを示す図である。パラメータ入力領域４２１と日程計算結果表示領域４２２のみを図示している。第１行の「計画書作成」のタスクについては、完了日４２１７が開始日４２１６より前になっている旨のアラーム４２２３が表示されている。第３行の「設計会議」のマイルストーンについては、先行タスクの「設計１」の完了日４２１７が本マイルストーンの開始日４２１６より後になっている旨のアラーム４２２３が表示されている。第４行の「設計２」のタスクについては、入力情報が日数４２１５のみであり、日程計算が不可能である旨のアラーム４２２３が表示されている。
本ステップＳ１２の利用者指示による日程計算は、日程表生成プログラム１２２を実行するＣＰＵ１１０が第２の表示制御手段として機能することで実現される。この日程計算の処理内容は、図８を参照して詳しく後述する。
【００２５】
図２に戻り、利用者は、日程計算結果表示領域４２２のアラームの列４２２３にアラームが表示されているか否かを判断する（ステップＳ１３）。アラームがある（Ｙ）ならステップＳ１４に進み、ない（Ｎ）ならステップＳ１５に進む。
画面４００Ｂに示す日程計算結果はアラームがない場合であって、全てのタスクについて、開始可能日と完了可能日が計算され、日程計算結果表示領域４２２の開始可能日４２２１の列と完了可能日４２２２の列とに表示されている。この場合には、ステップＳ１５に進む。
画面４００Ｃに示す日程計算結果はアラームがある場合であって、ステップＳ１４に進む。
【００２６】
日程計算結果表示領域４２２にアラームがある（ステップＳ１３のＹ）ときには、利用者はアラームに従ってパラメータ入力領域４２１のタスク情報を修正する（ステップＳ１４）。続いて、利用者はステップＳ１２に戻り、日程計算ボタン４１１をマウスのクリック等により指示操作して日程計算を日程表生成装置１に指示する。
日程計算結果表示領域４２２にアラームがない（ステップＳ１３のＮ）ときには、利用者は日程チャート描画ボタン４１２をマウスのクリック等により指示操作して、日程チャートの描画を日程表生成装置１に指示する（ステップＳ１５）。日程表生成装置１は、ステップＳ１２の日程計算の結果に基いて日程チャートを日程チャート描画領域４２３に表示する。
【００２７】
図７は、本実施形態に係る日程チャートが表示された画面４００Ｄを示す図である。３つのボタン（４１１〜４１３）は図示していない。日程計算結果表示領域４２２に表示された開始可能日４２２１と完了可能日４２２２に従って、日程チャート描画領域４２３にガントチャートが描画されている。日程チャート描画領域４２３は、タスク名称の列４２３１と日の列の並び４２３２からなる。日の列の並び４２３２の最上部（符号４２６）には日付が表示されるが、図示はしていない。
【００２８】
タスク名称の列４２３１にはタスクの名称が表示される。サブタスクの名称は字下げされて表示される。字下げにより、プロジェクト、タスク、サブタスクの木構造が可視化されて、プロジェクトの構造が把握しやすくなる。字下げする文字数は、ＷＢＳ４２１１の列に表示されるタスクの識別情報にあるピリオドの数である。
日程チャート描画領域４２３の右側の各列は日であって、各タスクの期間が横棒のタスクバーで示され、タスクバーの上にタスクの名称が示されている（符号４５２参照）。タスクに先行タスクがある場合には、先行タスクのタスクバーから当該タスクのタスクバーに接続線（矢印）が表示される（符号４５３参照）。
【００２９】
本ステップＳ１５の利用者指示による日程チャート描画は、日程表生成プログラム１２２を実行するＣＰＵ１１０が第３の表示制御手段として機能することで実現される。この日程チャート描画の処理内容は、図１０を参照して詳しく後述する。なお、第１の表示制御手段と第２の表示制御手段と第３の表示制御手段とをあわせて、表示制御手段とも記す。
図２に戻り、利用者は日程表保存ボタン４１３をマウスのクリック等により指示操作して、日程表の保存を日程表生成装置１に指示する（ステップＳ１６）。日程表生成装置１は、日程表を記憶部１２０に保存する。
【００３０】
≪日程計算処理≫
図８は、本実施形態に係る日程計算処理を示すフローチャートである。図９は、記憶部１２０に記憶される日程表生成プログラム１２２が備える本実施形態に係る日程計算ロジック２００を示す図である。図８と図９を参照して、第２の表示制御手段として機能するＣＰＵ１１０が実行する日程計算の処理内容を詳しく説明する。なお、第２の表示手段は、入力情報に矛盾が含まれないかの確認を行うための判定手段と、矛盾を解消するように開始日または完了日を設定する設定手段とを含む。日程計算処理は、利用者が日程計算ボタン４１１をマウスのクリック等により指示操作して開始される（図２のステップＳ１２参照）。
【００３１】
図８のフローチャートを説明する前に、図９に示される日程計算ロジック（日程導出ロジック）２００を説明する。日程計算ロジック２００は、日程表生成プログラム１２２に含まれていて、ＣＰＵ１１０がステップＳ２５にて参照するデータであり、個々のタスクの入力情報から当該タスクの開始可能日と完了可能日を計算する方法を示す表形式のデータである。本実施形態では計算方法（ロジック、パターン）を表形式のデータで表現しているが、入力情報を解析して日程計算するサブルーチンとしてＣＰＵ１１０から呼び出されるようにしてもよい。または、別の形式のデータでもよい。
【００３２】
日程計算ロジック２００は、８つの列と１６のレコード（行）からなる表形式のデータであって、左側４列は、左から順に当該タスクの先行タスク２３１、日数２３２、開始日２３３、完了日２３４であり、パラメータ入力領域４２１（図３、４参照）の先行タスク４２１３、日数４２１５、開始日４２１６、完了日４２１７の入力の有無（入力されたか否か）にそれぞれ対応している。
右側４列には、入力パラメータの有無パターンごとの、開始可能日２４１の計算方法と、完了可能日２４２の計算方法と、アラーム２４３の条件と、シフト２４４の可否とが示されている。
【００３３】
開始可能日２４１と完了可能日２４２の計算結果は日程計算結果表示領域４２２の開始可能日４２２１と完了可能日４２２２にそれぞれ表示される。ＣＰＵ１１０が開始可能日４２２１と完了可能日４２２２を計算するときには、パラメータ入力領域４２１のカレンダ４２１４を参照する。
パラメータ（４２１３、４２１５〜４２１７）がアラーム２４３の条件を満たせば、その内容が日程計算結果表示領域４２２のアラーム４２２３に表示される。アラーム２４３の条件の当否の判断は、入力情報が矛盾を含むか否かの判定手段となる。
シフト２４４は先行タスク４２１３により当該タスクをシフトするか否かを示す。つまり、先行タスクの完了可能日４２２２が当該タスクの開始日４２１６と同日または後日の場合に、当該タスクの開始日４２１６をシフトして（ずらして）先行タスクの完了可能日の翌日にするかしないかを示す。
【００３４】
以下の各パターン（２１１〜２２６）の説明において、日程計算ロジック２００の左の４列（２３１〜２３４）とパラメータ入力領域４２１の４つのパラメータ（４２１３、４２１５〜４２１７）を同一視する。また、符号はパラメータ入力領域４２１の４つのパラメータの符号（４２１３、４２１５〜４２１７）を用いて説明する。日程計算ロジック２００の計算結果の３列（２４１〜２４３）については、日程計算結果表示領域４２２の３列（４２２１〜４２２３）と同一視して、符号は日程計算結果表示領域４２２の３列の符号（４２２１〜４２２３）を用いる。
【００３５】
パターン２１１は、先行タスク４２１３が無、日数４２１５が有、開始日４２１６が有、完了日４２１７が有である入力パラメータのパターンである。このパターン２１１は、計算結果の開始可能日４２２１は入力の開始日４２１６であり、計算結果の完了可能日４２２２は入力の開始日４２１６＋入力の日数４２１５−１である。入力の完了日４２１７は無視される。完了可能日４２２２を計算するときには、カレンダ４２１４を考慮する。つまり、指定されたカレンダ４２１４にある就業日の日数が、入力の日数４２１５となるように完了可能日４２２２を計算する。このカレンダ４２１４を考慮した計算は、他のパターンでも同様である。
【００３６】
パターン２１２は、先行タスク４２１３が無、日数４２１５が有、開始日４２１６が有、完了日４２１７が無である入力パラメータのパターンである。このパターン２１２は、計算結果の開始可能日４２２１は入力の開始日４２１６であり、計算結果の完了可能日４２２２は入力の開始日４２１６＋入力の日数４２１５−１である。
【００３７】
パターン２１３は、先行タスク４２１３が無、日数４２１５が無、開始日４２１６が有、完了日４２１７が有である入力パラメータのパターンである。このパターン２１３は、計算結果の開始可能日４２２１は入力の開始日４２１６であり、計算結果の完了可能日４２２２は入力の完了日４２１７である。期日固定であり、休日の指定も可能である。アラームに記載の完了日４２１７＜開始日４２１６（完了日が開始日より前）である場合には、完了日が開始日より前である旨のアラームとして、開始可能日４２２１と完了可能日４２２２を未計算とする。
【００３８】
パターン２１４は、先行タスク４２１３が無、日数４２１５が無、開始日４２１６が有、完了日４２１７が無である入力パラメータのパターンである。このパターン２１４は、計算結果の開始可能日４２２１は入力の開始日４２１６であり、計算結果の完了可能日４２２２は入力の開始日４２１６である。このパターンの場合は、当該タスクをマイルストーンとして扱う（後述する図１０のステップＳ４３参照）。
【００３９】
パターン２１５は、先行タスク４２１３が有、日数４２１５が有、開始日４２１６が有、完了日４２１７が有である入力パラメータのパターンである。このパターン２１５は、計算結果の開始可能日４２２１は指定された先行タスクの完了可能日４２２２の最遅日＋１であり、計算結果の完了可能日４２２２は指定された先行タスクの完了可能日４２２２の最遅日＋入力の日数４２１５である。入力の開始日４２１６はシフトされ、無視されることになる。この開始可能日４２２１と完了可能日４２２２の計算は、入力情報の矛盾を解消して開始日を定める設定手段の一つである。なお、先行完了可能日（先行タスクの完了可能日４２２２の最遅日）＜開始日４２１６である場合には、計算結果の開始可能日４２２１は入力の開始日４２１６であり、計算結果の完了可能日４２２２は入力の開始日４２１６＋入力の日数４２１５−１である。入力の完了日４２１７は無視される。
【００４０】
パターン２１６は、先行タスク４２１３が有、日数４２１５が有、開始日４２１６が有、完了日４２１７が無である入力パラメータのパターンである。このパターン２１６は、計算結果の開始可能日４２２１は指定された先行タスクの完了可能日４２２２の最遅日＋１であり、計算結果の完了可能日４２２２は指定された先行タスクの完了可能日４２２２の最遅日＋入力の日数４２１５である。入力の開始日４２１６はシフトされ、無視されることになる。なお、先行完了可能日（先行タスクの完了可能日４２２２の最遅日）＜開始日４２１６である場合には、計算結果の開始可能日４２２１は入力の開始日４２１６であり、計算結果の完了可能日４２２２は入力の開始日４２１６＋入力の日数４２１５−１である。
【００４１】
パターン２１７は、先行タスク４２１３が有、日数４２１５が無、開始日４２１６が有、完了日４２１７が有である入力パラメータのパターンである。このパターン２１７は、計算結果の開始可能日４２２１は入力の開始日４２１６であり、計算結果の完了可能日４２２２は入力の完了日４２１７である。期日固定であり、休日の指定も可能である。アラームに記載の先行完了可能日（先行タスクの完了可能日４２２２の最遅日）≧開始日４２１６である場合には、先行タスクの完了可能日が開始日と同日または後日である旨のアラームとして、開始可能日４２２１と完了可能日４２２２を未計算とする。
【００４２】
パターン２１８は、先行タスク４２１３が有、日数４２１５が無、開始日４２１６が有、完了日４２１７が無である入力パラメータのパターンである。このパターン２１８は、計算結果の開始可能日４２２１は入力の開始日４２１６であり、計算結果の完了可能日４２２２は入力の開始日４２１６である。アラームに記載の先行完了可能日（先行タスクの完了可能日４２２２の最遅日）≧開始日４２１６である場合には、先行タスクの完了予定日が開始日と同日または後日である旨のアラームとして、開始可能日４２２１と完了可能日４２２２を未計算とする。このパターンの場合は、当該タスクをマイルストーンとして扱う（後述する図１０のステップＳ４３参照）。
【００４３】
パターン２１９は、先行タスク４２１３が無、日数４２１５が有、開始日４２１６が無、完了日４２１７が有である入力パラメータのパターンである。このパターン２１９は、計算結果の開始可能日４２２１は入力の完了日４２１７−入力の日数４２１５＋１であり、計算結果の完了可能日４２２２は入力の完了日４２１７である。
【００４４】
パターン２２０は、先行タスク４２１３が無、日数４２１５が有、開始日４２１６が無、完了日４２１７が無である入力パラメータのパターンである。このパターン２２０は、計算不能の旨のアラームとして、開始可能日４２２１と完了可能日４２２２を未計算とする。
パターン２２１は、先行タスク４２１３が無、日数４２１５が無、開始日４２１６が無、完了日４２１７が有である入力パラメータのパターンである。このパターン２２１は、計算不能の旨のアラームとして、開始可能日４２２１と完了可能日４２２２を未計算とする。
パターン２２２は、先行タスク４２１３が無、日数４２１５が無、開始日４２１６が無、完了日４２１７が無である入力パラメータのパターンである。このパターン２２２は、計算不能の旨のアラームとして、開始可能日４２２１と完了可能日４２２２を未計算とする。
【００４５】
パターン２２３は、先行タスク４２１３が有、日数４２１５が有、開始日４２１６が無、完了日４２１７が有である入力パラメータのパターンである。このパターン２２３は、計算結果の開始可能日４２２１は入力の完了日４２１７−入力の日数４２１５＋１であり、計算結果の完了可能日４２２２は入力の完了日４２１７である。アラームに記載の先行完了可能日（先行タスクの完了可能日４２２２の最遅日）＞（入力の完了日４２１７−入力の日数４２１５）である場合には、先行タスクの完了可能日が計算上の開始日と同日または後日である旨のアラームとして、開始可能日４２２１と完了可能日４２２２を未計算とする。
【００４６】
パターン２２４は、先行タスク４２１３が有、日数４２１５が有、開始日４２１６が無、完了日４２１７が無である入力パラメータのパターンである。このパターン２２４は、計算不能の旨のアラームとして、開始可能日４２２１と完了可能日４２２２を未計算とする。
パターン２２５は、先行タスク４２１３が有、日数４２１５が無、開始日４２１６が無、完了日４２１７が有である入力パラメータのパターンである。このパターン２２５は、計算不能の旨のアラームとして、開始可能日４２２１と完了可能日４２２２を未計算とする。
パターン２２６は、先行タスク４２１３が有、日数４２１５が無、開始日４２１６が無、完了日４２１７が無である入力パラメータのパターンである。このパターン２２６は、計算不能の旨のアラームとして、開始可能日４２２１と完了可能日４２２２を未計算とする。
【００４７】
パラメータ（４２１３、４２１５〜４２１７）が上記パターン（２１１〜２２６）のアラーム条件に合致するか否かは、ステップＳ２６（図８参照）の判断に対応している。
図８に戻って、日程計算処理を詳細に説明する。
日程計算ボタン４１１がマウスのクリック等により指示操作されると、ＣＰＵ１１０が日程計算を開始し、日程計算結果表示領域４２２をクリアして初期化を行う（ステップＳ２１）。
【００４８】
続いて、ＣＰＵ１１０は、パラメータ入力領域４２１からサブタスクのないタスクの情報を１つ（１行）順次読み込む（ステップＳ２２）。画面４００Ａ（図４参照）では、ＷＢＳが１、２．１、２．２、２．３、２．４、３．１、３．２、３．３、３．４であるタスクが、サブタスクのないタスクである。
【００４９】
次に、ＣＰＵ１１０は、読み込んだタスク情報に先行タスクが入力されているか否か判断する（ステップＳ２３）。先行タスクが存在する（Ｙ）ときはステップＳ２４に進み、先行タスクが存在しない（Ｎ）ときはステップＳ２５に進む。
先行タスク４２１３が存在する（ステップＳ２３のＹ）ときは、先行タスクの中で計算済みの（日程計算結果表示領域４２２にある）完了可能日４２２２が最も遅い日（先行タスクの完了可能日４２２２の最遅日）を求め、これを先行タスク完了可能日とする（ステップＳ２４）。続いてステップＳ２５に進む。
【００５０】
ＣＰＵ１１０は、ステップＳ２４で求めた先行タスク完了可能日４２２２、並びに、ステップＳ２２で読み込んだタスク情報の日数４２１５と開始日４２１６と完了日４２１７とから、日程計算ロジック２００（図９参照）の計算パターンを選択する（ステップＳ２５）。即ち、先行タスク４２１３と日数４２１５と開始日４２１６と完了日４２１７の有無のパターンに合致するパターンを日程計算ロジック２００の１６のパターン（２１１〜２２６）の中から選択する。
【００５１】
続いて、ＣＰＵ１１０は、選択したパターンにアラームがあるか否か判断する。（ステップＳ２６）。アラームがある（Ｙ）ときにはステップＳ２７に進み、アラームがない（Ｎ）ときにはステップＳ２８に進む。
アラームがあるパターン（２１３、２１７、２１８、２２０〜２２６）が選択され、かつアラームの条件に合致したとき（ステップＳ２６のＹ）には、ＣＰＵ１１０はアラームの内容を日程計算結果表示領域４２２のアラームの列４２２３に表示して、本処理を終える（ステップＳ２７）。
【００５２】
アラームがないパターン（２１１、２１２、２１４〜２１６、２１９）が選択されたとき、または、アラームの条件に合致しなかったとき（ステップＳ２６のＮ）には、ＣＰＵ１１０はパターンの計算方法に従って開始可能日と完了可能日を計算して、結果を日程計算結果表示領域４２２の開始可能日４２２１と完了可能日４２２２の列に表示する（ステップＳ２８）。
【００５３】
続いて、ＣＰＵ１１０は、パラメータ入力領域４２１の全てのサブタスクがないタスクの情報を全て読み込んだか判断する（ステップＳ２９）。全てのタスク情報の読み込みが完了したとき（Ｙ）には、ステップＳ３０に進む。全てのタスク情報の読み込みが完了していないとき（Ｎ）には、ステップＳ２２に戻る。
次に、ＣＰＵ１１０は、サブタスクがあるタスクの全てについて、サブタスクの開始可能日４２２１の最早日を開始可能日４２２１とし、サブタスクの完了可能日４２２２の最遅日を完了可能日４２２２として、日程計算結果表示領域４２２に表示する（ステップＳ３０）。画面４００Ａでは、ＷＢＳが２、３であるタスクが、サブタスクがあるタスクである。
以上の日程計算処理は、ＣＰＵ１１０が第２の表示制御手段として機能して、実行する。
【００５４】
≪日程チャート描画処理≫
図１０は、本実施形態に係る日程チャート描画処理を示すフローチャートである。図１０と図７を参照しながら、第３の表示制御手段として機能するＣＰＵ１１０が実行する日程チャート描画の処理内容を詳しく説明する。日程チャート描画処理は、利用者が日程チャート描画ボタン４１２をマウスのクリック等により指示操作して開始される（図２のステップＳ１５参照）。
日程チャート描画ボタン４１２がマウスのクリック等により指示操作されると、ＣＰＵ１１０が日程チャート描画を開始し、日程チャート描画領域４２３をクリアして初期化を行う（ステップＳ４１）。
【００５５】
続いて、ＣＰＵ１１０は、日程計算結果表示領域４２２から計算結果の開始可能日４２２１と完了可能日４２２２を１行ずつ順次読み込む（ステップＳ４２）。
次に、ＣＰＵ１１０は、計算結果からタスクバーまたはマイルストーンを描画する（ステップＳ４３）。ＣＰＵ１１０は、日程計算ロジック２００のパターン（２１４、２１８）での計算結果ならマイルストーンを、その他のパターン（２１１〜２１３、２１５〜２１７、２１９、２２３）での計算結果ならタスクバーを表示する。
【００５６】
マイルストーンの場合には、当該タスクの行の中で、計算結果の開始可能日４２２１にマイルストーンを表す三角形４５１を描画し、その上にタスク名称４２１２（図７の例では「開発計画書」）を表示する（図７の符号４５１参照）。タスクバーの場合には、当該タスクの行の中で、開始可能日４２２１と完了可能日４２２２とを結ぶタスクバーを示す横棒４５２を描画し、その上にタスク名称４２１２（図７の例では「設計１」）を表示する（図７の符号４５２参照）。
さらにタスク名称４２１２をタスク名称の列４２３１に表示する。サブタスクのときには、識別情報（ＷＢＳ４２１１）に含まれるピリオドの数分だけ字下げする。
【００５７】
次に、ＣＰＵ１１０は、日程計算結果表示領域４２２にある全ての計算結果の開始可能日４２２１と完了可能日４２２２を全て読み込んだか判断する（ステップＳ４４）。全ての計算結果の開始可能日４２２１と完了可能日４２２２の読み込みが完了したとき（Ｙ）には、ステップ４５に進む。全ての計算結果の開始可能日と完了可能日の読み込みが完了していないとき（Ｎ）には、ステップＳ４２に戻る。
続いて、ＣＰＵ１１０は、日程計算結果表示領域４２２から先行タスクのあるタスクを順次読み込む（ステップＳ４５）。先行タスクの有無は、パラメータ入力領域４２１の先行タスクの列４２１３から判断できる。
【００５８】
次に、ＣＰＵ１１０は、先行タスクのタスクバーの終端から当該タスクのタスクバーの始端へ接続線（矢印、図７の符号４５３参照）を描画する（ステップＳ４６）。１つのタスクに複数の先行タスクがある場合には、複数の接続線を描画する。
続いて、ＣＰＵ１１０は、日程計算結果表示領域４２２から先行タスクのあるタスクを全て読み込んだか判断する（ステップＳ４７）。全ての先行タスクのあるタスクの読み込みが完了したとき（Ｙ）には、本処理を終了する。全ての先行タスクのあるタスクの読み込みが完了していないとき（Ｎ）には、ステップＳ４５に戻る。
【００５９】
≪変形例≫
日程計算処理（図８参照）では、タスク情報を順次読み込み（ステップＳ２２）ながら、日程計算を実行する。パラメータ入力領域４２１の中で先行タスクが当該タスクより下にある（先行タスクのＷＢＳが当該タスクのＷＢＳより大きい）場合を考慮して、先行タスクの日程計算が未実行の場合には、当該タスクの日程計算を後回しにしてもよい。つまり、ステップＳ２３で、先行タスクが有であって先行タスクの中に日程計算が未実行のものがあれば、当該タスクの日程計算は後回しにし、最後に読み込むようにして、ステップＳ２９に進むようにしてもよい。このようにすることで、日程計算可能なタスクから開始可能日と完了可能日を計算して、全てのタスクの日程計算が可能になる。
【００６０】
日程計算処理のステップＳ２６とＳ２７において、アラームがあった場合には、日程計算処理を終了している。ステップＳ２７でアラームを表示した後に、ステップＳ２８に進み、日程計算処理を続行することも可能である。この場合には、開始可能日４２２１と完了可能日４２２２は、それぞれ開始日４２１６と完了日４２１７とする。開始日４２１６と完了日４２１７のどちらか一方が入力されたときには、開始可能日４２２１と完了可能日４２２２とも入力された日付とする。
【００６１】
図７の日程チャート描画領域４２３に表示される日程チャート４２３２は、１日単位でタスクバー４５２やマイルストーン４５１を表示していた。長期間に亘るプロジェクトでは、日程チャート４２３２が横に長くなり、横スクロールバーを操作しないと日程チャート４２３２が閲覧できなくなってしまう。このような場合を考慮して、日程チャート４２３２を１日単位ではなく、週や２週、月の単位で描画するようにしてもよい。
【００６２】
日程表生成装置１の利用者は、タスク情報の入力と修正（図２のステップＳ１１とＳ１４）、日程計算（ステップＳ１２）、日程チャート描画（ステップＳ１５）を繰り返して、日程表を作成する。よって、画面の切り替えが不要なように、パラメータ入力領域４２１と日程計算結果表示領域４２２と日程チャート描画領域４２３とが、ディスプレイにおける１つの画面４００に表示されることが望ましい。
しかしながら、日程計算が終了した後で、もっぱら日程チャート描画領域４２３を閲覧することを考慮して、日程チャート描画領域４２３だけが画面４００に表示されるようにしてもよい。
また、進捗会議での使用を考慮して、ＣＰＵ１１０が入出力部１３０に接続されたプロジェクタに日程チャートの描画データを送信して、プロジェクタが日程チャート描画領域４２３のみをスクリーンに投影するようにしてもよい。
【００６３】
上記実施形態での日程計算は、１日単位で計算していた。短期間の日程表の日程計算では、１時間単位や半日単位で計算を行ってもよく、開始日、完了日、日数、開始可能日、完了可能日のかわりにそれぞれ開始日時、完了日時、実施期間長さ（実施時間）、開始可能日時、完了可能日時を入力、計算、表示してもよい。
図１１は、１日単位より短い時間単位で日程計算を行う場合の日程計算ロジック２００ａである。開始日の代わりに開始日時、完了日の代わりに完了日時、日数の代わりに時間として日程計算を行う。１日単位より短い単位で計算するため、パターン２１１の完了可能日２４２の計算方法が開始日＋日数−１から、パターン２１１ａの開始日時＋時間に変わっている。他にもパターン２１２ａの完了可能日２４２、パターン２１５ａとパターン２１６ａの開始可能日２４１、パターン２１９ａとパターン２２３ａの開始可能日２４１、パターン２１７ａとパターン２１８ａのアラーム２４３が変わっている。
【００６４】
開始可能日（開始可能日時）４２２１と完了可能日（完了可能日時）４２２２を計算するときには、就業開始時刻（開業時刻）と就業終了時刻（終業時刻）を考慮して計算する。例えば、完了可能日（完了可能日時）４２２２が就業終了時刻を３時間過ぎるときには、翌就業日の就業開始時刻＋３時間と計算する。
就業開始時刻と就業終了時刻は、カレンダ４２１４により設定され、各所属組織や事業所の就業時間に合わせた日程計算を行う。
【００６５】
上記実施形態によれば、画面４００（図３参照）に示すように、全てのタスクとマイルストーン（構成要素）のパラメータが、パラメータ入力領域４２１に入力され、表示される。このために、開始日や日数、先行タスクなどのタスク情報を入力するたびに画面を切り替える必要がなく、複数のタスク情報を続けて入力することが可能となり、入力作業が効率的になる。入力済みのタスク情報が表示される画面と同じ画面でタスク情報の入力が可能なので、他のタスクの情報を同じ画面で参照しつつタスク情報を入力可能となり、入力作業が効率的になる。
【００６６】
さらに、上記実施形態によれば、パラメータ入力領域４２１と、日程計算結果表示領域４２２と、日程チャート描画領域４２３とは、１つの画面に並列に表示される。このために、構成要素のパラメータ入力、日程計算、構成要素のパラメータ修正、日程チャート描画という一連の日程表作成の工程を通じて画面が切り換える必要がなくなっている。入力パラメータと計算結果と日程チャートを同じ画面で参照しつつ日程表が作成できるようになっていて、日程表作成が効率的になる。
【００６７】
また、上記実施形態によれば、入力パターン（タスクのプロパティ）を指定した後にタスク情報を入力する必要もなく、日程表を効率的に作成することができる。例えば、パターン２１４（図９参照）、パターン２１８に見られるように、開始日だけ入力することにより、当該タスクはマイルストーンと解釈され、日程チャート描画領域４２３に描画される。タブ（図１２の符号９０４参照）を切り替えての入力やタスクのプロパティ（図１３の符号９２４参照）を指定しての入力が不要となり、入力作業を効率化できる。
【００６８】
さらに、上記実施形態によれば、パターン２１１、パターン２１５、パターン２１６に見られるように、入力された情報（入力パラメータの有無のパターン）により、一部の入力された情報を適宜無視して日程計算している。このために、本来なら入力エラーであって、日程計算が途中で中断して入力情報の修正（再入力）が必要な場合でも、日程計算と日程チャート描画とを継続することができ、効率的に日程表を作成できる。
【００６９】
また、上記実施形態によれば、タスクごとにカレンダを指定することができ、このカレンダに設定されている就業日を考慮して、日数計算がされて、完了可能日や開始可能日が計算される。タスクごとにカレンダ指定が可能なので、タスクの担当者の所属組織や事業所が異なり、休日が異なる場合であっても、各所属組織や事業所の就業日に合わせた日程計算が可能となる。就業時間についても同様である。
【００７０】
さらに、上記実施形態によれば、パラメータ入力領域４２１と日程計算結果表示領域４２２を表示するディスプレイと日程チャート描画領域４２３を表示するディスプレイを別にすることができる。これにより、プロジェクトの工程会議などにおいて、工程をレビューする会議参加者はより広い範囲の日程チャートを見ることができるようになり、効率的にレビューすることが可能となる。
【００７１】
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲のとおりである。
＜付記＞
＜請求項１＞
複数のタスクからなるプロジェクトの実施スケジュールを生成するためのスケジュール生成装置であって、
タスク毎に実施すべき期間が図形的な要素として示されたガントチャートを表示させる表示制御手段と、
先行タスクとして所定のタスクよりも先に実施されるべきタスクに対して完了日時が入力されるとともに前記所定のタスクに対して開始日時が入力された場合に、前記所定のタスクに対して入力された開始日時が前記先行タスクに対して入力された完了日時に対して矛盾が生じているか否かを判定する判定手段と、
を備え、
前記表示制御手段は、前記判定手段により前記矛盾が生じていると判定された場合に、前記矛盾が生じている旨のアラートを表示させるとともに前記矛盾が解消済みのガントチャートを表示させることを特徴とするスケジュール生成装置。
＜請求項２＞
複数のタスクからなるプロジェクトの実施スケジュールを生成するためのスケジュール生成装置であって、
タスク毎に実施すべき期間が図形的な要素として示されたガントチャートを表示させる表示制御手段と、
先行タスクとして所定のタスクよりも先に実施されるべきタスクに対して開始日時及び実施期間長さが入力されるとともに前記所定のタスクに対して開始日時が入力された場合に、前記所定のタスクに対して入力された開始日時が前記先行タスクに対して入力された開始日時及び実施期間長さに対して矛盾が生じているか否かを判定する判定手段と、
を備え、
前記表示制御手段は、前記判定手段により前記矛盾が生じていると判定された場合に、前記矛盾が生じている旨のアラートを表示させるとともに前記矛盾が解消済みのガントチャートを表示させることを特徴とするスケジュール生成装置。
＜請求項３＞
前記表示制御手段は、前記矛盾が解消済みのガントチャートを表示させる際に、前記ガントチャートにおける前記所定のタスクに対応する前記図形的な要素と同一の行に、前記所定のタスクに対して入力された開始日時と、前記矛盾が解消済みの前記所定のタスクに対する開始日時と、を併記表示させることを特徴とする請求項１または２に記載のスケジュール生成装置。
＜請求項４＞
前記先行タスクに対して入力された完了日時以後の日時、または、前記先行タスクに対して入力された開始日時に前記先行タスクに対して入力された実施期間長さを加えた日時以後の日時を、前記所定のタスクに対する前記矛盾が解消済みの開始日時として設定する設定手段を備えたことを特徴とする請求項３に記載のスケジュール生成装置。
＜請求項５＞
複数のタスクからなるプロジェクトの実施スケジュールを生成するためのスケジュール生成装置であって、
タスク毎に実施すべき期間が図形的な要素として示されたガントチャートを表示させる表示制御手段と、
先行タスクとして所定のタスクよりも先に実施されるべきタスクに対して完了日時が入力されるとともに前記所定のタスクに対して実施期間長さ及び完了日時が入力された場合に、前記所定のタスクに対して入力された実施期間長さ及び完了日時が前記先行タスクに対して入力された完了日時に対して矛盾が生じているか否かを判定する判定手段と、
を備え、
前記表示制御手段は、前記判定手段により前記矛盾が生じていると判定された場合に、前記矛盾が生じている旨のアラートを表示させるとともに前記矛盾が解消済みのガントチャートを表示させることを特徴とするスケジュール生成装置。
＜請求項６＞
複数のタスクからなるプロジェクトの実施スケジュールを生成するためのスケジュール生成装置であって、
タスク毎に実施すべき期間が図形的な要素として示されたガントチャートを表示させる表示制御手段と、
先行タスクとして所定のタスクよりも先に実施されるべきタスクに対して開始日時及び実施期間長さが入力されるとともに前記所定のタスクに対して実施期間長さ及び完了日時が入力された場合に、前記所定のタスクに対して入力された実施期間長さ及び完了日時が前記先行タスクに対して入力された開始日時及び実施期間長さに対して矛盾が生じているか否かを判定する判定手段と、
を備え、
前記表示制御手段は、前記判定手段により前記矛盾が生じていると判定された場合に、前記矛盾が生じている旨のアラートを表示させるとともに前記矛盾が解消済みのガントチャートを表示させることを特徴とするスケジュール生成装置。
＜請求項７＞
前記表示制御手段は、前記矛盾が解消済みのガントチャートを表示させる際に、前記ガントチャートにおける前記所定のタスクに対応する前記図形的な要素と同一の行に、前記所定のタスクに対して入力された完了日時と、前記矛盾が解消済みの前記所定のタスクに対する完了日時と、を併記表示させることを特徴とする請求項４または５に記載のスケジュール生成装置。
＜請求項８＞
前記先行タスクに対して入力された完了日時に前記所定のタスクに対して入力された実施期間長さを加えた日時以降の日時、または、前記先行タスクに対して入力された開始日時に前記先行タスクに対して入力された実施期間長さと前記所定のタスクに対して入力された実施期間長さとを加えた日時以後の日時を、前記所定のタスクに対する前記矛盾が解消済みの完了日時として設定する設定手段を備えたことを特徴とする請求項７に記載のスケジュール生成装置。
＜請求項９＞
スケジュールを作成するためのタスクのパラメータを入力するパラメータ入力領域と、前記パラメータに基づく前記タスクのスケジュールの導出結果を表示するスケジュール導出結果表示領域と、前記パラメータ及び前記導出結果に基づくスケジュールチャートを表示するスケジュールチャート表示領域とを並列した前記スケジュールを表示画面に表示させる第１の表示制御手段と、
前記パラメータ入力領域に入力されたパラメータの入力パターンに基づくスケジュール導出ロジックを用いて前記タスクのスケジュールを導出し、導出結果を前記スケジュール導出結果表示領域に表示させる第２の表示制御手段と、
前記パラメータ及び前記導出結果に基づいて描画されるスケジュールチャートを前記スケジュールチャート表示領域に表示させる第３の表示制御手段と、
を備えるスケジュール生成装置。
＜請求項１０＞
前記第２の表示制御手段は、前記パラメータとして、カレンダにより設定される就業日又は就業時間に応じて前記タスクのスケジュールを導出する請求項９に記載のスケジュール生成装置。
＜請求項１１＞
前記パラメータは、先行タスクパラメータと開始日パラメータとを含み、
前記導出結果は、開始日と完了日とを含み、
前記スケジュール導出ロジックは、前記先行タスクパラメータに含まれる先行タスクの導出結果で最遅の完了日が、前記開始日パラメータと同日または後日である場合には、先行タスクの導出結果で最遅の完了日の翌日を前記導出結果の開始日として前記タスクのスケジュールを導出する請求項９に記載のスケジュール生成装置。
＜請求項１２＞
前記パラメータは、開始日パラメータと完了日パラメータと日数パラメータとを含み、
前記第３の表示制御手段は、前記完了日パラメータ及び前記日数パラメータの入力がなく、前記開始日パラメータの入力がある場合には、前記開始日パラメータをマイルストーンとして前記スケジュールチャートを表示させる請求項９に記載のスケジュール生成装置。
＜請求項１３＞
コンピュータを、
スケジュールを作成するためのタスクのパラメータを入力するパラメータ入力領域と、前記パラメータに基づく前記タスクのスケジュールの導出結果を表示するスケジュール導出結果表示領域と、前記パラメータ及び前記導出結果に基づくスケジュールチャートを表示するスケジュールチャート表示領域とを並列した前記スケジュールを表示画面に表示させる第１の表示制御手段、
前記パラメータ入力領域に入力されたパラメータの入力パターンに基づくスケジュール導出ロジックを用いて前記タスクのスケジュールを導出し、導出結果を前記スケジュール導出結果表示領域に表示させる第２の表示制御手段、
前記パラメータ及び前記導出結果に基づいて描画されるスケジュールチャートを前記スケジュールチャート表示領域に表示させる第３の表示制御手段、
として機能させるためのプログラム。
【符号の説明】
【００７２】
１      日程表生成装置
１１０  ＣＰＵ
１２０  記憶部
１２１  ＯＳ
１２２  日程表生成プログラム
１２３  日程表
１３０  入出力部
２００  日程計算ロジック
２００ａ  日程計算ロジック
４００  画面（入力前）
４００Ａ  画面（入力途中）
４００Ｂ  画面（日程計算後でアラートなし）
４００Ｃ  画面（日程計算後でアラートあり）
４００Ｄ  画面（日程チャート描画後）
４１１  日程計算ボタン
４１２  日程チャート描画ボタン
４１３  日程表保存ボタン
４２１  パラメータ入力領域
４２２  日程計算結果表示領域
４２３  日程チャート描画領域
４３１  日付入力ツール
４５１  マイルストーン
４５２  タスクバー
４５３  接続線
９００  比較例としてのタスク・マイルストーンの情報入力画面Ｘ
９２０  比較例としてのタスク・マイルストーンの情報入力画面Ｙ
【図１】
2018106423.tif 000003
【図２】
2018106423.tif 000004
【図３】
2018106423.tif 000005
【図４】
2018106423.tif 000006
【図５】
2018106423.tif 000007
【図６】
2018106423.tif 000008
【図７】
2018106423.tif 000009
【図８】
2018106423.tif 000010
【図９】
2018106423.tif 000011
【図１０】
2018106423.tif 000012
【図１１】
2018106423.tif 000013
【図１２】
2018106423.tif 000014
【図１３】
2018106423.tif 000015