面向对象课程 第五次博客总结

1、测试与正确性论证的比较git


同:都是对代码正确性的论证程序员

异:编程

(1)测试:多线程

  测试是随机产生知足前置条件的输入,经过比较输出和后置条件,从而论证其正确性。eclipse

  优:简单易行,对于测试者而言相对容易,能够更快地得到正误反馈,效率高。布局

  劣:测试是随机的,不能全面的覆盖到各个方面,极可能错在未考虑到的bug。单元测试

(2)正确性论证学习

  论证是哟啊根据规格和代码,进行逻辑分析,确保全部知足前置条件的输入都能获得知足后置条件的输出。测试

  优:形式化的逻辑推理,严格的论证,确保没有bug的存在。spa

  劣:可是逻辑论证中可能存在逻辑错误。

 

2、OCL语言和JSF规格的类似与不一样


 

  OCL语言是用来进行约束定义的形式化的无二义的语言。不会改变模型中的内容。

同:

  一、二者都基于谓词逻辑,采用了形式化的数学语言来进行描述。

  二、都有前置后置条件的约束。

  三、都没有理解上的二义性。

异:
  一、OCL支持上下文,可是JSF不支持;

  二、二者的语言符号不彻底相同;

  三、OCL的语言体系更加完善,能够表达更多的信息,而JSF更多的是一种辅助性的描述。

 

3、UML表示


 

  

 

4、学期总结


 

一、四个单元模块知识点的关系

第一个单元的三次做业难度很小,主要是为了让咱们熟悉JAVA编程,熟悉eclipse编译器,熟悉git的使用。第一次做业经过JAV程序与CPP程序的对比,让咱们的编程思惟做出改变。第二次做业的傻瓜电梯让咱们开始熟悉面向对象的编程方式。第三次做业是对面向对象的编程方式的一种增强训练。

第二个单元开始学习多线程,从最初的多线程电梯,到文件监控再到多线程出租车,多线程套餐是整个课程最难的一部分,也是花心思最多的做业。从最开始接触多线程电梯的一脸茫然,到后来多线程出租车的时候,实现安排好布局,从而可能出现的新功能预留接口,是本身的编程思惟的一种改良。

第三个单元是JSF的学习。经过预先写好规格,能够很大程度上简化咱们的工做,让编程工做有条不紊,事先的规划能够帮助咱们不管在编程仍是debug的过程当中,显得游刃有余。

第四个单元是测试和论证。JUnit单元测试和正确性论证能够很大程度上提升咱们的代码正确性,是对本身的代码的一种自检测,确保本身所写的代码拥有普遍意义上的正确性。

这四次做业俨然是从入门到精通的思路。从学习最基础的编程,到更高难度的编程,再到对自我代码的评判。按部就班,受益良多。要说的是,课程对于如何自检测本身的代码所用的篇幅不少,这也是一个程序员优劣的重要标志。

二、个人进步

通过四次做业,从彻底不懂面向对象的编程方法甚至不懂JAVA,到熟悉面向对象的编程手段,并体会这种方式带来的益处,学会了如何保证本身的代码质量而非简单的随缘debug,这不仅是简单的编程能力提高,更是从思惟上的一种转变。

三、对于工程化开发的理解

联系大二上学期的计算机组成原理课程的工程化开发方式,对工程化开发有以下理解:
一、工程化开发方式采用的是一种搭积木的开发手段,它能保证工程的普适性,不会由于我的的风格差别,致使整个工程的崩塌;

二、工程化开发方式是针对大型工程的开发所适应的手段,在针对小型工程是没有明显效果,甚至须要更多时间。这也是初学者不肯意学习这样的开发方式的缘由,限制了他们个性的发挥,而且枯燥。但这并不意味着这样的开放方式是无用的。这是从低阶到高阶的必经之路。

三、工程化开发方式经过一套完整的流程限制,增长编程流程,提升了复杂度,下降了思惟难度。

四、对课程的指望或建议

我的做为OO课程的受益者,可是刚开始不熟悉JAVA,经历了不少困难,但愿能够增长一到两次的基础做业,从而对于初学者更加友好。

但愿OO课程愈来愈好。

相关文章
相关标签/搜索