架构设计:
第一次作业:
本次作业较为简单,我采用了MyUmlClass类对UMLClass进行包装和解析,为了方便把UMLInterface也算成一类特殊的UMLClass并添加了对应的属性和操作,在解析时作为一个对象来解析。
第二次作业:
本次作业较上次作业增加了状态图和顺序图的内容,因此我在第一次作业的基础上增加了MyUmlInteraction类和MyUmlStateMachine类用来包装和解析状态图恶化顺序图的相关属性和操作
第三次作业:
本次作业较上次变化并不大,增加了一个查错的部分,总体上并没有什么需要特别注意的地方,根据文档基本都能写出来
四个单元中的架构设计及OO方法理解的演进
第一单元:
第一单元应该是相对来说较为复杂的一个单元,由于刚开始对Java的编程风格也不太熟练,导致犯了许多小毛病,花了挺长时间
第二单元:
第二单元的相对来说比较简单,主要是多线程的调度和分配问题,需要考虑的更多是性能问题和线程回收的问题
第三单元:
本单元是JML的熟悉和使用,较为简单,基本上照着文档写代码就行了,较难的部分是考查了一些算法相关的知识
第四单元:
本单元是UML的学习,较第三单元稍微难了一些,主要难点在于对UML图的理解,理解到位后代码并不难写
四个单元中测试理解与实践的演进:
第一单元主要采用边界值分析法对代码进行检查
第二单元选择自己手写测试类,对输入数据进行解析后判断输出结果是否正确
第三单元通过随机构造数据进行检测的方法进行检查
第四单元和第三单元基本类似
课程收获:
通过一学期OO课程的学习,我的编程能力得到了提高,代码风格也变得更好了,对面向对象的理解也更为透彻,同时也掌握了一些测试的工具和方法以及常用的开发方式和架构
改进建议:
强测结束后能公开弱测和中测的隐藏数据点,碰到过一个点怎么也过不去最后还是不知道为什么
希望能公布每周实验的结果
希望能有一些官方的测试工具
学习线上OO的体会:
OO课程主要时间还是花在作业上,感觉线上线下没什么区别