程序测试是指测试者特地挑出一批输入数据,经过运行程序,检查每一个输入数据所对应的运行结果是否符合预期要求。编程
正确性证实是论证程序达到预期目的的通常性陈述,而该论证与程序输入数据的特定值无关,可以表明穷举性测试。网络
(以上内容来自网络)多线程
根据个人理解,测试与正确性比较的最大区别在于测试只能证实程序有错误而不能证实其是彻底正确的,而正确性测试能够作到这一点。可是,对程序作正确性论证显然要比作测试困可贵多,所以采用哪一种方式要根据实际状况决定。测试
OCL(object constraint language)对象约束语言,是一种用于施加在指定的模型元素上约束的语言,是一种形式化的无二义的语言。OCL做为图形符号的补充,说明建模元素的有关细节。优化
相同点:没有二义性,具备抽象性。线程
不一样点:JSF规格能够描述方法的具体功能,但OCL语言不能够;OCL语言能够图形化表示,而JSF规格必须写成文字;JSF规格支持更多的运算方式,写起来比较自由,而OCL做为一种语言写起来须要更加严谨。设计
第一个单元主要是让咱们熟悉Java语言和面向对象编程的思想,这一单元的做业比较简单。第二单元是对面向对象编程的更深刻的理解,同时在第五次做业引入了多线程,这是整个课程的第一个难点。第三单元主要是让咱们更加熟悉多线程,学会线程间的同步控制,而且引入了规格化设计思想。第四单元主要是让咱们学会测试代码和论证代码的正确性。这四个单元的知识点按部就班,每个单元的知识点都对上一个单元的知识点作了深化和补充,四个单元学下来可让同窗们造成本身的知识体系。3d
还记得在第一次做业时,我用面向过程的方法很快就写完了此次做业。可是,为了训练本身的面向对象编程的能力,我在提交当天又把做业按照面向对象的方法从新写了一遍(当时我认为是面向对象了,可是如今看来依然问题重重)。在以后的全部做业中,我一直这样严格要求本身,几乎每次做业都要用大量的测试数据来测试本身的代码,并把结果与其余同窗比较,所以这么屡次做业下来我被报的功能bug比较少。对象
在课程前期,我写的代码里一个方法可能有几百行,而后从写出租车的做业开始,我尽可能精简本身写的方法,尽管在不断增长功能的过程当中有的方法仍然过了百行,可是我以为比起以前的做业已是很大进步。在互评的过程当中,我不多被报功能bug,对被测试者报的规格bug,我都会认真分析,而后每次都在完善本身的JSF规格描述,在完善规格描述的过程当中我常常能看到本身的方法写得很差的地方,而后我就顺手改正。通过几回优化,我以为个人最后一次出租车做业的代码已经能够说比较优秀(相对本身)。一学期下来,我真切感觉到了本身的进步,掌握了新的编程思想扩充了个人思惟,提高了个人眼界,让我对编程有了新的认识。blog
我认为就是要先设计,再编程。先设计每一个类须要干什么,每一个方法须要干什么,这个类的数据的有效范围,而后编写规格,最后实现代码。最后若是有时间,要对运行结果和方法正确性作充足测试。这样作能够把工程里的bug数降到最低。
但愿完善互测机制,而且在公布指导书以前尽可能消除歧义(我的以为可让助教把做业提早实现一遍,而后给助教多发点工资(ง •_•)ง),而后就没什么建议了。
身边好多人都在抱怨OO课可是我以为还好,课程的设计我以为没啥问题,最后祝北航OO愈来愈好吧。