用于提供跨项目承诺的方法和系统的制作方法

文档序号:6633901阅读:240来源:国知局
专利名称:用于提供跨项目承诺的方法和系统的制作方法
技术领域
本发明一般地涉及项目管理方法和系统。尤其,本发明涉及用于为企业项目管理应用程序提供和维护承诺或项目之间的相关性的方法和系统。
背景技术
随着计算机时代的到来,计算机和软件用户已经习惯了帮助他们写、计算、组织、准备演示文稿、发送和接收电子邮件、制作音乐等等的用户友好软件应用程序。例如,现代文字处理应用程序允许用户创建并编辑多种有用的文档。作为另一个例子,现代项目管理应用程序允许用户创建用于组织和管理与多种项目关联的任务、资源和人力的项目管理进度计划。
手动的和计算机化的项目管理系统允许经理和计划者组织和安排完成给定项目所需的任务、资源和进度计划。大多数项目中,多种相关性和约束条件规定了整个项目和组成整个项目的子项目的时间安排和完成。例如,在一个房屋建造项目中,在电气作业完成之前通常不能开始干墙子项目。并且,多个子项目受人力和资源的可用性所约束。已经开发出项目管理软件应用程序,用于创建项目管理进度计划以及使项目管理进度计划自动化。借助于许多这样的系统,组成整个项目的任务或子项目在进度计划图如甘特图(Gantt Chart)中被列出,甘特图示出组成整个项目的给定的里程碑和关联任务的开始日期和完成日期,并提供与组成项目的里程碑和任务关联的所利用资源和约束条件的信息。
承诺是两个人(或组织实体)之间实现一系列条件的协定。即是说,承诺可以被描述为两个或多个实体之间的相关性。例如,第一公司团队可以承诺在特定日期2005年8月8日之前将一个应用程序原型交付给第二公司团队。对要做的工作负责任的团队是“承诺提供者”,而依赖于该系列条件的及时完成的团队被称为“承诺耗用者”。在这一例子中,承诺本身是交付应用程序原型。
在Microsoft Project的早期版本中,项目之间的这类相关性被建模为跨项目链接(cross-project link,“CPLink”)。在Microsoft Project标准版中,例如,为建立相关性,要求用户打开两个项目,并将项目相关性链接从一个项目的一项任务拖到另一个项目的另一项任务。即是说,在客户端工作站,来自一个项目的一项任务被导入到另一个项目中,该CPLink提供了紧密耦合的实现。而且,借助于CPLink,对待从项目A中的一项任务跨越到项目B的另一项任务的相关性,就像对待相同项目中的两项任务。每当以任何方式改变始发任务,就更新被链接到该受影响任务的任何项目中的任务。这一自动过程对所牵涉到的所有程序来说是非常富有侵略性的,对于受影响项目的项目经理来说可能是一个无法接受的结果。
例如,在其中的跨项目链接任务具有一个或多个受影响的日期的项目1中,项目1中一项任务的改变可能导致级联的更新。于是跨项目链接系统会打开所链接的项目,如项目2和项目3,并更新那些项目中被链接的任务镜像。这往往会导致受影响项目中全部进度计划改变,没有撤消这些改变或阻止这些改变发生的机制。使事情进一步变得复杂的是,项目2和项目3可能提供在初始CPLink更新期间被修改的诸CPLink本身。这会导致依赖于项目2和项目3的所有项目被打开并被更新。
基本上,目前用户在管理多个项目时面临的问题之一是处理跨越多个项目的相关性。例如,假设存在两个项目,项目A和项目B。项目B有依赖于项目A的相关性(即任务、资源等等),反之亦然。用户面临管理项目之间的那些相关性这一非常困难的问题。在某一事项影响项目A中的任务时,项目B需要知道。
现在,项目A的任务被反映为“按现状”在项目B中。项目A中即使是日期的很小改变也会影响项目B的进度计划,这导致许多“噪声”。在实际中,具有对另一个项目的承诺的项目经理通常想要控制日期使之对该另一个项目“可见”,并允许其项目中的任务在实际承诺日期之前有一些缓冲。另一方面,项目B的项目经理想要控制相关项目中的任务改变如何影响他的进度计划。

发明内容
本发明的诸实施例通过提供在项目管理应用程序中提供跨项目承诺的方法,解决上述的和其他的问题。诸承诺独立于它们所建模的任务以及该一个或多个依赖于它们的任务而存在。诸承诺也独立于它们的用户和提供者而被存储。本发明的一个实施例提供一种使用企业项目管理应用程序管理具有一个或多个项目的程序的方法。该方法包括创建一个包括进度数据的项目进度计划,为项目提供一个web,以及在项目web上创建的项目相关性数据。通过创建与第一项目相关的承诺该承诺至少包括一项任务、一个开始日期和一个完成日期、在一个项目web上接收该承诺、以及在该项目web上存储该承诺,本发明的另一个实施例提供一种使用企业项目管理应用程序管理具有一个或多个项目的程序的方法。通过提供与第一项目相关的承诺,该承诺至少与一项任务、一个开始日期和一个完成日期相关、将该承诺发送给一个项目web、以及使用该项目web向其他用户提供该承诺,本发明的又一个实施例提供一种使用企业项目管理应用程序管理具有一个或多个项目的程序的方法。
通过阅读下面的具体实施方式
并观察附图,将清楚这些和其他表征本发明的功能和优点。应该理解,前面的一般描述和下面的具体实施方式
只是示例性的和说明性的,并且不是限制所要求的本发明。


