JP2007328791A - ネットワークベースのプロジェクトスケジュールマネージメントシステムにおけるデータベースの使用 - Google Patents

ネットワークベースのプロジェクトスケジュールマネージメントシステムにおけるデータベースの使用 Download PDF

Info

Publication number
JP2007328791A
JP2007328791A JP2007152149A JP2007152149A JP2007328791A JP 2007328791 A JP2007328791 A JP 2007328791A JP 2007152149 A JP2007152149 A JP 2007152149A JP 2007152149 A JP2007152149 A JP 2007152149A JP 2007328791 A JP2007328791 A JP 2007328791A
Authority
JP
Japan
Prior art keywords
task
schedule
project
editor
date
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007152149A
Other languages
English (en)
Inventor
Tetsuro Motoyama
哲郎 元山
Avery Fong
フォング アヴェリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2007328791A publication Critical patent/JP2007328791A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】プロジェクトメンバーに対する具体的なタスクの割り当てを自動化し、個人スケジュールとプロジェクトスケジュールを決めるのに必要なタスクを自動化する。
【解決手段】各メンバーに対して、階層組織化されたタスク構造の各レベルにおいてメンバータスクを一意的に識別するメンバータスク識別子を生成するために使用するメンバー識別子を格納する段階を有する。また、新しいサブタスクがタスク構造階層の一レベルに追加されたメンバースケジュールエディタセッションの完了の一メンバーの要求に応じて、プロジェクトチームデータベーステーブルから、一メンバーのメンバー識別子に基づいて、一レベルの一メンバーの最高のタスク識別子を読み出し、一レベルの一メンバーの最高のタスク識別子を増加することにより、新しいサブタスクのタスク識別子を生成する段階と、新しいサブタスクに生成したタスク識別子を関連づける段階とを有する。
【選択図】図6

Description

