一、第四单元架构设计

1.第一次作业

  第一次作业要求实现的只有对类图的分析。为了直观地搭建出一个类图,我新建了Manager类来处理UmlElement以及搭建树。但由于未能做好时间管理,因此第一次作业未能通过中测。

2.第二次作业

  在听过一些同学分享的第一次作业的思路与架构的讨论课后,我直接进行了重构,全部采用Hashmap以及Hashset的方式存储数据。设计架构为每一个类单独实现一个作业要求需要实现的接口,各自完成自己所需要的数据处理以及方法实现,最后再由MyUmlGeneralInteraction类对前几个类进行组合

3.第三次作业

  第三次作业与第二次作业的架构一致,仅按照要求扩充了新的类MyUmlStandardPreCheck

二、总结四个单元中架构设计及OO方法理解的演进

  第一单元由于刚刚接触oo的思想,前两次作业都是按照面向过程的方式去写的。直到第三次作业出现了求导的迭代,才被迫使用面向对象的方法,对表达式因子、项等分别构造类。求导方法如果用接口来进行管理会更好,但是当时对于接口的理解不够深,最后也没感使用。

  第二单元总体来说做的不错。主题思路是采取有限状态机的模型,对电梯进行模拟。缺陷有两点,一是未能细分电梯的功能导致电梯类十分繁杂,尤其是在后两次作业的扩展中越来越困难;二是没有优化调度算法

  第三单元做的比较无脑,就只是按照指导书上的以及接口的jml描述进行的编程,没有考虑架构的设计。

三、总结在四个单元中测试理解与实践的演进

  在本学期的学习中,在测试这一方面我始终做的不好。第一单元的测试仅仅停留在手测,自己构造数据,人脑直接检验。有很多同学都自己搭建了评测机,但由于种种因素我最后还是没能搭建出来。第二单元是多线程,多线程的测试变得更加困难,我最终也只是停留在了自己构造数据。第三单元我尝试进行了单元测试的方法,但是单元测试实际上还是需要自己构造一些足够具有代表性的边界数据出来。第四单元提供了构造数据的接口,因此也没有在测试上画大功夫。

四、课程收获

  最大的课程收获还是对于面向对象的理解。如何采用面向对象的思维,如何构造合理的架构。第一单元在实验中学习了工厂模式,第一次了解到了接口的一种用法。第二单元主题是多线程,如何利用锁来保证线程安全不发生死锁,以及生产者消费者模式,结合os课程的讲解,给了我很大的启发。第三单元重点理解jml语言,我了解了如何用规范化的语言来描述一个架构。第四单元是对uml类图、状态图和流程图的学习,用图的方式来描述和理解一个面向对象程序。

  其次就是完成作业以及实验过程中的收获了。第一是测试是十分重要的,在第三单元中如果我能进行更加全面有效的测试,就不会导致一个小错误强测挂掉的悲惨经历;第二是与同学之间的交流是十分重要的,在本学期的学习过程中,许多同学的见解都对我有很大启发。

五、给课程的建议

  1.希望理论课能更加循序渐进,在最开始上课的时候总有不知所云的感觉,许多概念性的东西一概而过,对我课程的学习有一定的影响

  2.每一单元之间的联系不是十分明显,学着这一单元的忘着上一单元的(感觉这也是所有课的通病)

  3.希望能提供更加简单易学的测试教学

六、线上学习oo课程的体会

  线上学习对我来说也是一大挑战。在线上询问他人或是进行提问都不是我所擅长的,有很多问题都是敢想不敢提。且受打字速度的影响,大多数时候线上交流很浪费时间,没有在线下交流的自在。不过线上的理论课学习还是很有优势的,有没听清的或是没能及时消化的内容都可以反复观看学习。

