首页 > 其他 > 详细

OO第四次博客作业

时间:2018-06-25 19:24:32      阅读:193      评论:0      收藏:0      [点我收藏+]

一、 测试与正确性论证的效果差异及优缺点


 

测试:基于前置条件和后置条件对输入划分并抽样产生测试数据,检查方法执行输出 是否满足后置条件

? 优点:易于实施,工程广为采用

? 缺点:无法确保正确性

论证:针对格式化的规格和代码实现,人工方式对代码逻辑进行分析,确认是否所有 满足前置条件的输入都能产生满足后置条件的结果

? 优点:折衷,形式验证与自然语言层次逻辑推理相结合

? 缺点:无法确保自然语言层次逻辑推理的严谨性

二、 OCL语言


 

  对象约束语言,简称OCL,是一种指示用户建模系统中的限制方式。它是UML可选的附加内容,可以用来更好地定义对象的行为,并为任何类元制定约束。

  在对象约束语言中,对象代表了系统的组件,它定义了完善的项目,约束代表限制,而语言并非是指一种正式的计算机语言。

  OCL是一种形式语言,可以应用于任何实现方式的非正规语言。对象约束语言对UML中图形或其他组件都没有控制权,它只是在使用时返回值。OCL并不能修改对象的状态,而是用来只是对状态的修改何时发生。

  OCL表达式以附加在模型元素上的条件和限制来表现对该对象的约束,其中包括附加在模型元素上的不变量或约束的表达式、附加在操作和方法上的前置条件和后置条件。

  相比之下,jsf使用起来就比较简单快捷了.带来的副作用就是由于符号系统的不足,很多程序的表达上比较困难。


UML类图

 

 

技术分享图片

时序图

技术分享图片

状态图

技术分享图片

四、总结


 

 

1.第一个单元的作业我们初步认识面向对象程序的结构特点,区分过程式程序与面向对象程序在结构上的主要差异;如何把程序功能“均衡”分配给多个类,如何让多个类之间进行协同,掌握如何使用继承构造逻辑处理层次。第二个单元我们学习了对象运行机制、线程交互、线程安全设计。第三个单元我们学习了过程规格设计、类规格设计、设计原则。第四个单元我们学习了自动化测试、基于规格的程序正确性证明、程序的模型表示。

 2.第一个单元的几次作业我那时候还不懂得如何用面向对象的思想写,所以那几次作业都是用的面向过程的方法。第二个单元的几次作业,因为是在前几次作业的基础上写的,所以用写越难受,到最后一次电梯作业——多线程电梯无效了一次。那次以后,我决定学会用面向对象的方法写。后面几次的作业一次比一次写得好,bug也少了很多。然后慢慢的思考如何把代码写的更加简洁。在写第十三次作业的时候我把之前的代码重写了,代码长度从以前的800多行缩减到了500多行。

 3. 工程化开发方式是针对大型工程的开发所适应的手段。工程化开发方式通过一套完整的流程限制,增加编程流程,提高了复杂度,降低了思维难度。

 4.希望对于恶意扣分的行为严惩,比如有些同学拿到作业后第一件事就是看又没有泄露个人信息;一个错误可能会导致多个测试点都出错,那么这一个bug可能会导致重复扣分,这样影响公平。作业难度分配不合理,电梯几次作业明显要比出租车几次作业难。

 

OO第四次博客作业

原文:https://www.cnblogs.com/mengxiangjing/p/9225768.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!