OO第四单元总结与学习体会

一.第四单元架构分析

 

第一次作业

 

 第一次作业需要根据UML类图实现一个 UmlInteraction 解析器。我采用了适配器模式将每个UmlElement封装为自定义类:umlClasses,umlOperations,umlassocitations等。由于UmlElememt的构造方法不是public,我采用对象适配器。此次作业很遗憾没有通过初测,但是下来之后我也进行了修改。

 

第二次作业

 

 第二次作业在第一次的基础之上增加了对顺序图、状态图的解析,提供查询方法。使用了五个不同的getClass,分别获取类图中的不同信息。整体设计不是很精简。本次作业,我在初测中有一个数据点没有通过找不出问题所在,强测得分也不高。

二.四个单元中的架构设计与OO方法

第一单元

多项式求导,这一单元我的起步较慢对Java语言都不是很熟悉,编程的思想也局限于面向过程的编程。架构设计方面就是想到哪里做到哪里没有整体的统筹和规划。只是利用了接口,继承等基本OO知识完成了作业。将输入当作多项式,正则获取其信息再将信息重新组合并输出,面向对线的思想占比不高。

第二单元

多线程调度电梯,本单元我三次作业都没有通过初测。但是还是实现了一定的程序功能。架构方面我慢慢掌握了将现实问题看作对象进行处理,将方法,数据结构与对象的需求结合。我将每个对象都分配独自的package进行局部化处理。每种电梯都有自己对应的全套方法,处理完每个电梯对象再用调度器类对所有电梯进行调度。多线程编程中对象的复杂性,也让我初步掌握了面向对象编程的并发设计的方法

第三单元

本单元是基于JML规格的规范化编程,该单元作业是我完成情况最好的三次作业。依据JML给出的要求顺藤摸瓜,可以完成基本的程序功能,通过这一单元我学会了面向对象编程规范化编程的方法,也懂得了其对于可扩展性十分重要。

第四单元

本单元是结合UML类图的编程,类图就是一个体现程序架构的方法。这一单元的学习提升了架构设计的能力。

三.四个单元中的测试与实践

四个单元的学习我都没有采用自动评测,主要原因是没有时间搭建评测机。实现代码的基本功能就花费了我大量的时间。第一单元就是不断地printf找有bug的地方,后续都是通过提交到作业评测及观看结果反推程序本身的问题。这样也导致了有些时候只是解决了几个数据的问题,没有根本上解决设计的问题。

四.面向对象课程的收获

通过十六周的学习与实践,我首先对JAVA语言更加的熟练,其次也在编程思想和架构设计上有了提升。同时我也认识到了自己在编程能力上的严重不足,看到了自己和他人的差距。自己在计算机这个专业上还有很长的路要走,虽说距离毕业只有两个课程设计和毕业设计了,但是编程能力不够不能算是一个合格的计算机专业学生。我应多加练习。

五.对课程的建议

1.对于JAVA语言的掌握应多给一些时间,不同人对JAVA的学习速度也不同。优秀的同学几天能搞定,较差的同学需要很长时间适应。还是需要有时间系统的学习这个贯穿全课程的编程语言。

2.实验课前多提供参考资料,强调自主学习但有时找不到学什么资料能通过实验课上的测试。

3.研讨课内容有些华而不实,听课的同学很难掌握分享人教授的方法。

 

posted @ 2020-06-13 00:40  刘家琪  阅读(121)  评论(0编辑  收藏  举报