一、论述测试与正确性论证的差异

  我认为论述测试代表从理论的角度来进行运行正确性的判断,而正确性测试则是从实践的角度来看待程序的正确性问题。两者之间有着明显的差异。

正确性论证是仅仅从代码的逻辑结构方面来分析代码实现的正确性,这需要测试者对于被测试程序结构以及其要实现的功能的充分了解,这对于一个素昧平生的测试者来说可能是很难的。但是从另一方面来说,如果测试通过就能保证程序在逻辑方面是完全可靠的。

而论述测试更多的是从实际出发,有对整体功能实现的测试,也可以对单个方法测试,这种方法有相当大的灵活性,但是却不能保证代码实现的正确性。

二、JSF与OCL异同

  两者都是采用前置条件与后置条件,对于方法实现的过程不给予太多的关注。同时两者都是要求前置后置条件的描述必须使用数理化逻辑,这也出现了许多数理化逻辑难以描述的困难。

不同的是JSF还要求对于modified的描述,便于更好的对方法内部改变的成员变量的监控。

三、

状态图:

类图:

顺序图:

四、总结

  这个学期在我看来是非常充实的,OO这门课程让我学会了很多东西,首先java这门编程语言的使用自然是不用多说,最重要的是面向对象思想,以及如何将这种思想体现在自己的代码上,回顾自己第一次的代码,确实还是没有摆脱大一时候的面向过程编程思想,虽说也分了几个类,大不过是敷衍了事,并没有理解其中的奥秘,就好像一个裸身,没有任何的修饰。随着课程的深入,线程并发执行,程序的规格,正确性论证等等,也是为了能让我们养成良好的编程习惯,减少程序的错误,自己的程序也开始渐渐换上了衣裳,成员变量的保护,方法的缩减,逻辑的清晰,虽然还远远未及工程上的要求,但是不管怎么说还是有很大的进步,从一开始连java都不会,慢慢会写规格了,真开心!?

  课程的安排还是很合理的,第一单元讲设计,设计是一个程序实现的基础,良好的设计是后面所有过程能够完成执行的基础,第二单元开始线程并发,这几次作业难度还是很大的,不仅是类里面的良好设计,同样重要的是线程之间同步与互斥,做好了同步才能保证对于共享区域的读写不会出现问题。再到后面的规格,正确性论证,都是为了规范化我们的代码,为了能让他人更好的理解我们的代码。

  所谓工程化开发,我认为是一种在实际开发中经常用到方式,工程化开发有几个很明显的特点,包括代码的可读性,可延展性等等,这些都是为代码的合作做准备,因为工程化开发不可能所有的事情都由一个人来完成,所以当一个人在编写程序的时候,不仅仅只需要考虑自己代码的功能完整性,还需要考虑自己的代码的可读性,对其他程序员是否友好,合作与发展是当今社会的主题,这同样也体现在了工程化开发之中。

  对于课程组的建议就是是否能够将课业负担分配的都平均点,就是希望每次作业都像多线程电梯那么难,的工作量平均分配,对于前几个班他们周三要上课,碰巧前部分的作业更难,所以经常熬夜,对身体不好。

OO第四次作业的更多相关文章

  1. 【OO学习】OO第四单元作业总结及OO课程总结

    [OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类 ...

  2. oo第四单元作业总结暨课程总结

    oo第四单元作业总结暨课程总结 一.本单元作业架构设计 本单元需要构建一个UML解析器,通过对输入的UML类图/顺序图/状态图的相关信息进行解析以供查询,其中课程组已提供输入整体架构及输入解析部分,仅 ...

  3. OO第四单元作业总结以及课程总结

    第四单元总结--UML 第四单元作业架构分析 第一次作业其实是本单元三次作业中最难的一次.由于第一次是第一次作业,要考虑到搭建框架和设计架构,这次作业的思维性很强.在了解了各个类型元素(Element ...

  4. UML结构与解析——BUAA OO第四单元作业总结

    UML与解析架构 UML是什么 统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编 ...

  5. OO第四单元作业小结

    一.本单元两次作业的架构设计 1.第一次作业 整体思路:以class为核心,建立MyInterface.MyAttribute.MyOperation.MyAssociation四个类分别储存每个类的 ...

  6. 北航OO第四单元作业总结(4.1~4.3)及课程总结

    前言 在学习过JML规格描述语言之后,本单元进行了UML(Unified Modeling Language)的学习.和JML单纯用语言描述的形式不同,UML通过可视化的图形形式,对一系列有关类的元素 ...

  7. OO第四单元作业总结及课程总结

    一.本单元作业架构设计 1.第一次作业 本单元首次接触到UML以及相关概念,在面对第一次作业时首先花了很大功夫去阅读官方接口中各种UmlElement的代码,才理解了输入的模型元素中各属性的含义.总的 ...

  8. OO第四次作业总结

    一:测试与正确性论证的效果差异 首先,测试和正确性论证都是对程序的可靠与否,是否有误进行测试,从整体上来看,测试多偏向于实践,而正确性论证则大多偏向于理论. 测试:测试首先是构造一组测试样例,之后将程 ...

  9. oo第四单元作业总结

    一.本单元两次作业的架构: 本单元两次作业的架构基本是一致的,所以两次作业的架构就一起说了. 为了避免查询时出现同一个结果反复计算的情况(连续两次查询一个类的顶级父类,如果我们在查询的指令中来计算其父 ...

随机推荐

  1. hive参数配置详细

    hive.exec.mode.local.auto 决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行) true hive.exec.mode.local.auto.i ...

  2. 2018-2019-2 20165303《网络对抗技术》Exp2 后门原理与实践

    实验内容 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主机操作Shell, 任务计划启动 (0.5分) (3)使用MSF meterpreter( ...

  3. 记一次linux上的ftp搭建过程

    最近公司测试环境需要搭建ftp,正好自己稍微有点空且这方面确实不会,就自告奋勇说让我先试试,玩炸了你们再帮忙重装系统重新搭吧(手动滑稽),虽然最终是完成了,但是中间磕磕碰碰遇到一些小问题,到处查百度, ...

  4. 654. Maximum Binary Tree最大二叉树

    网址:https://leetcode.com/problems/maximum-binary-tree/ 参考: https://leetcode.com/problems/maximum-bina ...

  5. docker容器自动化部署(一)

    1.docker容器暴露多个端口 To expose just one port, this is what you need to do: docker run -p <host_port&g ...

  6. 【jQuery、Express.js】AJAX提交Form

    HTML/CSS代码 构建onclick事件 <div class = "row"> <div class = "col-md-10"> ...

  7. mpvue学习笔记(一) 基础介绍

    一. 小程序环境搭建 后台地址:https://mp.weixin.qq.com/ 文档地址:https://developers.weixin.qq.com/miniprogram/dev/ 注册账 ...

  8. JS数组映射详解

    现在这里占个坑位,免的忘了,需要整理一下最近的内容: 1.数组映射的使用 2.微信分享功能详解 3.jq自己封装 4.HTML的富文本应用

  9. 第二天:python的函 数、循环和条件、类

    https://uqer.io/community/share/54c8af17f9f06c276f651a54 第一天学习了Python的基本操作,以及几种主要的容器类型,今天学习python的函数 ...

  10. Oracle查询语句导致CPU使用率过高问题处理

    解决此问题的关键在于如何找到造成CPU使用率过高的SQL语句.步骤如下: 1.使用Process Explorer工具查看到Oracle进程,双击Oracle进程,在弹出的属性窗口的Threads选项 ...