用于进行变更请求的影响分析的方法和装置制造方法

文档序号:6509675阅读:154来源:国知局
用于进行变更请求的影响分析的方法和装置制造方法
【专利摘要】本发明的各实施方式提供了一种用于进行变更请求的影响分析的方法和装置。该方法包括:基于变更请求库、工件的依赖关系网络以及任务-工件映射库,识别潜在地受目标项目上的变更请求影响的工件和任务;基于所述变更请求与所识别出的工件和任务之间的关联、以及项目状态跟踪库,确定针对所识别出的任务进行影响分析的优先级;以及按照所确定的优先级分析所述变更请求对所识别出的任务的影响。采用本发明的各个实施方式所述的技术方案,可以在接受目标项目上的变更请求之前,分析和评估该变更请求对目标项目的关联项目的任务可能造成的影响,从而提高项目变更管理的效率和效力。
【专利说明】用于进行变更请求的影响分析的方法和装置

【技术领域】
[0001]本发明的实施方式涉及信息技术,更具体地涉及用于进行变更请求的影响分析的方法和装置。

【背景技术】
[0002]现代企业通常是由若干个IT系统支撑的,例如人力资源管理系统、邮件系统、业务运行系统等。若干个IT系统是由若干个相互依赖的应用支撑的。为了进行业务创新、技术革新、缺陷修正等,需要基于所述若干个相互依赖的应用来运行数以百计的项目。由于若干个应用之间存在相互依赖关系,因此基于这些应用而运行的多个项目之间也存在着关联。因而,对某个或者某些项目实施的变更可能对与之关联的项目带来影响。然而,目标项目上实施的变更对与之关联的项目带来影响有时并不能被及时地检测到,从而导致关联的项目无法按期交付等后果。
[0003]通常情况下,项目管理者在向目标项目分配变更请求前会谨慎地分析该变更请求对目标项目的影响,却因项目之间存在复杂的关联性而无法准确地分析和评估目标项目上的变更对关联项目造成的影响。因此,如何在接受对目标项目的变更请求之前,分析和评估该变更请求对目标项目的关联项目可能造成的影响成为项目管理领域中亟待解决的问题。


【发明内容】

[0004]因而,本发明的实施方式提供了一种用于进行变更请求的影响分析的方法和装置,以解决或者至少部分地缓解现有技术中存在的上述问题
[0005]在第一方面中,本发明的实施方式提供了一种用于进行变更请求的影响分析的方法。该方法包括:基于变更请求库、工件的依赖关系网络以及任务-工件映射库,识别潜在地受对目标项目的变更请求影响的工件和任务;基于所述变更请求与所识别出的工件和任务之间的关联、以及项目状态跟踪库,确定针对所识别出的任务进行影响分析的优先级;以及按照所确定的优先级分析所述变更请求对所识别出的任务的影响。
[0006]在一个示例性实施方式中,按照所确定的优先级分析所述变更请求对所识别出的任务的影响包括:基于对具有较高优先级的任务的分析结果来对具有较低优先级的任务进行影响分析。
[0007]在一个示例性实施方式中,识别潜在地受对目标项目的变更请求影响的工件和任务至少包括:步骤a:基于所述变更请求库,识别对所述目标项目的变更请求所直接作用的工件集合;步骤b:基于所述任务-工件映射库,识别与所述工件集合相关联的任务集合;以及步骤c:基于所述任务-工件映射库,识别与所述任务集合相关联的工件集合。
[0008]在一个示例性实施方式中,迭代地执行所述步骤b和所述步骤c。
[0009]在一个示例性实施方式中,确定针对所识别出的任务进行影响分析的优先级包括:对所述目标项目的变更请求所直接作用的所述工件集合赋予最高优先级。
[0010]在一个示例性实施方式中,所述方法进一步包括:基于所述变更请求库和所述工件的依赖关系网络,识别分别直接作用在多个工件上的多个变更请求之间的相关性;以及基于所述多个变更请求之间的相关性,估计实施由所述多个变更请求指示的变更所需的工作量。
[0011]在一个示例性实施方式中,基于所述多个变更请求之间的相关性,估计实施由所述多个变更请求指示的变更所需的工作量包括:基于所述多个变更请求之间的相关性,确定针对每个所述变更请求进行工作量估计的优先级;以及针对每个所述变更请求,按照所确定的优先级估计实施由所述变更请求指示的变更所需的工作量。
[0012]在一个示例性实施方式中,针对每个所述变更请求,按照所确定的优先级估计实施由所述变更请求指示的变更所需的工作量包括:基于对具有较高优先级的变更请求的工作量估计结果来对具有较低优先级的变更请求进行工作量估计。
[0013]在第二方面中,本发明的实施方式提供了一种用于进行变更请求的影响分析的装置。该装置包括:第一识别模块,被配置为基于变更请求库、工件的依赖关系网络以及任务-工件映射库,识别潜在地受对目标项目的变更请求影响的工件和任务;优先级确定模块,被配置为基于所述变更请求与所识别出的工件和任务之间的关联、以及项目状态跟踪库,确定针对所识别出的任务进行影响分析的优先级;以及影响分析模块,被配置为按照所确定的优先级分析所述变更请求对所识别出的任务的影响。
[0014]采用本发明的各个实施方式所述的技术方案,可以在接受对目标项目的变更请求之前,分析和评估该变更请求对目标项目的关联项目的任务可能造成的影响,从而提高项目变更管理的效率和效力。

