OO第四次课程总结分析

OO第四次课程总结分析java

测试与正确性论证的效果差别及优缺点 安全


  测试,即便用测试样例来验证咱们的程序是否能完成相应功能的过程。测试数据的产生基于前置条件和后置条件,经过执行测试数据检查方法输出是否知足需求。由此,测试的优缺点显而易见。优势是易于实施,能够针对特定的功能构造相应的测试数据去加以检验,好的测试数据能有效及时地发现错误;缺点是咱们构造的测试数据并不能彻底保证覆盖到了全部的状况,即咱们没法保证程序的正确性,程序可能还存在咱们未发现的bug。多线程

  正确性论证,就是针对规格化的代码,经过对代码逻辑进行分析,确认是否全部知足前置条件的输入都能产生知足后置条件的结果的过程。其优势是能够保证程序的正确性(固然前提是规格得写的正确);缺点是验证过程比较耗时间,且没法保证天然语言层次逻辑推理的严谨性。并发

  由于是最后一次做业才用到正确性论证,尚未真正感觉到正确性论证的强大之处,如今几乎仍是用测试来进行论证,但不能彻底保证正确(内心没个底),从此会试着使用正确性论证来论证本身程序的正确性。框架

OCL语言与JSF规格测试


  OCL即对象约束语言(Object Constraint Language),是一种指示用户建模系统中的限制方式,它是UML可选的附加内容,能够用来更好地定义对象的行为,并为任何类元指定约束。是规范说明性语言,具备精确、无二义性的特色。spa

  两者的相同点在于他们都是一种形式语言,在程序中进行无二义的逻辑约束。两者表达式也基本相同,OCL包括附加在模型元素上的不变量或约束的表达式、前置条件、后置条件和监护条件等,而JSF格式上有repOK(),前置条件,后置条件和Modifies。线程

  两者的差别在于OCL的能力比JSF要强,能够约束附加在模型元素上、操做上等,比较自由,OCL也具备强大的可计算性,相比之下虽然JSF功能上并无OCL丰富,但也能进行规范,且有着方便快捷的优势。设计

第十四次做业对象


类图

顺序图

状态图

学期总结


  • 四个单元模块知识点之间的关系

   第一单元重要是体会java和面向对象的思想,从面向过程转向面向对象。

   第二单元初步引入多线程,程序可同时处理多个任务,功能更加丰富,同时也引入了同步与并发安全的问题,在设计上要考虑避免资源共享等问题。

   第三单元引入规格化设计,软件工程发展到现在,规格化的程序尤其重要。不能只一味地追求实现功能便可,应该在实现功能的同时,也要考虑程序的规范性。

   第四单元主要是关于测试及论证,经过测试及论证等方法来验证程序的正确性。

   经过分析发现,课程安排并不失其可理性,是一个按部就班的过程。

  • 梳理与进步

   程序框架上,从一开始的一类一方法到如今的多类多方法,类的分工,各个方法的工做分配比以前更加成熟。

   程序逻辑上,经过规格化设计,程序的逻辑比以前更加清晰,可读性有所增强。

   工程化思想获得增强,再也不以本身能看懂为中心,应作到以人为本。

  • 对工程化开发的理解

   工程化开发,基本上是要与人合做,再也不像写做业那般想怎么写就怎么写,只要实现便可;工程化开发团队每一个人有各自的分工,因此规格化设计就显得尤其重要,须要考虑的事情再也不只是单纯地功能实现,变量的命名、程序的可移植性、用户的体验等,这些都是工程化开发中必不可少的因素。此外,用户的需求是多变的,程序的鲁棒性也有很高要求。

  • 指望与建议

  建议嘛,其实指导书能够进行一些改进,也省去了一直问助教的麻烦,可能有些要求改了在群里说过但被刷了没发现,就很痛(建一个需求改动通知群?),大体就是这些吧;最后指望课程能越办越好,同时也要感谢老师和助教一学期以来的付出!

相关文章
相关标签/搜索