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


第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. H5自定义金额键盘,改良后ios体验效果流畅

    下载的别人的插件改良一下,源码地址:https://github.com/XieTongXue/how-to/tree/master/pay-h5 没有插件,直接来代码 <div class=& ...

  2. Java框架spring 学习笔记(三):Bean 的生命周期

    当一个 bean 被实例化时,它可能需要执行一些初始化使它转换成可用状态.当bean不再需要,并且从容器中移除时,需要做一些清除工作.为了定义安装和拆卸一个 bean,我们只要声明init-metho ...

  3. UTF-8和GBK有什么区别

    UTF-8和GBK有什么区别 2017年06月03日 18:10:43 阅读数:6516 GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准).GBK编码专门用来解决 ...

  4. (3)Linux的哲学思想

    1. 一切皆文件 把几乎所有资源统统抽象为文件形式,包括硬件设备,甚至通信接口等,便于统一管理和定义: 对文件的操作有:open,read,write,close,delete,create 2. 由 ...

  5. CentOS7+CDH5.14.0安装CDH错误排查: HiveServer2 该角色的进程已退出。该角色的预期状态为已启动

    错误提示: HiveServer2 该角色的进程已退出.该角色的预期状态为已启动 解决办法:出现此问题应该是内存不足造成的,重启相应的组件即可.比如Hive报错,重启Hive,YARN报错,重启YAR ...

  6. [leetcode]149. Max Points on a Line多点共线

    Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...

  7. Win10系统下安装Gradle-3.5

    1. 下载 从官网https://gradle.org/releases/上下载3.5版本 2.解压 解压到D盘,路径是:D:\gradle-3.5 3.配置系统环境变量 首先依赖JAVA_HOME这 ...

  8. windows下Docker的安装

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  9. SummerNote 富文本编辑器 - Rails 集成

    使用官方提供的CDN服务 将下面一段加入layout文件中 <link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/css ...

  10. SVD的基础详解

    目录