目录 一.第四单元作业架构设计 1.第一次UML作业架构设计 2.第二次UML作业架构设计 二.架构设计和OO方法理解演进 三.测试理解与实践的演进 四.课程收获总结 五.三个具体改进建议 一.第四单元作业架构设计 1.第一次UML作业架构设计…
第四单元两次作业总结 第十三次作业 需求分析 本次作业需要完成一个UML类图解析器,所需要解析的只有符合UML标准和能够在Java 8中复现的UML类图.查询指令存在两种:仅与所查对象有关的指令,以及需要回溯至顶级父类逐层查询的指令. 实现方案 本次作业需要我们对类图中的组成元素进行重新建模,建模时需要考虑类中的属性.类的继承关系.接口的继承关系以及类/接口之间的关联.为了达成以上目标,我选择将类和接口分别重新抽象为ClassInfo和InterfaceInfo类以记录其属性:对于类和接口之间存…
[OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类.每个子类存储相应的UmlElement,以及需要保存的信息.比如,Class类里保存着这个类的属性.方法以及关系.父类.实现的接口等信息. Element抽象类有一个put方法,用来建立“关系”.比如,将属性.方法放到对应的Class里. 建立每个类的时候使用工厂模式,这样在做第十四次作业的时候只…
目录 第四单元总结 总 UML UML 类图 UML 时序图 UML 状态图 架构设计 第十三次作业 第十四次作业 课程总结 历次作业总结 架构设计 面向对象方法理解 测试方法理解与实践 改进建议 尽量避免与面向对象无关的任务 时间安排提前安排好 理论课存在感不强 课程收获 第四单元总结 总 本部分是2019年北航面向对象(OO)课程第四单元作业(UML)的总结.两次作业的要求大致如下: 第一次作业:实现一个UML类图解析器,可以通过输入各种指令来进行类图有关信息的查询. 第二次作业:扩展类图解…
一.架构设计 这一单元的作业主要是围绕UML来对我们的面向对象思维进行训练,刚开始接触的时候或许因为些许陌生而觉得有一定难度,但随着一次一次的代码阅读再加上思考,逐渐地也变得得心应手了起来. 1.第一次作业 本次作业最终需要实现一个UML类图分析器,可以通过输入各种指令来进行类图有关信息的查询. 在刚下载完官方的源码时,面对规模庞大的代码,我一时也不知道从哪开始读起,便硬着头皮直接开始按循序阅读,结果还没读完几个java文件,我就感觉读不下去了,一是因为有很多语法我并不是特别熟悉和了解,还有就是…
OO第四单元总结&期末总结 一.第四单元总结 第一次作业 在第四单元的作业中,我的架构是逐步演进的.设计第一次作业的架构时并没有考虑到后续作业会增加新的图,所以直接把类图的实现放在UmlInteraction中.第一次作业的这种设计导致第二次作业在添加新的图时,需要将放在UmlInteraction中的类图实现代码剥离出来并封装到单独的类中. 第一次作业的简约类图如下: 1.类的继承关系 下图是第一次作业中的类继承关系: 首先分析其中的继承关系,在UML的规范中,允许接口拥有属性.类继承接口.接…
BUAA_OO_2020_第四单元与课程总结 第四单元架构 第一次 架构设计 第一次作业要求实现UML类图解析器. 我才用自顶向下依次解析的方法,首先将类图中涉及的所有元素分成三层: 第一层 第二层 第三层 Class, Interface, AssociationEnd Association, Attribute, Operation, Generalization, InterfaceRealization, Parameter 根据需要,实现了MyClass, MyInterface,…
一.第四单元作业总结 本单元的主要任务是对 Uml 图元素进行管理和查询,测试一开始会输入一个静态图,之后会对图中相关内容进行查询. 第13,14次作业 第14次作业新增内容很少,故与第13次作业放在一起讨论 13次作业架构图 14次作业架构图 13次作业为类图的查询,14次作业新增了状态图和顺序图的查询. 第13次作业中,我最初的想法是将每个元素都建立一个类进行管理,每次查询通过类之间的连接进行查询,但是类图元素每次查询的密度很高,而且查询内容比较单一,所以如果每个元素建类,在查询的时间复杂度…
一.本单元架构设计 第一次作业 本次作业要求解析UML类图. 首先,将UML中的各个元素(比如UmlClass.UmlInterface等)转化成自己定义的类(MyClass.MyInterface),目的是为了进行更好的管理,将UML中分散的元素和结构变成人能够理解的形式.此时,每个MyClass中包含属于自己的方法,每个方法都有属于自己的参数,这样在进行查找的时候简明易懂.对于数据的管理,我首先建立了一个Container类,负责管理各种List和Map.对于一些常用的元素,我采取了Hash…
Part1 本单元三次作业架构设计总结 1.组织结构 由于官方代码中已经给我们提供了许多零散的类元素,如UmlClass``UmlAssociation``UmlParameter等,因此我首先将某些类按照我们平常的理解去进行组装,如UmlAttribute``UmlOperation等封装在MyClass内部,然后再将组装的类进行分级,层层调用.组装结果如下: 这样进行组装后可以将这些不便于直接使用的零散元素进行抽象,然后内部提供我们所需要的方法,从而更加便捷的去进行访问. 最外层的类MyUm…