OO第四次博客
Posted im73
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OO第四次博客相关的知识,希望对你有一定的参考价值。
1.测试与正确性论证的差异
测试:比较直观,通过编写测试代码,能够很快速的论证自己写的东西是否正确,缺点就是如果写的比较复杂,那么需要考虑到的情况就比较多,容易忽略某种情况,而且编写测试代码的时候也得保证自己的测试代码是正确的。
正确性论证:这种方式是通过仔细的看代码,观察逻辑,从中来论证所发现问题,需要对代码的逻辑结构有很深入的了解,而且如果代码的结构比较复杂,那么正确性论证所要写的东西要非常多,结构逻辑也很难做到很清晰。但对于少量的逻辑结构层次清晰的代码,这种方式还是挺奏效,包括对于发现错误及时改正。
2.OCL语言
OCL的基础是数学中的集合论和谓词逻辑,并且它有一个形式化的数学语义,但是它并没有使用某种数学符号。因为虽然数学符号能够清晰的、无歧义的表达事物,但是只有极少的专家可以看懂。所以数学符号并不适合用于一个广泛应用的标准语言。
自然语言是最易懂的,但是它是含混不清晰的。OCL取了自然语言和数学符号的折中方案,使用普通的ASCII字符来表达数学中同样的概念。OCL规范还允许你定义自己的OCL符号集,这点是可以理解的,因为OCL有一个清晰的数学语义。
与jsf相同点:都是用形式化规范的语言来清楚的表达代码的形式逻辑,但是OCL适用范围更广,可以定义自己的OLC符号集。
与jsf不同:jsf更注重与对代码结构的描述,而OCL在于在与对条件变量的约束。
3.流程图与类图
流程图
状态转换图
类图
4.学期总结
4.1 知识点关系
1.其实还是java语言的学习,熟悉java面向对象编程的思想。
2.掌握Java多线程的编程,包括多线程的设计,线程安全等等问题。
3.程序规范的问题,包括对与规格的编写,方法的设计问题。
4.只要是针对写出来的程序做一些正确性的论证,测试等等,保证自己实现的正确性。
4.2 设计,测试,质量
对于设计方面的话,首先就是面向对象的思想了,这个这个方面的确进步了不少,知道了一些设计模式的运用(但自己总是用得很僵硬,单例与工厂),包括多线程设计实现,在高并发的情况下如何满足线程安全的需求。此外还有就是对于问题的抽象方面,如何设计类之间的交互,抽象出共性的等等问题。
测试方面的话,是对于问题的测试设计不同的用例,测试不同的问题,包括一些边界情况的测试,另外对于实现方面的测试,比如IO接口的地方。
质量还是有所提高的,但还是远远不够,我想其实这是跟自己的设计密不可分的。设计需要更加的细致化,对于问题的理解也应当更加的细致。
4.3
对于工程化开发我觉得是一个好的开发环境,严格遵循开发流程,制作合理的工程表,还有就是人员之间良好的沟通是很重要的,当然在其间有很多细节需要我们把握,作为一个程序员我们除了要做好自己分内的事,还应该更多的去了解整个项目,只有这样才能使整个项目的风险降到最低。
4.4 对课程的任何期望或建议
对于课程没有期望。给我的感觉与大家的感觉相同吧。除此之外,感到这门课很费时间,虽然我知道这门课重要,这门课很好,但是某些课也挺重要的,学分也不低,考研还考(你懂我的意思吧)。对于课程就没什么了吧,此中有真意,欲辨已忘言。
最后还是感谢老师与助教的辛勤付出,你们终于出来了(滑稽。
以上是关于OO第四次博客的主要内容,如果未能解决你的问题,请参考以下文章