"業務の工程および前記業務に属するアクティビティを、要素であるオブジェクトとして有するガントチャートを表示するガントチャート差分表示装置であって、前記オブジェクトを示す識別子と、前記オブジェクトが属する前記工程の識別子である親行IDと、を対応付けて記憶しているガントチャートデータを複数備える記憶部と、前記複数のガントチャートデータを比較して、前記識別子および前記親行IDが一致しない前記オブジェクトを検出し、前記検出結果に基づいて、前記オブジェクトの変更種別および/または変更数量を示すタイルマークを前記工程に関連付けて、比較元の前記ガントチャートデータを示す第一のガントチャートおよび比較先の前記ガントチャートデータを示す第二のガントチャートに表示し、前記第一のガントチャートおよび前記第二のガントチャートのそれぞれに表示される、前記識別子が等しい前記工程を結んで、前記工程の対応関係を示す行関連線を表示し、前記第一のガントチャートに表示されている前記工程の変更種別が削除である場合は、前記第一のガントチャートをスクロールさせ、前記第一のガントチャートおよび/または前記第二のガントチャートに表示されている前記工程の変更種別が移動である場合は、当該工程を表示している前記第一のガントチャートおよび/または前記第二のガントチャートをスクロールさせ、前記第二ガントチャートに表示されている前記工程の変更種別が追加である場合は、前記第二のガントチャートをスクロールさせる、制御をする制御部と、を有することを特徴とする、ガントチャート差分表示装置。前記制御部は、さらに、前記業務が行われる期間全体または所定の期間における、前記比較元の前記ガントチャートデータを示す第一のサブ画面および前記比較先の前記ガントチャートデータを示す第二のサブ画面を表示し、前記第一のガントチャートおよび前記第一のサブ画面の縦軸および横軸の表示位置を揃え、前記第二のガントチャートおよび前記第二のサブ画面の縦軸および横軸の表示位置を揃える制御を行う、ことを特徴とする、請求項1に記載のガントチャート差分表示装置。前記制御部は、さらに、前記業務に属する工程および当該工程の変更種別を、全ての工程の中における当該工程の相対的な位置がわかるように表示する行マップに前記タイルマークを表示する、ことを特徴とする、請求項1または請求項2に記載のガントチャート差分表示装置。前記ガントチャートデータは、さらに、前記オブジェクトの名称と、前記工程を表示するか否かを示す開閉状態と、前記アクティビティの開始日と、前記アクティビティの終了日と、前記アクティビティにおける業務量のうち終了している業務量の比率である進捗率と、を前記オブジェクトの属性として記憶しており、前記制御部は、さらに、前記オブジェクトの属性の変更を検出し、前記検出されたオブジェクトの属性の変更内容を、前記第一のガントチャート、前記第二のガントチャート、前記第一のサブ画面および前記第二のサブ画面に表示する、ことを特徴とする、請求項2に記載のガントチャート差分表示装置。前記ガントチャートデータは、さらに、前記親行IDが等しい工程である兄弟行同士における相互の関係を示す行内順番を、前記オブジェクトの属性として記憶しており、前記制御部は、さらに、前記行内順番における、最小変換手順の追加および削除を検出し、前記オブジェクトの属性の変更を検出していない場合は、前記オブジェクトの属性の変更を検出し、前記検出結果を、前記第一のガントチャート、前記第二のガントチャート、前記第一のサブ画面および前記第二のサブ画面に表示する、ことを特徴とする、請求項1ないし請求項4のいずれか1項に記載のガントチャート差分表示装置。しかしながら、特許文献1には、ガントチャートにおける変更前後の工数の差分を表示するが、工数以外の差分および変更前後の関連性を表示することは開示されていない。また、特許文献2には、アクティビティの全体と詳細とを同時に表示する技術およびガントチャートにおける変更前後の差分を表示する技術については開示がない。そこで、本発明は、前記した問題を解決するために、ガントチャートにおける変更前後の差分および関連性を表示するガントチャート差分表示装置を提供することを課題とする。前記課題を解決するため、本発明によるガントチャート差分表示装置は、業務の工程および前記業務に属するアクティビティを、要素であるオブジェクトとして有するガントチャートを表示するガントチャート差分表示装置であって、前記オブジェクトを示す識別子と、前記オブジェクトが属する前記工程の識別子である親行IDと、を対応付けて記憶しているガントチャートデータを複数備える記憶部と、前記複数のガントチャートデータを比較して、前記識別子および前記親行IDが一致しない前記オブジェクトを検出し、前記検出結果に基づいて、前記オブジェクトの変更種別および/または変更数量を示すタイルマークを前記工程に関連付けて比較元の前記ガントチャートデータを示す第一のガントチャートおよび比較先の前記ガントチャートデータを示す第二のガントチャートに表示し、前記第一のガントチャートおよび前記第二のガントチャートのそれぞれに表示される、前記識別子が等しい前記工程を結んで、前記工程の対応関係を示す行関連線を表示し、前記第一のガントチャートに表示されている前記工程の変更種別が削除である場合は、前記第一のガントチャートをスクロールさせ、前記第一のガントチャートおよび/または前記第二のガントチャートに表示されている前記工程の変更種別が移動である場合は、当該工程を表示している前記第一のガントチャートおよび/または前記第二のガントチャートをスクロールさせ、前記第二ガントチャートに表示されている前記工程の変更種別が追加である場合は、前記第二のガントチャートをスクロールさせる、制御をする制御部と、を有することを特徴とする。本発明によれば、ガントチャートにおける変更前後の差分および関連性を表示するガントチャート差分表示装置を提供することができる。以降、本発明を実施するための形態本実施形態というを、図などを参照しながら詳細に説明する。また、本実施形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。<<ハードウェア構成>>図1は、本実施形態に係るガントチャート差分表示装置のハードウェア構成図である。ガントチャート差分表示装置100は、相互にバスで接続された、中央制御装置制御部110、入力装置入力部120、出力装置出力部130、主記憶装置記憶部140、および補助記憶装置記憶部150を有する。中央制御装置110は、プログラムである差分検出部111階層構造差分検出部111a、最小変換手順検出部111b、属性変更検出部111c、表示処理部112行マップ生成部112a、タイルマーク生成部112b、行関連線生成部112c、強調データ生成部112d、操作制御部113同時スクロール制御部113a、画面連動制御部113bおよびカスタマイズ部114表示属性カスタマイズ部114a、強調表示カスタマイズ部114bを実行して、ガントチャート差分表示装置100を制御する詳細後記。入力装置120は、マウス、キーボード、タッチパネル等であり、ガントチャート差分表示装置100の操作者からの指示を受け付ける。出力装置130は、ディスプレイ、プリンタ等であり、ガントチャート差分表示装置100の操作画面を表示する装置である。主記憶装置140は、RAMRandomAccessMemory、ROMReadOnlyMemory等であり、中央制御装置110が実行するプログラムを格納したり、一時的なデータ差分データ141、強調データ142を格納したりする。補助記憶装置150は、HDD等であり、旧ガントチャートデータ151および新ガントチャートデータ152を格納している詳細後記。なお、旧ガントチャートデータ151および新ガントチャートデータ152を総称してガントチャートデータと呼ぶ。以降、○○部はと主体を記した場合は、中央制御装置110が必要に応じ補助記憶装置150から各プログラムを読み出した上で主記憶装置140にロードし、各機能後記を実行するものとする。各プログラムは、予め補助記憶装置150に記憶されていてもよいし、他の記憶媒体または通信媒体を介して、必要なときにガントチャート差分表示装置100に取り込まれてもよい。ガントチャート表示画面図2は、本実施形態に係るガントチャート表示画面の一例を示す図である。ガントチャート表示画面2000は、旧メイン画面2100、新メイン画面2200、旧サブ画面2300、新サブ画面2400および行マップ2500を有する。旧メイン画面2100は、後記する旧ガントチャートデータ151を表示したものである。旧メイン画面2100においては、1つの工程アイテムが1行で表示されている。また、工程行は階層構造を有し、下位の階層を非表示行を折り畳むとしたり、下位の階層を表示行を展開するしたりすることができる。行番号欄2101には、行番号が表示されている。行番号は、ガントチャートを新規作成した際、行ごとに便宜的に割り振られたものである。この行番号は、行を追加削除した場合でも、新規作成時に割り振られた行番号を保持するものとする。また、行番号欄2101には、タイルマークが表示されている詳細後記。工程名欄2102には、工程の名称が表示されている。工程の名称は、ユーザが任意に指定したものであり、適宜変更可能である。日付欄2103には、日付が表示されている。ガントチャートは、横軸を時間軸とするため、換言すれば、日付は横軸の目盛である。なお、日付には時刻を含めてもよい。描画欄2104には、アクティビティ2105、注釈2106、チェックポイント2107、マイルストーン2108、イナズマ線2109、関連線2110、差分情報2111および強調枠2112が表示されている。アクティビティ2105は、業務を構成する要素である。注釈2106は、補足的な説明である。チェックポイント2107は、工程の進捗状況の確認を行う日進捗確認日である。マイルストーン2108は、工程管理を行うにあたり、目印となる時点を示す記号である。イナズマ線2109は、各アクティビティの進捗率を示す進捗点を結んだ線である。進捗率とは、アクティビティの業務量のうち、進捗確認日時点で終了している業務量の比率百分率である。関連線2110は、各アクティビティ間の関連性を示す線である。なお、アクティビティ2105~関連線2110および工程行を総称してオブジェクトと呼ぶ。オブジェクトとは、ガントチャートの要素である。差分情報2111は、オブジェクトの変更前後の差分詳細後記に関する情報である。差分情報2111は、ユーザがマウス操作により、オブジェクトにマウスオーバーまたはクリックすると表示される。そして、マウスポインタがオブジェクトから離れると、差分情報2111は消える非表示となる。強調枠2112は、アクティビティを強調表示する枠である。強調枠2112は、後記するタイルマークと同じ色で表示される。新メイン画面2200は、後記する新ガントチャートデータ152を表示したものである。新メイン画面2200の構成は、旧メイン画面2100と同様である。そして、旧メイン画面2100と新メイン画面2200との間には、行関連線2113が表示される。この行関連線2113は、旧メイン画面2100において表示されている行と新メイン画面2200において表示されている行との対応関係を示す線である詳細後記。旧サブ画面2300は、横軸をプロジェクトの全体の期間として、旧メイン画面2100に表示されている内容の一部を表示したものである詳細後記。新サブ画面2400は、横軸をプロジェクトの全体の期間として、新メイン画面2200に表示されている内容の一部を表示したものである詳細後記。行マップ2500は、プロジェクトの全体の工程を簡略的に表示したものである。行マップ2500には、旧マップレール2510および新マップレール2520が表示されている。旧マップレール2510は、旧メイン画面2100に表示されるべき全ての工程を簡略的に表示したものである。新マップレール2520は、新メイン画面2200に表示されるべき全ての工程を簡略的に表示したものであるなお、旧メイン画面2100、旧サブ画面2300および旧マップレール2510は、比較元のガントチャートデータを示すものであり、総称して第一のガントチャートと呼ぶ。また、新メイン画面2200、新サブ画面2400、新マップレール2520は、比較先のガントチャートデータを示すものであり、総称して第二のガントチャートと呼ぶ。タイルマーク図3は、タイルマークを説明する図である。タイルマークは、オブジェクトの変更種別および/または変更数量を簡略的に示すものである。本実施形態において、変更種別は、更新、移動、削除および追加の4種類が存在し、それぞれ異なる色で表示される。更新は、オブジェクトの属性詳細後記が変更されることを示し、黄色で表示される。図3においては、黄色を、右上から左下の斜線で示している。移動は、オブジェクトの位置詳細後記が変更されることを示し、赤色で表示される。図3においては、赤色を、左上から右下の斜線で示している。削除は、オブジェクトが削除されることを示し、灰色で表示される。図3においては、灰色を、縦線で示している。追加は、オブジェクトが付け足されることを示し、緑色で表示される。図3においては、緑色を、横線で示している。行の変更種別は、行番号欄2101の色により示される。例えば、行番号欄2101が黄色の場合、行が更新された属性が変更されたことを示している。行に含まれる、行以外のオブジェクトの変更種別および変更数量は、行番号の右側に隙間を設けて表示される矩形により示される。矩形の色が変更種別を示し、矩形の数が変更数量を示している。また、折り畳み行当該行の配下に属する、非表示となっている工程において、変更があった場合は、工程名欄2102の右下に三角形が表示される。図3に示す例では、タイルマークにより以下のことがわかる。1行番号が17である行は、工程の名称などの属性が更新された行である。2行番号が17である行は、移動されたオブジェクトを2つ、更新されたオブジェクトを2つ、削除されたオブジェクトを1つ、追加されたオブジェクトを1つ、含む。3行番号が17である行の配下に属する行であって、折り畳まれて非表示となっている行が、変更されている。なお、タイルマークは、ユーザが着目したい変更種別のみを表示したり、色を任意に指定したり、カスタマイズすることができる。また、タイルマークは、変更種別または変更数量のいずれかのみを表示してもよいし、両方を表示してもよい。行関連線図4は、行関連線を説明する図である。行関連線2113は、新メイン画面2200に表示されている、ある行の左端を始点とし、旧メイン画面2100に表示されている、当該行に対応する行の右端を終点とする線である。行関連線2113の終点は、ユーザの目に留まりやすいように●で示されているが、この形状に限るものではない。また、行関連線2113の色は、前記したタイルマークと同様に、変更種別を示す。なお、行関連線2113は、変更種別が更新および移動の場合に表示される。ここで、ある行に対応する行とは、後記する行データ図8参照のIDが等しい行データをいう。つまり、行関連線2113は、新メイン画面2200および旧メイン画面2100にそれぞれ表示されている、IDが等しい行を結ぶものである。行関連線2113は、行が追加削除移動されると、後記する同時スクロールにより、適宜伸縮交差する。また、行関連線2113は、旧メイン画面2100または新メイン画面2200のどちらか一方を上下にスクロールさせると、後記する同時スクロールにより、適宜伸縮する。また、ユーザがマウス操作により、行関連線2113または終点をクリックすると、後記するスクロール位置合わせが行われ、対応する行が横方向に並び、行関連線2113は、横方向に水平な直線となる。旧サブ画面および新サブ画面図2および図5を参照して、旧サブ画面2300および新サブ画面2400を説明する。旧サブ画面2300および新サブ画面2400は、ある工程行に着目したとき、当該工程がプロジェクトの全体の期間内において、どの位置にあるか等を把握するものである。長期にわたるプロジェクトの場合、プロジェクトの開始日から終了日まで、1つの画面で表示しようとすると、縮小して表示しなければならず、詳細を把握することが困難になってしまう。そこで、図2に示すように、詳細は旧メイン画面2100および新メイン画面2200に表示し、期間の全体は旧サブ画面2300および新サブ画面2400に表示することで、期間の全体を把握しつつ、詳細を確認することが可能となる。なお、旧サブ画面2300および新サブ画面2400に表示される期間は、ユーザが任意に指定することも可能である。また、旧サブ画面2300および新サブ画面2400は、それぞれ、旧メイン画面2100および新メイン画面2200に連動している。例えば、図2に示す旧メイン画面2100において表示されている行番号が17である行を、ユーザがマウス操作等により選択すると、旧サブ画面2300がスクロールし、図5aに示すように、行番号が17である行が旧サブ画面2300に表示される。また、図5aに示す旧サブ画面2300に表示されているアクティビティ2105aを、ユーザがマウス操作等により選択すると、旧メイン画面2100がスクロールし、図5bに示すように、当該選択されたアクティビティ2105aが旧メイン画面2100に表示される。また、旧メイン画面2100に表示されている範囲を示す旧サブ画面移動枠2310を、ユーザがマウス操作等により選択して移動すると、連動して旧メイン画面2100がスクロールする。このような連動処理によって、旧メイン画面2100および旧サブ画面2300の表示位置縦軸横軸が揃うことになる。また、この連動処理は、ガントチャート差分表示装置100の画面連動制御部113bにより行われる。なお、同様に、新メイン画面2200は、新サブ画面2400および新サブ画面移動枠2410に連動している。同時スクロール同時スクロールとは、新旧のガントチャートを比較しやすいように、旧メイン画面2100および新メイン画面2200のどちらか一方の画面または両方の画面をスクロールさせるものである。なお、旧メイン画面2100または新メイン画面2200の一方のみが独立してスクロールすることを単独スクロールという。前記したように、旧メイン画面2100は旧サブ画面2300および旧サブ画面移動枠2310に連動し、新メイン画面2200は新サブ画面2400および新サブ画面移動枠2410に連動している。さらに、旧メイン画面2100は後記する旧マップ移動枠2511図7にも連動し、新メイン画面2200は後記する新マップ移動枠2521図7にも連動している。旧メイン画面2100および新メイン画面2200のスクロールは、下記に示すスクロール操作により行われる。これらのスクロール操作は、ユーザがマウスを操作することにより行われる。1スクロールバーをクリックまたはドラッグする。2マウスホイルを回転させる。3旧サブ画面移動枠2310、新サブ画面移動枠2410、旧マップ移動枠2511および新マップ移動枠2521をドラッグさせる。図6は、同時スクロールを説明する図である。図6では、旧メイン画面2100および新メイン画面2200を、行番号で簡略的に示している。また、行番号を囲む外枠太線は、旧メイン画面2100および新メイン画面2200において先頭に表示される行を示している。図6においては、図3と同様に斜線縦線横線によって、更新移動削除追加を示している。また、変更種別が更新である行を更新行と、移動である行を移動行と、削除である行を削除行と、追加である行を追加行と呼び、更新移動削除追加のいずれでもない行を通常行と呼ぶ。なお、追加行は、旧メイン画面2100には表示されないが、新メイン画面2200には表示される。削除行は、旧メイン画面2100には表示されるが、新メイン画面2200には表示されない。更新行および移動行は、旧メイン画面2100および新メイン画面2200に表示される。初期表示は、図6aに示すように、行番号が0である行を先頭にして、旧メイン画面2100および新メイン画面2200が表示される。次に、ユーザがスクロール操作を行うと、図6bに示すように、旧メイン画面2100には、行番号が0である行の下の行行番号空欄が先頭に表示される。一方、新メイン画面2200には、行番号が0である行の下の行行番号1が先頭に表示される。これは、図6aにおいて、旧メイン画面2100および新メイン画面2200の先頭に表示されている行が通常行であるため、同時スクロールによって、旧メイン画面2100および旧サブ画面2300が下方向に1行スクロールされたためである。なお、旧メイン画面2100および新メイン画面2200の先頭に表示されている行が更新行であっても、通常行である場合と同様に、旧メイン画面2100および旧サブ画面2300が下方向に1行スクロールされる。さらに、ユーザがスクロール操作を行うと、図6cに示すように、旧メイン画面2100には、行番号が空欄である行の下の行行番号1が先頭に表示される。一方、新メイン画面2200はスクロールせずに、行番号が1である行が先頭に表示されたままである。これは、図6bにおいて、旧メイン画面2100の先頭に表示されている行が削除行であるため、同時スクロールによって、旧メイン画面2100のみが下方向に1行スクロールされたためである。さらに、ユーザがスクロール操作を行うと、図6dに示すように、旧メイン画面2100には、行番号が1である行の下の行行番号2が先頭に表示される。一方、新メイン画面2200には、行番号が1である行の下の行行番号5が先頭に表示される。これは、図6aからbのスクロールと同様である。さらに、ユーザがスクロール操作を行うと、図6eに示すように、旧メイン画面2100はスクロールせずに、行番号が2である行が先頭に表示されたままとなる。一方、新メイン画面2200には、行番号が5である行の下の行行番号空欄が先頭に表示される。これは、図6dにおいて、新メイン画面2200の先頭に表示されている行が移動行であるため、同時スクロールによって、移動行を先頭に表示している新メイン画面2200のみが下方向に1行スクロールされたためである。なお、移動行が旧メイン画面2100に表示されていた場合は、旧メイン画面2100のみが下方向に1行スクロールされる。さらに、ユーザがスクロール操作を行うと、図6fに示すように、旧メイン画面2100はスクロールせずに、行番号が2である行が先頭に表示されたままとなる。一方、新メイン画面2200には、行番号が空欄である行の下の行行番号2が先頭に表示される。これは、図6eにおいて、新メイン画面2200の先頭に表示されている行が追加行であるため、同時スクロールによって、新メイン画面2200のみが下方向に1行スクロールされたためである。また、図6dにおいて、行番号が2である行に着目すると、旧メイン画面2100および新メイン画面2200において、横方向に隣り合わせで表示されていない状態となっている。換言すれば、同じ行番号である行が、ズレて表示されている状態である。この場合、ユーザがマウス操作等により行関連線2113をクリックすると、当該クリックされた行関連線2113が横方向に水平な直線となるように、新メイン画面2200がスクロールする。すなわち、同じ行番号である行が、横方向に隣り合わせで表示されるようになる。換言すれば、旧メイン画面2100および新メイン画面2200のズレが解消される。そして、図6fに示す状態になる。このように、旧メイン画面2100および新メイン画面2200のズレを解消させることを、スクロール位置合わせという。また、同時スクロールは、縦方向上下方向のスクロールだけではなく、横方向左右方向のスクロールでも可能である。例えば、ユーザがスクロール操作により、旧メイン画面2100を横方向へスクロールさせると、新メイン画面2200も横方向にスクロールする。そして、旧メイン画面2100に表示されている日付と、新メイン画面2200に表示されている日付とが同じになると、スクロールは停止する。なお、ユーザがスクロール操作により、新メイン画面2200を横方向へスクロールさせた場合も、同様に、旧メイン画面2100も横方向にスクロールする。行マップ図7は、行マップを説明する図である。工程の数が多いプロジェクトの場合、行数が多くなり、旧メイン画面2100および新メイン画面2200において、全ての工程を表示できないことがある。そこで、行の変更状況を簡略的に示す行サムネイル2530を、タイルマークの行番号欄2101と同様の色図3で示し、変更種別を示すことで、全体の変更状況を把握することが可能となる。また、行の移動が生じた際、移動元と移動先が離れていると、旧メイン画面2100および新メイン画面2200では、行関連線2113を途切れさせずに表示することができないことがある。そこで、旧マップレール2510と新マップレール2520との間にも行関連線2113を表示することで、行同士の対応関係を把握することが可能となる。旧マップレール2510には、旧マップ移動枠2511が表示されている。また、新マップレール2520には、新マップ移動枠2521が表示されている。この旧マップ移動枠2511および新マップ移動枠2521は、それぞれ、旧メイン画面2100および新メイン画面2200において表示される工程の範囲行の範囲を示すものである。また、旧マップ移動枠2511および新マップ移動枠2521は、それぞれ、旧メイン画面2100および新メイン画面2200に連動している。例えば、ユーザがマウス操作等により、旧マップ移動枠2511を上下に動かすと、旧メイン画面2100が上下にスクロールし、旧マップ移動枠2511により囲まれている範囲の工程行が、旧メイン画面2100に表示される。逆に、旧メイン画面2100をユーザがマウス操作等により上下にスクロールさせると、旧マップ移動枠2511が当該スクロールに併せて上下に動く。なお、新メイン画面2200および新マップ移動枠2521も、同様に連動している。<<ガントチャートデータ>>図8は、ガントチャートデータを説明する図である。ガントチャートデータは、図8に示すように、階層構造を有する。ガントチャートデータは、オブジェクトデータアクティビティ2105~関連線2110および工程行のデータを含んで構成される。なお、図8中において、△△群と記した場合は、△△の集合を示すものとする。また、各オブジェクトデータは、オブジェクトを一意に特定する識別子であるIDを属性に有する。行データは、工程行に関するデータである。行データは、属性として、ID、名称、親行ID、行内順番および開閉状態を有する。名称とは、工程名欄2102に表示される、工程の名称である。親行IDとは、1つ上の階層に属する行親行のIDである。行内順番とは、同一の親行の配下直下に属する行兄弟行同士内における相互の関係であり、数値が小さいほど上段に表示される。換言すれば、行内順番は、兄弟行同士における表示順序である。開閉状態とは、行を表示行を展開開くするか、行を非表示行を折り畳む閉じるとするか、を示す情報である。アクティビティデータは、アクティビティ2105矩形、チェックポイント2107三角形およびマイルストーン2108円形に関するデータである。アクティビティデータは、属性として、ID、名称、親行ID、開始日、終了日および進捗率を有する。名称とは、アクティビティ2105の名称である。親行IDとは、アクティビティ2105が表示される行のIDである。開始日とは、アクティビティ2105が、日付欄2103のどの位置から開始するか、換言すれば、どの位置から表示されるかを示す情報である。終了日とは、アクティビティ2105が、日付欄2103のどの位置で終了するか、換言すれば、どの位置まで表示されるかを示す情報である。進捗率とは、アクティビティ2105の業務量のうち、進捗確認日時点で終了している業務量の比率百分率である。進捗率は、日付横軸の位置で示すこともできる。注釈データは、注釈2106に関するデータである。注釈データは、属性として、ID、親行ID、行内位置および日付を有する。親行IDとは、注釈2106が表示される行のIDである。行内位置とは、注釈2106が表示される行における、縦方向の位置を示す情報である。日付とは、注釈2106が、日付欄2103のどの位置に表示されるか、換言すれば、横軸の位置を示す情報である。チェックポイントデータは、イナズマ線2109に関する情報である。チェックポイントデータは、属性として、IDおよび日付を有する。日付とは、イナズマ線2109が、日付欄2103のどの位置を基準とするか、換言すれば、イナズマ線2109の基準とする横軸の値を示す情報である。進捗点データは、イナズマ線2109を構成する進捗点に関する情報である。進捗データは、属性として、アクティビティIDおよび進捗率を有する。アクティビティIDは、進捗状況を示す対象であるアクティビティのIDである。進捗率は、進捗状況を示す対象であるアクティビティの業務量のうち、進捗確認日時点で終了している業務量の比率百分率である。なお、進捗率は、日付横軸の位置により示すこともできる。なお、チェックポイントデータおよび進捗点データにより、イナズマ線2109が表示される。イナズマ線2109は、チェックポイントデータの属性日付の縦方向に垂直な直線を基準として、進捗点を結んだ線である。関連線データは、関連線2110に関する情報である。関連線データは、属性として、ID、開始アクティビティID、終了アクティビティID、接続位置および方向を有する。開始アクティビティIDは、関連線2110の始点となるアクティビティのIDである。終了アクティビティIDは、関連線2110の終点となるアクティビティのIDである。接続位置は、関連線2110がどのようにつながっているかを示すものである。関連線2110は、アクティビティの開始日である左端head、終了日である右端tailおよび進捗点Progressのうちのいずれか2つを始点および終点とする。接続位置は、これらのうち、いずれを始点および終点とするのかを示すものである。方向は、関連線2110の向きを示すものである。関連線2110は、図2に示すように、1または複数の連続する線分により示される。関連線2110に向きがある場合は、線分の始点および/または終点を矢印とすることで、向き一方向または双方向を示している。また、関連線2110に向きがない場合は、線分の始点および終点を矢印としない無方向。なお、各オブジェクトデータは、上記以外の属性を有してもよい。例えば、旧メイン画面2100および新メイン画面2200に表示描画する際の位置やサイズを、属性に有してもよい。また、ユーザが着目したい観点を属性として任意に定義カスタマイズしてもよい。<ガントチャートデータ行データ>ここで、図9および図10を参照して、ガントチャートデータの一例を説明する。図9は、ガントチャートデータのうち、行に関するデータ行データの一例である。図9aに示すように、旧ガントチャートデータ151行データは、階層構造を有している。図中の円で囲まれた数字が行オブジェクトのIDを簡略的に示している。なお、円で囲まれた1の記載は、IDがitem1であることを示している。また、図中の四角で囲まれた数字がアクティビティオブジェクトのIDを簡略的に示している。なお、四角で囲まれた1の記載は、IDがbar1であることを示している以下、同様。そして、図9bは、図9aをテーブル形式で示したものである。旧ガントチャートデータ151行データは、図9bに示すような属性各欄の値を有している。なお、図中の属性1および属性2は、ユーザがカスタマイズしたものである。図9cdは、新ガントチャートデータ152行データの一例である。新ガントチャートデータ152行データも、旧ガントチャートデータ151行データと同様である。<ガントチャートデータアクティビティデータ>図10は、ガントチャートデータのうち、アクティビティに関するデータアクティビティデータの一例である。図10aは、旧ガントチャートデータ151アクティビティデータをテーブル形式で示したものである。旧ガントチャートデータ151アクティビティデータは、図10aに示すような属性各欄の値を有している。なお、図中の属性1は、ユーザがカスタマイズしたものである。図10bは、新ガントチャートデータ152アクティビティデータの一例である。新ガントチャートデータ152アクティビティデータも、旧ガントチャートデータ151アクティビティデータと同様である。<<差分データの構造>>図11は、差分データを説明する図である。差分データ141は、ガントチャート差分表示装置100の差分検出部111が行う、差分検出処理詳細後記によって出力される、旧ガントチャートデータ151と新ガントチャートデータ152との差分ガントチャートデータの変更内容に関するデータである。差分データ141は、図11に示すように、階層構造を有する。差分データ141は、行差分データ、アクティビティ差分データ、注釈差分データ、関連線差分データを含んで構成される。なお、図11中において、△△群と記した場合は、△△の集合を示すものとする。行差分データは、行データの差分に関するデータである。アクティビティ差分データは、アクティビティデータの差分に関するデータである。注釈差分データは、注釈データの差分に関するデータである。関連線差分データは、関連線データの差分に関するデータである。これらの各差分データおよび差分データ141は、属性として、ID、変更種別、変更属性、旧データおよび新データを有する。IDは、差分データを一意に特定する識別子である。変更種別は、差分データが、どの変更種別に該当するかを示すものである。変更属性は、差分データの対象であるガントチャートデータオブジェクトデータの属性のうち、どの属性が変更されたかを示すものである。旧データは、差分データの対象であるガントチャートデータオブジェクトデータの、変更前のデータである。旧データは、旧データそのもの旧データの値でもよいし、旧データの格納場所ポインタでもよい。新データは、差分データの対象であるガントチャートデータオブジェクトデータの、変更後のデータである。新データは、新データそのもの新データの値でもよいし、新データの格納場所ポインタでもよい。なお、行差分データは、さらに、当該行の配下直下に属するアクティビティおよび注釈であって変更されたもの変更アクティビティおよび変更注釈のIDを属性に有する。差分データは、差分情報2111に表示される。差分情報2111には、変更種別数量、更新前の値、更新後の値、その他補足用の説明文が表示される。<行差分データ階層構造差分検出処理>ここで、図9および図12~図18を参照して、差分データ141の状態が遷移していく一例を説明する。図12は、差分データのうち、行に関するデータ行差分データの一例である。図12は、ガントチャート差分表示装置100の階層構造差分検出部111aが、後記する階層構造差分検出処理によって、図9に示す旧ガントチャートデータ151および新ガントチャートデータ152を比較した結果である。図9において、bに示す旧ガントチャートデータ151にはIDがitem3であるレコードが存在するが、dに示す新ガントチャートデータ152には存在しない。そのため、図12に示す差分データ141のIDがitem3であるレコードの変更種別に削除が設定される。また、図9において、bに示す旧ガントチャートデータ151およびdに示す新ガントチャートデータ152には、IDがitem4であるレコードが存在する。しかし、親行IDがitem3からitem2に更新されている。そのため、図12に示す差分データ141のIDがitem4であるレコードの変更種別に移動が設定される。また、図9において、bに示す旧ガントチャートデータ151にはIDがitem5であるレコードが存在しないが、dに示す新ガントチャートデータ152には存在する。そのため、図12に示す差分データ141のIDがitem5であるレコードの変更種別に追加が設定される。なお、図9において、IDがitem1およびitem2であるレコードは、bに示す旧ガントチャートデータ151およびdに示す新ガントチャートデータ152に存在する。さらに、これらの2レコードは、親行IDが更新されていない。そのため、図12に示す差分データ141のIDがitem1およびitem2であるレコードの変更種別には、何も設定されない空欄である。<行差分データ兄弟移動検出処理>図13は、差分データのうち、行に関するデータ行差分データの一例である。図13aは、ガントチャート差分表示装置100の最小変換手順検出部111bが、後記する兄弟移動検出処理によって、図9に示す旧ガントチャートデータ151および新ガントチャートデータ152を比較した結果である。ここで、旧ガントチャートデータ151は、図13bに示すような階層構造を有しているとする。IDがitem1である行オブジェクト配下に、IDがitemA、item2、itemB、itemCである行オブジェクトが存在している。換言すれば、itemA、item2、itemB、itemCである行オブジェクトは、item1を親とする兄弟行である。そして、図13cは、図13bの行内順番をテーブル形式で示したものである。また、図13eおよびfに示す新ガントチャートデータ152も、旧ガントチャートデータ151と同様である。そして、図13b、c、e、fに示すデータから、公知である文書差分アルゴリズムによって最小変換手順の追加削除を検出すると、図13dおよびgに示す結果となる。図13dは、旧ガントチャートデータ151に対する結果であり、図13gは、新ガントチャートデータ152に対する結果である。図13dにおいて、IDがitem2であるレコードは、変更種別に削除が検出されている。また、図13gにおいて、IDがitem2であるレコードは、変更種別に追加が検出されている。このように、追加および削除を同時に検出した行データは、差分データ141の変更種別に移動が設定される。このような処理によって、図13aにおいては、IDがitem2であるレコードの変更種別に移動が設定されている。ここで、文書差分アルゴリズムには、例えば、MYERSアルゴリズムがある。httpciteseeristpsueduviewdocdownloadjsessionidD4893C682F66B2A3BA9110B991F42906doi101146927reprep1typepdf<行差分データ属性更新検出処理>図14は、差分データのうち、行に関するデータ行差分データの一例である。図14は、ガントチャート差分表示装置100の属性変更検出部111cが、後記する属性更新検出処理によって、図9に示す旧ガントチャートデータ151および新ガントチャートデータ152を比較した結果である。図9bおよびdにおいて、IDがitem1であるレコードに着目すると、属性1がAからFFFに更新されている。また、属性2は1から88に更新されている。そして、図13aに示す差分データ141において、IDがitem1であるレコードの変更種別は空欄である。そのため、図14に示す差分データ141のIDがitem1であるレコードの変更種別に更新が設定され、変更属性に属性1,2が設定される。また、図9bおよびdにおいて、IDがitem2であるレコードに着目すると、名称が工程1.1から新名称に更新されている。また、開閉状態が-から開に更新されている。しかし、図13aに示す差分データ141において、IDがitem2であるレコードの変更種別は移動である。そのため、図14に示す差分データ141のIDがitem2であるレコードの変更種別は移動のままであり、変更属性に名称、開閉状態が設定される。なお、IDがitem4であるレコードも、同様である。<行差分データアクティビティと注釈の差分の追記>図15は、差分データのうち、行に関するデータ行差分データの一例である。図15は、ガントチャート差分表示装置100の差分検出部111が、後記するアクティビティの差分検出および注釈の差分検出によって検出した差分を、図14に示す差分データ141行差分データに追記したものである。例えば、図9aおよびcにおいて、IDがbar2であるアクティビティは、IDがitem2である行からitem5である行へ移動している。そこで、図15cに示す差分データ141行差分データにおいて、IDがitem2およびitem5であるレコードの変更アクティビティに、bar2を追記する。このように、アクティビティおよび/または注釈が属する行が変更した場合、換言すると、親行IDが変更した場合、変更前後の行の変更アクティビティおよび/または変更注釈に、当該アクティビティおよび/または注釈のIDを格納する。<アクティビィ差分データ階層構造差分検出処理>ここで、図16を参照して、差分データ141の一例を説明する。図16は、差分データのうち、アクティビィに関するデータアクティビティ差分データの一例である。図16は、ガントチャート差分表示装置100の階層構造差分検出部111aが、後記する階層構造差分検出処理によって、図10に示す旧ガントチャートデータ151および新ガントチャートデータ152を比較した結果である。この処理は、図12において説明した行差分データ階層構造差分検出処理と同様である。<アクティビィ差分データ属性更新検出処理>図17は、差分データ141のうち、アクティビィに関するデータアクティビティ差分データの一例である。図17は、ガントチャート差分表示装置100の属性変更検出部111cが、後記する属性更新検出処理によって、図10に示す旧ガントチャートデータ151および新ガントチャートデータ152を比較した結果である。この処理は、図14において説明した行差分データ属性更新検出処理と同様である。<アクティビィ差分データ行内移動の検出>図18は、差分データのうち、アクティビィに関するデータアクティビティ差分データの一例である。図18は、ガントチャート差分表示装置100の差分検出部111が、行内移動を検出した結果である。ここで、行内移動とは、同じ行内において、横軸の位置が更新された状態をいう。同じ行とは、親行IDが同じことを意味する。また、横軸の位置は、オブジェクト毎の属性により決定する。例えば、アクティビティデータの横軸の位置は、属性開始日および終了日により決定する。注釈データの横軸の位置は、属性行内位置および日付により決定する。チェックポイントデータの横軸の位置は、属性日付により決定する。進捗点データの横軸の位置は、属性進捗率横軸の位置である日付でもよいにより決定する。関連線データの横軸の位置は、属性接続位置によって決定する。図17において、IDがbar1であるレコードに着目すると、変更種別が更新であり、変更属性が開始日,終了日となっている。前記のように、アクティビティデータの横軸の位置は、属性開始日および終了日により決定するので、IDがbar1であるアクティビティは、行内移動されたことを示している。そこで、図18に示すように、変更種別が更新から移動に上書きされる。図18において、IDがbar2であるレコードも変更種別が移動であるが、当該移動は図16において説明した階層構造差分検出処理で設定されたものであり、別の行へ移動した親行IDが更新されたことを示している。<<差分検出処理>>次に、ガントチャート差分表示装置100の差分検出部111が行う、差分検出処理について説明する。差分検出処理は、旧ガントチャートデータ151および新ガントチャートデータ152を比較し、両者の差分を検出する処理である。差分検出処理は、階層構造の差分の検出、兄弟の移動の検出、属性更新の検出の3つのステップで実現される。ガントチャートデータは、図8に示すように、各種のオブジェクトデータを有し、オブジェクトデータ毎に異なる属性を有する。そこで、差分検出処理は、オブジェクトデータ毎に適した処理を行い、差分を検出する。図19は、差分検出処理のフローチャートである。ステップS100において、差分検出部111は、データを入力する。具体的には、差分検出部111は、旧ガントチャートデータ151および新ガントチャートデータ152を入力する。ステップS200において、差分検出部111は、差分を検出する。この差分検出は、オブジェクトデータ毎に適した処理が行われる。ステップS200においては、行の差分検出ステップS210a、アクティビティの差分検出ステップS210b、注釈の差分検出ステップS210cおよび関連線の差分検出ステップS210dが行われる。行の差分検出ステップS210aにおいては、階層構造差分検出処理ステップS211a、兄弟移動検出処理ステップS212a、属性更新検出処理ステップS213aおよびアクティビティと注釈の差分の追記ステップS215aが行われる。なお、アクティビティと注釈の差分の追記ステップS215aは、アクティビティの差分検出ステップS210bおよび注釈の差分検出ステップS210cの後に行われる。アクティビティの差分検出ステップS210bにおいては、階層構造差分検出処理ステップS211b、属性更新検出処理ステップS213bおよび行内移動の検出ステップS214bが行われる。なお、行内移動の検出ステップS214bでは、図18において説明した処理が行われる。注釈の差分検出ステップS210cにおいては、階層構造差分検出処理ステップS211c、属性更新検出処理ステップS213cおよび行内移動の検出ステップS214cが行われる。注釈の差分検出ステップS210cは、アクティビティの差分検出ステップS210bと同様である。関連線の差分検出ステップS210dにおいては、属性更新検出処理ステップS213dが行われる。属性更新検出処理ステップS213dは、属性更新検出処理ステップS213aと同様である。なお、ガントチャートデータのうち、チェックポイントデータおよび進捗点に関するデータについては、差分検出の対象外である。上記により、差分データ141が出力され、処理が終了する。<階層構造差分検出処理>次に、階層構造差分検出処理図19のステップS211、ステップS211a~cについて説明する。図20は、階層構造差分検出処理のフローチャートである。なお、ステップS2111a~S2112aおよびステップS2111b~S2112bは、同時並行的に実行されてもよいし、一方が終了した後、他方が開始されてもよい。ステップS2111aにおいて、階層構造差分検出部111aは、旧ガントチャートデータ151を読み込む。ステップS2112aにおいて、階層構造差分検出部111aは、オブジェクト毎に旧HashMapを生成する。ここで、HashMapとは、読み込んだガントチャートデータの内容を比較しやすいように正規化したデータであり、例えば、図9bdおよび図10adがその例である。ステップS2111bにおいて、階層構造差分検出部111aは、新ガントチャートデータ152を読み込む。ステップS2112aにおいて、階層構造差分検出部111aは、オブジェクト毎に新HashMapを生成する。ステップS2113において、階層構造差分検出部111aは、新HashMapおよび旧HashMapをマージして、差分データを生成する。ステップS2114において、階層構造差分検出部111aは、新旧のオブジェクトデータおよび親行IDを比較する。当該比較処理は、全てのオブジェクトデータについて完了するまで繰り返す。ステップS2115において、階層構造差分検出部111aは、比較結果を判定する。比較対象のオブジェクトデータが旧HashMapのみに存在する場合、ステップS2116に進む。そして、階層構造差分検出部111aは、差分データ141の変更種別に削除を設定する。比較対象のオブジェクトデータが新旧HashMap両方に存在し、かつ、親行IDが異なる違う親である場合、ステップS2117に進む。そして、階層構造差分検出部111aは、差分データ141の変更種別に移動を設定する。比較対象のオブジェクトデータが新HashMapのみに存在する場合、ステップS2118に進む。そして、階層構造差分検出部111aは、差分データ141の変更種別に追加を設定する。なお、比較対象のオブジェクトデータが新旧HashMap両方に存在し、かつ、親行IDが同じである場合、階層構造差分検出部111aは、差分データ141の変更種別に何も設定しないフローチャートとしては図示せず。比較および変更種別の設定ステップS2114~S2118が、全てのオブジェクトデータについて完了すると、処理はメインルーチンへ戻る。<兄弟移動検出処理>次に、兄弟移動検出処理図19のステップS212、ステップS212aについて説明する。図21は、兄弟移動検出処理のフローチャートである。ステップS2121において、最小変換手順検出部111bは、子を持つ行に対して、配下の行の移動を検出する。当該処理は、全ての行データについて完了するまで繰り返す。ステップS2122において、最小変換手順検出部111bは、公知である文書差分アルゴリズムによって最小変換手順の追加削除を検出する。ステップS2123において、最小変換手順検出部111bは、ステップS2122の検出結果において、追加および削除の両方を同時に検出した行の変更種別に移動を設定する。最小変換手順の追加削除の検出および変更種別の設定ステップS2122~S2123が、全ての行データについて完了すると、処理はメインルーチンへ戻る。<属性更新検出処理>次に、属性更新検出処理図19のステップS213、ステップS213a~dについて説明する。図22は、属性更新検出処理のフローチャートである。ステップS2131において、属性変更検出部111cは、新旧オブジェクトデータを比較し、属性の更新を検出する。当該処理は、全てのオブジェクトデータについて完了するまで繰り返す。ステップS2132において、属性変更検出部111cは、オブジェクトデータが有する属性のうち少なくとも1つが一致しない場合、変更種別に更新を設定する。検出および変更種別の設定ステップS2131~S2132が、全てのオブジェクトデータについて完了すると、処理はメインルーチンへ戻る。<アクティビティと注釈の差分の追記>次に、アクティビティと注釈の差分の追記図19のステップS215aについて説明する。まず、ガントチャート差分表示装置100の差分検出部111は、差分データ141行差分データのレコードに格納されている旧データおよび新データを参照する。次に、差分検出部111は、旧データおよび/または新データに格納されている、当該レコードの配下に属するアクティビティおよび/または注釈のIDを取得する。そして、差分検出部111は、当該取得したアクティビティおよび/または注釈のIDをキーとして、図15aおよびbに示す差分データ141アクティビティ差分データ注釈差分データを検索し、キーが一致するレコードを取得する。そして、差分検出部111は、取得したレコードに格納されている変更種別が、更新、移動、削除、追加のいずれかである場合、当該レコードに格納されているIDアクティビティまたは注釈のIDを、差分データ141行差分データの変更アクティビティおよび/または変更注釈へ格納する。これらの処理を、差分データ141行差分データの全てのレコードについて行うと、アクティビティと注釈の差分の追記が終了する。<<ガントチャート表示処理>>次に、ガントチャート差分表示装置100の表示処理部112が行う、ガントチャート表示処理について説明する。ガントチャート表示処理は、図2において示したような画面を出力装置130に表示する処理である。図23は、ガントチャート表示処理のフローチャートである。ステップS311において、表示処理部112は、旧ガントチャートデータ151を読み込む。ステップS311において、表示処理部112は、旧ガントチャート画面を描画する。ここで、旧ガントチャート画面とは、旧メイン画面2100および旧サブ画面2300をいう。ステップS313において、表示処理部112は、差分データ141を読み込む。ステップS314において、表示処理部112は、新ガントチャートデータ152を読み込む。ステップS315において、表示処理部112は、新ガントチャート画面を描画する。ここで、新ガントチャート画面とは、新メイン画面2200および新サブ画面2400をいう。なお、ステップS311~S312、ステップS313およびステップS314~S315は、同時並行的に実行されてもよいし、任意の順に直列的に実行されてもよい。図23において、フローが枝分かれして複数の流れになっている他の箇所についても同様である。ステップS321において、表示処理部112は、差分データ141から、オブジェクトの変更種別を取得する。ステップS322において、表示処理部112は、旧ガントチャートデータ151および新ガントチャートデータ152から、描画するオブジェクトの位置およびサイズを取得する。ステップS323において、強調データ生成部112dは、強調枠2112を描画する。強調枠2112は、タイルマークと同じ色で表示されるが、ユーザがカスタマイズすることも可能である。この場合、強調表示カスタマイズ部114bは、ユーザが設定した内容を、補助記憶装置150に記憶する。そして、ステップS323において強調枠2112を描画する際、強調データ生成部112dは、補助記憶装置150に記憶された設定に基づいて描画を行う。また、強調データ生成部112dは、強調データ142を生成する。強調データ142は、強調表示されているオブジェクトに関するデータである。ステップS331において、表示処理部112は、行の変更種別および開閉状態を取得する。ステップS332において、表示処理部112は、描画する行の位置およびサイズを取得する。ステップS333において、タイルマーク生成部112bは、行の配下に属するオブジェクトの変更をカウントする。ここで、アクティビティと注釈の差分の追記図19のステップS215a、図15において説明したように、差分データ141行データには、アクティビティのIDと注釈のIDが、変更前後の行のレコードに格納されている。そこで、タイルマーク生成部112bは、旧メイン画面2100を描画する際は、旧ガントチャートデータ151に存在しないアクティビティおよび注釈をカウントしない。同様に、タイルマーク生成部112bは、新メイン画面2200を描画する際は、新ガントチャートデータ152に存在しないアクティビティおよび注釈をカウントしない。このようにすることで、アクティビティおよび注釈が二重にカウントされることが回避され、正しい変更種別および/または変更数量をタイルマークに示すことができる。ステップS334において、タイルマーク生成部112bは、タイルマークを描画する。タイルマークは、ユーザがカスタマイズすることも可能である。この場合、表示属性カスタマイズ部114aは、ユーザが設定した内容を、補助記憶装置150に記憶する。そして、ステップS334においてタイルマークを描画する際、タイルマーク生成部112bは、補助記憶装置150に記憶された設定に基づいて描画を行う。ステップS335において、行関連線生成部112cは、行関連線2113を描画する。ステップS336において、行マップ生成部112aは、新旧行をカウントし、行マップデータを生成する。新旧行のカウントとは、新旧のガントチャートデータ151,152の行データにおいて、更新行移動行削除行追加行がそれぞれいくつあるかをカウントすることである。そして、新旧行のカウント結果および他のオブジェクトデータ新旧に基づいて、行マップ2500を描画するための行マップデータを生成する。ステップS337において、行マップ生成部112aは、行マップ2500を描画する。<<同時スクロール処理>>次に、ガントチャート差分表示装置100の同時スクロール制御部113aが行う、同時スクロール処理について説明する。同時スクロール処理は、図6において説明した同時スクロールを制御する処理である。図24は、同時スクロール処理のフローチャートである。ステップS401において、同時スクロール制御部113aは、ユーザがマウス等を操作したことを検知し、操作種類を判定する。操作種類には、行関連線のクリックおよびスクロールがある。行関連線のクリックは、行関連線2113をクリックすることをいう。スクロールは、新メイン画面2200または旧メイン画面2100を縦方向または横方向にずらすことをいう。操作種類が行関連線のクリックである場合、ステップS411に進む。操作種類がスクロールである場合、ステップS421に進む。ステップS411において、同時スクロール制御部113aは、新メイン画面2200および旧メイン画面2100を、同じ行までスクロールする。同じ行までスクロールするとは、図6において説明したスクロール位置合わせをすることをいう。そして、ステップS451に進む。ステップS421において、同時スクロール制御部113aは、スクロール方向を判定する。スクロール方向が横である場合、ステップS431に進む。スクロール方向が縦である場合、ステップS441に進む。ステップS431において、同時スクロール制御部113aは、新メイン画面2200および旧メイン画面2100を、同じ日付までスクロールする。そして、ステップS451に進む。ステップS441において、同時スクロール制御部113aは、旧メイン画面2100および新メイン画面2200のそれぞれ先頭に表示されている行の状態を判定する。行の状態とは、削除行、移動行および追加行のいずれかであるかを示すものである。行の状態が削除行である場合、すなわち、旧メイン画面2100の先頭に表示されている行が削除行である場合、ステップS442に進む。行の状態が移動行である場合、すなわち、旧メイン画面2100および/または新メイン画面2200の先頭に表示されている行が移動行である場合、ステップS443に進む。行の状態が追加行である場合、すなわち、新メイン画面2200の先頭に表示されている行が追加行である場合、ステップS444に進む。ステップS442において、同時スクロール制御部113aは、旧メイン画面2100のみをスクロールする。これは、図6bからcの処理に対応する。そして、ステップS451に進む。ステップS443において、同時スクロール制御部113aは、移動行を先頭に表示している画面旧メイン画面2100および/または新メイン画面2200をスクロールする。これは、図6dからeの処理に対応する。そして、ステップS451に進む。ステップS444において、同時スクロール制御部113aは、新メイン画面2200のみをスクロールする。これは、図6eからfの処理に対応する。そして、ステップS451に進む。なお、ステップS441において、行の状態が削除行、移動行および追加行のうちいずれでもない場合は、旧メイン画面2100および新メイン画面2200の両方をスクロールする。これは、図6aからbおよび図6cからdの処理に対応する。その後、ステップS451に進むフローチャートとしては図示せず。ステップS451において、同時スクロール制御部113aは、画面旧メイン画面2100および新メイン画面2200を再描画する。そして、処理を終了する。<<まとめ>>本実施形態により、以下の効果を奏する。すなわち、ガントチャートにおける変更前後の差分および関連性を表示するので、ガントチャートを作成する者計画作成者は、変更箇所を認識することが容易となる。また、計画作成者が複数存在し、ガントチャートデータが競合した場合、当該ガントチャートデータの差分を表示するので、競合を解消することが容易となる。また、業務を担当する者担当者は、自己が担当する業務における変更箇所を認識することが容易となる。また、プロジェクトの管理者管理者は、プロジェクトの実行計画の変更や実績進捗率などの変更を認識することが容易となる。<<その他>>なお、前記した実施形態は、本発明を実施するための好適なものであるが、その実施形式はこれらに限定されるものではなく。本発明の要旨を逸脱しない範囲内において種々変更することが可能である。"