本発明はプロジェクトマネージメントに関し、特にネットワークベースの開発スケジュールマネージメントシステムにおけるデータベースの使用に関する。
本願は、次の米国特許出願の関連出願である:
第11/449,116号(2006年6月7日出願、発明の名称「ネットワークベースプロジェクトスケジュールマネージメントシステムにおけるスケジュールエディタの使用」);第11/449,133号(2006年6月7日出願、発明の名称「ネットワークベースプロジェクトスケジュールマネージメントシステムにおけるデータベースの使用」);第09/881,250号(2001年6月13日出願、発明の名称「ネットワークを介した開発プロジェクトファイルの自動マネージメント」);及び第10/059,694号(2002年1月28日出願、発明の名称「自動的にタスクスケジュールが更新されるネットワークを介したプロジェクトマネージメント」)。これらの文献の内容はすべて、その全体を参照援用する。
製品開発プロジェクトは、一般的に、監視と管理に大きな手間がかかる。さらに、コンピュータソフトウェア開発プロジェクトは、管理が本来的に困難である。この困難性は、一部には、ソフトウェアパッケージを構成する多数のタスクとそれに付随する成果物と、これらのタスクと成果物に付随する大量のペーパーワークとプロジェクトファイルによる。他の貢献要因としては、ソフトウェアパッケージの開発サイクルにおける個々のタスクと成果物との間にできる複雑な相互依存がある。さらに別の貢献要因は、ソフトウェア開発に関連する設計仕様を作成・維持する必要である。
開発プロジェクトの管理には、一般的に、プロジェクト文書、スケジュール等へのアクセスの組織化、維持管理、制御が含まれる。さらにまた、会社組織には同時に進行する複数の開発プロジェクトがあることが多く、文書管理の手間が非常に大きくなる。歴史的には、マスタープロジェクトスケジュールの管理には、他のタスクもあるが、スケジューリングアプリケーションへのデータのマニュアル入力、スケジュール間のリンクのマニュアル生成、及びマスタープロジェクトスケジュールへの個々の開発者のタスクスケジュールのマニュアル集積が含まれる。これらは面倒で間違いが起こりやすいタスクであり、ほとんどまたはまったく監視や品質管理がされていない。
マスタープロジェクトスケジュールは変動することが多く、マネージメントは開発者にタスクの状況と関係するスケジュールを更新するように依頼しなければならない。しばしば、開発者からマネージメントへのフィードバックはほとんど管理されず、一定のポリシー、手続、検証プロセスに従って処理されない。このように、プロジェクトスケジュールの実際のステータスを確認することは困難であることが多い。個々のタスクの進捗がそのタスクを割り当てられた個人による主観的で自己弁護的な進捗レポートにより知らされるからである。
パブリックなネットワークやプライベートなネットワークは、プロジェクトチームのメンバーがプロジェクトに関する情報を取得する有用かつ簡単なコミュニケーションメカニズムである。プロジェクトとそのメンバーのスケジュールに関連するウェブページを作ることにより、プロジェクトチームのメンバーは容易かつすばやくにスケジュールにアクセスしてプロジェクトのステータスを判断することができる。また、スケジュール履歴は今のプロジェクトに使用することができる。しかし、プロジェクトチームの個々のメンバーのスケジュールを決めて更新するのに必要なタスクと、個々のメンバーのスケジュールをすべてまとめるのに必要なタスクはそれほど簡単なものではない。
従来、スケジュールはすべてHTMLエディタを用いて、手作業で作成していた。最初に、プロジェクトマネージャが主なプロジェクトのタスクを示した全体的プロジェクトスケジュールを決める。プロジェクトタスクをサブタスクに分割し、そのサブタスクをプロジェクトチームのメンバーに非公式に割り当てる。次に、プロジェクトチームの各メンバーはメンバースケジュールを決めるが、個々のメンバースケジュールのフォーマットには統一性がなかった。すべてのメンバーのスケジュールに基づき、プロジェクトマネージャはプロジェクトスケジュールに関連するサブタスクスケジュールをすべて集計し、全体的プロジェクトスケジュールを更新する。さらにまた、すべてのスケジュールはタスクのスケジュールのすべての履歴を保持している。グループが小さいとスケジューリングはつまらない。グループが大きいと、スケジューリング、特にすべてのサブタスクスケジュールをプロジェクトタスクスケジュールに集計することは、つまらないだけでなく複雑でもある。マイクロソフトプロジェクト等の市販のソフトウェアは、いろいろなプロジェクトのための資源管理その他の有用な機能を有している。しかし、かかる汎用プロジェクトマネージメントソフトウェアは、ソフトウェア開発チームのスケジュール管理には大きすぎる。
上記を考慮して、プロジェクトメンバーに対する具体的なタスクの割り当てを自動化し、個人スケジュールとプロジェクトスケジュールを決めるのに必要なタスクを自動化する必要がある。
ここに説明するシステムは、全体的ソフトウェア開発プロジェクトスケジュール、個別のプロジェクトメンバースケジュール、及びソフトウェアプロジェクトタスク割り当てのネットワークを介した生成・維持・管理のために使用し得る。本発明の一態様によると、ブラウザを使用してプロジェクトスケジュールとプロジェクトメンバースケジュールのテーブルを生成して更新する。スケジュールは、プロジェクトタスク(及びプロジェクトタスクの詳細タスクまたはサブタスク)と期待開始日時・終了日時(予定日時)及び本当の開始日時・終了日時(実際日時)のリストを含む。スケジュールの価値はプロジェクトが完了した時に無くなるのではない。スケジュールは、将来のプロジェクトのタスクのスケジュールを予測するために使用する重要な情報を含んでいる。
本システムは、ウェブブラウザを介してアクセスする、プロジェクトのメンバーが様々なタスクを実行する3つのエディタを有する。情報はウェブサーバとウェブブラウザ間でやりとりされ、データベースを使用してすべての情報を維持する。プロジェクトマネージャはタスク割り当てエディタを使用して、個々のプロジェクトメンバーにタスクを割り当てられる。プロジェクトマネージャは、プロジェクトスケジュールエディタを使用して、プロジェクトスケジュールを最初に生成し、全体的プロジェクトスケジュールを示すことができる。プロジェクトスケジュールを生成した後、各プロジェクトメンバーは、プロジェクトスケジュールに関係するタスクを含む自分のメンバースケジュールをメンバースケジュールエディタを用いて生成することができる。プロジェクトメンバーはタスクを完了すると、メンバースケジュールエディタを介して自分のスケジュールを更新する。プロジェクトタスクのすべてのサブタスクが完了すると、プロジェクトマネージャはプロジェクトスケジュールを更新するために、すべてのメンバーのスケジュールをプロジェクトスケジュールと集約する必要がある。プロジェクトスケジュールは、メンバーのスケジュールの新しい予定日時と実際日時で更新される。メンバーのスケジュールはスケジュールの変更履歴を含んでいる。
プロジェクトスケジュールの管理と維持には、すべてのメンバーのスケジュールの集約すなわち集計が必要である。メンバーのスケジュールは全体的なプロジェクトスケジュールで生じた変更の履歴を含む。スケジュールの管理と維持は一般的には面倒なプロセスである。そこで、上記のシステムは、データベースを用いたメンバースケジュールとプロジェクトスケジュールの管理、維持、及び追跡を提供する。データベースは、システムのエディタとウェブページに情報を提供し、プロジェクトタスク、メンバータスク、対応するスケジュール、及びスケジュール履歴の間の関係を維持するために使用される。
ネットワークベースのプロジェクトスケジュールマネージメントシステムにおいて個々のメンバーのスケジュールをプロジェクトスケジュールと集約する方法を説明する。この方法を主にソフトウェア開発プロジェクトを参照して説明する。しかし、この方法を他の開発プロジェクトに適用しても本発明の利益を享受できることは当業者には明らかである。以下の詳細な説明では、説明を目的として、本発明を完全に理解してもらうために、具体的な詳細事項を開示した実施形態例を記載する。しかし、言うまでもなく、本発明はこれらの詳細がなくても実施することができる。他の場合では、ブロック図に周知の構造とデバイスを示すが、これは本発発明が不明瞭になることを避けるためである。
また、以下の説明では、この方法を主にソフトウェア開発プロジェクトの日程(年月日)のマネージメントに関して説明する。しかし、この方法を日時、すなわち年月日に加えてさらに1日のうちにおける時刻(時分秒)にも適用しても本発明の利益を享受できることは当業者には明らかである。
タスク割り当てエディタ
図1Aは、本発明の一実施形態による、タスク割り当てエディタの画面である。タスク割り当てエディタ102は、ユーザがプロジェクトにおいて完了すべきプロジェクトタスクを決めるのを支援する。組織によっては、その組織と関連して実行されるすべてのプロジェクトに共通なデフォルトプロジェクトタスクがある。プロジェクトタスクにはサブタスクが付随し、プロジェクトメンバーに割り当てられる。一般的に、プロジェクトマネージャがタスクを設定してプロジェクトメンバーに割り当てる。プロジェクトマネージャはこのタスク割り当てエディタ102を使用して、プロジェクトのプロジェクトタスクを設定し、各プロジェクトタスクのサブタスクを決め(create)、そのサブタスクをメンバーに割り当てる。タスクの割り当てに関する情報は、プロジェクトマネージャがタスクを追加して割り当てる際に、タスク割り当てエディタ102に記憶され、維持される。マネージャがタスク割り当てエディタ102とのセッションを完了すると、タスク割り当て情報はデータベースに送られ、格納され、維持される。
タスク割り当てセッションが完了して、例えばユーザが図1Aのタスク割り当てエディタ102の「終了」(Finish)ボタンを選択すると、ウェブサーバにおいて、様々なプロジェクトメンバーに割り当てられたタスクを表示するタスク割り当てウェブページ104が自動的に生成される。図1Bは、本発明の一実施形態による、タスク割り当てウェブページの一例の画面である。タスク割り当てエディタ102により入力され編集されたタスクとタスク割り当て情報は、ウェブブラウザで表示するとウェブページの形式で表示される。タスクとタスク割り当てはすべて1つ以上の(好ましくは各行が1つのタスクに対応する)データベーステーブルに格納され、タスク割り当てエディタ102とタスク割り当てウェブページ104に表示される。
一実施形態では、タスク割り当てエディタ102(図1A)は様々な動作を実行するために使用されるボタン(例えば、詳細追加(Add Details)、行を上に追加(Add Rows Above)、行を下に追加(Add Rows Below)、削除(Delete)、終了(Finish)など)を含む。「終了」ボタンによりエディタセッションは完了し、タスク割り当て情報が送信され、データベースに格納・維持される。他のボタンにより、タスクに対応する行のチェックボックスを選択することにより選択されたタスクに対してそれぞれの操作が実行される。「詳細追加」ボタンによりプロジェクトタスクの下に行が追加されるので、マネージャはサブタスクをプロジェクトメンバーに割り当てられる。「上に行を追加」ボタンと「下に行を追加」ボタンにより、選択したタスク(プロジェクトタスクまたはサブタスク)に対応する行の上か下に行が追加され、マネージャはプロジェクトタスクを追加し、またはサブタスクを追加して割り当てることができる。追加される行の数は、「下に行を追加」ボタンの隣にある「行数」メニューを選択することにより設定される。「削除」ボタンにより選択したタスクが削除され、プロジェクトからプロジェクトタスクが削除されるか、またはプロジェクトメンバーへのサブタスクの割り当てが削除される。タスク割り当てエディタ102とタスク割り当てウェブページ104については別途さらに説明する。
プロジェクトスケジュールエディタ
図2Aは、本発明の一実施形態による、プロジェクトスケジュールエディタの画面である。プロジェクトスケジュールエディタ202を使用してタスク割り当てエディタ102(図1A)において作成されたプロジェクトタスクのスケジュールを設定する。プロジェクトタスクはプロジェクトスケジュールエディタ202において作成されスケジュールされる。しかし、一実施形態では、プロジェクトスケジュールエディタ202を用いてサブタスクをプロジェクトタスクに追加してプロジェクトメンバーに割り当てることはできない。大抵、プロジェクトマネージャは、タスク割り当てエディタ102の後にプロジェクトスケジュールエディタ202を使用する。マネージャはプロジェクトスケジュールエディタ202を使用して、タスク割り当てエディタ102で追加された主要なプロジェクトタスクの初期プロジェクトスケジュールを設定できる。プロジェクトマネージャがタスクを追加してスケジューリングをしている間に、プロジェクトタスクのスケジューリングに関する情報はプロジェクトスケジュールエディタ202に記憶され、維持される。マネージャがプロジェクトスケジュールエディタセッションを完了すると、プロジェクトタスクはデータベースに送られ、格納され、維持される。
プロジェクトスケジュールセッションが完了して、例えばユーザが図2Aのプロジェクトスケジュールエディタ202の「終了」(Finish)ボタンを選択すると、ウェブサーバにおいて、プロジェクトスケジュールのテーブルを表示するプロジェクトスケジュールウェブページ204が自動的に生成される。プロジェクトサブタスクに対する個々のプロジェクトメンバーのスケジュールが作成され、及び/または更新されると、プロジェクトスケジュールエディタ202は各プロジェクトタスクスケジュールをすべてのサブタスクスケジュールとともに表示する。プロジェクトスケジュールエディタ202は、サブタスクとそれが割り当てられたプロジェクトメンバーとを表示する。エディタセッションを完了するか、図2Aのプロジェクトスケジュールエディタ202の「集約」(Consolidate)を選択することにより、各プロジェクトタスクのすべてのサブタスクスケジュールが自動的に集約または集計され、プロジェクトタスクのスケジュールが更新され、データベースのプロジェクトタスクスケジュールが更新される。
図2Bは、本発明の一実施形態によるプロジェクトスケジュールウェブページの一例の画面である。プロジェクトスケジュールウェブページ204が生成される。これは、プロジェクトタスクとそのサブタスクのスケジュールを、そのタスクまたはサブタスクが割り当てられたメンバーとともに表示するためである。プロジェクトスケジュールウェブページ204は、各プロジェクトタスクとサブタスクの前の(すなわち古くなった)スケジュールをすべて表示し、プロジェクトチームがタスクのスケジュールに生じた変更を見ることができる。プロジェクトスケジュールエディタ202により入力され編集されたプロジェクトスケジュール情報は、ウェブブラウザで表示するとウェブページの形式で表示される。プロジェクトタスクのスケジュールとサブタスクのスケジュールはすべて1つ以上の(好ましくは各行が1つのタスクに対応する)データベーステーブルに格納され、プロジェクトスケジュールエディタ202とプロジェクトスケジュールウェブページ204に表示される。
一実施形態では、プロジェクトスケジュールエディタ202(図2A)は様々な動作を実行するボタン(例えば、行を上に追加(Add Rows Above)、行を下に追加(Add Rows Below)、削除(Delete)、集約(Consolidate)、終了(Finish)など)を含む。「終了」ボタンと「集約」ボタンによりプログラムスケジュールエディタセッションは完了し、プロジェクトタスクスケジュール情報が送信され、データベースに格納・維持される。「集約」ボタンによりメンバーのスケジュールがプロジェクトスケジュールと集約され、データベースのプロジェクトスケジュールが更新される。「集約」ボタンにより、プロジェクトスケジュールエディタがプロジェクトスケジュールウェブページに再表示されるが、タスクスケジュールは更新されている。他のボタンにより、タスクに対応する行のチェックボックスを選択することにより選択されたタスクに対してそれぞれの操作が実行される。その操作はプロジェクトタスクに対してのみ実行でき、メンバーに割り当てられたサブタスクに対しては実行できない。「上に行を追加」ボタンと「下に行を追加」ボタンにより、選択したタスクに対応する行の上か下に行が追加され、マネージャはプロジェクトタスクを追加し、そのタスクのスケジュールを設定することができる。追加される行の数は、「下に行を追加」ボタンの隣にある「行数」メニューを選択することにより設定される。「削除」ボタンにより選択されたプロジェクトタスクが削除される。プロジェクトスケジュールエディタ202とプロジェクトスケジュールウェブページ204については別途さらに説明する。
メンバースケジュールエディタ
図3Aは、本発明の一実施形態による、メンバースケジュールエディタの画面である。メンバースケジュールエディタ302(個別スケジュールエディタとも呼ぶ)を使用して、個々のプロジェクトメンバーのスケジュールを作成する。一実施形態では、メンバースケジュールエディタ302は、メンバースケジュールが前に作成されている場合は、完了していないタスクのみを表示する。メンバーのタスクは、プロジェクトサブタスク及び/またはそのプロジェクトとは関係のないタスクであり得る。メンバーは、メンバースケジュールエディタ302を用いてスケジュールを設定し、変更し、タスクの結果を更新できる。メンバーの各タスクは、下のレベルのタスクにブレークダウンしてそのタスクの詳細をスケジュールすることができる。下のレベルのタスクの追加または修正は、上のレベルのタスクのスケジュールに影響を与え得る。それゆえ、「更新」ボタンが選択されると、上のレベルのタスクスケジュールが更新される。メンバーがタスクスケジュールを追加または修正している間に、タスクのスケジューリングに関する情報はメンバースケジュールエディタ302に記憶され、維持される。メンバーがメンバースケジュールエディタ302セッションを終了すると、タスクスケジュール情報がデータベースに送られ、格納され、維持される。図3Aは、ドロップダウンリスト(drop down list)中の割り当てられたタスクを示している。
プロジェクトスケジュールセッションが完了して、例えばユーザが図3Aのメンバースケジュールエディタ302の「終了」(Finish)ボタンを選択すると、ウェブサーバにおいて、メンバースケジュールのテーブルを表示するメンバースケジュールウェブページ304が自動的に生成される。図3Bは、本発明の一実施形態による、メンバーのスケジュールウェブページの一例の画面である。メンバースケジュールエディタ302により入力され編集された個別スケジュール情報は、ウェブブラウザで表示されるウェブページの形式で表示される。すべてのタスクのスケジュールがテーブル内に表示される。各行は1つのタスクに対応している。メンバースケジュールウェブページ304は、各プロジェクトタスクとサブタスクの前の(前の日付が取り消し線で取り消された)スケジュールを表示し、プロジェクトチームがタスクのスケジュールに生じた変更を見ることができるようになっている。
メンバースケジュールエディタ302において、ボタン(詳細追加、最後に行を追加、上に行を追加、下に行を追加、削除、更新、終了)はテーブルの近くに配置されている。これらのボタンは様々な操作を実行するために使用される。「終了」ボタンによりメンバースケジュールエディタセッションは完了し、タスクスケジュール情報が送信され、データベースに格納・維持される。「更新」ボタンと「最後に行を追加」ボタンを除き、他のボタンはタスクに対応する行のチェックボックスを選択することにより選択されたタスクに対して操作を実行する。「詳細追加」ボタンによりタスクの下に行が追加され、メンバーはそのタスクの詳細を与えるサブタスク(1レベル下のタスク)をそのタスクに追加できる。「上に行を追加」ボタンと「下に行を追加」ボタンにより、選択したタスクに対応する行の上か下に行が追加され、メンバーは同一レベルのスケジュールにタスクを追加できる。追加される行の数は、「下に行を追加」ボタンの隣にある「行数」メニューを選択することにより設定される。「削除」ボタンにより選択されたタスクが削除される。「削除」ボタンによりタスクと、そのタスクに関連する下のレベルのすべてのタスクもそのメンバーのスケジュールから削除される。「最後に行を追加」ボタンにより、スケジュールの最後に1つ以上の最高レベルの行が追加される。追加される行数は「行数」メニュー選択で設定される。「更新」ボタンにより、上のレベルのすべてのタスクスケジュールが下のレベルのタスクスケジュールで更新され、メンバースケジュールエディタ302の表示が更新されて新しいデータが表示される。メンバースケジュールエディタ302とメンバースケジュールウェブページ304については別途さらに説明する。
タスクのスケジュール情報は予定の開始日と終了日、及び実際の開始日と終了日を含んでいる。タスクの予定日と実際日は、メンバースケジュールエディタ302において設定と修正ができる。しかし、タスクが最初にスケジュールされた時は、プロジェクトスケジュールエディタ202(図2A)においてプロジェクトタスクの予定日だけが設定可能である。集約される時に、メンバーのプロジェクトサブタスクの予定日と実際日のメンバーのスケジュール情報に基づき、予定日が自動的に更新され、実際日は自動的に設定される。プロジェクトマネージャがプロジェクトエディタセッションを完了するか、プロジェクトスケジュールエディタ202の「集約」ボタンにより、データベース中の情報を使用してプロジェクトタスクの実際日を更新する。
図4は、本発明の一実施形態による、プロジェクトメンバーがエディタ(タスク割り当て、プロジェクトスケジュール、メンバースケジュール)にログインするログインウェブページの画面である。メンバーはプロジェクト番号、メンバー名を入力し、適当なエディタを選択し、そのエディタにアクセスするための情報を送信する。プロジェクトスケジュールマネージメントシステムは、その入力を確認し、そのメンバーがそのプロジェクトの正当なメンバーであり選択されたエディタに対するアクセス権を有するか判断する。判断の結果が否定的であれば、そのメンバーはエディタへのアクセスを拒絶される。セキュリティを一層たかめるため、ログインウェブページとエディタをセキュアHTTP(例えばHTTPS)とし、ログイン前にログインページでパスワードを要求してもよい。
プロジェクトスケジュールマネージメントシステム
図5は、本発明の一実施形態を実施する動作環境を示す図である。図示した動作環境はここで説明するプロジェクトスケジュールマネージメントシステムの全体的なシステム構成の例である。動作環境例は、複数のワークステーション、1つ以上のウェブサーバ、1つ以上の関連データベースを有する。これらはすべてソフトウェア開発ネットワークに直接的または間接的に通信のために接続されている。
一般的に、ウェブサーバ507と530は、エディタの表示とマネージメントの資源を有する。ウェブサーバ507、530は、それぞれデータベース506、536とインターラクトし、タスク割り当て及びタスクスケジュール情報(例えばデータ508、538)を格納、維持、管理する。2つのウェブサーバと2つのデータベースは、一例として示したものである。ここで説明しているプロジェクトスケジュールマネージメントシステムで使用されるウェブサーバとデータベースの数は、実施形態毎に変わり得る。コンピュータワークステーション501、502上のウェブブラウザは、ウェブサーバ507、530上の資源にアクセスしてエディタを表示する。プロジェクトメンバーまたはマネージャは、ネットワーク500(LANまたはWAN)を介してエディタにアクセスできる。プロジェクトマネージメントシステムを使用して組織内の異なるレベル(例えば、プロジェクトレベル、部課レベル、部門レベル、組織レベル)におけるプロジェクトを管理できる。
ワークステーション501、502は、図58のコンピュータシステム5800により例示されるような構成の一般的なコンピュータシステムであり、1つ以上のブラウザを有し、例えば製品開発プロジェクトに関連するタスクを完了するためにエンジニア/開発者により利用される。かかるタスクの例としては、プロジェクトの開始、タスクスケジュールの準備と維持、ソフトウェアアーキテクチャの設計、仕様の決定、ソフトウェアコードの作成、ソフトウェアコードの実装とテスト、様々なタスク製品の検査等が含まれるが、これらに限定はされない。また、プロジェクトマネージャは、プロジェクトの進捗をレビューして管理するための情報にアクセスするためにワークステーション501、502を利用する。開発者とマネージャは、ネットワーク500を介して、接続された他の構成要素(例えば、ウェブサーバ507、530、データベース506、536)と通信し、さらにアクセスポイント524を介して、ハンドヘルド装置520及びラップトップ522と通信する。
ウェブサーバ507、530は、一般的なウェブサーバであり、コンピュータハードウェアとコンピュータソフトウェアの組み合わせである。適当なプロトコル(HTTP(Hypertext Transfer Protocol)やTCP/IP(Transmission Control Protocol / Internet Protocol)等)を用いて、ウェブページを形成するファイル(HTML(Hypertext Markup Language)ファイルやXML(Extensible Markup Language)ファイル等)をユーザ(ワークステーション501、502の開発者やマネージャ等)に提供する。一般的に、開発プロジェクトライフサイクル中に交換され管理される情報のほとんどは、ネットワーク500を介してウェブサーバ507、530により提供される。さらにまた、ここに説明した方法の態様は、ウェブサーバ507、530に実装され実行され得るが、本発明の実施はかかる実施形態に限定はされない。この方法は、ワークステーション501、502や図58に示した同様の構成のコンピュータシステム等の処理システムでも実施することができる。
データベース508、538は、開発プロジェクトに関するデータ508、538を格納する一般的なデータベースを示し、ワークステーション501、502にいる権限を有する個人に、ネットワーク500を介して送信されたクエリーによる情報へのアクセスをさせる。データベース507、530に記憶されたデータのタイプには事実上制限はない。例としては、プロジェクト開始フォーム、メンバー及びプロジェクトタスクスケジュール、仕様書、ソフトウェアコード、検査レポート、ウェブページファイル、文書ディレクトリとインデックス等があるが、これに限定はされない。
ネットワーク500は、ワークステーション501、502、ウェブサーバ507、530、及びデータベース508、538等の接続された様々な構成要素間の情報の交換を容易にする、パケット交換ネットワーク等の従来のネットワークである。ネットワーク500は、従来のイーサネット(登録商標)、ファーストイーサネット(登録商標)、トークンリング、ワイヤレスLAN(米国電気電子技術者協会IEEEのワーキンググループにより開発され制定された802.11aと802.11b等)等のローカルエリアネットワークであり、企業内で実施することもできる。また、ネットワーク500はバーチャルプライベートネットワーク(VPN)を介して遠隔のユーザとの通信を容易にするインターネット等のワイドエリアネットワーク(WAN)であってもよいし、ネットワーク500はLANとWANの組み合わせであってもよい。また、ネットワーク500は、電線、ケーブル、光、またはワイヤレス接続等いろいろな異なる媒体を用いて形成できる。
図6は、本発明の一実施形態を実施する、システムのソフトウェア構成要素も含む通信アーキテクチャを示す図である。クライアントプロセッサ602はウェブブラウザに対応し、サーバプロセッサ604はウェブサーバ507や530(図5)等のウェブサーバに対応する。プロジェクトメンバーやマネージャはユーザインターフェイス601によりクライアントプロセッサ602とインターラクトする。クライアントプロセッサ602は、ログインウェブページ(図4)と様々なエディタウェブページ(図1A、2A、3A)を管理・維持する。クライアントプロセッサ602は、これらのウェブページで生じるすべてのイベントを処理する。一実施形態では、クライアントプロセッサ602はHTTPプロトコルによりサーバプロセッサ604とインターラクトする。
サーバプロセッサ604は、クライアントプロセッサ602に情報を供給して、ログインウェブページ(図4)とエディタウェブページ(図1A、2A、3A)を表示する。サーバプロセッサ604は、クライアントプロセッサ602がログインウェブページとエディタウェブページの情報を送信すると、その情報を処理する。データベース606は、プロジェクトスケジューリング情報とタスクスケジューリング情報のリポジトリである。サーバプロセッサ604は、データベース606とインターラクトして、そのデータベース中の情報を取得、追加、または更新する。一実施形態では、サーバプロセッサ604はデータベース606とインターラクトする。しかし、他のデータベースとプロトコルを使用することもできる。
クライアントプロセッサ・サーバプロセッサ・インターフェイス
図7は、本発明の一実施形態によるシステムのクライアントプロセッサとサーバプロセッサ間のインターフェイスを示す図である。HTTP GETリクエストにより、クライアントプロセッサ602は、ホームウェブページ、ログインウェブページ(図4)、プロジェクトスケジュールエディタウェブページ(図2A)、メンバースケジュールウェブページ(図3A)、及び割り当てウェブページ(図1A)を取得する。HTTP POSTリクエストにより、クライアントプロセッサ602は、ログインウェブページ(図4)とエディタウェブページ(図1A、2A、3A)に入力された情報をサーバプロセッサ604に処理のため送信する。適用できるHTTP GETリクエストとHTTP POSTリクエストは、後で詳細に説明する。
HTTP GETプロジェクト/部課/部門ホームページリクエストにより、サーバプロセッサ604は、部課または部門に関連するプロジェクトホームページをクライアントプロセッサ602に返す。ホームページは、スケジュール、タスク割り当て、及びエディタへのログインのためのウェブページにリンクし、見るためのリンク(ハイパーリンク等)を含む。
HTTP GET current project directory/schedule.htmリクエストにより、サーバプロセッサ604はクライアントプロセッサ602にカレントプロジェクトのプロジェクトスケジュールを含むウェブページを返す。そのウェブページの例は図2Bに示したものである。
HTTP GET current project directory/assignment.htmリクエストにより、サーバプロセッサ604はクライアントプロセッサ602にカレントプロジェクトのプロジェクトタスクのタスク割り当てを含むウェブページを返す。そのウェブページの例は図1Bに示したものである。
HTTP GET project menber directry/schedule.htmリクエストにより、サーバプロセッサ604はクライアントプロセッサ602にカレントプロジェクトのプロジェクトメンバーのスケジュールを含むウェブページを返す。そのウェブページの例は図3Bに示したものである。
HTTP GET login.htmリクエストにより、サーバプロセッサ604はクライアントプロセッサ602に、プロジェクトメンバーやマネージャにエディタ(プロジェクトスケジュール、メンバースケジュール、タスク割り当て)の1つにログインさせるウェブページを返す。メンバーまたはマネージャは、プロジェクトに関する情報、メンバー名、及びエディタのセッションタイプを入力する。図4はエディタの1つにログインするためのウェブページを示している。
HTTP GET TaskAssignEditor.htmにより、サーバプロセッサ604はクライアントプロセッサ602に、タスク割り当てエディタのウェブページを返す。このウェブページは、カレントプロジェクトのプロジェクトメンバーにタスクを割り当てるために使用される。プロジェクトマネージャは、サーバプロセッサ604がタスク割り当てウェブページを返す前に、タスクをプロジェクトメンバーに割り当てるためのアクセス特権を必要とする。この特権は、マネージャがログインウェブページ(図4)で情報を送信した時に確認される。一実施形態では、TaskAssigneEditor.htmは、タスク割り当てエディタにおいてイベントを表示、管理、処理するためのJava(登録商標)スクリプトを含んでいる。一実施形態では、「TaskAssignEditor.htm」はPHPスクリプトを含み、データベース506、536から情報を取得し、それをJava(登録商標)スクリプトに送る。その情報はタスク割り当てエディタに表示される。その例は図1Aに示したものである。
「HTTP GET PorjScheduleEditor.htm」により、サーバプロセッサ604はクライアントプロセッサ602に、プロジェクトスケジュールエディタのウェブページを返す。このウェブページは、カレントプロジェクトのプロジェクトメンバーの生成または更新に使用される。プロジェクトマネージャは、サーバプロセッサ604がプロジェクトスケジュールエディタを返す前に、プロジェクトスケジュールを生成するアクセス特権を有する必要がある。この特権は、マネージャがログインウェブページ(図4)で情報を送信した時に確認される。一実施形態では、「ProjScheduleEditor.htm」は、プロジェクトスケジュールエディタのイベントを表示、管理、処理するためのJava(登録商標)スクリプトを含んでいる。一実施形態では、「ProjScheduleEditor.htm」はPHPスクリプトを含み、データベース506、536から情報を取得し、それをJava(登録商標)スクリプトに送る。その情報はプロジェクトスケジュールエディタに表示される。その例は図2Aに示したものである。
「HTTP GET IndivScheduleEditor.htm」リクエストにより、サーバプロセッサ604はクライアントプロセッサ602に、メンバースケジュールエディタのウェブページを返す。このウェブページは、カレントプロジェクトのプロジェクトメンバーのスケジュールの生成または更新に使用される。一実施形態では、ケジュールエディタは、プロジェクトメンバーのスケジュールが事前に作成されている場合は、完了していないタスクのみを表示する。プロジェクトメンバーは、サーバプロセッサ604がこのウェブページを返す前に、スケジュールを生成または編集する特権を有している必要がある。この特権は、メンバーがログインウェブページ(図4)で情報を送信した時に確認される。一実施形態では、「IndivScheduleEditor.htm」は、プロジェクトメンバースケジュールエディタのイベントを表示、管理、処理するためのJava(登録商標)スクリプトを含んでいる。一実施形態では、「IndivScheduleEditor.htm」はPHPスクリプトを含み、データベース506、536から情報を取得し、それをJava(登録商標)スクリプトに送る。その情報はメンバースケジュールエディタに表示される。その例は図3Aに示したものである。
「HTTP POST login.php」インターフェイスにより、クライアントプロセッサ602はエディタ(プロジェクトスケジュール、メンバースケジュール、タスク割り当て)にアクセスし表示することができる。このインターフェイスは、login.htmに対応するウェブページで「送信」ボタンが選択されるとコールされる。login.htmで入力された情報は、サーバプロセッサ604のlogin.phpに送られる。login.phpはその情報を使用して、プロジェクトのメンバーを認証し、そのメンバーが要求したエディタに対するアクセス特権を有するか判断する。その情報が無効であり、そのメンバーがエディタに対するアクセス特権を有さない場合、login.phpはプロジェクトメンバーがその要求したエディタにアクセスできないとのメッセージをクライアントプロセッサ602に返す。そうでなければ、login.phpはエディタの1つに対応するウェブページを返す。すなわち、ウェブブラウザは要求されたエディタに対応するウェブページにリダイレクト(redirect)される。
HTTP POST PostTaskAssign.phpにより、クライアントプロセッサ602はタスク割り当てエディタ(図1A)に入力されたすべての情報をサーバプロセッサ604に送信する。このインターフェイスは、TaskAssignEditor.htmに対応するウェブページで「終了」ボタンが選択されるとコールされる。TaskAssignEditor.htmのエディタで入力された情報は、サーバプロセッサ604のPostTaskAssign.phpに送られる。PostTaskAssign.phpは、適当なデータベース506、536のタスクにタスク割り当て情報を追加し、更新する。入力された情報が無効であったり、プロセスが適当なデータベースにアクセスしたり問い合わせたりできなければ、適当なメッセージが表示される。PostTaskAssign.phpはタスク割り当てウェブページを生成する。その例は図1Bに示したものである。
HTTP POST PostProjSchedule.phpにより、クライアントプロセッサ602はプロジェクトスケジュールエディタ(図2A)に入力されたすべての情報をサーバプロセッサ604に送信する。このインターフェイスは、ProjScheduleEditor.htmに対応するウェブページで「終了」ボタンが選択されるとコールされる。ProjScheduleEditor.htmのエディタで入力された情報は、サーバプロセッサ604のPostProjSchedule.phpに送られる。PostProjeSchedule.phpは、適当なデータベース506、536にタスクスケジュール情報を追加し、更新する。入力された情報が無効であったり、プロセスが適当なデータベースにアクセスしたり問い合わせたりできなければ、適当なメッセージが表示される。PostProjSchedule.phpはプロジェクトスケジュールウェブページを生成する。その例は図2Bに示したものである。
HTTP POST PostIndivSchedule.phpにより、クライアントプロセッサ602はプロジェクトメンバーズスケジュールエディタ(図3A)に入力されたすべての情報をサーバプロセッサ604に送信する。このインターフェイスは、IndivScheduleEditor.htmに対応するウェブページで「終了」ボタンが選択されるとコールされる。IndivScheduleEditor.htmのエディタで入力された情報は、サーバプロセッサ604のPostIndivSchedule.phpに送られる。PostIndivSchedule.phpは、適当なデータベース506、536にタスクスケジュール情報を追加し、更新する。入力された情報が無効であったり、プロセスがデータベースにアクセスしたり問い合わせたりできなければ、適当なメッセージが表示される。PostIndivSchedule.phpはメンバーズスケジュール(member’s schedule)ウェブページを生成する。その例は図3Bに示したものである。
一実施形態では、様々なエディタ(TaskAssignEditor.htm、ProjScheduleEditor.htm、及びIndivScheduleEditor.htm)のウェブページには、Java(登録商標)スクリプトまたはPHPスクリプトを含むファイルが含まれる。ここで説明した様々な機能を実行するスクリプト言語は、実施形態毎に変わり得る。ウェブブラウザ(例えばクライアントプロセッサ602)がエディタのウェブページをリクエストすると、エディタウェブページとJava(登録商標)スクリプトに対応するすべてのファイルがそのウェブブラウザに送られる。ウェブブラウザがそのJava(登録商標)スクリプトを処理する。しかし、PHPスクリプトのファイルはウェブブラウザには送られない。PHPスクリプトは図5のウェブサーバ507、530等のウェブサーバで処理され、PHPスクリプトがウェブページに書いたもののみがウェブブラウザに送られる。
図8は、本発明の一実施形態によるログインウェブページを用いてプロジェクトメンバーまたはプロジェクトマネージャがエディタにログインするシーケンス図である。この図は、エディタがメンバーまたはマネージャに表示される前にシステムの構成要素間で送受される情報を示している。ログインウェブページ(図4)上で生じるすべてのイベントの処理は、クライアントプロセッサ602で行われる。ログインページに入力された情報の確認とメンバーのエディタに対するアクセス特権の確認は、サーバプロセッサ604で行われる。サーバプロセッサ604は、アクセス特権の確認をするために適当なデータベース506または536から情報を取得する。プロジェクトメンバーまたはマネージャは、エディタに入る前にこのプロセスを実行する。そのシーケンスは図9乃至図11に示す。
図9は、本発明の一実施形態による、プロジェクトマネージャとタスク割り当てエディタとのセッションを示すシーケンス図である。クライアントプロセッサ602がTaskAssignEditor.htmをリクエストすると、ファイルTaskAssignEditor.htmとそれに含まれるJava(登録商標)スクリプトを含むファイル(.js拡張子で示した)がサーバプロセッサ604からクライアントプロセッサ602に送られる。それに含まれるPHPスクリプト(拡張子.phpで示した)を含むファイルは、サーバプロセッサ604で処理される。PHPスクリプトは、適当なデータベース506または536からタスク割り当て情報を取得し、その情報をクライアントプロセッサ602に送るため、TaskAssignEditor.htmのウェブページにJava(登録商標)スクリプトを書き込む。クライアントプロセッサ602は、対応するタスク割り当てエディタを表示するために、受信するすべてのファイルのJava(登録商標)スクリプトを処理する。プロジェクトマネージャとタスク割り当てエディタ間のすべてのインターラクションは、タスク割り当てエディタを表示、維持、更新するJava(登録商標)スクリプトにより処理される。プロジェクトマネージャがセッションを終了(例えば「終了」を選択)すると、タスク割り当てエディタ中のタスク割り当て情報はすべてクライアントプロセッサ602からサーバプロセッサ604にインターフェイスPostTaskAssign.phpを介して送られる。サーバプロセッサ604は、適当なデータベースに情報を追加または更新することにより、その情報を処理する。データベース中のタスク割り当て情報を用いて、サーバプロセッサ604はプロジェクトタスク割り当てのウェブページを自動的に生成する。このウェブページの例は図1Bに示したものである。
図10は、本発明の一実施形態による、プロジェクトマネージャとプロジェクトスケジュールエディタとのセッションを示すシーケンス図である。クライアントプロセッサ602がProjScheduleEditor.htmを要求すると、ファイルProjScheduleEditor.htmとそれに含まれるJava(登録商標)スクリプトを含むファイルがサーバプロセッサ604からクライアントプロセッサ602に送られる。それに含まれるPHPスクリプトを含むファイルは、サーバプロセッサ604で処理される。PHPスクリプトは、適当なデータベースからプロジェクトタスクスケジュール情報を取得し、その情報をクライアントプロセッサ602に送るため、ProjScheduleEditor.htmのウェブページにJava(登録商標)スクリプトを書き込む。クライアントプロセッサ602は、プロジェクトスケジュールエディタを表示するために、受信するすべてのファイルのJava(登録商標)スクリプトを処理する。プロジェクトマネージャとプロジェクトスケジュールエディタ間のすべてのインターラクションは、エディタを管理、維持、更新するために、Java(登録商標)スクリプトにより処理される。マネージャがセッションを終了(例えば「終了」を選択)すると、プロジェクトスケジュールエディタ中のプロジェクトタスクスケジュール情報はすべてクライアントプロセッサ602からサーバプロセッサ604にインターフェイスPostProjSchedule.phpを介して送られる。サーバプロセッサ604は、適当なデータベースに情報を追加または更新することにより、その情報を処理する。サーバプロセッサ604はプロジェクトメンバーのスケジュールをプロジェクトスケジュールと自動的集計して、データベースにプロジェクトスケジュールを追加または更新する。データベース中のプロジェクトタスクスケジュール情報を用いて、サーバプロセッサ604はプロジェクトスケジュールのウェブページを自動的に生成する。このウェブページの例は図2Bに示したものである。
「集約(Consolidate)」ボタンの選択に等々したシステムの振る舞いは、「終了(Finish)」ボタンの選択によるものと同じである。両ボタンにより、(a)プロジェクトスケジュールエディタからの情報を用いた適当なデータベースの追加・更新、(b)プロジェクトスケジュールを用いたメンバーの個別スケジュールの集計、(c)データベース中のプロジェクトスケジュールの追加・更新、及び(d)プロジェクトスケジュールウェブページの生成が行われる。さらに、「集約」により、ProjScheduleEditor.htmを再度要求することにより、プロジェクトスケジュールエディタが再表示されるが、プロジェクトスケジュールが更新されている。
図11は、本発明の一実施形態による、プロジェクトマネージャとプロジェクトメンバースケジュールエディタ(すなわち、メンバースケジュールエディタ)とのセッションを示すシーケンス図である。クライアントプロセッサ602がIndivScheduleEditor.htmを要求すると、ファイルIndivScheduleEditor.htmとそれに含まれるJava(登録商標)スクリプトを含むファイルがサーバプロセッサ604からクライアントプロセッサ602に送られる。それに含まれるPHPスクリプトを含むファイルは、サーバプロセッサ604で処理される。PHPスクリプトは、適当なデータベースから個別タスクスケジュール情報を取得し、その情報をクライアントプロセッサ602に送るため、IndivScheduleEditor.htmのウェブページにJava(登録商標)スクリプトを書き込む。クライアントプロセッサ602は、メンバースケジュールエディタを表示するために、受信するすべてのファイルのJava(登録商標)スクリプトを処理する。プロジェクトメンバーとメンバースケジュールエディタ間のインターラクションは、メンバースケジュールエディタを管理、維持、更新するために、Java(登録商標)スクリプトにより処理される。メンバーがセッションを終了(例えば「終了」を選択)すると、メンバースケジュールエディタ中のメンバータスクスケジュール情報はクライアントプロセッサ602からサーバプロセッサ604にインターフェイスPostIndivSchedule.phpを介して送られる。サーバプロセッサ604は、適当なデータベースに情報を追加または更新することにより、その情報を処理する。データベース中のメンバータスクスケジュール情報を用いて、サーバプロセッサ604はメンバースケジュールのウェブページを自動的に生成する。このウェブページの例は図3Bに示したものである。
データベーススキーマ
図12は、本発明の一実施形態による、プロジェクトとプロジェクトメンバーのタスク割り当てとタスクスケジュール情報とを記憶し管理するために使用するデータベーステーブルのスキーマを示す図である。これらのテーブルはタスク割り当て、プロジェクトタスクのスケジュール、及び各プロジェクトメンバーのスケジュールに関する情報を有している。これらのテーブルは、タスク割り当て、プロジェクトスケジュール、及びメンバーのスケジュールがすべて関係づけられるように組織化されている。
TaskAssignmentテーブル1202は、プロジェクトタスクと、プロジェクトの対応するサブタスクとを格納している。TopLevelProjectTaskテーブル1204は、TaskAssignmentテーブル1202中のプロジェクトタスクのスケジュールを格納している。Level1MenberTaskテーブル1206は、メンバータスクのスケジュールを格納している。そのメンバータスクはTaskAssignmentテーブル1202で割り当てられ、TopLevelProjectTaskテーブル1204中の対応するプロジェクトタスクのスケジュールにリンクされている。テーブル間のこれらのリンクにより、メンバースケジュールのプロジェクトスケジュールとの自動集計が可能となる。Level1MenberTaskテーブル1206は、いずれのプロジェクトタスクとも関係付けられていないメンバータスクのスケジュールも格納している。LevelXMenberTaskテーブル(Xは1、2、3、または4)とMemberTaskテーブル1208は、メンバーの様々なレベルのタスク間のリンクを格納・管理する。下のレベルのタスクは、上のレベルのタスクのより詳細なタスクである。これらのテーブルの組織によりメンバーのスケジュールを維持する。ProjectTeamテーブル1210はプロジェクトメンバーに関する情報を含む。プロジェクトメンバーのプロジェクトメンバー情報は、(a)様々なエディタへのアクセス特権を決定する役割(role)、(b)メンバースケジュールウェブページが格納される記憶場所を決定するディレクトリ、(c)いろいろなレベルにおけるメンバータスクの識別子を決定するために使用されるIDが含まれる。
ログインプロセスでは、ProjectTeamテーブル1210中の情報を使用して、エディタを表示する前に要求されたエディタへのアクセス特権があるか判断する。タスク割り当てエディタは、DefaultTasksテーブル1212、TaskAssignmentテーブル1202、及びMemberTasksテーブル1208中の情報を使用及び/または更新する。プロジェクトスケジュールエディタは、DefaultTasksテーブル1212、TaskAssignmentテーブル1202、TopLevelProjectTaskテーブル1204、MemberTasksテーブル1208、Level1MenberTaskテーブル1206中の情報を使用及び/または更新する。メンバースケジュールエディタは、ProjectTeamテーブル1210、TaskAssignmentテーブル1202、MemberTasksテーブル1208、及びLevelXMenberTaskテーブル中の情報を使用及び/または更新する。
図12に示し、ここで説明するプロジェクトスケジュールマネージメントシステムの一実施形態で使用される様々なテーブルの説明は、以下の通りである。しかし、図12を参照して説明したテーブルの数と構造は、実施形態毎に変わり得る。
DefaultTasksテーブル1212−このテーブルは、すべてのプロジェクトのタスクのタスク名を含んでいる。ソフトウェア開発プロジェクトの場合には、デフォルトタスクの例としては、プロジェクトプラン、要件、トップレベル設計等がある。
ProjectTeamテーブル1210−このテーブルは、プロジェクトのプロジェクトメンバーに関する情報を含んでいる。sMemberLabelは、プロジェクトスケジュールを表示するときにプロジェクトメンバーを識別するために使用される2乃至4文字のストリングである。プロジェクトスケジュールは、図1Aと図1Bに示したように、プロジェクトタスクとそれに関連するメンバータスクを示している。一実施形態では、プロジェクトメンバーのイニシャルがsMemberLabelに使用される。nMemberRoleはプロジェクトメンバーの役割を示すために使用される番号である。例えば、プロジェクトマネージャ=1、プロジェクトリーダ=2、プロジェクトアドミニストレータ=3、プロジェクトメンバー=4である。役割は誰がエディタにアクセスするかを示している。例えば、役割番号が1であるプロジェクトメンバーはすべてのエディタにアクセスできる。しかし、役割番号が4であるプロジェクトメンバーは、そのメンバーのスケジュールにのみアクセスできる。本システムは、どの役割番号がそれぞれのエディタにアクセスできるか判断するように構成し得る。sMemberDirectoryは、メンバースケジュールのHTMLファイルがどこに格納されるか判断し、プロジェクトチームがそのメンバーのスケジュールを見ることができるようにするために使用される。
nMemberTaskIDは、プロジェクトメンバーに割り当てられた番号であり、そのメンバーのタスクのIDを決定するために使用される。一実施形態では、nMemberTaskIDをタスクの開始IDとして使用する。プロジェクトチームの大きさによって、IDは、チームが小さい場合にはモジュロ10(1、2、...、9)とし、チームが大きい場合にはモジュロ100(1、2、...、99)としてもよい。タスクIDはモジュロの増分である。例えば、プロジェクトメンバー「test1」のnMemberTaskIDが1である場合、test1のタスクのタスクIDは11、21、31等(大きなチームの場合、101、201、301)である。タスクIDは、タスク名が同一であっても、プロジェクトメンバーのタスクを一意的に特定する。タスクIDもすべてのレベルのタスクを一意的に特定する。nLevelXMaxTaskIDは、プロジェクトメンバーのレベルが異なるタスクに対して、今まで使用されている最高のタスクIDを維持するために使用される番号である。これらの数字は、そのメンバーのスケジュールエディタセッションに追加されるタスクのタスクIDを決定するために使用される開始IDになる。これらの値は各エディタセッション後、読み出され更新される。nLevelXMaxTaskIDの値を除いて、他のエントリーの値はプロジェクトを始める前に設定しなければならない。
TaskAssignmentテーブル1202−このテーブルは、プロジェクトのプロジェクトメンバーに割り当てられたプロジェクトタスクとそのサブタスクに関する情報を含む。sTaskNameはタスク名に使用され、ProjectTaskIDはタスクに関連するIDである。プロジェクト開始タスクIDは0であり、そのタスクのIDはモジュロ(小さいチームの場合、10、20、30、...)を加えたものである。sLevel1TaskNameはプロジェクトタスクと関連するサブタスク(メンバータスク)の名前に使用され、nLevel1TaskIDはサブタスクと関連するIDに使用される。sMemberLabelは、サブタスクを割り当てたプロジェクトメンバーを特定するために使用される。bIsObsoletedを使用して、タスクがプロジェクトから削除されたかどうか示す。タスクがスケジュールから削除されても、そのタスクに関する情報はデータベース内に残される。sTaskName、nProjectTaskID、sLevel1TaskName、及びsMemberLabelの値は、タスク割り当てエディタセッションによりTaskAssignmentテーブル1202に追加できる。プロジェクトスケジュールエディタセッションは、sTaskNameとnProjectTaskIDの値を加える。メンバースケジュールエディタセッションのみがnLevel1TaskIDの値を加え得る。
TopLevelProjectTaskテーブル1204−このテーブルはプロジェクトタスクのスケジューリングに関する情報を含む。sTaskNameはタスク名に使用され、nProjectTaskIDはそのタスクに関連するIDに使用される。planStartとplanEndはタスクの開始及び完了の予定日に使用される。actualStartとactualEndは、タスクが開始及び完了した実際の日に使用される。setDateは、予定日が設定または修正された日に使用される。nScheduleRevNumberは、タスクスケジュールの改訂番号に使用される。プロジェクトタスクの最終スケジュールは、最高の改訂番号に対応する。プロジェクトタスクのすべての改訂は、プロジェクトタスクのスケジュールの変更を追跡するために、TopLevelProjectTaskテーブル1204に保存されている。改訂番号は、異なる日にプロジェクトスケジュールエディタで予定日が変更された時にのみ、インクリメントされる。TopLevelProjectTaskテーブル1204のnProjectTaskID、sTaskName、dates、nScheduleRevNumberのすべての値は、プロジェクトスケジュールエディタセッションにより、追加または更新される。
MemberTasksテーブル1208−このテーブルはすべてのプロジェクトメンバーのすべてのタスク(すべてのレベルのタスク)に関する情報を含んでいる。タスクIDとnLevelXTaskIDは、プロジェクトの各メンバー(sMemberName)と関連している。これらは、すべてのタスクと他のタスクとの関係を特定する。TaskAssignmentテーブルについて、bIsObsoletedは、タスクがプロジェクトメンバーのスケジュールから削除されたかどうかを示す。bIsCompletedはタスクが完了したかどうか示す。nLevelXTaskIDは、MemberTasksテーブル1208に追加されるタスクについて使用され、新しいタスクがメンバーのスケジュールエディタセッションに追加された時に、ProjectTeamテーブル1210のnLevelXMaxTaskIDから決定される。テーブル中の値は、3つのエディタセッションのいずれの結果によっても更新または修正(bIsObsoletedまたはbIsCompleted)できる。MemberTasksテーブル1208は、下のレベルのタスクスケジュールと上のレベルのタスクスケジュールとの間のリンクを提供する点で重要である。
LevelXMemberTaskテーブル(例えば、Level1MenberTaskテーブル1206、Level2MenberTaskテーブル1214、Level3MemberTaskテーブル1216)−このテーブルはメンバータスクのスケジューリングに関する情報を含む。sLevelXTaskNameはタスク名に使用され、nLevelXTaskIDはそのタスクに関連するIDに使用される。テーブルに追加されるタスクのnLevelXTaskIDは、新しいタスクがメンバーのスケジュールエディタセッションに追加された時に、ProjectTeamテーブル1210のnLevelXMaxTaskIDから決定される。planStartとplanEndはタスクの開始及び完了の予定日に使用される。actualStartとactualEndは、タスクが開始及び完了した実際の日に使用される。setDateは、予定日が設定または修正された日に使用される。nScheduleRevNumberは、タスクスケジュールの改訂番号に使用される。メンバータスクの最終スケジュールは、最高の改訂番号に対応する。メンバータスクのすべての改訂は、メンバータスクのスケジュールの変更を追跡するために、テーブルに保存されている。一実施形態では、メンバースケジュールエディタにおいて予定日が変更されたときにのみ改訂番号が増加する。各LevelXMemberTaskテーブルは、上のレベルのタスクのタスクIDを含んでいる(親タスクがプロジェクトタスクであるタスクか、親タスクがないタスクであるレベル1を除く)。これはタスクに親タスク及び子タスクへのリンクを提供する。親タスクID、sLevelXTaskName、nLevelXTaskID、dates、nScheduleRevNumberのすべての値は、メンバースケジュールエディタセッションによりテーブルに追加されるか、更新される。Level1MenberTaskテーブル1206のみがTaskAssignmentテーブル1202へのリンクを提供するsMemberLabelを含む。
データベースはレベル4までのレベルのみを示した。しかし、本データベースを、タスクスケジュールをより詳細に低いレベルを含むように修正することはできる。
プロジェクトスケジュールの設定
図13は、本発明の一実施形態による、プロジェクトスケジュールが最初に設定される時のシステムの使用を示すフローチャートである。最初に、プロジェクトマネージャはタスク割り当てエディタにログインする(ブロック1302)。タスク割り当てエディタにおいて、マネージャは、プロジェクトに、プロジェクトタスクを追加し(ブロック1304)、関連するサブタスクを追加する(ブロック1306)。マネージャはプロジェクトメンバーにサブタスクを割りあてる(ブロック1306)。タスク割り当てエディタセッションが終了すると、システムはプロジェクトタスクとそのサブタスクに関する情報でデータベース(TaskAssignmentテーブル1202)を更新する。図20乃至図22は、タスク割り当てエディタセッションと付随する結果の例を示している。
次に、プロジェクトマネージャはプロジェクトスケジュールエディタにログインする(ブロック1308)。プロジェクトスケジュールエディタにおいて、マネージャは、タスク割り当てエディタで追加されたプロジェクトタスクの予定開始日と予定終了日を設定する(ブロック1310)。マネージャはプロジェクトに新しいプロジェクトタスクを追加し、そのプロジェクトタスクのスケジュールを設定できる。しかし、マネージャは、プロジェクトスケジュールエディタにおいて、プロジェクトタスクのサブタスクのスケジュールを設定したり、プロジェクトタスクにサブタスクを追加したりはできない。エディタセッションが終了すると(ブロック1314)、システムはプロジェクトタスクのスケジュールに関する情報(TopLevelProjectTaskテーブル1204)でデータベースを更新する。図23乃至図26は、プロジェクトスケジュールエディタセッションと付随する結果の例を示している。
最後に、各プロジェクトメンバーは自分のスケジュールエディタにログインし(ブロック1316)、タスク割り当てエディタで彼らに割り当てたタスクを選択する(ブロック1318)。上記の通り、一実施形態では、ケジュールエディタは、スケジュールが事前に作成されている場合は、完了していないタスクのみを表示する。メンバースケジュールエディタにおいて、メンバーは、自分たちに割り当てられたプロジェクトタスクとそのサブタスクの予定開始日と予定終了日を設定する(ブロック1320)。メンバーはサブタスクに詳細タスク(下のレベルのタスク)を追加して、そのスケジュールを設定できる。メンバーはプロジェクトに関係していない新しいタスクを追加し、そのタスクのスケジュールを設定できる(ブロック1322)。エディタセッションが終わると(ブロック1324)、システムは、そのメンバーのプロジェクトタスクのサブタスク(及び関係していないプロジェクトタスク)のスケジュールに関する情報(TaskAssignmentテーブル1202、ProjectTeamテーブル1210、MemberTasksテーブル1208、及びLevel1MenberTaskテーブル1206)でデータベースを更新する。図27乃至図41は、二人のメンバーのスケジュールエディタセッションと付随する結果の例を示している。エディタの使用プロセスの順序には変形例もあるが、変形の仕方によっては正しくスケジュールが生成されない場合もある。例えば、プロジェクトメンバーは、プロジェクトマネージャがタスク割り当てエディタでプロジェクトメンバーにサブタスクを割り当てるまで、メンバースケジュールエディタにおいてプロジェクトタスクのサブタスクに対してスケジュールを設定することはできない。
メンバースケジュールエディタの使用
図14は、本発明の一実施形態による、プロジェクトメンバーが既存のスケジュールを修正するメンバースケジュールエディアタの使用例を示すフローチャートである。一実施形態では、ケジュールエディタは、スケジュールが事前に作成されている場合は、完了していないタスクのみを表示する。時には、メンバーは、プロジェクトが進行するにつれて、タスクの追加、タスクのスケジュールの変更、タスクの結果(実際の開始日と終了日)の設定、タスクの詳細の追加等をすることがある。プロジェクトメンバーはメンバースケジュールエディタにログインする(ブロック1402)。
そのエディタにおいて、各行はタスクに関するスケジュール情報を含んでいる。メンバーは、タスクのスケジュールを修正する場合、そのタスクに対応する行の予定日及び/または実際日を選択する(それぞれブロック1404及び1406)。メンバーは、タスクを削除する場合、「削除」ボタンを選択してそのタスクの削除を確認する(ブロック1410)。タスクを追加する場合、メンバーは、他のタスクを選択して(ブロック1412)、(a)プルダウンメニューフィールドにより追加する行数を選択し、(b)「上に行を追加」ボタンを選択し、(c)新しいタスクを入力し、(d)その新しいタスクのスケジュールを入力する(ブロック1414)。メンバーは、上のレベルのタスクに関連する詳細なサブタスクを追加する場合、他のタスクを選択し(ブロック1416)、次に(a)「詳細追加」ボタンを選択し、(b)上のレベルのタスクに対する詳細タスクを入力し、(c)その詳細タスクに対する新しい実際開始日及び/または実際終了日を入力する(ブロック1418)。
タスクのスケジュールの修正は、(上のレベルから下のレベルまで)どのレベルでもできる。しかし、最低レベルのタスクには詳細タスクは追加できない。下のレベルのタスクのスケジュールを修正すると、関連する上のレベルの全タスクのスケジュールに影響し得る。エディタにおけるタスクのスケジュールを修正するイベントはすべて、そのタスクに対応する行にのみ影響する。下のレベルのタスクにおける変更によるすべてのレベルのタスクのスケジュールの変化を反映させるために、「更新」ボタンによる。タスクの行は適宜修正されて再表示される。タスクの一部では、そのタスクの前のスケジュールが新しいスケジュールとともに表示される。メンバースケジュールエディタは、生じた変更(タスクの追加・削除、予定日の変更、実際日の更新等)を含むすべてのタスクに関するスケジュール情報を管理・維持する。例えば「終了」ボタンを選択することにより(ブロック1422)、メンバースケジュールエディタセッションが完了すると、各タスクに関する情報が処理され、データベース(TaskAssignmentテーブル1202、ProjectTeamテーブル1210、MemberTasksテーブル1208、及びLevelXMemberTaskテーブル1206、1214、1216、1218)で更新される。メンバーがメンバースケジュールエディタセッションを送信せずに、ウェブブラウザを閉じてメンバースケジュールエディタを出ると、スケジュールの修正はデータベースには反映されず、失われる。
図15Aは、本発明の一実施形態による、タスクのスケジュールの一部を修正するメンバースケジュールエディタの画面を示す図である。タスクは、プロジェクトプラン(Project Plan)のドラフト(Draft)タスクを削除し、パテントケース(Patent Case)のレビュー(review)の詳細タスクを追加して修正されている。この追加によりレビューとパテントケースのスケジュールに影響がある。 図15Bは、本発明の一実施形態による、図15Aの修正後に更新(Update)を選択した場合のメンバースケジュールエディタの画面を示す図である。上のレベルの各タスクスケジュールは、図15Bに示したように、パテントケースのレビューに詳細タスクを追加することにより、下のレベルのタスクにおける変化により影響を受けている。図42乃至図46は、編集とそれに付随する結果を含む、メンバースケジュールエディタセッションの例を示している。
クライアントプロセッサ(図6)のウェブブラウザに表示されるエディタの場合、各タスクに関する情報はそのエディタにより維持される。例えば、メンバースケジュールエディタは、タスクに対応する各行について次のものを維持する:タスク名、タスクID、設定日、予定日、実際日、改訂番号、レベル、親タスクID。また、エディタにおけるタスクに対する修正のタイプも維持され、そのタスクに関する情報がサーバプロセッサ604(図6)に送られた時、データベース606(図6)中のそのタスクに関する情報を更新する適当なプロセスが実行されるようになっている。例えば、メンバースケジュールエディタにおけるタスクの修正のタイプは、変更無し、追加、削除、編集(予定日変更)、及び更新(実際日設定)等である。
上のレベルのタスクを下のレベルのタスクで更新
メンバーのタスクの場合、下のレベルのタスクによる上のレベルのタスクの更新は、クライアントプロセッサ602(図6)内で行われる(例えば、Java(登録商標)スクリプトがウェブブラウザ中のすべてのタスクのスケジュールを管理・維持する)。更新の結果は、サーバプロセッサ604(図6)に送られ、データベース606(図6)において更新される。どのレベルのタスクであっても、その(1レベル下の)サブタスクのスケジュールを使用して、最早予定開始日と最早実際開始日と最遅予定終了日を決定する。最遅実際終了日も決定されるが、すべてのサブタスクが実際終了日を有しそのタスクが完了したことを示している場合にのみ使用される。サブタスクの最早予定開始日及び/または最遅予定終了日がタスクのそれと異なる場合、そのタスクの予定日をエディタで編集することができる。セッションが終了すると、データベース606において予定タスクスケジュールが更新される。このタスクスケジュールのデータベースにおいて、新しいレコードが追加される、タスクスケジュールの最新板を示すために改訂番号が1だけ増加される。サブタスクの最早実際開始日がタスクのそれと異なる場合、そのタスクの実際日をエディタで更新することができる。セッションが終了すると、データベースにおいて実際タスクスケジュールも更新される。改訂番号が最高の既存のレコードが実際日で更新される。上のレベルのタスクを下のレベルのタスクで更新するプロセスにおいて、クライアントプロセッサ602は、最低レベルのタスクから始めて、上のレベルに向けて更新していく。
図16は、本発明の一実施形態による、上のレベルのタスクを下のレベルのタスクで更新するプロセスを示すフローチャートである。このフローチャートは、最低レベルがレベル4であるとして示したが、本プロセスはタスクのレベルが4つの場合に限定されない。上のレベルから最低レベルまでのタスクの非限定的な例としては、ソフトウェアシステムのシステム設計、コンポーネント設計、パッケージ設計、及びクラス設計がある。
レベル1タスクがメンバースケジュールエディタから取得される(ブロック1602)。ブロック1604において、レベル1タスクが他にあるか判断し、もうなければ本プロセスは終了する。レベル1タスクがあれば、ブロック1602で選択されたレベル1タスクに関係するレベル2タスクが取得される(ブロック1606)。決定ブロック1608において、ブロック1602で選択されたレベル1タスクと関連するレベル2タスクがあるか判断する。無ければ、対応するレベル2タスクがありレベル1タスクと異なれば、対応するレベル1タスクがレベル2の最早開始日と最遅終了日で更新される(ブロック1610)。そして、ブロック1602に戻り、エディタから他のレベル1タスクが(もしあれば)取得される。ブロック1602で選択されたレベル1タスクに関連するレベル2タスクがあれば、ブロック1606で選択されたレベル2タスクと関係するレベル3タスクが取得される(ブロック1612)。決定ブロック1614において、ブロック1606で選択されたレベル2タスクと関連するレベル3タスクがあるか判断する。無ければ、対応するレベル3タスクがありレベル2タスクと異なれば、その対応するレベル2タスクがレベル3タスクの最早開始日と最遅終了日で更新される(ブロック1616)。ブロック1618において、レベル2タスクの最早開始日と最遅終了日(予定及び実際)が追跡(track)され、ブロック1606に戻って、ブロック1602で選択されたレベル1タスクに対応する他のレベル2タスクが取得される。
ブロック1614においてレベル3タスクがあると判断されると、ブロック1612で選択されたレベル3タスクに対応するレベル4タスクが取得される(ブロック1618)。決定ブロック1620において、ブロック1612で選択されたレベル3タスクと関連するレベル4タスクがあるか判断する。無ければ、対応するレベル4タスクがありレベル3タスクと異なれば、その対応するレベル3タスクがレベル4タスクの最早開始日と最遅終了日で更新される(ブロック1622)。ブロック1624において、レベル3タスクの最早開始日と最遅終了日(予定及び実際)が追跡(track)され、ブロック1612に戻って、ブロック1606で選択されたレベル2タスクに対応する他のレベル3タスクが取得される。ブロック1620においてレベル4タスクがあると判断されると、レベル4タスクの最早開始日と最遅終了日(予定及び実際)が追跡(track)され(ブロック1626)、ブロック1618に戻って、ブロック1612で選択されたレベル3タスクに対応する他のレベル4タスクが取得される。
プロジェクトスケジュールの割り当てられたサブタスクとの集計
プロジェクトスケジュールの場合、メンバースケジュールと異なり、プロジェクトメンバーに割り当てられたプロジェクトタスクのサブタスクとのプロジェクトタスクの集計はサーバプロセッサ604(図6)で行われる。この集計は、プロジェクトマネージャがプロジェクトスケジュールエディタ(例えば図2A)で「集約(Consolidate)」または「終了(Finish)」を選択したときに行われる。図17は、本発明の一実施形態による、様々なプロジェクトメンバーに割り当てたサブタスクを用いてプロジェクトタスクスケジュールを集計するプロセスを示すフローチャートである。
TopLevelProjectTaskテーブル1204、TaskAssignmentテーブル1202、及びLevel1MenberTaskテーブル1206からの情報を使用してプロジェクトタスクスケジュールを更新する。最新の更新(改訂番号が最高のもの)のサブタスクのスケジュールであって、スケジュールから削除されていないもののみが考慮される。サブタスクのスケジュールを使用して、すべてのサブタスクの最早開始日と最遅終了日を取得する。サブタスクの最早開始日と最遅終了日がプロジェクトタスクのそれと異なれば、そのサブタスクの最早開始日と最遅終了日を使用してプロジェクトタスクのスケジュールを更新する。データベース中の予定プロジェクトタスクスケジュールが更新され、新しいレコードがこのプロジェクトタスクのTopLevelProjectTaskテーブル1204に追加され、プロジェクトタスクスケジュールの最新改訂であることを示すために改訂番号が1だけ増加される。データベースの実際のタスクスケジュールも更新され、改訂番号が最高である既存のレコードが実際日により更新される。図47乃至図50はサブタスクのプロジェクトタスク及びそれに関連する結果との集計を含むプロジェクトスケジュールエディタセッションの一例を示している。
プロジェクトタスクはTopLevelProjectTaskテーブル1204から取得される(ブロック1702)。ブロック1704において、プロジェクトタスクが他にあるか判断し、もうなければ本プロセスは終了する。プロジェクトタスクがあれば、各プロジェクトタスクに対してサブタスクをTaskAssignmentテーブル1202から取得する(ブロック1706)。判断ブロック1708において、サブタスクが他にあるか判断する。サブタスクが他にない場合、サブタスクの最早開始日と最遅終了日があってプロジェクトタスクのそれと異なれば、プロジェクトタスクが更新され(ブロック1710)、ブロック1702に戻ってプロジェクトタスクを取得する。ブロック1708において他のサブタスクがあると判断すると、Level1MenberTaskテーブル1206から最新改訂に対応する(すなわち改訂番号が最高である)サブタスクのスケジュール情報が取得される(ブロック1712)。ブロック1714において、最早開始日と最遅終了日(予定及び実際)がそれまでのサブタスクに関して追跡(track)され、ブロック1706に戻り、TaskAssignmentテーブル1202から、ブロック1702で取得されたプロジェクトタスク(がもしあれば)に関係する他のサブタスクを取得する。
プロジェクトスケジュールマネージメントシステムの画面例
図18は、本発明の一実施形態によるデフォルトタスクテーブル1212(図12)のエントリー例を示す画面である。これらのタスクは、プロジェクトタスクの追加またはプロジェクトメンバーへの関連サブタスクの割り当てのためのタスク割り当てエディタのプロジェクトタスクメニューセレクションに表示されるか、またはプロジェクトタスクの追加とタスクの予定スケジュールの設定のためのプロジェクトスケジュールエディタに表示される。DefaultTasksテーブル1212からの図18と同様の表示ページに示したタスクは、多数のプロジェクトに共通のプロジェクトタスクである。
図19は、本発明の一実施形態によるProjectTeamテーブル1210はプロジェクトメンバー(図12)のエントリー例を示す画面である。この表示ページはJ17プロジェクトのプロジェクトメンバーを示している。nLevelXMaxTaskIDsはすべてのレベルのメンバーのすべてのタスクを一意的に特定するために使用される。メンバーによりスケジュールされたタスクはないから、すべてのnLevelXMaxTaskIDは空欄(null)である。各メンバーには、(a)すべてのレベルにおけるそのメンバーのタスクにIDを割り当てるために使用されるタスクIDと、(b)プロジェクトスケジュールと、タスクに関連するメンバーを示すタスク割り当てとの表示に使用されるメンバーラベルと、(c)エディタのアクセス特権を判断するために使用されるメンバー役割番号と、(d)メンバーのスケジュールが生成され格納されるウェブページのディレクトリを示すメンバーディレクトリとが割り当てられている。
タスク割り当てエディタセッション
図20は、本発明の一実施形態によるタスク割り当てエディタセッション例を示す画面である。5つのプロジェクトタスクがプロジェクトに加えられている:すなわち、計画、要件、ガイドライン文書、トップレベル設計、及びパッケージ設計である。サブタスクがプロジェクトタスクに加えられている:すなわち、計画に2つのサブタスク、要件に2つのサブタスク、ガイドライン文書に5つのサブタスク、及びトップレベル設計に3つのサブタスクである。各サブタスクはProjectTeamテーブル1210(図12)で特定されたプロジェクトメンバーの1人に割り当てられる。メンバーは図19に示したように、それぞれのメンバーラベルで識別される。タスクとその割り当てに関する情報はすべてテーブルで管理される。「終了」ボタンが選択されると、この情報でデータベースが更新される。エディタに入力された情報はすべてクライアントプロセッサ(ウェブブラウザ)からサーバプロセッサ(ウェブサーバ)に送られる。
図21は、本発明の一実施形態による、メンバーがタスク割り当てエディタ(図20)の「終了」(Finish)ボタンを選択した時に、タスク割り当てテーブル1202(図12)に記憶される情報を示す画面である。このテーブルはプロジェクトタスクに関連するすべてのサブタスクを示している。サーバプロセッサが各プロジェクトタスクにタスクIDを割り当てる。しかし、各サブタスクのタスクIDは、タスク割り当てエディタセッションが完了すると割り当てられない。タスク割り当てエディタはデータベースの他のテーブルには影響しない。図22は、本発明の一実施形態による、図21に示したタスク割り当てエディタセッション後に生成されるウェブページを示す画面である。
プロジェクトスケジュールエディタセッション
図23は、本発明の一実施形態によるプロジェクトスケジュールエディタセッション例を示す画面である。5つのプロジェクトタスクが選択されスケジュールされている。プロジェクトタスクメニューセレクションは、タスク割り当てエディタセッションで追加されたプロジェクトタスクと、データベースのDefaultTasksテーブル1212(図12)のプロジェクトタスクの両方を含む(タスク割り当てエディタに追加されたプロジェクトタスクもこの実施例ではDefaultTasksテーブルのものである)。予定日は年月日のメニューセレクションを選択することにより設定される。「終了」ボタンが選択されると、この情報でデータベースが更新される。プロジェクトスケジュールエディタに入力された情報はすべてクライアントプロセッサ(ウェブブラウザ)からサーバプロセッサ(ウェブサーバ)に送られる。
図24は、本発明の一実施形態による、メンバーがプロジェクトスケジュールエディタ(図23)の「終了」(Finish)ボタンを選択した時に、TopLevelProjectTaskテーブル1204(図12)に記憶される情報を示す画面である。プロジェクトスケジュールエディタで入力されたタスク名と予定日は、TopLevelProjectTaskテーブル1204に追加される。スケジュールが設定されたエディタセッションの日付はテーブルのsetDateフィールドに割り当てられる。この実施例ではこれがすべてのタスクに対してスケジュールが設定されるのは初めてだから、改訂番号(nScheduleRevNumber)として1がテーブルに追加される。
図25は、本発明の一実施形態による、メンバーがプロジェクトスケジュールエディタ(図23)の「終了」(Finish)ボタンを選択した時に、TaskAssignmentテーブル1202(図12)に記憶される情報を示す画面である。この実施例に基づくテーブルには変更はないが、「T2」に割り当てられたデータベース設計は図21と比較して古くなる。プロジェクトスケジュールエディタにタスクが追加されると、そのタスクはこのテーブルに追加され、適当なタスクIDが付される。図26は、本発明の一実施形態による、図23に示したプロジェクトスケジュールエディタセッション後に生成されるウェブページを示す画面である。
メンバースケジュールエディタセッション
最初のメンバースケジュールセッション
図27は、本発明の一実施形態による、プロジェクトメンバー(「test1」と呼ぶ)のメンバースケジュールエディタセッション例を示す画面である。メンバースケジュールエディタディスプレイのタスクメニューセレクションは、メンバー「test1」に割り当てられたプロジェクトタスクのサブタスクのみを表示する。メンバーに割り当てられたサブタスクは、TaskAssignmentテーブル1202(図12)から取得される。メンバーは「新規(New)」を選択して、そのプロジェクトタスクのいずれとも関係していないそのメンバー自身のタスクを入力することができる。これはそのメンバーの最初のセッションなので、そのメンバーは4つのタスクを追加する。すなわち、プロジェクトプラン、コード仕様(Code Convention)、デザイン文書ガイドライン、及びコンポーネントインターフェイスである。メンバーは4つのうちの3つのタスク、すなわちプロジェクトプラン、コード仕様、及びデザイン文書ガイドラインに詳細タスク(レベル2タスク)を追加する。メンバーは詳細タスクの各々のタスク名を入力し、年月日メニューセレクションで詳細タスクの予定日を選択して設定する。メンバーはレベル1タスク(コンポーネントインターフェイス)の予定日を設定するメンバースケジュールエディタにおいてレベル2タスクの予定日ですべてのレベル1タスクを更新するには、メンバーは「更新(Update)」ボタンを選択する。
図28は、本発明の一実施形態による、図27のメンバースケジュールセッション例の場合において「更新」(Update)ボタンを選択した結果を示す画面である。レベル2タスクの最早予定開始日と最遅予定終了日は、日付メニューセレクションの対応するレベル1タスクに関連して表示される。更新方法は図16のフローチャートに示したプロセスに従う。「終了」ボタンが選択されると、メンバータスクスケジュール情報でデータベースが更新される。メンバースケジュールエディタに入力された情報はすべてクライアントプロセッサ(ウェブブラウザ)からサーバプロセッサ(ウェブサーバ)に送られる。図28においては、メンバーが選択できるタスクセレクションにも留意されたい。
図29は、本発明の一実施形態による、メンバーがメンバースケジュールエディタ(図28)の「終了」(Finish)ボタンを選択した時に、TaskAssignmentテーブル1202(図12)で更新される情報を示す画面である。テーブルには新しいレコードは追加されない。しかし、図25と比較して、メンバースケジュールエディタにおいてメンバーにより追加されたタスクのnLevel1TaskIDの値は、ここに説明した方法により割り当てられている(プロジェクトプランは13、コード仕様は23、デザイン文書ガイドラインは33、コンポーネントインターフェイスは43)。
図30は、本発明の一実施形態による、メンバーがメンバースケジュールエディタ(図28)の「終了」(Finish)ボタンを選択した時に、MemberTasksテーブル1208(図12)に追加される情報を示す画面である。レベル1タスクとそれに対応するレベル2タスクのIDがテーブルに追加されている。テーブルにはタスクIDによるタスク間の関係が示されている。タスクIDは、ProjectTeamテーブル1210(図12)のプロジェクトメンバーのnMemberTaskIDとnLevelXMaxTaskIDにより決定されている。
図31は、本発明の一実施形態による、メンバーがメンバースケジュールエディタ(図28)の「終了」(Finish)ボタンを選択した時に、Level1MenberTaskテーブル1206(図12)に追加される情報を示す画面である。エディタで入力されたタスク名と予定日は、Level1MenberTaskテーブル1206に追加される。タスクIDは、ProjectTeamテーブル1210(図12)のタスクID情報を用いてタスクに割り当てられたものである。nProjectTaskID(親タスクのID)の値は、タスク割り当てエディタセッションによりプロジェクトタスクに割り当てられたものである。スケジュールが設定されたエディタセッションの日付は、Level1MenberTaskテーブル1206のsetDateフィールドに割り当てられる。これがすべてのメンバータスクに対してスケジュールが設定されるのは初めてだから、改訂番号(nScheduleRevNumber)として1がLevel1MenberTaskテーブル1206に追加される。
図32は、本発明の一実施形態による、メンバーがメンバースケジュールエディタ(図28)の「終了」(Finish)ボタンを選択した時に、Level2MemberTaskテーブル(図12)に追加される情報を示す画面である。エディタで入力されたタスク名と予定日は、Level2MemberTaskテーブル1214に追加される。タスクIDは、ProjectTeamテーブル1210(図12)のタスクID情報を用いてタスクに割り当てられたものである。nLevel1TaskID(レベル1タスクのID)の値は、元々、レベル1タスクがLevel1MenberTaskテーブルに追加された時に割り当てられている。レベル2タスクのタスク名は同一であっても、nLevel2TaskIDはそのタスクを一意的に識別し、nLevel1TaskIDはそのタスクの親タスクを識別する。スケジュールが設定されたエディタセッションの日付はテーブルのsetDateフィールドに割り当てられる。これがすべてのメンバーのレベル2タスクに対してスケジュールが設定されるのは初めてだから、改訂番号(nScheduleRevNumber)として1がテーブルに追加される。
図33は、本発明の一実施形態によるメンバースケジュールエディタセッション(図28)後に生成されるウェブページを示す画面である。
第2のメンバースケジュールセッション
図34は、本発明の一実施形態による、プロジェクトメンバーとマネージャのメンバースケジュールエディタセッション例を示す画面である。このメンバースケジュール例は、複数レベルのタスクの追加を含む。メンバースケジュールエディタディスプレイのタスクメニューセレクションは、メンバー(マネージャ)に割り当てられたプロジェクトタスクのサブタスクのみを表示する。メンバーに割り当てられたサブタスクは、データベースのTaskAssignmentテーブル1202(図12)から取得される。メンバーはタスクプロジェクト開始(Project Initiation)を追加し、そのプロジェクト開始タスクに詳細タスク(レベル2タスク−ドラフトとファイナル)を追加する。メンバーはレベル2タスクの各々のタスク名を入力し、年月日メニューセレクションでレベル2タスクの予定日を選択して設定する。メンバーは「新規(New)」を選択して、そのプロジェクトタスクのいずれとも関係していないそのメンバー自身のタスク、パテントケース(Patent Cases)を入力することができる。メンバーはパテントケースに1つの詳細タスク(レベル2タスク−プロジェクトの新しい開示(New Disclosure for Project))を追加する。次に、メンバーは「プロジェクトの新しい開示」に3つの詳細タスク(レベル3タスク−図面、明細書、及び請求項)を追加する。メンバーはレベル3タスクの各々のタスク名を入力し、年月日メニューセレクションでレベル3タスクの予定日を選択して設定する。メンバーは「更新」ボタンを選択して、上のレベルのタスクすべての予定日を更新する。
図35は、本発明の一実施形態による、「更新」(Update)ボタンを選択した結果を示す画面である。更新方法は図16のフローチャートに示したプロセスに従う。「終了」ボタンが選択されると、メンバータスクスケジュール情報でデータベースが更新される。エディタに入力された情報はすべてクライアントプロセッサ(ウェブブラウザ)からサーバプロセッサ(ウェブサーバ)に送られる。
図36は、本発明の一実施形態による、メンバーがメンバースケジュールエディタ(図35)の「終了」(Finish)ボタンを選択した時に、TaskAssignmentテーブル1202(図12)で更新される情報を示す画面である。テーブルには新しいレコードは追加されない。しかし、図29と比較して、メンバースケジュールエディタでメンバーにより追加されたタスクのnLevel1TaskIDの値が割り当てられている(プロジェクト開始に対して11)。追加された新しいタスク「パテントケース」は、プロジェクトに関係するタスクではないので、このテーブルには追加されない。
図37は、本発明の一実施形態による、メンバーがメンバースケジュールエディタ(図35)の「終了」(Finish)ボタンを選択した時に、MemberTasksテーブル1208(図12)に追加される情報を示す画面である。図35と比較して、レベル1、レベル2、レベル3のIDがテーブルに追加されている。nLevel1TaskIDの値21は、パテントケースと呼ばれる新しいタスクに対応する。テーブルにはタスクIDによるタスク間の関係が示されている。タスクIDは、ProjectTeamテーブル1210(図12)のプロジェクトメンバーのnMemberTaskIDとnLevelXMaxTaskIDにより決定されている。
図38は、本発明の一実施形態による、メンバーがメンバースケジュールエディタ(図35)の「終了」(Finish)ボタンを選択した時に、Level1MenberTaskテーブル1206(図12)に追加される情報を示す画面である。図31と比較して、メンバースケジュールエディタで入力されたタスク名と予定日は、そのテーブルに追加される。タスクIDは、ProjectTeamテーブル1210(図12)のタスクID情報を用いてタスクに割り当てられたものである。nProjectTaskID(親タスクのID)の値は、タスク割り当てエディタセッションによりプロジェクトタスクに割り当てられたものである。追加されたタスクがプロジェクトタスクと関係しないとき、nProjectTaskIDの値は0となる。スケジュールが設定されたエディタセッションの日付は、Level1MenberTaskテーブル1206のsetDateフィールドに割り当てられる。これがすべてのメンバータスクに対してスケジュールが設定されるのは初めてだから、改訂番号として1がLevel1MenberTaskテーブル1206に追加される。
図39は、本発明の一実施形態による、メンバーがメンバースケジュールエディタ(図35)の「終了」(Finish)ボタンを選択した時に、Level2MemberTaskテーブル1214(図12)に追加される情報を示す画面である。図32と比較して、メンバースケジュールエディタで入力されたタスク名と予定日は、そのLevel2MemberTaskテーブル1214に追加される。タスクIDは、ProjectTeamテーブル1210(図12)のタスクID情報を用いてタスクに割り当てられたものである。nLevel1TaskID(レベル1タスクのID)の値は、元々、レベル1タスクがLevel1MenberTaskテーブル1206(図12)に追加された時に割り当てられている。スケジュールが設定されたメンバースケジュールエディタセッションの日付は、Level2MenberTaskテーブル1214のsetDateフィールドに割り当てられる。これがすべてのメンバーのレベル2タスクに対してスケジュールが設定されるのは初めてだから、改訂番号として1がテーブルに追加される。
図40は、本発明の一実施形態による、メンバーがメンバースケジュールエディタ(図35)の「終了」(Finish)ボタンを選択した時に、Level3MenberTaskテーブル1216(図12)に追加される情報を示す画面である。メンバースケジュールエディタで入力されたタスク名と予定日は、Level3MemberTaskテーブル1216に追加される。タスクIDは、ProjectTeamテーブル1210(図12)のタスクID情報を用いてタスクに割り当てられたものである。nLevel2TaskID(レベル2タスクのID)の値は、元々、レベル2タスクがLevel2MenberTaskテーブル1214(図12)に追加された時に割り当てられている。スケジュールが設定されたメンバースケジュールエディタセッションの日付は、Level3MenberTaskテーブル1216のsetDateフィールドに割り当てられる。これがすべてのメンバーのレベル3タスクに対してスケジュールが設定されるのは初めてだから、改訂番号として1がLevel3MemberTaskテーブル1216に追加される。
図41は、本発明の一実施形態による、マネージャのメンバースケジュールエディタ(図35))セッション後に生成されるウェブページを示す画面である。非プロジェクトタスク(パテントケース)の行の色は、分かりやすくするために、プロジェクトタスクの行の色と異ならせていることに留意せよ。
図42は、本発明の一実施形態による、2つのメンバースケジュールエディタセッション(図27と図34を参照して説明したもの)後のProjectTeamテーブル1210のエントリーを示す画面である。図19と比較して、nLevelXMaxTaskIDは、カレントメンバーに対して今まで使用している最高のタスクIDで更新されている。1デジットのエントリ(1と3)は、そのレベルのタスクにはタスクスケジュールがまだ割り当てられていないことを示す。
第3のメンバースケジュールセッション
図43は、本発明の一実施形態による、プロジェクトメンバーマネージャとのメンバースケジュールエディタセッション例を示す画面である。メンバーのスケジュールは、前のセッションで作成されており、メンバースケジュールエディタは既存のタスクを予定日と示している。メンバースケジュールエディタは、タスクのスケジュールが事前に設定(または修正)されている日付も示している。このメンバースケジュールエディタセッションでは、メンバーは「プロジェクト開始(Project Initiation)のレベル2タスク−ドラフト(Draft)とファイナル(Final)の予定日を変更する。メンバーは、プロジェクト開始のレベル2タスク−ドラフトの実際開始日を更新する。メンバーは、プロジェクトタスク「トップレベルデザイン」と関連している新しいタスク「アーキテクチャ」(Architecture)を追加して、アーキテクチャタスクの予定日を設定する。メンバーは、「更新」ボタンを選択して、下のレベルのタスクにおける変更で上のレベルのタスクを更新する(「プロジェクト開始」のレベル1と2のタスクのみが影響を受ける)。メンバースケジュールエディタは更新されて再表示される。タスクの予定日に何らかの変更があれば、前に設定された日付は取消線で取り消されて表示され、その下に新しく設定された日付として現在の日付が表示される。予定日は取消線で取り消されて表示され、その下に新しい予定日が年月日メニューセレクションで表示される。新しい実際日は、年月日メニューセレクションに表示されている。「終了」ボタンが選択されると、メンバータスクスケジュール情報でデータベースが更新される。メンバースケジュールエディタに入力された情報はすべてクライアントプロセッサ(ウェブブラウザ)からサーバプロセッサ(ウェブサーバ)に送られる。
図44は、本発明の一実施形態による、メンバーがメンバースケジュールエディタ(図43)の「終了」(Finish)ボタンを選択した時に、Level1MenberTaskテーブル1206(図12)に追加される情報を示す画面である。図38と比較すると変化が分かる。タスク「プロジェクト開始」の予定日には変更があったので、メンバースケジュールエディタのタスク名と新しい予定日がLevel1MenberTaskテーブル1206に追加され、改訂番号が2とされて、これがそのタスクの2つめのスケジューリングであることを示している。このタスクには同じタスクIDと親IDが使用され、メンバースケジュールエディタセッションの日付がLevel1MenberTaskテーブル1206のsetDateフィールドの新しい値となる。メンバースケジュールエディタセッションの日付が、そのタスクの改訂番号が最も高いスケジュールのsetDateの値と同じである場合、そのタスクの新しいレコードにはより高い改訂番号は付加されない。むしろ、そのタスクのレコードは予定日の変更で修正される。実際日は、このLevel1MenberTaskテーブル1206中の最も高い改訂番号を有するタスクについて、メンバースケジュールエディタの実際日で修正される。このLevel1MenberTaskテーブル1206に追加されるのは、図36に示したようにTaskAssignmentテーブル1202(図12)に最初に設定されたプロジェクトタスクIDと、図42に示したようにProjectTeamテーブル1210(図12)のタスクID情報により決定されたタスクIDとを有する追加タスク「アーキテクチャ」である。
図45は、本発明の一実施形態による、メンバーがメンバースケジュールエディタ(図43)の「終了」(Finish)ボタンを選択した時に、Level2MemberTaskテーブル1214(図12)に追加される情報を示す画面である。図39と比較すると変化が分かる。レベル1タスク「プロジェクト開始」のレベル2タスク「ドラフト(Draft)」及び「ファイナル(Final)」の予定日には変更があったので、メンバースケジュールエディタのタスク名と新しい予定日がLevel2MenberTaskテーブル1214に追加され、改訂番号が2とされて、これがそのタスクの2つめのスケジューリングであることを示している。これらのタスクには同じタスクIDと親IDが使用され、メンバースケジュールエディタセッションの日付がLevel2MenberTaskテーブル1214のsetDateフィールドの新しい値となる。実際日は、このLevel2MenberTaskテーブル1214中の最も高い改訂番号を有するタスクについて、メンバースケジュールエディタの実際日で修正される。
図示していないが、ProjectTeamテーブル1210、TaskAssignmentテーブル1202、及びMemberTasksテーブル1208(図12)はメンバースケジュールエディタセッションにより影響を受けている。ProjectTeamテーブル1210の場合、マネージャのnLevel1TaskIDは更新されタスクIDがタスク「アーキテクチャ」に割り当てられる。TaskAssignmentテーブル1202の場合、「アーキテクチャ」のsLevel1TaskNameのnLevel1TaskIDは、それに割り当てられた新しいタスクIDで設定されている。MemberTasksテーブル1208の場合、タスク「アーキテクチャ」には新しいレコードが追加されnLevel1TaskIDが設定される。
図46は、本発明の一実施形態による、マネージャのメンバースケジュールエディタセッション後に生成されるウェブページを示す画面である。タスクスケジュールは、そのタスクのスケジューリングの変更履歴を示している。タスクの前のスケジュールは取消線で取り消されて表示されている。
プロジェクトスケジュールエディタセッション
図47は、本発明の一実施形態による、プロジェクトスケジュールとの他のセッション例を示す画面である。プロジェクトスケジュールエディタは、タスク割り当てエディタとプロジェクトスケジュールエディタにより追加されて事前にスケジュールされた5つのタスクを示している。プロジェクトタスクのサブタスクのスケジュールが、プロジェクトスケジュールエディタにも示されている。サブタスクスケジュールは、対応するプロジェクトタスクスケジュールの下に表示されている。プロジェクトスケジュールエディタは、サブタスクに割り当てられたメンバー(メンバーラベル)を示している。プロジェクトスケジュールエディタは、プロジェクトタスクのスケジュールとサブタスクが事前に設定または修正された日付を示している。サブタスクの日付は、プロジェクトタスクの日付とまだ集計されていない。サブタスクの最早予定開始日と最遅予定終了日は、プロジェクトタスクの予定日とは一致しない。
サブタスクのスケジュールをプロジェクトタスクと集計するために、メンバーはプロジェクトスケジュールエディタの「集約(Consolidate)」ボタンまたは「終了(Finish)」ボタンのいずれかを選択する。両方とも、サーバプロセッサ604(図6)におけるサブタスクスケジュールのプロジェクトスケジュールとの集計を行う。集計方法は図17のフローチャートに示したプロセスに従う。「集約(Consolidate)」ボタンにより、プロジェクトスケジュールエディタは集計されたスケジュールで再表示される。図48は、本発明の一実施形態による、メンバーが「集約」(Consolidate)ボタンを選択した後に再度表示されるプロジェクトスケジュールエディタを示す画面である。プロジェクトタスク日程はすべてサブタスク日程と一致している。プロジェクトタスクは追加または修正されていないが、かかる変更は「集約」ボタンまたは「終了」ボタンが選択された時に、データベースに追加または更新されている。
図49は、本発明の一実施形態による、メンバーがプロジェクトスケジュールエディタ(図47と図48)の「集約」(Consolidate)ボタンまたは「終了」(Finish)ボタンを選択した時に、TopLevelProjectTaskテーブル1204(図12)に記憶される情報を示す画面である。図17のフローチャートで説明したプロセスを用いてサブタスクのプロジェクトタスクとの集計をした後、プロジェクトタスクの予定日は変更され得る。予定日が変わり、プロジェクトタスクの最新改訂版の設定日がプロジェクトスケジュールエディタセッションの日付と同じであれば、タスクのレコードはその最新バージョンの予定日で更新される。設定日が同一でない場合、改訂番号がインクリメントされ(この例では、プランニング及びトップレベルデザインの場合、2である)、予定日が新しくなったTopLevelProjectTaskテーブル1204にタスクの新しいレコードが追加される。プロジェクトタスクのTopLevelProjectTaskテーブル1204中の実際日が更新され、改訂番号が最高とされる。プロジェクトスケジュールエディタセッションが追加またはスケジュールした新しいタスクは無いから、データベースの他のテーブルは影響を受けない。
図50は、本発明の一実施形態によるプロジェクトスケジュールエディタセッション後に生成されるウェブページを示す画面である。プロジェクトスケジュールは、そのプロジェクトタスクとサブタスクのスケジューリングの変更履歴を示している。タスクの前のスケジュールは取消線で取り消されて表示されている。
プロジェクトマネージャによるプロジェクトタスクに対するスケジュールの割り当てと設定
図51は、本発明の一実施形態による、プロジェクトマネージャがプロジェクトメンバーにタスクを割り当ててプロジェクトタスクのスケジュールを設定する時のシステムの振る舞いを示すフローチャートである。マネージャはウェブブラウザのタスク割り当てエディタにログインする。ウェブサーバは、ログイン情報を確認・認証した後、タスク割り当てエディタのウェブページをディスプレイのブラウザに送る(ブロック5102)。マネージャはタスク割り当てエディタで様々な操作を実行し、タスクを追加・割り当てする(ブロック5104)。マネージャは、「終了」ボタンを選択して、タスク割り当てに関するすべての情報をウェブサーバに送信する(ブロック5106)。ウェブサーバは、タスク割り当てエディタからプロジェクトタスクの追加とサブタスクの割り当てに関するすべての情報を取得し、その情報をデータベースにポストする(ブロック5108)。ウェブサーバはプロジェクトメンバーのタスク割り当てエディタのウェブページを生成する(ブロック5110)。このウェブページはウェブブラウザで見ることができる。タスク割り当てエディタセッション、データベースの情報のポスティング、生成されるウェブページの例は、図20乃至図22に示されている。
マネージャはウェブブラウザのプロジェクトスケジュールエディタにログインする。ウェブサーバは、ログイン情報を確認・認証した後、プロジェクトスケジュールエディタのウェブページをディスプレイのブラウザに送る(ブロック5112)。マネージャはそのエディタで様々な操作を実行し、プロジェクトタスクを追加・スケジュールする(ブロック5114)。マネージャは、「終了」ボタンを選択して、タスクスケジュールに関するすべての情報をウェブサーバに送信する(ブロック5116)。ウェブサーバは、プロジェクトスケジュールエディタからプロジェクトタスクの追加と関連スケジュールに関するすべての情報を取得し、その情報をデータベースにポストする(ブロック5118)。ウェブサーバはプロジェクトスケジュールのウェブページを生成する(ブロック5120)。このウェブページはウェブブラウザで見ることができる。プロジェクトスケジュールエディタセッション、データベースの情報のポスティング、生成されるウェブページの例は、図23乃至図26に示されている。
プロジェクトメンバーによるプロジェクトタスクのスケジュール設定
図52は、本発明の一実施形態による、プロジェクトスケジュールが自分のタスクとサブタスクのスケジュールを設定する時のシステムの振る舞いを示すフローチャートである。メンバーはウェブブラウザからメンバースケジュールエディタにログインする(ブロック5202)。ウェブサーバは、ログイン情報を確認・認証すると、メンバースケジュールエディタのウェブページを表示のためにブラウザに送る。メンバーはメンバースケジュールエディタで様々な操作を実行し、任意のレベルのタスクを追加・スケジュールする(ブロック5204)。メンバーは、「終了」ボタンを選択して、タスクスケジュールに関するすべての情報をウェブサーバに送信する(ブロック5206)。ウェブサーバは、メンバースケジュールエディタからタスクの追加と関連スケジュールに関するすべての情報を取得し、その情報をデータベースにポストする(ブロック5208)。ウェブサーバはメンバーのスケジュールのウェブページを生成する(ブロック5210)。このウェブページはウェブブラウザで見ることができる。プロジェクトスケジュールエディタセッション、データベースの情報のポスティング、生成されるウェブページの例は、図27乃至図41に示されている。
メンバーのスケジュールは、ウェブブラウザでメンバースケジュールエディタに再度ログインすることにより、修正または更新できる。メンバーは、任意のレベルのタスクをスケジュールし、既存タスクの予定日を編集し、既存タスクの結果を更新することができる(ブロック5214)。メンバーは、「終了」ボタンを選択して、タスクスケジュールに関するすべての情報をウェブサーバに送信する(ブロック5216)。ウェブサーバは、メンバースケジュールエディタからタスクと関連スケジュールの追加、編集、または更新に関するすべての情報を取得し、その情報をデータベースにポストする(ブロック5218)。ウェブサーバはメンバーのスケジュールの更新されたウェブページを生成する(ブロック5220)。このウェブページは後でウェブブラウザで見ることができる。プロジェクトスケジュールエディタセッション、データベースの情報のポスティング、生成されるウェブページの例は、図43乃至図46に示されている。
メンバースケジュールのプロジェクトスケジュールとの集約
図53は、本発明の一実施形態による、プロジェクトマネージャがメンバーのスケジュールをプロジェクトスケジュールと集約する時のシステムの振る舞いを示すフローチャートである。マネージャはウェブブラウザのプロジェクトスケジュールエディタにログインする。ウェブサーバは、ログイン情報を確認・認証した後、エディタのウェブページをディスプレイのブラウザに送る(ブロック5302)。マネージャはそのエディタで様々な操作を実行し、プロジェクトタスクを追加・スケジュールする(ブロック5304)。マネージャは、「集約(Consolidate)」ボタンを選択して、タスクスケジュールに関するすべての情報をウェブサーバに送信する(ブロック5306)。ウェブサーバは、プロジェクトスケジュールエディタからプロジェクトタスクの追加と関連スケジュールに関するすべての情報を取得し、その情報をデータベースにポストする(ブロック5308)。
ブロック5310において、ウェブサーバは、図17に示したプロセスを用いてすべてのメンバーのスケジュールをプロジェクトスケジュールと集計する。ウェブサーバはサブタスクスケジュールを含むプロジェクトスケジュールのウェブページを生成する(ブロック5312)。このウェブページは後でウェブブラウザで見ることができる。ウェブサーバは、情報更新して表示するために、プロジェクトスケジュールエディタのためのウェブページをブラウザに返す。プロジェクトスケジュールエディタセッション、データベースの情報のポスティング、ウェブブラウザにおけるエディタの再表示、生成されたウェブページの例は、図47乃至図49に示されている。
タスク識別子のタスクへの割り当て
図54は、本発明の一実施形態による、タスクIDを様々なレベルのプロジェクトメンバーに割り当てるプロセスを示すフローチャートである。ProjectTeamテーブル1210(図12)は、プロジェクトの各プロジェクトメンバーのタスクに割り当てられたタスクIDに関する情報を含む。図19乃至図42は、ProjectTeamテーブル1210の例を示している。図54に示したタスクID割り当てプロセスでは、ProjectTeamテーブル1210のnMemberTaskIDの値により、2つ以上のメンバースケジュールエディタセッションが同時に発生している時には、タスクIDは1つのレベルの2つ以上のタスクに割り当てられない。テーブルとプロセスにより、任意レベルのタスクがタスクIDにより一意的に識別されることが保証される。
図54のフローチャートのプロセスは、プロジェクトメンバーがメンバースケジュールエディタセッションを完了した後、サーバプロセッサ(ウェブサーバ)により実行される。サーバプロセッサは、ProjectTeamテーブル1210から、そのプロジェクト番号のプロジェクトメンバーの影響があった各タスクレベルの既存の最高のタスクIDを取得する(ブロック5402)。レベルタスクIDのどれかがゼロ(またはnull)である場合、そのレベルの最高既存タスクIDがnMemberTaskIDの値に設定される(ブロック5404)。あるプロジェクト番号の各プロジェクトメンバーは、スケジュールが作成される前に、そのプロジェクトの初めに一意的なメンバータスクIDを割り当てられる。プロジェクトチームの大きさに応じて、その番号は、チームが小さければモジュロ10、チームが大きければモジュロ100またはモジュロ1000とすることができる。タスクIDはそのモジュロ(小さいチームは10、大きいチームは100または1000)の増分である。エディタが新しく追加されたタスクを含む場合、タスクIDがそのタスクに割り当てられる(ブロック5406)。タスクのレベルに応じて、そのレベルの最高のタスクIDはモジュロ数だけ増加され、そのタスクに割り当てられる。新しいタスクが追加されるので、すべてのレベルの最高タスクIDが維持される。
すべてのタスクがデータベースにポストされると、各レベルの最高タスクIDは、もし変更されていれば、そのプロジェクト番号のプロジェクトメンバーのProjectTeamテーブル1210において更新される(ブロック5408)。一例として、図42のProjectTeamテーブル1210の値を、新しいタスクをメンバー「test1」に追加するために使用する。新しいタスクが「test1」のメンバースケジュールエディタセッションのレベル2とレベル3に追加される。新しいレベル2タスクの場合、最高タスクIDの63を使用し、10を加えて最高タスクIDを73とし、その最高タスクIDの73をレベル2タスクに割り当てる。新しいレベル3タスクの場合、最高タスクIDの3を使用し、10を加えて最高タスクIDを13とし、その最高タスクIDの13をレベル3タスクに割り当てる。エディタセッションからすべてのタスク情報がポストされると、データベースのProjectTeamテーブルを更新して、test1のnLevel2MaxTaskIDの値を73とし、nLevel3MaxTaskIDの値を13とする。
タスク情報の組織化及びインデックス付け
図55は、本発明の一実施形態による、メンバースケジュールエディタにおけるタスク情報の組織化を示す画面である。この画面は、ウェブページに表示されるメンバースケジュールエディタの文書オブジェクトモデル(DOM、Document Object Model)を示している。この情報はウェブブラウザに維持されている。一実施形態では、エディタのウェブページはテーブルを含むHTML形式であり、各行はスケジュールされたタスクに対応する。このフォームにより、情報をウェブページに入力し、ウェブサーバに処理のために送ることができる。このフォームはJava(登録商標)スクリプトにより生成・維持・管理され得る。Java(登録商標)スクリプトは、このフォーム中で生じるイベント(メニューからのアイテムの洗濯、チェックボックスの選択、ボタンの選択等)を処理する。メンバースケジュールエディタのテーブル中の各行には、(「xxx」とラベルされた)インデックスを含むID値が与えられる。そのインデックスは各行で一意的である。行のすべての要素は、この一意的インデックスを使用してタスクに関する情報を格納・管理する。Java(登録商標)スクリプトは、その一意的インデックスを含むID値を使用して、タスクに関する情報へのアクセスまたは設定をし、エディタのその行に表示されるものを制御する。
このフォームは、タスクに関する情報を格納するがメンバースケジュールエディタにはその情報を表示しない隠れ要素を含んでいる。その隠れ要素は、タスクに関する情報を取得して設定するのに有用である。その情報とは、例えば、タスクID、タスクレベル、タスクに対して実行された操作(すなわち、予定日付の追加、削除、編集)、親タスクID、詳細タスク数等である。そのフォーム中の情報はすべて、表示されていても隠されていても、各タスクに関する情報の処理のためにウェブサーバに送られる。メンバースケジュールエディタのDOM表現により、Java(登録商標)スクリプトによるエディタの表示のアクセスと制御が可能となる。図57は、エディタの様々な要素のIDで使用されるインデックスがどのように作られるかを示している。タスク割り当てエディタとプロジェクトスケジュールエディタは、メンバースケジュールエディタとしての同様のDOM表現に従う。要素のIDはその行では一意的なインデックスを使用する。エディタは、図55に示したより多くの情報を含み得る。
図56は、本発明の一実施形態による、様々な構成要素と各行に割り当てられたインデックスを示すメンバースケジュールエディタ例を示す画面である。インデックスは各行で一意的である。そのインデックスはアンダーライン「_」により分けられた数字列を含む。タスクレベルが低いほど、インデックスはより大きい数字を含む。
図57は、本発明の一実施形態による、タスクの各行に対してインデックスをいかに生成するか、エディタの表示は初めてか、またはいずれかのレベルの新しいタスクがエディタに追加されるか示すフローチャートである。インデックスは文字、記号、または数字のシーケンスで始まる。図56では、最初のシーケンスは「R_1」である。このシーケンスはいかなるものでもよく、すべての行のインデックスで使用される。図57のプロセスでは、(a)最初のシーケンスが設定され、(b)シーケンス分離子(separator)が設定され、(c)メンバーのスケジュールにすでにあるタスクを処理するためレベル1シーケンス番号が最初に1に設定され、そして(d)エディタセッションのメンバーのスケジュールに追加されるタスクを処理するため他のレベル1シーケンス番号が10000に設定される(ブロック5702)。10000の替わりに他の大きな数でもよい。レベル1シーケンス番号は既存のスケジュールされたタスクを新しく追加されたタスクから区別するインデックスを与える。タスクが、ブロック5704においてレベル1タスクであり、ブロック5706において既存のタスクである場合、インデックスは、最初のシーケンス、シーケンス分離子、既存タスクのレベル1シーケンス番号を用いて生成され、レベル1シーケンス番号が1だけ増加される(ブロック5708)。タスクが、ブロック5704においてレベル1タスクであり、ブロック5706において新しく追加されたタスクである場合、インデックスは、追加タスク最初のシーケンス、シーケンス分離子、追加タスクのレベル1シーケンス番号を用いて生成され、レベル1シーケンス番号が1だけ増加される(ブロック5710)。
生成されるインデックスは、図55に示したように、そのタスクに関する情報を含む行のすべての要素のIDに使用される。タスクがブロック5704において下のレベルのタスクである場合、その親タスクのインデックスを決定し、その親タスクが有する詳細タスクの数を決定する(ブロック5712)。この情報は、親タスクに対応する行の要素から取得できる。親タスクが有する詳細タスク数を1だけ増加し、その親タスクのインデックス、シーケンス分離子、及び親タスクの詳細タスク数を用いてインデックスを生成する(ブロック5714)。生成されるインデックスは、下のレベルのタスクに対応する行のすべての要素に対するIDで使用される。エディタに表示するタスクがまだあれば(ブロック5718)、ブロック5704に戻り、エディタに表示すべき各タスク行に対してプロセス(最初のシーケンスを設定するステップを除く)を繰り返す。
タスクに対応する行のインデックス付けは、Java(登録商標)スクリプトがタスク情報を管理・維持できるようにするものである。インデックス付けはフォームの様々な要素のIDと名称で使用され、POST後にJava(登録商標)スクリプトとPHPがそれらのアトリビュートと値にアクセスして操作できるようにしている。Java(登録商標)スクリプトはその要素を使用してタスクに関する情報を維持し、エディタにおける要素の表示を制御する。ウェブブラウザ(クライアントプロセッサ)はタスク情報とエディタを維持・管理するためにインデックス付けを使用するが、ウエブサーバ(サーバプロセッサ)はウェブブラウザからウェブサーバに送られる情報にアクセスするためにインデックス付けを使用する。一実施形態では、エディタのすべてのフォーム要素は名称−値ペア(name-value pairs)としてウェブサーバに送られる。名称は、値が表している情報を示すストリングを有するインデックスよりなる。例として、レベル3タスク「クレーム(Claims)」の図56に示したフォームの隠れた要素の名称は「R_1_2_1_3_TaskName」であり、これはタスクの名称「クレーム」に対応する値を有する。R_1に続くシーケンスは、このタスクが2つめのレベル1タスクの最初のレベル2タスクの3つめのレベル3タスクであることを示している。ウェブサーバはストリングとともにインデックスを含む名称を使用し、そのタスクに関する情報を含む値にアクセスする。ウェブサーバは図57のフローチャートに示したのと同様のシーケンスに従って、インデックスを作り、次に名称を作り、フォーム要素から任意レベルの各タスクに関する情報を取得する。
ハードウェアの概要
図58は、本発明の実施形態を実施できるコンピュータシステム5800を示すブロック図である。コンピュータシステム5800は、ワークステーション102(図1)とウェブサーバ104(図1)の非限定的なシステム構成例を示している。コンピュータシステム5800は、情報をやりとりする通信メカニズムすなわちバス5802と、バス5802に結合した情報を処理するプロセッサ5804とを有する。コンピュータシステム5800は、さらに、情報とプロセッサ5804により実行される命令とを格納する、バス5802に結合したランダムアクセスメモリ(RAM)またはその他のダイナミック記憶装置等のメインメモリ5806を含む。メインメモリ5806は、プロセッサ5804による命令の実行中に、一時的変数やその他の中間情報を記憶するために使用されてもよい。コンピュータシステム5800は、さらに、プロセッサ5804のために静的な情報と命令とを記憶する、バス5802に結合された読み出し専用メモリ(ROM)5808その他の静的記憶デバイスを含む。磁気ディスク、光ディスク、または光磁気ディスク等である記憶装置5810は、情報と命令を格納するために設けられ、バス5802に結合される。
コンピュータユーザに情報を表示するため、コンピュータシステム5800は、バス5802を介して、陰極線管(CRT)や液晶ディスプレイ(LCD)等のディスプレイ5812に結合されてもよい。プロセッサ5804に情報とコマンド選択を送るために、英数字その他のキーを含む入力装置5814がバス5802に結合される。他のタイプのユーザ入力装置として、マウス、トラックボール、またはカーソル方向キー等であるカーソル制御部5816がある。これらは、プロセッサ5804に方向情報とコマンド選択を送り、ディスプレイ5812上のカーソルの動きを制御する。この入力装置は、典型的には2つの軸、すなわち第1の軸(例えばx軸)と第2の軸(例えばy軸)で2自由度を有し、これにより平面内の点を特定することができる。
本発明は、個々に説明した方法を実装するためのコンピュータシステム5800の使用にも関する。本発明の一実施形態によると、これらの方法のコンピュータシステム5800による実行は、メインメモリ5806に含まれる1つ以上の命令の1つ以上のシーケンス(を含むコンピュータプログラム)をプロセッサ5804が実行することにより行われる。かかる命令(を含むコンピュータプログラム)は、他のコンピュータ読み取り可能媒体である記憶デバイス5806等から、メインメモリ5810に読み込まれてもよい。メインメモリ5806に含まれる命令シーケンス(を含むコンピュータプログラム)の実行により、プロセッサ5804はここに説明したプロセスステップを実行する。他の実施形態では、本発明の実装には、ソフトウェア命令に替えて、またはこれと組み合わせて、ソフトウェアがハードウェアに組み込まれた回路を使用してもよい。このように、本発明の実施形態は、ハードウェア回路とソフトウェアの特定の組み合わせに限定はされない。
ここで、「コンピュータ読み取り可能媒体」とは、プロセッサ5804が実行する命令を提供する任意の媒体をいう。かかる媒体は、不揮発性媒体、揮発性媒体、伝送媒体等の多数の形式をとることができるが、これらに限定はされない。不揮発性媒体の例としては、記憶装置5810等の光ディスク、磁気ディスク、光磁気ディスク等があるが、これらに限定はされない。揮発性媒体には、ダイナミックメモリであるメインメモリ5806等が含まれる。伝送媒体には、同軸ケーブル、銅ワイヤ、光ファイバが含まれ、バス5802を含むワイヤも含まれる。伝送媒体は、音波や光波であって、無線通信や赤外線データ通信中に生成されるものの形態を取ることもできる。
コンピュータ読み取り可能媒体の一般的な形態には次のものが含まれるが、これに限定はされない。例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、その他の磁気媒体、CD−ROM、DVDその他の光媒体または光磁気媒体、パンチカード、紙テープ、その他の穴のパターンを有する物理媒体、RAM、PROM、EPROM、フラッシュEPROM、その他のメモリチップまたはカートリッジ、以下に説明する搬送波、コンピュータが読み取れるその他の任意の媒体。
プロセッサ5804が実行する1つ以上の命令の1つ以上のシーケンスの搬送には、コンピュータ読み取り可能媒体の様々な形態が使用される。例えば、命令は最初にリモートのコンピュータの磁気ディスク上に担われていてもよい。リモートコンピュータは、その命令をそのダイナミックメモリにロードして、モデムを用いて電話回線を介してその命令を送信することができる。コンピュータシステム5800にあるモデムが、電話回線上のデータを受信し、赤外トランスミッタを用いてそのデータを赤外信号に変換することができる。赤外検出器が赤外信号で搬送されたそのデータを受信して、適当な回路がそのデータをバス5802に載せることができる。バス5802はそのデータをメインメモリ5806に送り、プロセッサ5804はそのメインメモリ5806から命令を読み出して実行する。メインメモリ5806が受け取った命令は、プロセッサ5804が実行する前か後に、任意的に、記憶装置5810に記憶されてもよい。
コンピュータシステム5800は、バス5802に結合した通信インターフェイス5818も含む。通信インターフェイス5818は、ローカルネットワーク5822に接続されたネットワークリンク5820に結合した双方向データ通信を提供する。例えば、通信インターフェイス5818は、統合デジタルサービスネットワーク(ISDN)カードまたはモデムであって、対応するタイプの電話回線へのデータ通信接続を提供してもよい。他の例として、通信インターフェイス5818は、ローカルエリアネットワーク(LAN)カードであって、互換性のあるLANへのデータ通信接続を提供してもよい。無線リンクで実装してもよい。かかる実装では、通信インターフェイス5818は、いろいろなタイプの情報を表すデジタルデータストリームを搬送する電気的、電磁気的、または光学的信号を送受信する。
ネットワークリンク5820は、一般的には、1つ以上のネットワークを介して他のデータデバイスへのデータ通信を提供する。例えば、ネットワークリンク5820は、ホストコンピュータ5824またはインターネットサービスプロバイダ(ISP)5826により運営されているデータ機器へのローカルネットワーク5822を介した通信を提供する。ISP5826は、これに対して、現在は一般的に「インターネット」5828と呼ばれている、世界規模のパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク5822とインターネット5828は、両方とも、デジタルデータストリームを担う電気的、電磁気的、または光学的信号を使用する。様々なネットワーク中の信号やネットワークリンク5820と通信インターフェイス5818上の信号は、コンピュータシステム5800との間でデジタルデータを搬送し、情報を伝送する搬送波の形態例である。
コンピュータシステム5800は、ネットワーク、ネットワークリンク5820、及び通信インターフェイス5818を介して、メッセージを送信しプログラムコードを含むデータを受信することができる。インターネットの例では、サーバ5830は、インターネット5828、ISP5826、ローカルネットワーク5822、及び通信インターフェイス5818を介して、要求されたアプリケーションプログラムのコードを送信してもよい。
受信したコードは、受信しつつプロセッサ5804により実行されてもよいし、後で実行するために記憶装置5810またはその他の不揮発性記憶装置に記憶されてもよい。このように、コンピュータシステム5800は、搬送波の形態でアプリケーションコードを取得してもよい。
拡張及び代替
本発明の別の実施形態は上記の説明にわたって、実施形態の理解を容易にする場所で説明した。さらにまた、本発明を具体的な実施形態を参照して説明した。しかし、本発明の実施形態の広い範囲から逸脱することなく、様々な修正や変更を加えることができることは明らかである。それゆえ、明細書と図面は例示であって限定ではないと考えるべきである。
また、本明細書では、ステップを特定の順序で記載し、ステップを識別するために英文字または英数字のラベルを使用した。説明中でとくに言及しない限り、本発明の実施形態はかかるステップを実行するいかなる順序にも必ずしも限定されない。特に、ラベルはステップを識別しやすいように使用したものであり、かかるステップを実行する順序を指定し、または要求するためのものではない。
本発明は、添付した図面において実施例によって示すが、本発明を限定するものではない。同じ参照数字は同じ要素を示す。
本発明の一実施形態による、タスク割り当てエディタの画面である。 本発明の一実施形態による、タスク割り当てウェブページの一例の画面である。 本発明の一実施形態による、プロジェクトスケジュールエディタの画面である。 本発明の一実施形態によるプロジェクトスケジュールウェブページの一例の画面である。 本発明の一実施形態による、個人スケジュールエディタの画面である。 本発明の一実施形態による、メンバーのスケジュールウェブページの一例の画面である。 本発明の一実施形態による、プロジェクトメンバーがエディタにログインするログインウェブページの画面である。 本発明の一実施形態を実施する動作環境を示す図である。 本発明の一実施形態を実施する通信アーキテクチャを示す図である。 本発明の一実施形態によるシステムのクライアントプロセッサとサーバプロセッサ間のインターフェイスを示す図である。 本発明の一実施形態によるログインウェブページを用いてプロジェクトメンバーまたはプロジェクトマネージャがエディタにログインするシーケンス図である。 本発明の一実施形態による、プロジェクトマネージャとタスク割り当てエディタとのセッションを示すシーケンス図である。 本発明の一実施形態による、プロジェクトマネージャとプロジェクトスケジュールエディタとのセッションを示すシーケンス図である。 本発明の一実施形態による、プロジェクトマネージャとプロジェクトメンバースケジュールエディタとのセッションを示すシーケンス図である。 本発明の一実施形態による、プロジェクトとプロジェクトメンバーのタスク割り当てとタスクスケジュール情報とを記憶し管理するために使用するデータベーステーブルのスキーマを示す図である。 本発明の一実施形態による、プロジェクトスケジュールが最初に設定される時のシステムの使用を示すフローチャートである。 本発明の一実施形態による、プロジェクトメンバーが既存のスケジュールを修正するメンバースケジュールエディアタの使用例を示すフローチャートである。 本発明の一実施形態による、タスクのスケジュールの一部を修正するメンバースケジュールエディタの画面を示す図である。 本発明の一実施形態による、図15Aの修正後に更新(Update)を選択した場合のメンバースケジュールエディタの画面を示す図である。 本発明の一実施形態による、上のレベルのタスクを下のレベルのタスクで更新するプロセスを示すフローチャートである。 本発明の一実施形態による、様々なプロジェクトメンバーに割り当てたサブタスクを用いてプロジェクトタスクスケジュールを集計するプロセスを示すフローチャートである。 本発明の一実施形態によるDefaultTasksテーブルのエントリー例の画面を示す図である。 本発明の一実施形態によるProjectTeamテーブルのエントリー例を示す画面である。 本発明の一実施形態によるタスク割り当てエディタセッション例を示す画面である。 本発明の一実施形態による、メンバーがタスク割り当てエディタの「終了」(Finish)ボタンを選択した時に、TaskAssignmentテーブルに記憶される情報を示す画面である。 本発明の一実施形態によるタスク割り当てエディタセッション後に生成されるウェブページを示す画面である。 本発明の一実施形態によるプロジェクトスケジュールエディタセッション例を示す画面である。 本発明の一実施形態による、メンバーがプロジェクトスケジュールエディタの「終了」(Finish)ボタンを選択した時に、TopLevelProjectTaskテーブルに記憶される情報を示す画面である。 本発明の一実施形態による、メンバーがプロジェクトスケジュールエディタの「終了」(Finish)ボタンを選択した時に、TaskAssignmentテーブルに記憶される情報を示す画面である。 本発明の一実施形態によるプロジェクトスケジュールエディタセッション後に生成されるウェブページを示す画面である。 本発明の一実施形態によるメンバースケジュールエディタセッション例を示す画面である。 本発明の一実施形態による、「更新」(Update)ボタンを選択した結果を示す画面である。 本発明の一実施形態による、メンバーがメンバースケジュールエディタの「終了」(Finish)ボタンを選択した時に、TaskAssignmentテーブルで更新される情報を示す画面である。 本発明の一実施形態による、メンバーがメンバースケジュールエディタの「終了」(Finish)ボタンを選択した時に、MemberTasksテーブルに追加される情報を示す画面である。 本発明の一実施形態による、メンバーがメンバースケジュールエディタの「終了」(Finish)ボタンを選択した時に、Level1MemberTaskテーブルに追加される情報を示す画面である。 本発明の一実施形態による、メンバーがメンバースケジュールエディタの「終了」(Finish)ボタンを選択した時に、Level2MemberTaskテーブルに追加される情報を示す画面である。 本発明の一実施形態によるメンバースケジュールエディタセッション後に生成されるウェブページを示す画面である。 本発明の一実施形態による、プロジェクトメンバーとマネージャのメンバースケジュールエディタセッション例を示す画面である。 本発明の一実施形態による、「更新」(Update)ボタンを選択した結果を示す画面である。 本発明の一実施形態による、メンバーがメンバースケジュールエディタの「終了」(Finish)ボタンを選択した時に、TaskAssignmentテーブルで更新される情報を示す画面である。 本発明の一実施形態による、メンバーがメンバースケジュールエディタの「終了」(Finish)ボタンを選択した時に、MemberTasksテーブルに追加される情報を示す画面である。 本発明の一実施形態による、メンバーがメンバースケジュールエディタの「終了」(Finish)ボタンを選択した時に、Level1MemberTaskテーブルに追加される情報を示す画面である。 本発明の一実施形態による、メンバーがメンバースケジュールエディタの「終了」(Finish)ボタンを選択した時に、Level2MemberTaskテーブルに追加される情報を示す画面である。 本発明の一実施形態による、メンバーがメンバースケジュールエディタの「終了」(Finish)ボタンを選択した時に、Level3MemberTaskテーブルに追加される情報を示す画面である。 本発明の一実施形態による、マネージャのメンバースケジュールエディタセッション後に生成されるウェブページを示す画面である。 本発明の一実施形態による、2つのメンバースケジュールエディタセッション後のProjectTeamテーブル中のエントリーを示す画面である。 本発明の一実施形態による、プロジェクトメンバーマネージャとのメンバースケジュールエディタセッション例を示す画面である。 本発明の一実施形態による、メンバーがメンバースケジュールエディタの「終了」(Finish)ボタンを選択した時に、Level1MemberTaskテーブルに追加される情報を示す画面である。 本発明の一実施形態による、メンバーがメンバースケジュールエディタの「終了」(Finish)ボタンを選択した時に、Level2MemberTaskテーブルに追加される情報を示す画面である。 本発明の一実施形態による、マネージャのメンバースケジュールエディタセッション後に生成されるウェブページを示す画面である。 本発明の一実施形態による、プロジェクトスケジュールとのセッション例を示す画面である。 本発明の一実施形態による、メンバーが「集約」(Consolidate)ボタンを選択した後に再度表示されるプロジェクトスケジュールエディタを示す画面である。 本発明の一実施形態による、メンバーがプロジェクトスケジュールエディタの「集約」(Consolidate)ボタンと「終了」(Finish)ボタンを選択した時に、TopLevelProjectTaskテーブルに記憶される情報を示す画面である。 本発明の一実施形態によるプロジェクトスケジュールエディタセッション後に生成されるウェブページを示す画面である。 本発明の一実施形態による、プロジェクトマネージャがプロジェクトメンバーにタスクを割り当ててプロジェクトタスクのスケジュールを設定する時のシステムの振る舞いを示すフローチャートである。 本発明の一実施形態による、プロジェクトメンバーが自分のタスクのスケジュールを設定する時のシステムの振る舞いを示すフローチャートである。 本発明の一実施形態による、プロジェクトマネージャがメンバーのスケジュールをプロジェクトスケジュールと集約する時のシステムの振る舞いを示すフローチャートである。 本発明の一実施形態による、タスクIDを様々なレベルのプロジェクトメンバーに割り当てるプロセスを示すフローチャートである。 本発明の一実施形態による、メンバースケジュールエディタにおけるタスク情報の組織化を示す画面である。 本発明の一実施形態による、様々な構成要素と各行に割り当てられたインデックスを示すメンバースケジュールエディタ例を示す画面である。 本発明の一実施形態による、タスクの各行に対してインデックスをいかに生成するか、エディタの表示は初めてか、またはいずれかのレベルの新しいタスクがエディタに追加されるか示すフローチャートである。 本発明の実施形態を実施できるコンピュータシステムを示すブロック図である。
符号の説明
500 ネットワーク
501、502 ワークステーション
506、536 データベース
507 部課ウェブサーバ
508、538 ワーク/プロジェクトデータ
524 アクセスポイント
530 部門ウェブサーバ
601 ユーザインターフェイス
602 クライアントプロセッサ
604 サーバプロセッサ
606 データベース
5802 バス
5804 プロセッサ
5806 メインメモリ
5808 ROM
5810 記憶装置
5812 ディスプレイ
5814 入力装置
5816 カーソル制御装置
5820 ネットワークリンク
5822 ローカルネットワーク
5824 ホスト
5826 インターネットサービスプロバイダ
5828 インターネット
5830 サーバ

