oo第四次博客作业

OO第四次博客作业

测试与正确性论证的效果差异

测试:我们需要编写尽可能多的测试样例,来覆盖我们的程序功能,结果直观,调试后容易发现问题,覆盖能力少稍差,决定于测试样例的质量;

论证:逻辑上的论证,需要对代码进行进一步的抽象,免去了编造测试样例的大量工作,覆盖性比较全面,但是比较抽象。

OCL语言与JSF规格

The Object Constraint Language (OCL) is a declarative language describing rules applying to Unified Modeling Language (UML) models developed at IBM and is now part of the UML standard. Initially, OCL was merely a formal specification language extension for UML.[1] OCL may now be used with any Meta-Object Facility (MOF) Object Management Group (OMG) meta-model, including UML.[2] The Object Constraint Language is a precise text language that provides constraint and object query expressions on any MOF model or meta-model that cannot otherwise be expressed by diagrammatic notation. OCL is a key component of the new OMG standard recommendation for transforming models, the Queries/Views/Transformations (QVT) specification.

(摘自维基)

与JSF相似之处

  • 均为形式化约束语言,在程序中进行无二义的逻辑约束;
  • 结构相似:前置条件,后置条件,不变量……
  • 可与代码具体的实现无关;

不同之处

  • OCL有更加严格的规范;
  • OCL表现力更强;
  • JSF是OCL极大自由化的表现形式;

类图

时序图

状态图

学期总结

四个单元模块知识点之间的关系

模块一

重在练习java面向对象程序编写,理解面向对象编程的思想;

模块二

接触多线程,学习多线程的编写,同时开始完善、优化自己的代码设计结构;

模块三

更加深入的了解多线程的编写,更加注重规格的编写,在好的规格风范下,我们的程序有了更好的可读性以及规范;

模块四

主要是对第三次作业进正确性论证,验证前面的设计;

梳理与进步

  • 一个学期的学习,我从一个不会java编程的小白,到进行多线程的编写,从三个类到十几个类的增长;
  • 对于对象的封装做的更好了,程序也越来越有面向对象的风格。代码规范也向“高内聚,低耦合”的思想靠拢;
  • 代码结构变得更加的清晰可读,代码结构有了很大的优化;
  • 对功能相对较大,需求更加复杂的程序有了更好的掌控力;

对工程化开发的理解

  • 就是不断对新增的要求进行阅读理解,实时修改我们的设计,因此我们的代码的可扩展性要十分的强;
  • 对代码有严格的规范控制,符合相同的规范,是自己的代码能够契合他人的程序,是的团结协作变得简单;

期待和建议

对于这门保受非议的课程,我们应该听取群众的呼声,同时也要理解课程组的艰辛。我希望这门课程能够真正作到双向,老师认真听取学生的建议,学生认真完成老师布置的任务。而不是学生一个劲的埋怨,课程组一个劲地解释。oo这门课程其实是一门很有意思的课程,很另类,希望能越办越好。

posted @ 2018-06-25 15:41  paradox_town  阅读(245)  评论(0编辑  收藏  举报