oo第八次作业

第五次作业分析:

1.度量图:

2.类图:

第五次作业由于是第一次接触多线程,所以导致自己的经验不足,因此最终也没有完成作业,到最后任然不能实现三部电梯的有效调度,所以导致了这次作业的无效

第六次作业:

1.度量图:

2.类图:

第六次作业,是完成对文件的监控操作。进过了上一次作业的失败,在这一周终于成功的完成了第七次的作业,但是存在很多的问题,尤其是对于目录的考虑不周到,而且自己写的测试线程由于时间太紧也没有完成。导致出现了很多的bug,错了两个公测,并且被找了6个bug,大多是因为目录的考虑问题导致,但是总算是对于安全的多线程操作有了一些的理解,不在像刚开始那样的一头雾水了,虽然写起来还是很费劲,并且最终的结果并不是十分的完美。基本上能完成对于每一个输入的请求,生成一个对应的监控线程,并且实时的监控目录的范围,对于文件的改动有相应的反应。

在找别人bug的时候,主要是采用大量程序,一次跑很多的线程来检验其安全性及设计逻辑的完整性,尤其是检测目录的操作及对于改变后实时的更新监控范围这两个方面是我测试的主要的重点,另外对于测试线程也有一些的测量。

第七次作业:

1.度量图:

2.类图:

第七次的作业,是实现对100辆出租车的调度问题,  这次作业与之前的多线程电梯有一些共通之处,但工程量与分析难度还是下降了不少。由于是100个出租车100个线程,所以出租车类是必须得要是数据不能共享的,另外每一条符合的指令也弄成一个线程,所以对于线程的安全问题的考虑是完成这次问题的关键,本次的作业由于没有被对方测,所以没有bug但是,通过我对别人程序的测试,发现了自己对于同质指令的处理任然有问题,而且对于同一时间的多个命令接受的时候任然有一些的小问题,可能会出现程序的崩溃,但是没找出问题的原因。

在测试别人的时候,主要还是看对方的程序能不能完成简单的数据测试因为出租车时刻都在动,所以找出那些不明显的错误例如同一个框中选出最合适的车,必须得要时刻的顶住界面去看看的眼睛十分的难受。线程安全相关问题的测试有些困难,我的策略是通过大量的输入用例去炸,如果出现了不符合逻辑的输出或者程序crash了,就说明对方在线程设计上存在问题。

心得体会:

  这三次作业的总体感受就是难度的直线上升尤其是多线程电梯的那一次,由于和上一次的程序虽然说是有关联,但是需要改变的思维实在是太多,导致了自己第一时间没有适应下来,因此导致了无效。但是后面的两次通过和舍友同学的交流使自己对于多线程有了一些想法所以才能够写出来,但是虽然是完成了多线程,对于安全的多线程缺还是差一些意思,始终没有办法很清楚的想明白哪些应该是上锁的数据哪些不应该上锁,另外自己确实应该早早地拿出更多的时间来思考这些作业,努力让自己的程序更加的完善,用更多的时间去完成自己课下的测试,减少自己程序的bug。总的来说经过了这三次作业的洗礼,自己算是对于线程有了一个大概的理解希望自己以后能完善理解,努力去完善自己程序,尽量不要交自己不满意的程序吧。