Claims (13)

  1. コンピュータにより実行される、データベースを用いたプロジェクトスケジュールの管理方法であって、
    プロジェクトチームデータベーステーブルに、プロジェクトのタスクを実行するように割り当てられた各メンバーに対して、
    階層組織化されたタスク構造の各レベルにおいてメンバータスクを一意的に識別するメンバータスク識別子を生成するために使用するメンバー識別子を格納する段階と、
    新しいサブタスクが前記タスク構造階層の一レベルに追加されたメンバースケジュールエディタセッションの完了の一メンバーの要求に応じて、
    前記プロジェクトチームデータベーステーブルから、前記一メンバーの前記メンバー識別子に基づいて、前記一レベルの前記一メンバーの最高のタスク識別子を読み出し、
    前記一レベルの前記一メンバーの前記最高のタスク識別子を増加することにより、新しいサブタスクのタスク識別子を生成する段階と、
    前記新しいサブタスクに前記新しいサブタスクのために生成した前記タスク識別子を関連づける段階とを有する方法。
  2. 前記新しいサブタスクのタスク識別子を生成するステップは、前記一メンバーの前記メンバー識別子のモジュロに基づく、前記一レベルの前記一面バーの最高のタスク識別子の増加を含む、請求項1に記載の方法。
  3. 前記一メンバーの前記メンバースケジュールエディタセッションの完了要求に応答して、
    前記新しいサブタスクをメンバータスクデータベースに格納する段階と、
    前記プロジェクトチームデータベーステーブルに、前記タスク階層の対応するレベルの前記一メンバーの最高タスク識別子を格納する段階とをさらに有する、請求項1に記載の方法。
  4. 前記タスク階層の各レベルに対応するメンバータスクデータベーステーブルを格納する段階であって、前記タスク階層の隣接レベルにあるメンバータスクデータベーステーブルは階層組織化されたタスクとサブタスクと関連したスケジュールデータを集計するためにリンクされている段階をさらに有する、請求項1に記載の方法。
  5. メンバータスクデータベーステーブルに、一サブタスクのタスク識別子とともに、親タスクまたは前記一サブタスクの親サブタスクのタスク識別子を格納する段階をさらに有する、請求項4に記載の方法。
  6. 前記プロジェクトチームデータベーステーブルに、前記プロジェクトのタスクを実行するように割り当てられた各メンバーに対して、
    前記データベースとインターラクトするために使用されるタスク割り当てエディタ、プロジェクトスケジュールエディタ、またはメンバースケジュールエディタにアクセスするアクセス特権と関連づけられた役割識別子と、
    対応するメンバースケジュールウェブページが格納されているディレクトリ位置であって、メンバーウェブページが前記データベースから1つ以上のテーブルに含まれたスケジュールデータを表示するディレクトリ位置とを格納する段階をさらに有する、請求項1に記載の方法。
  7. プロジェクトタスクデータベースに、対応するプロジェクトタスクのスケジュールのすべての対応する格納されたバージョンを特定するバージョンインジケータを格納する段階をさらに有する、請求項1に記載の方法。
  8. 第1日に一タスクの第1の予定スケジュール日時を受け取る段階と、
    前記第1日とは異なる第2日に、前記一タスクの第2の予定スケジュール日時を受け取る段階と、
    前記第1日と異なる第2日に前記第2の予定スケジュール日時の受け取りに応答して、前記一タスクのスケジュールの新しいカレントバージョンを特定するために前記一タスクの前記バージョンインジケータを更新する段階をさらに有する、請求項7に記載の方法。
  9. メンバータスクデータベースに、対応するメンバーサブタスクのスケジュールのすべての対応する格納されたバージョンを特定するバージョン識別子を格納する段階をさらに有する、請求項1に記載の方法。
  10. 前記タスク構造階層の一レベルの第1のメンバーサブタスクの第1の予定スケジュール日時を受け取る段階と、
    前記第1のメンバーサブタスクのサブタスクである第2のメンバーサブタスクの第2の予定スケジュール日時を受け取る段階であって、前記第2の予定スケジュール日時により前記第1の予定スケジュール日時が変化する段階と、
    前記第1の予定スケジュール日時を変化させる前記第2の予定スケジュール日時の受け取りに応答して、前記第1のメンバーサブタスクの前記スケジュールの新しいカレントバージョンを特定するために、前記第1のメンバーサブタスクのバージョンインディケータを更新する段階とをさらに有する、請求項9に記載の方法。
  11. 前記第2のメンバーサブタスクのサブタスクである第3のメンバーサブタスクの第3の予定スケジュール日時を受け取る段階であって、前記第3の予定スケジュール日時により、前記第1の予定スケジュール日時を変化させる前記第2の予定スケジュール日時が変化する段階と、
    前記第3の予定スケジュール日時の受け取りに応答して、前記第2のメンバーサブタスクのスケジュールの新しいカレントバージョンを特定するために前記第2のメンバーサブタスクのバージョンインディケータを更新し、前記第1のメンバーサブタスクのスケジュールの新しいカレントバージョンを特定するために前記第1のメンバーサブタスクのバージョンインディケータを更新する段階をさらに有する、請求項10に記載の方法。
  12. 前記予定スケジュール日時は、前記第1の予定スケジュール日時が受け取られた前記第1日より遅い第2日に受け取られ、前記方法はさらに
    メンバースケジュールに前記第2日に対応する第2の設定日時を表示する段階と、
    前記メンバースケジュールに、前記第1日に対応する第1の設定日時を取消線で取り消して表示する段階とを有する、請求項10に記載の方法。
  13. コンピュータに、データベースを用いたプロジェクトスケジュールを管理させるコンピュータプログラムであって、1つ以上のプロセッサにより実行された時、前記1つ以上のプロセッサに請求項1乃至12いずれか1項に記載の方法を実行させるコンピュータプログラム。