【专利附图】

【附图说明】
[0015]结合附图并参考以下详细说明,本发明各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施方式。在附图中:
[0016]图1示意性示出了适于实现本发明实施方式的示例性计算系统的框图;
[0017]图2示意性示出了根据本发明一个实施方式的用于进行变更请求的影响分析的方法的流程图;
[0018]图3示意性示出了影响传播模型的一个具体示例;
[0019]图4示意性地示出了对图3所示的影响传播模型进行遍历的流程;
[0020]图5示意性示出了执行图4所示的遍历过程的一个示例性结果;
[0021]图6示意性示出了来自于一个具体应用场景的影响传播模型遍历结果;
[0022]图7示意性地示出了确定针对所识别出的任务进行影响分析的顺序的流程图;
[0023]图8示意性示出了执行图7所示过程的结果;
[0024]图9示意性地示出了针对图5中的任务节点生成的影响分析的上下文;
[0025]图10示意性地示出了根据本发明一个实施方式的第一图形用户界面;
[0026]图11示意性地示出了根据本发明一个实施方式的第二图形用户界面的屏幕截图;
[0027]图12示出了基于变更请求库和工件的依赖关系网络获得的变更请求-应用映射图的示意性表示;
[0028]图13a至13e示意性地示出了两个变更请求之间的相关点;
[0029]图14示意性地示出了根据本发明一个实施方式构建的变更请求相关网络;
[0030]图15示意性地示出了根据本发明一个实施方式定义的协作的上下文;以及
[0031]图16示意性示出了根据本发明一个实施方式的用于进行变更请求的影响分析的装置的框图。

