OO第四次作业
一、论述测试与正确性论证的差异
我认为论述测试代表从理论的角度来进行运行正确性的判断,而正确性测试则是从实践的角度来看待程序的正确性问题。两者之间有着明显的差异。
正确性论证是仅仅从代码的逻辑结构方面来分析代码实现的正确性,这需要测试者对于被测试程序结构以及其要实现的功能的充分了解,这对于一个素昧平生的测试者来说可能是很难的。但是从另一方面来说,如果测试通过就能保证程序在逻辑方面是完全可靠的。
而论述测试更多的是从实际出发,有对整体功能实现的测试,也可以对单个方法测试,这种方法有相当大的灵活性,但是却不能保证代码实现的正确性。
二、JSF与OCL异同
两者都是采用前置条件与后置条件,对于方法实现的过程不给予太多的关注。同时两者都是要求前置后置条件的描述必须使用数理化逻辑,这也出现了许多数理化逻辑难以描述的困难。
不同的是JSF还要求对于modified的描述,便于更好的对方法内部改变的成员变量的监控。
三、
状态图:
类图:
顺序图:
四、总结
这个学期在我看来是非常充实的,OO这门课程让我学会了很多东西,首先java这门编程语言的使用自然是不用多说,最重要的是面向对象思想,以及如何将这种思想体现在自己的代码上,回顾自己第一次的代码,确实还是没有摆脱大一时候的面向过程编程思想,虽说也分了几个类,大不过是敷衍了事,并没有理解其中的奥秘,就好像一个裸身,没有任何的修饰。随着课程的深入,线程并发执行,程序的规格,正确性论证等等,也是为了能让我们养成良好的编程习惯,减少程序的错误,自己的程序也开始渐渐换上了衣裳,成员变量的保护,方法的缩减,逻辑的清晰,虽然还远远未及工程上的要求,但是不管怎么说还是有很大的进步,从一开始连java都不会,慢慢会写规格了,真开心!?
课程的安排还是很合理的,第一单元讲设计,设计是一个程序实现的基础,良好的设计是后面所有过程能够完成执行的基础,第二单元开始线程并发,这几次作业难度还是很大的,不仅是类里面的良好设计,同样重要的是线程之间同步与互斥,做好了同步才能保证对于共享区域的读写不会出现问题。再到后面的规格,正确性论证,都是为了规范化我们的代码,为了能让他人更好的理解我们的代码。
所谓工程化开发,我认为是一种在实际开发中经常用到方式,工程化开发有几个很明显的特点,包括代码的可读性,可延展性等等,这些都是为代码的合作做准备,因为工程化开发不可能所有的事情都由一个人来完成,所以当一个人在编写程序的时候,不仅仅只需要考虑自己代码的功能完整性,还需要考虑自己的代码的可读性,对其他程序员是否友好,合作与发展是当今社会的主题,这同样也体现在了工程化开发之中。
对于课程组的建议就是是否能够将课业负担分配的都平均点,就是希望每次作业都像多线程电梯那么难,的工作量平均分配,对于前几个班他们周三要上课,碰巧前部分的作业更难,所以经常熬夜,对身体不好。
OO第四次作业的更多相关文章
- 【OO学习】OO第四单元作业总结及OO课程总结
[OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类 ...
- oo第四单元作业总结暨课程总结
oo第四单元作业总结暨课程总结 一.本单元作业架构设计 本单元需要构建一个UML解析器,通过对输入的UML类图/顺序图/状态图的相关信息进行解析以供查询,其中课程组已提供输入整体架构及输入解析部分,仅 ...
- OO第四单元作业总结以及课程总结
第四单元总结--UML 第四单元作业架构分析 第一次作业其实是本单元三次作业中最难的一次.由于第一次是第一次作业,要考虑到搭建框架和设计架构,这次作业的思维性很强.在了解了各个类型元素(Element ...
- UML结构与解析——BUAA OO第四单元作业总结
UML与解析架构 UML是什么 统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编 ...
- OO第四单元作业小结
一.本单元两次作业的架构设计 1.第一次作业 整体思路:以class为核心,建立MyInterface.MyAttribute.MyOperation.MyAssociation四个类分别储存每个类的 ...
- 北航OO第四单元作业总结(4.1~4.3)及课程总结
前言 在学习过JML规格描述语言之后,本单元进行了UML(Unified Modeling Language)的学习.和JML单纯用语言描述的形式不同,UML通过可视化的图形形式,对一系列有关类的元素 ...
- OO第四单元作业总结及课程总结
一.本单元作业架构设计 1.第一次作业 本单元首次接触到UML以及相关概念,在面对第一次作业时首先花了很大功夫去阅读官方接口中各种UmlElement的代码,才理解了输入的模型元素中各属性的含义.总的 ...
- OO第四次作业总结
一:测试与正确性论证的效果差异 首先,测试和正确性论证都是对程序的可靠与否,是否有误进行测试,从整体上来看,测试多偏向于实践,而正确性论证则大多偏向于理论. 测试:测试首先是构造一组测试样例,之后将程 ...
- oo第四单元作业总结
一.本单元两次作业的架构: 本单元两次作业的架构基本是一致的,所以两次作业的架构就一起说了. 为了避免查询时出现同一个结果反复计算的情况(连续两次查询一个类的顶级父类,如果我们在查询的指令中来计算其父 ...
随机推荐
- 20175317 《Java程序设计》第八周学习总结
20175317 <Java程序设计>第八周学习总结 教材学习内容总结 第八周我学习了教材第十五章的内容,认识了什么是泛型与集合框架,具体内容如下: 泛型 1. 如何声明泛型类 2. 如何 ...
- [大数据面试题]hadoop核心知识点
* 面试答案为LZ所写,如需转载请注明出处,谢谢. * 这里不涉及HiveSQL和HBase操作的笔试题,这些东西另有总结. 1.MR意义. MR是一个用于处理大数据的分布式离线计算框架,它采用”分而 ...
- 【转】 HDMI介绍与流程
转自:https://www.cnblogs.com/TaigaCon/p/3840653.html HDMI,全称为(High Definition Multimedia Interface)高清多 ...
- hbase之认识
进入HBase客户端命令操作界面 $ bin/hbase shell 查看帮助命令 hbase(main):001:0> help 查看当前数据库中有哪些表 h ...
- 记一次oracle数据库复制过程
记录一次自己数据库复制的过程(从公司测试环境复制到客户测试环境),主要是每次自己都会忘记,不如记录一下,方便自己以后找,因此,本篇内容不会很详细,主要是用于给我自己提醒,相对于一种记笔记的效果. cm ...
- ArcGIS中删除“点”附带的对应“文本信息”
现状: 用ArcMap打开对应的.mxd文件,导入KML数据后,几何类型“点” - 每一个点都附带对应的文本信息“Placemark”,如下图: 问题:ArcGIS中如何 删除“点”附带的对应“文本信 ...
- strtol详解
文章装载自:http://blog.csdn.net/happylife1527/article/details/8441799,大家看到这篇文章想转载的请注明出处,尊重原作者劳动成果. 今天,在re ...
- 爬虫(四)requests模块1
引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...
- 在Linux服务器非root权限下搭建TensorFlow框架(Anaconda)
今天终于动手折腾实验室的服务器啦!由于权限原因,只能在自己的路径下安装TensorFlow. 1. 下载安装Anaconda 官网下载地址:https://www.anaconda.com/downl ...
- F7+vue 物理返回键监听使用
以前使用的是纯F7,这个项目加了Vue进去,但碰到了一个问题,就是这样监听不到安卓物理键的返回,它是点击返回,直接推出程序,这个坑有点深,查了不少资料也问了不少人,最后在网上看到了别人的写的,自己也改 ...