OO第四次博客作业

一.测试与正确性论证的区别

  测试是检验程序正确性的普遍且实用的方法,测试者通过使用许多普遍和特殊的样例,来检测程序逻辑是否有问题,运行结果是否符合预期结果。但仅是测试者给出的测试样例通过并不能证明程序完全没有错。在之前学过的的分支覆盖的知识来看,即便覆盖率达到90%,也不能证明程序没错。

  而正确性论证是对达到预期目的的陈述。把程序逻辑构造成不同分支,通过每个规格了解到每个分支的每个方法的结果与顶层逻辑的对应预期结构是否一致,不用管程序的运行过程,只要满足规格的前置条件和后置条件即可。但对于较复杂的程序逻辑,对分支的构建就会比较麻烦,逻辑不严密可能会有遗漏或错误。所以通常在实践中我们需要两者结合来检验程序的正确性。

二.OCL语言

  OCL语言是约束对象语言,用来约束定义,形式化的无二义性语言。与JSF相似,同样拥有前置条件,后置条件和不变式。

  OCL作为形式化语言,基本语言要素包括:类型(基本类型,高级类型)、操作、表达式、语句。OCL的基本类型包括整型,实型,字符串型,布尔型。OCL定义的高级数据类型有群,集合,袋和序列。

三.第十四次作业总结

 

四.学期总结

  这学期的OO学习大致分为四个部分,第一部分是让我们学习Java基础,也就是第一,二次作业写一些简单的程序,不过因为在学习前期没做好准备,导致前几次作业菜的不忍直视,然后紧接着就是第二部分开是接触多线程,刚一接触感觉挺难的,学到现在其实也不简单,可能当时的思想出了问题,一直没能学好多线程,到后来工程化开发,慢慢缓了过来,再到最后的测试,撰写规格和正确性论证,分支覆盖等。对自己的代码进行检测。从编写到工程化测试,让我们学习了一套的流程。

  对自己来说,刚开始大部分人都没有Java编程经验,但是自己在初始时因为学习不够,导致前面菜的不行,写一个最简单的多项式计算很困难,不过经过慢慢的学习,bug也逐渐变少,开始有了面向对象的思想,知道该怎么去编程序。让自己的工程化开发能力有很大的进步。

  OO这门课,让我从基本代码编程都困难,到现在使编程能力有一个很大的提升。而且要感谢OO课程带来的紧迫的节奏,促使我在落下的时候不放弃,逼着我往前走。如果是平常的课,可能就随便放弃了吧。

  最后,我的天,OO终于结束啦。祝本课程越办越好~

posted @ 2018-06-25 16:00  sakura030  阅读(121)  评论(0编辑  收藏  举报