码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象第四次博客

时间:2018-06-25 20:37:16      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:习惯   良好的   线程   基于   提高   目标   工程   情况   冲突   

测试与正确性论证差异对比

测试指为检测目标是否符合标准而采用特殊工具和方法进行验证。测试的优点在于你可以不用知道程序是如何实现的,直接输入测试样例,然后比较程序运行结果和正确结果,如果两者不同,就说明程序肯定有BUG。从中我们知道测试是快速方便的,它可以检测并定位一个程序的BUG。但是测试的效果很大程度取决于测试样例是否完善,如果不完善,就会遗漏一些潜在的致命的BUG,这也是测试最大的缺点。若要达到很好的测试效果,需要构造规模庞大的测试用例,这会消耗很多精力,而且你并不能保证这个庞大的测试用例已经覆盖了所有情况。

正确性论证需要测试者分析代码的需求和规格,深刻地理解代码。它的最大的优点就是可以覆盖程序的所有情况,若通过正确性论证,则可以说这个程序100%正确了。它的缺点就是如果代码量过大,消耗的精力是非常大的;如果代码量较小,也会消耗过多时间,这与测试相比是不值得的(因为测试在代码量较小时几乎能保证覆盖所有情况)。论证是建立在正确的规格与需求之上的,所以在论证前需要保证规格的绝对正确。

 

OCL与JSF的相似与不同

OCL,即对象约束语言,作为图形符号的补充,说明建模元素的有关细节。

相同点:OCL和JSF都可以用来描述对象及其行为的限制,都有前置条件、后置条件和不变量的概念。

不同点:OCL语言基于UML类图而JSF基于代码。OCL的标准更加完善,JSF要求使用布尔表达式,比OCL更加严谨。

 

第十四次作业图

1. 类图

技术分享图片 

2. 时序图

技术分享图片

3. 状态图

技术分享图片

 

总结

1. 知识点的关系

第一单元是基础入门单元,主要目的是在于让我们熟悉使用Java语言编写程序,通过构造程序,分析程序,更加深入地理解面向对象的概念。

第二单元主要是多线程编程,其难度断崖式地上升。在多线程的编程中,“线程安全”是一个始终被提及的点,这也是这个单元的核心内容。通过这一个单元的多线程程序训练,对多线程的实现机制、线程同步、冲突问题等问题的理解更加深入。

第三单元要求在写程序的基础上对程序的规格进行撰写与完善。课堂上介绍了JSF的规范书写和程序的规格化设计,通过作业更好地理解了规格的重要性。课程的重点由代码编写转移到了规格撰写与完善。

第四单元的重点转移到了测试,测试包括了Junit测试和正确性论证。通过这个单元的训练,丰富了我们的测试手段,提高了我们的测试能力。

这四个单元是循序渐进的,首先训练写代码的能力,然后补充程序的规格并对程序进行测试从而保证程序的正确性。这四个单元的训练目的在于让我们不仅能写出正确的程序,还养成了良好的代码设计习惯。

2. 程序的进步

在程序设计方面,之前写一个程序是先进行一个简单的构思,然后开始写代码,在写的过程中不断地添加与修改。而现在写程序,我会全面地对程序进行构思,比如说需要哪些类,这个类有什么属性和方法,这个类应该起到什么作用等。在经过细致地构思后,写代码就变得比较轻松了,修改的部分也少了很多。

在程序质量方面,之前写的程序的行数都是比较少的,功能也比较简单。经过这几个单元的训练后,写的程序已经有上千行,实现的功能也比较复杂。

在程序风格方面,之前的程序的变量与函数命名不够严谨,而且也没有进行规格的撰写,这导致了程序可维护性和可读性低。现在写程序会使用严谨的命名,对每个类和方法都会撰写相应的规格,代码的风格好了很多。

在程序测试方面,之前测试程序就是直接输入测试样例进行测试,忽略了每个类单独的测试。现在对程序进行测试,除了输入测试样例之外,使用Junit和正确性论证是很好的测试方法。

3. 工程化开发的理解

工程化开发,它是一个完整的体系,它包括了需求、实现、完善整个过程,其重点在于多人协作。在多人项目开发过程中,为了提高开发的效率,就需要项目的多个开发成员之间有着良好的沟通。为了成员能够较好地沟通代码,需要程序有着很高的可读性。因此规格化设计对于工程化开发是非常重要的。

4. 期望和建议

首先希望作业的难度能够降低一点,或者是延长作业的间隔时间。在这个学期的学习过程中,OO的确让我的编程能力提高了不少,也让我有了培养良好代码书写习惯的意识,但是占用的学习时间太多了,很大地影响到了其他科目的学习。除此之外,互测机制还是存在一些问题的,希 望这个机制能够更加完善。最后,感谢老师们和助教们的付出,希望这门课能够越来越好。

面向对象第四次博客

标签:习惯   良好的   线程   基于   提高   目标   工程   情况   冲突   

原文地址:https://www.cnblogs.com/pyroti/p/9225709.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!