oo第四单元总结

一.总结本单元两次作业的架构设计

 本单元的两次作业,因为临近期末,总体的课程任务比较紧张,其次是,尽力去理解StarUML文件的信息后,仍然没有很明白,所以两次作业均未及时完成。

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

第一单元:

 对于第一单元递进式的三次求导作业,在架构设计方面,学习了如何去层次化架构,以及如何按照数据/行为建立抽象层次;在OO方法理解方面,着重认识了何为面向对象程序,以及三个关键类——输入处理,主控,核心数据管理——应该如何去识别。总结而言,第一单元介绍了如何解决,面向对象作为一种思维方法所带来的三个基本问题:如何管理对象,如何建立对象之间的层次关系,如何管理层次关系。

第二单元:

 第二单元的多线程电梯作业,对于架构设计方面,在写作业时,主要遇见了两个问题:一个是程序的可延展性问题;一个是数据的共享和并发访问的问题。因此,在解决多线程问题的考虑中,要清楚数据的来龙去脉和可能发生的情况。对于OO方法理解方面,了解学习了生产者消费者的多线程交互模式。

第三单元:

 第三单元,引入了JML规格,并要求写出符合规格的代码,在架构设计方面,首先是读懂规格,其次是考虑采用什么数据结构和方法去实现;因为作业的测试中,重视CPU运行时间,所以在架构设计方面,还需要考虑采用何种算法更高效。在OO方法的理解方面,学习了如何去根据已有的规格设计,去实现目标程序,以及在团队合作中,一个良好的规格设计,是确保各部分程序能有效交互的基础。

第四单元:

 第四单元,引入了UML,一种在需求分析,设计等方面广泛运用的建模语言。

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

第一单元:

 因为本单元主要是学习如何运用层次化结构,因此在测试方面,构造了边界测试,以及检查每个层次实现的功能是否完整正确。

第二单元:

 因为本单元是多线程,所以程序结果可能难以复现,因此在测试方面,主要是人工构造特殊样例,并重复测试。

第三单元:

 本单元学习了如何使用junit进行单元测试,使得测试的覆盖性更广泛且合理。

第四单元:

 由于本单元没有做出成果,因此没有演进。

四.总结自己的课程收获

 首先是比较深刻地体会了什么叫面向对象,即知道了对象是一组具体的个体,各自维护自己的状态,而面向,则是把对象作为基本单位来规划设计程序的行为。其次是对多线程有了一个比较全面的认识,对于数据的保护和安全也有了学习和了解。然后是,对如何设计规格和如何实现规格,也有了基本的理解。比较遗憾的是,对于最后一单元的UML,仍然存在很多疑惑。

五.立足于自己的体会给课程提三个具体改进建议

 (1)实验课和理论课离得太近,存在着知识还没有完全掌握,便需要使用的问题,建议可以在理论课上,讲解一部分实验课的具体内容。
 (2)希望指导书中增加一些不同的测试样例,避免对指导书中的一些内容存在误解或者费解。
 (3)希望实验课课后可以提供参考答案,便于反思改进该次实验作业。

posted @ 2019-06-22 21:17  wzqyekong  阅读(134)  评论(0编辑  收藏  举报