(57)【特許請求の範囲】
【請求項１】
プロジェクトの各工程の作業によって生成される成果物または前記工程の作業を実施する際に参照される参照物を含む管理対象物を示す情報を含むプロジェクト情報を、予め登録しておくプロジェクト情報管理データベースと、
前記プロジェクトの各工程の作業を行う作業用端末から取得された、操作日時、作業者が操作した操作対象物、および前記操作対象物に対して前記作業者が行った操作名を示す情報を含む操作履歴情報を格納する操作履歴情報データベースと、
前記プロジェクトの各工程における前記管理対象物を判別するための条件が予め定められた管理対象物判定基準と、前記操作対象物に対する操作内容に応じた操作種別を判定するための条件が予め定められた操作種別判定基準と、前記プロジェクトの各工程における前記作業種別に対応した作業の実施を判定するための条件が予め定められた作業実施判定基準とに基づいて、前記プロジェクトの各工程における工数を算出する工数算出部と、
を備え、
前記工数算出部は、
前記管理対象物判定基準に基づいて、前記操作履歴情報に含まれる前記操作対象物が、前記プロジェクトのいずれかの前記工程の前記管理対象物に相当するかを判別することによって、前記操作履歴情報が前記プロジェクトに対応したプロジェクト操作履歴情報であるか否かを判定し、
前記操作種別判定基準に基づいて、前記プロジェクト操作履歴情報に含まれる前記操作内容の操作種別を判定し、
前記プロジェクト操作履歴情報に含まれる前記操作対象物に相当する前記管理対象物が含まれる前記プロジェクト内の工程を、作業実施候補工程として特定することによって、該作業実施候補工程における作業種別を特定し、
前記作業実施判定基準に基づいて、前記プロジェクト操作履歴情報の前記操作種別が、前記作業実施候補工程における前記作業種別に対応した作業の実施の条件に合致するか否かを判定することによって、前記プロジェクト操作履歴情報に含まれる前記操作内容が、前記作業実施候補工程の作業を実施したか否かを判定し、
前記作業実施候補工程の作業を実施したと判定された前記プロジェクト操作履歴情報を工数算出操作履歴情報として、前記プロジェクトの各工程における前記工数の算出に使用する、
ことを特徴とする作業工数算出装置。
【請求項２】
前記操作履歴情報には、前記作業者の情報を含み、
前記工数算出部は、
前記工数算出操作履歴情報に含まれる前記操作日時が連続し、さらに前記工数算出操作履歴情報に含まれる前記作業者の情報、前記操作対象物、およびアプリケーション利用種別が同一である前記工数算出操作履歴情報に基づいて、操作単位の工数を算出し、
算出した前記操作単位の工数において同一の日の前記操作単位の工数に基づいて、日別操作単位の工数を算出し、
算出した前記日別操作単位の工数において、前記作業者の情報および対応する前記プロジェクトにおける前記管理対象物が同一である前記日別操作単位の工数に基づいて、管理対象物別作業単位の工数を算出し、さらに、前記操作種別判定基準に基づいて、算出した前記管理対象物別作業単位の工数の操作種別を判定し、該判定した操作種別を、算出した前記管理対象物別作業単位に付加し、
操作種別を付加した前記管理対象物別作業単位の工数において、前記作業者の情報および対応する前記プロジェクトにおける前記工程が同一である前記管理対象物別作業単位の工数に基づいて、工程別作業単位の工数を算出し、
算出した前記工程別作業単位の工数において、前記プロジェクトが同一である前記工程別作業単位の工数を合算することによって、前記プロジェクトの各工程における前記工数を算出する、
ことを特徴とする請求項１に記載の作業工数算出装置。
【請求項３】
前記工数算出部によって算出された前記プロジェクトの各工程における前記工数の算出結果に基づいて、前記プロジェクトの各工程と、前記作業者と、前記工数の算出結果に含まれる作業実施期間との内、いずれか２つの項目を対応付けた表示画面を生成し、該生成した表示画面を前記プロジェクトの管理を行う管理用端末に出力する表示画面生成部、
をさらに備える、
ことを特徴とする請求項１または請求項２に記載の作業工数算出装置。
【請求項４】
前記プロジェクト情報には、前記プロジェクトの各工程を実施する計画期間の情報を含み、
前記表示画面生成部は、
前記プロジェクト情報に含まれる前記計画期間と、前記作業実施期間とに基づいて、前記プロジェクトの各工程の進捗を表す情報を含んだ前記表示画面を生成する、
ことを特徴とする請求項３に記載の作業工数算出装置。
【請求項５】
プロジェクト情報管理データベースに、プロジェクトの各工程の作業によって生成される成果物または前記工程の作業を実施する際に参照される参照物を含む管理対象物を示す情報を含むプロジェクト情報を、予め登録しておくステップと、
操作履歴情報データベースに、前記プロジェクトの各工程の作業を行う作業用端末から取得された、操作日時、作業者が操作した操作対象物、および前記操作対象物に対して前記作業者が行った操作名を示す情報を含む操作履歴情報を格納するステップと、
前記プロジェクトの各工程における前記管理対象物を判別するための条件が予め定められた管理対象物判定基準と、前記操作対象物に対する操作内容に応じた操作種別を判定するための条件が予め定められた操作種別判定基準と、前記プロジェクトの各工程における前記作業種別に対応した作業の実施を判定するための条件が予め定められた作業実施判定基準とに基づいて、前記プロジェクトの各工程における工数を算出する工数算出ステップと、
を含み、
前記工数算出ステップにおいて、
前記管理対象物判定基準に基づいて、前記操作履歴情報に含まれる前記操作対象物が、前記プロジェクトのいずれかの前記工程の前記管理対象物に相当するかを判別することによって、前記操作履歴情報が前記プロジェクトに対応したプロジェクト操作履歴情報であるか否かを判定し、
前記操作種別判定基準に基づいて、前記プロジェクト操作履歴情報に含まれる前記操作内容の操作種別を判定し、
前記プロジェクト操作履歴情報に含まれる前記操作対象物に相当する前記管理対象物が含まれる前記プロジェクト内の工程を、作業実施候補工程として特定することによって、該作業実施候補工程における作業種別を特定し、
前記作業実施判定基準に基づいて、前記プロジェクト操作履歴情報の前記操作種別が、前記作業実施候補工程における前記作業種別に対応した作業の実施の条件に合致するか否かを判定することによって、前記プロジェクト操作履歴情報に含まれる前記操作内容が、前記作業実施候補工程の作業を実施したか否かを判定し、
前記作業実施候補工程の作業を実施したと判定された前記プロジェクト操作履歴情報を工数算出操作履歴情報として、前記プロジェクトの各工程における前記工数の算出に使用する、
ことを特徴とする作業工数算出方法。
【請求項６】
プロジェクト情報管理データベースに、プロジェクトの各工程の作業によって生成される成果物または前記工程の作業を実施する際に参照される参照物を含む管理対象物を示す情報を含むプロジェクト情報を、予め登録しておくステップと、
操作履歴情報データベースに、前記プロジェクトの各工程の作業を行う作業用端末から取得された、操作日時、作業者が操作した操作対象物、および前記操作対象物に対して前記作業者が行った操作名を示す情報を含む操作履歴情報を格納するステップと、
前記プロジェクトの各工程における前記管理対象物を判別するための条件が予め定められた管理対象物判定基準と、前記操作対象物に対する操作内容に応じた操作種別を判定するための条件が予め定められた操作種別判定基準と、前記プロジェクトの各工程における前記作業種別に対応した作業の実施を判定するための条件が予め定められた作業実施判定基準とに基づいて、前記プロジェクトの各工程における工数を算出する工数算出ステップと、
を含み、
前記工数算出ステップにおいて、
前記管理対象物判定基準に基づいて、前記操作履歴情報に含まれる前記操作対象物が、前記プロジェクトのいずれかの前記工程の前記管理対象物に相当するかを判別することによって、前記操作履歴情報が前記プロジェクトに対応したプロジェクト操作履歴情報であるか否かを判定し、
前記操作種別判定基準に基づいて、前記プロジェクト操作履歴情報に含まれる前記操作内容の操作種別を判定し、
前記プロジェクト操作履歴情報に含まれる前記操作対象物に相当する前記管理対象物が含まれる前記プロジェクト内の工程を、作業実施候補工程として特定することによって、該作業実施候補工程における作業種別を特定し、
前記作業実施判定基準に基づいて、前記プロジェクト操作履歴情報の前記操作種別が、前記作業実施候補工程における前記作業種別に対応した作業の実施の条件に合致するか否かを判定することによって、前記プロジェクト操作履歴情報に含まれる前記操作内容が、前記作業実施候補工程の作業を実施したか否かを判定し、
前記作業実施候補工程の作業を実施したと判定された前記プロジェクト操作履歴情報を工数算出操作履歴情報として、前記プロジェクトの各工程における前記工数の算出に使用する処理、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業工数算出装置、作業工数算出方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、ソフトウェアの開発においては、開発費用の低減や開発納期の短縮のために、的確に開発プロジェクトの管理を行うことが重要となってきている。従来のソフトウェアの開発プロジェクトの管理では、開発工数の見積もりや進捗の管理を行うため、ＷＢＳ（Ｗｏｒｋ  Ｂｒｅａｋｄｏｗｎ  Ｓｔｒｕｃｔｕｒｅ）を用いた手法が広く用いられている。しかし、開発プロジェクトの作業者から提出される作業報告に間違いなどがあれば、プロジェクトの管理者であるプロジェクトマネージャが正しく進捗管理をすることができない。
【０００３】
このため、プロジェクトマネージャが開発プロジェクトの状況を正しく客観的に把握することを目的として、特許文献１で開示されたような、作業者の稼働時間や作業毎の工数を計測する技術や、非特許文献１のような、作業者の稼働時間を計測する仕組みを備えた製品が提案されている。
【０００４】
特許文献１は、各作業用端末の稼働時間やファイルの更新時間に基づいて、作業内容や作業時間を把握する技術である。また、非特許文献１の製品では、作業者であるユーザが作業用端末であるパーソナルコンピュータ（以下、「ＰＣ」という）にログオンした時間、およびＰＣからログオフした時間を自動的に検知することによって、ユーザ毎の作業時間を記録している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−１３８８２３号公報
【非特許文献】
【０００６】
【非特許文献１】“サイボウズガルーン  基本機能（タイムカード）”，サイボウズ株式会社，［平成２３年６月２９日検索］，インターネット，＜ｈｔｔｐ：／／ｇ．ｃｙｂｏｚｕ．ｃｏ．ｊｐ／ｇｒ／ｓｅｉｈｉｎ／ｋｉｈｏｎ／ｔｉｍｅ＿ｃａｒｄ／＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ソフトウェアの開発においては、作業用端末の稼働時間と作業者の実際の稼働時間とは異なっていることが一般的である。特許文献１に開示されている技術では、作業用端末の稼働時間やファイルの更新時間から作業時間を把握することができるが、開発作業を行った作業者を特定することができない。また、作業用端末が人手を介さずに自動で処理を実行した時間も作業時間に含まれてしまう。このため、特許文献１に開示されている技術では、作業者が実際に手を下した時間である工数を把握することは困難である。
【０００８】
また、非特許文献１の製品では、ＰＣのログオンおよびログオフ時間を計測しているため、作業者毎にＰＣを稼働している時間を把握することができるが、具体的に作業者が開発作業を行っている時間を把握するまでには至っていない。
【０００９】
このように、作業用端末の稼働時間やファイルの更新時間からでは、作業者の実際の作業工数を正確に把握することができないという問題がある。
【００１０】
本発明は、上記の課題認識に基づいてなされたものであり、開発プロジェクトにおいて、作業者が実際に手を下した作業工数をより正確に把握する作業工数算出装置、作業工数算出方法、およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
上記の課題を解決するため、本発明の作業工数算出装置は、プロジェクトの各工程の作業によって生成される成果物または前記工程の作業を実施する際に参照される参照物を含む管理対象物を示す情報を含むプロジェクト情報を、予め登録しておくプロジェクト情報管理データベースと、前記プロジェクトの各工程の作業を行う作業用端末から取得された、操作日時、作業者が操作した操作対象物、および前記操作対象物に対して前記作業者が行った操作名を示す情報を含む操作履歴情報を格納する操作履歴情報データベースと、前記プロジェクトの各工程における前記管理対象物を判別するための条件が予め定められた管理対象物判定基準と、前記操作対象物に対する操作内容に応じた操作種別（例えば、編集、閲覧など）を判定するための条件が予め定められた操作種別判定基準と、前記プロジェクトの各工程における前記作業種別に対応した作業の実施を判定するための条件が予め定められた作業実施判定基準とに基づいて、前記プロジェクトの各工程における工数を算出する工数算出部と、を備え、前記工数算出部は、前記管理対象物判定基準に基づいて、前記操作履歴情報に含まれる前記操作対象物が、前記プロジェクトのいずれかの前記工程の前記管理対象物に相当するかを判別することによって、前記操作履歴情報が前記プロジェクトに対応したプロジェクト操作履歴情報であるか否かを判定し、前記操作種別判定基準に基づいて、前記プロジェクト操作履歴情報に含まれる前記操作内容の操作種別を判定し、前記プロジェクト操作履歴情報に含まれる前記操作対象物に相当する前記管理対象物が含まれる前記プロジェクト内の工程を、作業実施候補工程として特定することによって、該作業実施候補工程における作業種別を特定し、前記作業実施判定基準に基づいて、前記プロジェクト操作履歴情報の前記操作種別が、前記作業実施候補工程における前記作業種別に対応した作業の実施の条件に合致するか否かを判定することによって、前記プロジェクト操作履歴情報に含まれる前記操作内容が、前記作業実施候補工程の作業を実施したか否かを判定し、前記作業実施候補工程の作業を実施したと判定された前記プロジェクト操作履歴情報を工数算出操作履歴情報として、前記プロジェクトの各工程における前記工数の算出に使用する、ことを特徴とする。
【００１３】
また、本発明の作業工数算出装置における前記操作履歴情報には、前記作業者の情報を含み、前記工数算出部は、前記工数算出操作履歴情報に含まれる前記操作日時が連続し、さらに前記工数算出操作履歴情報に含まれる前記作業者の情報、前記操作対象物、およびアプリケーション利用種別（例えば、図１４（ａ）に記載の、文書作成アプリケーションによるファイル操作）が同一である前記工数算出操作履歴情報に基づいて、操作単位の工数を算出し、算出した前記操作単位の工数において同一の日の前記操作単位の工数に基づいて、日別操作単位の工数を算出し、算出した前記日別操作単位の工数において、前記作業者の情報および対応する前記プロジェクトにおける前記管理対象物が同一である前記日別操作単位の工数に基づいて、管理対象物別作業単位の工数を算出し、さらに、前記操作種別判定基準に基づいて、算出した前記管理対象物別作業単位の工数の操作種別を判定し、該判定した操作種別を、算出した前記管理対象物別作業単位に付加し、操作種別を付加した前記管理対象物別作業単位の工数において、前記作業者の情報および対応する前記プロジェクトにおける前記工程が同一である前記管理対象物別作業単位の工数に基づいて、工程別作業単位の工数を算出し、算出した前記工程別作業単位の工数において、前記プロジェクトが同一である前記工程別作業単位の工数を合算することによって、前記プロジェクトの各工程における前記工数を算出する、ことを特徴とする。
【００１４】
また、本発明の作業工数算出装置は、前記工数算出部によって算出された前記プロジェクトの各工程における前記工数の算出結果に基づいて、前記プロジェクトの各工程と、前記作業者と、前記工数の算出結果に含まれる作業実施期間との内、いずれか２つの項目を対応付けた表示画面を生成し、該生成した表示画面を前記プロジェクトの管理を行う管理用端末に出力する表示画面生成部、をさらに備える、ことを特徴とする。
【００１５】
また、本発明の作業工数算出装置における前記プロジェクト情報には、前記プロジェクトの各工程を実施する計画期間の情報を含み、前記表示画面生成部は、前記プロジェクト情報に含まれる前記計画期間と、前記作業実施期間とに基づいて、前記プロジェクトの各工程の進捗を表す情報を含んだ前記表示画面を生成する、ことを特徴とする。
【００１６】
また、本発明の作業工数算出方法は、プロジェクト情報管理データベースに、プロジェクトの各工程の作業によって生成される成果物または前記工程の作業を実施する際に参照される参照物を含む管理対象物を示す情報を含むプロジェクト情報を、予め登録しておくステップと、操作履歴情報データベースに、前記プロジェクトの各工程の作業を行う作業用端末から取得された、操作日時、作業者が操作した操作対象物、および前記操作対象物に対して前記作業者が行った操作名を示す情報を含む操作履歴情報を格納するステップと、前記プロジェクトの各工程における前記管理対象物を判別するための条件が予め定められた管理対象物判定基準と、前記操作対象物に対する操作内容に応じた操作種別を判定するための条件が予め定められた操作種別判定基準と、前記プロジェクトの各工程における前記作業種別に対応した作業の実施を判定するための条件が予め定められた作業実施判定基準とに基づいて、前記プロジェクトの各工程における工数を算出する工数算出ステップと、を含み、前記工数算出ステップにおいて、前記管理対象物判定基準に基づいて、前記操作履歴情報に含まれる前記操作対象物が、前記プロジェクトのいずれかの前記工程の前記管理対象物に相当するかを判別することによって、前記操作履歴情報が前記プロジェクトに対応したプロジェクト操作履歴情報であるか否かを判定し、前記操作種別判定基準に基づいて、前記プロジェクト操作履歴情報に含まれる前記操作内容の操作種別を判定し、前記プロジェクト操作履歴情報に含まれる前記操作対象物に相当する前記管理対象物が含まれる前記プロジェクト内の工程を、作業実施候補工程として特定することによって、該作業実施候補工程における作業種別を特定し、前記作業実施判定基準に基づいて、前記プロジェクト操作履歴情報の前記操作種別が、前記作業実施候補工程における前記作業種別に対応した作業の実施の条件に合致するか否かを判定することによって、前記プロジェクト操作履歴情報に含まれる前記操作内容が、前記作業実施候補工程の作業を実施したか否かを判定し、前記作業実施候補工程の作業を実施したと判定された前記プロジェクト操作履歴情報を工数算出操作履歴情報として、前記プロジェクトの各工程における前記工数の算出に使用する、ことを特徴とする。
【００１７】
また、本発明のプログラムは、プロジェクト情報管理データベースに、プロジェクトの各工程の作業によって生成される成果物または前記工程の作業を実施する際に参照される参照物を含む管理対象物を示す情報を含むプロジェクト情報を、予め登録しておくステップと、操作履歴情報データベースに、前記プロジェクトの各工程の作業を行う作業用端末から取得された、操作日時、作業者が操作した操作対象物、および前記操作対象物に対して前記作業者が行った操作名を示す情報を含む操作履歴情報を格納するステップと、前記プロジェクトの各工程における前記管理対象物を判別するための条件が予め定められた管理対象物判定基準と、前記操作対象物に対する操作内容に応じた操作種別を判定するための条件が予め定められた操作種別判定基準と、前記プロジェクトの各工程における前記作業種別に対応した作業の実施を判定するための条件が予め定められた作業実施判定基準とに基づいて、前記プロジェクトの各工程における工数を算出する工数算出ステップと、を含み、前記工数算出ステップにおいて、前記管理対象物判定基準に基づいて、前記操作履歴情報に含まれる前記操作対象物が、前記プロジェクトのいずれかの前記工程の前記管理対象物に相当するかを判別することによって、前記操作履歴情報が前記プロジェクトに対応したプロジェクト操作履歴情報であるか否かを判定し、前記操作種別判定基準に基づいて、前記プロジェクト操作履歴情報に含まれる前記操作内容の操作種別を判定し、前記プロジェクト操作履歴情報に含まれる前記操作対象物に相当する前記管理対象物が含まれる前記プロジェクト内の工程を、作業実施候補工程として特定することによって、該作業実施候補工程における作業種別を特定し、前記作業実施判定基準に基づいて、前記プロジェクト操作履歴情報の前記操作種別が、前記作業実施候補工程における前記作業種別に対応した作業の実施の条件に合致するか否かを判定することによって、前記プロジェクト操作履歴情報に含まれる前記操作内容が、前記作業実施候補工程の作業を実施したか否かを判定し、前記作業実施候補工程の作業を実施したと判定された前記プロジェクト操作履歴情報を工数算出操作履歴情報として、前記プロジェクトの各工程における前記工数の算出に使用する処理、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、開発プロジェクトにおいて、作業者が実際に手を下した作業工数をより正確に把握することができるという効果が得られる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態における作業工数算出システムの概略構成を示したブロック図である。
【図２】本実施形態の作業工数算出システムにおける機能ブロックの概略構成を示したブロック図である。
【図３】本実施形態の作業工数算出システムにおいて取得する対象の情報の一例を示した図である。
【図４】本実施形態の作業工数算出システムにおけるプロジェクト情報の登録処理の流れを示したシーケンス図である。
【図５】本実施形態の作業工数算出システムにおいて情報管理ＤＢに格納するプロジェクト情報のデータ構成の一例を示した図である。
【図６】本実施形態の作業工数算出システムにおける操作履歴情報の収集処理の流れを示したシーケンス図である。
【図７】本実施形態の作業工数算出システムにおいて情報管理ＤＢに格納する操作履歴情報のデータ構成の一例を示した図である。
【図８】本実施形態の作業工数算出システムにおける工数の算出処理の流れを示したシーケンス図である。
【図９】本実施形態の作業工数算出システムにおける工数算出処理のアルゴリズムの概要を示した図である。
【図１０】本実施形態の作業工数算出システムにおいて工数算出処理を行う際に用いられる情報の一例を示した図である。
【図１１】本実施形態の作業工数算出システムにおいて工数算出処理アルゴリズムを実施した場合の一例を説明する図である。
【図１２】本実施形態の作業工数算出システムにおいて工数算出処理アルゴリズムを実施した場合の別の一例を説明する図である。
【図１３】本実施形態の作業工数算出システムにおける工数の算出処理の処理手順を示したフローチャートである。
【図１４】本実施形態の作業工数算出システムにおいて工数算出処理を行う際に用いられる情報または工数算出処理によって得られる結果の情報の一例を示した図である。
【図１５】本実施形態の作業工数算出システムにおける工数の算出結果の表示処理の流れを示したシーケンス図である。
【図１６】本実施形態の作業工数算出システムにおける工数の算出結果の表示形式（以下、「表示種別」という）の一例を模式的に示した図である。
【図１７】本実施形態の作業工数算出システムにおける工数の算出結果の表示種別の別の一例を模式的に示した図である。
【図１８】本実施形態の作業工数算出システムにおける工数の算出結果の表示種別のさらに別の一例を模式的に示した図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について、図面を参照して説明する。図１は、本実施形態における作業工数算出システムの概略構成を示したブロック図である。図１において、作業工数算出システム１０は、操作履歴収集装置１００と、操作履歴管理装置２００と、情報管理データベース（以下、「情報管理ＤＢ」という）３００と、工数算出装置４００と、プロジェクト情報管理装置５００とを備えている。図１に示した作業工数算出システム１０では、各装置および情報管理ＤＢ３００が、ネットワークを介して接続されている。また、作業工数算出システム１０には、プロジェクトの管理者であるプロジェクトマネージャが使用するＷｅｂブラウザ２０が、ネットワークを介して接続されている。
【００２１】
操作履歴収集装置１００は、作業者であるユーザの操作履歴を収集する装置である。この操作履歴収集装置１００は、例えば、作業者が開発作業を行うときに使用するＰＣなどの作業用端末である。操作履歴収集装置１００には、作業者による操作を検知するエージェントソフトウェアが常駐しており、エージェントソフトウェアが検知した作業者の操作履歴の情報（以下、「操作履歴情報」という）を、操作履歴管理装置２００に送信する。
【００２２】
なお、操作履歴収集装置１００が収集した操作履歴情報を操作履歴管理装置２００に送信する契機は、操作履歴収集装置１００が常時ネットワークに接続されているか否かによって異なる。例えば、操作履歴収集装置１００が常時ネットワークに接続されている場合には、作業者によって操作される毎の任意の契機や、一定間隔（例えば、１分間隔）の契機で、収集した操作履歴情報を操作履歴管理装置２００に送信する。また、例えば、操作履歴収集装置１００が常時ネットワークに接続されておらず、不定期にネットワークに接続される場合には、操作履歴収集装置１００がネットワークに接続されたときを契機として、収集した操作履歴情報を操作履歴管理装置２００に送信する。
【００２３】
また、操作履歴収集装置１００が、作業者が開発作業に使用する作業用端末である場合、図１には図示していないが、作業工数算出システム１０は、複数の操作履歴収集装置１００を備えていると考えられる。この場合、複数の操作履歴収集装置１００のそれぞれは、検知した操作履歴情報をそれぞれ操作履歴管理装置２００に送信する。
【００２４】
操作履歴管理装置２００は、操作履歴収集装置１００からネットワークを介して送信されてきた操作履歴情報を受信し、受信した操作履歴情報を、情報管理ＤＢ３００に格納（蓄積）させる装置である。なお、操作履歴管理装置２００は、常時ないしは不定期にネットワークに接続され、ネットワークに接続されたときに、受信した操作履歴情報を、ネットワークを介して情報管理ＤＢ３００に格納させる。
【００２５】
情報管理ＤＢ３００は、操作履歴管理装置２００から送信されてきた操作履歴情報、後述する工数算出装置４００によって算出された工数の情報、後述するプロジェクト情報管理装置５００から送信されたプロジェクトに関する情報（以下、「プロジェクト情報」という）を格納（蓄積）するデータベースである。
【００２６】
工数算出装置４００は、情報管理ＤＢ３００に格納されている操作履歴情報およびプロジェクト情報を取得し、プロジェクトの工数を算出する装置である。なお、工数算出装置４００によるプロジェクトの工数の算出方法に関する詳細な説明は、後述する。
【００２７】
プロジェクト情報管理装置５００は、Ｗｅｂブラウザ２０からネットワークを介して送信されたプロジェクトに関する情報を、プロジェクト情報として情報管理ＤＢ３００に格納（蓄積）させる装置である。
【００２８】
次に、本実施形態の作業工数算出システム１０の機能ブロックについて説明する。図２は、本実施形態の作業工数算出システム１０における機能ブロックの概略構成を示したブロック図である。
【００２９】
操作履歴収集装置１００は、操作履歴収集部１１０と、情報送信部１２０とを備えている。なお、以下の説明において、操作履歴収集装置１００は、作業者が開発作業を行うときに使用するパーソナルコンピュータ（ＰＣ）であるものとする。操作履歴収集部１１０は、常駐しているエージェントソフトウェアによって、作業者がプロジェクトの開発作業を行うときの操作履歴情報を収集する。操作履歴収集部１１０が収集する操作履歴情報には、作業者を識別する情報、作業者が使用しているアプリケーションの名称、作業者がアクセスしたファイル名、作業者によるキータッチ回数やマウスの操作時間などのファイルに対する操作内容などが含まれている。
【００３０】
ここで、操作履歴収集部１１０が収集する操作履歴情報について説明する。図３は、本実施形態の作業工数算出システム１０に備えた操作履歴収集部１１０が取得する対象の情報の一例を示した図である。図３では、操作履歴を収集するアプリケーションの一例と、それぞれのアプリケーションから取得する情報（操作）の一例とを示している。図３に示したように、操作履歴収集部１１０が収集する操作履歴情報は、作業者が使用しているアプリケーション毎に取得対象の情報が異なる。
【００３１】
図３に示した一例では、作業者が使用しているアプリケーションに係わらず、「操作者名（ログイン名）」、「使用マシン名」、「操作日時」、「アプリケーション（ＡＰ）起動、終了フラグ」などの共通の情報を取得する場合を示している。
【００３２】
また、作業者が使用しているアプリケーションが「文書作成アプリケーション」である場合には、共通の情報に加えて、操作内容として「ファイル名」、「操作時間（ウインドウアクティブ時間）」、「キータッチ回数」、「操作名（ファイルオープン／クローズ）」や、操作結果として「ファイルサイズ」、「ページ数」などを取得する場合を示している。
【００３３】
また、作業者が使用しているアプリケーションが「ウェブブラウザ」である場合には、共通の情報に加えて、操作内容として「操作対象物名（ＵＲＬ）」、「操作時間（ウインドウアクティブ時間）」、「キータッチ回数」、「操作名（入力時のテキストボックス名）」などを取得する場合を示している。
【００３４】
また、作業者が使用しているアプリケーションが「開発ツールアプリケーション」である場合には、共通の情報に加えて、操作内容として「操作対象物名（パースペクティブ名＋ファイル名）」、「操作時間（ウインドウアクティブ時間）」、「キータッチ回数」、「操作名（ファイルオープン／クローズ／試験実効／パースペクティブ切替）」や、操作結果として「文字数」、「ライン数」、「試験実効数，テストエラー数，テスト失敗数」などを取得する場合を示している。
【００３５】
また、作業者が使用しているアプリケーションが「メールアプリケーション」である場合には、共通の情報に加えて、操作内容として「操作対象物名（閲覧／作成）」、「操作時間（ウインドウアクティブ時間）」、「キータッチ回数」などを取得する場合を示している。また、「メールの送信先アドレス」や、「メールの題名のテキスト」などの情報を取得してもよい。
【００３６】
情報送信部１２０は、作業者が使用しているアプリケーション毎に操作履歴収集部１１０が収集した、それぞれのアプリケーションに応じた操作履歴情報を、ネットワークを介して操作履歴管理装置２００に送信する。情報送信部１２０は、操作履歴収集装置１００が常時ネットワークに接続されている場合には、任意の契機（例えば、毎分）で、操作履歴収集装置１００が不定期にネットワークに接続される場合には、操作履歴収集装置１００がネットワークに接続されたときを契機として、操作履歴情報を操作履歴管理装置２００に送信する。
【００３７】
操作履歴管理装置２００は、情報送受信部２１０と、ＤＢアクセス部２２０とを備えている。情報送受信部２１０は、操作履歴収集装置１００に備えた情報送信部１２０から送信された操作履歴情報を受信し、受信した操作履歴情報を、ＤＢアクセス部２２０に出力する。ＤＢアクセス部２２０は、情報送受信部２１０から入力された操作履歴情報を、情報管理ＤＢ３００に格納（蓄積）させる。なお、ＤＢアクセス部２２０が操作履歴情報を情報管理ＤＢ３００に格納する際には、入力された様々な形式の操作履歴情報の形式を揃えるためのフォーマット変換などが行われる。そして、ＤＢアクセス部２２０は、フォーマット変換した後の操作履歴情報を、情報管理ＤＢ３００に格納させる。なお、操作履歴管理装置２００が情報管理ＤＢ３００に格納する操作履歴情報に関する詳細な説明は、後述する。
【００３８】
プロジェクト情報管理装置５００は、情報送受信部５１０と、ＤＢアクセス部５２０とを備えている。情報送受信部５１０は、プロジェクトマネージャによってＷｅｂブラウザ２０から入力されたプロジェクトに関する情報を受け付け、受け付けた情報を、プロジェクト情報としてＤＢアクセス部５２０に出力する。ここで、プロジェクトマネージャがＷｅｂブラウザ２０から入力するプロジェクト情報には、プロジェクトの工程としてＷＢＳ（Ｗｏｒｋ  Ｂｒｅａｋｄｏｗｎ  Ｓｔｒｕｃｔｕｒｅ）情報が含まれている。そして、ＷＢＳ情報には、現在行っているプロジェクトのＷＢＳを実施したときの成果として生成される成果物の情報や、ＷＢＳを実施した成果として生成されるものではないが、現在のプロジェクトのＷＢＳを実施する際に参照される、ＷＢＳの前工程あるいは予め生成されていた参照物の情報などが、管理の対象物として含まれている。なお、プロジェクト情報管理装置５００が情報管理ＤＢ３００に格納するプロジェクト情報に関する詳細な説明は、後述する。
【００３９】
ＤＢアクセス部５２０は、情報送受信部５１０から入力されたプロジェクト情報を、情報管理ＤＢ３００に格納（蓄積）させる。なお、ＤＢアクセス部５２０がプロジェクト情報を情報管理ＤＢ３００に格納する際には、入力されたプロジェクト情報の形式を揃えるためのフォーマット変換などを行い、フォーマット変換した後のプロジェクト情報を、情報管理ＤＢ３００に格納させてもよい。
【００４０】
情報管理ＤＢ３００は、操作履歴情報ＤＢ３１０と、プロジェクト情報管理ＤＢ３２０と、工数管理ＤＢ３３０とを備えている。操作履歴情報ＤＢ３１０は、操作履歴管理装置２００に備えたＤＢアクセス部２２０から入力された、操作履歴情報を格納する。プロジェクト情報管理ＤＢ３２０は、プロジェクト情報管理装置５００に備えたＤＢアクセス部５２０から入力されたプロジェクト情報を格納する。工数管理ＤＢ３３０は、工数算出装置４００が算出した工数の算出結果を格納する。なお、工数管理ＤＢ３３０が格納する工数の算出結果に関する詳細な説明は、後述する。
【００４１】
工数算出装置４００は、情報送受信部４１０と、ＤＢアクセス部４２０と、工数算出部４３０とを備えている。情報送受信部４１０は、Ｗｅｂブラウザ２０を介してプロジェクトマネージャから入力された情報に基づいて、工数算出装置４００における工数の算出処理を実行するための指示をＤＢアクセス部４２０および工数算出部４３０に出力する。また、情報送受信部４１０は、工数算出部４３０による工数の算出結果を、Ｗｅｂブラウザ２０に送信し、表示させる。なお、工数算出装置４００は、工数の算出処理で得られた算出結果に応じて、様々な工数に関する情報を表示する。この工数の算出結果の表示に関する詳細な説明は、後述する。
【００４２】
ＤＢアクセス部４２０は、情報送受信部４１０から入力された工数の算出処理の実行指示に応じて、情報管理ＤＢ３００に備えた操作履歴情報ＤＢ３１０とプロジェクト情報管理ＤＢ３２０とから、工数を算出するために必要な情報を取得し、情報送受信部４１０を介して、工数算出部４３０に出力する。より具体的には、ＤＢアクセス部４２０は、操作履歴情報ＤＢ３１０から操作履歴情報を取得し、プロジェクト情報管理ＤＢ３２０からプロジェクト情報を取得し、それぞれの情報を工数算出部４３０に出力する。
【００４３】
また、ＤＢアクセス部４２０は、情報送受信部４１０を介して入力された工数算出部４３０による工数の算出結果を、情報管理ＤＢ３００に備えた工数管理ＤＢ３３０に格納（蓄積）させる。
【００４４】
また、ＤＢアクセス部４２０は、工数管理ＤＢ３３０に格納された工数の算出結果を取得し、情報送受信部４１０を介してＷｅｂブラウザ２０に出力することによって、工数算出部４３０による工数の算出結果を、Ｗｅｂブラウザ２０に表示させる。
【００４５】
工数算出部４３０は、情報送受信部４１０を介して入力された操作履歴情報およびプロジェクト情報に基づいて、プロジェクト情報に対応するプロジェクトの開発作業の工数を算出する。なお、工数算出部４３０によるプロジェクトの工数の算出方法に関する詳細な説明は、後述する。
【００４６】
次に、本実施形態の作業工数算出システム１０における作業工数算出の処理について説明する。作業工数算出システム１０では、以下のような処理によって、プロジェクトマネージャに所望の工数の算出結果を提示する。
【００４７】
（処理１）：事前に、プロジェクトマネージャがＷｅｂブラウザ２０からプロジェクトに関する情報を入力することによって、プロジェクト情報管理装置５００を介して、プロジェクト情報を情報管理ＤＢ３００内のプロジェクト情報管理ＤＢ３２０に格納（登録）しておく。
（処理２）：操作履歴収集装置１００が、作業者によるプロジェクトの開発作業における操作履歴情報を収集し、操作履歴管理装置２００を介して、操作履歴情報を情報管理ＤＢ３００内の操作履歴情報ＤＢ３１０に格納する。
（処理３）：Ｗｅｂブラウザ２０を介して入力されたプロジェクトマネージャによる工数算出処理の実効要求に応じて、工数算出装置４００が工数の算出処理を実行し、工数の算出結果を、情報管理ＤＢ３００内の工数管理ＤＢ３３０に格納する。
（処理４）：工数算出装置４００が、情報管理ＤＢ３００内の工数管理ＤＢ３３０に格納された工数の算出結果を取得し、Ｗｅｂブラウザ２０を介して工数の算出結果を、プロジェクトマネージャに提示する。
【００４８】
最初に、プロジェクト情報を情報管理ＤＢ３００に登録する処理（処理１）について説明する。図４は、本実施形態の作業工数算出システム１０におけるプロジェクト情報の登録処理の流れを示したシーケンス図である。
【００４９】
まず、プロジェクト情報管理装置５００は、Ｗｅｂブラウザ２０にプロジェクト情報の入力画面を表示させる（ステップＳ１０１）。そして、プロジェクトマネージャは、表示された入力画面の表示に従って、プロジェクト情報を入力する。その後、Ｗｅｂブラウザ２０は、入力されたプロジェクト情報をプロジェクト情報管理装置５００に送信する（ステップＳ１０２）。
【００５０】
続いて、プロジェクト情報管理装置５００は、受信したプロジェクト情報を、情報管理ＤＢ３００に送信して格納させる（ステップＳ１０３）。情報管理ＤＢ３００は、プロジェクト情報を蓄積する（ステップＳ１０４）。そして、プロジェクト情報管理装置５００は、プロジェクト情報を正しく格納できたか否かを表す情報をＷｅｂブラウザ２０に表示させる（ステップＳ１０５）。なお、プロジェクト情報を正しく情報管理ＤＢ３００に格納できなかった場合には、プロジェクト情報管理装置５００は、再度ステップＳ１０１と同様に、Ｗｅｂブラウザ２０にプロジェクト情報の入力画面の表示をさせてもよい。
【００５１】
このようなシーケンスによって、作業工数算出システム１０における工数算出処理に必要なプロジェクト情報を、事前に情報管理ＤＢ３００に登録しておく。図５に、本実施形態の作業工数算出システム１０において、プロジェクト情報管理装置５００が情報管理ＤＢ３００に格納するプロジェクト情報のデータ構成の一例を示す。図５（ａ）には、プロジェクトのプロフィール情報のデータ構成の一例を示し、図５（ｂ）には、プロジェクトを実行する作業者の個人プロフィール情報のデータ構成の一例を示している。
【００５２】
なお、図５に示したプロジェクト情報のデータ構成の一例では、それぞれの情報を複数のレベルに分割して登録する場合の一例を示している。例えば、「プロジェクトプロフィール」には、「プロジェクトコード」、「名称」、「開始日（計画）」、「終了日（計画）」、「グループ」、「ＷＢＳ」、「管理対象物」などが、下位のレベルとして登録されている。また、例えば、「グループ」には、「グループＩＤ」、「グループ名称」、「親グループ」、「活動開始日（計画）」、「活動終了日（計画）」、「メンバ」などが下位のレベルとして登録され、さらに、「メンバ」には、「社員番号」、「ロール」、「リーダフラグ」、「所属開始日」、「所属終了日」などが下位のレベルとして登録されている。
【００５３】
なお、図５（ａ）に示したプロジェクトのプロフィール情報、および図５（ｂ）に示した個人プロフィール情報の各項目に登録されるデータは、図５内の各項目に対応して示した「説明」の内容を表すデータである。
【００５４】
次に、プロジェクトの開発作業における操作履歴情報を収集して情報管理ＤＢ３００に格納する処理（処理２）について説明する。図６は、本実施形態の作業工数算出システム１０における操作履歴情報の収集処理の流れを示したシーケンス図である。
【００５５】
まず、作業者がプロジェクトの開発作業において、操作履歴収集対象となる操作を行っている（ステップＳ２０１）とき、操作履歴収集装置１００は、作業者による操作対象物に対する操作を、エージェントソフトウェアによって検知する（ステップＳ２０２）。そして、操作履歴収集装置１００は、検知した操作対象物に対する操作内容を収集する（ステップＳ２０３）。その後、操作履歴収集装置１００は、収集した操作内容の情報を、操作履歴情報として操作履歴管理装置２００に送信する（ステップＳ２０４）。
【００５６】
続いて、操作履歴管理装置２００は、受信した操作履歴情報のフォーマット変換を行う（ステップＳ２０５）。その後、操作履歴管理装置２００は、操作履歴情報の蓄積要求を情報管理ＤＢ３００に出力し、フォーマット変換した後の操作履歴情報を情報管理ＤＢ３００に送信して格納させる（ステップＳ２０６）。情報管理ＤＢ３００は、フォーマット変換した後の操作履歴情報を蓄積する（ステップＳ２０７）。
【００５７】
この操作履歴情報の収集処理シーケンスは、作業者によって収集対象となっている何らかの操作が行われるたびに実行され、作業工数算出システム１０における工数算出処理に必要な操作履歴情報が、情報管理ＤＢ３００に格納される。図７に、本実施形態の作業工数算出システム１０において、操作履歴収集装置１００が収集し、操作履歴管理装置２００が情報管理ＤＢ３００に格納する操作履歴情報のデータ構成の一例を示す。図７（ａ）には、操作履歴情報のデータ構成の一例を示し、図７（ｂ）には、作業者が使用しているアプリケーションの操作に伴うパラメータの一例を示し、図７（ｃ）には、アプリケーションの操作結果の情報の一例を示している。
【００５８】
なお、図７（ａ）に示した操作履歴情報のデータ構成の一例では、それぞれの情報を複数のレベルに分割して登録する場合の一例を示している。例えば、最上位のレベルの情報として、「ヘッダ情報」、「アプリケーション操作情報」、「操作結果情報」が収集されている。また、例えば、「アプリケーション操作情報」には、「アプリケーション名」、「起動フラグ」、「終了フラグ」、「操作内容」などが下位のレベルの情報として収集され、さらに、「操作内容」には、「操作対象物名」、「操作時間」、「キー回数」、「詳細操作内容」などが下位のレベルの情報として収集されている。さらに、「詳細操作内容」には、「操作名」、「操作パラメータ」などが下位のレベルの情報として収集され、さらに、「操作パラメータ」には、「パラメータ名」、「パラメータ値」などが下位のレベルの情報として収集されている。
【００５９】
また、図７（ｂ）に示したアプリケーションの操作に伴うパラメータの一例では、それぞれの「対象アプリケーション」毎に、アプリケーションの操作名とパラメータ名とが登録されている場合の一例を示している。例えば、「ウェブブラウザ」では、操作名として「閲覧」と「入力」が登録され、「入力」のパラメータ名として「対象オブジェクト名」が登録されている。
【００６０】
また、図７（ｃ）に示したアプリケーションの操作結果の情報の一例では、それぞれの「対象アプリケーション」毎に、アプリケーションの動作の契機名とパラメータ名とが登録されている場合の一例を示している。例えば、「文書作成アプリケーション」では、契機名として「ファイルオープン」、「ファイルクローズ」が登録され、それぞれのパラメータ名として「ファイルサイズ」、「ページ数」が登録されている。
【００６１】
なお、図７（ａ）に示した操作履歴情報、図７（ｂ）に示したアプリケーションの操作に伴うパラメータ、図７（ｃ）に示したアプリケーションの操作結果の各項目に登録されるデータは、図７内の各項目に対応して示した「説明」の内容を表すデータである。
【００６２】
次に、工数算出装置４００による工数の算出処理（処理３）について説明する。図８は、本実施形態の作業工数算出システム１０において、工数算出装置４００が行う工数の算出処理の流れを示したシーケンス図である。
【００６３】
まず、工数算出装置４００は、Ｗｅｂブラウザ２０に工数を算出する期間の情報を入力するための入力画面を表示させる（ステップＳ３０１）。そして、プロジェクトマネージャは、表示された入力画面の表示に従って、工数の算出期間の情報を入力する。その後、Ｗｅｂブラウザ２０は、入力された工数の算出期間の情報を工数算出装置４００に送信する（ステップＳ３０２）。
【００６４】
続いて、工数算出装置４００は、入力された工数の算出期間の情報に基づいて、情報管理ＤＢ３００から、工数算出処理に必要な操作履歴情報（ステップＳ３０３）と、プロジェクト情報（ステップＳ３０４）とを取得する。その後、工数算出装置４００は、取得した操作履歴情報およびプロジェクト情報に基づいて、プロジェクト情報に対応するプロジェクトにおける、入力された工数の算出期間の開発作業の工数を算出する（ステップＳ３０５）。
【００６５】
続いて、工数算出装置４００は、工数の算出結果を情報管理ＤＢ３００に送信して格納させる（ステップＳ３０６）。情報管理ＤＢ３００は、工数の算出結果を蓄積する（ステップＳ３０７）。そして、工数算出装置４００は、工数を正しく算出できたか否かを表す情報をＷｅｂブラウザ２０に表示させる（ステップＳ３０８）。なお、工数を正しく算出できなかった場合には、工数算出装置４００は、再度ステップＳ３０１と同様に、Ｗｅｂブラウザ２０に工数を算出する期間の入力画面の表示をさせてもよい。
【００６６】
このようなシーケンスによって、作業工数算出システム１０における工数算出処理が行われ、算出結果を情報管理ＤＢ３００に格納しておく。なお、工数算出装置４００が工数の算出処理を開始する契機は、図８に示したシーケンスのように、工数の算出期間の情報の入力を契機とすることに限定されるものではない。例えば、他の何らかの操作であってもよく、予め定めた一定間隔毎でもよい。
【００６７】
ここで、図８に示したシーケンス図におけるステップＳ３０５の工数算出の処理について説明する。工数算出処理においては、収集された操作履歴が、プロジェクトの作業（ＷＢＳ）におけるいずれの作業であるかを特定する。そして、操作履歴情報に記録されている操作が、プロジェクトのＷＢＳを特定するためにＷＢＳ毎に定義した、ＷＢＳの作業を実施した結果である設計書やソースファイルなどの成果物、あるいは作業を実施するために参照される参照物に対する操作である場合には、操作履歴情報に記録されている操作の内容に基づいて、ＷＢＳの工数の算出を行う。なお、以下の説明においては、ＷＢＳで定義された成果物や参照物などの管理対象の物を、「管理対象物」という。
【００６８】
図９は、本実施形態の作業工数算出システム１０における工数算出処理のアルゴリズムの概要を示した図である。また、図１０は、本実施形態の作業工数算出システム１０において工数算出処理を行う際に用いられる情報の一例を示した図である。
【００６９】
作業工数算出システム１０における工数算出処理においては、まず、ステップＳ３０５１において、プロジェクト作業の判定を行う。プロジェクト作業の判定では、作業者によるＰＣ（操作履歴収集装置１００）の操作が、工数を算出する対象のプロジェクトのＷＢＳに該当するか否かを判定する。より具体的には、操作履歴情報に含まれている操作対象物が、今回工数を算出するプロジェクトの管理対象物に相当するか否かを判定することによって、今回の操作が対象のプロジェクト作業であるかそれ以外の作業（プロジェクト外作業）であるかを判定する。
【００７０】
図９に示したステップＳ３０５１においては、プロジェクト作業の判定の際に、予め定めた「管理対象物判定基準」（図１０（ａ）参照）を用いた場合を示している。この管理対象物判定基準は、管理対象物を判定するための情報が記載されており、例えば、管理対象物のファイル名に含まれる特定の文字列が記載された表（データ）である。そして、プロジェクト作業の判定においては、操作対象物のファイル名に、この管理対象物判定基準に記載された特定の文字列が含まれているか否かを判別することによって、操作履歴情報に含まれている操作対象物が対象プロジェクトの管理対象物であるか否かを機械的に判定する。この管理対象物判定基準は、プロジェクト情報と同様に、プロジェクトマネージャが事前に情報管理ＤＢ３００に登録してもよいし、ＷＢＳ情報に含まれる管理対象物の情報に基づいて事前に作成してもよい。
【００７１】
ステップＳ３０５１において、工数を算出する対象のプロジェクト作業であると判定された操作履歴情報は、続くステップＳ３０５２以降において、操作履歴情報に含まれている操作内容が、プロジェクトの中のいずれのＷＢＳの作業であるかを判定する。なお、それぞれのＷＢＳの作業には、固有の特徴（以下、「作業種別」という。例えば、コーディング、試験、レビューなど）があり、その特徴によって成果物や参照物に対する操作種別（編集や閲覧など）が異なる。そこで、操作内容のＷＢＳ作業の判定においては、まず、ステップＳ３０５２において、操作履歴情報に含まれている操作内容を用いて操作対象物に対する操作種別を判定する。
【００７２】
図９に示したステップＳ３０５２においては、操作種別を判定の際に、予め定めた「操作種別判定基準」（図１０（ｂ）参照）を用いた場合を示している。この操作種別判定基準は、操作対象物に対する操作種別を判定する際の基準が記載されており、例えば、操作対象物に対する操作であると判定される「操作時間（ウィンドウのアクティブ時間）」や「キータッチ回数」などの値が含まれている。そして、操作種別の判定においては、操作対象物のファイルに対する操作が、操作種別判定基準に含まれる値以上であるか否かを判別することによって、操作種別を機械的に判定する。この操作種別判定基準の値は、予め定めておいてもよいが、例えば、実験などによって決定してもよい。
【００７３】
続いて、ステップＳ３０５３において、操作履歴情報に基づいてプロジェクト作業のＷＢＳの特定を行う。図９に示したステップＳ３０５３においては、ＷＢＳの特定の際に、予め定めたプロジェクト情報に含まれている「ＷＢＳ情報」（図１０（ｃ）参照）を用いた場合を示している。より具体的には、操作履歴情報に含まれている操作対象物と、ＷＢＳ情報に含まれる管理対象物とを比較し、操作対象物と同じ管理対象物を含むＷＢＳを選択する。
【００７４】
続いて、ステップＳ３０５４において、操作対象物に対する操作種別に基づいて、ＷＢＳ作業の実施の判定を行う。ＷＢＳ作業の実施判定では、操作履歴情報に含まれる操作内容が、ＷＢＳ作業を実施するための操作であるか否かを判定する。
【００７５】
図９に示したステップＳ３０５４においては、ＷＢＳ作業の実施判定の際に、予め定めた「ＷＢＳ作業実施判定基準」（図１０（ｄ）参照）を用いた場合を示している。このＷＢＳ作業実施判定基準は、管理対象物に対する操作について、操作種別によってＷＢＳ作業を実施したか否かを判定する基準が記載されており、例えば、ＷＢＳの成果物に対する操作種別（図１０（ｂ）に示した操作種別判定基準における操作種別）が記載されている。そして、ＷＢＳ作業の実施判定においては、ＷＢＳ作業実施判定基準に合致した操作がなされたか否かを判別することによって、操作履歴情報に含まれている操作がＷＢＳ作業を実施したか否かを判定する。ここで、ＷＢＳ作業を実施したと判定された操作履歴情報に記録されている操作を、ＷＢＳの作業として、工数の算出に使用する。また、ＷＢＳ作業を実施しなかったと判定された操作履歴情報は、ＷＢＳ以外のプロジェクトに関する作業として、工数の算出には使用しない。
【００７６】
ここで、操作履歴情報に含まれている操作がＷＢＳ作業を実施したか否かを判定する場合の例について説明する。図１１は、本実施形態の作業工数算出システム１０において工数算出処理アルゴリズムを実施した場合の一例を説明する図である。図１１に示した一例は、１つの操作対象物への操作（日別操作ＩＤ＝００００１）がどのＷＢＳ作業実施に相当するのかを判定する場合の処理の例である。なお、図１１には、図１１（ａ）に操作履歴情報、図１１（ｂ）に管理対象物判定基準、図１１（ｃ）に操作種別判定基準、図１１（ｄ）にＷＢＳ作業実施判定基準、図１１（ｅ）にプロジェクト情報のＷＢＳ情報を、それぞれ示している。また、図１１には、それぞれの処理において用いられる情報も示している。
【００７７】
まず、処理Ｓ１で、プロジェクト作業の判定を行う（図９のステップＳ３０５１参照）。処理Ｓ１では、管理対象物判定基準から、日別操作ＩＤ＝００００１が「αプロジェクトのＡＢＣ機能プログラム」であると判定される。
【００７８】
続いて、処理Ｓ２で、操作種別の判定を行う（図９のステップＳ３０５２参照）。処理Ｓ２では、操作種別判定基準から、日別操作ＩＤ＝００００１の操作種別は「デバッグ」であると判定される。
【００７９】
続いて、処理Ｓ３で、ＷＢＳの特定を行う（図９のステップＳ３０５３参照）。処理Ｓ３−１では、処理Ｓ１の結果から、日別操作ＩＤ＝００００１の管理対象物が「ＡＢＣ機能プログラム」であると特定される。ここで、「ＡＢＣ機能プログラム」は、プロジェクト情報のＷＢＳ情報に「ＡＢＣ機能試験の参照物」として登録されている。このことから、処理Ｓ３−１では、日別操作ＩＤ＝００００１のＷＢＳは「ＡＢＣ機能試験」であると特定される。また、ＷＢＳ「ＡＢＣ機能試験」の作業種別は「試験」であるため、処理Ｓ３−２では、ＷＢＳ作業実施判定基準から、ＷＢＳ「ＡＢＣ機能試験」のＷＢＳ作業実施判定基準は参照物「ＡＢＣ機能プログラム」に対する「参照物＝デバッグ」であることがわかる。
【００８０】
続いて、処理Ｓ４で、ＷＢＳ作業の実施判定を行う（図９のステップＳ３０５４参照）。処理Ｓ２の結果から、日別操作ＩＤ＝００００１では「デバッグ」を行ったと判定されている。すなわち、日別操作ＩＤ＝００００１は、ＷＢＳ作業実施判定基準の「参照物＝デバッグ」を満足する。このことから、処理Ｓ４では、日別操作ＩＤ＝００００１では、ＷＢＳ「ＡＢＣ機能試験」のＷＢＳ作業を実施したと判定される。
【００８１】
次に、操作履歴情報に含まれている操作がＷＢＳ作業を実施したか否かを判定する場合の別の例について説明する。図１２は、本実施形態の作業工数算出システム１０において工数算出処理アルゴリズムを実施した場合の別の一例を説明する図である。図１２に示した一例は、２つの操作対象物への操作（日別操作ＩＤ＝００００２および日別操作ＩＤ＝００００３）を判定する場合の処理の例である。なお、図１２には、図１２（ａ）に操作履歴情報、図１２（ｂ）に管理対象物判定基準、図１２（ｃ）に操作種別判定基準、図１２（ｄ）にＷＢＳ作業実施判定基準、図１２（ｅ）にプロジェクト情報のＷＢＳ情報を、それぞれ示している。また、図１２には、それぞれの処理において用いられる情報も示している。
【００８２】
まず、処理Ｓ１で、プロジェクト作業の判定を行う（図９のステップＳ３０５１参照）。処理Ｓ１−１では、管理対象物判定基準から、日別操作ＩＤ＝００００２が「βプロジェクトのレビュー結果表」であると判定される。また、処理Ｓ１−２では、管理対象物判定基準から、日別操作ＩＤ＝００００３が「βプロジェクトのユーザマニュアル」であると判定される。
【００８３】
続いて、処理Ｓ２で、操作種別の判定を行う（図９のステップＳ３０５２参照）。処理Ｓ２−１では、操作種別判定基準から、日別操作ＩＤ＝００００２の操作種別は「編集」であると判定される。また、処理Ｓ２−２では、操作種別判定基準から、日別操作ＩＤ＝００００３の操作種別は「閲覧」であると判定される。
【００８４】
続いて、処理Ｓ３で、ＷＢＳの特定を行う（図９のステップＳ３０５３参照）。処理Ｓ３−１−１では、処理Ｓ１−１の結果から、日別操作ＩＤ＝００００２の管理対象物が「レビュー結果表」であると特定される。ここで、「レビュー結果表」は、プロジェクト情報のＷＢＳ情報に「ユーザマニュアルレビューの成果物」として登録されている。このことから、処理Ｓ３−１−１では、日別操作ＩＤ＝００００２のＷＢＳは「ユーザマニュアルレビュー」であると特定される。また、ユーザマニュアルレビューの作業種別は「レビュー」であるため、処理Ｓ３−１−２では、ＷＢＳ作業実施判定基準から、ＷＢＳ「ユーザマニュアルレビュー」のＷＢＳ作業実施判定基準の１つ目が成果物「レビュー結果表」に対する編集「成果物＝編集」であることがわかる。
【００８５】
また、処理Ｓ３−２−１では、処理Ｓ１−２の結果から、日別操作ＩＤ＝００００３の管理対象物が「ユーザマニュアル」であると特定される。ここで、「ユーザマニュアル」は、プロジェクト情報のＷＢＳ情報に「ユーザマニュアルレビューの参照物」として登録されている。このことから、処理Ｓ３−２−１では、日別操作ＩＤ＝００００３のＷＢＳは「ユーザマニュアルレビュー」であると特定される。また、ユーザマニュアルレビューの作業種別は「レビュー」であるため、処理Ｓ３−２−２では、ＷＢＳ作業実施判定基準から、ＷＢＳ「ユーザマニュアルレビュー」のＷＢＳ作業実施判定基準の２つ目が参照物「ユーザマニュアル」に対する「参照物≠編集」であることがわかる。
【００８６】
続いて、処理Ｓ４で、ＷＢＳ作業の実施判定を行う（図９のステップＳ３０５４参照）。処理Ｓ２−１の結果から、日別操作ＩＤ＝００００２では「編集」を行ったと判定されている。また、処理Ｓ２−２の結果から、日別操作ＩＤ＝００００３では「閲覧」を行ったと判定されている。すなわち、日別操作ＩＤ＝００００２は、ＷＢＳ作業実施判定基準の１つ目の条件「成果物＝編集」を満足し、日別操作ＩＤ＝００００３は、ＷＢＳ作業実施判定基準の２つ目の条件「すべての参照物≠編集」を満足する。このことから、日別操作ＩＤ＝００００２および日別操作ＩＤ＝００００３を合わせると、処理Ｓ４では、ＷＢＳ「ユーザマニュアルレビュー」のＷＢＳ作業を実施したと判定される。
【００８７】
次に、ＷＢＳの工数の算出処理について説明する。図１３は、本実施形態の作業工数算出システム１０における工数の算出処理の処理手順を示したフローチャートの一例である。また、図１４は、本実施形態の作業工数算出システム１０において工数算出処理を行う際に用いられる情報または工数算出処理によって得られる結果の情報の一例を示した図である。
【００８８】
操作履歴情報に基づいて、各工数集計単位（操作単位、日別操作単位、管理対象物別作業単位、ＷＢＳ別作業単位）について工数を算出し、それぞれの算出結果を、工数管理ＤＢ３３０に格納（蓄積）する。また、同じＷＢＳ作業を実施していると判定された操作履歴のデータ同士の合算などが行われる。
【００８９】
まず、ステップＳ３０２において、Ｗｅｂブラウザ２０から工数の算出期間が入力されると、工数算出装置４００は、入力された全ての算出期間内の操作履歴情報に基づいて、ステップＳ３５１に示した操作単位算出の処理を行う。なお、ステップＳ３５１の操作単位算出の処理ループは、ステップＳ３０２において入力された算出期間の操作単位の算出が終了するまで繰り返される。
【００９０】
ここで、操作単位とは、同一の作業者が同一のアプリケーションで、同一のアプリケーション利用種別で、同一の管理対象物に対して「同一の作業」を行ったときの一連、すなわち時間的に隣接する作業のことをいう。なお、「同一の作業」とは、アプリケーションやアプリケーションに対する操作によって定義され、例えば、時刻ｔでの操作履歴情報と隣接する時刻ｔ＋１分での操作履歴情報とで、ＰＣ（操作履歴収集装置１００）にスクリーンセーバが起動されておらず、かつ同じ管理対象物に対しての操作が行われている（ウィンドウがアクティブになっている）場合をいう（図１４（ａ）参照）。
【００９１】
また、操作単位の算出においては、同一の作業者が、異なるＰＣ（操作履歴収集装置１００）の別のアカウントを用いて同じ管理対象物を操作したときも、「同一の作業」であると判定する。例えば、アカウントＡとアカウントＢとが同一の作業者のアカウントであるか否かの判定は、プロジェクト情報に含まれる個人プロフィール情報内の「アカウント情報」に記載されている情報に基づいて判定する。また、時刻ｔと時刻ｔ＋１との日付が異なる場合には、時刻ｔと時刻ｔ＋１とは連続していないものと判定する。すなわち、操作単位は、同一の日付における作業を１つの単位とし、日付を跨いだ作業は、異なる操作単位として分割する。
【００９２】
ステップＳ３５１の操作単位算出の処理では、まず、ステップＳ３５１１において、工数算出装置４００内のＤＢアクセス部４２０が、操作履歴情報ＤＢ３１０から全ての算出期間内の操作履歴情報を取得し、情報送受信部４１０を介して工数算出部４３０に出力する。続いて、ステップＳ３５１２において、工数算出部４３０は、入力された全ての操作履歴情報を、図９に示したアルゴリズムによって、工数算出処理に使用する操作履歴情報を判定し、操作単位を算出する。そして、工数算出部４３０は、操作単位の算出結果（図１４（ｂ）参照）を、情報送受信部４１０およびＤＢアクセス部４２０を介して、工数管理ＤＢ３３０に格納（蓄積）する。
【００９３】
ステップＳ３５１の操作単位算出の処理ループが終了すると、続いて、工数算出装置４００は、算出した操作単位の算出結果に基づいて、ステップＳ３５２に示した日別操作単位算出の処理を行う。なお、ステップＳ３５２の日別操作単位算出の処理ループは、ステップＳ３０２において入力された算出期間の日別操作単位の算出が終了するまで繰り返される。
【００９４】
ここで、日別操作単位とは、各操作単位について、「作業者」、「日」、「操作対象物」、および「アプリケーション利用種別」が同一のものについて集計した結果のことをいう。なお、同一の作業者が同一のアプリケーションで同一の管理対象物を同じ日に操作している場合は、同じ日別操作単位に属するものとする。
【００９５】
ステップＳ３５２の日別操作単位算出の処理では、まず、ステップＳ３５２１において、工数算出装置４００内のＤＢアクセス部４２０が、工数管理ＤＢ３３０から、ステップＳ３５１で格納した全ての操作単位を取得し、情報送受信部４１０を介して工数算出部４３０に出力する。続いて、ステップＳ３５２２において、工数算出部４３０は、入力された全ての操作単位に基づいて、日別操作単位を算出する。そして、工数算出部４３０は、日別操作単位の算出結果（図１４（ｃ）参照）を、情報送受信部４１０およびＤＢアクセス部４２０を介して、工数管理ＤＢ３３０に格納（蓄積）する。
【００９６】
ステップＳ３５２の日別操作単位算出の処理ループが終了すると、続いて、工数算出装置４００は、算出した日別操作単位の結果に基づいて、ステップＳ３５３に示した管理対象物別作業単位算出および操作種別判定の処理を行う。なお、ステップＳ３５３の管理対象物別作業単位算出および操作種別判定の処理ループは、ステップＳ３０２において入力された算出期間の管理対象物別作業単位算出および操作種別判定が終了するまで繰り返される。
【００９７】
ここで、管理対象物別作業単位とは、各日別操作単位について、「作業者」および「管理対象物」が同一のものについて集計した結果のことをいう。より具体的には、例えば、プロジェクト情報として登録されている管理対象物判定基準に、日別操作単位に含まれる操作対象物がマッチするか否かによって、同じ管理対象物別作業単位に含まれるか否かを判定する。また、管理対象物別作業単位に含まれる「操作時間」や「キータッチ回数」の情報に基づいて、例えば、図１０（ｂ）に示した操作種別判定基準に従って判定を行い、各管理対象物別作業単位の操作種別を決定する。
【００９８】
ステップＳ３５３の管理対象物別作業単位算出および操作種別判定の処理では、まず、ステップＳ３５３１において、工数算出装置４００内のＤＢアクセス部４２０が、工数管理ＤＢ３３０から、ステップＳ３５２で格納した全ての日別操作単位を取得し、情報送受信部４１０を介して工数算出部４３０に出力する。続いて、ステップＳ３５３２において、工数算出装置４００内のＤＢアクセス部４２０が、プロジェクト情報管理ＤＢ３２０からプロジェクト情報を取得し、情報送受信部４１０を介して工数算出部４３０に出力する。続いて、ステップＳ３５３３において、工数算出部４３０は、入力された全ての日別操作単位およびプロジェクト情報に基づいて、管理対象物別作業単位の算出および操作種別の判定を行う。そして、工数算出部４３０は、操作種別の判定結果を合わせた管理対象物別作業単位の算出結果（図１４（ｄ）参照）を、情報送受信部４１０およびＤＢアクセス部４２０を介して、工数管理ＤＢ３３０に格納（蓄積）する。
【００９９】
ステップＳ３５３の管理対象物別作業単位算出および操作種別判定の処理ループが終了すると、続いて、工数算出装置４００は、算出した管理対象物別作業単位の結果に基づいて、ステップＳ３５４に示したＷＢＳ別作業単位算出の処理を行う。なお、ステップＳ３５４のＷＢＳ別作業単位算出の処理ループは、ステップＳ３０２において入力された算出期間のＷＢＳ別作業単位算出が終了するまで繰り返される。
【０１００】
ここで、ＷＢＳ別作業単位とは、各管理対象物別作業単位について、「作業者」および「ＷＢＳ」が同一のものについて集計した結果のことをいう。なお、ＷＢＳ別作業単位の算出は、ＷＢＳ毎に行われるが、算出の対象となるＷＢＳは最下層のＷＢＳである（ＷＢＳのツリーにおいて、葉ノードに相当する）場合と、それ以外（ＷＢＳのツリーにおいて、内部ノードに相当する）の場合とで異なる。ステップＳ３５４のＷＢＳ別作業単位算出の処理では、最下層のＷＢＳを算出の対象として、ＷＢＳ作業実施判定基準を満たしたＷＢＳについて、管理対象物別作業単位を集計する。ＷＢＳ別作業単位の集計の対象にならなかった管理対象物別作業単位は、ＷＢＳ作業を実施したと判定されなかったプロジェクト作業として合算する。
【０１０１】
また、最下層のＷＢＳでない、すなわち、ＷＢＳのツリーにおいて内部ノードに相当するＷＢＳに対するＷＢＳ別作業単位の算出は、ＷＢＳのツリーにおいて葉ノードに相当するステップＳ３５４のＷＢＳ別作業単位の算出結果を、後述するステップＳ３５５において合算することによって、ＷＢＳ別作業単位の算出を行う。
【０１０２】
ステップＳ３５４のＷＢＳ別作業単位算出の処理、すなわち、葉ノードのＷＢＳ別作業単位算出の処理では、まず、ステップＳ３５４１において、工数算出装置４００内のＤＢアクセス部４２０が、工数管理ＤＢ３３０から、ステップＳ３５３で格納した全ての管理対象物別作業単位を取得し、情報送受信部４１０を介して工数算出部４３０に出力する。続いて、ステップＳ３５４２において、工数算出装置４００内のＤＢアクセス部４２０が、プロジェクト情報管理ＤＢ３２０からプロジェクト情報を取得し、情報送受信部４１０を介して工数算出部４３０に出力する。続いて、ステップＳ３５４３において、工数算出部４３０は、入力された全ての管理対象物別作業単位およびプロジェクト情報に基づいて、葉ノードのＷＢＳ別作業単位の算出を行う。そして、工数算出部４３０は、葉ノードのＷＢＳ別作業単位の算出結果（図１４（ｅ）参照）を、情報送受信部４１０およびＤＢアクセス部４２０を介して、工数管理ＤＢ３３０に格納（蓄積）する。
【０１０３】
ステップＳ３５４の葉ノードのＷＢＳ別作業単位算出の処理ループが終了すると、続いて、工数算出装置４００は、算出した葉ノードのＷＢＳ別作業単位の結果に基づいて、ステップＳ３５５において、内部ノードのＷＢＳ別作業単位の算出（合算）処理を行う。ステップＳ３５５の内部ノードのＷＢＳ別作業単位の算出（合算）処理によって、葉ノードのＷＢＳ別作業単位から、上位のノードのＷＢＳ別作業単位を算出する。
【０１０４】
ステップＳ３５５の内部ノードのＷＢＳ別作業単位算出（合算）の処理では、工数算出装置４００内のＤＢアクセス部４２０が、工数管理ＤＢ３３０から、ステップＳ３５４で格納した全ての葉ノードのＷＢＳ別作業単位を取得し、情報送受信部４１０を介して工数算出部４３０に出力する。そして、工数算出部４３０は、入力された全ての葉ノードのＷＢＳ別作業単位を合算して、内部ノードのＷＢＳ別作業単位の算出を行い、内部ノードのＷＢＳ別作業単位の算出結果を、情報送受信部４１０およびＤＢアクセス部４２０を介して、工数管理ＤＢ３３０に格納（蓄積）する。なお、内部ノードのＷＢＳ別作業単位の合算では、例えば、「プロジェクト情報の親ＷＢＳＩＤ」が同一のものを合算する。また、内部ノードのＷＢＳ別作業単位の算出結果の形式は、図１４（ｅ）に示した葉ノードのＷＢＳ別作業単位の算出結果の形式と同様であるため、図示を省略する。
【０１０５】
このように、本実施形態の作業工数算出システム１０における工数の算出処理では、「ＷＢＳ」、「作業者」、および「日（時間）」がそれぞれ対応付けられた工数の算出結果を得る。これにより、作業工数算出システム１０では、「ＷＢＳ」、「作業者」、および「日（時間）」の関係を示す。
【０１０６】
なお、図１３に示した工数算出処理の処理手順では、それぞれの算出処理のステップにおいて得られた算出結果を、都度、工数管理ＤＢ３３０に格納（蓄積）する場合について説明したが、例えば、工数算出装置４００内に算出結果を保持する記憶領域を備え、算出結果を記憶領域に保持する構成としてもよい。この場合には、記憶領域に保持している前の算出処理のステップの算出結果を、次の算出処理のステップで使用する。
【０１０７】
また、図８および図１３に示した工数算出処理では、プロジェクトマネージャによる工数算出処理の実効要求に応じて、工数算出装置４００が工数の算出処理を実行する場合について説明したが、プロジェクトマネージャによる工数算出処理の実効要求がない場合にも自動で工数の算出処理を実行する構成としてもよい。例えば、夜間などに、情報管理ＤＢ３００に格納（蓄積）されている１日分の操作履歴情報に基づいて、事前に１日分の工数算出処理を実行し、工数の算出結果を情報管理ＤＢ３００に格納（蓄積）しておく。
【０１０８】
次に、工数の算出結果を表示する処理（処理４）について説明する。図１５は、本実施形態の作業工数算出システム１０における工数の算出結果の表示処理の流れを示したシーケンス図である。なお、工数の算出結果の表示では、工数算出装置４００による工数算出処理で得られた算出結果に応じて、様々な形式で工数に関する情報を表示する。例えば、時系列で作業状況をまとめた形式の情報、作業者別に作業状況をまとめた形式の情報、作業者毎の稼働状況をまとめた形式の情報などを表示する。より具体的には、「ＷＢＳ」と「日（時間）」とから時系列の作業状況を示し、「ＷＢＳ」と「作業者」とから作業者別の作業状況を示し、「作業者」と「日（時間）」とから作業者毎の稼働状況を示す。この工数の算出結果の表示種別に関する詳細な説明は、後述する。
【０１０９】
まず、工数算出装置４００は、Ｗｅｂブラウザ２０に工数の算出結果を表示する期間および表示種別の情報を入力するための入力画面を表示させる（ステップＳ４０１）。そして、プロジェクトマネージャは、表示された入力画面の表示に従って、工数の算出結果を表示する期間および表示種別の情報を入力する。その後、Ｗｅｂブラウザ２０は、入力された工数の算出結果を表示する期間および表示種別の情報を工数算出装置４００に送信する（ステップＳ４０２）。
【０１１０】
続いて、工数算出装置４００は、入力された工数の算出結果を表示する期間および表示種別の情報に基づいて、情報管理ＤＢ３００から、工数の表示処理に必要な工数情報（工数算出処理における算出結果）を取得する（ステップＳ４０３）。その後、工数算出装置４００は、取得した工数情報に基づいて、Ｗｅｂブラウザ２０に表示する表示画面を生成する（ステップＳ４０４）。
【０１１１】
続いて、工数算出装置４００は、生成した表示画面をＷｅｂブラウザ２０に送信して表示させる（ステップＳ４０５）。これにより、プロジェクトマネージャが入力した期間および表示種別の工数算出結果を表示（提示）する。
【０１１２】
このようなシーケンスによって、作業工数算出システム１０における工数の算出結果の表示処理が行わる。なお、工数算出装置４００が、予め定めた表示種別の表示画面を全て生成し、プロジェクトマネージャが入力した表示種別を最初に表示（提示）させた後、プロジェクトマネージャによる何らかの操作（例えば、表示画面の予め定めた領域をクリックするなど）に応じて、生成した表示画面を順次切り替えて表示する構成としてもよい。
【０１１３】
ここで、作業工数算出システム１０における工数の算出結果の表示種別について、いくつかの例を示す。図１６〜図１８は、本実施形態の作業工数算出システム１０における工数の算出結果の表示種別の一例を模式的に示した図である。図１６には、時系列で作業状況をまとめた形式の表示結果の一例を示し、図１７には、作業者別に作業状況をまとめた形式の表示結果の一例を示し、図１８には、作業者毎の稼働状況をまとめた形式の表示結果の一例を示している。
【０１１４】
まず、図１６に示した時系列の作業状況の表示結果を用いて、作業工数算出システム１０における工数の算出結果の表示に共通する表示項目について説明する。工数算出結果の表示画面は、タグ領域Ａと、プロジェクト設定領域Ｂと、期間設定領域Ｃと、項目表示領域Ｄと、作業状況表示領域Ｅとから構成されている。
【０１１５】
タグ領域Ａには、工数算出結果を表示する表示種別が並べられており、プロジェクトマネージャがいずれか１つのタグを選択することによって、表示画面が選択されたタグに対応付けられた表示種別の工数算出結果に切り替わる。プロジェクト設定領域Ｂは、工数算出結果を表示するプロジェクトを選択する領域である。プロジェクト設定領域Ｂには、例えば、情報管理ＤＢ３００内のプロジェクト情報管理ＤＢ３２０に格納（蓄積）されているプロジェクト情報のプロジェクト名がプルダウンメニューで表示され、プロジェクトマネージャか表示されたプロジェクト名を選択することによって、工数算出結果を表示するプロジェクトを選択する。期間設定領域Ｃは、工数算出結果を表示する期間を設定する領域である。工数算出結果を表示する期間は、プルダウンメニューや直接入力によって設定する。項目表示領域Ｄには、工数算出結果を表示する項目が表示される。作業状況表示領域Ｅには、項目表示領域Ｄに表示された項目毎に、工数の算出結果が表示される。
【０１１６】
次に、図１６に示した時系列の作業状況の表示結果に固有の表示内容について説明する。時系列の作業状況の表示は、工数算出結果の「ＷＢＳ」と「日（時間）」との関係に基づいた表示である。図１６に示した時系列の作業状況の表示では、項目表示領域Ｄに「ＷＢＳ」の各項目を表示し、作業状況表示領域ＥにＷＢＳの各項目における「日（時間）」毎の作業状況を表示している。より具体的には、時系列の作業状況の表示画面において、作業状況として各ＷＢＳの作業の計画と実績とを並べて表し（表示ｅ１）、実績のあったＷＢＳの合計の作業時間を数字で表している（表示ｅ２）。また、本日を区別して表している（表示ｅ３）。
【０１１７】
このような表示画面を表示することによって、プロジェクトマネージャは、プロジェクトの進行状況を俯瞰することができる。これにより、ＷＢＳ作業（成果物の作成）の進捗に寄与した時間や、ＷＢＳ毎の作業状況を把握することができる。また、ＷＢＳ作業の実際の開始時期と計画との相違から、ＷＢＳ作業の事前の着手や遅延などの状況を、視覚的に認識することができる。また、計画にない作業（表示ｅ４）の実施を把握することができる。
【０１１８】
次に、図１７に示した作業者別の作業状況の表示結果に固有の表示内容について説明する。作業者別の作業状況の表示は、工数算出結果の「ＷＢＳ」と「作業者」との関係に基づいた表示である。図１７に示した作業者別の作業状況の表示では、項目表示領域Ｄに「ＷＢＳ」の各項目を表示し、作業状況表示領域Ｅに「作業者」の状況を表示している。より具体的には、作業者別の作業状況の表示画面において、グループ名およびそのグループに属する作業者を階層的に表し（表示ｅ５）、各ＷＢＳとＷＢＳ作業を実施したグループおよび作業者との対応を表し（表示ｅ６）、ＷＢＳ作業を行った合計の作業時間を数字で表している（表示ｅ７）。また、各ＷＢＳの進捗を区別して表している（表示ｅ８）。
【０１１９】
このような表示画面を表示することによって、プロジェクトマネージャは、作業者毎の作業内容を俯瞰することができる。これにより、作業者毎の作業負荷や、プロジェクト全体での作業負荷のバランスを把握することができる。また、プロジェクトの進捗（「計画通り」、「計画遅れ」、「要注意」、「先行着手」、「作業実績なし」など）を、視覚的に認識することができる。なお、図１７に示した作業者別の作業状況の表示では、ＷＢＳの各項目に「計画通り」、「計画遅れ」、「要注意」、「先行着手」に対応した囲み線が示されていない場合を、「作業実績なし」としている。
【０１２０】
なお、「計画通り」とは、プロジェクトマネージャが設定した工数算出結果の表示期間がＷＢＳの計画における実施期間（計画期間）の一部または全部にかかっており、表示されている計画期間内に実際にＷＢＳ作業が実施されている場合を示す。また、「計画遅れ」とは、ＷＢＳの完了予定日以降にＷＢＳ作業が実施されている場合を示し、「要注意」とは、表示されている計画期間内にＷＢＳ作業が実施されてない場合を示す。また、「先行着手」とは、ＷＢＳの開始予定日以前にＷＢＳ作業が実施されている場合を示し、「作業実績なし」とは、上記の条件のいずれも合致しない場合、つまり期間設定領域に設定された期間においてＷＢＳ作業を実施したと判定されなかったＷＢＳを示す。
【０１２１】
次に、図１８に示した作業者毎の稼働状況の表示結果に固有の表示内容について説明する。作業者毎の稼働状況の表示は、工数算出結果の「作業者」と「日（時間）」との関係に基づいた表示である。図１８に示した作業者毎の稼働状況の表示では、項目表示領域Ｄに「作業者」を表示し、作業状況表示領域Ｅに各作業者の「日（時間）」毎の作業状況を表示している。より具体的には、作業者毎の稼働状況の表示画面において、グループ名およびそのグループに属する作業者を階層的に表し（表示ｅ９）、各作業者の作業の計画と実績とを並べて表し（表示ｅ１０）、各グループまたは各担当者がＷＢＳ作業を行った合計の作業時間を数字で表している（表示ｅ１１）。また、本日を区別して表している（表示ｅ１２）。
【０１２２】
このような表示画面を表示することによって、プロジェクトマネージャは、作業者毎の稼働状況を俯瞰することができる。これにより、ＷＢＳ作業（成果物の作成）の進捗に寄与した作業者やＷＢＳ作業を行った期間を、視覚的に認識することができる。また、プロジェクト全体やそれぞれのＷＢＳ作業に要した実際の作業時間を把握することができる。
【０１２３】
上記に述べたとおり、本発明を実施するための形態によれば、作業者が開発作業を行うときに使用する作業用端末の操作履歴情報を自動的に収集する。そして、収集した操作履歴情報に基づいて、作業者が実施した作業の工数を、ＷＢＳの単位で機械的に算出する。この工数の算出においては、作業者が実際に開発作業を行うときに操作を行う作業用端末の操作履歴情報を、工数算出の対象にするため、より正確な作業工数の把握を行うことができる。
【０１２４】
また、本発明を実施するための形態によれば、工数の算出結果に基づいて、プロジェクトの管理者が、作業者毎の作業内容や作業時間を把握するための情報を提示することができる。また、作業項目毎に、作業に要した実際の作業時間の情報を提示することができる。これにより、プロジェクトの工数管理や進捗管理、またはリスクの早期発見など、プロジェクト管理の支援を行うことができる作業工数算出装置を提供することができる。このことにより、従来のプロジェクトの進捗管理において作業者本人の自己申告に依存していた作業内容の把握を、本発明を実施するための形態では自動的に行うことができ、ソフトウェアの開発におけるリスクを早期に発見することを容易にすることができる。なお、本発明を実施するための形態の適用範囲は、ソフトウェアの開発に限定されるものではなく、一般的な業務にも容易に適用することができる。
【０１２５】
なお、本発明を実施するための形態では、操作履歴管理装置２００と、情報管理ＤＢ３００と、工数算出装置４００と、プロジェクト情報管理装置５００とが、それぞれ別の端末装置で構成された作業工数算出システム１０の場合について説明したが、作業工数算出システム１０の装置構成は、本発明を実施するための形態に限定されるものではない。例えば、操作履歴管理装置２００と、情報管理ＤＢ３００と、工数算出装置４００と、プロジェクト情報管理装置５００とを同一の端末装置で構成した場合においても、同一の端末装置内で本発明を実施するための形態と同様の機能を実現する構成であれば、同様の処理を行うことができ、同様の結果を得ることができる。
【０１２６】
なお、図１および図２に示した作業工数算出システム１０内の各構成要素による処理を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、作業工数算出システム１０に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１２７】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【０１２８】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【０１２９】
１０・・・作業工数算出システム
１００・・・操作履歴収集装置（作業用端末）
１１０・・・操作履歴収集部（作業用端末）
１２０・・・情報送信部（作業用端末）
２００・・・操作履歴管理装置（作業工数算出装置）
２１０・・・情報送受信部（作業工数算出装置）
２２０・・・ＤＢアクセス部（作業工数算出装置）
３００・・・情報管理ＤＢ（操作履歴情報データベース，プロジェクト情報管理データベース，工数管理データベース）
３１０・・・操作履歴情報ＤＢ（操作履歴情報データベース）
３２０・・・プロジェクト情報管理ＤＢ（プロジェクト情報管理データベース）
３３０・・・工数管理ＤＢ
４００・・・工数算出装置（工数算出部）
４１０・・・情報送受信部（工数算出部）
４２０・・・ＤＢアクセス部（工数算出部）
４３０・・・工数算出部
５００・・・プロジェクト情報管理装置（作業工数算出装置）
５１０・・・情報送受信部（作業工数算出装置）
５２０・・・ＤＢアクセス部（作業工数算出装置）
２０・・・Ｗｅｂブラウザ（管理用端末）
【図１】
0005825915.tif 000002
【図２】
0005825915.tif 000003
【図３】
0005825915.tif 000004
【図４】
0005825915.tif 000005
【図５】
0005825915.tif 000006
【図６】
0005825915.tif 000007
【図７】
0005825915.tif 000008
【図８】
0005825915.tif 000009
【図９】
0005825915.tif 000010
【図１０】
0005825915.tif 000011
【図１１】
0005825915.tif 000012
【図１２】
0005825915.tif 000013
【図１３】
0005825915.tif 000014
【図１４】
0005825915.tif 000015
【図１５】
0005825915.tif 000016
【図１６】
0005825915.tif 000017
【図１７】
0005825915.tif 000018
【図１８】
0005825915.tif 000019