第四单元及课程总结
1.总结本单元作业的架构设计
-
第四单元需要我们实现UML解析器。对于输入的每一种umlelement,均构造实现一个myumlelement类,用来储存输入的元素,使用hashmap来存储遍历myumlelement。
主体架构课程组都已经完成设计,所以可以在这基础上优化完成自己的代码,做好层次化的组织就行了。
-
![]()
2.总结自己在四个单元中架构设计及OO方法理解的演进
第一单元:主要是实现了表达式求导,这一单元主要运用的模式是工厂模式。学习了层次化的结构设计,理解了面向对象的设计思维,和继承多态等等面向对象特性。
第二单元: 这一单元主要涉及多线程,主要运用了生成者消费者模式,并且理解了多线程的编程思维和线程安全与死锁相关知识。
第三单元:对JML规格、单元测试进行了初步学习了解。主要学习了如何根据jml规格实现代码并进行相关优化。总体上架构与所给规格一致。
第四单元:这一单元主要学习了UML这种抽象的建模语言,掌握Uml类图、时序图、状态图的入门知识。
3.总结自己在四个单元中测试理解与实践的演进
测试中前两单元主要使用课程官方提供的样例,后两单元的测试主要使用单元测试以及对拍。
自己在测试上下的功夫还是不够,oo课程也使我意识到测试这个过程的重要性,代码可能在任何地方出现不可预知的错误,这是在写代码的过程中无法预测避免的,因此只有在代码完成后充分进行测试才能逐步完善。
4.总结自己的课程收获
对Java语言本身的机制有了更进一步的了解。比如各种容器的原理与使用、多线程程序如何编写,继承、封装、多态,接口等等。并且通过大量的作业,感觉自己写的代码也会逐渐考虑到OO课程的要求,会考虑到类之间的耦合度、未来的扩展性等问题。 初次接触了设计模式,由前人大佬的编程经验总结出来的模式。在实验和作业中应用了工厂模式、生产者-消费者模式、master-worker模式和适配器模式。 初次接触了多线程的程序,理解了对共享资源要做互斥的保护,学习了同步锁、读写锁,以及通过设计模式来完成多线程的任务。 初次接触了JML,从一个更宏观的角度来看一个项目。见识了用形式化语言来描述代码的功能,并通过纯数学推导的方式来验证程序正确性的思想。但是学完之后,感觉JML相关工具链还不是很成熟,纯数学的推导也不知道具体要怎么推导法。但是这种通过忽略细节,从一个更高的视角来看整个项目,感觉很有意义。以后工作中用的不一定是JML,也不一定是Java,但这种思想都是可以相通的。 初次接触了UML,学习了类图、顺序图和状态图的结构组成,从更高的视角来看一个项目。
5.立足于自己的体会给课程提三个具体改进建议
1.电梯单元的作业感觉难度较大,应该在指导书给出更多的指引过程。
2.讨论区功能的完善,可以实现根据关键词查找自己需要的问题。

浙公网安备 33010602011771号