第四单元博客作业

  OO第四单元的内容是UML图的建模,利用官方提供的输入进行自己的处理,并提供一定的查询功能。

 

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

(1)第一次作业

  第一次作业主要是针对类图进行建模,主要思路就是依照输入的UML图进行建模。本次作业中,我的设计是以类图中的UML_Class为主体,围绕Class来建立类的组成和关系。

 

 

(2)第二次作业

  第二次作业与第一次相比,增加了顺序图和状态图。这些图的构思与类图相似,顺序图以Interaction为中心,状态图以StateMachine为中心。

 

 

 

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

  在第一个单元中,尤其是第一单元的前两次作业,我的程序都是面向过程的程序,完全没有OO的特性。而第一单元第三次作业使用了类来进行了表达式的解析,通过了测试。在第二单元电梯作业中,首先面向对象是必不可少的,但由于我的架构设计问题很多,类与类之间的耦合程度很高,在第二次作业中出现了失利。后面两个单元都是要我们实现给定的接口,因此在架构方面不需要我们花费太多,所以程序的组织都是为了更方便地实现需求,当然在这过程中也体会到了所给源代码程序的研究性和一个合理的架构设计的优点所在。

 

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

  对于第一单元的测试,我都是自己手造数据,随缘测试,程序中的bug能发现一个是一个。从第二单元电梯作业往后,我使用的都是标程对比+随机构造数据进行测试的方法,即用Python实现一个保证正确性但不考虑性能的程序,然后产生随机数据进行自动测试。从效果上来说,肯定是大量随机测试比手动构造数据来得更高效,但可能产生的结果是比较难以发现一些隐藏较深的bug,可能导致这些bug出现的数据集很小,造成随机数据难以测试全面。

  总的来说,如果以后还要进行程序的测试,我会使用随机测试为主,手动测试为辅的方法来进行。

 

四、总结自己的课程收获

  本学期的历次Project,与以前的C语言程序设计或者数据结构相比强度都要更大。这些Project,虽然我们花费了很多精力,但同时也收获到了很多经验和知识。

  在本学期的OO课程中,首先最直观的一点就是我基本上学会了Java这门语言,其次就是对于面向对象的思想有了更深层次的理解,对于多线程并发有了一个基本的认识。更重要的是,我认识到了开发过程中最重要的不是写代码,而是架构设计。一个好的架构能让你的代码实现事半功倍,也能让你的测试变得更简单。同时除了架构设计,代码测试也是很重要的一环,与代码实现相比也同样不可小觑。

 

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

(1)对于我个人来说,后面两个单元给我的感受及思考不及前两个单元,可以考虑改变后两个单元的内容及思路。

(2)可以延长作业发布到中测提交截止之前的时间,给大家留出更多的思考时间。

(3)对于每个Project程序的测试给出更多的建议和帮助。

posted on 2019-06-24 20:39  awe23  阅读(119)  评论(0编辑  收藏  举报