软件跟踪能力管理方法和装置的制作方法

文档序号:6562757阅读:143来源:国知局
专利名称:软件跟踪能力管理方法和装置的制作方法
技术领域
本发明涉及计算机系统,并且更具体地涉及软件跟踪能力管理方法和装置。
背景技术
软件开发通常作为团队项目来进行。通过设计工作、测试工作、实现工作以及维护工作来开发目标软件系统(subject software system)。可以有不同的组和不同的组成员参与到这些工作的每一项之中。贯穿于这些工作并且在工作组成员中,为了在开发目标软件系统中增强的通信和一致性而使用各种建模以及其它的开发工具。软件跟踪能力管理系统便是一种这样的工具。
在修改软件开发制品(artifact)的时候,为了使目标系统保持一致,开发者希望知道需要修改哪些其它的制品。“制品”是用户所做工作的持久性结果,例如模型和源代码,通常存留于文件系统中。能够在改变制品以前进行影响分析已是多年来在软件开发中长期的(但却难以捉摸的)需求。主要问题之一是管理对软件/系统需求的改变。在没有能力进行影响分析的情况下,作为开发过程的一部分所产生的制品便疏远(drift apart)并且变得不一致。这导致了对需求的误解、浪费的时间、调度失误以及不一致。简而言之,无法管理改变导致了更高的开发成本。
举例来说,当通过依赖跟踪能力关系(dependency traceabilityrelationship)连接两个软件制品的时候,为了维持该关系的语义,对第一制品的改变可能需要对第二制品的改变。这些依赖跟踪能力关系是用于确定影响分析,即确定在对一组指定的制品改变之后需要更新哪些其它的制品的基本机制。
常规的解决方案尝试使用手动创建的和维持的跟踪能力链接来解决问题。由于制品类型的种类跨领域例如,需求是人类可读的而代码却是以正式技术语言来书写,因此链接是手动的。复杂的软件系统即使没有数千的、也有数百的需求,并且在制品类型之间存在多个到多个的关系需求、需要、设计、测试、代码等。
过去对创建和维持跟踪能力关系的尝试失败是因为对开发小组的成本超过了利益。维持跟踪能力链接甚至对于相对小的开发工作来说都是艰巨的任务,并且这也是现有的跟踪能力解决方案失败的主要原因之一。有许多报道证明了这一问题以及解决该问题的困难。

发明内容
本发明解决了现有技术的问题并且提供了基于活动的跟踪能力管理。本发明的跟踪能力管理系统包括计算机实现的以下步骤指定目标软件程序,为所述程序的每个制品提供各自的历史记录;在所述各自的历史记录中记录对所述目标软件程序的一组制品同时进行的改变;在对所述制品进行改变期间,从所述各自的历史记录确定相关的制品;以及将所确定的相关制品的指示显示为影响分析结果。


