<第1実施形態>
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
図1は、本発明に係わるプロジェクト管理サーバ()、プログラム開発サーバ、データベースサーバ、開発者端末(クライアント端末)の構成の一例を示すシステム構成図である(情報処理システム)。
プロジェクト管理サーバ100(情報処理装置)は、開発者の操作に従って画面レイアウトおよびデータベース検索のアクションなどを定義する。プロジェクト管理サーバ100単体では、ユーザの入力受付、後述するプログラム開発サーバ102に実際のプログラム生成処理をさせてもよいし、プロジェクト管理サーバ単体でプログラム生成まで処理してもよい。
プログラム開発サーバ102(情報処理装置)は、プロジェクト管理サーバ100により入力された開発者の指示に従って、プログラムを開発する。プログラム開発サーバ102はLANなどのネットワーク104内に配置されてもよいし、プログラム開発サーバ102はインターネット上やクラウド上に配置されてもよい。
データベース103(情報処理装置)は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも利用する。例えば、開発者が利用するためにデータベース103は、プロジェクト管理サーバ100と同一の装置で構成されていてもよいし、LANなどのネットワーク104内に配置されてもよいし、またインターネット上やクラウド上に配置されてもよい。また、プロジェクト管理サーバ100が、プログラム開発サーバ102と協調する場合には、プログラム開発サーバ102とデータベースが同一の装置内に構成されていてもよい。
プロジェクト管理端末105(情報処理装置)は、プロジェクト管理サーバ100で管理しているプロジェクトの進捗状況の入力、承認をする際のユーザ入力端末である。開発されたアプリケーションを実行する。LANなどのネットワーク104内に配置されてもよいし、またインターネット上やクラウド上に配置されてもよい。
開発者端末101a〜101b(情報処理装置)は、プロジェクト管理サーバ100と協調してプログラム開発サーバ102上で開発する際のユーザの入力端末である。LANなどのネットワーク104内に配置されてもよいし、またインターネット上やクラウド上に配置されてもよい。また、プロジェクト管理端末105と同一の装置内に構成されても良い。
次に、図2を参照して、図1に示したプロジェクト管理サーバ100およびプログラム開発サーバ102、データベースサーバ103、プロジェクト管理端末105、ならびに開発者端末101のハードウェア構成について説明する。
図2は、本発明の実施形態における各種装置のハードウェア構成を示す図である。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
ビデオコントローラ(VC)206は、ディスプレイ210等の表示器への表示を制御する。表示器はCRTでも良いし、液晶ディスプレイでも構わない。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するためのプログラムは外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明で生成されるプログラムやプロキシクラスファイル、プログラムが用いる定義ファイル及び各種情報テーブルは外部メモリ211に格納されており、これらについての詳細な説明は後述する。
なお、図1の構成は一例であり、用途や目的に応じて様々な構成例があることは云うまでもない。その他の構成例として、プロジェクト管理サーバが、ネットワークと接続され、通信可能な不図示のパーソナルコンピュータ等の情報処理装置からプログラム生成命令を受けることによって、プログラムの生成を行うことも可能である。
すなわち、本発明の機能が実現されるものであれば、単体の機器であっても、複数の機器からなるシステムであっても、ネットワークを介して処理が行われるシステムであっても本発明を適用することができる。
また、ここで、ハードディスクドライブ(HDD)等の外部メモリ211に記憶された情報は、それぞれデータベース(DB)等に格納されていても良い。
次に、図3を参照して、図1に示したプロジェクト管理サーバ100のソフトウェア構成について説明する。
図3は、本発明の実施形態におけるプロジェクト管理システムのソフトウェア構成を示す図である。
301は、プロジェクト管理サーバが有する属性情報取得部で、データベースサーバ103の人事DB332よりユーザの役割(役職やロール等)を取得する。検索条件記憶部302は、ユーザにより入力された検索条件を検索条件DB310に記憶する。検索条件取得部303は、検索条件DBから役割が現在ログインしているユーザと同じ検索条件を取得し、検索条件表示制御部304に渡す。現在ログインしているユーザと役割が同じ検索条件を取得した検索条件表示制御部304は、取得した検索条件情報を開発者端末101もしくはプロジェクト管理端末105に送信し、開発者端末101もしくはプロジェクト管理端末105のディスプレイ210に検索条件候補を表示する。
また、ユーザID取得部306は、開発者端末101もしくはプロジェクト管理端末105にてログインしているユーザのユーザIDを取得し、取得したユーザIDをユーザID別検索条件設定部308に渡す。ユーザID別検索条件設定部308は、取得したユーザIDを元に検索条件DBの内、ユーザIDに依存する検索条件を設定する。
また、305は、過去に検索した検索条件式を記憶した検索実施状況DB311から、現在ログインしているユーザと役割が同じ検索条件を抽出して、最も多く検索された検索条件をピックアップする検索条件最頻値選択部で、その結果で得られた検索条件情報を検索条件表示制御部に渡す。
また、307は、過去に検索した検索条件式を記憶した検索実施状況DB311から、現在ログインしているユーザと役割が同じで、かつ検索日時が年、月、週、日の中で最も近い日時の条件をピックアップする検索条件最近接選択部で、その結果で得られた検索条件情報を検索条件表示制御部に渡す。
検索の結果得られる帳票の進捗状況は進捗状況DB331に記憶される。
次に、プロジェクト管理サーバ100の基本的な処理フローについて、図4を参照して説明する。
図4は、本発明の実施形態におけるプロジェクト管理システムの基本的な処理フローを示す図の一例である。なお、図4のフローチャートはプロジェクト管理サーバ100のCPU201により実行されるものであり、図4のS401からS409の各ステップはプロジェクト管理サーバ100のCPU201が実行する処理ステップである。
図4のフローチャートは、プロジェクト管理サーバ100において、プログラムの開発者ユーザやプロジェクトの管理者ユーザが開発者端末101やプロジェクト管理端末105(以後、クライアント)から本プロジェクト管理プログラムを呼び出した際に開始される。
まず、図4のステップS401において、クライアントのCPU201は、現在アクセスしているユーザを特定するため、ユーザIDの入力を受け付ける。図8を参照して、ユーザIDの入力を受け付ける際のクライアントに表示される画面イメージの一例を説明する。
図8は、本発明の開発者端末101又はプロジェクト管理端末105におけるユーザID認証画面の模式図である。
クライアントのCPU201は、クライアントのディスプレイ210に図8のような画面イメージ情報を表示し、ユーザID入力欄801やパスワード入力欄802を表示し、プログラムの開発者ユーザやプロジェクトの管理者ユーザからキーボード209等からユーザIDやパスワードの入力を受け付ける。
クライアントのCPU201は、図8のLOGINボタン803が押下されると、入力されたユーザIDとパスワードにより、図示しない認証システムによってユーザ認証を行い、認証後にユーザIDをプロジェクト管理サーバ100に送信する。
なお、ユーザ認証はプロジェクト管理サーバにおいて実施しても良いし、他のサーバ(LDAP等)で認証しても良い。図4のフローチャートの説明に戻る。
次に、ステップS402において、プロジェクト管理サーバ100のCPU201は、認証されたユーザIDを受信し、次のステップS403へと移行する。
次に、ステップS403において、プロジェクト管理サーバ100のCPU201は、人事DB332から人事情報(属性情報)を取得する。図6を参照して、人事情報の一例を説明する。
図6は、本発明に適応される人事DB332の一例を示す模式図である。
図6において、人事DB332は、各ユーザのユーザID601を有し、ユーザIDに対応した氏名602やユーザの役割603、開発分野604、担当プロジェクト605、担当フェーズ(工程)606などを有する。
例えば、プロジェクト管理サーバ100のCPU201が、図4のステップS401でユーザIDが「02001」という入力情報を受け取ると、607行のように、ユーザIDが「02001」である情報として、氏名が「観音花子」、役割は「課長」、開発分野は現在「販売管理」、担当プロジェクトは「A,B,C」の3つであり、担当(承認)するフェーズは全てのフェーズ(工程)であるという情報を取得する。図4のフローチャートの説明に戻る。
次に、ステップS404において、プロジェクト管理サーバ100のCPU201は、検索条件DB310から情報を取得し、取得した検索条件を設定して、クライアントに設定した検索条件を送信する。ステップS404の検索条件の設定・送信処理の詳細を図5を参照して説明する。
図5は、本発明の実施形態におけるプロジェクト管理サーバ100の処理フローを示す図の一例である。なお、図5のフローチャートはプロジェクト管理サーバ100のCPU201により実行されるものであり、図5のS501からS509の各ステップはプロジェクト管理サーバ100のCPU201が実行する処理ステップである。また、図示していない情報の送信先や受付先は、開発者端末101又はプロジェクト管理端末105(クライアント)である。
図4のステップS404の処理が実行されると、図5のフローチャートが開始される。
まず、図5のステップS501において、プロジェクト管理サーバ100のCPU201は、ステップS402で取得したユーザIDの人事情報から役割情報を抽出する。以下では、役割情報のみを抽出しているが、開発分野や担当プロジェクトなど、他の人事情報と関連付けて検索条件を設定することも出来る。
ステップS501では、プログラムの開発者ユーザやプロジェクトの管理者ユーザ(以後、現在ログインしているユーザ)の役割情報を取得し、検索条件DB310から同じ役割の検索条件情報を取得する。図7を参照して、検索条件情報の一例を説明する。
図7は、本発明に適応される検索条件DB310の一例を示す模式図である。
図7において、検索条件DB310は、各ユーザが登録している検索条件の情報であり、登録されている検索条件を1レコード(1行分)として記憶している。
図7の検索条件DBが記憶している項目には、以下のような項目を含めることができる。
例えば、「課長」や「プログラマ(PG)」、「プロジェクトリーダ(PL)」などの値を有する役割項目700、検索範囲のプロジェクトとして、「全て(all)」、「担当範囲のみ(担当)」などの値を有する検索範囲プロジェクト項目701、ユーザが選択し易いように名付けた検索条件名項目702、ユーザID項目703、氏名項目704などからなる。
検索条件項目の705〜709を説明するために、図9の検索条件設定画面を参照して説明する。
図9は、本発明の開発者端末101又はプロジェクト管理端末105における検索条件設定画面を示した模式図である。
プロジェクト管理サーバ100のCPU201は、後述するステップS504やステップS506、S507でクライアントに図9のような画面イメージ情報を送信する。
以下で、図9の入出力項目欄を説明する。
図9の氏名表示欄901は、現在ログインしているユーザの名前を表示している。またプロジェクト指定入力欄902は進捗状況を確認するプロジェクトを指定する。ボタン903はログイン中のユーザが「お気に入りに登録」ボタン910で登録した検索条件を再現するためのお気に入り検索候補ボタンである。同役割の検索候補入力欄904は、検索条件DBに記憶された検索条件の中でログインユーザと同じ役割の検索条件をドロップダウンで選択できる入力欄である。ステータス別検索条件チェックボックス905はログインユーザが確認したいフェーズ(工程)のステータスを選択するためのチェックボックスであり、進捗状況は上から順に下に進むほど、進捗状況が進んでいる。すなわち、各フェーズ(工程)は「要件定義」⇒「設計」⇒「実装」⇒「総合テスト」の順番で進捗が進み、各工程の中でのステータスの順番は「作業前」⇒「作業中」⇒「承認待ち」⇒「承認中」⇒「終了」である。優先度入力欄906は作業の優先度を上げると指定された業務かどうかを判断する入力欄である。検索日時入力欄907は、検索を行う主な時期を入力する入力欄であり、「月初め」や「月末」、「週初め」、「週末」などが入力可能なドロップダウンの選択欄である。検索日時入力欄907は、他に「朝」や「夕方」等の時間帯を入力することも可能である。担当者入力欄908は、業務の担当者毎に検索条件を指定する欄であり、承認者入力欄909は業務の承認者毎に検索条件を指定する欄である。
図7の検索条件DBと、図9の検索条件設定画面の入出力項目欄との対応は、以下の通りである。
図7 図9
検索範囲プロジェクト:701 ⇒ プロジェクト指定入力欄:902
検索条件名:702 ⇒ 検索候補入力欄:904
氏名:704 ⇒ 氏名表示欄:901
ステータス別検索条件:705 ⇒ ステータス別検索条件チェックボックス:905
優先度:706 ⇒ 優先度入力欄:906
検索日時:707 ⇒ 検索日時入力欄:907
担当者ID:708 ⇒ 担当者入力欄:908
承認者ID:709 ⇒ 承認者入力欄:909
なお、ステータス別検索条件705の欄は、それぞれのフェーズ(工程)でのステータス別検索条件チェックボックスでチェックが付いているステータス、すなわち確認したいステータスに1、確認しないステータスに0を入力した数列で示されている。
また、706から709に記載の「any」とは検索条件として何も指定していない状態を示す。707の「EOM.(End of Month)」や「Early the week」等は、検索日時を示し、それぞれ、月末や週初めに検索を実行することを示している。
検索条件の論理積や論理和について、図7の712に記載のような条件を予め検索条件DBに記憶している。
また、検索条件DBの一行(1レコード)はそれぞれ検索ID714によってユニークなIDが設定されている。図5のフローチャートの説明に戻る。
図5のステップS501において、現在ログインしているユーザと同じ役割の検索条件を検索条件DBから取得する。例えば、現在ログインしているユーザの役割が「課長」であった場合は、図7の役割項目700が「課長」である検索条件である、710行と711行とを取得する。
次に、ステップS502において、プロジェクト管理サーバ100のCPU201は、現在ログインしているユーザと同じ役割の検索条件情報があるかどうかを判断する。
ステップS502において、現在ログインしているユーザと同じ役割の検索条件情報がないと判断された場合は、ステップS509へと移行し、ステップS509において、プロジェクト管理サーバ100のCPU201は、予め決められた検索条件、もしくは検索条件として未入力の情報を設定し、クライアントに送信して、図5のフローチャートを終了する。
一方、ステップS502において、現在ログインしているユーザと同じ役割の検索条件情報があると判断された場合は、ステップS503へと移行する。
ステップS503以降で、プロジェクト管理サーバ100のCPU201は、検索条件DBで取得した検索条件情報をクライアントに送信し、ユーザに検索条件候補を提示する。
まず、ステップS503において、プロジェクト管理サーバ100のCPU201は、現在ログインしているユーザと同じ役割の検索条件情報が複数あるかどうかを判断する。
現在ログインしているユーザと同じ役割の検索条件情報が複数ある場合は、ステップS504へと移行し、一方、現在ログインしているユーザと同じ役割の検索条件情報が一つしかない場合はステップS506へと移行する。
ステップS504において、プロジェクト管理サーバ100のCPU201は、該当する複数の検索条件情報の検索条件名702及び氏名704をクライアントに送信する。なお、ここで送信する情報は氏名704の他に、役割700や検索範囲プロジェクト701でも良い。以下では検索条件名702と氏名704を送信する場合で考慮する。
複数の検索条件情報を受信したクライアントの画面表示イメージを、図10を参照して説明する。
図10は、本発明の開発者端末101又はプロジェクト管理端末105における検索条件設定画面を示した模式図である。
図10では、氏名表示欄が1001のように、「中村聡」という「課長」(図6の608行参考)がログイン後に検索条件設定画面を表示した例である。「中村聡」の場合、お気に入りの検索候補を登録していないので、図9の903などのようなお気に入り検索候補ボタンは表示されていない。
図10の検索候補入力欄1002を現在ログインしているユーザがクライアントの図示しないマウス等で選択すると、ステップS501で取得した検索条件情報を検索条件候補として検索条件名702及び氏名704をドロップダウンリストとして表示する。
具体例を、図10の「中村聡」という「課長」の役割の場合で考える。図7の例を参照すると、700が「課長」の検索条件情報である710行、711行のレコードを表示する。710行は検索条件名702が「月末確認」で氏名704が「観音花子」であり、711行は検索条件名702が「週頭確認」で氏名704が「観音花子」である。図10の例では検索候補入力欄1002をマウス等で選択すると、1003のように、検索条件情報の名前である「観音花子(月末確認)」及び「観音花子(週頭確認)」を表示する。図5のフローチャートの説明に戻る。
図5のステップS504で複数の検索候補情報をクライアントに送信すると、プロジェクト管理サーバ100のCPU201は、ステップS505においてクライアントから、最初に表示する検索条件候補を取得する。検索条件候補の取得の具体例を図10を参照して説明する。
図10の画面イメージがクライアントのディスプレイ210に表示されている場合に、現在ログインしているユーザが、マウス等により検索候補入力欄1002を選択後、ドロップダウンリストに出力される1003の欄「観音花子(月末確認)」及び「観音花子(週頭確認)」から、所望の検索条件候補を選択する。図5のフローチャートの説明に戻る。
クライアントのCPU201は、現在ログインしているユーザにより選択された検索条件の情報をプロジェクト管理サーバ100に送信する。
次に、ステップS506において、プロジェクト管理サーバ100のCPU201は、クライアントで選択された検索条件の情報に対応するステップS501で取得した検索条件をクライアントに送信する。検索条件を受信したクライアントの画面表示イメージを、図11を参照して説明する。
図11は、本発明の開発者端末101又はプロジェクト管理端末105における検索条件設定画面を示した模式図である。
図11は、検索候補入力欄1102に「観音花子(月末確認)」が指定されているように、図10の検索候補入力欄1002において、ユーザ「中村聡」(1101)が同じ役割である「課長」の「観音花子」の月末確認と同じ業務を実施する際に検索候補として参考にする例である。図10の検索候補入力欄1002で「観音花子(月末確認)」(1003)が選択された場合に図11の画面に遷移する。
図11は図7の710行のレコードである、「観音花子」(氏名704)の「月末確認」(検索条件名702)が適応された例で、氏名表示欄1101以外のステータス別検索条件チェックボックス1103やプロジェクト指定入力欄1104が該当する表示になっている。図5のフローチャートの説明に戻る。
図5において、ステップS506やステップS507の処理が終了すると、図5のフローチャートの処理を終え、図4のフローチャートに戻る。
なお、上記の説明では、ユーザの氏名(704)を検索候補入力欄1002のドロップダウンリストに表示しているが、氏名の代わりに役割(700)を表示しても良い。ユーザの氏名の代わりに役割を表示すると、例えば、710行のレコードは、「課長(月末確認)」、711行のレコードは「課長(週頭確認)」などと表示され、現在ログインしているユーザと同じ役割の検索条件を容易に再利用できる。
以上のように、ユーザ毎の役割により検索条件を記憶しておくことにより、現在ログインしているユーザが、役割の同じユーザ毎の承認・確認業務の検索条件を容易に再利用することが出来るという効果を有している。
図4のステップS404において、プロジェクト管理サーバ100から送信された検索条件を、ステップS405において、クライアントのCPU201が受信し、クライアントのディスプレイ210に表示する。クライアントのディスプレイ210に表示した例としては、図9や図11等の検索条件設定画面である。
ステップS405において、クライアントのCPU201は、現在ログインしているユーザからクライアントのキーボード209などにより図9や図11で表示された検索条件の変更などの検索条件再設定を受け付け、受け付けた検索条件をプロジェクト管理サーバ100に送信する。
再設定された検索条件を受け付けたプロジェクト管理サーバ100のCPU201は、ステップS406において、検索条件を入力し、新たな検索条件としてステップS407において、検索条件を検索条件DBに保存する。この保存の際、検索条件は後述する検索条件名を添えて保存しても良いし、無条件で担当者の役割毎やユーザID毎に保存しても良い。
このユーザ毎もしくは役割毎に検索条件の保存することにより、後にログインするユーザで役割が同じユーザの承認・確認業務の検索条件を容易に再利用することが出来るという効果を有している。
次にステップS408へ移行し、ステップS408において、プロジェクト管理サーバ100のCPU201は、検索条件に「担当プロジェクト」や「担当プロジェクト承認者」などの現在ログインしている担当プロジェクトやユーザに関連する検索条件が設定されているかどうかを判断する。
ユーザ担当プロジェクトの検索条件が付与されている場合は、ステップS409へと移行し、ユーザ担当プロジェクトの検索条件が付与されていない場合は、ステップS410へと移行する。
現在ログインしているユーザ担当プロジェクトの検索条件が付与される例として、図12を参照して説明する。
図12は、本発明の開発者端末101又はプロジェクト管理端末105における検索条件設定画面を示した模式図である。
図12は、氏名表示欄1201に「田中浩志」とあるように、役割が「PG」の「田中浩志」(図6の610行レコード参照)がログイン後に検索条件設定画面を表示した例である。このユーザが図12のような検索条件をお気に入りに登録しようとする際の表示画面イメージである。
図12の表示画面イメージのように、プロジェクト指定入力欄1204に「担当プロジェクト」と入力されていると、ログインしているユーザの担当プロジェクトを検索する条件となる。このプロジェクト指定入力欄1204には、他に「Aプロジェクト」や「Bプロジェクト」などの固有のプロジェクトを指定することも可能であり、その場合は、ユーザに対応した値ではなく、固有の検索条件情報となる。また、承認者入力欄1205に「担当プロジェクト承認者」と入力されていると、ログインしているユーザのプロジェクトの承認者が管理しているプロジェクトを検索する条件となる。この承認者入力欄1205には、他に固有の承認者の氏名を入力してもよく、その場合は、承認者ID項目709列には承認者IDとして、例えば「02001」などの固有のユーザIDが指定される。
図12の検索条件で更にステータス別検索条件チェックボックス1202がチェックされている状態で、お気に入りに登録ボタン1203を押下すると、名前を登録するポップアップ画面1206を表示し、1207に登録する検索条件名を入力する。名前を例えば、現在ログインしているユーザが1207に入力されているように「設計終了・実装中案件」と入力して、OKボタン1208を押下すると、クライアントのCPU201は、図12の検索条件と1207の検索条件名とを関連付けて、プロジェクト管理サーバ100に送信する。
図12の検索条件と1207の検索条件名とが関連付けられた情報を受信したプロジェクト管理サーバ100のCPU201は、検索条件DBに図12の検索条件と1207の検索条件名とで関連付けられた情報を新たな検索条件として登録する。登録された検索条件DBの例を図7を参照して説明する。
図7の713行のレコードは、図12の検索条件を検索条件DBに設定した例である。
このユーザが図12のような検索条件をお気に入りに登録しようとする際の表示画面イメージである。
図12の表示画面イメージを検索条件DBに適応させると、図7の713行のようになる。すなわち、プロジェクト指定入力欄1204に入力されている「担当プロジェクト」は、図7の713行の検索範囲プロジェクト項目701列の「handling project」に該当する。また、承認者入力欄1205に入力されている「担当プロジェクト承認者」は、図7の713行の承認者ID項目709列の「handling project authorizer」に該当する。また、1207で入力された検索条件名「設計終了・実装中案件」は、図7の713行の検索条件名項目702列の「設計終了・実装中案件」に該当する。図4のフローチャートの説明に戻る。
上述のように、現在ログインしている担当プロジェクトやユーザに関連する検索条件が設定されている場合、図4のステップS409において、ユーザが担当しているプロジェクトの情報を取得するため、進捗状況DBから進捗状況情報を取得する。図15を参照して進捗状況DBを説明する。
図15は、本発明に適応される進捗状況DB331の一例を示す模式図である。
図15には、1504に各プロジェクト内での進捗状況が記憶されている。1501にはプロジェクト名、1502には各プロジェクトでの作業フェーズ(工程)、1503には各作業フェーズ内での複数のタスク毎に進捗状況が1504に記憶されている。1504の状態(ステータス)欄に日付の入力されている状態が現状のステータスであることを示しており、日付が未入力のタスクは未実行タスクを意味する。1506はユーザにより入力された緊急度が設定されている。また、1507と1508には予め設定されている担当者と承認者がユーザIDで設定されている。図中ではユーザIDだけでは分かり辛いため、括弧書きで対応するユーザ名も記載している。
さらに、状態(ステータス)欄1504の「作業中」、「承認待ち」、「承認済」のステータスの作業フェーズ(工程)1502毎に対応する実際のステータスとしては1511〜1513の列の情報である。
図4のステップS409において、ユーザが担当しているプロジェクトの情報を取得する例として、図13を参照して説明する。
図13は、本発明の開発者端末101又はプロジェクト管理端末105における検索条件設定画面を示した模式図である。
図13は、現在ログインしているユーザが「加藤愛」であり、「加藤愛」が検索条件候補入力欄1302で、図12で記憶した「田中浩志」の「設計終了・実装中案件」(図7の713行のレコード)を選択した際の検索条件設定画面である。
氏名表示欄1301に「加藤愛」と表示された検索条件設定画面において、現在ログインしているユーザである「加藤愛」が、クライアントのマウス等で検索条件候補入力欄1302の「田中浩志(設計終了・実装中案件)」を選択すると、クライアントのCPU201は、プロジェクト管理サーバ100から図7の713行のレコードを取得し、図13のような画面イメージを表示する。
ステータス別検索条件チェックボックス1303は、「田中浩志」の「設計終了・実装中案件」の図7の713行のレコードを反映した検索条件となり、図12で設定された項目にチェックが付いている。また、プロジェクト指定入力欄1307は図7の713行のレコードを反映した(図12の1204と同じ)「担当プロジェクト」となり、承認者入力欄1308は図7の713行のレコードを反映した(図12の1205と同じ)「担当プロジェクト承認者」となる。
プロジェクト指定入力欄1307に「担当プロジェクト」と指定されているため、検索条件に該当するプロジェクトとしては、担当者である「加藤愛」が指定されている図15の1507列(1520)が担当する「Aプロジェクト」(1521)となる。
また、承認者入力欄1308に「担当プロジェクト承認者」と指定されているため、検索条件に該当するプロジェクトとしては、担当者である「加藤愛」が指定されている図15の1507列(1520)の承認者である「観音花子」の指定されている図15の1508列(1522)が担当する「Aプロジェクト」(1521)となる。
以上のように、検索条件に現在ログインしている担当プロジェクトやユーザに関連する検索条件を設定することにより、他のユーザがログインして検索条件を設定する際にもユーザ毎に検索条件が柔軟に変えることが可能になる。
図4のフローチャートの説明に戻る。
ステップS409が終了するか、ステップS408において、検索条件に「担当プロジェクト」や「担当プロジェクト承認者」などの現在ログインしている担当プロジェクトやユーザに関連する検索条件が設定されていない場合はステップS410へと移行する。
ステップS410では、プロジェクト管理サーバ100のCPU201は、ステップS406もしくはステップS409で設定された検索条件をクライアントに送信する。ステップS411において、クライアントのCPU201は、設定された検索条件をクライアントのディスプレイ210に表示させる。
ステップS411でクライアントが検索条件を受信してユーザにより検索ボタンを押下され、プロジェクト管理サーバ100に検索を実行させ、進捗状況DBからデータを受信して、検索結果を受信し、検索結果からクライアントのディスプレイに電子帳票を表示するまでの流れ(S410〜S413)を図13、図14を参照して説明する。
図13の検索条件が設定されている状況において、検索ボタン1304がクライアントのマウス等の指示で押下されると、クライアントからプロジェクト管理サーバ100に検索実行が指示される。プロジェクト管理サーバ100のCPU201は、検索実行が指示されると、進捗状況DBに設定された検索条件で検索をするように指示する。進捗状況DBから返ってくるデータをクライアントに送信したイメージを図13の1305に示す。返ってくる検索結果は、「加藤愛」の担当の「Aプロジェクト」の「実装」フェーズの「作業前」、「作業中」、「承認待ち」、「承認済」のステータスの電子帳票なので、図15のステータス欄1504で対応する検索結果として、1305がクライアントのディスプレイ210に表示される。
検索結果1305の内、現在ログインしているユーザが内容を確認したい電子伝票にクライアントのマウス等の指示により、1306のチェックボックス欄にチェックを入れ、帳票表示ボタン1310を押下する。クライアントのCPU201は、チェックが入った該当する電子帳票をクライアントに表示するために、プロジェクト管理サーバ100にチェックが入った該当する電子帳票の取得要求をする。プロジェクト管理サーバ100のCPU201は、該当する電子帳票を取得するために、進捗状況DBから電子帳票データを取得する。プロジェクト管理サーバ100のCPU201は、取得した電子帳票データをクライアントに送信し、電子帳票データを受信したクライアントのCPU201は、クライアントのディスプレイ210に、電子帳票を表示する。図14を参照してプロジェクト管理サーバ100より取得する電子帳票データの例を説明する。
図14は、本発明の開発者端末101又はプロジェクト管理端末105における進捗状況データ表示画面を示した模式図である。
図14の1401のような画面イメージをクライアントに表示させることにより、現在ログインしているユーザは、プロジェクト内のタスクの進捗状況を把握する。
なお、進捗状況DBとは別に図示しない電子帳票DBや添付ファイル管理サーバを有していても良い。電子帳票DBや添付ファイル管理サーバを有している場合は、プロジェクト管理サーバ100のCPU201が電子帳票データを受信する先は、電子帳票DBや添付ファイル管理サーバとなる。図4のフローチャートの説明に戻る。
図4のステップS413において電子帳票データを表示すると、クライアントのCPU201は、ユーザから電子帳票データの修正や承認操作を受け付け、プロジェクト管理サーバ100に送信する。送信された修正データや承認操作を受信したプロジェクト管理サーバのCPU201は、ステップS414において、修正データや承認操作データを進捗状況DBに送信して一連の処理を終える。
以上のように、プロジェクトの進捗状況の検索条件をユーザの属性と共に記憶するにより、プロジェクトリーダ等が進捗状況を把握する際に、各タスクや各工程、プロジェクト毎に複雑な検索条件を容易に設定可能とする効果を有する。
また、他の効果として、上記構成によりプロジェクト管理サーバの設定を管理するプロジェクト管理サーバ管理者が各役割毎に検索条件を設定しなくても、役割毎にユーザが検索条件を作成するので、プロジェクト管理サーバ管理者が役割毎の検索条件を設定する必要が無いという効果もある。
さらに、プロジェクト管理サーバ管理者はプロジェクト管理サーバの検索画面を役割毎に作成する必要が無く、全ての役割に共通の検索画面を作成するだけでユーザが役割毎に検索条件を作成することにより検索画面をデフォルトで表示可能という効果も有している。
<第2実施形態>
上記第1実施形態では、検索条件DB310にある検索条件情報から、同じ役割の検索条件情報をピックアップしているが、検索条件DB310の検索条件情報を利用する時期やこれまでに検索された回数の多い条件を考慮して最初の検索条件を決定するように構成してもよい。
第2実施形態では、検索実行時に検索実施状況DB311に実行した検索条件を検索ID714と関連付けて記憶する。検索実施状況DB311に記憶する処理はS410において進捗状況DB331に送信すると同時に実施される。
図16は、本発明の第2実施形態における検索実施状況DB311の一例を示す模式図である。
図16の1601は、検索を実行した検索実行ユーザのユーザIDであり、1602には説明の為にユーザIDに対応する検索実行ユーザ氏名を示している。1603は検索実行ユーザ1602の役割を役割毎に示している。1604は図7の714で指定される検索IDであり、1604で示される検索IDに対応する検索条件名を説明の為に1605に示している。検索日1606や検索時間1607は、検索を実施した日時を示しており、後述する検索日時の分析などに利用する。1608は検索対象のプロジェクトである。図16の例では1回の検索で1つのプロジェクトしか指定していないが、1回の検索で複数のプロジェクトを指定することも可能である。
第2実施形態における処理の流れを図5を参照して説明する。
まず、図5のステップS501において、プロジェクト管理サーバ100のCPU201は、検索条件DB310から検索条件情報を取得するとともに、検索実施状況DB311から過去の検索実施状況を取得する。
次にステップS502〜S503は前述した通りの判断分岐を行う。
次にステップS504において、プロジェクト管理サーバ100のCPU201は、検索条件の候補として複数の検索条件を送信するが、その中でも検索条件の表示優先順位を設定することにより、現在ログインしているユーザが極力検索条件を変更しないで、望む検索条件を選択できるようにすることを可能にする。
ステップS504内での処理を説明すると、ステップS501で取得した検索実施状況DB311のデータを取得し、検索役割1603が同じ役割の検索ID1604を抽出し、抽出された検索ID1604の多い順でソートして、検索IDが多い順に検索条件候補としてクライアントに送信する。
例えば、図16の検索実施状況DBの状況で現在ログインしているユーザが「課長」という役割だった場合、検索IDとして最も多いのは検索IDが「2」の「週頭確認」という検索条件名の検索条件となり、2番目に多い検索IDとして「1」の「月末確認」という検索条件名の検索条件となる。従って、現在ログインしているユーザが「課長」の場合、図9のプロジェクト指定入力欄902の最初の検索候補として、検索条件DB310の図7の711より「観音花子(週頭確認)」が指定されて表示される。
また、他の実施例としてステップS504において、ステップS501で取得した検索実施状況DB311のデータを取得し、抽出された検索条件情報の中で、図7の検索日時707の条件に一致しているもしくは検索日時に近い検索条件から順にピックアップしてクライアントに送信しても良い。
例えば、図16の検索実施状況DBの状況で現在ログインしているユーザが「課長」という役割であり、検索日が「2011年9月30日」だった場合、「2011年9月30日」は月末に該当するので、検索日時として、月末「EOM(End of Month)」の検索条件候補が最初の検索候補としてピックアップされ、図7の検索日時が「EOM」に該当する検索IDが「1」の「観音花子(月末確認)」の検索条件情報が最初に指定されて表示される。
また、他の実施例としてステップS504において、ステップS501で取得した検索実施状況DB311のデータを取得し、抽出された検索条件情報の検索日及び検索時間を解析し、月内の検索日や週内、年内の検索日、検索時間等が近い検索条件情報から順にピックアップしてクライアントに送信しても良い。
例えば、図16の検索実施状況DBの状況で現在ログインしているユーザが「PG」という役割であり、検索を実施しようとした時間が「7:58:00」の場合、検索時間が「7:58:00」に近い役割が「PG」の検索条件として、検索IDが「108」の「設計終了・実装中案件」という検索名の検索条件の検索時間の平均が最も近く、標準偏差も十分小さいと考えられるので、最初に図7の713の「田中浩志(設計終了・実装中案件)」の検索条件情報が最初に指定されて表示される。
これらの実施例のように、現在ログインしているユーザがこれから選ぶであろう検索条件情報を予測して検索条件候補として表示することにより、ユーザが検索条件を選ぶ手間を省くことを可能にする。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以下、図17に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なプログラムの構成について説明する。
図17は、本発明に係る情報処理装置で読み取り可能なプログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図4のプロジェクト管理サーバに関する機能、図5に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。