如在使用CAST工程仪表盘(CAST工程仪表盘- CED 的一部分)中所解释的,技术债务信息显示在大多数用户配置文件页面中。下面几节将解释如何计算技术债务值,以及如何在必要时修改默认值。技术债务配置是通过评估模型编辑器在CAST管理器中进行的。
计算
技术债务按应用基础计算,如下:
注意低、中、高度严重违规是指在评估模型中定义的违规质量规则的权重:
- 低度=权重1、2或3
- 中度=权重4、5或6
- 高度=权重7、8或9
每个应用的总技术债务
( (% of low severity violations to be fixed X # of low severity violations in Application) X (Weighted time, in hours, for fixing low severity violations) + (% of medium severity violations to be fixed X # of medium severity violations in Application) X (Weighted time, in hours, for fixing medium severity violations) + (% of high severity violations to be fixed X # of high severity violations in Application) X (Weighted time, in hours, for fixing high severity violations) ) X Cost per staff hour to fix violations
当前版本中每个应用添加的技术债务
( (% of low severity violations to be fixed X # of low severity violations added in current release of Application) X (Weighted time, in hours, for fixing low severity violations) + (% of medium severity violations to be fixed X # of medium severity violations added in current release of Application) X (Weighted time, in hours, for fixing medium severity violations) + (% of high severity violations to be fixed X # of high severity violations added in current release of Application) X (Weighted time, in hours, for fixing high severity violations) ) X Cost per staff hour to fix violations
关于添加违规
增加低/中/高度的违规行为包括:
- 包括添加和更新的对象
- 应用中不存在前一个快照
- 包含一个具有适当权重的质量规则
这意味着:
- 某些配置更改可能导致在不“添加违规”的情况下更改给定程度的违规次数。例如:在快照之间更改质量规则的权重会导致低/中/高度违规的数量发生变化,而没有任何特定的“附加违规”。
- 一些有违规但没有相关校验和(即值为0)的对象不会显示在添加的技术债中(注意,检查和值是通过CAST AIP为分析产生的对象计算的,并用于确定对象在连续快照之间是否发生了更改,但是,CAST AIP不能确定某些对象的校验和,而这些对象的校验和值总是0)
在这种情况下,新快照中的技术债务总数不同于前快照中的技术债务总数+技术债务增加总数-技术债务移除总数
在当前版本中,每个应用的技术债务已被消除
( (% of low severity violations to be fixed X # of low severity violations removed in current release of Application) X (Weighted time, in hours, for fixing low severity violations) + (% of medium severity violations to be fixed X # of medium severity violations removed in current release of Application) X (Weighted time, in hours, for fixing medium severity violations) + (% of high severity violations to be fixed X # of high severity violations removed in current release of Application) X (Weighted time, in hours, for fixing high severity violations) ) X Cost per staff hour to fix violations
关于删除违规
删除违规低/中/高度的违规行为为:
- 涉及删除和更新对象
- 在当前快照的应用中不再存在
- 包含一个具有适当权重的质量规则
这意味着
- 某些配置更改可能导致在不“删除违规”的情况下更改给定程度的违规次数。例如在快照之间更改质量规则的权重会导致低/中/高度违规的数量发生变化,而不会出现任何“已删除的违规”。
- 但是一些对象没有违规相关校验和(即0值)不显示技术债务删除(注意校验和值计算了CAST IP的对象产生的分析,用于确定一个对象连续快照之间的变化,然而CAST AIP不能确定特定的对象和这些对象的校验和总是有校验和值为0)。
- 排除的违规行为不显示在技术债务剔除
在这种情况下,新快照中的技术债务金额不同于前快照中的技术债务金额+技术债务增加额-技术债务移除额
计算——变量说明
上面计算中列出的变量描述如下。
有关修改标记为可配置= Yes的所有变量,请参见下面题为修改技术债务计算变量的部分。
变量名称 | 说明 | 可配置 | 默认值 |
---|---|---|---|
% of low severity violations to be fixed | 只有部分低度违规将被修复 | 是 | 0% |
# of low severity violations | 所有健康因子中的低度违规(1、2、3级)的实际# | 否(直接来自分析) | 不适用 |
# of low severity violations added in current release | 当前版本中添加的所有健康因子中的低度违规(1、2、3级)的实际# | 否(直接来自分析) | 不适用 |
# of low severity violations removed in current release | 当前版本中删除的所有健康因子中的低度违规(1、2、3级)的实际# | 否(直接来自分析) | 不适用 |
% of medium severity violations | 只有部分中度违规将被修复 | 是 | 50% |
# of medium severity violations | 所有健康因子中的中度违规(4、5、6级)的实际# | 否(直接来自分析) | 不适用 |
# of medium severity violations added in current release | 当前版本中添加的所有健康因子中度违规(4、5、6级)的实际# | 否(直接来自分析) | 不适用 |
# of medium severity violations removed in current release | 在当前版本中删除的所有健康因子严重违规(级别4、5、6)的实际# | 否(直接来自分析) | 不适用 |
% of high severity violations | 只有部分高度违规将被修复 | 是 | 100% |
# of high severity violations | 所有健康因子高度违规(7、8、9级)的实际# | 否(直接来自分析) | 不适用 |
# of high severity violations added in current release | 当前版本中添加的所有健康因子高度违规(7、8、9级)的实际# | 否(直接来自分析) | 不适用 |
# of high severity violations removed in current release | 在当前版本中删除的所有健康因子严重违规(级别7、8、9)的实际# | 否(直接来自分析) | 不适用 |
修正低度违规的加权时间,以小时为单位 | 并不是所有的违规都需要相同的时间,因此使用加权时间来修复违规。 加权的基础上分布的困难程度以解决违规。违规行为将分为以下类别:
例如使用以下变量: | 是 | 0.62 小时 |
Low_%Easy = % of violations which are "Easy" | N/A (中间计算) | 90% | |
Low_Time_Easy = Time take for fixing "Easy" violations | N/A (中间计算) | 0.5 小时 | |
Low_%Hard = % of violations which are "Hard" | N/A (中间计算) | 9% | |
Low_Time_Hard = Time take for fixing "Hard" violations | N/A (中间计算) | 1 小时 | |
Low_%Very_Hard = % of violations which are "Very_Hard" | N/A (中间计算) | 1% | |
Low_Time_Very_Hard = Time take for fixing "Very_Hard" violations | N/A (中间计算) | 8 小时 | |
修正中度违规的加权时间,以小时为单位 | 并不是所有的违规都需要相同的时间,因此我们使用加权时间来修复违规。 加权的基础上分布的困难程度以解决违规。违规行为将分为以下类别:
| 是 | 0.97 小时 |
Medium_%Easy = % of violations which are "Easy" | N/A (中间计算) | 90% | |
Medium_Time_Easy = Time take for fixing "Easy" violations | N/A (中间计算) | 0.5 小时 | |
Medium _%Hard = % of violations which are "Hard" | N/A (中间计算) | 9% | |
Medium _Time_Hard = Time take for fixing "Hard" violations | N/A (中间计算) | 4 小时 | |
Medium _%Very_Hard = % of violations which are "Very_Hard" | N/A (中间计算) | 1% | |
Medium _Time_Very_Hard = Time take for fixing "Very_Hard" violations | N/A (中间计算) | 16 小时 | |
修正高度违规的加权时间,以小时为单位 | 并不是所有的违规都需要相同的时间,因此使用加权时间来修复违规。 加权的基础上分布的困难程度以解决违规。违规行为将分为以下类别:
| 是 | 2.56 小时 |
High _%Easy = % of violations which are "Easy" | N/A (中间计算) | 80% | |
High _Time_Easy = Time take for fixing "Easy" violations | N/A (中间计算) | 1 小时 | |
High _%Hard = % of violations which are "Hard" | N/A (中间计算) | 19% | |
High _Time_Hard = Time take for fixing "Hard" violations | N/A (中间计算) | 8 小时 | |
High _%Very_Hard = % of violations which are "Very_Hard" | N/A (中间计算) | 1% | |
High _Time_Very_Hard = Time take for fixing "Very_Hard"violations | N/A (中间计算) | 24 小时 | |
每小时的开发成本 | 不同的人(架构师、领导、开发人员、QA资源等)可能处理违规的混合比率。 | 是 | $75/小时 |
修改技术债务计算变量
若要修改上一节中列出的任何变量,请使用CAST管理器:
- 打开在评估模型编辑器中默认提供的评估模型(注意这个评估模式是默认的模式兼容当前版本的CAST——即它不包含任何自定义其可能已经从以前版本的迁移CAST),并且确保在Expert模式:
请注意如果决定使用这个默认评估模型,必须确保CAST仪表盘服务被配置为使用。
- 点击Sizing Model选项卡,向下滚动到Sizing Measures列表的最底部:
- 选择Technical Debt测量并深入到Parameters选项卡。这将显示可以修改的参数:
- 注意要修改的参数,然后移动到Contextual Parameters选项卡中。
- 在列表中找到参数并选择——这将显示Default Value如下所示:
- 修改默认值字段中的值。
- 重复您想要修改的每个技术债务参数。
- 然后需要生成一个新快照,以便新值生效。