oo第四次博客总结】的更多相关文章

oo第四次博客作业 一.测试与正确性论证比较 测试只是单方面片面的证明对于当前的输入程序是正确的,测试只能证明程序有错误,不能说明程序是对的. 正确性论证是程序达到预期目的的一般性陈述,是通过规范化的论证来说明程序运行是否符合预期,严谨的证明是可以有效说明程序的正确性的. 二.OCL语言与JSF规格的比较 OCL(object constraint language)对象约束语言,一种用来进行约束定义的,形式化的无二义的语言.OCL是一个类型语言,任何表达式的值都是属于一个类型的.这个类型可以是…
OO第四单元博客作业 BUAA_1706_HugeGun 目录 第四单元作业架构设计 四个单元架构设计及OO方法理解 四个单元测试理解与实践演进 课程收获 一点建议 第四单元作业架构设计 ### 第十三次作业: 用HashMap嵌套HashSet.ArrayList建抽象图 查询在容器里找就行了 共440行 第十四次作业: 复制上一次作业代码来解决类图查询 新建check类并复制上次作业建的图,然后完成三种check: 001: 用String(id)建容器,\(O(n^2)\)查询重复name…
第四单元博客 这个单元的作业,emmmm助教们做的工作还是一如既往的多,我们只负责添一添代码,最后一次作业了,感谢各位助教和老师,同时也希望我能顺利通过这最后一关. 架构设计 第一次作业架构展示 第一次作业需要实现10个命令,需要熟悉staruml的文件格式,同时还需要区分类与接口,理解继承与实现的不同. 本次作业的实现用了5个类: MyUml类,用于实现类和接口的相同行为 MyUmlClass类,用于实现类相关命令,是MyUml的子类 MyUmlInterface类,用于实现接口相关的命令,也…
(注意:本文写作顺序与作业要求不完全一致,但涵盖了作业的所有要求) 一学期的BUAA特色OO课程结束了. PART 1  我想先写我这一学期的感想 从第一单元满怀期待地写完多项式求值到最后看着60分不到的成绩伤心欲绝(这个词用的其实并不是特别夸张),到第二单元作业在截止前两小时还在做不停地思考和调试,再到第三单元在活页纸上记下一种又一种可能的实现方法(然后还有一堆bug2333),最后到第四单元,也就是这个单元的与考期共舞,与程序广度作斗争,每个单元都是你从未玩过的船新版本(因为OO课程改革所以…
测试与正确性论证的效果差异及各自的优缺点: 测试针对一些典型的输入情况进行方法验证,可操作性更强,结果直观.但不能完全覆盖所有的输入情况. 正确性论证则是根据代码逻辑从所有的方面对方法进行论证,可操作性很差,工程量大,不过验证出来的结果更加可信. OCL语言与JSF规格: OCL语言具有如下特点: 1.OCL是一种精确的,无二义性的语言 2.OCL是一种规范说明性语言,所有有关实现的问题都不能用OCL来表达 3.OCL是一种纯表达式语言,具有没有任何副作用的申明性语言 4.OCL是一种类型化语言…
  一.      测试与正确性论证的区别 在最后一个单元的OO作业中,我们主要进行了代码的测试与正确性论证工作.这俩者在作业中的体现分别是junit单元测试以及jsf论述语言.这两者在java代码开发中分别能够帮助我们检测代码.测试代码,最终起到对工程正确性进行检测的功能. 这二者就好比一个是完成前的完整性检查,一个是完成后的正确性测试.当然了,理论上来说,这两者之一都可以帮助我们避免代码中问题的出现,但是更保险一点又有谁会反对呢? 先说说junit单元测试.这个相比jsf论述语言,应该是我们…
一切都要结束了,砥砺前行~ 一.测试与正确性论证的效果差异 测试,顾名思义就是我们暴力用大量数据轰炸编写的程序的过程.日常的OO过程中,我们经常互相寻求“测试集”,正是因为测试使用特定数据对我们的功能进行针对性测试,好处在于可以很直观很明显的找到bug所在,并且复现性也很强.但是偏向于穷举,也就是我们平常对于自己的数据集过小,而担心自己有没有完全覆盖所有的可能,即使自己测试的过程中没有发现问题,也心里惴惴不安,从而寻求更大测试集.这种方式便于实现与分析,但是不能完全验证程序正确性. 测试则需要通…
一.UML单元架构设计 1. 类图解析器架构设计 1.1 UML类图 这次作业的目标是要解析一个UML类图,首先为了解耦,我新建了一个类UmTree进行解析工作,而Interaction类仅仅作为实现接口的一个类.其次,通过观察输入发现,这单元作业的输入是乱序的json对象,如果不将这些数据其有效的组织起来,之后的查找将变得非常麻烦.因此,我们需要将其组织成有效的数据结构. 1.2 树形结构 经过思考后我发现,可以用一个树形结构来表示一系列的umlelement,对于一个类图,首先有很多类.每个…
一. 本单元两次作业架构设计 这两次作业实际上难度不大,不存在算法上的难题,大部分时间都是用在处理UML图中各个元素的关系上. 第一次UML主要处理UML类图.有UMLclass,UMLinterface两个顶级元素,其中UMLclass又下属UMLoperation等组成元素.此外的UMLgeneralization,UMLassociation等则是顶级元素间的关系. 完成本次作业,我觉得主要在于理清上述元素间的关系. 第一次作业实现后的关系图如下: 而第二次作业则是在第一次作业的基础上加入…
一.总结第四单元两次作业的架构设计 1.1 第一次作业 类图如下: 为了突出类.接口.方法.属性.和参数之间的层次结构关系,我为 Class 和 Interface 和 Operation 分别建立了三个专门的类来存储,Class 和 Interface 中包含下层的 Operation 和 Attribute ,Operation 中包含 Parameter .(由于这一次针对接口的操作较少,应该有的一些操作被我注释掉了.) 本来调整过后将计算的模块都下沉到了具体的类操作,但仍有构造函数需要的…