oo第四次博客总结
1.论述测试与正确性论证的效果差异,比较其优缺点
测试:通过大量测试样例覆盖测试代码,来检测代码功能的实现是否正确是否完善。测试一个程序的正常输入比较容易,但难点就在于大量的非法输入,测试只能发现bug,却不能保证程序正确。正确性论证:通过对代码规格和逻辑的严密分析,推论和证明,来验证代码实现的正确性。所以如果分析论证正确的话,就能保证程序的正确性,但由于正确性论证是形式论证和自然语言层次逻辑的结合,而自然语言的正确性也难以保证,这就导致正确性论证也会出现错误,而无法保证程序正确性。所以在工程中,这两者通常是结合使用的。
2.调研OCL语言,并比较其与课程所介绍的JSF规格之间的相似和不同之处
OCL(object constraint language)是对象约束语言,它是一种用于施加在指定的模型元素上约束的语言。OCL表达式以附加在模型元素上的条件和限制来表现对该对象的约束,其中包括附加在模型元素上的不变量或约束的表达式,附加在操作和方法上的前置条件和后置条件等。
OCL具有如下特点:
1、OCL是一种精确的,无二义性的语言
2、OCL是一种规范说明性语言,所有有关实现的问题都不能用OCL来表达
3、OCL是一种纯表达式语言,它是具有没有任何副作用的申明性语言。
4、OCL是一种类型化语言,即OCL中的每一个表达式都是具有类型的。
5、OCL不是一种程序设计语言,不能用OCL编写程序逻辑和控制流程。
相同点:都是形式化的约束语言,在程序中进行无二义的逻辑约束。都有同样的前置条件,后置条件和不变式。
不同点:约束的时间不同:OCL主要是在写程序前理论建模的时候,对每个类进行约束,JSF则主要在代码功能实现前,对每个类进行约束。表达的不同:JSF主要使用逻辑表达式,自然语言使用的少。OCL的表达式和数据都有基本类型。
3.根据第十四次作业的单电梯系统,针对调度器、电梯、请求队列和 请求,至少整理出 一幅UML类图、一幅顺序图和一幅状态图,并使用 图(graph)来表示出模型
第十四次作业没有提交,所以不做整理。
4.整理总结一个学期所学所练
4.1阐述四个单元模块知识点之间的关系
第一单元 Java和面向对象基本概念入门
第二单元 多线程程序设计入门
第三单元 规格化设计
第四单元 测试与论证
4.2梳理自己所设计实现的程序,分析自己在设计、测试和质量上的进步
可能最大的进步便是弄明白了多线程,以及了解到了一个好的代码风格和代码注释有多么重要吧,如果一个代码只是一次作业,我可能就不会很重视代码风格,但如果一个程序需要很多次完善与维护,那么代码风格以及注释就很有必要了,因为你可能需要几星 期后还是能一眼看懂自己的代码,以及修改过代码后会产生什么样的问题。
4.3阐述自己对工程化开发的理解
规格化设计很重要,一个方法或者一个类,如果你能确保其正确,那么在维护以及修改代码时将轻松很多。此外在多人的工程式开发中,每个人相互协调也会因为这种规格化而轻松许多。
4.4对课程的任何期望或建议
我觉得课程挺好的,就是有点累。
oo第四次博客总结的更多相关文章
- OO第四次博客作业!
oo第四次博客作业 一.测试与正确性论证比较 测试只是单方面片面的证明对于当前的输入程序是正确的,测试只能证明程序有错误,不能说明程序是对的. 正确性论证是程序达到预期目的的一般性陈述,是通过规范化的 ...
- OO第四单元博客作业
OO第四单元博客作业 BUAA_1706_HugeGun 目录 第四单元作业架构设计 四个单元架构设计及OO方法理解 四个单元测试理解与实践演进 课程收获 一点建议 第四单元作业架构设计 ### 第十 ...
- OO第四单元博客
第四单元博客 这个单元的作业,emmmm助教们做的工作还是一如既往的多,我们只负责添一添代码,最后一次作业了,感谢各位助教和老师,同时也希望我能顺利通过这最后一关. 架构设计 第一次作业架构展示 第一 ...
- OO第四次博客作业(第四单元作业及期末总结)
(注意:本文写作顺序与作业要求不完全一致,但涵盖了作业的所有要求) 一学期的BUAA特色OO课程结束了. PART 1 我想先写我这一学期的感想 从第一单元满怀期待地写完多项式求值到最后看着60分不 ...
- oo第四篇博客作业
测试与正确性论证的效果差异及各自的优缺点: 测试针对一些典型的输入情况进行方法验证,可操作性更强,结果直观.但不能完全覆盖所有的输入情况. 正确性论证则是根据代码逻辑从所有的方面对方法进行论证,可操作 ...
- [BUAA OO]第四次博客作业
一. 测试与正确性论证的区别 在最后一个单元的OO作业中,我们主要进行了代码的测试与正确性论证工作.这俩者在作业中的体现分别是junit单元测试以及jsf论述语言.这两者在java代码开 ...
- 迎来OO的曙光,总结规格的意义——OO第四次博客总结
一切都要结束了,砥砺前行~ 一.测试与正确性论证的效果差异 测试,顾名思义就是我们暴力用大量数据轰炸编写的程序的过程.日常的OO过程中,我们经常互相寻求“测试集”,正是因为测试使用特定数据对我们的功能 ...
- 2019年北航OO第四次博客总结<完结撒花>
一.UML单元架构设计 1. 类图解析器架构设计 1.1 UML类图 这次作业的目标是要解析一个UML类图,首先为了解耦,我新建了一个类UmTree进行解析工作,而Interaction类仅仅作为实现 ...
- oo第四次博客-UML暨学期总结
一. 本单元两次作业架构设计 这两次作业实际上难度不大,不存在算法上的难题,大部分时间都是用在处理UML图中各个元素的关系上. 第一次UML主要处理UML类图.有UMLclass,UMLinterfa ...
- OO第四次博客作业--第四单元总结及课程总结
一.总结第四单元两次作业的架构设计 1.1 第一次作业 类图如下: 为了突出类.接口.方法.属性.和参数之间的层次结构关系,我为 Class 和 Interface 和 Operation 分别建立了 ...
随机推荐
- hadoop 二次排序的一些思考
先说一下mr的二次排序需求: 假如文件有两列分别为name.score,需求是先按照name排序,name相同按照score排序 数据如下: jx 20 gj 30 jx 10 gj 15 输出结果要 ...
- (12)SecureCRT中文乱码问题
Options -- Session Options -- Appearance --Character encoding:选择UTF-8
- selenium与chrome浏览器及驱动的版本匹配
用selenium+python+webdriver完成UI功能自动化,经常会碰到浏览器版本与驱动的版本不匹配而引起报错,下面就selenium与chrome浏览器及驱动的版本匹配 做个总结. 使用W ...
- 接口性能测试(Jmeter)操作总结
以前常用SoapUI来做接口的性能测试,这次用的Jmeter,对需由客户端根据时间戳等登录参数生成随机token值和印签值来发请求的系统,非它莫属了.下面就这次测试的难点和操作注意问题展开总结. ** ...
- 38_redux_counter应用_react版本
redux的核心API 使用非redux创建: 项目结构: index.js import React from 'react'; import ReactDOM from 'react-dom'; ...
- 通过crt修改数据库中的存储过程
mysql -u idc_user -pidc_user123 通过crt修改数据库中的存储过程PRO_RET_HD_TZXW STEP1:在crt中查看数据库中的存储过程PRO_RET_HD_TZX ...
- python之路:模块初识
python王者开发之路:模块初识 模块初识我现在讲的确有点早.不过没关系,后面我会详细说模块. 模块,也就是库,是python三剑客之一.这三剑客,函数.库和类,都是由程序编写而成的.之所以我先说模 ...
- 【译】深度双向Transformer预训练【BERT第一作者分享】
目录 NLP中的预训练 语境表示 语境表示相关研究 存在的问题 BERT的解决方案 任务一:Masked LM 任务二:预测下一句 BERT 输入表示 模型结构--Transformer编码器 Tra ...
- Java Script 简介
Java Script 简介 JavaScript 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备.JavaScrip ...
- iptables实现端口转发实际案例
拓扑 client : 跳板机 外网:192.168.10.194 内网:10.1.1.1 内网mysql: 10.1.1.2 [root@test194 network-scripts]# cat ...