根据下面对本发明的优选实施例更为具体的描述,本发明的前述以及其它的目的、特征和优点将变得显而易见,如附图中所描述,其中相同的标记符指的是各个不同的示图中相同的部件。附图不一定按照比例,而是将重点放在说明本发明的原理之上。
图1a至图1b是本发明的一个实施例的框图。
图2是本发明的实施例操作于其中的计算机网络环境的示意图。
图3是图2的网络中的计算机节点的框图。
具体实施例方式
下面描述了本发明的优选实施例。
参照图1a和图1b,本发明提供了基于活动的跟踪能力管理工具(系统)10。该工具10为各种工作文件(制品)中的每一个12、20、22、23提供了各自的历史记录或者改变历史14。每个改变历史14指示对各自的制品(文件)12、20、22、23所进行的一系列或一组改变。这里所有的改变都在“活动”的情况下进行,其中完成活动的所有改变的集合被称为“改变集”15、16、17。每个改变集指示改变以及由改变所影响的各自的制品。
图1b是说明性的。
图1b说明了制品12的改变历史14a。其它文件(制品)20、22、23的改变历史14在概念上是类似的。第一活动(活动1)由改变集15形成。改变集15中所包括的改变被指示为已修改文件12、20和22。
随后的活动n-1在其改变集16中被记录为包括对文件12(例如版本2)和文件22的改变。类似地,通过工具10将活动n+1记录为具有修改了文件12、20、22和23的改变(改变集17)。
另外,改变历史14a记录了由改变集15、16、17所定义的各自的活动类型或种类(类别)25。举例来说,将活动1描述为故障修正25a并且活动n-1和活动n+1为数据库表格改变25b、25c。其它的活动类型25包括对图形用户接口(GUI)的增强、改变等。
在一个实施例中,将制品12、20、22、23的改变历史14a、14b、14c、14d实现为记录的链接表。每个记录对应于各自的活动并且保存表示该活动的改变(改变集15、16、17)的信息和数据。通过指针、标记、标识符或者其它公知的技术,改变历史14a、14b、14c、14d与各自的制品12、20、22、23相关联或者松散地连接。那样,针对制品12的每个修改,在改变历史14a中进行(例如附加)各自的活动记录。如此,改变历史14a有效地充当了制品12的历史记录。
其它的用于实现改变历史14、改变集15、16、17以及活动的数据结构也是适合的并且在本领域技术人员的知识范围之内。
回到参照图1a,当修改软件制品12的时候,检查该制品的历史记录或改变历史14a,并且将所有这样的文件标识为可能需要修改的对象,即该文件是修改了所述制品12的改变集15、16、17的产品。因此,本发明利用了已成为可用的信息(通过改变历史14),并且用户遵循基于活动的使用模型。
与现有技术相比,本发明建立在基于活动的改变管理之上。与提供影响分析的常规方法不同,本发明并没有使开发小组负担创建和维护跟踪能力链接的艰巨的任务。相反地,本发明从跟踪能力管理系统10根据正常的日常使用所记录的改变历史14推断出依赖关系。
在图1b所描述的例子中,优选实施例10如下确定与制品12相关的文件的有序列表。当修改制品12的时候,工具10参看各自的改变历史14a。在每一活动/改变集15、16、17基础上,工具10计算在每个改变集15、16、17中指示的其它文件20、22、23各自的出现率。工具10将具有最大出现率数(即最高的出现的相对频率)的文件20、22、23确定为目标制品12的最可能的相关文件。同样地,工具10将改变集15、16、17中具有第二大出现率数的文件确定为目标制品12的下一可能的相关文件等。
在所说明的实例中,工具10确定文件22比任何其它的文件更常受到对指定制品12的改变的影响(改变)。就是说,在每个改变集15、16和17中都指示了文件22而仅在两个改变集15、17中指示了文件20。因此工具10输出有序列表,其指示文件22与指定制品12相关的高的概率以及文件20与指定制品12相关的稍微较低的概率。
在其它的实施例中,基于相同活动类型25的活动的改变集进行与制品12相关的文件的确定。因而在图1b所说明的实例中,比方说“数据库表格改变”指示的类型25的活动当前修改了制品12。发明工具10然后过滤(即仅考虑)类型“数据库表格改变”25b、25c的改变历史14a活动条目。这导致工具10仅分析活动n-1和活动n+1或者各自的变化集16、17以确定被对指定制品12的改变影响得最频繁的文件。基于所说明的变化集16、17,工具10确定这些目标活动的每一个中都记录了对文件22的改变并且输出文件22是与指定制品12相关的文件的指示。工具10发现文件20和23仅在改变集17中被指示并且因此就目标改变集16、17而言其比文件22被指示了相对较少的次数。因而工具10输出有序列表,该有序列表在文件22之后将文件20和23指示为所确定的与特定制品12相关的文件。
在另一实施例中,工具10对较近的改变集给予了更高的权重。因此如果指定制品12的改变历史14a中的最初10个改变集将文件20指示为已受到影响而最近的改变集将文件23指示为已随对指定制品12的改变而被改变,那么工具10基于最近的频率对文件23给予更高的权重。然而,在基于最近/改变集15、16、17时期的联系的情况下,那么工具10将优先权置于活动类型25(以上所讨论的)之上。
相关文件的加权以及排序列表的其它组合或者交换在已知本发明所公开的内容的情况下也是适合的并且在本领域技术人员的知识范围之内。
用于跟踪能力管理系统10的伪代码如下针对每个活动在各自的制品改变历史14中记录改变(操作、制品文件);从已记录的改变形成目标改变集;针对当前对指定制品12的修改读取指定制品的改变历史14a;在改变历史14a中确定由改变集15、16、17产生的文件;将这些文件标识为候选对象并且对文件的列表进行排序-对改变集15、16、17中频繁改变的文件加权高于较少频繁改变的文件;-仅考虑活动类型25的改变集15、16、17的文件,所述活动类型25类似于当前对指定制品12的修改的活动类型;-利用改变的最近的频率对文件进行加权;基于加权/排序,定义相关的文件(制品);
将定义的相关文件(制品)的指示作为影响分析的结果显示给用户。
图2描述了可以在其中实现本发明的计算机网络或类似的数字处理环境。
客户计算机/设备50和服务器计算机60提供执行应用程序等的处理、存储以及输入/输出设备。客户计算机/设备50还可以通过通信网络70链接至其它的计算设备,包括其它客户设备/过程50和服务器计算机60。通信网络70可以是远程接入网络、全球网络(例如因特网)、全球计算机集合、局域网或广域网以及当前使用各自的协议(TCP/IP、蓝牙等)来相互通信的网关的一部分。其它的电子设备/计算机网络体系结构也是适合的。
图3是图2的计算机系统中的计算机(例如客户处理器/设备50或服务器计算机60)的内部结构图。每个计算机50、60含有系统总线79,其中总线是用于计算机或处理系统的部件中的数据传递的一组硬件线。总线79本质上是连接计算机系统的不同元件(例如处理器、磁盘存储器、存储器、输入/输出端口、网络端口等)的共享管道,其实现元件之间信息的传递。连在系统总线79上的是用于将各种输入和输出设备(例如键盘、鼠标、显示器、打印机、扬声器等)连接到计算机50、60的I/O设备接口82。网络接口86允许计算机连接到连在网络(例如图2的网络70)上的各种其它的设备。存储器90为计算机软件指令92和用来实现本发明的实施例(例如以上所详述的基于活动的跟踪能力管理系统10和改变历史14)的数据94提供易失性存储器。磁盘存储器95为计算机软件指令92和用来实现本发明的实施例的数据94提供非易失性存储器。中央处理器单元84也连到系统总线79并且为计算机的执行提供指令。
在一个实施例中,处理器例程92和数据94是计算机程序产品(一般记为92),其包括提供了用于本发明系统的至少一部分软件指令的计算机可读介质(例如像一个或多个DVD-ROM、CD-ROM、磁盘、磁带等这样的可移动存储介质)。如本领域所公知的,可以通过任何适合的软件安装程序来安装计算机程序产品92。在另一实施例中,还可以通过电缆、通信和/或无线连接下载至少一部分软件指令。在其它的实施例中,本发明程序是计算机程序传播信号产品107,其包含于传播介质(例如无线电波、红外波、激光波、声波或者在诸如因特网或其它网络的全球网络上传播的电波)上的传播信号之上。这样的载体介质或信号提供了用于本发明例程/程序92的至少一部分软件指令。
在可选的实施例中,传播信号是传播介质上承载的模拟载波或数字信号。举例来说,传播信号可以是通过全球网络(例如因特网)、电信网络或其它的网络传播的数字化信号。在一个实施例中,传播信号是通过传播介质传输的超过周期时间的信号,例如通过网络以分组发送的超过毫秒、秒、分或更长周期的用于软件应用的指令。在另一实施例中,计算机程序产品92的计算机可读介质是计算机系统50可以接收并且读取的如上所述用于计算机程序传播信号产品的传播介质,例如通过接收传播介质并且识别包含于该传播介质中的传播信号来接收并且读取。
一般而言,术语“载体介质”或瞬态载体包括前述瞬态信号、传播信号、传播介质、存储介质等。
本发明可以采取完全硬件的实施例方式、完全软件的实施例方式或者既含有硬件又含有软件元件的实施例方式。在优选的实施例中,本发明以软件实现,其包括但并不限于固件、常驻软件、微码等。
此外,本发明可以采取可存取于计算机可用或计算机可读介质的计算机程序产品的方式,所述计算机可用或计算机可读介质通过或者以与计算机或任何的指令执行系统的连接来提供使用的程序代码。对于该描述来说,计算机可用或计算机可读介质可以是任何这样的装置,即该装置通过或者以与指令执行系统、装置或设备的连接可以容纳、存储、通信、传播或传送使用的程序。
介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装置或设备)或者传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。现有的光盘的例子包括光盘-只读存储器(CD/ROM)、读/写光盘(CD-R/W)和DVD。
适于存储和/或执行程序代码的数据处理系统可以包括通过系统总线直接地或间接地连接到存储元件的至少一个处理器。该存储元件可以包括在程序代码的实际执行期间所使用的本地存储器、大容量存储器和高速缓存,该高速缓存提供了至少一些程序代码的临时存储器以便减少在执行期间必须从大容量存储器检索代码的次数。
可以直接地或者通过插入I/O控制器将输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备等)连接至系统。
还可以将网络适配器连接到系统从而使得数据处理系统通过插入专用或公用网络而变得与其它的数据处理系统或远程打印机或存储设备连接。调制解调器、线缆调制解调器和以太网卡正是网络适配器的几个当前可用的类型。
虽然已参照本发明的优选实施例具体示出并且描述了本发明,但是本领域的技术人员应当理解,可以在不背离由所附权利要求所包括的本发明的范围的情况下实现形式和细节上的各种改变。
举例来说,图2和图3的计算机网络和系统是为了说明而不是限制。其它的计算机体系结构和配置也是适合的。
此外,改变历史14和改变集15、16、17可以以多种的数据结构、对象以及本领域的其它公知技术实现。前面描述了一个这样的实现是为了说明而不是限制。
本发明的跟踪能力管理工具和方法10可以被合并到配置管理系统中或者是其部件。当对软件程序配置中的一个文件进行改变的时候,本发明工具/方法10确定哪些其它的文件与该文件相关。这种跟踪能力(关系)信息的自动化确定使得程序设计者-用户能够在配置目标软件程序期间进行影响分析。
权利要求
1.一种管理用于软件程序的跟踪能力信息的方法,所述方法包括计算机实现的以下步骤指定目标软件程序,为所述程序的每个制品提供各自的历史记录;在所述各自的历史记录中记录对所述目标软件程序的制品进行的改变;在对所述制品进行改变期间,从所述各自的历史记录确定相关的制品;以及将所确定的相关制品的指示显示为影响分析结果。
2.根据权利要求1所述的方法,其中,所述记录的步骤包括将改变集与各自的活动相关联,从而使得所述各自的历史记录保存(i)活动指示以及(ii)每一活动,相应的改变集的指示。
3.根据权利要求2所述的方法,其中,所述确定的步骤包括对一个改变集中产生的文件加权超过另一改变集中产生的文件。
4.根据权利要求2所述的方法,其中,所述确定的步骤包括偏向加权是活动的改变目标的文件,所述活动类似于与对所述制品进行的改变相关联的活动。
5.根据权利要求1所述的方法,其包括步骤实现相关制品的用户定义。
6.根据权利要求5所述的方法,其中,所述实现用户定义的步骤包括显示在所述历史记录中记录的改变的元数据。
7.用于管理软件跟踪能力信息的计算机装置,所述装置包括针对目标软件系统的每个制品,对所述制品进行改变的各自的历史记录;以及用于从所述各自的历史记录确定与对所述制品进行的改变相关的一组制品的处理器例程,所述处理器例程将所确定的一组相关制品作为影响分析的结果显示给用户。
8.根据权利要求7所述的装置,其中,所述各自的历史记录保存(i)活动的指示,以及(ii)每一活动,形成所述活动的改变集的指示。
9.根据权利要求8所述的装置,其中,所述处理器例程进一步对一个改变集中产生的文件加权超过另一改变集中产生的文件。
10.根据权利要求8所述的装置,其中,所述处理器例程进一步偏向加权是活动的改变目标的文件,所述活动类似于与对所述制品进行的改变相关联的活动。
11.根据权利要求7所述的装置,其中,所述处理器例程进一步实现相关制品的用户定义。
12.根据权利要求11所述的装置,其中,所述处理器例程将所述历史记录中记录的改变的元数据显示给用户以实现相关制品的用户定义。
13.一种软件跟踪能力管理系统,所述系统包括计算机装置,针对目标软件程序的每个制品,所述计算机装置用于指示对所述制品进行改变的各自的历史;处理器装置,在对所述制品进行改变期间,所述处理器装置用于基于所述计算机装置指示的各自的历史确定相关的制品;以及显示装置,所述显示装置用于将所确定的相关制品的指示显示为影响分析结果。
14.根据权利要求13所述的系统,其中,针对所述各自的历史,所述计算机装置指示(i)活动以及(ii)每一活动,形成所述活动的改变集。
15.根据权利要求14所述的系统,其中,所述处理器装置对一个改变集中产生的文件加权超过另一改变集中产生的文件。
16.根据权利要求14所述的系统,其中,所述处理器装置相对重地加权是活动的改变目标的文件,所述活动类似于与对所述制品进行的改变相关联的活动。
17.根据权利要求13所述的系统,其中,所述处理器装置进一步实现相关制品的用户定义。
18.根据权利要求17所述的系统,其中,所述处理器装置将所述历史记录中记录的改变的元数据显示给用户以实现相关制品的用户定义。
全文摘要
本发明公开了用于管理软件程序的跟踪能力的计算机方法和装置。指定目标软件程序,本发明方法/装置为该程序的每个制品提供了各自的历史记录。本发明方法/装置将对所述目标软件程序的制品进行的改变记录在所述各自的历史记录中。在对所述制品进行改变期间,处理器例程从所述各自的历史记录确定相关的制品。将所确定的相关制品的指示作为影响分析结果显示给用户。
文档编号G06F11/36GK1983210SQ20061014448
公开日2007年6月20日 申请日期2006年11月8日 优先权日2005年12月15日
发明者G·M·克莱姆, A·R·泰特 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1