在用于监控开发人员对软件代码开发过程的遵守的系统中的规则合并技术方案

技术编号:6874126 阅读:231 留言:0更新日期:2012-04-11 18:40
本公开涉及在用于监控开发人员对软件代码开发过程的遵守的系统中的规则合并。在系统中,接收第一过程模式和第二过程模式并将其合并以提供合并后的过程模式。每个过程模式按照状态图表示来表达,涵盖了所希望的软件代码开发过程的至少一部分。可选地,将合并后的过程模式呈递给主题专家以获得对其的反馈。然后,将合并后的过程模式转换为可执行过程验证规则,用于在监控过程遵守中使用。在一个实施方式中,将开发过程事件数据与可执行过程验证规则相比较。违背规则会导致生成故障指示,根据需要存储该故障指示并且随后进行报告。以这种方式,当确定开发人员对一个或多个软件代码开发过程的遵循程度时,可以提高自动化过程遵守监控系统的效率。

【技术实现步骤摘要】

本公开一般地涉及软件代码的开发,并且特别地涉及用于在用于监控开发人员对软件代码开发过程的遵守的系统中合并规则的技术。
技术介绍
软件代码——包括可以用于控制和命令诸如微处理器、微控制器、协处理器等一个或多个处理设备的操作的指令——无所不在,并且遍及现代技术的很多方面。软件开发项目领域(有时涉及进行为期数月甚至数年的工作的大量软件开发人员(即负责软件代码的实际编写的那些人员))要求使用软件代码开发过程,开发人员需要采用该软件代码开发过程以便提供高质量的代码。这种软件开发过程一般地规定了开发人员在考虑软件代码 “完成”之前必须采取的各种步骤。例如,软件开发过程可以规定,在使用公知的配置管理和 /或源控制仓库工具来进行签入之前,开发人员将如何查看代码质量、执行单元测试、修复缺陷等。实践已经证明,确保软件代码开发过程的高保真采用会得到更高质量的代码。这种软件代码的改善的质量最终导致整个集成软件项目的改善的质量,并且最终得到改善的终端用户满意度。相反,开发人员不遵守这种软件代码开发过程会导致更有可能出现更低质量的代码、代码功能中的更多错误、增加的集成问题以及终端用户的不满意度。即便不考虑以下代码开发过程的重要性,当前项目管理者仍然难以验证开发人员实际上遵守了所推荐的软件代码开发过程(特别是对于采用了大量和/或地理上分散的开发人员的大型项目而言)。由于软件代码的实际创建典型地发生在多个开发人员的本地工作站和集成开发环境(IDE)中,从物理上说项目管理者几乎总是不可能直接监控每个开发人员的工作站及他/她的工作。这种监管缺失通常导致开发人员绕过软件代码开发过程由此降低了所得到的代码的质量。另外,修正所产生的质量问题所需的时间和工作量降低了完成开发项目的整体效率。为解决这些问题,已经开发了系统来提供对于开发人员对软件开发过程的遵守的自动化监控。例如,Johnson 和 Kou 在 AGILE 2007 中的 “Automated Recognition of Test-Driven Development with Zorro,,一t 中了Mi胃的 Zorro 胃·。 ZorrogMiJ 用开源框架(Hackystat)来在各种开发环境工具中部署“传感器”,以收集加有时间戳的原始事件数据。软件开发流分析(SDSA)应用分析原始事件数据,以确定“事项(episode)”在按时间排序的事件数据流内的存在。Zorro应用继而对事项执行基于规则的分析以确定开发人员是否遵守了特定的开发过程,例如测试驱动开发(TDD)。尽管诸如Zorro之类的系统对于确定开发人员对所希望的过程的遵守而言是有益的,但是可以预见,更复杂的过程将需要跟踪大量状态(例如Zorro系统中所使用的事项),从而导致大量的更复杂的规则。 为了更好地缩放如Zorro之类的过程遵守监控系统,提供用于更高效地管理用于评价过程遵守的规则的技术将是有益的。
技术实现思路
本 公开使得项目管理者等能够监控软件开发人员对一个或多个软件代码开发过程的遵守。一般地,这是通过如下方式实现的,即捕获由开发人员执行的相关活动的发生 (正如由其所使用的开发工具所表明的那样),并且随后将这些活动与所希望的软件代码开发过程的基于规则的模型相比较。给定的基于规则的模型与所捕获的活动之间的差异表明并未遵守软件开发过程。在一个实施方式中,当接收了第一过程模式和第二过程模式并将其合并以提供合并后的过程模式时,会促进对规则的管理。每个过程模式,其可以由处理设备经由文本和/或图形用户接口来接收,代表了所希望的软件代码开发过程的至少一部分。可选地,可以将合并后的过程模式呈递给主题专家以获得对其的反馈。继而,可以将合并后的过程模式转换为可执行过程验证规则,其用于在监控过程遵守时使用。在一个实施方式中,通过首先将各过程模式转换为曲线图形式来完成对过程模式的合并。对所得到的第一曲线图和第二曲线图进行比较以确定第一曲线图与第二曲线图之间的交点,从而使得可以产生合并后的曲线图。继而,将合并后的曲线图转换为合并后的过程模式并随后如上所述地进行处理。在此处描述的一个实施方式中,事件收集组件收集由开发人员生成的开发过程事件信息,并且规则执行组件将其与软件代码开发过程的一个或多个可执行验证规则代表相比较。根据这些比较,如果不符合至少一个可执行验证规则的任何条件,则生成和存储一个或多个故障指示。此后,报告组件可以生成关于故障指示的报告,以便随后呈递给用户。在又一实施方式中,事件收集组件采用数据收集组件,该数据收集组件从由开发人员使用的一个或多个开发工具收集原始开发过程事件数据。此后,采用过滤规则来对原始开发过程事件数据进行过滤以提供开发过程事件信息。可以采用查询形成组件来制订过滤规则。在此进一步描述根据这些实施方式和其他实施方式的各种方法和装置。以这种方式,本公开提供如下技术,该技术提高了自动化过程遵守监控系统能够确定开发人员对一个或者多个软件代码开发过程的遵循程度的效率。例如,在此描述的规则合并能力减少了必须维持的规则的数量以及评价这种规则所需的处理。也就是说,减轻了跟踪并定期评价多个不同规则的负担,而由合并后的规则所提供的覆盖相对于未合并的规则而言并没有任何损失。另外,可以改进评估规则的速度。在不进行合并的情况下,将需要针对每个规则而独立地评价两个或更多规则实际上共有的状态。为了评价所有规则,这会导致增加的处理负担。这种共有状态的合并消除了其冗余评价,降低了处理开销,并且有益地减小了其为评价规则而耗费的时间。因此,这种改善的监控能力确保了更好的过程遵守和随后在软件代码质量、整体开发效率和终端用户满意度方面有所改善。附图说明在所附权利要求书中特别地阐明了本公开中所描述的特征。在结合附图而考虑以下详细描述后,这些特征和伴随的优点将变得明显。现在仅通过示例的方式、参考附图来描述一个或多个实施方式,在附图中,类似的参考标号表示类似的元素,并且其中图1是根据本公开的装置的框图2是更详细地图示出的图1的装置的事件收集组件的框图;图3是更详细地图示出的图1的装置的规则执行组件的框图;图4是可以用于实现在此描述的各种实施方式的处理设备的框图;图5是图示出根据本公开对过程模式的处理的流程图;图6是图示出根据在此描述的实施方式的、用于捕获过程模式的图形用户接口的实施方式的示图;图7至图9是根据本公开的曲线图形式的过程模式及其合并的示例的图示;图10是图示出根据在此描述的各种实施方式的、用于监控开发人员对软件代码开发过程的遵守的方法的流程图;以及图11至图13是图示出根据在此描述的各种实施方式的图形用户接口的各种实施方式的示图。具体实施方式 现在参考图1,其示出了用于在监控软件代码开发人员对一个或多个软件代码开发过程的遵守时使用的装置100。特别地,装置100包括事件收集组件102,该事件收集组件102操作性地连接到规则执行组件104。规则配置组件106操作性地连接到规则存储组件108,规则存储组件108接着操作性地连接到规则执行组件104。结果存储组件110操作性地连接到规则执行组件104和报告组件112两者,正如所示。正如进一步所示,一个或多个开发工具120经由事件收集组件102与系统100通信。一般地,事件收集组件102从一本文档来自技高网
...

【技术保护点】
1.一种用于开发用于监控开发人员对软件代码开发过程的遵守的规则的方法,包括:由通过处理设备实现的规则配置组件接收描述所述软件代码开发过程的至少一部分的第一过程模式;由所述规则配置组件接收描述所述软件代码开发过程的至少另一部分的第二过程模式;由所述规则配置组件合并所述第一过程模式和所述第二过程模式以提供合并后的过程模式;以及由所述规则配置组件将所述合并后的过程模式转换为可执行过程验证规则。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:V·S·考尔古德V·S·沙尔马
申请(专利权)人:埃森哲环球服务有限公司
类型:发明
国别省市:IE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1