OO第四单元博客总结

(1)总结本单元三次作业的架构设计

本单元的三次作业当中,我的架构设计基本以在同一个架构上进行扩展,没有进行重构。按照注释所展示的方法来对接口进行实现,其中主要的架构基础建立在对于元素集合的遍历上。对于elments类的各个属性,首先进行主类名称的查询和检测,记录类的id并且对剩余的所需属性的parentId进行遍历和计数,再加上对于类型的判断和总结。还有一个重点是对于父类以及顶级父类的查找。我采取的是建立一个查找方法,从elements中向前查找父类并且返回父类ID列表。之后可以发现列表当中最后一个元素就是顶级父类。对于状态图以及顺序图的内容和前面的内容类似,需要注意的是状态图分为很多个状态,并且结尾状态以及起始状态是区别于与一般状态的。而顺序图的消息传递是存在路径以及自身属性的,这些是和第一次作业不同的点。而第三次作业我没有过多的新架构。

 

 

 

(2)总结自己在四个单元中架构设计OO方法理解的演进

在这四个单元当中,第一单元的主要内容是多项式相关的程序构建,由于在前两次作业中我自己的架构设计当中没有包含通过树对多项式进行分解,导致在最后一次的作业当中重构工作量过大,没有按时完成,这也使我明白了面向对象最重要的架构需要在第一次作业对于其可扩展性进行考虑。

在第二单元中。我们对于面向对象当中的多线程的问题进行了学习,搭建了从单部全楼层电梯到多部选择楼层电梯,这让我们学习了多线程的处理思想,同时也让我们了解了很重要的生产者消费者模型,这一点在之后也能用到。

在第三单元当中,我们开始学习了对于JML语言的学习。这一单元的作业大多对于规格提供的注释来对接口进行实现,这一单元的难度相对较低,主要帮助我们掌握了面向对象工程中很重要的标准工具。

第四单元主要是通过接口实现UML图的实现,也是四次作业是第一次实现从代码到图像的实现,通过输入处理特殊格式的输入来生成UML格式的类图,这一单元强化了我们的特定功能的实现能力以及对于大量数据的遍历以及分类处理格式。

(3)总结自己在四个单元中测试理解与实践的演进

在这四个单元当中,我对于代码的测试主要从一开始的测试特定边界数据,以及典型有规律的数据组,到后面几个单元能够自行编写合适的测试类来进行特定部分用大量数据测试以及总体测试特定数据的形势。

(4)总结自己的课程收获

本学期的课程当中,我学习到了许多面向对象相关的知识以及规则。

首先是有关于类的知识。在学习本门课程之前,我所写的程序基本上仅仅通过主类调用相关的函数来完成函数功能,程序的功能能实现的功能十分有限,解决的课题也基本上是单线程顺序执行的函数。从面向对象的课程当中,我学习到了类的使用,每个类各自独立而可以产生关联,再通过主类进行建立和调用,能够解决多线程以及多接口的模型问题。

在这四个单元的学习当中,我不仅对于java语言有了更多的理解,也对于对象这种新的编程思路有了一定程度的学习。

(5)立足于自己的体会给课程提三个具体改进建议

  1. 我认为在课程的时间线设置上,每次作业从发布时间到上交时间有点短,中间也有两天时间没有程序编写任务,可能在每单元第一次作业需要较长时间进行构建,可以延长中测时间。
  2. 在课程单元的安排上可以将第三单元放在一开始,由于代码量较低而且有注释来代替一部分构建,可能会降低课程难度
  3. 在每单元第一次作业结束后的课堂上可以将优秀学生的构建进行分享而不是单元结束后再分享,可以提前对自己的架构的扩展性进行完善。

(6)谈一谈线上学习oo课程的体会

线上课的感觉还是不如线下课堂的效率高,有时候听讲容易分心,洗碗尽早回到学校。

 

posted @ 2020-06-18 10:44  lhy1823  阅读(129)  评论(0编辑  收藏  举报