BUAA_第四单元总结

本单元架构设计

本单元最后一次作业的UML类图,分三个部分进行描述:UML类图,UML顺序图,UML状态图

  • 类图的类图

    image

  • 顺序图的类图

    image

  • UML状态图

    image

可以看出本单元的架构主要是利用组合关系建立一些层次。通过关联得到的属性向下调用。

架构设计思维及OO方法理解的演进

架构设计思维的演进

第一单元:学习到了层次化的思想,我认为就是把一个问题拆分成更简单的问题,或者说把问题缩小范围,交给下一层次的类去解决,每一层要做的事就是拆到下一层去,然后又从下一层拼回来。

第二单元:学习到了生产者消费者这种架构思想。这种思想方便我讲各个类的职责理清楚。

第三单元:这单元只需要完成一些方法,架构官方包已经搭好了。

第四单元:这单元我认为又是层次化的思想。

OO方法理解的演进

第一单元:这一单元没学到什么特别的OO语法或技巧。

第二单元:这一单元学习了多线程,多线程就是CPU一下执行这个线程的代码,一下执行那个线程的代码。学会了加锁来实现同步(wait-notifyall)和互斥。

第三单元:这一单元主要是学习了JML语言的阅读。

第四单元:这一单元没有学到什么特别的OO语法或技巧。

测试理解和实践的演进

第一单元:模仿作业采用递归下降的方式生成了一些数据。

第二单元:使用同学的数据进行测试

第三单元:使用同学的数据进行测试并阅读别人代码进行白盒测试

第四单元:使用同学的数据进行测试

课程收获

  • 学会java的基本语法和基本的多线程使用

  • 学习了UML类图的绘制

  • 学习了Markdown语言的基本使用

  • 学习了git的基本使用

  • 学习了打jar包命令行测试

  • 学习到了层次化思想和生产者消费者思想

  • 学会了JML语言的基本构成

  • 学习了迭代和重构

三个具体的课程改进建议

  • 建议加强暑期预习作业的监督,我认为没有暑期的预习,要想在第一周掌握java的基本使用完成难度还高的第一单元第一次作业是十分困难的。
  • 建议适当增强公测的强度,前面三个单元已经反映除了公测相比于互测的脆弱,但是也许公测的弱是为了方便我们互测的进行,但是第四单元就没有这个必要了,所以至少提高第四单元公测的强度。
  • 我深知测试的重要性,所以我觉得可以出一些官方的测试教程,教我们如何生成评测数据。至少可以每次作业结束后公布一点官方生成测试数据的程序,Python写的也可以,只要方便。
posted @ 2022-06-28 19:41  20373467dyt  阅读(44)  评论(0编辑  收藏  举报