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第四单元作业总结
一.本单元两次作业的架构: 本单元两次作业的架构基本是一致的,所以两次作业的架构就一起说了. 为了避免查询时出现同一个结果反复计算的情况(连续两次查询一个类的顶级父类,如果我们在查询的指令中来计算其父 ...
随机推荐
- Windows Server 2008 R2 免费使用900天的方法
无需破解:Windows Server 2008 R2 免费使用900天的方法 1.安装后就有一个180天的试用期. 2.在180天试用期即将结束时,使用下面的评估序列号激活Server 2008 R ...
- eclipse运行项目,tomcat报错:Exception in thread :http-bio-8080-exec-4
eclipse运行项目,tomcat报错:Exception in thread :http-bio-8080-exec-4 转自 https://www.cnblogs.com/yby-blogs/ ...
- SpringBoot之配置文件加载位置
1.SpringBoot启动会扫描application.properties或者application.yml文件作为springboot的配置文件.默认创建项目生成application.prop ...
- GIS开发 图形常见算法
摘录:OSGeo中国中心 http://www.osgeo.cn/post/ae457 计算机的出现使得很多原本十分繁琐的工作得以大幅度简化,但是也有一些在人们直观看来很容易的问题却需要拿出一套并不简 ...
- 记一次简单的sql注入
什么是sql注入攻击? 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造(或者影 ...
- ASP.NET Razor - 标记
目录 什么是 Razor? Razor 帮助器 ASP.NET Razor - C# 和 VB 代码语法 主要的 Razor C# 语法规则 它是如何工作的? 使用对象 If 和 Else条件 读取用 ...
- Java使用RSA加密解密签名及校验
RSA加密解密类: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...
- Ubuntu gitlab安装文档及邮件通知提醒配置
1.安装依赖包,运行命令 sudo apt-get install curl openssh-server ca-certificates postfix 2.由于gitlab官方源可能被“墙”,首先 ...
- ApiCloud开发的注意事项
1. 引擎或模块问题:遇到应用层无法解决的问题,如果能确定需要引擎和模块支持的,不要自己想办法绕过去,要第一时间在开发者社区提交问题,或找APICloud项目经理提出. !!!注意!!!: 在开发者社 ...
- Spring核心概念
Spring是一个轻量级的企业级框架,提供了loc容器,aop实现,DAO/OR支持,Web集成等功能,目标是使现有的JAVA EE技术更易用,并促进良好的编程习惯. 依赖注入让组件之间以配置文件的形 ...