oo第四次作业总结

一。测试与正确性论证

  测试主要是考虑程序的逻辑,根据不同的情况考虑输入数据,通过输出与正确输出的对比来判断程序是否有bug。这种方法仅能证明程序有bug,即无法证明程序没有bug。但在于我们现在的作业中,通过测试已经能够想当程度保证程序的正确运行。

  而正确性论证,则是对程序的各方法在逻辑层面进行推理,可以保证方法的正确性。但是能够进行正确性论证的方法不能太复杂,同时正确性论证 的过程较为繁琐复杂。

二。OCL语言

  对象约束语言简称OCL(Object Constraint Language),它是一种用于施加在指定的模型元素上的约束语言。OCL表达式以附加在模型元素上的条件和限制来表示对该对象的约束。

  同:OCL和JSF都通过了前置后置条件来描述方法;两者都是精准的、无二义性的语言;OCL的操作表达式和jsf的Effect具有相同的作用

  异:OCL包括了表达式,用于描述的一般性规则

三。基于第十四次作业

  uml类图

    顺序图

  顺序图是将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线

状态图

状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。通常我们创建一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。

四。总结

1.

  第一单元主要目的是帮助我们的面向对象语言入门,以及帮助我们养成面向对象的思想,开始我以为自己把握到了面向对象的思想,但后来回头看到自己的代码,才发现自己依然是依赖面向过程的思想来书写程序,即使是现在对于面向对象的思维,依旧需要提高,

  第二单元开始了多线程程序,这是一种全新的体验,这要求我们对于程序在开始就有很好的设计,能够依赖模型,设计线程安全的程序。而且在测试bug时,传统的测试方式也有了局限。这段时间我觉得是oo课程最为辛苦的部分,但是我觉得这对我来说也有很大的提高,让我的逻辑思维能够更加的严谨。

  第三单元主要是工程化规格的描写。这段时间,对于程序的设计完成不会像前两个单元那样辛苦了,但是更需耐心,规格描写,让我对类、方法的设计有了新的思考,更加清楚的让我认识到我之前代码没能做到功能的分离。不利于拓展维护。

  最后一个单元或是对之前总结,以及对程序正确性论证。

2.

  现在回头看到了自己之前的代码,emmm,觉得内心复杂,实在丑陋··现在能够在开始程序书写前,进行完整的设计,能够合理的划分功能,相对开始时,相当程度减少了类间的耦合。

3.

  我认为工程化开发最终要的是能保证规整,能够程序员之间较轻松的交换程序。同时,各部分程序需要做到高内聚,低耦合,如此才能做到高效的合并工作,以及维护工作。

4.

  事实上,我对oo课程并不像许多同学那样有着不轻的怨念,或许是因为我互测时的对象都保持着友好尊重且理性的态度。同时我确实觉得oo课程的作业量是相当的大,导致我将大部分课余时间分配于oo课程,而导致其他课程的时间减少。但是,我也体会到了大训练量带来的好处,我感觉我的编程能力有了切实的提高,我认为课程组改进的方向在于,保证学生有着足够用于其他课程的时间与保证训练量两方面的平衡。

原文地址:https://www.cnblogs.com/a-cloud---/p/9225875.html