OOUnit3

OOUNIT3

(1) 分析在本单元自测过程中如何利用JML规格来准备测试数据

利用JML规格构造JUnit测试类,编写测试数据时根据JML规格构造边界数据。

(2) 梳理本单元的架构设计,分析自己的图模型构建和维护策略

第三单元第一次作业

本单元作业架构主要为实现作业所需的类和类中方法,因此除了添加管理异常计数的ExceptionCounter类以外,其他类都为对作业接口或者抽象类的实现或者继承。

第三单元第二次作业

图模型构建和维护

使用HashMap维护节点和网络的模型,减少查询复杂度。

(3) 按照作业分析代码实现出现的性能问题和修复情况

由于第一次作业没有使用并查集维护连通块,qbs命令每次都需要遍历图后使用isCricle()方法进行广度搜索,运行时间过长在互测阶段被hack。因此修复时采取并查集来维护连通块,每一次加入新的Person成员就主动更新一次。查找qbs命令只需要查询当前集合个数。修复后的结构设计在后续作业中也可以减少其他命令的复杂度。

(4) 请针对下页ppt内容对Network进行扩展,并给出相应的JML规格

(5) 本单元学习体会

初步学习并且实现JML规格

posted @ 2022-06-06 14:38    阅读(11)  评论(0编辑  收藏  举报