JP2007152149A 2006-06-07 2007-06-07 ネットワークベースのプロジェクトスケジュールマネージメントシステムにおけるデータベースの使用 Pending JP2007328791A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/449,133 US8050953B2 (en) 2006-06-07 2006-06-07 Use of a database in a network-based project schedule management system

Publications (1)

Publication Number Publication Date
JP2007328791A true JP2007328791A (ja) 2007-12-20

Family

ID=38823015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007152149A Pending JP2007328791A (ja) 2006-06-07 2007-06-07 ネットワークベースのプロジェクトスケジュールマネージメントシステムにおけるデータベースの使用

Country Status (2)

Country Link
US (1) US8050953B2 (ja)
JP (1) JP2007328791A (ja)

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904323B2 (en) * 2003-06-23 2011-03-08 Intel Corporation Multi-team immersive integrated collaboration workspace
US8799043B2 (en) 2006-06-07 2014-08-05 Ricoh Company, Ltd. Consolidation of member schedules with a project schedule in a network-based management system
US8050953B2 (en) 2006-06-07 2011-11-01 Ricoh Company, Ltd. Use of a database in a network-based project schedule management system
US9152433B2 (en) 2007-03-15 2015-10-06 Ricoh Company Ltd. Class object wrappers for document object model (DOM) elements for project task management system for managing project schedules over a network
US8826282B2 (en) 2007-03-15 2014-09-02 Ricoh Company, Ltd. Project task management system for managing project schedules over a network
US20080235066A1 (en) * 2007-03-19 2008-09-25 Hiroko Mano Task management device, task management method, and task management program
US8230354B2 (en) * 2007-10-30 2012-07-24 Echoworx Corporation Method and system for providing dynamic branding in a computer program or suite
US8326814B2 (en) 2007-12-05 2012-12-04 Box, Inc. Web-based file management system and service
JP4404147B2 (ja) * 2008-01-23 2010-01-27 株式会社デンソー 車載電子制御装置及びその車載電子制御装置の情報更新方法
US20090217241A1 (en) * 2008-02-22 2009-08-27 Tetsuro Motoyama Graceful termination of a web enabled client
US8209211B2 (en) * 2008-03-18 2012-06-26 International Business Machines Corporation Apparatus and methods for requirements decomposition and management
US8352498B2 (en) 2008-05-16 2013-01-08 Ricoh Company, Ltd. Managing to-do lists in a schedule editor in a project management system
US7941445B2 (en) * 2008-05-16 2011-05-10 Ricoh Company, Ltd. Managing project schedule data using separate current and historical task schedule data and revision numbers
US8706768B2 (en) 2008-05-16 2014-04-22 Ricoh Company, Ltd. Managing to-do lists in task schedules in a project management system
US8321257B2 (en) * 2008-05-16 2012-11-27 Ricoh Company, Ltd. Managing project schedule data using separate current and historical task schedule data
US20090287523A1 (en) * 2008-05-19 2009-11-19 Microsoft Corporation Showing and correcting irregularities in a schedule
US20100070328A1 (en) * 2008-09-16 2010-03-18 Tetsuro Motoyama Managing Project Schedule Data Using Project Task State Data
US8862489B2 (en) 2008-09-16 2014-10-14 Ricoh Company, Ltd. Project management system with inspection functionality
US20110060623A1 (en) * 2009-09-08 2011-03-10 Flower City Group System and Method for Resource Workflow Scheduling
GB2500356A (en) 2011-01-20 2013-09-18 Box Inc Real time notification of activities that occur in a web-based collaboration environment
US8645178B2 (en) * 2011-04-28 2014-02-04 Accenture Global Services Limited Task management for a plurality of team members
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
US9063912B2 (en) 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
US9652741B2 (en) 2011-07-08 2017-05-16 Box, Inc. Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US9978040B2 (en) 2011-07-08 2018-05-22 Box, Inc. Collaboration sessions in a workspace on a cloud-based content management system
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US8515902B2 (en) 2011-10-14 2013-08-20 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
US11210610B2 (en) 2011-10-26 2021-12-28 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
US9773051B2 (en) 2011-11-29 2017-09-26 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US9019123B2 (en) 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US20130254698A1 (en) * 2012-03-22 2013-09-26 Fluor Technologies Corporation Project activity model
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9027108B2 (en) 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
US9473532B2 (en) 2012-07-19 2016-10-18 Box, Inc. Data loss prevention (DLP) methods by a cloud service including third party integration architectures
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US8868574B2 (en) 2012-07-30 2014-10-21 Box, Inc. System and method for advanced search and filtering mechanisms for enterprise administrators in a cloud-based environment
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US8745267B2 (en) 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
GB2513671A (en) 2012-08-27 2014-11-05 Box Inc Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
US9628268B2 (en) 2012-10-17 2017-04-18 Box, Inc. Remote key management in a cloud-based environment
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
EP2755151A3 (en) 2013-01-11 2014-09-24 Box, Inc. Functionalities, features and user interface of a synchronization client to a cloud-based environment
EP2757491A1 (en) 2013-01-17 2014-07-23 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US20140257892A1 (en) * 2013-03-07 2014-09-11 International Business Machines Corporation Social project collaboration through self-organizing teams
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
GB2515192B (en) 2013-06-13 2016-12-14 Box Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in a cloud-based platform
US10229134B2 (en) 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
CN103390215A (zh) * 2013-07-15 2013-11-13 黄静波 一种工程建设项目实时云管理系统及方法
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
GB2518298A (en) 2013-09-13 2015-03-18 Box Inc High-availability architecture for a cloud-based concurrent-access collaboration platform
US9704137B2 (en) 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US20150120577A1 (en) * 2013-10-04 2015-04-30 Clique Intelligence Systems and methods for enterprise management using contextual graphs
US20150106152A1 (en) * 2013-10-14 2015-04-16 Microsoft Corporation Continuously tracing issues through the lifecycle phases of a project
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
CN103645909A (zh) * 2013-12-30 2014-03-19 中国烟草总公司湖南省公司 定时任务的处理方法及装置
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US9614784B1 (en) 2014-09-24 2017-04-04 HCA Holding, Inc. Systems and methods for assigning tasks based on usage patterns and resource capacities
US20160100019A1 (en) * 2014-10-03 2016-04-07 Clique Intelligence Contextual Presence Systems and Methods
US10120888B2 (en) * 2016-08-08 2018-11-06 American Express Travel Related Services Company, Inc. Automated task execution based on task criteria
US20180115600A1 (en) * 2016-10-26 2018-04-26 American Express Travel Related Services Company, Inc. System and method for health monitoring and task agility within network environments
US11150635B2 (en) * 2017-10-02 2021-10-19 Fisher-Rosemount Systems, Inc. Projects within a process control asset management system