oo第八次作业的更多相关文章

  1. oo第八次作业--5,6,7次作业总结

    一.多线程的设计 这三次作业的主要内容就是使用多线程并且解决多线程中出现的问题.而对于多线程我也有了自己的理解.首先明确的一点是单个CPU在同一时间只能处理一件事.那么,不管是多进程还是多线程,我们的 ...

  2. OO第一次博客作业

    OO第一次博客作业 一.三次作业的bug反省 1.自己发现别人的问题 (1)输入处理的问题,比如第一次作业,主要就是处理输入的字符串,然后有同学的正则表达式有问题,则对于一些错误输入就不能正确判断. ...

  3. oo 第一次博客作业

    oo 第一次博客作业 早在大一就听说了oo的各种传奇故事,大二下学期终于也开始了我的oo之旅. 基于度量来分析自己的程序结构 第一次作业 类图分析 耦合度分析 可以看出在第一次作业中,我的耦合度非常高 ...

  4. JAVA第八次作业

    JAVA第八次作业 (一)学习总结 1.用思维导图对本周的学习内容进行总结 参考资料: XMind. 2.通过实验内容中的具体实例说明在执行executeUpdate()方法和executeQuery ...

  5. 2017-2018-2 1723《程序设计与数据结构》第八周作业 & 实验二 & 第一周结对编程 总结

    作业地址 第八周作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1847 (作业界面已评分,可随时查看,如果对自己的评分有意 ...

  6. 2018-2019-1 20189221 《Linux内核原理与分析》第八周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第八周作业 实验七 编译链接过程 gcc –e –o hello.cpp hello.c / gcc -x cpp-o ...

  7. 面向对象OO第15次作业总结

    面向对象OO第15次作业总结 1.论述测试与正确性论证的效果差异,比较其优缺点测试通过大量测试数据来覆盖测试代码,比较直观,优点在于知道测的是啥,特别直观,缺点在于很难覆盖所有情况.正确性论证从逻辑关 ...

  8. 面向对象OO第9-11次作业总结

    面向对象OO第9-11次作业总结 1.关于规格化设计的调研程序规格说明:对程序所应满足的要求,以可验证的方式作出完全.精确陈述的文件.“规格说明”一词与其他工业产品的“规格说明书”有相似的含义.不过, ...

  9. 面向对象OO第5-7次作业总结

    面向对象OO第5-7次作业总结 学习OO七周了,深切的感受到了这门课程的不友好.前三次作业能够算是勉强地通过了,但是从第五次作业开始就完全GG了.这三次作业,从多线程电梯开始,然后文件监控,然后到出租 ...

随机推荐

  1. Delphi ClientDataSet 主从结构 BUG

    使用ADO控件 .ClientDataSet .增加了从表与主表的关连字段 SheetID,别的设置全为默认.如图1所示 图1 ======= 问题 BUG: 打开主表与从表,先不对主表进行任何操作. ...

  2. mybatis学习1

    一.mybatis步骤 1.根据xml配置文件(全局配置文件)创建一个SqlSessionFactory对象 有数据源一些运行环境信息2.sql映射文件:配置了每一个sql,以及sql的封装规则等. ...

  3. rest_famework 认证与权限组件

    定义个一个认证类 from rest_framework import exceptionsfrom rest_framework.authentication import BaseAuthenti ...

  4. React事件处理

    function ActionLink() { function handleClick(e) { e.preventDefault(); console.log('链接被点击'); } return ...

  5. 500G !!史上最全的JAVA全套教学视频网盘分享 (JEECG开源社区)

    500 G JAVA视频网盘分享(JEECG开源社区) [涵盖从java入门到深入架构,Linux.云计算.分布式.大数据Hadoop.ios.Android.互联网技术应有尽有] JEECG开源社区 ...

  6. R数据导入导出(一): read.table()和read.csv()的区别

    之前也参考过一些资料,虽然是这么简单的两个buildin,还是仔细对比了一下,我有两张txt,都是从cube中导出的,就意味着每一列的列数是不一样的.R语言官方文档中有这样一句话不知道大家注意到了没有 ...

  7. 恢复oracle 11g 的System及sys用户的密码

    进入E:\app\orcl\product\11.2.0\dbhome_1\database目录下找到PWDorcl.ora备份后删除文件,orcl是数据库的实例名 以管理员身份打开cmd,执行 or ...

  8. python,ModuleNotFoundError,is not a package

    Traceback (most recent call last): File "/home/lll/zzz/work/video/zzz/generate.py", line 7 ...

  9. webconfig标签收集

    在web项目启动时,很多因为vs没有报错,而页面跑不出来的情况,无法调试找到错误, 可以在webconfig中添加一个标签,运行项目就可以在页面显示错误 <customErrors mode=& ...

  10. 提高GitHub下载速度

    修改/etc/hosts 加上 151.101.72.249 GitHub.global.ssl.fastly.net 192.30.253.112 github.com