• 2018 春 面向对象 第15次作业


    2018 春 面向对象 第15次作业

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

    测试对于程序正确性的验证极其依赖于测试集的完备性与强度,正确性论证只是对程序是否实现了其规格进行了论证,这两者都不能完全保证程序的正确性。

    二、OCL语言调研

    Object Constraint Language

    对象约束语言(OCL)是一种声明性语言,描述适用于IBM开发的统一建模语言(UML)模型的规则,现在是UML标准的一部分。 最初,OCL仅仅是UML的正式规范语言扩展。OCL现在可以用于任何元对象工具(MOF)对象管理组(OMG)元模型,包括UML。对象约束语言是一种精确的文本语言,它在任何MOF模型或元模型上提供约束和对象查询表达式,否则这些表达式不能用图解表示法表示。 OCL是用于转换模型的新OMG标准建议中的关键组件,即查询/视图/转换(QVT)规范。

    作为基于规则的验证语言,Schematron可能被认为是OCL的替代品。 然而,Schematron适用于可扩展标记语言(XML)树,而OCL可以导航基于MOF的模型和元模型(即XML元数据交换(XMI)树)。 换句话说,OCL与UML或MOF相关联,类似于Schematron与XML的关系。 (请注意,Schematron使用XPath在XML树内进行导航。)
    作为一种模型规范语言,允许设计人员用无副作用的注释来装饰模型或元模型,OCL可以被Alloy等语言所取代。 通过自然语言如NL2OCL可以自动生成OCL。

    与jsf的相似之处,都有有效情况的上下文条件,都使用了数理逻辑语言等,不同点在于OCL没有放弃自然语言,jsf则显得有些自以为是了。

    三、类图、顺序图、状态图

    UML图

    顺序图

    状态图

    四、总结

    4.1. 四个单元模块知识点的联系

    第一单元为面向对象基础。

    第二单元为多线程编程。

    第三单元为设计规格。

    第四单元为测试与正确性论证。

    个人认为一二单元有渐进关系的联系,三四单元则显得生硬而无关。

    4.2. 自身进步

    java代码能力获得了一定程度的锻炼,对java的机制与特性有了更深入的理解。

    4.3. 对工程化设计的理解

    模块化与零散化。

    4.4 期望和建议

    减少作业量,大二下学期并不是只有一门课程。

  • 相关阅读:
    js-快速选择日期区间
    关于状态更新时间字段取值的问题
    MySql 前缀索引
    Java springMVC 多数据源的实现和使用
    哈哈哈,终于找到一个安稳的“家”了
    POJ 1724: Roads
    POJ 1221: UNIMODAL PALINDROMIC DECOMPOSITIONS
    createjs 用户画线 粗细bug Graphics setStrokeStyle() 粗细BUG
    GAudio是一个音频播放SDK
    新做的一个基于OPENGL的gui库
  • 原文地址:https://www.cnblogs.com/ShinriiTin/p/9224375.html
Copyright © 2020-2023  润新知