zoukankan      html  css  js  c++  java
  • oo第四次博客作业

    一、测试与正确性论证的比较

      测试只能说明程序是在这组样例下,程序是正确的,并不能说明程序本身的正确性

      而正确性论证就可以说明程序本身是正确的。

      测试的优点在于方便、快捷、有针对性,他可以在短时间内找到程序的错误点。

      但是测试无法说明程序是完全正确的。

      正确性论证虽然测试的成本高,更难以完成,

      但是正确性论证可以说明程序是完全正确的,逻辑更加严密,更容易使别人信服。

    二、OCL语言与JSF规格的比较

      

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

        对象约束语言是一种形式化语言,它主要用于表示UML模型中施加于模型上的约束。OCL具有如下特点:
        1、OCL是一种精确的,无二义性的语言
        2、OCL是一种规范说明性语言,所有有关实现的问题都不能用OCL来表达
        3、OCL是一种纯表达式语言,它是具有没有任何副作用的申明性语言。
        4、OCL是一种类型化语言,即OCL中的每一个表达式都是具有类型的。
        5、OCL不是一种程序设计语言,不能用OCL编写程序逻辑和控制流程。

     这两个都没有二义性,都是一种严格的约束语言,但是又有一点细微的不同之处。

     OCL语言有自己的变量,但是JSF可以自己定义变量。

     OCL不能编写程序逻辑和控制流程,但是JSF可以编辑逻辑。

    三、单电梯图示

    UML图:

    顺序图:

    状态图

     

    四、学期总结

    1.关系:

      我觉得四个模块之间循序渐进,让人有一种逐渐深入的过程

      一开始,大家啥也不知道,就从一个比较简单的程序开始

      之后,大家了解了一些东西,就可以进行比较复杂的操作

      之后,大家对面向对象的了解更加深入,就有了多线程的参与

      最后,当然要对自己的程序进行论证,所以就有最后的测试环节了。

    2.进步

      在设计层面上,我觉得我对面向对象的设计有了更加深刻的了解,一开始,设计的非常不好,也没有办法对之前的代码进行改进,如果有新的要求,那么就要重现写自己的代码,但是,之后因为每次都是新加要求,所以在设计上会考虑到以后的重构问题。并且在测试上,我也变得更加有针对性,更加全面,曾经只是瞎测,现在就有针对了。同样,代码质量也变得更好,以前的代码写出来BUG很多,在经历了一个学期写了很多代码之后,我就觉得代码质量变得更好了。

    3.工程化开发

      我觉得工程化开发是非常有必要的,因为大的项目往往是要有工程化开发的,所以我觉得应该推广工程化开发。

    4.对课程的期望

      改要求建议不要悄悄改,各个班要求希望统一。

  • 相关阅读:
    RHEL7挂载ISO做本地yum
    服务器虚拟化架构突出优势
    国内公共DNS
    世界上最小的发行版之一Tiny Core
    VMware v12.1.1 专业版以及永久密钥
    Webbench网站压力测试
    Web.xml配置详解之context-param
    SpringMvc自动代理
    SpringMvc aop before
    SpringMvc 面向切面1
  • 原文地址:https://www.cnblogs.com/kingice/p/9222255.html
Copyright © 2011-2022 走看看