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


第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. 基于Keepalived的MySQL高可用

    keepalived负责的是故障转移,至于故障转以后的节点之间数据的一致性问题依赖于具体的复制模式.不管是主从.一主多从还是双主.集群节点个数.主从具体的模式无关(常规复制,半同步复制,GTID复制, ...

  2. Python常用字符编码(转)

    Python常用字符编码   字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交 ...

  3. opencv 之 transformation

    getAffineTransform() : calculates an affine transform from three pairs of the corresponding points. ...

  4. hadoop学习路线

    学习hadoop,首先我们要知道hadoop是什么? 说到底Hadoop只是一项分布式系统的工具,我们在学习的时候要理解分布式系统设计中的原则以及方法,只有这样才能以不变应万变.再一个就是一定要动手, ...

  5. 3D Math Keynote 3

    [3D Math Keynote 3] 1.球的表面积 Surface.球的体积 Volumn: 2.当物体旋转后,如果通过变换后的旧AABB来顶点来计算新的AABB顶点,则生成的新AABB可能比实际 ...

  6. 大数据入门到精通17--union all 和disctinct 的用法

    一.union all 的用法.使用union all 或者 unionselect * from rental where rental_id <10union allselect * fro ...

  7. java后端学习记录2019

    学习计划 2019年计划 1.学习计算机基础,并加以实践.包括LeetCode刷题.数据库原理(索引和锁.Sql优化等).网络协议(Http.Tcp).操作系统(加深Linux).<Http权威 ...

  8. CodeForces 900D Unusual Sequences

    题目链接: https://codeforces.com/contest/900/problem/D 题意 假设有distinct 正整数序列{a1,a2,,,an},满足gcd(a1, a2, .. ...

  9. Java中的属性和方法

    题目 实体类 测试类

  10. jqgrid点击搜索无法重置参数问题

    var searchClick=false;//判断是否是第一次点击搜索 //当搜索按钮被单击时触发 function searchData(){ //创建jqGrid组件 console.log(' ...