oo第八次作业
Posted 枕流御风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oo第八次作业相关的知识,希望对你有一定的参考价值。
oo第八次作业
第五次作业分析:
1.度量图:
2.类图:
第五次作业由于是第一次接触多线程,所以导致自己的经验不足,因此最终也没有完成作业,到最后任然不能实现三部电梯的有效调度,所以导致了这次作业的无效
第六次作业:
1.度量图:
2.类图:
第六次作业,是完成对文件的监控操作。进过了上一次作业的失败,在这一周终于成功的完成了第七次的作业,但是存在很多的问题,尤其是对于目录的考虑不周到,而且自己写的测试线程由于时间太紧也没有完成。导致出现了很多的bug,错了两个公测,并且被找了6个bug,大多是因为目录的考虑问题导致,但是总算是对于安全的多线程操作有了一些的理解,不在像刚开始那样的一头雾水了,虽然写起来还是很费劲,并且最终的结果并不是十分的完美。基本上能完成对于每一个输入的请求,生成一个对应的监控线程,并且实时的监控目录的范围,对于文件的改动有相应的反应。
在找别人bug的时候,主要是采用大量程序,一次跑很多的线程来检验其安全性及设计逻辑的完整性,尤其是检测目录的操作及对于改变后实时的更新监控范围这两个方面是我测试的主要的重点,另外对于测试线程也有一些的测量。
第七次作业:
1.度量图:
2.类图:
第七次的作业,是实现对100辆出租车的调度问题, 这次作业与之前的多线程电梯有一些共通之处,但工程量与分析难度还是下降了不少。由于是100个出租车100个线程,所以出租车类是必须得要是数据不能共享的,另外每一条符合的指令也弄成一个线程,所以对于线程的安全问题的考虑是完成这次问题的关键,本次的作业由于没有被对方测,所以没有bug但是,通过我对别人程序的测试,发现了自己对于同质指令的处理任然有问题,而且对于同一时间的多个命令接受的时候任然有一些的小问题,可能会出现程序的崩溃,但是没找出问题的原因。
在测试别人的时候,主要还是看对方的程序能不能完成简单的数据测试因为出租车时刻都在动,所以找出那些不明显的错误例如同一个框中选出最合适的车,必须得要时刻的顶住界面去看看的眼睛十分的难受。线程安全相关问题的测试有些困难,我的策略是通过大量的输入用例去炸,如果出现了不符合逻辑的输出或者程序crash了,就说明对方在线程设计上存在问题。
心得体会:
这三次作业的总体感受就是难度的直线上升尤其是多线程电梯的那一次,由于和上一次的程序虽然说是有关联,但是需要改变的思维实在是太多,导致了自己第一时间没有适应下来,因此导致了无效。但是后面的两次通过和舍友同学的交流使自己对于多线程有了一些想法所以才能够写出来,但是虽然是完成了多线程,对于安全的多线程缺还是差一些意思,始终没有办法很清楚的想明白哪些应该是上锁的数据哪些不应该上锁,另外自己确实应该早早地拿出更多的时间来思考这些作业,努力让自己的程序更加的完善,用更多的时间去完成自己课下的测试,减少自己程序的bug。总的来说经过了这三次作业的洗礼,自己算是对于线程有了一个大概的理解希望自己以后能完善理解,努力去完善自己程序,尽量不要交自己不满意的程序吧。
以上是关于oo第八次作业的主要内容,如果未能解决你的问题,请参考以下文章