OO第四单元博客】的更多相关文章

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类,用于实现接口相关的命令,也…
第四单元博客总结--暨OO课程总结 第四单元架构设计 第一次UML作业 简单陈述 第一次作业较为简单,只需要实现查询功能,并在查询的同时考虑到性能问题,即我简单的将每一次查询的结果以及递归的上层结果都存储下来,使用一个Boolean型变量记录是否更新过该结果,即日后查询可以直接返回查询内容,而无需再次更新,也算是一种较为无脑的办法,根据后来的评测数据以及结果来看,性能.CPU运行时间并不是该次作业的重点,正确性才是关键之所在.需要同学们对于UML每一个元素有充分的理解,同时助教也在讨论区回答大家…
oo第四次博客作业 一.测试与正确性论证比较 测试只是单方面片面的证明对于当前的输入程序是正确的,测试只能证明程序有错误,不能说明程序是对的. 正确性论证是程序达到预期目的的一般性陈述,是通过规范化的论证来说明程序运行是否符合预期,严谨的证明是可以有效说明程序的正确性的. 二.OCL语言与JSF规格的比较 OCL(object constraint language)对象约束语言,一种用来进行约束定义的,形式化的无二义的语言.OCL是一个类型语言,任何表达式的值都是属于一个类型的.这个类型可以是…
(注意:本文写作顺序与作业要求不完全一致,但涵盖了作业的所有要求) 一学期的BUAA特色OO课程结束了. PART 1  我想先写我这一学期的感想 从第一单元满怀期待地写完多项式求值到最后看着60分不到的成绩伤心欲绝(这个词用的其实并不是特别夸张),到第二单元作业在截止前两小时还在做不停地思考和调试,再到第三单元在活页纸上记下一种又一种可能的实现方法(然后还有一堆bug2333),最后到第四单元,也就是这个单元的与考期共舞,与程序广度作斗争,每个单元都是你从未玩过的船新版本(因为OO课程改革所以…
一.第四单元架构设计 1.第一次作业 我在本次作业中设置了多个储存结构:Directory,ElementsInName,ElementsInId,Cache. Directory: 顾名思义,这是个目录结构,可以通过一个UmlElement的id来获得他的子元素(储存结构上的子元素).之所以设置这个结构是因为这个结构是UML中最基本的组织结构,通过UmlElement的一些属性可以快速的建立起来. ElementsInName: 在这个结构中,可以通过一个元素的名字,获取所有同名的元素.设置这…
一.总结第四单元两次作业的架构设计 1.1 第一次作业 类图如下: 为了突出类.接口.方法.属性.和参数之间的层次结构关系,我为 Class 和 Interface 和 Operation 分别建立了三个专门的类来存储,Class 和 Interface 中包含下层的 Operation 和 Attribute ,Operation 中包含 Parameter .(由于这一次针对接口的操作较少,应该有的一些操作被我注释掉了.) 本来调整过后将计算的模块都下沉到了具体的类操作,但仍有构造函数需要的…
测试与正确性论证的效果差异及各自的优缺点: 测试针对一些典型的输入情况进行方法验证,可操作性更强,结果直观.但不能完全覆盖所有的输入情况. 正确性论证则是根据代码逻辑从所有的方面对方法进行论证,可操作性很差,工程量大,不过验证出来的结果更加可信. OCL语言与JSF规格: OCL语言具有如下特点: 1.OCL是一种精确的,无二义性的语言 2.OCL是一种规范说明性语言,所有有关实现的问题都不能用OCL来表达 3.OCL是一种纯表达式语言,具有没有任何副作用的申明性语言 4.OCL是一种类型化语言…
一切都要结束了,砥砺前行~ 一.测试与正确性论证的效果差异 测试,顾名思义就是我们暴力用大量数据轰炸编写的程序的过程.日常的OO过程中,我们经常互相寻求“测试集”,正是因为测试使用特定数据对我们的功能进行针对性测试,好处在于可以很直观很明显的找到bug所在,并且复现性也很强.但是偏向于穷举,也就是我们平常对于自己的数据集过小,而担心自己有没有完全覆盖所有的可能,即使自己测试的过程中没有发现问题,也心里惴惴不安,从而寻求更大测试集.这种方式便于实现与分析,但是不能完全验证程序正确性. 测试则需要通…
一.UML单元架构设计 1. 类图解析器架构设计 1.1 UML类图 这次作业的目标是要解析一个UML类图,首先为了解耦,我新建了一个类UmTree进行解析工作,而Interaction类仅仅作为实现接口的一个类.其次,通过观察输入发现,这单元作业的输入是乱序的json对象,如果不将这些数据其有效的组织起来,之后的查找将变得非常麻烦.因此,我们需要将其组织成有效的数据结构. 1.2 树形结构 经过思考后我发现,可以用一个树形结构来表示一系列的umlelement,对于一个类图,首先有很多类.每个…