图1例示一个用于本发明的诸实施例的示例性计算系统;图2是一个简化的分布式计算环境方框图,描述根据本发明的诸实施例与一个项目服务器/数据库和次要服务器进行通信的父项目和一个或多个子项目的所有者/经理之间的相互关系;图3A是一个简化的分布式计算环境方框图,描述根据本发明的诸实施例与一个项目服务器/数据库和次要服务器进行通信的客户端计算机;图3B是一个简化的分布式计算环境方框图,描述根据本发明的诸实施例的若干客户端计算机、项目服务器/数据库和次要服务器;图4描述一个根据本发明的诸实施例的项目管理应用程序的承诺窗格;图5描述一个根据本发明的诸实施例的项目管理应用程序的承诺对话窗格;图6描述一个根据本发明的诸实施例的项目管理应用程序的承诺窗格;图7描述一个根据本发明的诸实施例的项目管理应用程序的相关性窗格;图8描述一个根据本发明的诸实施例的项目管理应用程序的相关性窗格;以及图9描述一个根据本发明的诸实施例的项目管理应用程序的相关性对话窗格。
具体实施例方式
正如上面所简要描述的那样,本发明的诸实施例涉及在企业项目管理应用程序中提供和维护承诺的方法和系统。这些方法和系统可以用来管理企业项目管理应用程序中的项目之间的承诺或相关性。本发明利用一个或多个项目web(即基于web的共享协作工作空间)管理项目之间的相关性。
在下面的详细描述中,引用对构成该详细描述的一部分的附图,附图中以例示的方式示出具体实施例或例子。可以在不偏离本发明的精神或范围的前提下组合这些实施例、利用其他实施例以及进行结构改变。因此下面的详细描述不能被认为是限制,本发明的范围由所附权利要求书及其等效定义。
操作环境现在参见附图,图中相同的数字代表即将描述的诸附图、本发明诸方面和示例性操作环境中的相同元素。图1和下列讨论提供可以在其中实现本发明的合适计算环境的简要、概括的描述。尽管将在与在个人计算机操作系统上运行的应用程序一起执行的程序模块的一般上下文中描述本发明,那些本领域内的技术人员将认识到,本发明也可以和其他程序模块结合实现。
一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他结构类型。而且,那些本领域中的技术人员应该明白,本发明可以与其他计算机系统配置一起实践,包括手持式设备、多处理器系统、基于微处理器或可编程的消费性电子产品、小型计算机、大型计算机等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可被置于本地或远程的存储器设备中。
现在参见图1,将描述用于实践本发明的各种实施例的个人计算机100的说明性计算机体系结构。图1中所示出的计算机体系结构描述常规个人计算机,包括中央处理单元102(“CPU”)、系统存储器104和将存储器耦合到CPU 102的系统总线110,其中系统存储器104包括随机存取存储器106(“RAM”)和只读存储器(“ROM”)108。基本输入/输出系统被保存在ROM 108中,其中该基本输入/输出系统包含帮助在计算机内部的元件之间传输信息的基本例程,例如在启动过程中。个人计算机100进一步包括用于存储操作系统114、应用程序如应用程序116和数据的大容量存储器设备112。
大容量存储器设备112通过被连接到总线110的大容量存储器控制器(未示出)被连接到CPU 102。大容量存储器设备112及其关联的可读计算机介质为个人计算机100提供非易失性存储。尽管此处所包含的计算机可读介质的描述涉及大容量存储器设备如硬盘或CD-ROM驱动器,但那些本领域内的技术人员应该明白,计算机可读介质可以是能够被个人计算机100访问的任何可用介质。
作为例子而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括易失性和不易失性、可移动的和不可移动的介质,它们可以用存储信息如计算机可读指令、数据结构、程序模块或其他数据的任何方法或技术来实现。计算机存储介质包括但不限于RAM、ROM、EPROM、EEPROM、闪速存储器或者其他存储器技术、CD-ROM、DVD或其他光存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、或任何其他能够用于存储所需信息并能够被计算机访问的介质。
根据本发明的各种实施例,个人计算机100可以运行在使用通过TCP/IP网络118或其他网络(如因特网)、到远程计算机的逻辑连接的网络化环境中。个人计算机100可以通过被连接到总线110的网络接口单元120被连接到TCP/IP网络118。应该明白,网络接口单元120也可以被用来连接到其他类型的网络和远程计算机系统,例如局域网、广域网和其他网络。个人计算机100也可以包括用于接收和处理来自包括键盘或鼠标(未示出)的多种设备的输入的输入/输出控制器122。类似地,输入/输出控制器122可以给显示屏、打印机或其他类型的输出设备提供输出。
正如上面所简要提到的,多个程序模块和数据文件可以被存储在个人计算机100的大容量存储器设备112和RAM 106中,其中个人计算机100包括适用于控制网络化个人计算机的运行的操作系统114,如来自于华盛顿州雷德蒙市的微软公司的WINDOWS操作系统。大容量存储器设备112和RAM 106也可以存储一个或多个应用程序。尤其,大容量存储器设备112和RAM 106可以存储用于给用户提供多种功能性的应用程序116。例如,应用程序116可以包括许多种类型的程序,如文字处理应用程序、电子表格应用程序、电子邮件应用程序124、文字处理应用程序125、数据库应用程序等等。正如在此所描述的那样,根据本发明的诸实施例,用于准备项目管理进度计划的项目管理应用程序126被包括在内。供根据本发明使用的项目管理应用程序的一个例子是微软公司生产的E ENTERPRISE PROJECT,以下称为“PROJECT”。
现在参见图2,示出分布式计算环境200的一个简化方框图。分布式计算环境200使得一个父项目和一个或多个子项目的所有者/经理可以与一个项目服务器/数据库210和一个次要服务器215通信,用于根据本发明的诸实施例创建及维护项目进度计划和相关承诺或相关性。图2中所例示的该分布式计算环境200充当用于本发明的诸实施例的示例性操作环境。正如在此所描述的那样,整个项目进度计划可以由一个父项目进度计划和一个或多个分级相关子项目组成。
根据本发明的诸实施例,整个项目进度计划或该父项目进度计划和可以单个和独立管理的子项目进度计划在项目服务器/数据库210上被维护。项目服务器/数据库210是具有包括操作系统、处理器和存储空间在内的多个组件的通用计算系统,如上所述的参照图1所例示和描述的计算机100。项目服务器/数据库210也包括项目管理应用程序126,其中该项目管理应用程序有足够的计算机可执行指令来构造、显示和允许管理此处所述的整个/父项目进度计划和单个子项目进度计划。项目服务器/数据库210也包括一个关系数据库,其中该关系数据库用于维护与父项目进度计划和每一单个子项目进度计划关联的数据。
正如下面将进一步描述的那样,根据本发明的诸实施例,项目相关承诺或相关性可以在次要服务器215上被维护,该次要服务器215最好是web服务器(也称为协作信息管理服务器),例如由微软公司提供的、作为其WINDOWS SERVER应用程序的一部分的SHAREPOINT服务器应用程序。次要服务器215是具有包括操作系统、处理器和存储空间在内的多个组件的通用计算系统,如上所述的参照图1所例示和描述的计算机100。
如图2所例示,父/主计算机系统220被例示为通过一分布式计算系统如因特网或企业内部互联网250与项目服务器/数据库210进行通信。次要服务器215被例示为与项目服务器/数据库210进行通信。次要服务器215和项目服务器/数据库210可以通过分布式计算系统(如因特网或企业内部互联网,类似于因特网或企业内部互联网250)或其他网络(广域网或局域网)进行通信。一个或多个子次项目计算系统230、240、…、n被例示为通过因特网或企业内部互联网250与项目服务器/数据库210进行通信。在可选的诸实施例中,计算系统210、…、n也可以与次要服务器215进行通信。
每一单个计算系统220、…、n也可以包括上面参照图1所描述的项目管理应用程序126,并充当在项目服务器/数据库210上被操作的相应的项目管理应用程序126的客户端项目管理应用程序。根据本发明的诸实施例,项目服务器/数据库210也可以包括或可以用于访问电子邮递应用程序124,用于向父项目进度计划和子次项目进度计划的所有者/经理发送和从该所有者/经理发送自动项目进度计划改变。
项目承诺跨项目承诺将跨项目链接转换成独立的实体,该实体在此定义为跨项目承诺(cross project commitment,CPC),或简称为承诺。根据本发明的各种实施例,完全独立于其所建模的任务以及依赖于其的任务而存在的承诺被提供并被维护。即是说,承诺以独立的方式被存储在与其耗用者和提供者相关的次要服务器308上。次要服务器308在所链接的项目之间提供代理服务或中间界面,承诺数据被存储于其中。
根据本发明的一个最佳实施例,提供次要服务器308如包括主控一个或多个承诺的一个或多个SHAREPOINT列表的SHAREPOINT Server。SHAREPOINT服务器可以用于创建并维护web文件夹。web文件夹可以用来存储信息,例如承诺。借助于SHAREPOINT服务器,用户可以存储信息,例如web服务器或web文件夹中的对象。web文件夹有助于在存储信息时给用户提供较好的体验。
根据本发明的诸实施例,项目管理应用程序利用次要服务器如服务器215和相关的服务器应用程序来提供并维护项目相关承诺。承诺可以跨越一个或多个程序、项目、任务等等而存在。在这一围镜中,程序和项目相关承诺可以分别被描述为程序和项目相关性数据。如上所述,承诺通常是两个人(或组织实体)之间实现一系列条件的协定。
对要做的工作负责任的个人或实体是“承诺提供者”,而依赖于该系列条件的及时完成的个人或实体被称为“承诺耗用者”。在这一例子中,承诺本身是系列条件的实现。本发明使得用户可以创建、提供、耗用、修改和/或删除承诺。区别承诺和项目是重要的,承诺只是一个名称和多个日期,而项目影响特定承诺或受特定承诺影响。在任意点,承诺可以有0-n个提供者和0-n个耗用者。提供者被定义为可以影响承诺的日期的对象。耗用者是那些受承诺日期改变影响的对象。
关于承诺的初始讨论将限制承诺提供者的数目为0-1。即是说,可以通过项目中单项任务驱动承诺的日期,或者完全手动地,通过直接在列表如SHAREPOINT列表中编辑承诺的开始和完成日期。根据本发明的一个实施例,存储一个或多个承诺的SHAREPOINT列表驻留在SHAREPOINT服务器如次要服务器215上。不限制本发明,将承诺存储在SHAREPOINT列表使得项目管理应用程序用户可以利用内建的电子邮件通知系统、容易地将工作流模块连接到SHAREPOINT列表项、利用开发者对SHAREPOINT可扩展性的熟悉、以及可以给承诺分配用户字段以适合用户的独特需求。
继续这一例子,承诺可以被0-n实体耗用。即是说,没有对项目或对承诺感兴趣的人数的实际限制。对承诺感兴趣可以采用许多种形式,包括注册请求在次要服务器215如SHAREPOINT服务器中事件发生改变时的电子邮件通知,或者当已注册的承诺已经改变时获取项目管理应用程序中的指示。如下所述,本发明也提供将任务日期与所选择承诺进行同步的能力。
操作现在参见图3A,示出本发明的一个实施例,用于提供并维护项目管理应用程序中的承诺。分布式计算环境300包括计算系统302、项目服务器304、数据库服务器306和次要服务器308。图3A中的虚线表示机器边界。分布式计算环境300的诸组件最好一起网络化,如上面结合图2所述。然而,应该理解,项目服务器304和数据库服务器306可以被实现为单独的服务器。
根据本发明的一个实施例,计算系统302包括创建和维护项目的项目管理应用程序310,如微软公司生产的Microsoft Project Professional。如图3A所示,计算系统302使用可扩展标记语言(Extensible Markup Language,XML)协议如简单对象访问协议(Simple Object Access Protocol,SOAP),或者是万维网协议如超文本传输协议(Hyper Text Transfer Protocol,HTTP),通过链路314与项目服务器304的web服务界面312通信。SOAP是基于XML的轻便消息协议,用来在网络上发送Web服务请求和响应中的信息之前编码这些消息。SOAP消息可以与任何操作系统或协议无关,并可以使用多种因特网协议传输,包括SMTP(简单邮件传输协议)、MIME(多用途因特网邮件扩展)和HTTP。web服务界面(PSI)312提供计算系统302和项目服务器304之间的通信界面,如上面参照图2所述。应该理解,多个计算系统,类似于结合图2所描述的那些计算系统,也可以与项目服务器304进行通信。
项目服务器304允许在积极参与项目或其利益受项目影响的项目经理、团队成员和各种个体和组织之间进行在线协作。项目服务器304也使得组织可以跨越项目共享标准、帮助用检入和检出能力保护项目、跨越项目查看资源可用性和其他资源信息、以及管理和报告项目组合。项目服务器304也管理列表项和各种文档。
项目经理可以从父/主计算机220链接到项目服务器304来处理多种事务1)将任务分配给团队成员并跟踪所完成的工作,从而自动地或手动地接受来自团队成员的任务更新并将所更新的信息集成到项目中;2)请求并接收特定的项目的状态报告,并将单个的状态报告整理成项目状态报告以提供给其他人;3)执行假定推测(what-if)分析,以便在创建其项目的不同版本之后比较成本、进度计划和资源分配;4)评定进度计划改变对资源可用性、资源分配和成本的影响;5)跨越组织查看资源的可用性并建立一个团队以将一般的资源分配给任务、基于技术手段查找和替换资源、以及从企业资源公共列表建立团队;以及/或者创建并修改承诺。
通过使用web服务界面312如微软公司生产的Project Web Access,各种团队成员可以从子次计算机如计算机230访问项目服务器304上的信息,以便于1)检查和更新任务分配,并就特定分配响应项目经理,以及定期发送所完成工作的更新;2)创建新任务并将其发送给项目经理,以供批准并整合到项目计划中;3)将任务委托给其他团队成员;4)以任务持续时间以及与其他任务联系的图形表示的甘特图格式查看任务;5)查看被分组、排序和过滤的任务;6)团队成员也可以查看整个项目最新信息,而不仅仅是所分配的任务;以及/或者耗用承诺。其他项目经理或管理人员也可以使用web服务界面312访问项目服务器304上的信息,以单独地或者跨越组织检查项目、任务和资源信息,了解项目进展。
继续参见图3A,次要服务器308包括至少一个与项目服务器304的承诺事务对象(commitment business object,CBO)模块318进行通信的模块,例如共享列表模块316。CBO模块318管理项目服务器304和次要服务器308之间的通信,包括读取/写入命令、逻辑操作等等,最好使用XML协议,例如简单对象访问协议(SOAP)。根据这一实施例,项目服务器304也包括用于维护一项或多项任务和一个或多个承诺之间的链接的对象链接提供者(object link provider,OLP)320。OLP 320可以被为描述一个服务,用于维护存储在次要服务器308中的特定任务与项目和特定承诺项之间的链接。数据层(Datalayer)322与数据库服务器306进行通信并提供项目服务器304和数据服务器306之间的界面,可以用来从数据库服务器306读取和向其写入。
如此处所述,“项目web”(见图3B)指的是次要服务器308上的基于web的共享协作工作空间,其中当使用系统300创建项目时,项目服务器306为该次要服务器308提供设置。项目web使得用户可以上传文档、提出问题或风险,然后将任何这些文档、问题或风险链接到项目计划中的实际任务。根据本发明,系统300利用项目web存储由可以与其他项目一起共享的项目所创建的承诺。例如,次要服务器308可以包括用于跟踪一个或多个承诺的web服务,如一个或多个项目web。用户可以查询项目web并基于查询接收来自web服务的信息。
正如下面所进一步描述的那样,根据本发明的诸实施例,每个项目web跟踪其所提供以供耗用的一个或多个承诺。如上所述,承诺可以被定义为两个(或更多个)实体之间实现一系列条件的协定。通常有至少一个承诺提供者和至少一个承诺耗用者。例如,设想第一项目经理想要提供一个或多个承诺,以供一个或多个承诺耗用者如其他项目经理使用。即是说,第一项目经理提供来自特定项目的任务、资源或其他数据,供第二项目经理使用。第一项目经理了解到第二项目经理有依赖于任务A、B和/或C的一个或多个项目。
根据本发明的一个实施例,第一项目经理可以将一项或多项任务、资源或其他数据指定为一个或多个“承诺”,供其他项目经理使用。这些承诺可以被存储在次要服务器308(“项目web”)的列表中,如WINDOWS SHAREPOINT服务web的SHAREPOINT服务列表。一旦承诺在项目web上存在,任何项目经理都可以耗用一个或多个承诺。根据一个最佳实施例,在承诺存在于项目web上之后,提醒任何可能受影响的耗用者注意该承诺,例如通过电子邮件通知、进度安排程序或从项目管理应用程序本身。使用的项目经理可以使用提供的项目经理已经存储在次要服务器308上的一个或多个承诺,以使用一个或多个项目。提供的和使用的项目经理以及其他人现在可以控制特定承诺如何影响特定项目。
现在另外参见图3B,示出一功能方框图,描述次要服务器308、计算系统302和项目服务器数据库306之间的承诺关系的数据布局。根据本发明的一个实施例,对于每个被保存到项目服务器304的项目,在次要服务器308上创建与特定项目关联的web设置,例如Windows SHAREPOINT服务web。如上所述,用户可以以项目web为界面,使用项目服务器/数据库或次要服务器308上传项目文档、创建问题或使用次要服务器308的其他功能。
如上所述,一个或多个承诺可以被存储在次要服务器308的共享列表模块316的共享列表中,例如被存储在SHAREPOINT服务器上的SHAREPOINT模块的SHAREPOINT列表中。例如,如图3B所示,次要服务器308包括具有第一共享列表332的第一项目web 330。第一共享列表332包括与第一项目有关的诸承诺338。次要服务器308也可以包括具有第二共享列表336的第二项目web 334。第二共享列表336包括与第二项目有关的诸承诺340。应该理解,次要服务器308可以包括任意多个项目web,本发明不受此处所公开的任何特定例子和实施例所限制。
根据本发明,每个项目web跟踪其所提供以供耗用的承诺。可以从列表的位置推断出特定承诺提供者(例如,在Project_2的web)。根据本发明的一个实施例,被链接到所耗用承诺的任务被存储在数据库服务器306的MSP_WEB_OBJECT_LINKS表307中。数据库服务器也可以包括MSP_WEB_OBJECTS表309,如下所述。
如图3B所示,根据这一实施例,计算系统302上的应用程序310利用项目相关文件(二进制.mpp文件)来维护特定项目数据。所有耗用者数据都可以被存储在数据库服务器306的二进制.mpp文件如.mpp文件342和344以及MSP_WEB_OBJECT_LINKS中。提供者任务链接也可以被保持在数据库服务器306的二进制.mpp文件和MSP_WEB_OBJECT_LINKS中。
根据本发明的一个实施例,可以通过关联任务的扩展任务字段标准化大部分提供者数据以供报告用途,该扩展任务字段包括·TargetStart(目标开始)·TargetFinish(目标完成)·CommitmentLinkType(承诺连接类型)·CommitmentUid(承诺UID,)(也在MSP_WEB_OBJECTS中)可以在项目管理应用程序中添加四个字段到任务·CommitmentUid(承诺UID)·CommitmentLinkType(承诺连接类型)(TargetStart、TargetFinish,Consumed)·TargetStart(目标开始)·TargetFinish(目标完成)承诺/里程碑的记录可以被保持在项目管理应用程序中·SPListItemId(SP列表ID,)(CommitmentId承诺ID)·CommitmentName(承诺名称)·CommitmentDate(承诺日期)(或承诺开始和承诺结束)·TaskId(任务ID)·CommittmentType(承诺类型)оProvided(所提供的)оConsumed(所使用的)·IsSharedMileStone(是否里程碑)·TaskLinkType(任务链接类型)оTargetStart(目标开始)оTargetFinish(目标完成)оMileStone(里程碑)(用于可能没有相关任务链接类型的所耗用承诺和所共享里程碑)·数据可以存储在WebObjectDocument(Web对象文档)中,其中WebObjectDocument(Web对象文档)是项目级别的XmlDomDocument,包含所有链接到特定项目的web对象。
如下所述,二进制.mpp文件通常驻留在计算系统如系统302上。根据本发明的一个实施例,.mpp文件存储特定承诺或承诺组的项目具体链接信息,包括那些承诺的承诺列表、任务链接和目标日期。该信息也可以包括每个承诺是否依赖于单项任务的开始或完成(或两者),或者是否是被导入(或耗用)的承诺。
数据库服务器306中的数据可以由从.mpp文件提取出来的报告信息和对象链接信息组成。正如在此所使用的那样,对象链接信息是关于什么承诺被链接到什么项目以及每个承诺被存储在次要服务器的共享列表中哪个位置的记录。次要服务器308更适宜存储承诺的实际列表。承诺可以存在于每个提供者项目上的非常简单而又可以扩展的列表中。当承诺被创建时,它在提供者项目控制的web上被创建(见图3B)。
例如,根据本发明的一个实施例,被保持在共享列表中的数据可以包括一个承诺名称和多个日期(包括开始和完成日期)。也可以从列表的web位置推断出特定承诺提供者(例如,在Project_14的web中)。单个web中最好不保持承诺耗用者的记录。如图3B所示,所有耗用者数据被存储到计算机302上的二进制.mpp文件和数据库服务器306上的MSP_WEB_OBJECT_LINKS。如图所示,以类似于跟踪风险、问题和文档的方式,MSP_WEB_OBJECTS表309可以包括每个承诺的一个条目。
链接到项目web对象的数据库服务器306中的任何对象可以被存储在对象链接提供者(Object Link Provider)320中。对象可以由只存在于计算机系统302端的项目和任务组成,并因此包括存储在项目web端上的承诺、问题、风险和一些其他内容。这些对象之间的链接可以被存储在对象链接提供者320中。例如,设想项目A正在提供一个或多个承诺,如关键任务。项目B要耗用一个或多个承诺。项目管理应用程序310与web服务界面312进行通信,其中web服务界面312和承诺事务对象318一起将承诺写入项目web上的共享列表中。承诺事务对象318也提供项目中的诸任务、共享列表中的承诺线项以及对象链接提供者320之间的链接。因此,系统300保持知道一个承诺被链接到具体任务。正如下面进一步描述的那样,使用的项目经理可以查看任何已经由提供的项目经理创建的承诺,并可以选择耗用那些承诺。
承诺根据本发明的诸实施例,使用项目管理应用程序管理一个或多个进度计划时,承诺可以被创建并被耗用。如上所述,承诺最好存储在次要服务器308上的共享列表中。当一个承诺在项目中被耗用时,它基本上被链接到耗用者项目中的任务,否则可以为它创建新任务。承诺任务也可以有一个被称为“CommitmentFlag(承诺标志)”的专用标志组。被承诺的任务可以是零期限里程碑任务或具有开始和完成日期组并因此是非零期限的任务。标志被存储在任务中,这一标志可以用于项目相关事项,如专用格式的甘特条形图。所提供的承诺可以是起源于用户当前正在浏览的项目管理应用程序文件中的承诺。所耗用的承诺是已经被用户导入到起源于一个或多个其他项目的项目中的那些承诺。
现在参见图4,描述本发明的一个实施例。图4是来自项目管理应用程序的屏幕截图,图示当显示承诺(Commitment)402时用户所看到的承诺窗格400。当前的视图描述为特定项目或程序所提供的与多项任务相关的承诺404。每个承诺有都一描述408-414以及一关联的开始和完成日期416-430,例如,让用户知道关联任务的类型和预计的完成日期。当用户将指针停留在承诺上时,弹出式窗格432更适宜给用户提供更多细节。细节中的一些可以包括承诺状态434、相关项目436、任务名称和/或任务UID 438等等。承诺窗格400使得用户可以添加新承诺402或编辑/删除现有承诺。窗格400更适宜显示被存储在次要服务器308的所有承诺中的特定项目所创建的所有承诺。根据其他可选的实施例,细节窗格424也可以包括被链接的MSP_WEB_OBJECTS和扩展SHAREPOINT字段。应该理解,可以在承诺细节窗格中示出较多或较少的细节。
现在参见图5并继续参见图4,描述承诺对话窗格500。例如,当用户点击“Addnew comitment(添加新承诺)”440时,对话窗格500打开,使得用户可以使用项目管理应用程序310创建或添加承诺。用户也可以通过点击“Get Updates(获取更新)”按钮442获取项目应用程序更新,或者通过点击“change alert(改变警报)”444留意项目相关改变。如上所述,当用户点击“Add new commitment”440时,使用XML字符串进行web服务界面312调用,例如使用“WSI.CreateCommitment(CommitmentData)”,其中CommitmentData由CommitmentName、ProjectUid、TaskUid、CommitmentStart和CommitmentFinish组成。CreateCommitment的返回值是一个代表来自各自项目web的承诺web对象的XML字符串。
使用承诺对话窗格500,用户可以给承诺502输入各种字段。这些字段包括名称(Title)504、完成日期(Finish)506、开始日期(Start)508、状态)(State)510和/或描述(Description)512,如上所述。另外,通过检查链接框514,用户可以将承诺链接到一项目任务。通过这样操作,用户正在使用任务的预期开始和完成日期来驱动特定承诺日期。当用户点击OK 516时,通过项目服务器306直接在次要服务器308的共享列表中创建承诺。在其他可选的实施例中,字段“承诺GUID(全局唯一标识符)”被用来在承诺和次要服务器308同步(如下所述)时识别一个或多个承诺。另一字段“承诺类型”可以表示承诺是被耗用的还是被提供的。如图6所示,用户可以选择现有承诺(例如,从图4的列表)进行编辑或删除。通过右击承诺(C1)602,下拉菜单604使得用户可以编辑(Edit Commitment)606或删除(Delete Commitment)608承诺602。如果用户选择编辑606承诺,图5的承诺对话窗格允许用户选择承诺。
现在参见图7,示出相关性窗格700,该相关性窗格700列出由其他项目所创建的所有承诺702,其中一个特定项目对这些其他项目具有相关性(Dependency)704。再次,当用户将指针停留在诸承诺702的其中之一上时,弹出式窗格706更适宜给用户提供更多细节。用户可以通过选择“Add new dependency(添加新相关性)”链接708来创建新相关性704,该链接708将用户带到在图8中示出的相关性对话窗格800。
使用相关性对话窗格800,用户可以选择他们想要具有相关性的项目。通过点击“Browse(浏览)”按钮802,打开企业文件/打开对话,允许用户选择特定项目(Project)804。一旦选择项目,来自项目804的承诺列表806就被显示给用户。当选择特定承诺时,就显示该承诺(最好只读)的细节808,例如以上所述的那些细节。通过点击链接框810,用户可以选择将承诺806链接到项目804的任务812。在一个实施例中,当用户选择将承诺链接到任务时,该特定承诺可以“接管”所预期的任务开始和完成日期。
如图9所示,用户也可以选择使用相关性对话窗格900编辑/修改相关性。通过右击相关承诺(C1)902,弹出式菜单904使得用户可以编辑(Edit Dependency)906或删除(Delete Dependency)相关承诺902。如果用户选择编辑906相关承诺,图8的相关性对话窗格800被呈现给用户。如果用户选择删除相关性,项目所具有的与承诺的相关性链接就被移除。
根据本发明的一个实施例,系统300可以使用四个字段跟踪承诺信息。前两个字段“承诺开始”和“承诺完成”表示外部承诺的开始日期和完成日期。例如,当一个承诺在一个项目中被耗用时,在耗用者项目中创建一项可以用来解决进度计划中的该承诺的任务。这一任务受承诺的日期所驱动。第三个字段“承诺GUID(全局唯一标识符)”用来在承诺与次要服务器308同步(如下所述)时识别一个或多个承诺。第四个字段“承诺类型”表示承诺是被耗用的或是被提供的。
如上所述,项目管理应用程序使得项目经理可以创建项目和相关的进度计划,包括任务、资源、承诺等等。例如,设想项目经理利用项目管理应用程序来准备与房屋建设相关的项目进度计划。建设项目可以包括多个相关项目,例如基础项目、框架项目、电气和管道项目以及干墙项目和终饰项目。每个项目都可以包括完成项目所必需的一项或多项任务。
存储承诺例如,对于与一个项目有关的一组承诺,所提供的承诺和所耗用的承诺可以与项目一起被存储为一文档属性,然后该文档属性被用于将项目中的承诺与次要服务器308的改变同步。作为例子,假设在项目中的一个承诺被耗用,次要服务器308中的承诺日期被改变。与项目中所有被耗用的承诺有关的信息可以在项目中被存储为文件PID。当项目经理打开项目管理应用程序并被连接到次要服务器308时,使用一web服务界面调用(GetProjectWebObjects)检索所有与这一项目关联的承诺的列表。将与项目一起存储的承诺和从服务器308检索的承诺进行比较。特定项目的承诺可以被存储为字符串类型的文档级别字段的值。
同步承诺当打开一个项目并且与次要服务器308的连接可用时,被存储在项目中的承诺与次要服务器308的承诺同步,以反映承诺的任何改变。例如,所耗用的承诺的日期可能已经改变、该所耗用的承诺可能已经被删除、驱动被提供的承诺的日期可能改变或者驱动被提供的承诺的任务可能已经被删除。
删除被耗用的承诺作为同步客户端如计算机系统302和次要服务器308之间的诸项目的一部分,比较各自的承诺列表。如果一个承诺存在客户端副本中,但在服务器中不可用,那么该承诺已经从服务器中删除。由于依赖于已删除承诺的任务没有多少用处,因此所承诺的任务被转换成正常任务。或者,可以删除所承诺的任务。
被耗用的承诺日期改变在比较客户端和次要服务器308中的承诺时,如果日期是不同的,就意味着承诺的日期在次要服务器308中已经被改变。于是就通知用户注意这一改变,从承诺创建的任务将会被修改。一旦日期已经改变,承诺的客户端副本将会被更新为新日期。
同步所提供的承诺一旦打开一个项目,就从次要服务器308检索涉及项目的承诺的列表(包括由这一项目提供的承诺和被这一项目耗用的承诺)并与存储在项目中的承诺信息比较。然后以比较为基础,将所提供的承诺列表与所耗用的承诺进行同步。
在服务器中创建新承诺当同步客户端和服务器之间的被提供的承诺时,如果在服务器副本中存在一个客户端版本中没有的承诺,就意味着存在由这一不与任何任务关联的项目所提供的承诺。于是用户可以将该承诺和一项任务关联起来。可以更新MSP_WEB_OBJECT和MSP_WEB_OBJECT_LINKS表以存储链接信息。也可以更新客户端存储器以包括新关联的承诺。
为准备项目管理进度计划,正如以房屋建造项目为例所描述的那样,进度计划信息必须由该项目的经理提供给项目管理应用程序。进度计划信息可以包括关于多项任务中的每一项的信息,包括整个项目的里程碑如单项任务的工作期限、包括人力和材料的资源分配、对各种任务绩效的约束条件以及诸任务和诸里程碑之间的相关性。一旦进度计划引擎接收进度计划信息,就计算所有任务的开始/完成日期。例如,对任务绩效的约束条件可以规定给定的任务必须在一个不同的任务开始之前完成。或者,约束条件可以包括给定任务必须在给定时间期限内完成的规定。例如,当地建筑法规可能要求材料只能在一天的特定时间内运送到建筑工地以避免交通阻塞。被提供给项目管理应用程序的相关性可以包括第二里程碑在第一里程碑完成之前不能开始的规定。相关性也可以提供给包括项目里程碑的单项任务,在这些项目里程碑中任务不能在前面的任务完成之前开始。
作为另一个例子,设想项目经理B想要在打开承诺窗格之后耗用承诺。项目管理应用程序从项目web查询弹出任何被定义的承诺的web服务界面,然后将其发回给项目管理应用程序。所以,项目经理B可以看到项目经理A已经作出多个承诺。然后,使用项目管理应用程序,项目经理B可以将一个或多个承诺添加到他/她的进度计划。可以实现一个安全层,以使得项目经理B只能看到由他有权限从其中看到并耗用的诸项目所作出的承诺。一旦项目经理B已经耗用所选择的承诺,该项目服务器通过对象链接提供者维护这些在诸事项改变时已经被这些任务和这一项目耗用的承诺的信息。于是通知项目经理A谁已经耗用这些任务。
如上所述,E ENTERPRISE PROJECT是微软公司生产的项目管理应用程序。Project Server(项目服务器)是微软提供的另一个应用程序,它使得多个用户可以创建新项目,并从项目服务器如上述的项目服务器306访问正在进行的项目。例如,一个组织可以在专用服务器上安装Project Server,然后多个项目经理可以在单个计算系统上安装Project,其中每个系统都与项目服务器进行通信。所以,在一个典型环境中将会发生的是,一个组织将会在一台服务器上安装ProjectServer、在一个计算系统上安装Project、以及通过无线或有线将Project Server连接到一台次要服务器如Windows SHAREPOINT Services Server和一台数据库服务器如Sequel Server。
正如在此所描述的那样,提供使用项目管理应用程序和相关联的资源创建并维护项目相关承诺的方法和系统。那些本领域内的技术人员将会明显看出,在不背离本发明的精神和范围的前提下可以在本发明中进行各种修改或变动。考虑此处所公开的本发明的说明和实践,那些本领域内的技术人员将会明显看出本发明的其他
权利要求
1.一种使用项目管理应用程序管理具有一个或多个项目的程序的方法,包括创建一包括进度安排数据的项目进度计划;为所述项目提供一web;以及在所述项目web上提供项目相关性数据。
2.如权利要求1所述的方法,其特征在于,还包括将所述项目相关性数据存储到项目web的一列表中。
3.如权利要求1所述的方法,其特征在于,还包括创建一所述项目相关性数据的报告。
4.如权利要求1所述的方法,其特征在于,还包括共享所述项目相关性数据。
5.如权利要求1所述的方法,其特征在于,还包括耗用所述项目相关性数据。
6.如权利要求1所述的方法,其特征在于,还包括将程序数据发送给一可用于管理文档的服务器。
7.如权利要求1所述的方法,其特征在于,还包括将程序数据发送给一可用于管理列表项的服务器。
8.如权利要求1所述的方法,其特征在于,还包括,如果所述项目相关性数据改变,就给耗用者提供一通知。
9.如权利要求1所述的方法,其特征在于,还包括在由项目提供者控制的we上创建所述项目相关性数据。
10.如权利要求1所述的方法,其特征在于,还包括使用一台远程计算机创建所述项目相关性数据。
11.如权利要求10所述的方法,其特征在于,还包括使用可扩展标记语言(XML)协议与所述项目web进行通信。
12.如权利要求1所述的方法,其特征在于,还包括使用项目服务器提供所述项目web以存储一个或多个承诺。
13.如权利要求12所述的方法,其特征在于,还包括使用承诺事务对象(CBO)模块来管理所述项目服务器和所述项目web之间的通信。
14.如权利要求1所述的方法,其特征在于,还包括使用对象链接提供者(OLP)来维护一项或多项任务和一个或多个承诺之间的链接。
15.一种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令在被计算机执行时执行如权利要求1所述的方法。
16.一种使用项目管理应用程序管理具有一个或多个项目的程序的方法,包括创建与第一项目相关的承诺,所述承诺包括至少一项任务、一开始日期和一完成日期;在一项目web上接收所述承诺;以及在所述项目web上存储所述承诺。
17.如权利要求16所述的方法,其特征在于,还包括与其他用户共享所述承诺。
18.如权利要求16所述的方法,其特征在于,还包括,如果所述承诺被修改,就给项目耗用者提供一通知。
19.如权利要求16所述的方法,其特征在于,还包括使用一远程计算机创建所述承诺。
20.一种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令在被计算机执行时执行权利要求16所述的方法。
21.一种使用项目管理应用程序管理具有一个或多个项目的程序的方法,包括提供与第一项目相关的承诺,所述承诺与至少一项任务、一开始日期和一完成日期相关;将所述承诺发送给一项目web;以及使用所述项目web给其他用户提供所述承诺。
22.如权利要求21所述的方法,其特征在于,还包括使用承诺事务对象(CBO)模块管理项目服务器和所述项目web之间的通信。
23.如权利要求21所述的方法,其特征在于,还包括使用对象链接提供者(OLP)来维护一项或多项任务和一个或多个承诺之间的链接。
24.如权利要求21所述的方法,其特征在于,还包括创建或修改所述承诺的相关性。
25.一种包含的计算机可读媒体,所述计算机可执行指令在被计算机执行时执行权利要求21所述的方法。
全文摘要
提供用于在项目管理应用程序中管理诸项目之间的相关性的方法和系统。所述方法和系统利用一个或多个项目web来管理诸项目之间的相关性,所述项目web是基于web的共享协作工作空间。
文档编号G06F17/30GK1755719SQ20051008853
公开日2006年4月5日 申请日期2005年7月29日 优先权日2004年9月30日
发明者A·A·苏鲁弗, J·E·哈默, K·M·帕特斯瓦米, S·帕拉萨曼 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1