比较测试和正确性论证的效果


第13次作业是针对ALS电梯进行方法规格的测试,来判断方法运行的结果是否符合预期,是一种直观的验证错误的办法,但是不能确保程序完全正确,不过相比平时用的测试方法,这样效率更高更容易找到错误;而第14次作业的正确性论证其实是从理论上证明逻辑的完备性,从而证明程序的正确性,在写论证的过程中会再一次思考规格是不是有漏洞,程序的设计和一直懒得de的bug是什么地方出现了问题。尽管我不认为自己在这两次作业中花了足够的时间深思熟虑了,我的代码还是得到了一些改善。

比较OLC语言和JSF规格


OCL(object constraint language)对象约束语言,作为图形符号的补充,说明建模元素的有关细节,例如约束前置条件、后置条件,是一种形式化的无二义语言。基本要素有:类型、操作、表达式和语句。相比JSF规格,OCL语言更为复杂,因为其定义了数据类型还有运算符和表达式中的一些书写规范,可以称之为是一种编程语言。

可以说,JSF是更自由的OCL,便于书写、更改和阅读。

UML


整理&总结


1. 知识点的关联

如果我说我能找到的关联是这些我都不会,算不算一种微妙的联系?我感觉这四个单元是一个码农的生活缩影,从初学语言到简单的应用,再到结合实际的多线程部分,考虑更多的实际问题和线程安全问题以及最后的应用前的测试和规范书写。难以想象我也硬着头皮坚持下来了,虽说我常把“我与Java的最后几周”挂在嘴边,可还是觉得这个经历很过瘾也很有成就感。

2. 进步

我觉得经过了这个学期,像是扒了几层皮,虽说bug还是让我摸不着头,起码也能自己搞一搞不crash,能解决几个问题。在程序设计上,不像开始的时候很难想到一个思路进行下去,逐渐的可以很快理清关系。测试一直很懒,不过代码思路清楚一些还是会避免错误的发生。

3. 工程化开发

相比于工程化开发,我觉得思考思考如何出道更现实一点(开玩笑)但是不出意外的话,工程化开发跟我没什么关系hhh

4. 建议

希望以后追加什么要求或者修改什么地方能够更新指导书,不过更好的是发布了指导书不要再进行什么修改了,真的会让人不太开心

5. 套路感谢

吴际老师比想象中和蔼可亲一万倍,是个非常善解人意的老师,尽管我ifttt最后还是放弃了,这也让我觉得挺不好意思的,谢谢老师的理解!

还要谢谢助教小姐姐,每次我千奇百怪的问题她都很及时的回答我,当然还有那次提交不上去与死(马)神助教对话,很感谢你们的帮助!

emmm还有被我骚扰的大佬们,深夜分享思路的sz大帝,覆盖性测试救我一命的先哥,还有个很皮的小弟(作用十分微小)和收拾烂摊子还要哄我的pq学长~

最后嘛还要谢谢好几次哭着说不写了最后还是坚持下来的自己(卖个萌)以后也要加油

ps. 难以想象这竟然是我为了OO熬得最晚的一次

