测试与正确性论证  


测试

  所谓测试,简单地说,就是构造测试样例来检测自己的程序是否存在bug。

优点

  • 自主性、针对性强;
  • 结果明朗,有说服力。

缺点

  • 无法全面保证程序没有任何问题。

正确性论证

  从代码出发,一句一句地从正面一步步论证自己程序的正确性。

优点

  • 能覆盖到每一条代码,覆盖面广
  • 且正确的情况下能保证程序已实现功能的正确性。

缺点

  • 论证者论证时逻辑可能不严密,且当方法过长时对论证逻辑的要求过高。

OCL语言


  对象约束语言简称OCL(Object Constraint Language),它是一种用于施加在指定的模型元素上约束的语言。OCL表达式以附加在模型元素上的条件和限制来表现对该对象的约束,其中包括附加在模型元素上的不变量或约束的表达式,附加在操作和方法上的前置条件和后置条件等。具有如下特点

  1. OCL是一种精确的,无二义性的语言
  2. OCL是一种规范说明性语言,所有有关实现的问题都不能用OCL来表达
  3. OCL是一种纯表达式语言,它是具有没有任何副作用的申明性语言
  4. OCL是一种类型化语言,即OCL中的每一个表达式都是具有类型的。
  5. OCL不是一种程序设计语言,不能用OCL编写程序逻辑和控制流程。

比较

  与jsf相比,都是一种有规范的说明性语言,没有任何副作用;但OCL的约束更大,语言也更加严谨。


类图

oo第四次博客

时序图

oo第四次博客

状态图

oo第四次博客

总结


  • 凡事入门难,第一个单元主要训练我们对于面向对象这一思想的理解以及java基本语法的掌握;第二单元开始接触多线程,并由浅入深进入到线程安全问题上;第三单元开始涉及到规格的问题,主要在进一步掌握多线程的基础上学习了规格化设计相关;最后一个单元则让我们自己进行设计、论证。
  • 从刚开始的多项式,再到电梯、ALS电梯、多线程电梯,经历文件IFFFT后过渡到出租车再到最后的自我测试、论证,自己经过这门课的学习共有入门java->深入java->学习多线程知识->练习线程安全->自我测试、论证->规格化设计这几个过程,一步步走过来,收获颇多。
  • 工程化设计,自己的理解,简单地说,就是在做之前先规划好自己的项目,并且在简单与复杂之间找一个平衡点来让简单、复杂的设计想这个平衡点靠拢以求得后期的调试、冗余。

相关文章:

  • 2021-07-03
  • 2021-12-26
  • 2021-08-28
  • 2022-02-15
猜你喜欢
  • 2021-07-12
  • 2021-11-05
相关资源
相似解决方案