操作行为(前置条件和后续操作)
操作行为为各个操作定义前置条件和后续操作。 此行为为项目和团队促进或实施过程规则。 行为是在项目的过程配置中定义的,并可以由团队区域定制。
前置条件和后续操作在操作的上下文中进行应用。 例如,对于保存工作项操作而言,您可以使用前置条件来定义必须填写工作项中的哪些字段后才能保存该工作项。 如果未填写必需字段,那么保存操作将被阻塞,并且在“团队顾问程序”视图以及工作项标题栏中将提供详细信息。 下图提供了将代码交付到源代码控制系统前必须符合的前置条件的示例。

注: 如果为一个操作指定了多个前置条件,那么将对所有前置条件进行求值,即使其中一个前置条件失败也是如此。 此行为确保针对导致操作失败的所有未满足前置条件来更改用户。
在一项操作成功完成后,过程定义的后续操作可以对存储库中的工件进行其他变更。 例如,Scrum 过程当前生成 3 个工作项来响应“加入团队”这一操作:创建存储库工作空间、查找工作项和设置即时消息传递。
Jazz ® 流程模板包含具有前置条件和后续操作的操作集合。 预定义的操作随过程模板的不同而有所变化。 下表显示了缺省情况下在预定义的 Scrum 过程模板中启用的前置条件和后续操作。 要禁用或修改任何这些前置条件或后续操作,请参阅 在项目区域和团队区域中修改操作行为 (前置条件和后续操作)。
| 操作 | 前置条件/后续操作 | 注释 |
|---|---|---|
| 生成团队邀请(服务器) | 创建初始工作项 | 此后续操作为您完成“加入团队”这一过程而需要执行的任务创建一组工作项。 |
| 接受团队邀请(服务器) | 显示工作项 | 当您接受加入团队邀请时,将运行一个查询以显示分配给您的工作项。 |
| 工作项保存(服务器) | 类型和状态的必需属性 | 建议团队成员先填写工作项中的某些字段,然后才能保存工作项。 |
| 源代码控制交付操作 | 描述性变更集 | 建议团队成员使每次代码交付操作都与工作项相关联。 |
| 没有未使用的 Import 语句 | 建议团队成员不要交付任何包含未使用的 Import 语句的代码。 | |
| 清除工作空间 | 如果工作空间包含编译错误,请勿交付变更。 |
在 IBM® Engineering Workflow Management (EWM) Client for Eclipse IDE中,在项目区域编辑器和过程模板编辑器的 过程配置 选项卡上定义了行为。 这些设置适用于整个项目。 要修改团队区域的行为,请使用团队区域编辑器的“过程定制”选项卡或“过程定制源代码”选项卡。 您不能在 Web 客户机中定义操作行为。 在项目区域编辑器的过程配置选项卡中,您可以在层次结构的不同级别指定许可权,如下所示。 有关这些设置的作用域的描述,请参阅 表 2 。

| 设置操作行为的位置 | 描述 |
|---|---|
| 项目配置 | 此级别的操作行为将应用于全局项目上下文。 不管当前迭代或时间线如何,该行为都适用,并且无法在特定团队区域中进行定制。 |
| 团队配置 | 此级别的操作行为将应用于属于该项目区域的所有团队。 但是,每个团队区域都可定制行为。 |
| 迭代类型 | 此级别的操作行为将应用于该迭代类型的所有迭代。 每个团队区域都可定制迭代类型的行为。 |
| 时间线 | 此级别的操作行为将应用于该时间线中的所有团队区域。 |
| 迭代 | 此级别的操作行为将应用于迭代的时间线中的所有团队区域(如果此迭代是当前迭代)。 |
在运行时,会使用最特定于迭代的行为。 例如,如果团队在顶级定义了行为,那么该行为适用于所有迭代。 但是,如果该团队随后配置了特定迭代的行为,那么当该迭代成为当前迭代时,将使用该行为。 按照从最高优先级到最低优先级的顺序,过程运行时将选择:
- 对当前迭代或当前迭代的迭代类型指定的操作行为。
- 对当前迭代的父代或父迭代的迭代类型(直至层次结构的根)指定的操作行为。
- 对团队区域时间线指定的操作行为。
- 在项目区域团队配置的顶级指定的操作行为。
过程许可权的配置与操作行为的配置无关。 您的团队可以选择为操作定制许可权和/或行为。
可以为每个角色配置不同的操作行为。 与许可权不同,操作行为不能累加。 过程运行时将为已登录的用户选择最适合的操作配置,并且只使用该配置中定义的前置条件和后续操作。
注: 由于为所有用户分配了缺省的 "任何人" 角色,因此您可以通过为 "任何人" 角色指定特定操作行为来将其应用于所有用户; 您无需为每个角色指定该操作行为。 在运行时, EWM 会先检查分配给用户的所有其他角色的操作行为设置,然后再检查 "任何人" 角色的操作行为。 如果为其中一个角色指定了操作行为,那么 EWM 将使用该操作行为而不是为 "任何人" 角色指定的操作行为。
有关流程组件如何确定要在运行时强制实施的行为的详细说明,请参阅 http://jazz.net/library/article/292。
有关创建定制前置条件的信息,请参阅 扩展研讨会。