ClearQuest中每一个Entity都有一个特殊字段history,这是一个系统字段,设计Schema时不允许修改或删除。该字段能够记录用户对Entity的每一次修改,包括状态的变化、Action的Name,Action发生的时间以及执行Action的User等,在考察有谁更改过Entity时十分有用。
然而,查看history时并不仅仅想知道有谁在什么时间对Entity做过什么样的Action,我们更想了解的是这个User到底改了哪些字段,以及这些字段的Value变化等信息,但是history字段无法提供这样的信息。
在Schema中还有一些特殊的Entity,我们并不关心谁对它做过修改(比如这样的Entity由Schema自动生成,并不允许用户修改或仅允许特殊用户修改)。然而,即使是这样的Entity,都至少有一笔history记录,而且设计Schema是不允许把这个字段去掉,在使用时往往会占用很多不必要的空间。
相比不必要的记录,history最大的缺陷还是不能反映到底User做过什么样的修改,而这些恰恰是我们所需要记录的。
既然history无法记录修改的细节,我们就必须自己实现这个功能,思路是把每个字段的修改都记录下来并存入CQ,在我所开发过的Schema中,这样的记录称之为ChangeLog。实现ChangeLog有两种方案,一是给Entity增加一个Multiline String类型的字段,把ChaneLog转换问文本添加到这个字段,另一种方法是建立一种新的Entity,记录每一个字段的每一次改动,并把这种新的Entity用Reference List型字段关联到Entity。这两种方法各有优劣,用Multiline String不会增加数据库中记录的数量,但是不便于查询处理,尤其用代码根据ChangeLog处理时;增加新Entity的方法便于对ChangeLog的查询处理,但是大大增加了数据库中记录的数量。
使用新Entity增加的记录与被记录的Entity的比例能达到十比一甚至二十比一,对于数据增长迅速的应用来讲记录ChangeLog的Entity的数量会相当可观。但是要命的问题还不在这里,每个Entity都至少有一笔history,而整个Schema中所有Entity的history在数据库中都共用一个表,那这个表将会变得庞大无比,会极大的影响CQ的速度。举个例子,我维护过一个CQ,其主Entity的数量有三百多万,ChangeLog则达到了五千多万,而history的数量则接近一个亿,与其他部门(数据量比较少)使用相同Schema的CQ相比,速度下降的非常明显,然而我们给这个大CQ使用的却是最好的硬件,对数据库做过大量的优化工作,即使如此,维持这个CQ的效率仍是一件令人非常头疼的问题。
所以说,CQ中history机制设置的过于死板,即使不允许修改所记录的数据项目,也应该给Schema设计者去掉这个字段的权利。遗憾的是没有,CQ的开发维护人员不得不忍受这种死板带来的麻烦。
分享到:
相关推荐
Rational ClearQuest 是IBM公司开发的一款强大的缺陷跟踪和变更管理工具,尤其适用于IT行业的项目管理。它提供了一个可定制的平台,能够适应不同团队的需求,不仅可以用于缺陷管理,还可以扩展到变更请求、任务分配...
Rational ClearQuest 的强大之处在于它的灵活性和全面性,不仅简化了缺陷管理,还提供了丰富的自定义选项和工作流支持,使得整个软件开发过程更加有序和高效。不过,为了充分利用其全部功能,使用者需要理解并适应其...
IBM Rational ClearQuest 8 安装详细笔记 IBM Rational ClearQuest 是一款功能强大且强大的项目跟踪和问题跟踪工具,由 IBM 开发,旨在帮助软件开发团队和项目经理更好地管理项目和跟踪问题。下面是 IBM Rational ...
Rational ClearQuest是一款由IBM开发的项目管理和缺陷跟踪工具,广泛应用于软件开发过程中的需求管理、变更控制、问题追踪及配置管理。其核心功能在于能够全面跟踪缺陷或任务从提出、分配、处理直至关闭的整个生命...
- **定义与特性**:ClearQuest是由Rational Software开发的一款缺陷跟踪工具,具备高度的可配置性,能够适应不同项目的特定需求。该工具的核心价值在于其强大的跟踪管理能力,能够完整记录缺陷的生命周期,从提交至...
ClearQuest是一款强大的问题跟踪系统,广泛应用于软件开发项目中,用于管理缺陷、需求变更、任务分配等。为了确保ClearQuest能够顺利运行,正确的配置步骤至关重要。本文将详细介绍ClearQuest的配置流程。 #### 二...
它允许团队成员记录、追踪和处理项目中的问题、缺陷和变更请求。ClearQuest与ClearCase集成后,可以实现从问题报告到代码修改的完整流程管理。 当一个开发人员在ClearQuest中创建一个问题或变更请求时,这个请求会...
ClearQuest是一款强大的缺陷跟踪和软件变更管理系统,被广泛应用于IT行业中。本指南将详细介绍ClearQuest的操作界面以及BUG处理流程,并提供BUG查询和统计的方法。 一、操作界面 ClearQuest的操作界面设计简洁而...
Rational ClearCase主要用于源代码版本控制和配置管理,而Rational ClearQuest专注于变更请求和缺陷跟踪。通过集成这两款工具,开发团队能够在一个统一的环境中管理软件开发过程,确保变更的跟踪、审批和实施都与...
本资料主要涉及的是将RequisitePro(一款需求管理工具)与ClearQuest(一个缺陷跟踪和变更管理工具)进行集成,以实现更高效的需求工程流程。这两款工具的结合使用,能够帮助软件开发团队更好地管理需求、跟踪变更,...
搭建IBM ClearQuest测试环境是软件测试过程中的重要环节,它为测试团队提供了一个管理缺陷、跟踪测试进度和协作的工作平台。下面将详细讲解如何一步一步地建立这个环境。 首先,我们需要在SQL服务器上创建数据库。...
很多大公司现在都用ClearQuest,ClearCase管理代码版本和BUG。资源是公司内部关于ClearQuest,ClearCase的操作使用指南,对使用ClearQuest,ClearCase有很好的指导意义
接下来,ClearQuest是IBM提供的一个缺陷和变更管理工具。它帮助团队记录、跟踪和管理软件开发过程中的问题、建议和任务。ClearQuest的核心特性包括自定义工作流程、丰富的报告功能以及与其他工具(如ClearCase)的...
例如,当开发人员在ClearQuest中创建一个缺陷报告,该报告可以触发ClearCase中的代码修改,同时更新对应的版本信息。 总结来说,《ClearQuest与ClearCase安装使用手册》是学习和使用这两款工具的宝贵资源,它涵盖了...