oo第四单元总结及总课程回顾的更多相关文章

  1. oo第四单元作业总结暨课程总结

    oo第四单元作业总结暨课程总结 一.本单元作业架构设计 本单元需要构建一个UML解析器,通过对输入的UML类图/顺序图/状态图的相关信息进行解析以供查询,其中课程组已提供输入整体架构及输入解析部分,仅 ...

  2. OO第四单元作业总结以及课程总结

    第四单元总结--UML 第四单元作业架构分析 第一次作业其实是本单元三次作业中最难的一次.由于第一次是第一次作业,要考虑到搭建框架和设计架构,这次作业的思维性很强.在了解了各个类型元素(Element ...

  3. OO第四单元作业总结及课程总结

    一.本单元作业架构设计 1.第一次作业 本单元首次接触到UML以及相关概念,在面对第一次作业时首先花了很大功夫去阅读官方接口中各种UmlElement的代码,才理解了输入的模型元素中各属性的含义.总的 ...

  4. 【OO学习】OO第四单元作业总结及OO课程总结

    [OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类 ...

  5. OO第四单元总结及课程总结

    OO第四单元总结及课程总结 一.前言 紧张刺激的OO“昆仑课程”接近尾声,经过一个学期的学习,我的收获和感触颇多,借此博客作业的机会,对自己OO这门课程做一个总结.本博客主要有以下五个方面,一是第UM ...

  6. OO第四单元——基于UML的UML解析器总结&OO课程总结

    OO第四单元--基于UML的UML解析器总结&OO课程总结 前言:一学期愉快(痛苦)的OO课程学习结束了,OO几个单元作业都各有特色,实验也各有特色,仔细回味起来,不再是单纯的敲代码(但自己还 ...

  7. OO第四单元总结与课程总结

    OO第四单元总结与课程总结 第四单元作业架构设计 总体分析:本单元作业的需求集中于对UML类图进行查询.对于查询操作来说自然的想法是提前预见到需要查询的内容,在一开始就采用适当的数据结构将必要的信息进 ...

  8. OO第四单元与全课程总结

    OO第四单元与全课程总结 一.作业代码架构设计 1.第一次作业 作业类图如下: 具体架构设计: 第一次作业的全部查询工作都是和类图有关,需要解决的主要问题就是如何解析原有UML类图数据的结构,并形成自 ...

  9. OO第四单元

    OO第四单元总结 第四单元架构设计 第一次作业 uml类图 这次作业我采取的基本思路就是根据指令来建造一个简易的类图,用于查询,其中umlclass中包含了umlAttraibute,umlOpera ...

随机推荐

  1. NGK Global英国路演落下帷幕,区块链赋能大数据取得新突破

    NGK全球巡回路演于7月25日在英国圆满举行,此次路演是由NGK英国社区主办,旨在探讨当前大数据爆炸的形式下,区块链如何赋能,解决行业痛点.会上,行业精英.区块链爱好者.各实体产业代表以及科技人员纷纷 ...

  2. C++算法代码——统计数字

    题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1109 题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000( ...

  3. 三万长文50+趣图带你领悟web编程的内功心法:一文带你深入解读HTTP的发展史

    看到题目,大家是不是认为根据上一篇(两万字长文50+张趣图带你领悟网络编程的内功心法)一样,其实不然,我们上一边介绍的是网络编程的基本功,有了这些基本功之后,我们就可以在此之上构建更加接近实际应用的w ...

  4. Python算法_排序数组(09)

    给你一个整数数组 nums,请你将该数组升序排列. 示例 1: 输入:nums = [5,2,3,1]输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0]输出:[0,0 ...

  5. SpringCloud之服务调用

    1.Ribbon 1.1负载均衡LB 全称Load Balance,将用户的请求平摊到多个服务器上,从而达到系统的HA.集中式LB:在服务消费者和服务提供者之间使用独立的LB设施,如硬件,由该设施负责 ...

  6. Python逻辑面试题

    1 # *****************************列表操作***************************** 2 # names = ["Lihua",&q ...

  7. 身份认证:JSON Web Token

    JSON Web Token(JWT)是一种基于JSON的开放标准((RFC 7519),也是目前最流行的跨域认证解决方案. 传统的 cookie 认证方式看起来遵守了 REST 架构的无状态要求,但 ...

  8. 鸿蒙的js开发部模式18:鸿蒙的文件上传到python服务器端

    1.首先鸿蒙的js文件上传,设置目录路径为: 构建路径在工程主目录下: 该目录的说明见下面描述: 视图构建如下: 界面代码: <div class="container"&g ...

  9. SVHN数据集 Format1 剪裁版

    SVHN数据集官网:http://ufldl.stanford.edu/housenumbers/ SVHN数据集官方提供的有两种格式 Format1是那种在街上拍的照片,每张照片的尺寸都不同,然后l ...

  10. 通达OA后台getshell

    GIF演示图 https://github.com/jas502n/OA-tongda-RCE/blob/master/Auth-Getshell.gif 1.通过弱口令或其它手段进入后台 2.选择  ...