首页 理论教育 敏捷重构提升教学效果

敏捷重构提升教学效果

时间:2023-11-20 理论教育 版权反馈
【摘要】:实践教学效果评价采用比较法,将2016年春到2018年秋的调查数据作为实证分析样本,在实践教学任务相同的前提下,通过对比、分析敏捷班和传统班的数据样本,以验证敏捷重构后的实践教学效果。图6-2实践教学任务问题跟踪设计数统计实证结果三:代码测试覆盖率图6-3是借助代码测试覆盖率工具得到的统计结果。之所以将该评价指标限定在“结对”期间,主要是出于对团队协作实施的考虑。

敏捷重构提升教学效果

实践教学效果评价采用比较法,将2016年春到2018年秋的调查数据作为实证分析样本,在实践教学任务相同的前提下,通过对比、分析敏捷班和传统班的数据样本,以验证敏捷重构后的实践教学效果。

实证结果一:平均代码行数及代码冗余降低率

图6-1展示了从2016年春到2018年秋共6个学期的实践教学任务平均代码行数。可以看出,敏捷班的平均代码行数明显低于传统班,说明敏捷班实施教学任务更注重软件开发质量,尽可能提升代码的可复用性。表6-3展示了敏捷班相较于传统班的代码冗余降低率。可以看出,任一授课学期,敏捷班较传统班的代码冗余降低率均维持在14%~19%,即敏捷班对于实践教学任务的实施质量明显高于传统班。

图6-1 实践教学任务平均代码行数统计

表6-3 敏捷班相较于传统班的代码冗余降低率

实证结果二:问题跟踪设计数

图6-2展示了从2016年春到2018年秋共6个学期的实践教学任务问题跟踪设计数。可以看出,敏捷班在教学任务逻辑处理代码和调用与被调用代码处均设置了跟踪日志,其问题跟踪数远高于传统班,说明敏捷班对于软件设计中的问题定位和排查考虑得非常充分,这也从侧面反映了敏捷班实施的教学任务质量较传统班高。

图6-2 实践教学任务问题跟踪设计数统计

实证结果三:代码测试覆盖率

图6-3是借助代码测试覆盖率工具得到的统计结果。可以看出,敏捷班的实践教学任务的代码测试覆盖率均在65%以上,2017年秋授课学期的代码测试覆盖率均值达到75%,几乎达到了成熟企业实施敏捷软件项目的标准;而传统班由于并未强调以白盒测试来确保测试覆盖率,因而学生几乎都没有做白盒测试的意识,也没有测试覆盖率的概念,因此统计值远低于敏捷班。

图6-3 实践教学任务代码测试覆盖率统计

实证结果四:代码圈复杂度

表6-4展示了敏捷班相较于传统班的代码圈复杂度统计详情,代码圈复杂度在区间[0,10]上表明代码质量不错,在区间[11,15]上表明代码需要拆分以降低复杂度,在区间[16,)上表明代码必须重构。可以看出,敏捷班除了在2017年春授课学期的代码圈复杂度较高(达到11)以外,其他授课学期均低于9,代码质量总体“不错”;即便2017年春代码需要拆分,其代码圈复杂度也是在“不错”与“需要拆分”的临界点,稍加修改完善即可满足质量要求;而传统班由于代码逻辑过于复杂,导致代码的可读性和可维护性较差,代码质量普遍处于“需要拆分”和“必须重构”的状态。

表6-4 敏捷班相较于传统班的代码圈复杂度统计(www.xing528.com)

实证结果五:代码不规范数

借助测试工具统计出各授课学期教学任务交付物中代码不规范数,如表6-5所示。可以看出,敏捷班的代码不规范数量明显少于传统班,究其原因,一是敏捷班的授课教师在教学过程中强调编码规范性要求;二是敏捷班的实施小组在对每个教学子任务做迭代开发时会进行代码自查和代码走查,及时发现问题并修改完善;三是结对形式较好地提升了实施小组成员的自学和自我管理能力,促使他们及时发现问题、探讨问题并解决问题。因此,在代码规范性评价指标方面,敏捷班的统计数据明显优于传统班,这更说明敏捷重构后的实践教学模式对培养和提升受教者的职业素养具有积极意义。

表6-5 敏捷班相较于传统班的代码不规范数统计

实证结果六:实施交付时间

图6-4和表6-6展示了在实践教学任务各功能都完成的前提下,各实施小组的评价交付时间统计(每个实施小组计5人,实践教学计60课时,实施标准工作量为5×60=300人课)。可以看出,敏捷班的评价交付时间少于传统班。也就是说,在实践教学任务各功能都实施完毕的前提下,敏捷班的实施时间和质量均优于传统班。

图6-4 敏捷班相较于传统班的实践教学任务交付时间统计

表6-6 敏捷班相较于传统班的实践教学任务交付时间统计

注:标准交付时间为300人课,“+”表示比标准交付时间提前,“-”表示比标准交付时间延后。

实证结果七:结对时间占比和结对期间发现的缺陷数

表6-7展示了敏捷班相较于传统班在结对时间占比和结对期间发现的缺陷数方面的统计详情。可以看出,由于敏捷实施的大部分时间都处于结对迭代实施,敏捷班的结对时间占比远高于传统班,并且其在结对期间发现的缺陷数也明显多于传统班。之所以将该评价指标限定在“结对”期间,主要是出于对团队协作实施的考虑。团队协作过程对计算机软件类实践教学效果的提升起到了积极作用,对受教者的团队协作意识和职业技能的提升都有重要意义。

表6-7 敏捷班相较于传统班的结对时间占比和结对期间发现的缺陷数统计

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