OO总结

OO第四单元与课程总结

第四单元作业架构设计

由于时间冲突,第四单元我只做了第十五次作业,真的没想到可以请假补交 第十五次作业的架构已经设计完成,具体参见下文,但其中依然有部分方法未完成,导致部分测试结果错误,但强测有过的也是绝了

  • UML类图

作业不是很难其实……而且伊始班里同学的经验分享也给了我一些启发。我在实现几个解析类的时候采用了与下发材料提供的接口类似的设计,MyUmlGeneralInteraction解析类将所有的解析操作汇总,其他解析类分别实现各自的解析操作,由MyUmlGeneralInteraction类实现总体的解析控制调度。

课程总结

  • 第一单元是多项式求导单元,设计的类倒是贯彻了面向对象的思想,但方法就显得略有拖沓,采用了自顶向下的分析,方法之间的关联性过强,使得debug的时候很不方便;

  • 第二单元是多线程电梯单元,在设计上基本没什么严重的问题,主要在于对线程的控制认识不足,做得也不好,第六次作业因此翻车,后来在实验中纠正了这一点;

  • 第三单元是JML单元,这一单元刚开始颇有一种根据注释填补代码的样子,只需要严格按照规格实现就OK,不过,慢慢的,随着作业越来越复杂,部分JML只是给定了条件限制,具体实现完全靠自己发挥。JML是一种对Java程序进行规格化设计的表示语言,便于代码实现,展开测试和提高代码的可维护性。

  • 第四单元就是UML单元了,UML是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供了模型化和可视化支持。其中,作业涉及了类图、状态图和顺序图的有关分析。

  • 就测试来讲,第一第二单元主要是靠自己分析作业指导书,构造各种情形的数据和一些边界测试用例进行测试,到第三单元采用的就是Junit测试方法了,可以进行更为系统的测试,而且还有JML语言可供参考,不过这一单元我做的测试也很有限。

课程收获

首先就是可以熟练运用java语言了,而且对面向对象思想的认识也更深入;还有就是课程的学习一定意义上更多的是提供了一种分析问题的角度和方法吧,除了流程式的,还有对象式的;再有就是通过JML语言、Junit测试方法、UML语言等,项目可以有很多的实现、测试和认知方向。

改进建议

第三单元JML,第三次作业,其中有很要紧的部分涉及了算法的pk,令我印象深刻,希望可以弱化一下这类作业中算法的存在感吧。

心得体会

全程线上学习OO的感觉还可以,一定要说的一点就是由于学业安排的原因,为了OO熬过夜,当时的感觉可以说是非常之好了,在家体验到了在学校的爽快感,nice!

原文地址:https://www.cnblogs.com/mzny/p/13166620.html