摘要: 一、总结本单元三次作业的架构设计 这一单元的三次作业之间的关系并没有之前作业那么紧密,也成功实现了不依靠重构来实现迭代开发,故只需对第三次作业架构进行分析,就可得到前两次作业的架构。 在上图中,ForCheck是第三次作业加上去的,类中主要包含了R001到R008的规则检查,MyStateMachi 阅读全文
posted @ 2020-06-14 19:50 1216 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 一、JML的理论基础与应用工具链: 1、理论基础: \result表达式:表示一个非`void`类型的方法执行所获得的结果,即方法执行后的返回值。形式如:"\result == xxx",并保证该结果为True。 \old(`expr`)表达式:用来表示一个表达式`expr`在相应方法执行前的取值。 阅读全文
posted @ 2020-05-22 17:12 1216 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 一、三次作业设计策略: 1.第一次作业: 第一次电梯作业,用了较为麻烦的方法,即采用五条线程去完成电梯任务,分别是ElevatorThread : 主电梯线程,进行电梯各种行为,并输出(包括上下行,开关门)。EleObserverIn、EleObserverOut : 负责检查电梯是否处于开关门状态 阅读全文
posted @ 2020-04-17 17:43 1216 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 一、基于度量来分析自己的程序结构 第一次作业: 类图: 复杂度: 其中ev(G)即Essentail Complexity,用来表示一个方法的结构化程度,范围在[1,v(G)]之间,值越大则程序的结构越“病态”,其计算过程和图的“缩点”有关。 iv(G)即Design Complexity,用来表示 阅读全文
posted @ 2020-03-20 16:36 1216 阅读(150) 评论(0) 推荐(0) 编辑