优选实施例的详细描述
下面的说明是执行本发明的当前预期的最佳模式。该说明没有限制的含义,而只是用于说明本发明一般原理的目的。本发明的范围应当依据权利要求确定。
该模式可以被表征为基于规则的近似、合成和简化方法。规划者可以用空规划或者用近似预期的最终作业分解结构和规划的项目范围所需的作业流程的一个规划开始合成和简化。该近似可以从一组已知的有用的“库存”规划中选取。“库存”规划是事先构建的作业分解结构(WBS)和作业流程(具有链接适当的指令内容的分量活动),并且已经证明对过去的项目是有用的。每个库存规划描述了实现一个或多个成果所需的作业。在合成和简化方法中,是通过以下方式规划一个成果作业的:合成实现该规划中未呈现的预期成果所需的作业流程,并且解合成或者简化规划的作业流程,即消除仅仅对该规划中目前呈现的成果是需要的但不是想要的活动。
本发明公开了一种协助作业规划者的处理和系统,该处理和系统是基于作业规划者依据定义的一组可能的成果的明确选择或者解选择,来组装用于一个项目的作业分解结构(WBS)和作业流程。该处理和系统能够保证所得到的项目WBS和作业流程由产生项目期望的成果集所需的最小活动集组成。
该处理和系统还能够保证项目的活动被组织成由作业规划者指定的WBS模板定义的活动层次,以及保证每个项目的活动链接成由适当的指令内容支持的适当地作业流程。
在所承担的项目需要不同的成果集以及一个成果需要的作业也许满足另一个成果需要的某些或者所有作业的情况下,确定严格的最佳WBS和作业流程以产生预期的一组成果(包含成百或者成千作业步骤)通常不是切实可行的。
本实施例通过以下方式支持可互换/可再用组分的制造和信息技术原则:确认可以从多个被正式证明的知识本体中导出的单个、非冗余的活动集以及活动依赖,并且确认该活动集和活动依赖可以被用来根据将由规划的项目实现的成果的作业规划者的选择和/或解选择组装最佳项目作业分解结构(WBS)和作业流程。
在该背景中,用于一个项目的“最佳”WBS和作业流程是指由产生项目期望的成果集所需的最小活动集组成的WBS和作业流程。
成果驱动作业流程合成处理向作业规划者或其它用户提供实施下列各项的一个系统和方法:
1)观看可用的WBS模板;
2)观看每个WBS模板范围之内和之外的成果;
3)选定和发送“控制”WBS模板选择;
4)选定和发送一个或多个用于合成的已选用成果;
5)观看得到的WBS和作业流程;以及
6)将项目的WBS所表示的活动层次中的每个活动与适当的指令内容相链接。
成果驱动作业流程简化处理向作业规划者或者其它用户提供实行下列各项的系统和方法:
1)观看目前从现有的项目WBS和作业流程导出的成果;
2)选择和发送从WBS和作业流程消除的一个选定的成果;
3)观看得到的项目WBS和作业流程。
总之,项目驱动合成和简化处理为作业规划者提供了通过简单的考虑并选择打算实现项目的成果来构建和剪裁由有关的活动说明(即,指令内容)支持的作业分解结构以及作业流程的能力。
这里集合下列术语以作为供说明本发明的实施例使用的词典。
活动——一个特定的作业单位
基本活动——产生项目的有意义结果的作业的最小单位。
基本活动依赖——两个基本活动之间的联系,使第一基本活动运行导致第二基本活动运行所需的一个状态或者条件集。从基本活动的运行得到的状态被称作后置条件。由一个从属基本活动所需的状态被称作一个“前条件”。
指令内容页——用来描述活动的目的或者意图并且接近活动的行为的文件(例如,HTML文件)。每个指令内容页可以包含格式化文本、图形和对相关指令内容的超链接。
非基本活动——充当其从属活动的一个抽象概念的较低等级活动(非基本或者基本)的指定成组。
对象类别——人、地点、事情、概念、事件、联系或者条件的类型,所述条件是可以保存信息(以属性值和关系的形式)然后可以执行操作(动作)的条件。
成果——一个处理的定义结果(例如,一个制造工件或者最终产品,一张建筑图,一个概念模型,一个作出的决定,一个呈递的判断,一份交付的报告书,一个实现的状态)。
项目——一个有组织的任务,用于产生或者实现来自一组可能的成果中的一个或多个预期成果。
项目活动——表示由一个项目利用的一个基本活动或者非基本活动。
项目活动依赖——表示在作业流程中为一个项目利用的一个基本活动或者非基本活动。
项目规划——集确定、构建和调度产生成果所需的最小作业为一体的学科,其中在已知约束(例如,可用资源,管理要求等)下以最小时间量产生对项目的范围定义的成果。
WBS活动——定义WBS模板中的活动的利用和定位(即,垂直定位和缩进等级)。
WBS模板——一个指定的用作一个模型的分层结构,该模型把项目活动组织成作业分解结构(WBS)。
作业分解结构(WBS)——一个项目活动的层次,用于观看和管理不同等级概括的项目的作业。
作业流程——相互依赖的基本活动的一个网络,该相互依赖的基本活动在与成果的产生相联系的基本活动中确定。
作业流程开发处理被设计来用于大型项目,包括经营策略的分析,比如其中伴随着新产品的开发、大型企业(例如,大公司)的重组。因此,作业流程开发处理的结果必须没有错误并且必须能够处理来自不同源的输入,例如,在一个公司中,所述的输入来自一个研究和开发单位或部门、一个制造单位或部门、一个人力资源单位或者多个人力资源单位、一个上层管理监督单位以及一个重组规划(与用于执行主项目的公司的重组同时进行)。作业流程开发必须以这样一种方式进行:对利用作业流程开发处理的企业的风险必须最小化,以及对采用作业流程开发处理提供指令的咨询公司的风险最小化。例如,如果一个作业规划开发处理应用于B-2轰炸机的开发,则该作业规划开发处理应当承担公司的重组,使其具有一个完全新的大部门,调配这样一个部门的人员,具有正在进行的研究和开发的输入,用成千上万个规程和规则设计航空器,一个制造单位;此外,具有成千的备有证明文件的规程,具有成千的试验文件的试验单位,接受空军的试验规程和指南。这些是极其复杂的过程并且成本也许是1000亿美元。
然而,需要具有这样一个系统,该系统除了基于结构的规则之外,还具有附加的要素或者特点,以允许项目运行中的作业流程的作业分解结构优化。现在存在潜在地大量不同的优化分解结构的方式,也就是作业需要如何进行的流程图细节。在本实施例中,人们可以从事先开发的项目规划开始,该实现开发的项目规划被认为与预见的项目所需的规划相似。然而,规划者也许发现预期的规划不包括在“库存”规划中,所以加入它们。也就是,人们选择一个或多个合成的成果。因此,选用成果的作业流程被合成为当前作业规划。类似地,可以呈现不相关的成果,所以规划者去掉它们。在实现各种成果的过程中也许包含许多相互依赖的基本活动。添加或者消除一个成果需要调整项目的作业流程和作业分解结构。人们还可以从一个空规划(没有成果的规划)开始,并且把成果添加到该空规划上。
图1示出了一个基于计算机的系统,其中显示了RAM12和ROM14。所显示的基于计算机的系统的其它部件包括:一个中央处理器(CPU)16,一个视频显示单元18,一个通信端口20,一个中间服务器22,一个远程网络服务器24,和一个本地网络服务器26。数据存储知识库28包括活动30,客体32,成果34,项目36,指令内容38和作业分解结构(WBS)模板40。
图2示出了用于示范性规划系统数据知识库的实体关系图(ERD)。具有全部大写字母的术语(例如,基本活动(ELEMENTARY ACTIVITY)58)参见图2。术语的定义被列入如上所述的词典中。
客体(OBJECTS)主题区42包含客体类别(OBJECT CLASS)44,客体类别(OBJECT CLASS)44是活动(ACTIVITIES)主题区46中的一个或多个客体效果(OBJECT EFFECT)48的主题。每个客体效果(OBJECT EFFECT)48总是由一个基本活动(ELEMENTARYACTIVITY)58产生。每个基本活动(ELEMENTARY ACTIVITY)58总是一个非基本活动(NON-ELEMENTARY ACTIVITY)56的组成部分,并且可以被设别为一个或多个基本活动依赖(ELEMENTARYACTIVITY DEPENDENCY)50的前任或继承者。在成果(OUTCOMES)主题区60中,每个成果(OUTCOME)62由一个基本活动(ELEMENTARY ACTIVITY)58产生。在项目(PROJECT)WBS/作业流程(WBS/WORK FLOWS)主题区64中,项目(PROJECT)70由一个或多个项目活动(PROJECT ACTIVITY)68组成,项目活动(PROJECT ACTIVITY)68可以被识别为一个或多个项目活动依赖(PROJECT ACTIVITY DEPENDENCY)66的前任或继承者。每个项目活动(PROJECT ACTIVITY)68可以对应于包括基本活动(ELEMENTARY ACTIVITY)58和非基本活动(NON-ELEMENTARYACTIVITY)56的活动(ACTIVITY)52。指令内容(INSTRUCTIONALCONTENT)主题区72包含可以由位于WBS模板(WBSTEMPLATES)主题区76中的一个或多个WBS活动(WBSACTIVITY)80所引用的内容页(CONTENT PAGE)74。每个WBS活动(WBS ACTIVITY)80总是引用一个活动(ACTIVITY)52,并且可以替换一个或多个基本活动依赖(ELEMENTARY ACTIVITYDEPENDENCY)50。每个WBS模板(WBS TEMPLATES)78可以提供用于一个或多个项目(PROJECTS)70的一个控制WBS。成果驱动作业流程合成处理
该处理起始于步骤96(图3a)的作业规划者确认将要由他或她的项目70产生/实现的一个或多个成果62。该处理将把所有需要的活动58、56引入项目70,作为项目活动68,以形成适当地WBS和作业流程。每个项目活动68还将链接到适合于由作业规划者选择的控制WBS模板78的指令内容页74。WBS模板78的选择设置了项目70的背景。
对于由作业规划者从可能的成果集60中选择的每个成果62,执行以下规程:
规程1:从规划数据知识库中选择基本活动58(步骤98,参见图3a),以产生作业规划者希望添加到他或她的项目70的成果62(在步骤96中选取)。
所选择的基本活动58将是导致成果62的作业流程中的最后点或者节点。作业流程中的最后节点94通常被称作“终端”或者“最下游”节点。
作为一个例子,
指基本活动;以及
其中,所示的五个基本活动中的一个是最远下游,即,在下游箭头所示的方向上,是终端节点94。
规程2:在步骤100(图3a)确定步骤98中选择的基本活动58是否已经作为一个项目活动68被包含在项目70中。如果已经被包含,则在步骤150选择下一个预期的成果62。如果找到它,则返回到步骤98。如果未找到,则在步骤152上结束处理。如果还没有被包括,则在步骤102将一个条目插入节点处理表114,该节点处理表114描绘了基本活动58(如下列的样品表所示),然后继续。
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
12387 |
N |
N |
N |
节点处理表(NPT)114(图3a,3b)中的列被定义为:“条目序列#”记录节点处理表中的条目(即,行)的插入次序或者序列。“节点ID”记录对于作为成果62作业流程中的一个节点参与的基本活动58的唯一标识符。“成组标识符”指示基本活动58是否被分类为“成组”活动。成组活动是收集和成组其它成果62的活动。成组活动是在成果驱动作业流程合成处理中以特定方式进行处理的。“处理指针”指示是否已经完成有关节点的所有处理。当把项目插入表中时,该列中被设置为“N”,并且当已经完成有关该节点的所有处理时,该列被改变到“Y”。列“消除指针”不是用于成果驱动作业流程合成。而是在成果驱动作业流程简化处理中使用该列。该列的默认值是“N”。
规程3:在步骤104,选择节点处理表114中的第一条目。如上所述,该项目将识别最下游节点94。
规程4:执行下列规程4.1至4.4(图3b)直至已经处理了所有节点:
规程4.1:在步骤106(图3b),通过执行活动插入、定位和内容链接处理(下面讨论),将与当前处理的节点所引用的基本活动58相对应的项目活动68记录插入到项目70中。
规程4.2:如果在步骤108(图3b)上正在处理的当前节点所引用的基本活动58未被分类为“成组”基本活动58(即,节点处理表中的成组指针=“N”),则在步骤110(图3b)选择它的相应上游节点。在步骤112(图3b)将一个条目插入用于每个相应上游节点的节点处理表中,其中,每个相应上游节点在步骤154还没有确定是位于节点处理表114中。对该步骤来说,“相应上游节点”被定义为一个基本活动58,它被识别为由当前节点引用的基本活动58的前任,在一个实例中该当前节点是满足以下标准的基本活动依赖50:
(1)如果对应于最下游节点的基本活动58是在控制WBS(即,它由作为控制WBS模板78的组成部分的WBS活动80引用)的范围内,则候选前任还必须被作为控制WBS模板78的组成部分引用。
该标准能够保证把包含在项目70中的项目活动68限制到对应于明确包含在控制WBS模板78中(即,由控制WBS模板78建立的范围边界之内)的基本活动58的那些活动。
(2)如果存在这样的WBS活动,识别候选前任的基本活动依赖50必须由用于同当前节点关联的控制WBS模板78的WBS活动80代替;以及
(3)对于项目70,不一定存在对应于候选前任的项目活动68。
规程4.3:在步骤116(图3b),用于当前节点的已处理指针在节点处理表中被调整到“Y”。这还属于来自步骤108的对基本活动分组。
规程4.4:在步骤118,选择节点处理表中的下一个未处理节点(即,处理指针=“N”的最低条目序号)——被称作后续步骤中的“当前节点”。如果未发现未处理的节点,则选择下一个预期成果(步骤150,图3a),并且继续进行与步骤150相应的处理。最后将处理完所有节点和所有成果,然后结束处理。活动插入、定位和内容链接
当把项目活动68插入控制WBS模板78范围内的项目70中时,检查对应于其双亲WBS活动80(按控制WBS模板78定义)的项目活动68是否已经被包含在项目70中。如果是,则把低于其双亲一个等级的正在插入的项目活动68放置到相应于已经包含在项目70内的‘兄弟姐妹’之任一个的正确位置中。如果双亲目前未被包含在项目70中,则根据项目70的控制WBS模板78确定所有遗失的较高等级的非基本活动56。通过在相对于它们‘兄弟姐妹’的正确位置上把对应的项目活动68插入项目70中,所有遗失的较高等级的非基本活动56一定被包含在项目70中。一旦所有遗失的先辈(即,较高等级的活动)已经被包含在项目70中,就在相对于已经包含项目70中的其‘兄弟姐妹’之任一个地正确位置上,插入项目活动68,该项目活动68对应于低于双亲一个等级的基本活动58。把插入项目70的每个项目活动68链接到由项目70的控制WBS模板78中的WBS活动80引用的内容页74上,该控制WBS模板78引用对应于插入的项目活动68的活动52。
当把项目活动68插入到不在控制WBS模板78的范围之内的项目70中时,检查对应于其双亲的非基本活动56的项目活动68是否已经被包含在项目70中。如果是,则对低于对应于其双亲的非基本活动56的项目活动68一个等级的正在插入项目活动68进行定位,以作为其双亲中的最后的项目活动68(将不知道相对于兄弟姐妹的定位)。
否则,把对应于基本活动58的项目活动68和对应于非基本活动56双亲的项目活动68插入到被命名为“相互定位的活动”的顶级项目活动68之下的项目70的WBS模板78的结尾。
根据对应于项目活动68的基本活动58的任何一个基本活动依赖50,建立项目活动依赖66,以证明插入到项目70中的项目活动68与已经包含在项目70中的前任及继承项目活动68之任一个之间的依赖。然而,在成对的基本活动依赖50已经被作为项目70的控制WBS模板78的组成部分的WBS活动80取代的情况下,不建立证明依赖的项目活动依赖66。成果驱动作业流程简化处理
该处理开始于作业规划者选择性消除一个目前为他或她的项目70规划的成果62时。一旦起始,该处理就消除主题成果62的作业流程中的任何一个项目活动68;当作业规划者在当前的项目70中选择消除已规划的成果62作业流程的一个其它成果时,上述主体成果62的作业流程不参与该处理的任何行动。
规程1:在步骤160(图4a),从规划数据知识库28中,选择对应于基本活动58的项目活动68,以产生作业规划者希望从项目70中消除的成果62。
在导致消除成果62的作业流程中,选择的项目活动68将是终点或者最后节点。如上所述,作业流程中的最后节点94通常被称作“终端”,或者“最下游”节点。
规程2:在步骤162,把一个项目插入表示项目活动68的节点处理表114(图4a)中,如下面的样品表所示,然后继续步骤164。
样品节点处理表-114表
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
12387 |
N |
N |
N |
节点处理表(NPT)114(图3a、图3b、图4a、图4b、图4c)中的列已经如上所述作出了定义。
规程3:在步骤164(图4a),在节点处理表114中选择第一条目。如上所述,该条目将识别最下游节点94。
规程4:执行规程4.1至4.4(图4b,4c)直至处理了所有节点。
规程4.1:如果下列之一项是真实的,则在步骤190中把当前节点的节点处理表中的消除指针调整到“Y”:
(1)在步骤166由当前节点识别的对应于项目活动的基本活动58(在步骤166)产生在步骤192识别的成果62,作为因消除而选择的成果;或者
(2)由当前节点识别的对应于项目活动68的基本活动58不产生成果62,并且项目活动58没有项目70中的任何中间继承项目活动68,其中,按照步骤194的确定,在节点处理表114中没有任何中间继承项目活动68被标注为消除。
按照步骤194的确定,该检验能够保证不消除作为当前包含在项目70中的另一个成果62的作业流程的部分的项目活动68。
如果在节点处理表114中所有继承者都未被标注为消除,则规程继续到步骤170(图4c)。
规程4.2:如果由步骤170(图4c)处理的当前节点识别的基本活动58未被分类为“分组”活动,并且在步骤172(图4c)已经为消除而对其进行了标注,则在步骤174(图4c)根据项目活动依赖66选择它的所有前任,以及,在步骤178确定节点处理表114中还没有一个条目时,在步骤176(图4b)把一个条目插入用于每个所选择前任的节点处理表114中。
规程4.3:在步骤180(图4c),在节点处理表114中将当前节点的已处理指针调整到“Y”。
规程4.4:在步骤182,在节点处理表中选择下一个未处理的节点(即,已处理指针=“N”时的最低条目序号)。这是现在的当前节点。如果在步骤184发现一个未处理节点,那么返回到步骤166(图4c),并且从步骤166继续处理。
规程5:在步骤186,根据活动消除处理,从项目70中消除在节点处理表中为消除而指定的对应于基本活动58的每个项目活动68。在该消除处理进程中,当从项目70中消除项目活动68时,检查它是否为项目70的WBS中的它的双亲的最后项目活动68。如果是,则从项目70中消除项目活动68和它的双亲。当消除双亲时,持续这一子女/双亲消除处理,直至具有其它子女的一个双亲项目活动68被发现,或者已经从项目70中消除当前项目活动68的最后的‘兄弟姐妹’。处理在步骤188结束。
实例1:成果驱动作业流程合成处理
对于该实例,用于已经选择了一个用于合成的成果,成果“O3”,并且已经把图5a所示的示范性WBS控制模板选作项目的控制WBS。下面所识别的规程对应于上面的成果驱动作业流程合成处理说明中的已编号规程。
规程1:基本活动EA B1.3产生用户想要添加到项目上的成果(即,成果O3),所以从规划系统数据知识库中选择基本活动EAB1.3,参见图5a。
规程2:由于对应于基本活动EA B1.3的项目活动还没有包含在该项目中,因此,将一个条目插入到节点处理表中:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
N |
N |
规程3:在节点处理表中选择(阴影行)第一条目。
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
N |
N |
规程4:按以下方式得到运行规程4.1-4.4的结果,直至已经处理节点处理表中的所有条目:跟随规程4.1的第一运行
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
N |
N |
基本活动EA B1.3被识别为产生已选择成果O3的基本活动。在步骤4.1的第一运行完结时,显示上述的节点处理表的状态,并且项目WBS/作业流程如图5b所示。跟随规程4.2的第一运行
规程4.2把EA B1.2识别为当前节点(EA B1.3)的一个“相关”上游节点,并且把反映该相应识别的一个条目插入节点处理表中:(如下所示)
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
N |
N |
2 |
EA B1.2 |
N |
N |
N |
跟随规程4.3的第一运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EAB1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
N |
N |
规程4.3把当前节点的节点处理表中的已处理指针单元的值调整到“Y”。跟随规程4.4的第一运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
N |
N |
规程4.4选择节点处理表中的下一个未处理节点(所选择的节点被显示为节点处理表中的阴影行)。该行动使节点EA B1.2成为“当前”节点。跟随规程4.1的第二运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
N |
N |
规程4.1造成根据控制WBS模板把EA B1.2插入到其正确位置中的项目WBS/作业流程中,并且造成EA B1.2链接它的继承者EA B1.3。参见图5c。跟随规程4.2的第二运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
N |
N |
3 |
EA B1.1 |
N |
N |
N |
规程4.2把EA B1.1识别为当前节点(EA B1.2)的一个“相关”上游节点,并且把反映该相应识别的一个条目(上面的节点处理表中的条目序列#3)插入节点处理表中。跟随规程4.3的第二运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
N |
N |
规程4.3把当前节点的节点处理表中的已处理指针单元的值调整到“Y”。跟随规程4.4的第二运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
N |
N |
规程4.4选择节点处理表中的下一个未处理节点(所选择的节点被显示为节点处理表中的阴影行)。该行动使节点EA B1.1成为“当前”节点。
规程4.1至4.4的处理将以上述的相同方式持续进行,直至根据活动插入、定位和内容链接处理把所有相关上游节点引入到项目WBS/作业流程中。该实例在下面示出了节点处理表的内部状态和4.4的每个剩余迭代的项目WBS/作业流程。跟随规程4.1的第三运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
N |
N |
参见用于项目WBS/作业流程的图5d。跟随规程4.2的第三运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
N |
N |
4 |
EA A2.1 |
N |
N |
N |
跟随规程4.3的第三运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
N |
N |
跟随规程4.4的第三运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
N |
N |
跟随规程4.1的第四运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
N |
N |
图5e示出了在算法处理中的该点上的项目WBS/作业流程。跟随规程4.2的第四运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
N |
N |
5 |
EA A1.3 |
N |
N |
N |
跟随规程4.3的第四运行:
节点处理表114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
N |
N |
跟随规程4.4的第四运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
N |
N |
跟随规程4.1的第五运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
N |
N |
图5f显示了在算法处理中的该点上的项目WBS/作业流程。跟随规程4.2的第五运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
N |
N |
6 |
EA A1.2 |
N |
N |
N |
跟随规程4.3的第五运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
Y |
N |
6 |
EA A1.2 |
N |
N |
N |
跟随规程4.4的第五运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
Y |
N |
6 |
EA A1.2 |
N |
N |
N |
跟随的规程4.1的第六运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
Y |
N |
6 |
EA A1.2 |
N |
N |
N |
图5g显示了在算法处理中的该点上的项目WBS/作业流程。跟随规程4.2的第六运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
Y |
N |
6 |
EA A1.2 |
N |
N |
N |
7 |
EA A1.1 |
N |
N |
N |
跟随规程4.3的第六运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
Y |
N |
6 |
EA A1.2 |
N |
Y |
N |
7 |
EA A1.1 |
N |
N |
N |
跟随规程4.4的第六运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
Y |
N |
6 |
EA A1.2 |
N |
Y |
N |
7 |
EA A1.1 |
N |
N |
N |
跟随规程4.1的第七运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
Y |
N |
6 |
EA A1.2 |
N |
Y |
N |
7 |
EA A1.1 |
N |
N |
N |
图5h显示了在算法处理中的该点上的项目WBS/作业流程。跟随规程4.2的第七运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
Y |
N |
6 |
EA A1.2 |
N |
Y |
N |
7 |
EA A1.1 |
N |
N |
N |
跟随规程4.3的第七运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
Y |
N |
6 |
EA A1.2 |
N |
Y |
N |
7 |
EA A1.1 |
N |
Y |
N |
跟随规程4.4的第七运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA B1.3 |
N |
Y |
N |
2 |
EA B1.2 |
N |
Y |
N |
3 |
EA B1.1 |
N |
Y |
N |
4 |
EA A2.1 |
N |
Y |
N |
5 |
EA A1.3 |
N |
Y |
N |
6 |
EA A1.2 |
N |
Y |
N |
7 |
EA A1.1 |
N |
Y |
N |
规程4.4检测到节点处理表中的没有剩余的未处理节点。该状况造成合成处理的终止。实例2:成果驱动作业流程合成处理
在该实例中,在选择成果O3和看到从实例1中得到的项目WBS/作业流程的结果之后,用户决定添加成果O4。本实例示出如何把一个附加成果合成到现有的项目WBS/作业流程中。它还显示与被分类为“分组”活动的基本活动关联的特殊处理。符号遵从上述的实例1的符号。图6a提供了一个示例性项目WBS以及该实例使用的控制WBS的作业范围。规程1
基本活动EA C1.3产生用户(作业规划者)想要添加到项目上的成果(即,成果O4),所以从规划系统数据知识库18(图1)中选择它。规程2:
由于对应于基本活动EA C1.3的项目活动还没有被包含在该项目中,因此,将一个条目插入到如下的节点处理表中:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
N |
N |
规程3:
在节点处理表中选择第一条目。在下面的示例性节点处理表中所述条目被显示为阴影:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
N |
N |
规程4:
按以下方式得到运行规程4.1-4.4的结果,直至已经处理节点处理表中的所有条目:跟随规程4.1的第一运行
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
N |
N |
基本活动EA C1.3被识别为产生已选择成果O4的基本活动。在步骤4.1的第一运行完结时,显示上述的节点处理表的状态,并且在图6b中显示项目WBS/作业流程。跟随规程4.2的第一运行
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
N |
N |
2 |
EA C1.2 |
N |
N |
N |
规程4.2把EA C1.2识别为当前节点(EA C1.3)的一个“相关”上游节点,并且把反映该相应识别的一个条目插入节点处理表中.跟随规程4.3的第一运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
Y |
N |
2 |
EA C1.2 |
N |
N |
N |
规程4.3把当前节点的节点处理表中的已处理指针单元的值调整到“Y”。跟随规程4.4的第一运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
Y |
N |
2 |
EA C1.2 |
N |
N |
N |
规程4.4选择节点处理表中的下一个未处理节点(所选择的节点被显示为节点处理表中的阴影行)。该行动使节点EA C1.2成为“当前”节点。跟随规程4.1的第二运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
Y |
N |
2 |
EA C1.2 |
N |
N |
N |
规程4.1造成根据控制WBS模板把EA C1.2插入到其正确位置中的项目WBS/作业流程中,并且造成EA C1.2链接它的继承者EA C1.3。由于项目WBS/作业流程中没有EA C1.3的前任,因此不可能在该点链接它的前任。参见图6c。跟随规程4.2的第二运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
Y |
N |
2 |
EA C1.2 |
N |
N |
N |
3 |
EA C1.1 |
Y |
N |
N |
规程4.2把EA C1.1识别为当前节点(EA C1.2)的一个“相关”上游节点,并且把反映该相应识别的一个条目插入节点处理表中。跟随规程4.3的第二运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
Y |
N |
2 |
EA C1.2 |
N |
Y |
N |
3 |
EA C1.1 |
Y |
N |
N |
规程4.3把当前节点的节点处理表中的已处理指针单元的值调整到“Y”。跟随规程4.4的第二运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
Y |
N |
2 |
EA C1.2 |
N |
Y |
N |
3 |
EA C1.1 |
Y |
N |
N |
规程4.4选择节点处理表中的下一个未处理节点(所选择的节点被显示为节点处理表中的阴影行)。该行动使节点EA C1.1成为“当前”节点。跟随规程4.1的第三运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
Y |
N |
2 |
EA C1.2 |
N |
Y |
N |
3 |
EA C1.1 |
Y |
N |
N |
规程4.1造成根据控制WBS模板把EA C1.1插入到其正确位置中的项目WBS/作业流程中,并且造成EA C1.1链接到它的继承者EA C1.2和链接到它的前任EA B1.3。参见图6c。跟随规程4.2的第三运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
Y |
N |
2 |
EA C1.2 |
N |
Y |
N |
3 |
EA C1.1 |
Y |
N |
N |
规程4.2检测EA C1.1是“分组”活动,并且作为结果,不尝试相应上游节点的识别。没有任何条目被插入节点处理表中,并且EA C1.1维持当前节点。跟随规程4.3的第三运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
Y |
N |
2 |
EA C1.2 |
N |
Y |
N |
3 |
EA C1.1 |
Y |
Y |
N |
规程4.3把当前节点的节点处理表中的已处理指针单元的值调整到“Y”。跟随规程4.4的第三运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA C1.3 |
N |
Y |
N |
2 |
EA C1.2 |
N |
Y |
N |
3 |
EA C1.1 |
Y |
Y |
N |
规程4.4检测到节点处理表中的没有剩余的未处理节点。该状态造成合成处理的终止。实例3:成果驱动作业简化处理规程1
项目活动EA A2.5产生用户(作业规划者)希望从该项目消除的成果(即,成果O2),所以从规划系统数据知识库中选择它。规程2:
将一个条目插入到如下的节点处理表中:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
N |
N |
规程3:
在节点处理表中选择第一条目(阴影)。
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
N |
N |
规程4:
运行规程4.1-4.4,直至已经处理节点处理表中的所有条目。跟随规程4.1的第一运行
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
N |
Y |
项目活动EA A2.5被识别为产生已选择成果O2的活动。在步骤4.1的第一运行完结时,显示上述的节点处理表的状态。
规程4.1把当前节点的消除指针调整到“Y”,因为由当前节点识别的项目活动产生为消除而选择的成果。跟随规程4.2的第一运行
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
N |
Y |
2 |
EA A2.4 |
N |
N |
N |
规程4.2根据项目活动依赖把EA A2.4识别为当前节点(EAA2.5)的一个前任,并且把反映该识别的一个条目插入节点处理表中。跟随规程4.3的第一运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
N |
N |
规程4.3把节点处理表中的当前节点的已处理指针的值调整到“Y”。跟随规程4.4的第一运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
N |
N |
规程4.4选择节点处理表中的下一个未处理节点(所选择的节点被显示为节点处理表中的阴影行)。该行动使节点EA A2.4成为“当前”节点。跟随规程4.1的第二运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
N |
Y |
规程4.1把当前节点的消除指针调整到“Y”,因为由当前节点识别的项目活动不产生一个成果,并且在项目WBS/作业流程中没有任何中间继承者,即,在节点处理表中没有被标注为消除的中间继承者(EA A2.5是其仅有的继承者,并且在节点处理表中已经为消除而标注了EA A2.5)。跟随规程4.2的第二运行:
样品节点处理表114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
N |
Y |
3 |
EA A2.3 |
N |
N |
N |
规程4.2根据项目活动依赖把EA A2.3识别为当前节点(EAA2.4)的一个前任,并且把反映该识别的一个条目插入节点处理表中。跟随规程4.3的第二运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
Y |
Y |
3 |
EA A2.3 |
N |
N |
N |
规程4.3把节点处理表中的当前节点的已处理指针的值调整到“Y”。跟随规程4.4的第二运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
Y |
Y |
3 |
EA A2.3 |
N |
N |
N |
规程4.4选择节点处理表中的下一个未处理节点(阴影行)。这样,EA A2.3成为当前节点。跟随规程4.1的第三运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
Y |
Y |
3 |
EA A2.3 |
N |
N |
Y |
规程4.1把消除指针调整到“Y”,因为由当前节点识别的项目活动没有产生一个成果。它在项目WBS/作业流程中没有任何中间继承者,在节点处理表中没有被标注为消除的中间继承者。EA A2.4是其仅有的继承者,并且已经被标注为消除。跟随规程4.2的第三运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
Y |
Y |
3 |
EA A2.3 |
N |
N |
Y |
4 |
EA A1.3 |
N |
N |
N |
规程4.2根据项目活动依赖把EA A1.3识别为当前节点(EAA2.3)的一个前任,因而把一个条目插入节点处理表中。跟随规程4.3的第三运行:
节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
Y |
Y |
3 |
EA A2.3 |
N |
Y |
Y |
4 |
EA A1.3 |
N |
N |
N |
规程4.3把节点处理表中当前节点的已处理指针的值调整到“Y”。跟随规程4.4的第三运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
Y |
Y |
3 |
EA A2.3 |
N |
Y |
Y |
4 |
EA A1.3 |
N |
N |
N |
规程4.4选择使EA A1.3是当前节点的下一个未处理的节点(阴影)。跟随规程4.1的第四运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
Y |
Y |
3 |
EA A2.3 |
N |
Y |
Y |
4 |
EA A1.3 |
N |
N |
N |
规程4.1不把用于当前节点的消除指针调整到“Y”,因为由当前节点识别的项目活动具有在节点处理表中没有被标注为消除的项目WBS/作业流程中的中间继承者(即,EA A2.1和EA A2.2)。跟随规程4.2的第四运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
Y |
Y |
3 |
EA A2.3 |
N |
Y |
Y |
4 |
EA A1.3 |
N |
N |
N |
规程4.2没有把条目插入到用于EA A1.3前任的节点消除表中,因为EA A1.3没有被标注为消除。跟随规程4.3的第四运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
Y |
Y |
3 |
EA A2.3 |
N |
Y |
Y |
4 |
EA A1.3 |
N |
Y |
N |
规程4.3把节点处理表中的当前节点的已处理指针的值调整到“Y”。跟随规程4.4的第四运行:
样品节点处理表-114
条目序列# |
节点ID |
成组指针 |
处理指针 |
消除指针 |
1 |
EA A2.5 |
N |
Y |
Y |
2 |
EA A2.4 |
N |
Y |
Y |
3 |
EA A2.3 |
N |
Y |
Y |
4 |
EA A1.3 |
N |
Y |
N |
规程4.4确定节点处理表中没有剩余的未处理节点。该状态造成规程4的迭代的终止。处理继续进行被标注为消除的节点的删除规程5。参见图7b。
尽管已经详细说明了本发明和本发明的优点,但是应当明白,在不背离所附权利要求定义的本发明的精神和范围的条件下可以进行各种变化、替换和替代。而且,本申请的范围不限于所述的处理、机器、制造、事件的组成、装置、方法和步骤的特定实施例。本领域的普通技术人员将会从本发明的公开中容易地察觉现有的或者以后开发的处理、机器、制造、事件组成、装置、方法或步骤,它们基本上执行本发明可以利用的所述相应实施例的相同的功能或者基本上实现其相同的结果。所以,所附权利要求的用意是把这样的处理、机器、制造、事件的组成、装置、方法和步骤包含在其范围之内。