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第四单元作业总结
一.本单元两次作业的架构: 本单元两次作业的架构基本是一致的,所以两次作业的架构就一起说了. 为了避免查询时出现同一个结果反复计算的情况(连续两次查询一个类的顶级父类,如果我们在查询的指令中来计算其父 ...
随机推荐
- Oracle表空间的创建与删除
ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Orac ...
- CHM文件命令转换成html
在Windows下chm转换为html的超简单方法(反编译CHM文件的方法) 通过调用Windows命令,将chm 文件转换为html 文件. 方法: 命令行(cmd),输入hh -decompile ...
- 添加本地nuget包
1.找到vs工具栏,如下图所示,找到包管理器 2.点击添加按钮,添加源,点击下方浏览按钮,找到源得位置,然后点击更新 3.找到项目,切换包源,切换到包管理器得浏览页面,找到要添加得包安装即可.
- sqlserver 查询表锁死,解除表锁死
查询锁死的表名以及ID select request_session_id id, OBJECT_NAME(resource_associated_entity_id) tableName FROM ...
- 【问题记录】使用FreeMarker生成数据,模板明明没错却一直报错“The following has evaluated to null or missing:”
今天使用FreeMarker生成数据时一直报错,错误信息是“The following has evaluated to null or missing:”,告知我找不到值. 但是我再三确认,这些属性 ...
- struts标签怎么判断request里的属性是否为空 <s:if test="${list==null}"> </s:if>
<s:if test="${weigou}==999"> //错误的 ${list==null} ,$实在strtus的配置文件中取值用的,不是在jsp页面里取值的的吧 ...
- 让input不可编辑
有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使<input type="text" name="input1" value=&qu ...
- java根据输入的字符串和字节数来截取,输出对应字节数的字符串
public class Test { //要进行截取操作的字符串 static String ss; //截取的字符串的字节数 static int n; public static void ma ...
- 用VS2017编写C语言的Hello World
1.新建项目 2.选择新建空项目 3.在源文件处右键单击,选择添加-新建项 4.选择“c++文件”,将名称后缀改成.c即可用C语言编写程序 5.编写代码: #include <stdio.h&g ...
- 复仇之路——我一定要学会linux系统
说起linux,我不知道大家对这几个字母有什么认识,是不是早已经对这个操作系统已经很熟悉了?还是不知道他是一个操作系统,只是知道他是一个英文单词?或是知道他是一个人的名字?亦或是一本叫做<Lin ...