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…
(注意:本文写作顺序与作业要求不完全一致,但涵盖了作业的所有要求) 一学期的BUAA特色OO课程结束了. PART 1  我想先写我这一学期的感想 从第一单元满怀期待地写完多项式求值到最后看着60分不到的成绩伤心欲绝(这个词用的其实并不是特别夸张),到第二单元作业在截止前两小时还在做不停地思考和调试,再到第三单元在活页纸上记下一种又一种可能的实现方法(然后还有一堆bug2333),最后到第四单元,也就是这个单元的与考期共舞,与程序广度作斗争,每个单元都是你从未玩过的船新版本(因为OO课程改革所以…
一.总结第四单元两次作业的架构设计 1.1 第一次作业 类图如下: 为了突出类.接口.方法.属性.和参数之间的层次结构关系,我为 Class 和 Interface 和 Operation 分别建立了三个专门的类来存储,Class 和 Interface 中包含下层的 Operation 和 Attribute ,Operation 中包含 Parameter .(由于这一次针对接口的操作较少,应该有的一些操作被我注释掉了.) 本来调整过后将计算的模块都下沉到了具体的类操作,但仍有构造函数需要的…
测试与正确性论证的效果差异及各自的优缺点: 测试针对一些典型的输入情况进行方法验证,可操作性更强,结果直观.但不能完全覆盖所有的输入情况. 正确性论证则是根据代码逻辑从所有的方面对方法进行论证,可操作性很差,工程量大,不过验证出来的结果更加可信. OCL语言与JSF规格: OCL语言具有如下特点: 1.OCL是一种精确的,无二义性的语言 2.OCL是一种规范说明性语言,所有有关实现的问题都不能用OCL来表达 3.OCL是一种纯表达式语言,具有没有任何副作用的申明性语言 4.OCL是一种类型化语言…
  一.      测试与正确性论证的区别 在最后一个单元的OO作业中,我们主要进行了代码的测试与正确性论证工作.这俩者在作业中的体现分别是junit单元测试以及jsf论述语言.这两者在java代码开发中分别能够帮助我们检测代码.测试代码,最终起到对工程正确性进行检测的功能. 这二者就好比一个是完成前的完整性检查,一个是完成后的正确性测试.当然了,理论上来说,这两者之一都可以帮助我们避免代码中问题的出现,但是更保险一点又有谁会反对呢? 先说说junit单元测试.这个相比jsf论述语言,应该是我们…
测试与正确性论证的效果差异及其优缺点 测试是利用测试代码,通过编写测试用例来验证代码是否能正常完成所要求的功能,自动测试相较于正确性论证来说更加的直观,直接测试代码的功能,而正确性论证是在JSF的基础上用表达式和语言梳理代码的结构并论证其功能的正确实现. 测试的优点是直观明确,缺点是通过样例测试正确性,样例的编写若是有疏失不完善,那么,测试就有疏漏. 正确性论证虽然通过自然语言论证,比较复杂冗长,但是对代码实现的逻辑做一个完整的梳理比较不容易有疏漏,但缺点,也就是复杂带来的效率下降也是一定的.…
OO第三次博客作业——规格 一.调研结果: 规格的历史: 引自博文链接:http://blog.sina.com.cn/s/blog_473d5bba010001x9.html 传统科学的特点是发现世界,而软件的特点是构造世界.软件的最底层就是0,1,两个离散的值. 程序设计语言的三次分离使软件技术产生了飞跃 1950年代,第一次分离,主程序和子程序的分离程序结构模型是树状模型,子程序可先于主程序编写.通过使用库函数来简化编程,实现最初的代码重用.产生基本的软件开发过程:分析—设计—编码—测试,…
OO第4次博客作业 一.第4单元设计 第四单元主要围绕UML图的结构进行JAVA代码编写,对JAVA的层次结构进行更多的认识.个人认为编程操作在实质上与上一章的PathContainer有许多的相同之处,难度也较上一章降低的很多.与此同时有许多新的新的概念需要理解,对我提出了编程之外的要求. 第十三次作业 这次作业主要解决UML中的类图.主要包括2点内容,即类图的构建以及相应的查找函数. 1.课程预先写好的接口给出的是一种链式存储结构,通过ParentId找到所属的上层结构.在实际的编程中为了方…
OO第三次博客作业 1. 规格化设计的发展 我认为,规格化设计主要源自于软件设计的两次危机.第一次是由于大量存在的goto语句,让当时被广泛应用的面向过程式的编程语言臃肿不堪,在逻辑性上与工程规模上鱼与熊掌不可兼得.故而,人们提出了结构化程序设计的编程思想,旨在使程序实现结构化设计的思想.这种设计思想旨在控制各个模块的程序复杂度,从而保证整体工程的正确性. 然而,由于硬件设备的快速迭代,对于软件的要求也越来越高.工程的日益庞大.面向过程程序的可扩展性差.可维护性有限,使得人们提出了面型对象程序编…