【具体实施方式】
[0032]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0033]所属【技术领域】的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0034]可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0035]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一但不限于一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0036]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0037]可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0038]下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0039]也可以把这些计算机程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruct1nmeans)的制造品(manufacture)。
[0040]也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0041]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0042]如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0043]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0044]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0045]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM) 30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0046]具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括一但不限于一操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0047]计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其他模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0048]图2示意性示出了根据本发明一个实施方式的用于进行变更请求的影响分析的方法的流程图。如图2所示,在步骤S201中,基于变更请求库、工件的依赖关系网络以及任务-工件映射库,识别潜在地受对目标项目的变更请求影响的工件和任务。应当理解,在本文中,“潜在地受对目标项目的变更请求影响的工件和任务”是指一旦接受对目标项目的变更请求,则实施由该变更请求指示的变更将会影响的工件和任务。
[0049]在一个实施方式中,识别潜在地受对目标项目的变更请求影响的工件和任务包括:基于变更请求库、工件的依赖关系网络、以及任务-工件映射库创建影响传播模型,遍历该影响传播模型以识别出潜在地受对目标项目的变更请求影响的工件和任务。
[0050]在一个具体示例中,影响传播模型为利用统一建模语言(Unified ModelingLanguage, UML)创建的类图,如图3所示。在图3所示的类图中包括五个类:变更请求(ChangeRequest)类 301、应用工件(APPLICAT1N ARTIFACT)类 302、应用的依赖关系类(APP_DEPENDENCY)303、与应用关联的任务类(TASK) 304、任务的依赖关系类(TASK_DEPENDENCY)305。
[0051]图4示意性地示出了对图3所示的影响传播模型进行遍历的流程。首先,在步骤S401中,从变更请求(CR)节点开始遍历。在步骤S402中,按照如图3中的箭头311所示的CR->APP(CA)路径进行遍历,以识别出变更请求所直接作用的第一应用集合。在步骤S403中,按照如图3中的箭头312和313所示的APP- > APP (AA)路径进行遍历,以识别出依赖于第一应用集合的第二应用集合。在步骤S404中,按照如图3中的箭头314所示的APP- >TASK (AT)路径进行遍历,以识别出分别与第一应用集合和第二应用集合关联的第一任务集合和第二任务集合。在步骤S405中,按照如图3中的箭头315和316所示的TASK- >TASK(TT)路径进行遍历,以识别出分别与第一任务集合和第二任务集合关联的第三任务集合和第四任务集合。在步骤S406中,按照如图3中的箭头317所示的TASK- > APP (ΤΑ)路径进行遍历,以识别出分别与第三任务集合和第四任务集合关联的第三应用集合和第四应用集合。之后返回到步骤S403,以迭代的方式继续执行步骤S403-S406,直到没有新的节点被发现,从而结束该遍历过程(步骤S407)。由此,将通过上述遍历过程识别出的所有应用集合和所有任务集合作为潜在地受对目标项目的变更请求影响的工件和任务。
[0052]图5示出了执行图4所示的遍历过程的一个示例性结果。该遍历结果表明了变更请求与所识别出的应用和任务之间的关联。应当注意,图5中带箭头的实线表示源节点影响目标节点。节点CR501示例性地表示针对目标项目提出的一个变更请求。节点ΑΡΡ502和APP506示例性地表示CR501所直接作用的应用。节点TASK504示例性地表示与APP506关联的任务。节点APP507示例性地表示依赖于APP502的应用。节点TASK503示例性地表示与APP507关联的任务。节点TASK505示例性地表示与TASK503关联的任务。节点APP509示例性地表示与TASK503关联的应用。节点APP508示例性地表示依赖于APP509的应用。节点TASK510示例性地表示与APP508关联的任务。
[0053]图6示出了来自于一个具体应用场景的影响传播模型遍历结果。图6与图5具有完全相同的拓扑结构,其中的节点601-610分别对应于图5中的节点501-510,二者间的区别仅在于在图6中为每个节点赋予了具体的语义。
[0054]返回到图2,在步骤S202中,基于变更请求与所识别出的工件和任务之间的关联、以及项目状态跟踪库,确定针对所识别出的任务进行影响分析的优先级。如本领域技术人员所了解的,项目状态跟踪库被配置成维护项目中所有任务的状态,例如有问题(introuble)、警告(warning)、正常(healthy)等。在一个实施方式中,基于变更请求与所识别出的工件和任务之间的关联、以及项目状态跟踪库,确定针对所识别出的任务进行影响分析的优先级包括基于来自项目状态跟踪库的任务状态,计算变更请求对所识别出的每个任务的第一影响概率和第一影响程度。计算第一影响概率和第一影响程度可以由系统按照预定的方式自动地进行。因此,所计算出的第一影响概率和第一影响程度可以分别作为影响概率和影响程度的系统评估值。基于来自项目状态跟踪库的任务状态来计算变更请求对所识别出的每个任务的第一影响概率和第一影响程度的过程可以按照本领域技术人员公知的方式进行,因而在此不再赘述。当针对所识别出的某个任务计算出的第一影响概率和第一影响程度均低于预先设定的阈值时,可以对该任务赋予最低优先级。
[0055]在下文中,将参照图5和图7详细描述如何基于变更请求与所识别出的工件和任务之间的关联、以及项目状态跟踪库,确定针对所识别出的任务进行影响分析的优先级。
[0056]如前所述,图5所示的影响传播模型的遍历结果表明了在目标项目上提出的变更请求与所识别出的潜在地受该变更请求影响的应用和任务之间的关联。图7示意性地示出了从图5所示的关联图确定针对所识别出的任务进行影响分析的顺序(即优先级)的流程图。应当理解,图7所示的过程为迭代过程。在第一次迭代过程中,在步骤S701中,从CR节点开始,仅经由APP节点,识别所有可达的TASK节点。在这里,所识别的节点为图5中的节点TASK504。然后,可选地,在步骤S702中,评估由CR引起的每个识别出的TASK节点的调度风险的概率和严重程度。在步骤S703中,判断是否已评估了识别出的所有TASK节点。如果判断结果为是,则该过程结束;否则进行步骤S704,以执行第二次迭代过程。在步骤S704中,从已评估的TASK节点开始,经由一条有向路径,识别所有未评估的TASK节点。在这里,所识别的节点为图5中的节点TASK503。接下来在步骤S705中,计算实施由CR指示的变更对每个识别出的TASK节点的影响概率和影响程度(即第一影响概率和第一影响程度)。之后返回到步骤S703,以执行第三次迭代过程。在第三次迭代过程结束之后继续执行第四次迭代过程。在第四次迭代过程结束之后,整个流程结束。如此,经过第一次、第二次、第三次和第四次迭代过程分别识别出将要针对其进行变更请求的影响分析的TASK504、TASK503、TASK505和TASK510,如图8所示。因此,可以按照识别的先后顺序为TASK504、TASK503、TASK505 和 TASK510 确定进行影响分析的优先级,即对 TASK504、TASK503、TASK505和TASK510依次赋予由高到低的优先级。
[0057]返回到图2,在步骤S203中,按照所确定的优先级分析变更请求对所识别出的任务的影响。在一个实施方式中,按照所确定的优先级分析变更请求对所识别出的任务的影响包括计算变更请求对所识别出的任务的第二影响概率和第二影响程度,以分别作为影响概率和影响程度的实际值。
[0058]在一个实施方式中,按照所确定的优先级分析变更请求对所识别出的任务的影响还包括针对所识别出的每个任务生成影响分析上下文,以及基于所生成的影响分析上下文对所识别出的任务进行影响分析。具体而言,以图5所示的变更请求与所识别出的潜在地受该变更请求影响的应用和任务之间的关联图为例,生成影响分析上下文包括针对所识别出的每个任务(待分析的任务),从图5所示的关联图生成原始关联子图,该原始关联子图中包括从CR节点到待分析的任务节点的所有有向路径。优选地,为了简化影响分析过程,可以对原始关联子图(影响分析上下文)进行优化,以获得优化的关联子图。例如,将较低优先级的任务的原始关联子图与较高优先级的任务的原始关联子图进行比较,以找到二者之间相同的有向路径片段,然后去除该相同的有向路径片段上的APP节点和CR节点、而保留TASK节点,从而获得较低优先级的任务的优化的影响分析上下文。
[0059]图9示意性地示出了针对图5中的TASK504、TASK503、TASK505和TASK510生成的优化的影响分析上下文。图9的左上角示出了针对TASK504生成的原始影响分析上下文,其中从节点CR501到TASK504仅存在一条有向路径,即CR501 — APP506 — TASK504。如前所述,由于TASK504被赋予最高优先级,因此无需对TASK504的原始影响分析上下文进行优化。图9的右上角示出了针对TASK503生成的优化的影响分析上下文。TASK503的原始影响分析上下文(未示出)包括从节点CR501到TASK503的三条有向路径,即P1:CR501 — APP502 — APP507 — TASK503,P2:CR501 — APP507 — TASK503,P3:CR501 — APP506 — TASK504 — APP507 — TASK503。由于在对TASK503进行影响分析之前已经基于TASK504的影响分析上下文对TASK504进行了影响分析,而在对TASK504的影响分析过程中分析了直接作用在节点APP506上的CR501对与APP506关联的任务TASK504的影响,因此为了简化随后对TASK503的影响分析过程,将TASK503的原始影响分析上下文与TASK504的原始影响分析上下文进行比较,从而找到相同的有向路径片段CR501 — APP506 — TASK504,去除该相同的有向路径片段上的节点CR501和APP506,而保留任务节点TASK504,使得在对TASK503进行影响分析时无需重复分析CR501经APP506对TASK504的影响,而直接利用先前对TASK504的影响分析结果即可。图9的左下角示出了针对TASK505生成的优化的影响分析上下文。TASK505的原始影响分析上下文(未示出)包括三条有向路径,即P4:CR501—APP502 — APP507 — TASK503 — TASK505,P5:CR501 — APP506 — TASK504 — APP507 — TASK505,P6:CR501 — APP506 — TASK504 — TASK505。由于TASK505的原始影响分析上下文中的有向路径 P4(CR501 — APP502 — APP507 — TASK503 — TASK505)与 TASK503 的原始影响分析上下文中的有向路径P1(CR501 — APP502 — APP507 — TASK503)具有相同的路径片段CR501 — APP502 — APP507 — TASK503,因此从有向路径P4的该相同的路径片段中去除节点CR501、APP502和APP507,从而得到有向路径P4的优化路径P4’:TASK503 — TASK505。以同样的方式,可以分别得到有向路径P5的优化路径P5’:TASK504 — APP507 — TASK505、以及有向路径P6的优化路径P6’:TASK504 — TASK505。从而,利用优化路径P4’、P5’和P6’可以得到图9左下角所示的TASK505的优化的影响分析上下文。以同样的方式,可以得到图9右下角所示的针对TASK510生成的优化的影响分析上下文。
[0060]在一个实施方式中,生成影响分析上下文包括:基于对具有较高优先级的任务的影响分析结果来生成针对具有较低优先级的任务的影响分析上下文。就这一点而言,图9示出的是针对TASK503、TASK505和TASK510生成的优化的影响分析上下文的全集。然而,在实际操作中,针对TASK503、TASK505和TASK510生成的影响分析上下文可以是图9所示全集的子集。以针对TASK503的影响分析上下文为例,如果经分析确定接受CR501对TASK504不会带来影响或者所带来的影响在可接受范围内,则针对TASK503的影响分析上下文可以不包括从TASK504到APP507的路径。
[0061]在一个实施方式中,用于进行变更请求的影响分析的方法还包括按照所确定的优先级以及所生成的影响分析上下文,生成第一图形用户界面,该第一图形用户界面可操作以允许用户触发对任务的影响分析。图10示意性地示出了第一图形用户界面的一个示例。在图10所示的图形用户界面上示出了四个影响分析项1001、1002、1003和1004,影响分析项1001、1002、1003和1004分别与图9中的待分析任务TASK504、TASK503、TASK505和TASK510对应。影响分析项1001、1002、1003和1004如箭头所示依序排列,表明TASK504的影响分析需先于TASK503而发生,TASK503的影响分析需先于TASK505而发生,以此类推。当例如需要针对TASK503进行影响分析时,用户可以选中相应的影响分析项1003,然后单击鼠标右键,将会弹出一个菜单,用户可以从菜单中选择“发送通知”选项,以触发对TASK503的影响分析。
[0062]在一个实施方式中,可以采用不同的颜色或者灰度来显示与已分析的任务对应的影响分析项和与尚未分析的任务对应的影响分析项。例如,为了触发对任务TASK503的影响分析已经点击了影响分析项1001和1002,而尚未点击影响分析项1003和1004,则以较深的灰度来显示影响分析项1001和1002,而以较浅的灰度来显示影响分析项1003和1004。
[0063]在一个实施方式中,用于进行变更请求的影响分析的方法还包括响应于用户的触发,基于生成的影响分析上下文向影响分析上下文所涉及的主体发送通知,使得所涉及的主体能够响应于该通知而一起分析目标项目上的变更请求对待分析任务的影响。例如,对于图9中所示的TASK503的影响分析上下文而言,由于TASK503与APP502、APP507以及TASK504 相关联,因此需要向 APP502 和 APP507 的主题专家(Subject Matter Expert, SME)以及TASK504的所有者(owner)发送通知,以使得他们能够一起针对TASK503进行影响分析。
[0064]在一个实施方式中,响应于用户的触发,基于生成的影响分析上下文向影响分析上下文所涉及的主体发送通知包括生成第二图形用户界面,该第二图形用户界面可操作以呈现影响分析相关项。所述影响分析相关项包括但不限于:影响分析的开始和结束时间、影响分析的参与者列表(包括必须参与者列表和可选参与者列表)、影响分析的地点、影响分析上下文、影响分析向导(Impact Analysis Wizard)的url。图11示意性地示出了第二图形用户界面的屏幕截图。该第二图形用户界面例如可以与邮件系统相关联。图11所示的第二图形用户界面中呈现了影响分析的开始时间1101和结束时间1102、影响分析的必须参与者列表1103和可选参与者列表1104、影响分析的地点1105、作为附件的影响分析上下文1106和影响分析向导的url 1107。该第二图形用户界面还可操作以允许用户定义上述影响分析相关项。
[0065]在一个实施方式中,第二图形用户界面可以响应于用户在所述第一图形用户界面上的操作而生成。例如,图11所示的第二图形用户界面响应于用户在图10所示的第一图形用户界面上选中影响分析项1003并从弹出菜单中选择“发送通知”选项而生成。
[0066]在一个实施方式中,影响分析向导被配置为记录影响分析的结果,例如包括如前所述的第二影响概率和第二影响程度,以便基于对具有较高优先级的任务的分析结果来对具有较低优先级的任务进行影响分析。
[0067]应当理解,尽管在上文中以利用UML语言创建的影响传播模型为例描述了识别潜在地受目标项目上的变更请求影响的工件和任务的过程,但是本发明的方法的实施并不局限于任何特定的影响传播模型。
[0068]在一个实施方式中,根据本发明的用于进行变更请求的影响分析的方法进一步包括:基于变更请求库和工件的依赖关系网络,识别分别直接作用在多个工件上的多个变更请求之间的相关性;以及基于多个变更请求之间的相关性,估计实施由变更请求指示的变更所需的工作量。在下文中,将参照图12至16来详细描述本发明的该实施方式。
[0069]图12示出了基于变更请求库和工件的依赖关系网络获得的变更请求-应用映射图的示意性表示。在图12中示出了相互之间具有依赖关系的应用101-109。变更请求(CR)与相应的应用之间的粗实线表示变更请求直接作用在相应的应用上。例如,变更请求CR1、CR2、CR3、CR4和CR5分别直接作用在应用101、102、107、105和109上。任意两个应用之间带箭头的实线表示源应用依赖于目标应用。例如,应用101依赖于应用106、应用103依赖于应用101,等等。
[0070]下面将详细描述如何从图12所示的变更请求-应用映射图识别分别直接作用在应用101、102、107、105和109上的变更请求CR1、CR2、CR3、CR4和CR5之间的相关性。首先,对于每一对CR,基于应用的依赖关系网络识别它们之间的有向路径。然后,去除涉及到直接受该对CR之外的CR影响的应用的路径。接下来,对于CR对之间的每条保留的路径,将该路径上的节点识别为一对CR之间的相关点。图13a至13e分别示出了 CR1与CR2之间、CR2与CR3之间、CR1与CR3之间、CR4与CR5之间以及CR3与CR5之间的相关点。此夕卜,在图13a至13e中采用带箭头的虚线来表示CR之间的相关性。例如,图13a中带双向箭头的虚线表示对实施由CR1指示的变更所需的工作量的估计依赖于对实施由CR2指示的变更所需的工作量的估计,对实施由CR2指示的变更所需的工作量的估计同样依赖于对实施由CR1指示的变更所需的工作量的估计。又例如,图13b中带单向箭头的虚线表示对实施由CR2指示的变更所需的工作量的估计依赖于对实施由CR3指示的变更所需的工作量的估计。
[0071]在识别出如图13a至13e所示的一对CR之间的相关性之后,可以由此构建CR1至CR5之间的相关网络,如图14所示。
[0072]之后,可以对如图14所示的相关网络进行聚合,以产生协作主题。具体而言,首先,识别相关网络中的环,例如由CR1和CR2构成的环。然后,采用一个超级节点来代替所识别出的环。接下来,针对每个节点及其直接的子节点,构建协作主题。最后,针对每个超级节点构建一个协作主题。
[0073]随后,可以对所构建的协作主题进行排序,定义协作的参与者、参与者应扮演的角色(例如,协作的发起者或普通参与者)、参与者的任务(例如,触发讨论、分享信息、提出意见等)、以及定义协作的上下文,如图15所示。
[0074]根据本发明的该实施方式,通过基于变更请求库和应用的依赖关系网络来识别分别直接作用在多个应用上的多个变更请求之间的相关性,基于多个变更请求之间的相关性,估计实施由变更请求指示的变更所需的工作量,由此提高了针对多个具有相关性的变更请求进行工作量估计的准确性。
[0075]本发明的实施方式还提供了一种用于进行变更请求的影响分析的装置。图16示意性示出了根据本发明一个实施方式的用于进行变更请求的影响分析的装置的框图。如图16所示,该装置包括:第一识别模块1601,被配置为基于变更请求库、工件的依赖关系网络以及任务-工件映射库,识别潜在地受对目标项目的变更请求影响的工件和任务;优先级确定模块1602,被配置为基于所述变更请求与所识别出的工件和任务之间的关联、以及项目状态跟踪库,确定针对所识别出的任务进行影响分析的优先级;以及影响分析模块1603,被配置为按照所确定的优先级分析所述变更请求对所识别出的任务的影响。
[0076]在一个示例性实施方式中,影响分析模块1603进一步被配置为基于对具有较高优先级的任务的分析结果来对具有较低优先级的任务进行影响分析。
[0077]在一个示例性实施方式中,第一识别模块1601至少包括:第一识别单元,被配置为基于所述变更请求库,识别所述目标项目上的变更请求所直接作用的第一工件集合;第二识别单元,被配置为基于所述任务-工件映射库,识别与所述第一工件集合相关联的第一任务集合;以及第三识别单元,被配置为基于所述任务-工件映射库,识别与所述第一任务集合相关联的第二工件集合。
[0078]在一个示例性实施方式中,优先级确定模块1602进一步被配置为对所述第一任务集合赋予最高优先级。
[0079]在一个示例性实施方式中,所述装置进一步包括:第二识别模块,被配置为基于所述变更请求库和所述工件的依赖关系网络,识别分别直接作用在多个工件上的多个变更请求之间的相关性;以及估计模块,被配置为基于所述多个变更请求之间的相关性,估计实施由所述多个变更请求指示的变更所需的工作量。
[0080]在一个示例性实施方式中,所述估计模块包括:优先级确定单元,被配置为基于所述多个变更请求之间的相关性,确定针对每个所述变更请求进行工作量估计的优先级;以及工作量估计单元,被配置为针对每个所述变更请求,按照所确定的优先级估计实施由所述变更请求指示的变更所需的工作量。
[0081]在一个示例性实施方式中,所述工作量估计单元进一步被配置为基于对具有较高优先级的变更请求的工作量估计结果来对具有较低优先级的变更请求进行工作量估计。
[0082]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0083]以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本【技术领域】的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本【技术领域】的其它普通技术人员能理解本文披露的各实施例。
【权利要求】
1.一种用于进行变更请求的影响分析的方法,包括: 基于变更请求库、工件的依赖关系网络以及任务-工件映射库,识别潜在地受对目标项目的变更请求影响的工件和任务; 基于所述变更请求与所识别出的工件和任务之间的关联、以及项目状态跟踪库,确定针对所识别出的任务进行影响分析的优先级;以及 按照所确定的优先级分析所述变更请求对所识别出的任务的影响。
2.根据权利要求1所述的方法,其中按照所确定的优先级分析所述变更请求对所识别出的任务的影响包括:基于对具有较高优先级的任务的分析结果来对具有较低优先级的任务进行影响分析。
3.根据权利要求1或2所述的方法,其中识别潜在地受对目标项目的变更请求影响的工件和任务至少包括: 步骤a:基于所述变更请求库,识别对所述目标项目的变更请求所直接作用的第一工件集合; 步骤b:基于所述任务-工件映射库,识别与所述第一工件集合相关联的第一任务集合;以及 步骤c:基于所述任务-工件映射库,识别与所述第一任务集合相关联的第二工件集口 ο
4.根据权利要求3所述的方法,其中迭代地执行所述步骤b和所述步骤C。
5.根据权利要求4所述的方法,其中确定针对所识别出的任务进行影响分析的优先级包括:对所述第一任务集合赋予最高优先级。
6.根据权利要求1所述的方法,进一步包括: 基于所述变更请求库和所述工件的依赖关系网络,识别分别直接作用在多个工件上的多个变更请求之间的相关性;以及 基于所述多个变更请求之间的相关性,估计实施由所述多个变更请求指示的变更所需的工作量。
7.根据权利要求6所述的方法,其中基于所述多个变更请求之间的相关性,估计实施由所述多个变更请求指示的变更所需的工作量包括: 基于所述多个变更请求之间的相关性,确定针对每个所述变更请求进行工作量估计的优先级;以及 针对每个所述变更请求,按照所确定的优先级估计实施由所述变更请求指示的变更所需的工作量。
8.根据权利要求7所述的方法,其中针对每个所述变更请求,按照所确定的优先级估计实施由所述变更请求指示的变更所需的工作量包括:基于对具有较高优先级的变更请求的工作量估计结果来对具有较低优先级的变更请求进行工作量估计。
9.一种用于进行变更请求的影响分析的装置,包括: 第一识别模块,被配置为基于变更请求库、工件的依赖关系网络以及任务-工件映射库,识别潜在地受对目标项目的变更请求影响的工件和任务; 优先级确定模块,被配置为基于所述变更请求与所识别出的工件和任务之间的关联、以及项目状态跟踪库,确定针对所识别出的任务进行影响分析的优先级;以及 影响分析模块,被配置为按照所确定的优先级分析所述变更请求对所识别出的任务的影响。
10.根据权利要求9所述的装置,其中所述影响分析模块进一步被配置为基于对具有较高优先级的任务的分析结果来对具有较低优先级的任务进行影响分析。
11.根据权利要求9或10所述的装置,其中所述第一识别模块至少包括: 第一识别单元,被配置为基于所述变更请求库,识别对所述目标项目的变更请求所直接作用的第一工件集合; 第二识别单元,被配置为基于所述任务-工件映射库,识别与所述第一工件集合相关联的第一任务集合;以及 第三识别单元,被配置为基于所述任务-工件映射库,识别与所述第一任务集合相关联的第二工件集合。
12.根据权利要求11所述的装置,其中所述优先级确定模块进一步被配置为对所述第一任务集合赋予最高优先级。
13.根据权利要求9所述的装置,进一步包括: 第二识别模块,被配置为基于所述变更请求库和所述工件的依赖关系网络,识别分别直接作用在多个工件上的多个变更请求之间的相关性;以及 估计模块,被配置为基于所述多个变更请求之间的相关性,估计实施由所述多个变更请求指示的变更所需的工作量。
14.根据权利要求13所述的装置,其中所述估计模块包括: 优先级确定单元,被配置为基于所述多个变更请求之间的相关性,确定针对每个所述变更请求进行工作量估计的优先级;以及 工作量估计单元,被配置为针对每个所述变更请求,按照所确定的优先级估计实施由所述变更请求指示的变更所需的工作量。
15.根据权利要求14所述的装置,其中所述工作量估计单元进一步被配置为基于对具有较高优先级的变更请求的工作量估计结果来对具有较低优先级的变更请求进行工作量估计。
【文档编号】G06Q10/06GK104424285SQ201310389314
【公开日】2015年3月18日 申请日期:2013年8月30日 优先权日:2013年8月30日
【发明者】C·科齐, J·罗宾逊, S·M·卡根, 周欣, 党亚斌, 李峰, 陈昊, 李少春, H·M·赫斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1