OO第四次总结
Posted tz-2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OO第四次总结相关的知识,希望对你有一定的参考价值。
一、论述测试与正确性论证
测试是拿出测试数据来进行实际上的测试,而正确性论证则是通过代码规格来论述代码方法实现过程。
很明显大规模覆盖性的测试样例可以很快的发现bug但是要找到bug发生的根源则有一定上的难度,而正确性论证是建立在代码规格上的,所以很容易在论证过程中找到不严谨的可能产生bug的地方。两者对应实践与理论,显然互相结合起来就能更好的规避bug。
二、OCL语言与JSF的不同之处
对象约束语言(Object Constraint Language)简称OCL,是一种指示用户建模系统中的限制方式。它是UML可选的附加内容,可以用来更好的定义对象的行为,并为任何类元指定约束。
相同点:都有前置条件、后置条件和不变式; 都是对对象/方法的约束。
不同点:OCL是一种语言,有许多基本数据类型,而JSF相对来说简略而且没有一个较为具体的规范。
三、
类图:
顺序图:
状态图:
四、总结
1.关系
第一单元通过多项式运算和简单电梯带我们走进Java面向对象基础——提供基础。
第二单元接触多线程以及线程安全——工程化代码量基础。
第三单元代码工程化——工程化代码提供测试基础。
第四单元编写测试集、代码方法正确性论证——工程化代码测试。
2.梳理
自己的程序总刚开始时的面向过程逐渐向面向对象风格转变,类和方法的封装越来越得心应手,代码之间更加紧密有条有理的联系在一起,而不是像以前的混成一团。从Java的基础开始慢慢地对工程化有所了解,体会到工程化的严谨对以后的工作肯定是大有帮助的。
3.工程化开发自我感觉就是把每次的作业所需要的每个类分配给每一个程序员来编写,每个人各司其职,对自己负责的这个类进行各种安全性以及有效性的考量,同时要保证代码的可读性以及可维护性,最后编一个main类把每个人写的类整合起来形成一个完整的程序。
4.本学期的OO学习中,我没有碰到其他同学那样的各种撕逼什么的(可能是菜的人不想互啄8),bug基本报得有理有据,所以没有那种跟测试者或者被测者撕起来而影响到对OO的学习心态,所以感觉OO是带点紧张(赶点ddl、星期五晚互测结果公布)和体验学到新知识的快乐中度过的。每次作业多多少少都能学到新的代码写法或者是产生新的代码构思逻辑。但OO的这种互测制度还是有一定漏洞的,常见的就比如测试者恶意扣分,还有就是测试者不用心测试,可能代码都没有拉下来,这样对被测者是很不负责任的,而且在编写测试集的时候通常也可以发现自己的程序错误(自己经常测着测着发现找了自己几个bug被测的却都通过了)。还有就是被测者readme的过度限制虽说指导书上没能提及的可以自行readme,但有的同学就利用了readme来限制各种条件张口就来什么不能这么这么输入,而不是对自己的程序编写代码来应对readme内容的输入然后再readme说输入这些会怎么怎么样,有的人甚至指导书有要求的也要readme,我佛了,不过结合之前自己的经历可能是互测时钻readme空子的人太多了8,所以大家都对自己readme文档比较注重。希望以后的OO指导书指导得能够明确一点,issue是很重要的一个讨论区,但它毕竟不是指导书的补丁,同学们可能就会在这上面对测试结果产生分歧什么的。
以上是关于OO第四次总结的主要内容,如果未能解决你的问题,请参考以下文章