oo第四次总结
1.论述测试与正确性论证的效果差异,比较其优缺点
测试:通过大量测试样例覆盖测试代码,来检测代码功能的实现是否正确是否完善。正确性论证:通过对代码规格和逻辑的严密分析,推论和证明,来验证代码实现的正确性。因此,测试能够通过测试结果,直观的判断出程序是否错误。但是又因为难以构造覆盖完整的测试集,所以不能保证程序在设计方面没有问题。而正确性论证能够通过严谨的分析论证,保证程序的正确性和覆盖率。但因为它是形式论证和自然语言层次逻辑的结合,自然语言层次逻辑推理的正确性又难以确保和验证。所以如果它不够直观,出现错误也难以察觉。
2.调研OCL语言,并比较其与课程所介绍的JSF规格之间的相似和不同之处
OCL(object constraint language)是对象约束语言,用来进行对象的约束定义,是形式化的无二异语言。OCL主要用于在建模时作为图形符号的补充,含有约束,前置条件,后置条件等。OCL还用于对UML图中的任何元素写表达式。OCL是约束和查询语言,有一个形式化的数学语义,允许用户定义自己的OCL符号集。
相同点:都是形式化的约束语言,在程序中进行无二义的逻辑约束。都有同样的前置条件,后置条件和不变式
不同点:约束的时间不同:OCL主要是在写程序前理论建模的时候,对每个类进行约束,JSF则主要在代码功能实现前,对每个类进行约束。表达的不同:JSF主要使用逻辑表达式,自然语言使用的少。OCL的表达式和数据都有基本类型。
3.根据第十四次作业的单电梯系统,针对调度器、电梯、请求队列和 请求,至少整理出 一幅UML类图、一幅顺序图和一幅状态图,并使用 图(graph)来表示出模型
第十四次作业没有提交,所以不做整理。
4.整理总结一个学期所学所练
4.1阐述四个单元模块知识点之间的关系
第一单元:java入门到面向对象设计。作业从多项式计算到傻瓜电梯,巩固了面向对象设计的思维。
第二单元:从面向对象设计到多线程的转变。作业通过对电梯功能的扩展,实现多线程。以及对线程的安全问题和如何合理的利用线程的同步和互斥的研究。
第三单元:规格化设计。学会如何增强自身代码的可读性和如何从方法的层面去实现程序的正确性。
第四单元:引入自动化测试。通过实现基于输入实现软件生成的自动化覆盖测试,学会论证程序地正确性。
4.2梳理自己所设计实现的程序,分析自己在设计、测试和质量上的进步
有进步,同时有待提高的方面也很多。
4.3阐述自己对工程化开发的理解
工程化开发是一个复杂的大型的工作,是需要多人一起配合完成的。因此代码的可读性和规格很重要。以及对每一部分程序的正确性和完善性的测试也很重要。
4.4对课程的任何期望或建议
oo第四次总结的更多相关文章
- OO第四次博客作业!
oo第四次博客作业 一.测试与正确性论证比较 测试只是单方面片面的证明对于当前的输入程序是正确的,测试只能证明程序有错误,不能说明程序是对的. 正确性论证是程序达到预期目的的一般性陈述,是通过规范化的 ...
- OO第四次课程总结分析
OO第四次课程总结分析 测试与正确性论证的效果差异及优缺点 测试,即使用测试样例来验证我们的程序是否能完成相应功能的过程.测试数据的产生基于前置条件和后置条件,通过执行测试数据检查方法输出是否满足需求 ...
- 【OO学习】OO第四单元作业总结及OO课程总结
[OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类 ...
- OO第四单元(UML)单元总结
OO第四单元(UML)单元总结 这是OO课程的第四个单元,也是最后一个单元.这个单元只有两次作业,相比前三个单元少一次作业.而且从内容上讲这个单元的作业目的以了解UML为主,所以相对前三个单元比较简单 ...
- OO第四单元总结及课程总结
OO第四单元总结及课程总结 一.前言 紧张刺激的OO“昆仑课程”接近尾声,经过一个学期的学习,我的收获和感触颇多,借此博客作业的机会,对自己OO这门课程做一个总结.本博客主要有以下五个方面,一是第UM ...
- OO第四单元博客作业
OO第四单元博客作业 BUAA_1706_HugeGun 目录 第四单元作业架构设计 四个单元架构设计及OO方法理解 四个单元测试理解与实践演进 课程收获 一点建议 第四单元作业架构设计 ### 第十 ...
- OO第四单元总结及学期总结
目录 OO第四单元总结及学期总结 第四单元三次作业架构设计 第十三次作业 第十四次作业 第十五次作业 四个单元中架构设计及OO方法理解的演进 第一单元 第二单元 第三单元 第四单元 四个单元中测试理解 ...
- OO第四单元——基于UML的UML解析器总结&OO课程总结
OO第四单元--基于UML的UML解析器总结&OO课程总结 前言:一学期愉快(痛苦)的OO课程学习结束了,OO几个单元作业都各有特色,实验也各有特色,仔细回味起来,不再是单纯的敲代码(但自己还 ...
- OO第四单元总结暨期末总结
OO第四单元总结暨期末总结 目录 OO第四单元总结暨期末总结 第四单元三次作业架构与迭代 整体感受 HW1 HW2 HW3 四个单元架构设计与方法演进 Unit1 Unit2 Unit3 Unit4 ...
- oo第四单元作业总结暨课程总结
oo第四单元作业总结暨课程总结 一.本单元作业架构设计 本单元需要构建一个UML解析器,通过对输入的UML类图/顺序图/状态图的相关信息进行解析以供查询,其中课程组已提供输入整体架构及输入解析部分,仅 ...
随机推荐
- 在c:forEach与s:iterator里面使用if标签判断当前位置是否为2的倍数
在c:forEach与s:iterator里面使用if标签判断当前位置是否为2的倍数 c:forEach: <c:forEach var="workflow" items=& ...
- spring事务源码分析结合mybatis源码(一)
最近想提升,苦逼程序猿,想了想还是拿最熟悉,之前也一直想看但没看的spring源码来看吧,正好最近在弄事务这部分的东西,就看了下,同时写下随笔记录下,以备后查. spring tx源码分析 这里只分析 ...
- Django跨域请求
一.jsonp方式 同源策略会阻止ajaxa请求,但不阻止src. jsonp方式其实是利用了<script>标签可以直接跨域的性质,在body中生成一个<script>标签, ...
- CF1119B Alyona and a Narrow Fridge
题目地址:CF1119B Alyona and a Narrow Fridge \(O(n^2)\) 暴力枚举+贪心 从小到大枚举答案 假设枚举到 \(i\) ,将 \(a_1\) 到 \(a_i\) ...
- vim简单使用教程【转】
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...
- C++设计模式——备忘录模式
备忘录模式 在GOF的<设计模式:可复用面向对象软件的基础>一书中对备忘录模式是这样说的:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢 ...
- 网络编程中select模型和poll模型学习(linux)
一.概述 并发的网络编程中不管是阻塞式IO还是非阻塞式IO,都不能很好的解决同时处理多个socket的问题.操作系统提供了复用IO模型:select和poll,帮助我们解决了这个问题.这两个函数都能够 ...
- 【原创】大叔经验分享(23)spark sql插入表时的文件个数研究
spark sql执行insert overwrite table时,写到新表或者新分区的文件个数,有可能是200个,也有可能是任意个,为什么会有这种差别? 首先看一下spark sql执行inser ...
- linux SWAP
1.内存和SWAP之间合理的分配方案 M = Amount of RAM in GB, and S = Amount of swap in GB, then If M < 2, S = M *2 ...
- 2018-2019-1 20189201 《LInux内核原理与分析》第七周作业
我的愿望是 好好学习Linux 一.书本第六章知识总结[进程的描述和进程的创建] 基础知识1 操作系统内核实现操作系统的三大管理功能,即进程管理功能,内存管理和文件系统.对应的三个抽象的概念是进程,虚 ...