oo第二次总结

 

第五次做业类图:数组

度量图:多线程

UML时序图:测试

 

第五次做业中的电梯和调度器都用到了线程机制,而后在run方法中用到了不少的if-else,因此致使了嵌套比较深。因为这是第一次接触写文件和多线程,在没有合理安排时间下,这是过了提交时间后我才写出来的,因此被评为无效做业了,也就没了公测和互测,写完后本身也不断地对其进行调试完善。虽然此次做业没能有效,可是我经过此次做业初步的了解多线程的使用和多线程之间的同步问题,以及对文件进行基本的建立和写入操做。spa

第六次做业类图:线程

 

 第六次做业度量图:设计

UML时序图:3d

因为上次做业的无效,我给此次做业空出了更多的时间去完成,结果仍是令我满意的,虽而后面在提交截至时心血来潮把run方法里分红多个方法去调用,这样让代码看起来没那么多,可是忘了文件转移后应该返回监控对象因而就出了能跟踪可是没把原来的监控对象换成新对象并致使触发器一直被触发的bug。互测上匹配到的代码除了输入上有点小问题其余地方都作的很好,他的测试线程也写得很详细,相关的测试方法也都一并给出。在代码风格以及方法调用上是一个很是有借鉴意义的代码!调试

 

第七次做业类图:对象

度量图:blog

 

 UML时序图:

第七次做业中虽然给的GUI有着500多行很吓人,可是他的接口等方面作得都比较完善,这让我使用起来也比较方便,此次做业中我发现了本身在出租车抢单窗口结束后抢单出租车的测距上出现的问题,我程序中每部出租车都有一个Poing【】队列来存出租车运行路径,我测距的依据是各个抢单出租车当前所存的队列长度来进行判断的,但我没注意到这时候出租车没有被分配请求因此Point【】队列为空,这致使在多部出租车进行抢单时,程序就会卡在分配出租车的方法里,致使后续的指令也没法进行调度。还有就是因为未知缘由个人程序没法同时读入多行请求,中间我经过修改scanner类的使用方法成功读入多行一次但后面又不行了,如今仍是一头雾水。互测代码使用了一些不符合懂我原则的设计,这给我在阅读代码时带来了很大的困难,但最后仍是发现了对方对数组边界未进行约束,而可能出现越界crash。

心得与体会

这三次做业都很难,多线程之间的同步,资源的占用,输出文件的实时交互等等,这些都须要很细心地去思考和设计,在写做业时的考量中以及实验课上的做业中我也收获了协调多线程之间资源占用的方法。不足之处仍是本身在代码设计的一些细节上还会疏忽大意,但愿本身之后的做业中能尽可能规避。

相关文章
相关标签/搜索