OOUNIT3
(1) 分析在本单元自测过程中如何利用JML规格来准备测试数据
利用JML规格构造JUnit测试类,编写测试数据时根据JML规格构造边界数据。
(2) 梳理本单元的架构设计,分析自己的图模型构建和维护策略
第三单元第一次作业
本单元作业架构主要为实现作业所需的类和类中方法,因此除了添加管理异常计数的ExceptionCounter类以外,其他类都为对作业接口或者抽象类的实现或者继承。
第三单元第二次作业
图模型构建和维护
使用HashMap维护节点和网络的模型,减少查询复杂度。
(3) 按照作业分析代码实现出现的性能问题和修复情况
由于第一次作业没有使用并查集维护连通块,qbs命令每次都需要遍历图后使用isCricle()方法进行广度搜索,运行时间过长在互测阶段被hack。因此修复时采取并查集来维护连通块,每一次加入新的Person成员就主动更新一次。查找qbs命令只需要查询当前集合个数。修复后的结构设计在后续作业中也可以减少其他命令的复杂度。
(4) 请针对下页ppt内容对Network进行扩展,并给出相应的JML规格
(5) 本单元学习体会
初步学习并且实现JML规格