OO第四单元总结暨OO课程总结】的更多相关文章

一.第四单元作业总结 本单元的主要任务是对 Uml 图元素进行管理和查询,测试一开始会输入一个静态图,之后会对图中相关内容进行查询. 第13,14次作业 第14次作业新增内容很少,故与第13次作业放在一起讨论 13次作业架构图 14次作业架构图 13次作业为类图的查询,14次作业新增了状态图和顺序图的查询. 第13次作业中,我最初的想法是将每个元素都建立一个类进行管理,每次查询通过类之间的连接进行查询,但是类图元素每次查询的密度很高,而且查询内容比较单一,所以如果每个元素建类,在查询的时间复杂度…
OO第四单元总结暨期末总结 目录 OO第四单元总结暨期末总结 第四单元三次作业架构与迭代 整体感受 HW1 HW2 HW3 四个单元架构设计与方法演进 Unit1 Unit2 Unit3 Unit4 四个单元测试理解与实践的演进 课程收获 课程建议 线上学习体会 第四单元三次作业架构与迭代 整体感受 第四单元主要学习的是UML相关的知识,大体包括类图,顺序图与状态图.在理论课掌握了所有知识点的前提下,代码实践部分的难点则集中在初期阅读大量官方代码(yysy,第一次作业开始写代码前我至少花了3h+…
本次作业是第四单元的最后一次作业,也是本学期面向对象的最后一次作业,在此我将分别对第四单元和整个学期进行总结. 一.本单元的两次作业 第四单元的作业是关于UML的一些处理.UML语言是一种区别于具体语言的一种统一建模语言,也就是说在UML里,你可以只专注于对象的属性.操作.关联.状态.状态变化.时序等,而不需要关心具体的语言细节.而这也就是题目“返璞归真”的由来:在学习了一个学期面向对象以后,我们熟悉了怎么编写一个面向对象的程序,但我们考虑的基本上是对象的属性和操作,并没有关心这个对象的状态.状…
一.第四单元作业架构设计 我们第四单元围绕UML图展开,在第四单元开始之前,本来以为我们的工作是学习如何使用UML工具,开始后才意识到我们要做的是解析UML类图.顺序图和状态图.当然,让我们解析的只是冰山一角,但我必须说解析UML图真的是太面向对象了. 1.第一次作业 第一次作业中我们要完成的是实现一个UML类图解析器UmlInteraction,同时有对UML的入门级了解(原来学习UML类图也是这个单元的目的之一),在这次作业中我本来想的是把之前学到的众多面向对象的知识结合起来写一次漂亮的作业…
第四单元总结--UML 第四单元作业架构分析 第一次作业其实是本单元三次作业中最难的一次.由于第一次是第一次作业,要考虑到搭建框架和设计架构,这次作业的思维性很强.在了解了各个类型元素(Element)之间的关系之后,我采用了如下设计架构.类似于课程组所给的源代码的架构,但将class与interface一同继承于一个合并类.新建立operation和association类让自己能够更多的操作空间(能够更好地获取相关数据).其实第一次作业很大部分时间都在完成架构的设计,这个框架设计好了之后完成…
一.第四单元架构设计 1.第一次作业 第一次作业要求实现的只有对类图的分析.为了直观地搭建出一个类图,我新建了Manager类来处理UmlElement以及搭建树.但由于未能做好时间管理,因此第一次作业未能通过中测. 2.第二次作业 在听过一些同学分享的第一次作业的思路与架构的讨论课后,我直接进行了重构,全部采用Hashmap以及Hashset的方式存储数据.设计架构为每一个类单独实现一个作业要求需要实现的接口,各自完成自己所需要的数据处理以及方法实现,最后再由MyUmlGeneralInter…
一.本单元作业架构设计 1.第一次作业 本单元首次接触到UML以及相关概念,在面对第一次作业时首先花了很大功夫去阅读官方接口中各种UmlElement的代码,才理解了输入的模型元素中各属性的含义.总的来说,就是将原本UML图中的层次结构,通过使用id和parent_id的形式平面化,变成各类型的UmlElement依次输入,需要我们通过这些UML元素的相关属性再反向建立起原图中的层次结构,从而实现作业的各项查询要求.由于每个UML元素的id都是唯一的,故使用elementsMap建立起id与Um…
oo第四单元作业总结暨课程总结 一.本单元作业架构设计 本单元需要构建一个UML解析器,通过对输入的UML类图/顺序图/状态图的相关信息进行解析以供查询,其中课程组已提供输入整体架构及输入解析部分,仅需补充查询指令相关实现.本单元的三次作业是彻底的增量开发,没有对先前的作业做任何改动,因此仅分析第三次作业的架构设计. 由于本单元作业数据量较小,性能要求较低,因此并没有采取按照元素的属性和归属进行建树或建图的方法,而仅暴力存储了每一元素的相关信息并在查询时不断遍历,架构较为简单,类图如下(仅选取自…
[OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类.每个子类存储相应的UmlElement,以及需要保存的信息.比如,Class类里保存着这个类的属性.方法以及关系.父类.实现的接口等信息. Element抽象类有一个put方法,用来建立“关系”.比如,将属性.方法放到对应的Class里. 建立每个类的时候使用工厂模式,这样在做第十四次作业的时候只…
OO第四单元总结及课程总结 一.前言 紧张刺激的OO“昆仑课程”接近尾声,经过一个学期的学习,我的收获和感触颇多,借此博客作业的机会,对自己OO这门课程做一个总结.本博客主要有以下五个方面,一是第UML单元的作业总结,二是课程期间架构设计及OO方法理解的演进,三是测试理解与实践的演进,四是自己的课程收获,五是给课程的三个具体改进建议. 二.第四单元作业总结 (一)第十三次作业 1.任务摘要 实现一个UML类图解析器,可以通过输入各种指令来进行类图有关信息的查询. 2.要点分析 理解UML类图的几…
OO第四单元--基于UML的UML解析器总结&OO课程总结 前言:一学期愉快(痛苦)的OO课程学习结束了,OO几个单元作业都各有特色,实验也各有特色,仔细回味起来,不再是单纯的敲代码(但自己还是有几次没用成功提交实验),也不乏有许多有趣的知识.整个作业中测--强测--互测--BUG修复的模式也将整个课程变得充实完善了起来,总的来说,收获很多,遗憾也很多.同时也感谢那些不厌其烦帮助我构思帮我debug的py们. Part1:OO第四单元--基于UML的UML解析器总结 架构分析 本单元主要理解UM…
OO第四单元总结与课程总结 第四单元作业架构设计 总体分析:本单元作业的需求集中于对UML类图进行查询.对于查询操作来说自然的想法是提前预见到需要查询的内容,在一开始就采用适当的数据结构将必要的信息进行存储,以空间换取时间.在本单元的作业中我也是完全依据这样的想法来进行设计的. 第一次作业 本次作业只涉及类图,主要的需求是对类的内外信息进行查询,类内的信息包括属性.方法等:类外的信息包括父类.接口实现等.在课程给出的源码中,一个类只包含UML中定义的ID.name等信息,并不包含属性.方法.父类…
OO第四单元与全课程总结 一.作业代码架构设计 1.第一次作业 作业类图如下: 具体架构设计: 第一次作业的全部查询工作都是和类图有关,需要解决的主要问题就是如何解析原有UML类图数据的结构,并形成自己便于查询的结构.所以,可以看到,我在这次作业中的MyUmlInteraction类中,设定了包括UML类.UML亲属关系.UML继承关系.UML关联关系.UML实现关系等共6个HashMap容器,这些容器将原UML类图具有的这些关系分类存储,并且都是以UmlElement的id作为key,这样也能…
OO第四单元(UML)单元总结 这是OO课程的第四个单元,也是最后一个单元.这个单元只有两次作业,相比前三个单元少一次作业.而且从内容上讲这个单元的作业目的以了解UML为主,所以相对前三个单元比较简单. 一.作业分析 1.第一次作业 第一次作业的目的是实现一个UML类图解析器,这个解析器需要接受由UML图生成的类图信息并根据要求返回相应的结果,是以了解UML类图为目的的作业. 由于UML解析器的输入是按照starUML中存储类图信息的方法来存储的,所以这次作业的目的其实是了解类图的存储方法,即s…
OO第四单元博客作业 BUAA_1706_HugeGun 目录 第四单元作业架构设计 四个单元架构设计及OO方法理解 四个单元测试理解与实践演进 课程收获 一点建议 第四单元作业架构设计 ### 第十三次作业: 用HashMap嵌套HashSet.ArrayList建抽象图 查询在容器里找就行了 共440行 第十四次作业: 复制上一次作业代码来解决类图查询 新建check类并复制上次作业建的图,然后完成三种check: 001: 用String(id)建容器,\(O(n^2)\)查询重复name…
目录 OO第四单元总结及学期总结 第四单元三次作业架构设计 第十三次作业 第十四次作业 第十五次作业 四个单元中架构设计及OO方法理解的演进 第一单元 第二单元 第三单元 第四单元 四个单元中测试理解与实践的演进 第一单元 第二单元 第三单元 第四单元 小结 课程收获 改进意见 线上OO学习体会 OO第四单元总结及学期总结 第四单元三次作业架构设计 第十三次作业 需求分析 ​ 本次作业需要实现一个UML类图分析器,根据传入的UML类图元素UmlElement建立模型.重建关系,并对询问指令作出应…
title: 2020 OO 第四单元总结 date: 2020-06-14 19:10:06 tags: OO categories: 学习 1. 本单元三次作业的架构设计 本单元的代码编写与第三单元有相似之处,课程组已经提供了相应的接口,我们只需要满足具体的实现.在架构设计上我选择了建立MyUmlClass等类,采用适配器模式以管理UML对象,并配置相应的方法的方式,更加符合面向对象的设计思维. 1.1 第一次作业 在第一次作业其实还没有考虑好迭代开发,在UML对象的存储方式上比较混乱,有的…
2020北航OO第四单元总结 一.本单元架构设计 本单元作业是实现一个UML图解析器,其中实现接口及主要框架课程组已经提供,只需要我们完成特定功能. 在第一次作业时,感到十分迷茫,不知道如何下手,最后在重新学习了类图的mdj文件的各项含义及内在关系后,我选择设置一个umlTree类进行UML的解析,然后存入自己写的MyUmlClass和MyUmlInterface中,使其根据原有的UmlClass和UmlInterface构造,在其中实现operations.attributes.associa…
北航OO第四单元--UML图解析 作业要求简析 刚接触本次作业可能需要花上一会才能搞清楚到底是要我们写个啥,在这里简单说一下: UML图的保存格式.mdj文件是以json文件的形式存储的,将每一个UmlElement作为其parent的属性挂载到其中.可以自己随便用starUML画一个,然后看看源文件内容 课程组将这一个个UmlElement单独拿出来逐条输入,以此在我们的程序中建立起UML类图 然后输入查询指令,查询有关于UML图的各种信息并输出 作业思路及架构 由于许多大作业.考试全部堆在这…
OO第四单元总结 第四单元架构设计 第一次作业 uml类图 这次作业我采取的基本思路就是根据指令来建造一个简易的类图,用于查询,其中umlclass中包含了umlAttraibute,umlOperation等.整个架构分为四层,首先是main函数,然后是交互类intreation,交互类每获得一个元素,就将其送入ananlyze进行分析,analyze通过分析来将其添加到适合的位置以建造类图.最终当所有的元素都被分析完了,我们就得到了一个简易的类图,接下来交互类中的各种查询就非常简单了,仅仅就…
OO第四单元及学期总结 第四单元两次作业的架构设计 第一次作业 类图: 树形结构:使用Operation类管理UMLOperation以及parent为该UMLOperation的参数(UMLparameter):使用Class.Interface两个类分别管理UMLClass/UMLInterface以及parent为该UMLClass/UMLInterface的属性UMLAttribute.操作(Operation)以及其拥有的类间关系(关联/继承/实现)等:用顶层的myUmlInterac…
一.本单元两次作业的架构设计总结 作业一.UML类图查询 1. 统计信息图 2. 复杂度分析 基本复杂度(Essential Complexity (ev(G)).模块设计复杂度(Module Design Complexity (iv(G))).Cyclomatic Complexity (v(G))圈复杂度 OCavg为平均循环复杂度;WMC为总循环复杂度 3. 结构信息图 4. 分析架构设计 本次没有架构设计,本次只用了两个类,一个main类,用于启动,一个MyUmlInteraction…
第四单元架构设计总结 第一次作业 单独写了MyUmlClass.MyUmlInterface.MyUmlOperation三个类对应UML中相应元素,在UML图中这几个元素包含一些下级元素,如Class包含Operation.Attribute,Operation包含Parameter等,所以就单独设立了新类,将下级元素当作新类的属性存储.所以如果要找一个类的某个方法的参数,就可以找到对应的MyUmlClass,然后根据其属性依次向下级查找即可.另外在MyUmlInteraction的构造方法中…
目录 目录一.第四单元UML两次作业架构设计第一次作业第二次作业二.架构设计总结与OO方法理解演进三.测试理解与实践演进四.课程收获总结五.课程改进建议六.尾声 一.第四单元UML两次作业架构设计 第一次作业 第一次UML作业的文件树如下: 本次作业采用的是分离需求的设计思路,每一类需求整合到对应的类中单独存储,并配置修改和访问方法. 在顶层,实现课程组提供的UmlInteraction接口的类MyUmlInteraction只负责将UmlElement传入parser解析,并对外提供查询接口,…
目录 一.第四单元作业架构设计 1.第一次UML作业架构设计 2.第二次UML作业架构设计 二.架构设计和OO方法理解演进 三.测试理解与实践的演进 四.课程收获总结 五.三个具体改进建议 一.第四单元作业架构设计 1.第一次UML作业架构设计…
一.第四单元作业总结 第四单元有两次作业,第十三次作业是实现一个UML类图解析器,可以通过输入一些查询指令来查询一些类图的信息.程序的主干部分已经提供,我们的任务就是实现给出的接口,过程并不繁琐.第十四次作业在十三次作业的基础上增加了对UML状态图和UML顺序图的解析以及UML模型合法性判断. 1. 第十三次作业 架构思路: 对于需要存储相关信息和参数的UML对象各开一个专门的类来实现,例如UMLClass,UMLInterface,UMLOperation.同时在第一步识别UMLElement…
前言 在学习过JML规格描述语言之后,本单元进行了UML(Unified Modeling Language)的学习.和JML单纯用语言描述的形式不同,UML通过可视化的图形形式,对一系列有关类的元素进行抽象化建模,帮助开发者更高效地理解大规模.复杂系统的模型,这对于理清对象之间的关系.设计对象的架构具有重要的意义. 在本单元的学习中,主要包括StartUML工具的使用以及对UML文件的解析,主要目的都是让我们更深入地了解各种元素的结构和组织方式,以及检验模型有效性的原则.StartUML是一款…
一.本单元架构设计 第一次作业 本次作业要求解析UML类图. 首先,将UML中的各个元素(比如UmlClass.UmlInterface等)转化成自己定义的类(MyClass.MyInterface),目的是为了进行更好的管理,将UML中分散的元素和结构变成人能够理解的形式.此时,每个MyClass中包含属于自己的方法,每个方法都有属于自己的参数,这样在进行查找的时候简明易懂.对于数据的管理,我首先建立了一个Container类,负责管理各种List和Map.对于一些常用的元素,我采取了Hash…
Part1 本单元三次作业架构设计总结 1.组织结构 由于官方代码中已经给我们提供了许多零散的类元素,如UmlClass``UmlAssociation``UmlParameter等,因此我首先将某些类按照我们平常的理解去进行组装,如UmlAttribute``UmlOperation等封装在MyClass内部,然后再将组装的类进行分级,层层调用.组装结果如下: 这样进行组装后可以将这些不便于直接使用的零散元素进行抽象,然后内部提供我们所需要的方法,从而更加便捷的去进行访问. 最外层的类MyUm…
第四单元作业总结 第四单元的作业主题是UML图的解析,通过对UML图代码的解析,我对UML图的结构以及各种元素之间的关系的理解更加深入了. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------…