OO第四次博客

测试与正确性论证的效果差异

首先是关于测试,对于第十三次作业中所使用的对于方法的测试主要是依赖规格对方法的正确性进行测试,可以很快速的检查自己程序中的bug,但如果一个方法的规模比较大,代码行数比较多,里面的判断条件很多的话,很容易自己也无法掌握程序,难以验证。

而在第十四次作业的正确性论证可以对所检查的类与方法做到完全的验证,但是相比较于测试,正确性论证所需要做的工作更多,不止要论证,在遇到大的方法时,常常需要将其拆分,这样做确实可以使程序正确性更高,但在工作量更多了。

OCL与JSF

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

相同之处:

       1:都使用表达式来表示和限制,因此都是一种无二义性的语言。

       2:都只是一种规范说明性语言,对程序实现无影响。

       3:都使用的前置后置条件。

不同之处:

      1:作为一种成熟的标准的语言,OCL对程序的限制等更为完备,精确。

      2:OCL预定义的标准类型定义了一组基本类型和集合定义。JSF没有,但JSF可以 使用这个类中的属性和传进来的变量。

      3:除了前置条件与后置条件,JSF还有MODIFIED。

类图

 

时序图

 

状态图

 

 

总结

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

首先是第一单元,第一单元主要是对java编程的一些认知以及对面向对象的初步认识,对以后的程序做铺垫。

然后是第二单元,开始认识多线程,对多线程的进行学习并深化,更加对java的面向对象编程训练与提高能力

再之后是第三单元,对出租车系列作业的设计以及规格的完善设计,将前面所学知识再次加强,主要是对于规格的认知

最后是第四单元,主要是测试与正确性的论证,对已经完成的作业进行测试,了解一个程序在写完之后的测试环节

梳理实现程序

        经过这么多次的java程序设计之后,对于自己的程序,变化还是很大的,在开始的时候,对于java的了解不是很多,再加上自己写的很蠢,因此每个程序的类的实例化用的不多,对于类,类之间的代码规模相差很多,没有对类进行一个好的规划,类内的方法也常常是只有几个,然后一个方法就是一二百行,这样在写程序时很复杂,debug时也很麻烦,错误很多。而在不断地学习,不断地了解了java之后,对于程序的设计也加强了很多,代码更加清晰,bug数量减少,debug也很轻松。

工程化开发

        对于工程化开发,我不是很清楚,因此我大致想了一下,应该是想说关于JSF规格问题。在实际的开发过程中,对于一个巨大的程序,是需要很多人来完成的,这之中将面临这很多的问题,在本门课中应该就是想说在不同人之间合作时或者在其他人想要对程序进行理解时有关程序的问题。如果是这样的话确实有一个统一的规范更好,有一个一般的规格可以不必去具体理解程序实现,对于工程开发有很大的好处。

期望和建议

        对于这门课,我觉得这门课的大致已经定下来了,难以做出大的方面的改变了,因此,我觉得大的方面的建议也没必要提了,我就只提一下具体的细节方面的建议。

        虽然测试很重要,但我还是觉得再多给一些时间给写程序

        作业难度的把握不是很好,我觉得可以难度递进的方式,然后前几次作业的难度可以降低一点

  

原文地址:https://www.cnblogs.com/fyd123/p/9225611.html