OO课程第四次总结】的更多相关文章

终于来到了最后一次的OO作业,以博客作业的形式来终结也是极好的,回顾一下过去十六周自己的经历,感慨颇深. 测试和正确性论证 简单来说,测试的目的是将程序的代码做到全覆盖,从而确保每个分支都运行一遍,进而分析代码中是否有错误,错误出在哪里.这个方法是十分实用的,可以有效的找出自己代码中的错误,即很容易发现浅显的错误,但不容易发现隐晦的错误.编程的经验告诉我,确实存在那种执行了多条代码之后有了不一样的结果,一环套一环,这种情况虽然很难发现,但确实存在.而正确性论证则不同,它通过大量的穷举,基于rep…
一.本单元两次作业的架构设计总结 作业一.UML类图查询 1. 统计信息图 2. 复杂度分析 基本复杂度(Essential Complexity (ev(G)).模块设计复杂度(Module Design Complexity (iv(G))).Cyclomatic Complexity (v(G))圈复杂度 OCavg为平均循环复杂度;WMC为总循环复杂度 3. 结构信息图 4. 分析架构设计 本次没有架构设计,本次只用了两个类,一个main类,用于启动,一个MyUmlInteraction…
[OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类.每个子类存储相应的UmlElement,以及需要保存的信息.比如,Class类里保存着这个类的属性.方法以及关系.父类.实现的接口等信息. Element抽象类有一个put方法,用来建立“关系”.比如,将属性.方法放到对应的Class里. 建立每个类的时候使用工厂模式,这样在做第十四次作业的时候只…
OO第四单元--基于UML的UML解析器总结&OO课程总结 前言:一学期愉快(痛苦)的OO课程学习结束了,OO几个单元作业都各有特色,实验也各有特色,仔细回味起来,不再是单纯的敲代码(但自己还是有几次没用成功提交实验),也不乏有许多有趣的知识.整个作业中测--强测--互测--BUG修复的模式也将整个课程变得充实完善了起来,总的来说,收获很多,遗憾也很多.同时也感谢那些不厌其烦帮助我构思帮我debug的py们. Part1:OO第四单元--基于UML的UML解析器总结 架构分析 本单元主要理解UM…
一.第四单元作业总结 本单元的主要任务是对 Uml 图元素进行管理和查询,测试一开始会输入一个静态图,之后会对图中相关内容进行查询. 第13,14次作业 第14次作业新增内容很少,故与第13次作业放在一起讨论 13次作业架构图 14次作业架构图 13次作业为类图的查询,14次作业新增了状态图和顺序图的查询. 第13次作业中,我最初的想法是将每个元素都建立一个类进行管理,每次查询通过类之间的连接进行查询,但是类图元素每次查询的密度很高,而且查询内容比较单一,所以如果每个元素建类,在查询的时间复杂度…
目录 目录一.第四单元UML两次作业架构设计第一次作业第二次作业二.架构设计总结与OO方法理解演进三.测试理解与实践演进四.课程收获总结五.课程改进建议六.尾声 一.第四单元UML两次作业架构设计 第一次作业 第一次UML作业的文件树如下: 本次作业采用的是分离需求的设计思路,每一类需求整合到对应的类中单独存储,并配置修改和访问方法. 在顶层,实现课程组提供的UmlInteraction接口的类MyUmlInteraction只负责将UmlElement传入parser解析,并对外提供查询接口,…
第四单元作业总结 第四单元的作业主题是UML图的解析,通过对UML图代码的解析,我对UML图的结构以及各种元素之间的关系的理解更加深入了. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------…
第四单元博客总结--暨OO课程总结 第四单元架构设计 第一次UML作业 简单陈述 第一次作业较为简单,只需要实现查询功能,并在查询的同时考虑到性能问题,即我简单的将每一次查询的结果以及递归的上层结果都存储下来,使用一个Boolean型变量记录是否更新过该结果,即日后查询可以直接返回查询内容,而无需再次更新,也算是一种较为无脑的办法,根据后来的评测数据以及结果来看,性能.CPU运行时间并不是该次作业的重点,正确性才是关键之所在.需要同学们对于UML每一个元素有充分的理解,同时助教也在讨论区回答大家…
OO课程学期末总结 测试VS正确性论证 OCL vs JSF 对象约束语言(Object Constraint Language), 简称OCL, 是一种指示用户建模系统中的限制方式. 他是UML可选的附加内容, 可以用来更好地定义对象的行为, 并为任何类元指定约束. 相似性: 形式化语言:基础都是集合论和谓词逻辑.是选择有歧义的但是多数人能看懂的自然语言,还是无歧义但少数人才能看懂的数学符号,OCL和JSF选择了“中庸之道”.(不过JSF的形式化没有OCL那么强)[PS:数学.逻辑和计算机科学…
OO课程总结 OO终于划上了句号,这学期熬夜熬得最多的一门课,掉了最多头发的一门课. 一.测试与正确性 测试是最最最常见的用来找到程序错误以及验证程序正确的手段,在之前的作业中,写完代码还是会存在很多bug,这些bug基本上都是通过测试来进行的.构建小的简单的测试样例,用来测试基本的功能,复杂的测试样例,用来测试捎带等特殊情况. 测试的优点在于,简单快捷,通过一个实际的测试样例来比对程序运行的结果和理论结果,如果相同,说明测试的功能或者模块是对的,如果不相同,说明错误.结果决定了这条测试的有效性…