目录 目录一.第四单元UML两次作业架构设计第一次作业第二次作业二.架构设计总结与OO方法理解演进三.测试理解与实践演进四.课程收获总结五.课程改进建议六.尾声 一.第四单元UML两次作业架构设计 第一次作业 第一次UML作业的文件树如下: 本次作业采用的是分离需求的设计思路,每一类需求整合到对应的类中单独存储,并配置修改和访问方法. 在顶层,实现课程组提供的UmlInteraction接口的类MyUmlInteraction只负责将UmlElement传入parser解析,并对外提供查询接口,…
第四单元博客总结--暨OO课程总结 第四单元架构设计 第一次UML作业 简单陈述 第一次作业较为简单,只需要实现查询功能,并在查询的同时考虑到性能问题,即我简单的将每一次查询的结果以及递归的上层结果都存储下来,使用一个Boolean型变量记录是否更新过该结果,即日后查询可以直接返回查询内容,而无需再次更新,也算是一种较为无脑的办法,根据后来的评测数据以及结果来看,性能.CPU运行时间并不是该次作业的重点,正确性才是关键之所在.需要同学们对于UML每一个元素有充分的理解,同时助教也在讨论区回答大家…
OO第四单元(UML)单元总结 这是OO课程的第四个单元,也是最后一个单元.这个单元只有两次作业,相比前三个单元少一次作业.而且从内容上讲这个单元的作业目的以了解UML为主,所以相对前三个单元比较简单. 一.作业分析 1.第一次作业 第一次作业的目的是实现一个UML类图解析器,这个解析器需要接受由UML图生成的类图信息并根据要求返回相应的结果,是以了解UML类图为目的的作业. 由于UML解析器的输入是按照starUML中存储类图信息的方法来存储的,所以这次作业的目的其实是了解类图的存储方法,即s…
北航OO第四单元--UML图解析 作业要求简析 刚接触本次作业可能需要花上一会才能搞清楚到底是要我们写个啥,在这里简单说一下: UML图的保存格式.mdj文件是以json文件的形式存储的,将每一个UmlElement作为其parent的属性挂载到其中.可以自己随便用starUML画一个,然后看看源文件内容 课程组将这一个个UmlElement单独拿出来逐条输入,以此在我们的程序中建立起UML类图 然后输入查询指令,查询有关于UML图的各种信息并输出 作业思路及架构 由于许多大作业.考试全部堆在这…
本单元是在理解UML图的基础上实现对图的解析和检查.UML图是新接触的一种建模工具,一开始接触UML的时候觉得理解起来比较困难,并不能单纯从代码的角度按照类.方法这样来理解,这只是从类图的角度,还有从顺序图来理解类与类之间消息的交互,从状态图理解一个类内部的状态变化.基本上理解了UML图这个单元就成功了一大半了. homework13 UML图 架构设计 这次作业仅仅是围绕类图,所以按照类图中的一些从属关系设计了在各类UMLElement的基础了设计了自己的类图中的元素,管理一些相关的数据,这样…
oo第四单元作业总结暨课程总结 一.本单元作业架构设计 本单元需要构建一个UML解析器,通过对输入的UML类图/顺序图/状态图的相关信息进行解析以供查询,其中课程组已提供输入整体架构及输入解析部分,仅需补充查询指令相关实现.本单元的三次作业是彻底的增量开发,没有对先前的作业做任何改动,因此仅分析第三次作业的架构设计. 由于本单元作业数据量较小,性能要求较低,因此并没有采取按照元素的属性和归属进行建树或建图的方法,而仅暴力存储了每一元素的相关信息并在查询时不断遍历,架构较为简单,类图如下(仅选取自…
OO第四单元总结暨期末总结 目录 OO第四单元总结暨期末总结 第四单元三次作业架构与迭代 整体感受 HW1 HW2 HW3 四个单元架构设计与方法演进 Unit1 Unit2 Unit3 Unit4 四个单元测试理解与实践的演进 课程收获 课程建议 线上学习体会 第四单元三次作业架构与迭代 整体感受 第四单元主要学习的是UML相关的知识,大体包括类图,顺序图与状态图.在理论课掌握了所有知识点的前提下,代码实践部分的难点则集中在初期阅读大量官方代码(yysy,第一次作业开始写代码前我至少花了3h+…
[OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类.每个子类存储相应的UmlElement,以及需要保存的信息.比如,Class类里保存着这个类的属性.方法以及关系.父类.实现的接口等信息. Element抽象类有一个put方法,用来建立“关系”.比如,将属性.方法放到对应的Class里. 建立每个类的时候使用工厂模式,这样在做第十四次作业的时候只…
本次作业是第四单元的最后一次作业,也是本学期面向对象的最后一次作业,在此我将分别对第四单元和整个学期进行总结. 一.本单元的两次作业 第四单元的作业是关于UML的一些处理.UML语言是一种区别于具体语言的一种统一建模语言,也就是说在UML里,你可以只专注于对象的属性.操作.关联.状态.状态变化.时序等,而不需要关心具体的语言细节.而这也就是题目“返璞归真”的由来:在学习了一个学期面向对象以后,我们熟悉了怎么编写一个面向对象的程序,但我们考虑的基本上是对象的属性和操作,并没有关心这个对象的状态.状…
OO第四单元博客作业 BUAA_1706_HugeGun 目录 第四单元作业架构设计 四个单元架构设计及OO方法理解 四个单元测试理解与实践演进 课程收获 一点建议 第四单元作业架构设计 ### 第十三次作业: 用HashMap嵌套HashSet.ArrayList建抽象图 查询在容器里找就行了 共440行 第十四次作业: 复制上一次作业代码来解决类图查询 新建check类并复制上次作业建的图,然后完成三种check: 001: 用String(id)建容器,\(O(n^2)\)查询重复name…