第四次OO总结的更多相关文章

  1. 第四次oo博客作业

    (1)本单元是撰写UML数据分析器,架构大致如下,在指导书要求的函数外,对于UmlClass类,Umlinterface类,以及状态机,顺序图这四个类重现构造一个类,这个类里有他们所需要的全部信息,另 ...

  2. 第四次oo博客

    论述测试与正确性论证的效果差异 单元测试利用测试者构造的测试用例来检查类或方法的正确性,一般来说所需要测试的用例是无穷多的,通过人为构造代表性的测试用例来尽量测试所有代码.测试的优点在于不易出错,只要 ...

  3. 北航oo作业第四单元小结

    1.总结本单元两次作业的架构设计 在我动手开始总结我的设计之前,我看了其他同学已经提交在班级群里的博客,不禁汗颜,我是真的偷懒.其他同学大多使用了新建一个类,用以储存每一个UMLelemet元素的具体 ...

  4. OO第四单元作业总结及课程总结

    一.本单元作业架构设计 1.第一次作业 本单元首次接触到UML以及相关概念,在面对第一次作业时首先花了很大功夫去阅读官方接口中各种UmlElement的代码,才理解了输入的模型元素中各属性的含义.总的 ...

  5. OO设计原则 -- OO设计的原则及设计过程的全面总结

    这部分增加一点自己的感想,OO设计原则下面讲述的很清晰;看完之后有点感想如果我们在实际开发当中能够把这些原则熟烂于心的话那我们的代码质量和个人能力会有很显著的提神.根据自己的实际经验看很多开发者在开发 ...

  6. BUAAOO-Second-Summary

    #目录 homework & class & trainning : 两次上机.三次作业.四周课堂 code analysis & review : 为什么我没有bug,为什么 ...

  7. BUAAOO-First-Summary

    目录 homework & class & trainning : 两次上机.三次作业.四周课堂 code analysis & review : 为什么我没有bug 黑盒测试 ...

  8. java----OO的概念和设计原则(转)

    一.OO(面向对象)的设计基础 面向对象(OO):就是基于对象概念,以对象为中心,以类和继承为构造机制,充分利用接口和多态提供灵活性, 来认识.理解.刻划客观世界和设计.构建相应的软件系统.面向对象的 ...

  9. 【JavaScript】彻底明白this在函数中的指向

    一.this,其实可以类比成人 说到this的话,我们在js中主要研究的都是函数中的this,在javascript中,this代表当前行为的执行主体,而context代表的是当前行为执行的的环境(区 ...

随机推荐

  1. 不同应用共享redis应用,但分数据库存储数据

    日常开发工作中,常常遇到这种情况 项目A ,需要使用redis 项目B ,也需使用redis …… 原来傻乎乎的在服务器上装几个redis,通过不同的端口号来进行使用 其实redis可用有16个数据库 ...

  2. inline-block的理解

    首先我们大概区分下 inline与inline-block.block的区别, 官方定义如下: inline:内联元素,从左到右依次排列,宽度高度由内容决定: block:块级元素,独占一行,可以设定 ...

  3. vue中less文件全局引用

    1.先安装sass-resources-loader   npm install sass-resources-loader 2.然后在build->utils.js修改less配置 在less ...

  4. validate表单验证

    validate使用步骤:1.导入jquery.js2.导入validate.js3.在页面加载成功之后 对表单进行校验  $("选择器").validate()4.在valida ...

  5. echars 图表提示框自定义显示

    一 . 显示单条数据时在tooltip里调用formatter函数给自定义提示框内数据. 效果图显示 二 . 当显示多条数据时.为保证和原来的效果相同需要自己实现点的效果.如果不实现,提示框则不限点的 ...

  6. Apache Flink 分布式运行时环境

    Tasks and Operator Chains(任务及操作链) 在分布式环境下,Flink将操作的子任务链在一起组成一个任务,每一个任务在一个线程中执行.将操作链在一起是一个不错的优化:它减少了线 ...

  7. linux学习笔记:linux常用的命令

    2018-11-19                                      常见命令快速查询一览表 命令 功能 ls 列出目录内容 cat 链接文件并打印到标准输出设备上(通常用来 ...

  8. Harry Potter and J.K.Rowling(半平面交+圆和矩形交)

    Harry Potter and J.K.Rowling http://acm.hdu.edu.cn/showproblem.php?pid=3982 Time Limit: 2000/1000 MS ...

  9. java基础 ---- 一维数组

    为什么要使用数组: 因为不使用数组计算多个变量的时候太繁琐,不利于数据的处理. --------   数组也是一个变量,是存储一组相同类型的变量 声明一个变量就是在内存中划出一块合适的空间 声明一个数 ...

  10. Python学习笔记十_模块、第三方模块安装、模块导入

    一.模块.包 1.模块 模块实质上就是一个python文件.它是用来组织代码的,意思就是把python代码写到里面,文件名就是模块的名称,test.py test就是模块的名称 2.包 包,packa ...