一、测试与正确性论证的区别
由于本人第三次作业当初没有顺利完成,因此也造成13和14次作业未能顺利完成,所以让我在此对测试与正确性论证的区别做一个比较,确实比较困难。因此我参考了其他同学的博客,从其他同学的博客中整理出一些有用的信息。
junit测试首先必备的作用当然是帮助我们找出bug,全面的覆盖测试可以帮助我们很好地找出bug,除此之外,在覆盖率测试的过程中,我们可以找出程序中的冗余代码,更加精简我们的代码。
正确性论证,正确性论证的完成过程非常繁琐,但也可以规避junit的问题,即在逻辑上对实际实现的代码与程序员所构思的程序应该具有的功能做比较,可以让我们有效地发现逻辑漏洞。除此之外,论证文档可以让看程序的人更好地理解程序的框架,更快的发现问题所在,相比直接看代码更加直观。
参考博客:http://www.cnblogs.com/KevinJiao/p/9224352.html
http://www.cnblogs.com/wevolf/p/9223143.html
二、OCL调研
OCL语言是约束(Constraint)语言和查询(Query)语言。一个约束就是对一个(或部分)面向对象模型或者系统的一个或者一些值的限制。这一点与JSF类似,JSF中requires必须要有一定的限制才行。UML类图中的所有值都可以被约束,而表达这些约束的方法就是 OCL。但是OCL通常会结合uml类图来使用,相比jsf的约束性也更广。
三、第十四次作业总结
由于本人未能完成十四次作业,因此在此只展示第三次作业uml图。
四、课程总结
这学期的oo课程主要以四个单元的学习为主,分别以基础java程序设计,基础多线程程序设计,进阶多线程程序设计,jsf论述、junit测试、正确性论证为主。从这里看,这几个单元的学习是逐步深入的一个过程,由简到难,步步深入,让我对面向对象式编程有了自己的理解。
在整个学习的过程中,我看到了许多同学学习这门课的痛苦过程,也看到他们在完成课程后获得了不小的收获,但这对我这么一个第一次作业就因为某原因挂掉的学生是不存在的。第一次作业挂掉这门课程之后,极大地打击了我学习这门课的兴趣,几乎是放弃学习,太困难得作业直接放弃。所幸后面在完成出租车系列作业时及时赶了回来,就是那四次作业带给我的收获也不小了,也才有幸能继续进补给站学习,希望自己补给站能有更大的收获吧。