oo第四次博客总结

1、测试与正确性论证差别对比多线程

测试,顾名思义,就是用一些有意义或无心义的输入去检测程序的正确性或鲁棒性,因其直观明了因此在写简单的程序时咱们能迅速找出bug并加以解决。而且,这种方式是绝对客观的,只要和正确结果不匹配那么程序就必定存在一些问题。测试最大的缺点即是没法彻底覆盖全部状况,即便很大的测试数据也可能跑不出来某些细微的bug,但这种bug有多是致命的。工具

正确性论证则是从代码逻辑角度去分析代码,它的好处即是能够彻底覆盖程序的全部状况并加以分析,只要分析不出错就能保证程序不出错,但这种方法的缺点也比较明显,须要耗费大量时间和精力去完成这一工做,而且这种方法的正确性是创建在规格正确的基础之上的,一旦规格不完善也将致使该方法出现纰漏。学习

总之,两种方法各有利弊,在面对复杂程序时两种方法都显得比较吃力,但若只考虑正确性,那正确性论证无疑要比测试来的可靠。但若是程序自己实现的功能很少,那么靠测试用例轰炸一番基本就不会遗留bug了。测试

2、OCL与JSF对比spa

OCL语言(对象约束语言)是一种用来进行约束定义的、形式化的、无二义性的语言,用来阐明建模元素的某些细节。线程

相同点:设计

两者均是声明型语言,不会改变描述对象的内容,而且两者都是形式化的、规范的无二义性语言,都有前置条件、后置条件和不变式。对象

不一样点是OCL语言具备高级数据类型,而且它基于上下文给出,而JSF则是针对方法用布尔表达式描述相关条件,而且没有新的语言元素的参与。此外,两者的语法差别较大,OCL中有许多既定名词和JSF中不一样。blog

3、第十四次做业的uml图开发

一、uml类图

二、uml时序图

 

三、uml状态图

4、学期总结

一、知识点总结

这一学期咱们学习了四个单元的知识。系统的了解了面向对象程序设计的过程以及工程化的开发过程。

第一单元做为基础入门单元,介绍了面向对象程序的特色及描述方法等,让咱们对面向对象有了初步的了解;

第二单元开始,咱们的程序设计就有了质的飞跃——开始写多线程程序。这一部分介绍了多线程的实现机制、线程同步、冲突问题等,让咱们对多线程程序有了必定的认识;

第三单元则在多线程程序的基础上添加了规格描述的过程,主要介绍了JSF的规范书写和程序的规格化设计,这一部分重点就开始从写程序转移到设计与规范了;

最后,第四单元着重介绍测试,包括JUNIT测试和正确性论证,重点又从规格转移到了测试。

总的来讲,这是一个按部就班的过程,但不足点我以为在于规格应该提早一些,由于它是一个总体的构造策略,而不是写完再去根据程序补充规格。

二、我的程序总结

通过这一学期的学习和磨练,我在写代码上的功夫又上涨了,的确比之前更加熟练。但从设计方面来说,我以为个人提高并不大,由于我自己代码基础比较薄弱,每次写程序以前都要绞尽脑汁去想这个程序到底要干吗,也把每一部分的功能大体想好了,这里就有些思惟定式的东西在里面,因此以后介绍的设计思路我并无借鉴太多,仍是根据本身的想法去设计这个程序(完美的本身的节奏-_-||);

谈到测试上的改变,我以为Junit算是一个比较不错的工具,而且我在构造测试样例时也会从程序的逻辑出发去找一些尽可能刁钻的数据,而不是像最开始的多项式直接开始轰炸。可是关于正确性论证我仍是以为比直观的测试来的复杂,这一块由于也没有后继做业我也就没有过多探究,也从未采用这种方式去验证个人程序;

最后,谈谈最关键的写代码环节。这一学期的做业写下来我写代码更加熟练了,这点是毋庸置疑的,而且也开始向大佬们学习分好多方法,也逐步有了本身的代码风格。面对一个复杂的需求也不太发怵了,也能按部就班地去试着完成它。我以为这一点上我收获很大。同时,互评阶段了解其余同窗的设计思路对我也有必定帮助。

三、关于工程化开发

首先,我我的以为工程化开发不该该是一我的的事情,应该是许多人按照某种约定的规则去开发同一个东西,而且相互之间了解彼此的想法、看懂代码都不是问题,oo这门课虽然有工程化开发中的规格设计、验证等环节,但终究是本身作给本身看,互评的同窗只会把它当作一个扣分点,总的来讲,仍是由于没有合做关系的产生,才让工程化开发的理念和方法在这门课上显得如此鸡肋(JSF除了能被扣分还能干嘛?我相信这应该是不少同窗的想法),可是若是这门课设计一个合做环节,并规定几个合做者之间的工做范围,这样工程化开发的价值有可能就会被同窗们发掘出来。

四、指望和建议

就如同我刚才分析的,但愿这门课能开发一个合理的合做环节,以此来体现工程化设计的价值,同时减轻同窗们的负担。而且,但愿这个互评机制能更合理一些(虽然具体怎么作我不太清楚,但目前这个机制必定是存在问题的,否则不会致使几乎全部同窗都对这个机制有意见)。最后,但愿指导书能再完善一些,而且发布的时候就是最终的版本,不要再改来改去了。

总的来讲,这门课锻炼了我写程序的能力,我也能写出以千行为单位的程序了,并且还能正确运行。我以为就已经够了。

相关文章
相关标签/搜索