(57)【要約】【課題】作業計画に従った作業の途中段階において、作業実績時間に基づく作業の進捗状況を作業計画に反映することができなかった。【解決手段】ユーザの作業計画を管理するサーバ装置であって、前記ユーザの作業可能時間を記憶する第１記憶手段と、前記ユーザの作業予定時間を記憶する第２記憶手段と、前記ユーザの作業実績時間を取得する取得手段と、指定された要求時点以降の作業計画を生成する指示に基づき、前記記憶した作業可能時間を前記記憶した作業予定時間に配分した作業計画を生成する生成手段と、前記作業計画を表示するクライアント装置の表示手段に、当該作業計画を表示させる制御手段と、を有する。前記生成手段は、前記指示された要求時点以前の作業予定時間に対する作業実績時間に基づいて、前記要求時点以降の作業予定時間を導出する。【選択図】図８
2020064547.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの作業計画を管理するサーバ装置であって、
前記ユーザの作業可能時間を記憶する第１記憶手段と、
前記ユーザの作業予定時間を記憶する第２記憶手段と、
前記ユーザの作業実績時間を取得する取得手段と、
指定された要求時点以降の作業計画を生成する指示に基づき、前記記憶した作業可能時間を前記記憶した作業予定時間に配分した作業計画を生成する生成手段と、
前記作業計画を表示するクライアント装置の表示手段に、当該作業計画を表示させる制御手段と、を有し、
前記生成手段は、前記指定された要求時点以前の作業予定時間に対する作業実績時間に基づいて、前記要求時点以降の作業予定時間を導出する
ことを特徴とするサーバ装置。
【請求項２】
前記取得手段は、前記ユーザの行動を検出する前記クライアント装置の検出手段で検出した当該ユーザの行動に基づいて作業項目を特定し、当該作業項目に対応する作業実績時間を取得する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記取得手段は、前記ユーザの行動を検出する検出手段で検出した当該ユーザの行動に基づいて作業項目を特定し、当該作業項目に対応する作業実績時間を取得する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項４】
前記取得手段は、前記ユーザの操作を受け付ける前記クライアント装置の操作手段で受け付けた当該ユーザの操作に基づいて特定した作業項目に対応する作業実績時間を取得し、当該作業実績時間と、前記特定した作業項目に対応する前記作業予定時間に基づき導出した作業進捗情報を取得し、
前記制御手段は、前記取得した前記作業進捗情報を前記クライアント装置の表示手段に表示させる
ことを特徴とする請求項１に記載のサーバ装置。
【請求項５】
前記制御手段は、前記ユーザの作業前の予定を示す前記作業計画と、前記ユーザの作業実績を含む前記作業計画とを比較可能な形式で前記表示手段に表示させる
ことを特徴とする請求項１から４の何れか一項に記載のサーバ装置。
【請求項６】
前記制御手段は、前記指定された要求時点以降に関し、前記ユーザの作業前の前記作業計画と、前記ユーザの作業実績に基づき導出した前記作業計画を比較可能な形式で前記表示手段に表示させる
ことを特徴とする請求項１から５の何れか一項に記載のサーバ装置。
【請求項７】
ユーザによって指定された要求時点以降にて、記憶した作業可能時間を記憶した作業予定時間に配分して作業計画を生成することをサーバ装置に要求する要求手段と、
前記サーバ装置で生成した前記作業計画を当該サーバ装置から受信する受信手段と、
ユーザによる作業計画の生成要求を検出すると、前記受信した作業計画を表示する表示手段と
を有することを特徴とするクライアント装置。
【請求項８】
ユーザの作業計画を管理するサーバ装置の情報処理方法であって、
前記ユーザの作業可能時間を記憶する第１記憶工程と、
前記ユーザの作業予定時間を記憶する第２記憶工程と、
前記ユーザの作業実績時間を取得する取得工程と、
指定された要求時点以降の作業計画を生成する指示に基づき、前記記憶した作業可能時間を前記記憶した作業予定時間に配分した作業計画を生成する生成工程と、
前記作業計画を表示するクライアント装置の表示手段に、当該作業計画を表示させる制御工程と、を有し、
前記生成工程において、前記指示された要求時点以前の作業予定時間に対する作業実績時間に基づいて、前記要求時点以降の作業予定時間を導出する
ことを特徴とするサーバ装置の情報処理方法。
【請求項９】
コンピュータを、請求項１から６の何れか一項に記載のサーバ装置として機能させるためのプログラム。
【請求項１０】
コンピュータを、請求項７に記載のクライアント装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業計画の管理を支援する技術に関する。
【背景技術】
【０００２】
近年、予め与えられたスケジュール情報（作業日程）やプロジェクト情報（作業項目、作業工数）を用いて、ユーザに対して作業計画を生成及び表示することで、ユーザ自身によるスケジュール管理業務の負荷を軽減する業務管理システムが普及している。例えば、特許文献１には、行動日時が指定されていないが実行しなければならない行動予定（ＴＯＤＯ作業）を、行動日時が予め指定されている行動予定（予定）と区別して、時系列的に配列したスケジュール管理情報を生成及び表示する技術が記載されている。また、特許文献２には、作業者の業務における情報を予めデータベースに登録しておき、データベースに登録された情報と作業者のコンピュータに対する入力操作とを比較することで業務を分類し、時間情報と共に記録する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１２８７７２号公報
【特許文献２】特開２０１３−３７４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１及び２の技術では、作業計画に従った作業の途中段階において、作業実績時間に基づく作業の進捗状況を作業計画に反映することができなかった。
【課題を解決するための手段】
【０００５】
本発明の一態様に係るサーバ装置は、ユーザの作業計画を管理するサーバ装置であって、前記ユーザの作業可能時間を記憶する第１記憶手段と、前記ユーザの作業予定時間を記憶する第２記憶手段と、前記ユーザの作業実績時間を取得する取得手段と、指定された要求時点以降の作業計画を生成する指示に基づき、前記記憶した作業可能時間を前記記憶した作業予定時間に配分した作業計画を生成する生成手段と、前記作業計画を表示するクライアント装置の表示手段に、当該作業計画を表示させる制御手段と、を有し、前記生成手段は、前記指定された要求時点以前の作業予定時間に対する作業実績時間に基づいて、前記要求時点以降の作業予定時間を導出することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、作業計画に従った作業の途中段階において、作業実績時間に基づく作業の進捗状況を作業計画に反映することができる。
【図面の簡単な説明】
【０００７】
【図１】業務管理システムの構成例を示す図である。
【図２】スケジュールデータベース例を説明するための図である。
【図３】プロジェクトデータベース例を説明するための図である。
【図４】タスク進捗データベース例を説明するための図である。
【図５】タスク進捗データベースの他例を説明するための図である。
【図６】作業計画の表示例を示す図である。
【図７】作業計画の他の表示例を示す図である。
【図８】作業計画表示処理を示すフローチャートである。
【図９】作業計画生成処理を示すフローチャートである。
【図１０】業務管理システムの構成例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面を参照して説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。また、実施形態で説明されている構成要素の組み合わせのすべてが、課題を解決するための手段に必須のものとは限らず、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。
【０００９】
［実施形態１］
＜業務管理システムの構成＞
図１は、本実施形態に係る業務管理システム１００の全体構成例を示す図である。業務管理システム１００は、クライアント端末（装置）１０とサーバ装置３０とから構成され、これらはネットワーク２０を介して相互に通信可能に接続される。なお、クライアント端末１０およびサーバ装置３０はそれぞれ、単一接続された構成に限定されるものではなく、複数接続された構成であっても良い。
【００１０】
クライアント端末１０は、本実施形態の業務管理対象であるユーザの作業に伴う一連の操作入力を行うための機器であって、ユーザの作業状況を示すデータを収集してサーバ装置３０へ送信したり、ユーザの要求に応じて作業計画を表示したりする。
【００１１】
サーバ装置３０は、スケジュールやプロジェクトのデータベースを管理するための装置であって、クライアント端末１０から送信されたユーザの作業状況を示すデータを分析することでプロジェクトの作業項目（タスク）を特定し、作業実績として記憶する。
【００１２】
ネットワーク２０は、クライアント端末１０とサーバ装置３０の間を互いに接続するための機器であって、ユーザの作業状況や作業計画に関わるデータを送受信する。
【００１３】
＜クライアント端末の構成＞
クライアント端末１０は、例えば、一般的なパーソナルコンピュータ（ＰＣ）等で実現される機器である。クライアント端末１０は、通信部１１、制御部１２、記憶部１３、操作部１４、表示部１５、検出部１６を有する。
【００１４】
通信部１１は、ＬＡＮ等で実現されるものであって、ネットワーク２０を介してサーバ装置３０との間でデータを送受信するためのインタフェース部である。特に、本実施形態の通信部１１は、ユーザの作業状況を示すデータとして操作部１４で収集した操作ログや検出部１６で収集した行動ログをサーバ装置３０に対して送信するための機能を有する。
【００１５】
制御部１２は、ＣＰＵ（Central Processing Unit）等で実現されるものであって、記憶部１３に格納されたプログラムに従い、クライアント端末１０の内部で扱うデータを処理するための処理部である。特に、本実施形態の制御部１２は、操作部１４や検出部１６から得られるユーザの作業状況を示すデータを収集及び送信するように制御するための機能を有する。
【００１６】
記憶部１３は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）等で実現されるものである。記憶部１３は、制御部１２がクライアント端末１０の内部で扱うデータ及びプログラムを格納するための処理部である。なお、本実施形態の記憶部１３は、例えば、操作部１４で収集した操作ログや検出部１６で収集した行動ログをデータとして一時記憶する構成であっても良い。
【００１７】
操作部１４は、キーボード、マウス等で実現されるものであって、ユーザからの操作入力を受信し、ユーザの作業に伴う操作ログをデータとして収集するための処理部である。
【００１８】
表示部１５は、ディスプレイ等で実現されるものあって、ユーザの作業に伴って実行された、文書作成、表計算、スケジュール管理、プロジェクト管理などのプログラムによる出力画面を表示するための処理部である。
【００１９】
検出部１６は、カメラ、マイク等で実現されるものであって、ユーザの作業に伴って検出された、操作部１４による操作行動、表示部１５に対する注視行動、図示しない他のユーザとの会話行動などの行動ログをデータとして収集するための処理部である。
【００２０】
なお、本実施形態では、クライアント端末の一例としてＰＣを例示したがこれに限定されるものではない。例えば、ユーザの作業に伴う操作ログのデータ収集機能、ユーザの作業に伴って検出された行動ログ検出機能、操作ログや行動ログのサーバ装置３０に対する送信機能を有するモバイル端末やタブレット端末などに適用することもできる。
【００２１】
＜サーバ装置の構成＞
サーバ装置３０は、データベース（以下、ＤＢと記す）を管理するための制御部及び大容量記憶部で実現される装置であって、例えば、ＤＢ管理部３１、スケジュールＤＢ３２、プロジェクトＤＢ３３、タスク進捗ＤＢ３４を有する。なお、サーバ装置３０は、例えば、大容量データを解析するためのＣＰＵ、ＲＡＭ、ＲＯＭ等の専用デバイスを搭載したサーバ装置と、大容量データを記憶するためのＨＤＤ等の専用デバイスを搭載したサーバ装置を独立した構成であっても良い。
【００２２】
ＤＢ管理部３１は、ＣＰＵ、ＲＡＭ、ＲＯＭ等で実現されるものであって、クライアント端末１０を操作するユーザからの要求に応じて、スケジュールＤＢ３２、プロジェクトＤＢ３３、タスク進捗ＤＢ３４に記憶されたデータを管理するための処理部である。それぞれのデータベースにおける処理内容については、図２〜図５を用いて後述する。
【００２３】
＜スケジュールＤＢの構成＞
スケジュールＤＢ３２は、ＨＤＤ等で実現されるものであって、本実施形態の業務管理対象であるユーザに関するスケジュール情報を記憶するためのデータベースである。図２は、スケジュールＤＢ３２に記憶されたデータ例を説明するための図である。図２（ａ）に一月単位でユーザの通常出勤予定例を示し、図２（ｂ）に図２（ａ）に示す月におけるユーザの勤務形態例を示し、図２（ｃ）に１週間単位でユーザの作業不可能な予定例を示す。
【００２４】
図２（ａ）に示すように、スケジュールＤＢ３２は、例えば、ユーザが所属する組織の通常出勤日を示したカレンダー２００の情報（２０１７年１１月の情報）をデータとして保持する。図２（ａ）においては、丸印は、ユーザが作業できない日である休暇日を示している。具体的には、スケジュールＤＢ３２が、２０１７年１１月通常出勤日に関し、第一週１日（水）〜３日（金）、第二週６日（月）〜１０日（金）、第三週１３日（月）〜１７日（金）であるカレンダー２００の情報をデータとして保持する場合を示している。カレンダー２００の情報は、２０１７年１１月の通常出勤日に関し、第四週２０日（月）〜２２日（水）、２４日（金）、第五週２７日（月）〜３０日（木）を含む。すなわち、スケジュールＤＢ３２は、ユーザが所属する組織の一月分の通常出勤日に関し、一週間単位で、ユーザが所属する組織の一員が作業に割り当てることが可能な日にちに関する情報をデータとして保持する。しかしながら、データとして保持する通常出勤日の情報は、一ヶ月の単位に限られず、二ヶ月や三ヶ月などの単位であってもよい。
【００２５】
また、スケジュールＤＢ３２は、図２（ｂ）に示すように、例えば、ユーザの通常出勤日における始業時刻２０１、終業時刻２０２、あるいは、休憩時刻が定義された勤務形態２０３などの就業時間帯を示した情報をデータとして保持する。図２（ｂ）では、ユーザの始業時刻２０１が「９：００」、終業時刻２０２が「１７：００」、勤務形態２０３が「遅番（休憩：１３：００〜１４：００）」である情報をデータとして保持する。すなわち、スケジュールＤＢ３２は、ユーザが通常出勤日の一日にて作業に割り当てることが可能な時間帯に関する情報をデータとして保持する。
【００２６】
さらに、スケジュールＤＢ３２は、図２（ｃ）に示すように、ユーザが作業時間として使用できない打合せなどの予定時間帯を示した情報、例えば、日付２２０、開始時刻２２１、終了時刻２２２、要件２２３などを示した情報をデータとして保持する。図２（ｃ）では、２０１７年１１月第二週の平日（１１月６日（月）から１１月１０日（金））２１０における、打合せ、会議、外出などの、ユーザが作業に当てることが不可能な時間帯に関する情報をデータとして保持する。なお、ユーザが作業不可能な時間帯として休暇を含む。すなわち、スケジュールＤＢ３２は、ユーザが通常出勤の一週間にて作業に割り当てることができない時間帯に関する情報をデータとして保持する。しかしながら、データとして保持する作業不可時間帯の情報は、一週間の単位に限られず、二週間や一ヶ月などの単位であってもよい。
【００２７】
ＤＢ管理部３１は、図２（ａ）〜（ｃ）に示したようにスケジュールＤＢ３２に保持されたデータを用いることで、本実施形態の業務管理対象であるユーザが作業を行う時間として確保できる正味の作業可能時間を導出することができる。
【００２８】
＜プロジェクトＤＢの構成＞
プロジェクトＤＢ３３は、ＨＤＤ等で実現されるものであって、本実施形態の業務管理対象であるユーザに関するプロジェクト情報を記憶するためのデータベースである。図３は、プロジェクトＤＢ３３に記憶されたデータ例を説明するための図である。図３（ａ）にユーザが携わるプロジェクトのタスク（作業項目）と期限の関係例を示し、図３（ｂ）に図３（ａ）に示すタスクのサブタスクと予定工数の関係例を示し、図３（ｃ）に図３（ａ）に示すタスクのサブタスクと予定工数の他の関係例を示す。
【００２９】
図３（ａ）に示すように、プロジェクトＤＢ３３は、例えば、タスクＩＤ３００、タスク名３０１、期限３０２などのユーザが携わるプロジェクトの作業項目（タスク）に関する情報をデータとして保持する。図３（ａ）では、タスクＩＤがＴ１、Ｔ２、Ｔ３で与えられた３つのタスクが登録された状態を示している。詳細には、プロジェクトＤＢ３３は、タスクＩＤ３００のＴ１に関し、タスク名３０１「タスクＡ」、期限３０２「２０１７年１１月１３日（月）１７：００」を関連付けたデータ３１０として保持している。プロジェクトＤＢ３３は、タスクＩＤ３００のＴ２に関し、タスク名３０１「タスクＢ」、期限３０２「２０１７年１１月１０日（金）１７：００」を関連付けたデータ３１１として保持している。プロジェクトＤＢ３３は、タスクＩＤ３００のＴ３に関し、タスク名３０１「タスクＣ」、期限３０２「２０１７年１１月２２日（水）１３：００」を関連付けたデータ３１２として保持している。
【００３０】
プロジェクトＤＢ３３は、例えば、タスクＩＤがＴ３で与えられたタスクＣの期限情報をユーザの操作入力によるデータとして受信した際に、当該データを用いて更新された期限のデータ３１６として保持できる。詳細には、タスクＩＤ３００のＴ３に関連付けられた期限３０２に関し、プロジェクトＤＢ３３は、以下の機能を有する。プロジェクトＤＢ３３は、ユーザの操作入力により、現在の保持データ（２０１７年１１月２２日（水）１３：００）と異なるデータ（２０１７年１１月１５日（水）１３：００）３１６を受信すると、現在の保持データを受信したデータ３１６に更新する。すなわち、プロジェクトＤＢ３３は、タスクの期限情報に関し、ユーザの操作入力によるデータを受信すると、タスクの期限３０２を受信したデータに更新する機能を有する。
【００３１】
また、図３（ｂ）および（ｃ）は、図３（ａ）のデータ３１０〜３１２それぞれのタスクを、当該タスクを構成するサブタスクの単位で管理するための管理テーブルの具体例を示した図である。管理テーブルは、図３（ｂ）および（ｃ）に示すように、例えば、タスクＩＤ３００、サブタスクＩＤ３２０、サブタスク名３２１、予定工数３２２等で構成される。図３（ａ）と共通するタスクＩＤ３００を参照することで、タスクとサブタスクの間の親子関係を管理できる。すなわち、タスクとサブタスクを対応付けて管理できる。
【００３２】
図３（ｂ）のデータ３３０〜３３２は、例えば、図３（ａ）のデータ３１０〜３１２に対応する生産部門のユーザのサブタスク情報を示したものである。すなわち、サブタスクのＩＤがＳ１〜Ｓ９である各サブタスクは、例えば、製品量産工程における組み立てユニット１個当たりの組み立て作業時間のように所要時間が精度良く見積もれる作業項目であるものとして、予定工数３２２が設定されたものである。
【００３３】
図３（ｂ）のタスクＩＤ３００のＴ１に関し、プロジェクトＤＢ３３は、サブタスクＩＤ３２０の「Ｓ１」、「Ｓ２」、「Ｓ３」で構成されるデータ３３０として保持している。サブタスクＩＤ３２０の「Ｓ１」に関し、サブタスク名３２１「タスクＡ１」、予定工数３２２「５ｈ（時間）」が関連付けられている。サブタスクＩＤ３２０の「Ｓ２」に関し、サブタスク名３２１「タスクＡ２」、予定工数３２２「５ｈ（時間）」が関連付けられている。サブタスクＩＤ３２０の「Ｓ３」に関し、サブタスク名３２１「タスクＡ３」、予定工数３２２「５ｈ（時間）」が関連付けられている。
【００３４】
また、図３（ｂ）のタスクＩＤ３００のＴ２に関し、プロジェクトＤＢ３３は、サブタスクＩＤ３２０の「Ｓ４」、「Ｓ５」で構成されるデータ３３１として保持している。サブタスクＩＤ３２０の「Ｓ４」に関し、サブタスク名３２１「タスクＢ１」、予定工数３２２「４ｈ（時間）」が関連付けられている。サブタスクＩＤ３２０の「Ｓ５」に関し、サブタスク名３２１「タスクＢ２」、予定工数３２２「４ｈ（時間）」が関連付けられている。
【００３５】
また、図３（ｂ）のタスクＩＤ３００のＴ３に関し、プロジェクトＤＢ３３は、サブタスクＩＤ３２０の「Ｓ６」、「Ｓ７」、「Ｓ８」、「Ｓ９」で構成されるデータ３３２として保持している。サブタスクＩＤ３２０の「Ｓ６」に関し、サブタスク名３２１「タスクＣ１」、予定工数３２２「３ｈ（時間）」が関連付けられている。サブタスクＩＤ３２０の「Ｓ７」に関し、サブタスク名３２１「タスクＣ２」、予定工数３２２「３ｈ（時間）」が関連付けられている。サブタスクＩＤ３２０の「Ｓ８」に関し、サブタスク名３２１「タスクＣ３」、予定工数３２２「３ｈ（時間）」が関連付けられている。サブタスクＩＤ３２０の「Ｓ９」に関し、サブタスク名３２１「タスクＣ４」、予定工数３２２「３ｈ（時間）」が関連付けられている。
【００３６】
図３（ｃ）のデータ３４０〜３４２は、例えば、図３（ａ）のデータ３１０〜３１２に対応する開発部門のユーザのサブタスク情報を示したものである。すなわち、各サブタスクは、例えば、ソフトウェア開発工程における機能モジュール１個当たりのコーディング及びデバッグ作業時間のように所要時間が必ずしも精度良く見積もれない作業項目であるものとして、予定工数３２２が設定されたものである。ここで、予定工数３２２は、例えば、組織内で蓄積された過去の類似タスクにおける実績工数のデータに基づいた統計的な期待値を設定したものであっても良いし、担当者の経験年数などの諸条件を入力した学習モデルによる出力値を設定したものであっても良い。
【００３７】
図３（ｃ）のタスクＩＤ３００のＴ１に関し、プロジェクトＤＢ３３は、サブタスクＩＤ３２０の「Ｓ１１」、「Ｓ１２」、「Ｓ１３」で構成されるデータ３４０として保持している。サブタスクＩＤ３２０の「Ｓ１１」に関し、サブタスク名３２１「タスクＡ１１」、予定工数３２２「１０ｈ（時間）」が関連付けられている。サブタスクＩＤ３２０の「Ｓ１２」に関し、サブタスク名３２１「タスクＡ１２」、予定工数３２２「２ｈ（時間）」が関連付けられている。サブタスクＩＤ３２０の「Ｓ１３」に関し、サブタスク名３２１「タスクＡ１３」、予定工数３２２「３ｈ（時間）」が関連付けられている。
【００３８】
また、図３（ｃ）のタスクＩＤ３００のＴ２に関し、プロジェクトＤＢ３３は、サブタスクＩＤ３２０の「Ｓ１４」、「Ｓ１５」で構成されるデータ３４１として保持している。サブタスクＩＤ３２０の「Ｓ１４」に関し、サブタスク名３２１「タスクＢ１１」、予定工数３２２「５ｈ（時間）」が関連付けられている。サブタスクＩＤ３２０の「Ｓ１５」に関し、サブタスク名３２１「タスクＢ１２」、予定工数３２２「３ｈ（時間）」が関連付けられている。
【００３９】
また、図３（ｃ）のタスクＩＤ３００のＴ３に関し、プロジェクトＤＢ３３は、サブタスクＩＤ３２０の「Ｓ１６」、「Ｓ１７」、「Ｓ１８」、「Ｓ１９」で構成されるデータ３４２として保持している。サブタスクＩＤ３２０の「Ｓ１６」に関し、サブタスク名３２１「タスクＣ１１」、予定工数３２２「５ｈ（時間）」が関連付けられている。サブタスクＩＤ３２０の「Ｓ１７」に関し、サブタスク名３２１「タスクＣ１２」、予定工数３２２「２ｈ（時間）」が関連付けられている。サブタスクＩＤ３２０の「Ｓ１８」に関し、サブタスク名３２１「タスクＣ１３」、予定工数３２２「２ｈ（時間）」が関連付けられている。サブタスクＩＤ３２０の「Ｓ１９」に関し、サブタスク名３２１「タスクＣ１４」、予定工数３２２「３ｈ（時間）」が関連付けられている。
【００４０】
＜タスク進捗ＤＢの構成＞
タスク進捗ＤＢ３４は、ＨＤＤ等で実現されるものであって、本実施形態の業務管理対象であるユーザに関するタスク進捗情報、すなわち、作業進捗情報を記憶するためのデータベースである。図４は、タスク進捗ＤＢ３４に記憶されたデータ例を説明するための図である。図４（ａ）にタスクと予定および実績工数の関係を示し、図４（ｂ）に図４（ａ）に示す予定工数の詳細を示し、図４（ｃ）に図４（ａ）に示す実績工数の詳細を示す。
【００４１】
図４（ａ）に示すように、タスク進捗ＤＢ３４は、例えば、プロジェクトＤＢ３３に登録された、図３（ａ）に示す各タスクに関し、タスクＩＤ４００、タスク名４０１、予定工数４０２、実績工数４０３のデータを管理する。詳細には、タスク進捗ＤＢ３４は、タスクＩＤ４００のＴ１に関し、タスク名４０１「タスクＡ」、予定工数４０２「１５ｈ（時間）」、実績工数４０３「１０ｈ（時間）」を関連付けたデータ４１０として管理している。タスクＩＤ４００のＴ２に関し、タスク進捗ＤＢ３４は、タスク名４０１「タスクＢ」、予定工数４０２「８ｈ（時間）」、実績工数４０３「０ｈ（時間）」を関連付けたデータ４１１として管理している。タスクＩＤ４００のＴ３に関し、タスク進捗ＤＢ３４は、タスク名４０１「タスクＣ」、予定工数４０２「１２ｈ（時間）」、実績工数４０３「０ｈ（時間）」を関連付けたデータ４１２として管理している。
【００４２】
さらに、タスク進捗ＤＢ３４は、図４（ｂ）に示すように、例えば、日付４２０、開始時刻４２１、終了時刻４２２、予定工数４２３、タスク名４２４等で構成された、ユーザの作業予定の詳細を示す情報をデータとして保持する。ここで、作業予定におけるタスク名４２４は、本実施形態の作業計画生成によって設定されたものである。図４（ｂ）の予定工数４２３は、図４（ａ）の予定工数４０２に対応したものである。
【００４３】
すなわち、タスク進捗ＤＢ３４では、データ４１０で登録されたタスクＡの予定工数１５時間の内の９時間に関し、予定工数４２３には、作業予定データ４３０、４３２、４３４それぞれに４時間、１時間、４時間を割り付けている。さらに、タスク進捗ＤＢ３４では、データ４１０で登録されたタスクＡの予定工数１５時間の内の６時間に関し、予定工数４２３には、作業予定データ４３６、４３７、４３８それぞれに３時間、１時間、２時間を割り付けている。
【００４４】
タスク進捗ＤＢ３４では、データ４１１で登録されたタスクＢの予定工数８時間に関し、予定工数４２３には、作業予定データ４３１、４３３、４３５それぞれに２時間、３時間、３時間を割り付けている。
【００４５】
なお、タスク進捗ＤＢ３４では、データ４１２で登録されたタスクＣの予定工数１２時間に関し、２０１７年１１月第二週の予定工数４２３には、どの作業予定データも割り付けられていない。
【００４６】
さらに、タスク進捗ＤＢ３４は、図４（ｃ）に示すように、例えば、日付４４０、開始時刻４４１、終了時刻４４２、実績工数４４３、タスク名４４４等で構成された、ユーザの作業実績の詳細を示す情報をデータとして保持する。ここで、作業実績におけるタスク名４４４は、例えば、クライアント端末１０から収集した操作ログや行動ログのデータを入力した学習モデルからの出力値に基づいて分類したものである。なお、ここで用いるタスク名４４４の分類方法は、例えば、特許文献２の技術を用いて実現可能なものであって、日付４４０、開始時刻４４１、終了時刻４４２などの時間情報と共に分類結果のタスク名４４４が記録されたものである。
【００４７】
タスク進捗ＤＢ３４に登録された、図４（ｃ）に示す作業実績データ４５０〜４５３は、例えば、タスク名４４４がいずれもタスクＡに分類された場合を示したものである。これらを集計した結果として、タスク進捗ＤＢ３４に登録された、図４（ａ）に示す実績工数４０３は、タスクＩＤがＴ１、Ｔ２、Ｔ３のデータ４１０〜４１２について、それぞれ１０時間、０時間、０時間となる。
【００４８】
また、図５は、タスク進捗ＤＢ３４に記憶された、図４と異なるデータ例を説明するための図である。図５（ａ）にタスクと予定および実績工数と進捗率の関係を示し、図５（ｂ）に図５（ａ）に示す予定工数の詳細を示し、図５（ｃ）に図５（ａ）に示す実績工数の詳細を示す。
【００４９】
図５（ａ）に示すように、タスク進捗ＤＢ３４は、例えば、プロジェクトＤＢ３３に登録された各タスクに関し、図４（ａ）と同様のタスクＩＤ５００、タスク名５０１、予定工数５０２、実績工数５０３に加えて、進捗率５０４のデータを管理する。詳細には、タスク進捗ＤＢ３４は、タスクＩＤ５００のＴ１に関し、タスク名５０１「タスクＡ」、予定工数５０２「１５ｈ（時間）」、実績工数５０３「５ｈ（時間）」を関連付けたデータ５１０として管理している。また、タスク進捗ＤＢ３４は、タスクＩＤ５００のＴ１に関して、進捗率５０４「５０％」のデータ５１３も管理している。タスク進捗ＤＢ３４は、タスクＩＤ５００のＴ２に関し、タスク名５０１「タスクＢ」、予定工数５０２「８ｈ（時間）」、実績工数５０３「５ｈ（時間）」を関連付けたデータ５１１として管理している。また、タスク進捗ＤＢ３４は、タスクＩＤ５００のＴ２に関して、進捗率５０４「５０％」のデータ５１４も管理している。タスク進捗ＤＢ３４は、タスクＩＤ５００のＴ３に関し、タスク名５０１「タスクＣ」、予定工数５０２「１２ｈ（時間）」、実績工数５０３「０ｈ（時間）」を関連付けたデータ５１２として管理している。また、タスク進捗ＤＢ３４は、タスクＩＤ５００のＴ３に関して、進捗率５０４「０％」のデータ５１５も管理している。
【００５０】
さらに、タスク進捗ＤＢ３４は、図５（ｂ）に示すように、例えば、日付５２０、開始時刻５２１、終了時刻５２２、予定工数５２３、タスク名５２４等で構成された、ユーザの作業予定の詳細を示す情報をデータとして保持する。ここで、作業予定におけるタスク名５２４は、本実施形態の作業計画生成によって設定されたものである。図５（ｂ）の予定工数５２３は、図５（ａ）の予定工数５０２に対応したものである。
【００５１】
すなわち、タスク進捗ＤＢ３４では、データ５１０に登録されたタスクＡの予定工数１５時間の内の９時間に関し、予定工数５２３には、作業予定データ５３０、５３２、５３４それぞれに４時間、１時間、４時間を割り付けている。さらに、タスク進捗ＤＢ３４では、データ５１０で登録されたタスクＡの予定工数１５時間の内の６時間に関し、予定工数５２３には、作業予定データ５３６、５３７、５３８それぞれに３時間、１時間、２時間を割り付けている。
【００５２】
タスク進捗ＤＢ３４では、データ５１１で登録されたタスクＢの予定工数８時間に関し、予定工数５２３には、作業予定データ５３１、５３３、５３５それぞれに２時間、３時間、３時間を割り付けている。
【００５３】
なお、タスク進捗ＤＢ３４では、データ５１２で登録されたタスクＣの予定工数１２時間に関し、２０１７年１１月第二週の予定工数５２３には、どの作業予定データも割り付けられていない。
【００５４】
さらに、タスク進捗ＤＢ３４は、図５（ｃ）に示すように、例えば、日付５４０、開始時刻５４１、終了時刻５４２、実績工数５４３、タスク名５４４等で構成された、ユーザの作業実績の詳細を示す情報をデータとして保持する。ここで、作業実績におけるタスク名５４４は、例えば、クライアント端末１０から収集した操作ログや行動ログのデータを入力した学習モデルからの出力値に基づいて分類したものである。なお、ここで用いるタスク名５４４の分類方法は、例えば、特許文献２の技術を用いて実現可能なものであって、日付５４０、開始時刻５４１、終了時刻５４２などの時間情報と共に分類結果のタスク名５４４が記録されたものである。
【００５５】
タスク進捗ＤＢ３４に登録された、図５（ｃ）に示す作業実績データ５５０、５５１、５５２、５５３は、例えば、タスク名５４４がタスクＡ、タスクＢ、タスクＡ、タスクＢに分類された場合を示したものである。これらを集計した結果として、タスク進捗ＤＢ３４に登録された、図５（ａ）に示す実績工数５０３は、タスクＩＤがＴ１、Ｔ２、Ｔ３のデータ５１０〜５１２について、それぞれ５時間、５時間、０時間となる。
【００５６】
ここで、進捗率５０４は、例えば、クライアント端末１０の操作部１４を用いてユーザにより手動で入力されたデータに基づいて反映したものである。例えば、図５（ａ）に示す進捗率５０４は、タスクＩＤがＴ１、Ｔ２、Ｔ３の進捗率データ５１３、５１４、５１５について、ユーザにより手動で入力された進捗率がそれぞれ５０％、５０％、０％であった場合を示したものである。
【００５７】
＜クライアント端末の表示方法＞
図６は、クライアント端末の表示部に表示される作業計画の表示例を示す図である。図６（ａ）に作業予定に基づく作業計画の表示例を示し、図６（ｂ）に作業予定および実績工数に基づく、変更後の作業計画の表示例を示し、図６（ｃ）に図６（ａ）および（ｂ）に表示した領域に関する凡例を示す。図６（ａ）および（ｂ）は、図２（ａ）に示すカレンダー２００内の実働５日間２１０に対応する作業計画の表示例であって、図２（ｂ）の就業時間帯の情報と図２（ｃ）の予定時間帯の情報を元に、図６（ｃ）の凡例に従って図示したものである。
【００５８】
詳細には、図６（ａ）の上段にて、１１／６（月）〜１０（金）の各日に対応した１日のタイムスケジュールを示している。図６（ａ）の下段にて、１１／６（月）および７（火）、１１／８（水）〜１０（金）の単位で、各タスクの予定時間の合計を示している。
【００５９】
図６（ｂ）の上段にて、１１／６（月）、７（火）の各日に対応した１日の作業実績と、１１／８（水）〜１０（金）の各日に対応した１日のタイムスケジュールを示している。図６（ｂ）の下段にて、１１／６（月）および７（火）の単位で各タスクの実績時間の合計、１１／８（水）〜１０（金）の単位で各タスクの予定時間の合計を示している。
【００６０】
すなわち、図６（ａ）は、ユーザの作業前の時点である、１１／６（月）の始業時刻前の時点における作業計画の表示例を示している。これに対して、図６（ｂ）は、ユーザの作業実績を含む、実働２日間経過した後の１１／８（水）の始業時刻前の時点における作業計画の表示例を示している。
【００６１】
ユーザは、例えば、図６（ａ）の作業計画の表示例を参照することで、１１／６（月）および７（火）の実働２日間における作業可能時間の１０時間を、作業予定時間としてタスクＡおよびＢそれぞれに対して５時間計上していたことを目視確認できる。
【００６２】
また、ユーザは、例えば、図６（ｂ）の、作業実績を含む作業予定の表示例を参照することで、１１／６（月）および７（火）の実働２日間における作業可能時間の１０時間を、作業実績時間としてタスクＡだけに対して費やしたことを目視確認できる。
【００６３】
さらに、ユーザは、例えば、図６（ａ）および（ｂ）の表示を比較参照することで、１１／６（月）および７（火）の実働２日間における作業可能時間の１０時間に関し、作業予定時間と作業実績時間とで乖離していたことを目視確認できる。すなわち、ユーザは、各タスクに関し、作業に割り当てた作業予定時間と作業を行った作業実績時間とに乖離があることを目視確認できる。作業実績時間は、例えば、図４（ａ）および（ｂ）を用いて説明したタスク進捗ＤＢ３４に記憶されたデータによって導出される。
【００６４】
上記の確認後、ユーザは、例えば、１１／８（水）の始業時刻前の時点において作業計画の生成を指示することで、図６（ｂ）の作業計画を生成できる。図６（ｂ）の作業計画は、図６（ａ）の１１／８（水）、９（木）および１０（金）の実働３日間における作業可能時間の１３時間を再配分した状態を示している。図６の表示例は、例えば、予定変更前に、図６（ａ）に示したように、タスクＡに１０時間、タスクＢに３時間を計上していたのに対して、予定変更後に、図６（ｂ）に示したように、タスクＡに５時間、タスクＢに８時間を再配分して計上し直したものである。すなわち、指定された要求時点以前の作業予定時間に対する作業実績時間に基づいて、要求時点以降の作業予定時間を導出し、これを反映した作業計画を生成する。具体的には、タスクＡに、５時間確保する予定であったのが１０時間確保した実績であった進捗状況を考慮して、残作業を完了するための残りの作業予定時間が１５時間−１０時間＝５時間であることを導出し、これを反映した作業計画を生成する。また、タスクＢに、５時間確保する予定であったのが０時間確保した実績であった進捗状況を考慮して、残作業を完了するための残りの作業予定時間を８時間−０時間＝８時間であることを導出し、これを反映した作業計画を生成する。なお、図６の作業計画を生成するために用いた数値は、説明を単純にするための一例であって、いずれの数値が与えられた場合も同様の導出が可能である。
【００６５】
図７は、クライアント端末の表示部に表示される作業計画の他の表示例を示す図である。図７（ａ）に作業予定に基づく作業計画の表示例を示し、図７（ｂ）に作業予定および実績工数に基づく、変更後の作業計画の表示例を示し、図７（ｃ）に図７（ａ）および（ｂ）に表示した領域に関する凡例を示す。
【００６６】
図７（ａ）および（ｂ）は、図２（ａ）に示すカレンダー２００内の実働５日間２１０に対応する作業計画の他の表示例であって、図２（ｂ）の就業時間帯の情報と図２（ｃ）の予定時間帯の情報を元に、図７（ｃ）の凡例に従って図示したものである。
【００６７】
詳細には、図７（ａ）の上段にて、１１／６（月）〜１０（金）の各日に対応した１日のタイムスケジュールを示している。図７（ａ）の下段にて、１１／６（月）および７（火）、１１／８（水）〜１０（金）の単位で、各タスクの予定時間の合計、進捗率を示している。
【００６８】
図７（ｂ）の上段にて、１１／６（月）、７（火）の各日に対応した１日の作業実績と、１１／８（水）〜１０（金）の各日に対応した１日のタイムスケジュールを示している。図７（ｂ）の下段にて、１１／６（月）および７（火）の単位で各タスクの実績時間の合計、１１／８（水）〜１０（金）の単位で各タスクの予定時間の合計、進捗率を示している。
【００６９】
すなわち、図７（ａ）は、ユーザの作業前の時点である、１１／６（月）の始業時刻前の時点における作業計画の表示例を示している。これに対して、図７（ｂ）はユーザの作業実績を含む、実働２日間経過した後の１１／８（水）の始業時刻前の時点における作業計画の表示例を示している。
【００７０】
ユーザは、例えば、図７（ａ）の作業計画の表示例を参照することで、１１／６（月）および７（火）の実働２日間における作業可能時間の１０時間を、作業予定時間としてタスクＡおよびタスクＢのそれぞれに対して５時間計上していたことを目視確認できる。なお、ユーザは、１１／６（月）および７（火）にて、作業予定時間としてタスクＣに対して０時間計上していたことを目視確認できる。
【００７１】
また、ユーザは、例えば、図７（ｂ）の、作業実績を含む作業計画の表示例を参照することで、１１／６（月）、７（火）の実働２日間における作業可能時間の１０時間を、作業実績時間としてタスクＡ、Ｂそれぞれに５時間だけ費やしたことを目視確認できる。
【００７２】
さらに、ユーザは、例えば、図７（ａ）および（ｂ）の表示を比較参照することで、１１／６（月）および７（火）の実働２日間における作業可能時間の１０時間に関し、作業予定時間と作業実績時間が一致していたことを目視確認できる。作業実績時間は、例えば、図５（ａ）および（ｂ）を用いて説明したタスク進捗ＤＢ３４に記憶されたデータによって導出される。
【００７３】
さらに、図７（ａ）は、作業予定時間に対する進捗率を表示し、図７（ｂ）は、作業実績時間に対する進捗率を表示する。作業予定時間に対する進捗率は、例えば、（実績工数／予定工数）の割合から導出したものであって、図７（ａ）に示すように、タスクＡの進捗率＝（５時間／１５時間）＝３３％、タスクＢの進捗率＝（５時間／８時間）＝６２％と導出できる。これに対して、作業実績時間に対する進捗率は、例えば、図５（ａ）の進捗率５０４でユーザから手動で入力されたデータに基づいて反映したものであって、図７（ｂ）に示すように、タスクＡの進捗率＝５０％、タスクＢの進捗率＝５０％と入力できる。ユーザは、図７（ａ）および（ｂ）の表示を比較参照することで、タスクＡおよびＢの進捗率それぞれが、予定と実績で乖離していたことを目視確認できる。すなわち、１１／６（月）および７（火）の実働２日間における作業実績として、タスクＡでは、予定進捗率３３％を上回る５０％の進捗率である反面、タスクＢは、予定進捗率６２％を下回る５０％の進捗率であることを目視確認できる。
【００７４】
上記の確認後、ユーザは、例えば、１１／８（水）の始業時刻前の時点において作業計画の生成を指示することで、図７（ｂ）の作業計画を生成できる。図７（ｂ）の作業計画は、図７（ａ）の１１／８（水）、９（木）および１０（金）の実働３日間における作業可能時間の１３時間を再配分した状態を示している。図７の表示例は、例えば、予定変更前に、図７（ａ）で示したように、タスクＡに１０時間、タスクＢに３時間を計上していたのに対して、予定変更後に、図７（ｂ）で示したように、タスクＡに５時間、タスクＢに５時間を再配分して計上し直したものである。すなわち、指定された要求時点以前の作業予定時間に対する作業実績時間および進捗状況に基づいて、進捗状況に応じた、要求時点以降の作業予定時間を導出し、これを反映した作業計画を生成する。具体的には、タスクＡは、５時間で進捗率５０％であった進捗状況を考慮して、進捗率１００％となるための残りの作業予定時間は５時間×（（１００−５０）／５０）＝５時間であることを導出し、これを反映した作業計画を生成する。また、タスクＢは、５時間で進捗率５０％であった進捗状況を考慮して、進捗率１００％となるための残りの作業予定時間は５時間×（（１００−５０）／５０）＝５時間であることを導出し、これを反映した作業計画を生成する。
【００７５】
さらに、タスクＡおよびタスクＢが前倒し実施可能な作業計画に変更されたことを受けて、例えば、図５（ａ）に示した後続のタスクＣの予定工数１２時間のうち、一部の作業計画を生成することも可能となる。すなわち、タスクＣは、例えば、図７（ｂ）に示したように、１１／８（水）、９（木）および１０（金）の実働３日間における作業可能時間のうち３時間をタスクＣの作業予定時間として確保できることを導出し、これを反映した作業計画を生成する。なお、図７の作業計画を生成するために用いた数値は、説明を単純にするための一例であって、いずれの数値が与えられた場合も同様の導出が可能である。
【００７６】
＜制御フロー＞
図８および図９は、サーバ装置３０のＤＢ管理部３１によって実行される処理の流れを説明するフローチャートである。具体的には、図８は、サーバ装置３０のＤＢ管理部３１による作業計画表示処理の手順例を示すフローチャートである。
【００７７】
ここでは、ＤＢ管理部３１は、クライアント端末１０からユーザの作業状況を示す操作ログや行動ログのデータ、あるいは、ユーザの作業計画の生成及び表示を指示するための操作入力を受信したことをトリガとして各ステップの処理を実行する。すなわち、ＤＢ管理部３１は、情報処理を行う。なお、図８および図９のフローチャートに示す各ステップの処理は、ＤＢ管理部３１のＲＡＭ、ＲＯＭ等に記憶され、同じくＤＢ管理部３１のＣＰＵ等によって実行される。スケジュールＤＢ３２は、ユーザのスケジュール（勤務日、勤務形態、作業不可時間帯）に関するデータを予め記憶している。プロジェクトＤＢ３３は、ユーザのプロジェクト（各タスクの期限、予定工数）に関するデータを予め記憶している。タスク進捗ＤＢ３４は、ユーザのタスク進捗（各タスクの詳細な予定および実績工数）に関するデータを予め記憶している。以降、記号のＳは、フローチャートにおけるステップであることを意味する。
【００７８】
まず、ＤＢ管理部３１は、図２を参照して説明したスケジュールＤＢ３２のデータを更新する（Ｓ８０１）。
【００７９】
次に、ＤＢ管理部３１は、図３を参照して説明したプロジェクトＤＢ３３のデータを更新する（Ｓ８０２）。
【００８０】
次に、ＤＢ管理部３１は、図４および図５を参照して説明したタスク進捗ＤＢ３４のデータを更新する（Ｓ８０３）。
【００８１】
次に、ＤＢ管理部３１は、クライアント端末１０における操作部１４の操作入力として、図６および図７を参照して説明した作業計画の表示を要求されたか否かを判断する（Ｓ８０４）。言い換えると、ＤＢ管理部３１は、ユーザの作業計画の表示を指示するための操作入力を受信したか否かを判断する。ＤＢ管理部３１は、表示を要求されたと判断すると（Ｓ８０４でＹＥＳ）、処理をＳ８０５に移行し、表示を要求されていないと判断すると（Ｓ８０４でＮＯ）、処理をＳ８０１に返しＳ８０１〜Ｓ８０３の処理を再び行う。すなわち、ＤＢ管理部３１は、表示を要求する指示を受信するまで、スケジュールＤＢ３２、プロジェクトＤＢ３３、タスク進捗ＤＢ３４に記憶されるデータを更新し続ける。
【００８２】
具体的には、ＤＢ管理部３１は、前記表示要求の指示を受信するまで、スケジュールＤＢ３２に記憶されていた、ユーザの出勤予定、ユーザの勤務形態、ユーザの作業予定に関するデータを更新する。また、ＤＢ管理部３１は、前記表示要求の指示を受信するまで、プロジェクトＤＢ３３に記憶されていた、プロジェクトのタスク期限、タスクを構成するサブタスクの予定工数に関するデータを更新する。ＤＢ管理部３１は、前記表示要求の指示を受信する迄、タスク進捗ＤＢ３４に記憶されていた、プロジェクトのタスク単位で、予定及び実績工数、予定工数及び実績工数の詳細（日付、開始及び終了時刻）に関するデータを更新する。
【００８３】
次に、ＤＢ管理部３１は、スケジュールＤＢ３２およびプロジェクトＤＢ３３に記憶されたデータを参照し、Ｓ８０４の表示要求指示を受け付けた時点までの作業予定時間の情報を取得する（Ｓ８０５）。
【００８４】
次に、ＤＢ管理部３１は、スケジュールＤＢ３２およびタスク進捗ＤＢ３４に記憶されたデータを参照し、Ｓ８０４の表示要求指示を受け付けた時点までの作業実績時間の情報を取得する（Ｓ８０６）。
【００８５】
次に、ＤＢ管理部３１は、図６（ａ）および（ｂ）、あるいは、図７（ａ）および（ｂ）で説明したように、Ｓ８０４の表示要求指示を受け付けた時点までの作業予定時間と作業実績時間の関係を比較可能な形式で表示する（Ｓ８０７）。これは、具体的には、例えば、図６（ａ）および（ｂ）、あるいは、図７（ａ）および（ｂ）に図示した１１／６（月）、１１／７（火）の実働２日間に対する作業予定時間と作業実績時間の表示内容に相当する。これにより、ユーザは、作業予定時間と作業実績時間の関係を比較して確認することができる。
【００８６】
ここで、ＤＢ管理部３１は、クライアント端末１０における操作部１４の操作入力として、図６および図７を参照して説明した作業計画の生成を要求されたか否かを判断する（Ｓ８０８）。すなわち、ＤＢ管理部３１は、作業計画の生成要求を検出したかどうかを判断する。ＤＢ管理部３１は、生成を要求されたと判断すると（Ｓ８０８でＹＥＳ）、処理をＳ８０９に移行し、生成を要求されていないと判断すると（Ｓ８０８でＮＯ）、処理をＳ８０１に返し、Ｓ８０１〜Ｓ８０７の処理を再び行う。
【００８７】
次に、ＤＢ管理部３１は、クライアント端末１０を操作するユーザの作業計画を生成する（Ｓ８０９）。なお、Ｓ８０９の作業計画生成処理の詳細については、図９を参照して後述する。
【００８８】
次に、ＤＢ管理部３１は、図６（ａ）および（ｂ）、あるいは、図７（ａ）および（ｂ）で説明したように、Ｓ８０８の生成要求指示を受け付けた時点における変更前後の作業予定時間の関係を比較可能な形式で表示する（Ｓ８１０）。これは、具体的には、例えば、図６（ａ）および（ｂ）、あるいは、図７（ａ）および（ｂ）で図示した１１／８（水）、１１／９（木）、１１／１０（金）の実働３日間に対する変更前後の作業予定時間の表示内容に相当する。これにより、ユーザは、変更前後の作業予定時間の関係を比較して確認することができる。
【００８９】
次に、ＤＢ管理部３１は、Ｓ８０９の作業計画生成で得られた変更後の作業予定時間に関し、クライアント端末１０の操作部１４の操作入力による編集入力を受信したか否かを検知する（Ｓ８１１）。ＤＢ管理部３１は、編集入力を受信したことを検知すると（Ｓ８１１でＹＥＳ）、処理をＳ８１２に移行し、編集入力を受信せずに表示を終了したことを検知すると（Ｓ８１１でＮＯ）、処理をＳ８１３に移行する。処理をＳ８１２に移行すると、ＤＢ管理部３１は、編集入力に対応するデータを変更した上で、処理をＳ８０９に返して、Ｓ８０９〜Ｓ８１１の処理を再び行う。ここで、ユーザによって編集入力された作業計画の変更を指示するためのデータは、タスク進捗ＤＢ３４に保存されるものであって、例えば、図４（ｂ）および図５（ｂ）を用いて説明したデータが更新されて格納される。一方で、処理をＳ８１３に移行すると、ＤＢ管理部３１は、Ｓ８１０で表示した変更後の作業計画がユーザによって確認されたものと判断し、作業計画を更新して保存し、本フローを終了する。
【００９０】
図９は、サーバ装置３０のＤＢ管理部３１による作業計画生成処理の手順例を示すフローチャートである。
【００９１】
まず、ＤＢ管理部３１は、スケジュールＤＢ３２に記憶されたデータを参照し、表示要求の指示で指定された要求時点以降における作業可能時間を取得する（Ｓ９０１）。すなわち、ＤＢ管理部３１は、生成する作業計画の開始日以降における作業可能時間を取得する。
【００９２】
次に、ＤＢ管理部３１は、プロジェクトＤＢ３３およびタスク進捗ＤＢ３４に記憶されたデータを参照し、表示要求の指示で指定された要求時点以降の作業予定時間を導出する（Ｓ９０２）。すなわち、ＤＢ管理部３１は、生成する作業計画の開始日以降における作業予定時間を導出する。なお、具体的な作業予定時間の導出方法については、図６および図７を用いて前述した通りであるため、ここでの説明を省略する。
【００９３】
次に、ＤＢ管理部３１は、プロジェクトＤＢ３３に登録された各タスクについて、期限３０２に収まる範囲内で、スケジュールＤＢ３２に登録された作業可能時間があるか否かを検索する（判断する）（Ｓ９０３）。ＤＢ管理部３１は、期限までに、作業可能時間があると判断すると（Ｓ９０３でＹＥＳ）、処理をＳ９０４に移行し、期限までに、作業可能時間がないと判断すると（Ｓ９０３でＮＯ）、処理をＳ９０５に移行する。
【００９４】
Ｓ９０４に移行すると、ＤＢ管理部３１は、作業可能時間を加算する。ここで、作業可能時間は、例えば、タスクおよびタスクを構成するサブタスク単位で可能な限り分割されずに確保するように制御（設定）しても良い。また、タスク毎に優先順位や作業分割の可否などの予め定めたルールに従って確保するように制御（設定）しても良い。
【００９５】
Ｓ９０５に移行すると、ＤＢ管理部３１は、対象とするタスクに関し、当該タスクの期限までに十分な作業可能時間を確保できない旨を示すエラー通知画面をクライアント端末１０の表示部１５に表示させる。Ｓ９０５のエラー通知によって、スケジュールＤＢ３２の期限を延期するための変更や、プロジェクトＤＢ３３のタスクを他のユーザに割り当てたり削除したりするための変更をユーザに対して促すことが可能となる。なお、Ｓ９０５の通知に伴い、Ｓ８０１〜Ｓ８０３のいずれかのデータが更新された上で、ユーザによる作業計画の作成及び表示を再び指示された場合には、ＤＢ管理部３１は、図８および図９のフローチャートに従い、作業計画を生成及び表示できる。
【００９６】
次に、ＤＢ管理部３１は、Ｓ９０４で確保した作業可能時間を加算した導出結果が、対象とするタスクの作業予定時間を満たすか否かを判断する（Ｓ９０６）。すなわち、ＤＢ管理部３１は、Ｓ９０４の処理で得られた導出結果である作業可能時間の合計が、対象とするタスクの作業予定時間以上であるか否かを判断する。ＤＢ管理部３１は、導出結果が作業予定時間を満たす、すなわち、作業可能時間の合計が対象とするタスクの作業予定時間以上であると判断すると（Ｓ９０６でＹＥＳ）、処理をＳ９０７に移行する。ＤＢ管理部３１は、導出結果が作業予定時間を満たさない、すなわち、作業可能時間の合計が対象とするタスクの作業予定時間未満であると判断すると（Ｓ９０６でＮＯ）、処理をＳ９０３に返してＳ９０３〜Ｓ９０４の処理を再び行う。
【００９７】
次に、ＤＢ管理部３１は、Ｓ９０６で作業予定時間を満たした作業可能時間の導出結果を作業計画の候補として追加する（Ｓ９０７）。
【００９８】
最後に、ＤＢ管理部３１は、後述の所定の条件（最良と推定した候補の生成、生成した候補の数量）によって作業計画の他の候補を検索するか否かを判断する（Ｓ９０８）。ＤＢ管理部３１は、他の候補を検索すると判断すると（Ｓ９０８でＹＥＳ）、処理をＳ９０３に返してＳ９０３〜Ｓ９０７の処理を再び行い、他の候補を検索しないと判断すると（Ｓ９０８でＮＯ）、本フローを終了する。
【００９９】
ここで、Ｓ９０８において、判断に用いている作業計画の候補数は、例えば、最良と推定される単一の候補を生成した時点で終了するように予め設定しても良いし、制約の範囲内で選択可能な複数の候補を生成した後に終了するように予め設定しても良い。選択可能な単一あるいは複数の候補を生成した場合のいずれであっても、Ｓ８１０〜Ｓ８１２でユーザへの表示及びユーザによる複数の候補からいずれかの選択肢を選択する操作を含む編集が完了した作業計画を特定し、Ｓ８１３にて保存する。
【０１００】
以上述べたように、本実施形態によれば、作業実績時間に基づく作業の進捗状況を考慮して（反映して）作業予定時間を更新した作業計画を生成及び表示できる。すなわち、本実施形態によれば、現状の作業計画で管理されたタスク毎に、作業の途中段階までの作業予定時間に対する作業実績時間の比較結果を元に、作業の進捗状況を考慮した作業計画を生成及び表示できる。
【０１０１】
［実施形態２］
＜業務管理システムの構成＞
実施形態１の業務管理システムは、クライアント端末に組み込まれた検出部によって作業管理対象であるユーザの行動ログを収集する構成となっている。これに対して、本実施形態の業務管理システムは、クライアント端末と検出部を独立させて組み合わせた構成とする。
【０１０２】
図１０は、本実施形態の業務管理システム１００の全体構成例を示す図である。業務管理システム１００は、図１０に示すように、クライアント端末４０とモニタリング装置５０とサーバ装置３０とから構成され、これらはネットワーク２０を介して相互に通信可能に接続される。なお、クライアント端末４０、モニタリング装置５０およびサーバ装置３０はそれぞれ、単一接続された構成に限定されるものではなく、複数接続された構成であっても良い。
【０１０３】
クライアント端末４０は、本実施形態の業務管理対象であるユーザの作業に伴う一連の操作入力を行うための機器であって、ユーザの作業状況を示すデータを収集してサーバ装置３０へ送信したり、ユーザの要求に応じて作業計画を表示したりする。
【０１０４】
モニタリング装置５０は、本実施形態の業務管理対象であるユーザの作業に伴う一連の行動ログを映像や音声などのデータとして収集するための装置である。特に、モニタリング装置５０は、クライアント端末４０で収集できない映像や音声をユーザの作業状況を示すデータとして収集した上で、データ量圧縮や特徴量抽出のための前処理を実行したり、前処理の結果として得たデータをサーバ装置３０へ送信したりする。
【０１０５】
サーバ装置３０は、作業計画のデータベースを管理するための装置であって、クライアント端末４０及びモニタリング装置５０から送信されたユーザの作業状況を示すデータを分析することでプロジェクトの作業項目（タスク）を特定し作業実績として記憶する。
【０１０６】
ネットワーク２０は、クライアント端末４０とモニタリング装置５０とサーバ装置３０の間を互いに接続するための機器であって、ユーザの作業状況や作業計画に関わるデータを送受信する。
【０１０７】
＜クライアント端末の構成＞
クライアント端末４０は、例えば、一般的なパーソナルコンピュータ（ＰＣ）等で実現される機器である。クライアント端末４０は、例えば、通信部４１、制御部４２、記憶部４３、操作部４４、表示部４５を有する。ここで、図１０に示す各機能部４１〜４５はそれぞれ、図１に示す機能部１１〜１５と同様の構成であるため、その説明を省略する。
【０１０８】
＜モニタリング装置の構成＞
モニタリング装置５０は、カメラ、マイク等を含むデバイスで実現されるものである。ここで、モニタリング装置５０は、例えば、単一のユーザが作業を行う空間に設置され、作業管理対象であるユーザの作業状況を示すデータのうち、クライアント端末４０で収集できない映像や音声のデータを収集して補完するものであっても良い。あるいは、モニタリング装置５０は、例えば、複数のユーザが作業を行う空間に設置され、作業管理対象であるユーザ固有の顔画像や発話音声などの検出したデータに基づいてユーザを特定した上で、映像や音声のデータを収集して補完するものであっても良い。
【０１０９】
モニタリング装置５０は、通信部５１、制御部５２、記憶部５３、検出部５６を有する。
【０１１０】
通信部５１は、ＬＡＮ等で実現されるものであって、ネットワーク２０を介してサーバ装置３０との間でデータを送受信するためのインタフェース部である。特に、本実施形態の通信部５１は、ユーザの作業状況を示すデータとして検出部５６で収集した行動ログをサーバ装置３０に対して送信するための機能を有する。
【０１１１】
制御部５２は、ＣＰＵ（Central Processing Unit）等で実現されるものであって、記憶部５３に格納されたプログラムに従い、モニタリング装置５０の内部で扱うデータを処理するための処理部である。特に、本実施形態の制御部５２は、検出部５６から得られるユーザの作業状況を示すデータに対して、データ量圧縮や特徴量抽出のための前処理を実行したり、サーバ装置３０へ送信したりするように制御するための機能を有する。
【０１１２】
記憶部５３は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）等で実現されるものである。記憶部５３は、制御部５２がモニタリング装置５０の内部で扱うデータおよびプログラムを格納するための処理部である。なお、本実施形態の記憶部５３は、例えば、検出部５６から得られるユーザの作業状況を表すデータ、あるいは、当該データに対してデータ量圧縮の特徴量抽出のための前処理の結果として得られたデータを一時記憶する構成であっても良い。
【０１１３】
検出部５６は、カメラ、マイク等で実現されるものであって、ユーザの作業に伴って検出された、操作部４４による操作行動、表示部４５に対する注視行動、図示しない他のユーザとの会話行動などの行動ログをデータとして収集するための処理部である。
【０１１４】
＜サーバ装置の構成＞
サーバ装置３０は、データベース（ＤＢ）を管理するための制御部及び大容量記憶部で実現される装置である。図１０のサーバ装置３０の内部構成は、図１と同様のため、その説明を省略する。なお、実施形態１で図２〜図９を用いて説明したサーバ装置３０の内部構成及び処理フローは、本実施形態でも共通であるため、説明を省略する。
【０１１５】
以上述べたように、本実施形態によれば、クライアント端末４０と独立したモニタリング装置５０の構成をとることで、映像や音声のデータを収集可能な検出部を備えないクライアント端末４０を使用するユーザの行動ログを収集分析するシステムを提供できる。また、本実施形態によれば、クライアント端末４０と独立したモニタリング装置５０の構成をとることで、クライアント端末４０とモニタリング装置５０のそれぞれの台数をユーザの人数や作業内容に応じて最適化して配置したシステムを提供できる。
【０１１６】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１７】
１０  クライアント端末
２０  ネットワーク
３０  サーバ装置
３１  ＤＢ管理部
３２  スケジュールＤＢ
３３  プロジェクトＤＢ
３４  タスク進捗ＤＢ
１００  業務管理システム
【図１】
2020064547.tif 000003
【図２】
2020064547.tif 000004
【図３】
2020064547.tif 000005
【図４】
2020064547.tif 000006
【図５】
2020064547.tif 000007
【図６】
2020064547.tif 000008
【図７】
2020064547.tif 000009
【図８】
2020064547.tif 000010
【図９】
2020064547.tif 000011
【図１０】
2020064547.tif 000012