Family Cites Families (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4819233A (en) * 1987-04-08 1989-04-04 Westinghouse Electric Corp. Verification of computer software
US4875162A (en) * 1987-10-28 1989-10-17 International Business Machines Corporation Automated interfacing of design/engineering software with project management software
US5197001A (en) * 1990-05-14 1993-03-23 International Business Machines Corp. Bill of material and project network processing
US5699310A (en) * 1990-06-29 1997-12-16 Dynasty Technologies, Inc. Method and apparatus for a fully inherited object-oriented computer system for generating source code from user-entered specifications
US5490097A (en) * 1993-03-22 1996-02-06 Fujitsu Limited System and method for modeling, analyzing and executing work process plans
JP3270216B2 (ja) * 1993-10-08 2002-04-02 富士通株式会社 ファイル名検出方式
US5548506A (en) * 1994-03-17 1996-08-20 Srinivasan; Seshan R. Automated, electronic network based, project management server system, for managing multiple work-groups
US5537541A (en) * 1994-08-16 1996-07-16 Digital Equipment Corporation System independent interface for performance counters
JPH08255075A (ja) * 1995-03-17 1996-10-01 Fujitsu Ltd タスク分割支援を行うソフトウェア設計支援装置
US5765140A (en) * 1995-11-17 1998-06-09 Mci Corporation Dynamic project management system
AUPN773496A0 (en) * 1996-01-25 1996-02-15 Task Solutions Pty Ltd Task management system
US5706502A (en) * 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US5826252A (en) * 1996-06-28 1998-10-20 General Electric Company System for managing multiple projects of similar type using dynamically updated global database
US6385765B1 (en) * 1996-07-02 2002-05-07 The Research Foundation Specification and verification for concurrent systems with graphical and textual editors
US5709410A (en) * 1996-09-04 1998-01-20 Reeves, Jr.; Joe F. Development and construction job scheduling method
US6901579B1 (en) * 1996-11-07 2005-05-31 Fujitsu Limited Generation of source code from classes and maintaining the comment that indicates the role of the class in the generated source code
WO1998022897A1 (en) * 1996-11-22 1998-05-28 British Telecommunications Public Limited Company Resource allocation
US6161113A (en) * 1997-01-21 2000-12-12 Texas Instruments Incorporated Computer-aided project notebook
US6308164B1 (en) * 1997-04-28 2001-10-23 Jeff Nummelin Distributed project management system and method
CA2287158A1 (en) 1997-04-29 1998-11-05 Mci Worldcom, Inc. Client profile management within a marketing system
CA2228574A1 (en) * 1997-06-05 1999-08-02 Attention Control Systems, Inc. An automatic planning and cueing system and method
AU8160098A (en) * 1997-06-23 1999-01-04 Construction Specifications Institute, The Method and apparatus for computer aided building specification generation
US6049776A (en) * 1997-09-06 2000-04-11 Unisys Corporation Human resource management system for staffing projects
US5909689A (en) * 1997-09-18 1999-06-01 Sony Corporation Automatic update of file versions for files shared by several computers which record in respective file directories temporal information for indicating when the files have been created
US6334114B1 (en) * 1997-10-31 2001-12-25 Oracle Corporation Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
DE19837871C2 (de) * 1998-08-20 2000-06-08 Manfred Broy Verfahren zum automatischen Erzeugen eines Programms
US6222530B1 (en) 1998-08-21 2001-04-24 Corporate Media Partners System and method for a master scheduler
US6351734B1 (en) * 1998-09-09 2002-02-26 Unisys Corporation System and method for resource allocation and planning
US7107268B1 (en) * 1998-11-12 2006-09-12 Printable Technologies, Inc. Centralized system and method for managing enterprise operations
US6487469B1 (en) * 1998-11-13 2002-11-26 Texas Instruments Incorporated System and method for integrating schedule and design environments
US20050022198A1 (en) * 1998-11-16 2005-01-27 Taskserver, Inc. Computer-implemented process management system
US6415387B1 (en) * 1998-12-14 2002-07-02 International Business Machines Corporation Low power mode computer with simplified power supply
US6826597B1 (en) 1999-03-17 2004-11-30 Oracle International Corporation Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
US7212986B1 (en) * 1999-06-16 2007-05-01 Metier, Ltd. Method and apparatus for planning and monitoring multiple tasks based on user defined criteria and predictive ability
US6415259B1 (en) * 1999-07-15 2002-07-02 American Management Systems, Inc. Automatic work progress tracking and optimizing engine for a telecommunications customer care and billing system
US6957189B2 (en) * 1999-08-30 2005-10-18 Sabre Inc. Apparatus and method for creating a marketing initiative
US6606546B2 (en) * 1999-12-01 2003-08-12 Sinex Holdings, Llc Aircraft maintenance program manager
US7546577B2 (en) * 1999-12-06 2009-06-09 Axiomatic Design Software, Inc. Method and apparatus for producing software
US6678698B2 (en) * 2000-02-15 2004-01-13 Intralinks, Inc. Computerized method and system for communicating and managing information used in task-oriented projects
US6581040B1 (en) * 2000-02-18 2003-06-17 Daniel B. Wright Project specific communications system and method
US6859768B1 (en) * 2000-03-03 2005-02-22 The Beck Technology Computer-implemented automated building design and modeling and project cost estimation and scheduling system
AU2001235814A1 (en) * 2000-03-31 2001-10-15 British Telecommunications Public Limited Company Handling unscheduled tasks in a scheduling process
US6842760B1 (en) * 2000-05-03 2005-01-11 Chad Barry Dorgan Methods and apparata for highly automated quality assurance of building construction projects
US7010788B1 (en) * 2000-05-19 2006-03-07 Hewlett-Packard Development Company, L.P. System for computing the optimal static schedule using the stored task execution costs with recent schedule execution costs
US20020004734A1 (en) 2000-07-10 2002-01-10 Shinichiro Nishizawa Schedule managing apparatus and method and computer-readable recording medium storing schedule managing program therein
JP2002024495A (ja) * 2000-07-11 2002-01-25 Honda Motor Co Ltd スケジュール管理システム
JP3882479B2 (ja) * 2000-08-01 2007-02-14 コクヨ株式会社 プロジェクト活動支援システム
AU2001290597A1 (en) * 2000-09-01 2002-03-13 Togethersoft Corporation Methods and systems for optimizing resource allocation based on data mined from plans created from a workflow
US6895382B1 (en) * 2000-10-04 2005-05-17 International Business Machines Corporation Method for arriving at an optimal decision to migrate the development, conversion, support and maintenance of software applications to off shore/off site locations
US20070192156A1 (en) * 2000-10-24 2007-08-16 Gauger Derek K Network based, interactive project management apparatus and method
US20020078007A1 (en) * 2000-12-20 2002-06-20 Carlos Herrero Task management program
US20020082889A1 (en) * 2000-12-20 2002-06-27 Electronic Data Systems Corporation System and method for project management and assessment
US20070294617A1 (en) 2000-12-23 2007-12-20 Kroeger Dann E System, method, and article of manufacture for scheduling and document management integration
US20040039723A1 (en) * 2001-02-08 2004-02-26 In Lee Systems and methods for distributing multimedia presentations over a network
US8306841B2 (en) * 2001-04-17 2012-11-06 4Sight Technologies, Inc. Enterprise project management system and method therefor
US20020169738A1 (en) * 2001-05-10 2002-11-14 Giel Peter Van Method and system for auditing an enterprise configuration
US20020178226A1 (en) * 2001-05-24 2002-11-28 Anderson Andrew V. Method and apparatus for message escalation by digital assistants
US7191141B2 (en) * 2001-06-13 2007-03-13 Ricoh Company, Ltd. Automated management of development project files over a network
US7406432B1 (en) * 2001-06-13 2008-07-29 Ricoh Company, Ltd. Project management over a network with automated task schedule update
US20030014409A1 (en) * 2001-07-11 2003-01-16 Shabina Shukoor Method and system for managing projects utilizing histogrammatical representations of real-time tasking and statusing
US20030046134A1 (en) * 2001-08-28 2003-03-06 Frolick Harry A. Web-based project management system
US7167893B1 (en) * 2001-10-03 2007-01-23 Bellsouth Intellectual Property Corp. Methods and systems for processing a plurality of errors
US7251693B2 (en) * 2001-10-12 2007-07-31 Direct Computer Resources, Inc. System and method for data quality management and control of heterogeneous data sources
US6954737B2 (en) * 2001-11-05 2005-10-11 Johnsondiversey, Inc. Method and apparatus for work management for facility maintenance
US7051036B2 (en) * 2001-12-03 2006-05-23 Kraft Foods Holdings, Inc. Computer-implemented system and method for project development
WO2003050656A2 (en) * 2001-12-07 2003-06-19 Helmes, Philip Rules based method and system for project performance monitoring
AU2003214975A1 (en) * 2002-02-01 2003-09-02 John Fairweather System and method for navigating data
US20030225611A1 (en) * 2002-05-30 2003-12-04 Wilson Ethel M. Electronic source inspection process
US7058660B2 (en) * 2002-10-02 2006-06-06 Bank One Corporation System and method for network-based project management
US8510181B2 (en) * 2002-10-04 2013-08-13 Hart Business Solutions, L.L.C. Administering a contract over a data network
US20040078257A1 (en) 2002-10-21 2004-04-22 Laborsage, Inc. Labor and resource scheduling system
US7171652B2 (en) * 2002-12-06 2007-01-30 Ricoh Company, Ltd. Software development environment with design specification verification tool
US20040117046A1 (en) * 2002-12-12 2004-06-17 Renzo Colle User interface for scheduling tasks
WO2004069409A2 (en) 2003-01-31 2004-08-19 Discovery Partners International Automated sample analysis system and method
US7546228B2 (en) * 2003-04-30 2009-06-09 Landmark Graphics Corporation Stochastically generating facility and well schedules
US20030191681A1 (en) * 2003-05-06 2003-10-09 Gallion Kirk P. Method for managing a business process related to a document publishing project
CN1839403A (zh) * 2003-06-20 2006-09-27 纽迪股份有限公司 经改进的慈善管理系统和商务方法
WO2005006138A2 (en) * 2003-06-30 2005-01-20 Idocuments, Llc Worker and document management system
JP2005031771A (ja) * 2003-07-08 2005-02-03 Hitachi Ltd ジョブスケジューリング管理方法及びシステム並びにプログラム
EP1649392A4 (en) * 2003-07-10 2009-05-13 Computer Ass Think Inc DEVICES AND METHOD FOR THE DYNAMIC GENERATION OF PHASE GANTT DIAGRAMS
US20050027386A1 (en) * 2003-07-30 2005-02-03 Michele Weigand Decentralized project management system
US7308675B2 (en) 2003-08-28 2007-12-11 Ricoh Company, Ltd. Data structure used for directory structure navigation in a skeleton code creation tool
US20050080713A1 (en) 2003-09-30 2005-04-14 Cmarket, Inc. Method and apparatus for creating a catalog for an on-line charitable auction or fund raising event
US20050149375A1 (en) * 2003-12-05 2005-07-07 Wefers Wolfgang M. Systems and methods for handling and managing workflows
US8549036B2 (en) * 2003-12-22 2013-10-01 Bladelogic, Inc. Information technology enterprise manager and product portfolio manager application module
AU2005206586A1 (en) * 2004-01-21 2005-08-04 Rnc Global Products A project management method and system
US8290805B2 (en) * 2004-09-13 2012-10-16 Hirokazu Usui Project management system
US7788589B2 (en) * 2004-09-30 2010-08-31 Microsoft Corporation Method and system for improved electronic task flagging and management
US20060090071A1 (en) * 2004-10-13 2006-04-27 Werner Sinzig Systems and methods for project management
US8626570B2 (en) * 2004-12-22 2014-01-07 Bank Of America Corporation Method and system for data quality management
US8510148B2 (en) * 2005-03-01 2013-08-13 Alcatel Lucent Methods and apparatus for associating and displaying project planning and management information in conjunction with geographic information
US20060248166A1 (en) * 2005-04-29 2006-11-02 Jovan Milosevic System and method for client side rendering of a web page
US7599934B2 (en) * 2005-09-27 2009-10-06 Microsoft Corporation Server side filtering and sorting with field level security
US8799043B2 (en) 2006-06-07 2014-08-05 Ricoh Company, Ltd. Consolidation of member schedules with a project schedule in a network-based management system
US20070288288A1 (en) 2006-06-07 2007-12-13 Tetsuro Motoyama Use of schedule editors in a network-based project schedule management system
US8050953B2 (en) 2006-06-07 2011-11-01 Ricoh Company, Ltd. Use of a database in a network-based project schedule management system
US20070288283A1 (en) * 2006-06-09 2007-12-13 Devshop Inc. Method for project management
US8234142B2 (en) * 2006-07-26 2012-07-31 Dsheet Llc Method and system for strategic project planning
JP2008059368A (ja) 2006-08-31 2008-03-13 Ricoh Co Ltd ワークフロー管理システム、ワークフロー管理方法、ワークフロー管理プログラムおよび記録媒体
US7617245B2 (en) * 2007-02-26 2009-11-10 Accenture Global Services Gmbh Workflow definition and management system
JP2008217719A (ja) * 2007-03-07 2008-09-18 Ricoh Co Ltd ワークフロー管理システム、管理サーバ、担当者端末、ワークフロー管理システムの進捗管理方法、管理サーバの進捗管理方法、及び管理サーバの進捗管理プログラム
US9152433B2 (en) 2007-03-15 2015-10-06 Ricoh Company Ltd. Class object wrappers for document object model (DOM) elements for project task management system for managing project schedules over a network
US7668800B2 (en) 2007-03-15 2010-02-23 Ricoh Company, Ltd. Database query generation for project task management system for managing project schedules over a network
US20090217241A1 (en) 2008-02-22 2009-08-27 Tetsuro Motoyama Graceful termination of a web enabled client
US20090217240A1 (en) 2008-02-22 2009-08-27 Tetsuro Motoyama Script generation for graceful termination of a web enabled client by a web server
US20090222299A1 (en) * 2008-02-29 2009-09-03 Gregory Clemenson Systems and methods for defining and managing task oriented projects
US8577712B2 (en) * 2008-05-02 2013-11-05 Hewlett-Packard Development Company, L.P. Assessing risk
US7941445B2 (en) * 2008-05-16 2011-05-10 Ricoh Company, Ltd. Managing project schedule data using separate current and historical task schedule data and revision numbers
US8321257B2 (en) * 2008-05-16 2012-11-27 Ricoh Company, Ltd. Managing project schedule data using separate current and historical task schedule data
US8706768B2 (en) * 2008-05-16 2014-04-22 Ricoh Company, Ltd. Managing to-do lists in task schedules in a project management system
US8352498B2 (en) * 2008-05-16 2013-01-08 Ricoh Company, Ltd. Managing to-do lists in a schedule editor in a project management system
US20090287522A1 (en) * 2008-05-16 2009-11-19 Tetsuro Motoyama To-Do List Representation In The Database Of A Project Management System
US20100070328A1 (en) * 2008-09-16 2010-03-18 Tetsuro Motoyama Managing Project Schedule Data Using Project Task State Data
US8862489B2 (en) * 2008-09-16 2014-10-14 Ricoh Company, Ltd. Project management system with inspection functionality

Also Published As

Publication number Publication date
US20070288290A1 (en) 2007-12-13
US8050953B2 (en) 2011-11-01

Similar Documents

Publication Publication Date Title
JP2007328791A (ja) ネットワークベースのプロジェクトスケジュールマネージメントシステムにおけるデータベースの使用
JP2007328792A (ja) ネットワークベースのプロジェクトスケジュールマネージメントシステムにおけるメンバースケジュールのプロジェクトスケジュールとの集約
JP2007328790A (ja) ネットワークベースのプロジェクトスケジュールマネージメントシステムにおけるスケジュールエディタの使用
JP5396904B2 (ja) 処理方法、データ処理システム及びコンピュータプログラム
JP5396903B2 (ja) 処理方法、データ処理システム及びコンピュータプログラム
US8352498B2 (en) Managing to-do lists in a schedule editor in a project management system
US7941445B2 (en) Managing project schedule data using separate current and historical task schedule data and revision numbers
US7668800B2 (en) Database query generation for project task management system for managing project schedules over a network
US8706768B2 (en) Managing to-do lists in task schedules in a project management system
US8321257B2 (en) Managing project schedule data using separate current and historical task schedule data
US9152433B2 (en) Class object wrappers for document object model (DOM) elements for project task management system for managing project schedules over a network
US8826282B2 (en) Project task management system for managing project schedules over a network
US20100070328A1 (en) Managing Project Schedule Data Using Project Task State Data
US20090287522A1 (en) To-Do List Representation In The Database Of A Project Management System
US8862489B2 (en) Project management system with inspection functionality
KR101104008B1 (ko) 업무 처리를 위한 데이터 입력을 지원하기 위한 방법 및 프로그램
US20110029440A1 (en) Approach for Managing Project Schedule Data in a Project Management System
US7536313B2 (en) Automated management of development project files over a network
US7406432B1 (en) Project management over a network with automated task schedule update
US20120240122A1 (en) WEB-Based Task Management System and Method
KR101104062B1 (ko) 애플리케이션 서버에서의 업무 처리를 위한 데이터 입력을 지원하기 위한 방법, 프로그램, 및 에이전트 서버
US20050198209A1 (en) Single point of entry for web applications
US7702999B1 (en) Network-based, information management system and method
US20130297517A1 (en) Web-based workflow automation system
KR20120025044A (ko) 온라인 아웃소싱 기반의 소프트웨어 개발 및 설계 시스템