首页 > 其他 > 详细

OO第四次博客作业

时间:2018-06-25 00:38:59      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:时序图   能力   都对   寻找   规范   博客   包括   能够   分享图片   

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

  (1)测试

    测试,也就是通过实例输入得出的结果,并与正确结果相对比来寻找bug的过程,这种方法个人认为有以下几个优点:

    (1)操作简便

    (2)结果真实可靠

    (3)能够快速、准确和直观的定位bug

    但其也以下缺点:

    (1)对于复杂程序,个人构造的数据集难以判断是否正确

    (2)难以构造全面的数据集

  (2)正确性论证

    正确性论证,也就是分析需求、撰写规格后,通过严密的逻辑论证来验证程序的正确性,这要求我们完全理解需求,正确撰写规格,同时全面细致的分析代码是否实现了需求和规格,理论上来讲,这种方法应该可以做到全面覆盖bug。

    但是个人认为这也只是理论上,因为按道理来说,我们写程序的时候就应该是按照需求和规格去写的,那么为什么还是会出现bug呢,大多数情况存在bug是因为我们连需求和规格都没有完全理清,那么论证也只会是重复我们错误的逻辑,这也是我对正确性论证存在疑问的地方。

二.OCL语言调研与比较

    对象约束语言它是一种用于施加在指定的模型元素上约束的语言。OCL表达式以附加在模型元素上的条件和限制来表现对该对象的约束,其中包括附加在模型元素上的不变量或约束的表达式,附加在操作和方法上的前置条件和后置条件等。

    对象约束语言是一种形式化语言,它主要用于表示UML模型中施加于模型上的约束。OCL具有如下特点:

    1、OCL是一种精确的,无二义性的语言
        2、OCL是一种规范说明性语言,所有有关实现的问题都不能用OCL来表达
        3、OCL是一种纯表达式语言,它是具有没有任何副作用的申明性语言。
        4、OCL是一种类型化语言,即OCL中的每一个表达式都是具有类型的。
        5、OCL不是一种程序设计语言,不能用OCL编写程序逻辑和控制流程。

    OCL与JSF的相同点在于他们都是形式化的约束语言。OCL包括的不变量、前置、后置条件、监护规则对应着JSF中的repOK、REQUIRES、EFFECTS、MODIFIES。不同点在于OCL相比JSF要复杂的多。

三.图

  (1)UML图

技术分享图片

  (2)时序图

技术分享图片

(3)状态图

技术分享图片

四.学期总结

  (1)单元模块知识点关系

    第一单元是基础,让我们初学JAVA,了解面向对象编程,入门OO课程,为之后的单元做铺垫。

    第二单元是进阶,也是整个课程的重心所在,让我们了解多线程,开始对写代码有新的认识,掌握一些完成工程的技巧。

    第三单元是巩固,开始考虑代码的规格、规范和正确性,让我们在锻炼写代码能力的同时也考虑代码的规范性。

    第四单元是总结,引入自动化测试、正确性论证,通过多方面的完善使代码更加全面正确,也是对之前的三个单元做个总结。

  (2)进步

    首先在设计上再也不是盲目的开始直接写代码,而是先构思先布局,在开始动手。

    其次在测试上,掌握了多种测试方法,自己构造测试集,通过调试debug,JUnit自动化测试,正确性论证。

    最后是质量,可以说写完最后一次作业后,往前翻翻之前作业的代码自己都不愿意看了,也不是说bug少了多少,当然是少了,但是还有在代码风格,规范性等等各方面的进步。不得不说其实规范性,至少在代码的观感来说,还是有很大提升作用的。

  (3)理解

    工程化开发,它是一个完整的体系,它包括了需求、实现、完善一整个过程,它也是一种方法,是对一个问题的理解,把问题转化为工程,就有了一个程序化的解答方法,是循规蹈矩的褒义,它也是一个需求,是对程序的更高要求,因为工程是合作的体现,要求程序具有很高的易读性。

  (4)建议

    虽然大家都对OO怨声载道,但是回过头来看,这么14次作业也就一晃而过了,好像也没那么难,甚至总结起来发现原来自己竟然提升了那么多,还挺开心的。而且真的说不上什么建议,最多也就是希望课程能够拉长一些,因为作业的负担实在太重了,很大程度上影响了其他课程的学习。对于平时抱怨最多的互评、规格,想来想去其实也没什么改进的方法。

  最后,希望OO课程能够越来越好吧,也很感谢助教和老师们的辛苦付出!

 

OO第四次博客作业

标签:时序图   能力   都对   寻找   规范   博客   包括   能够   分享图片   

原文:https://www.cnblogs.com/jjjjjjjiyun/p/9222154.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号