OO第四单元总结

Table of Contents generated with DocToc

任务:

  1. 总结本单元作业的架构设计
  2. 总结自己在四个单元中架构设计及OO方法理解的演进
  3. 总结自己在四个单元中测试理解与实践的演进
  4. 总结自己的课程收获
  5. 立足于自己的体会给课程提三个具体改进建议

架构设计

总结本单元作业的架构设计

首先评价以下自己的架构设计——非常丑,有一个类快700行。

再丑的架构也是自己写出来的。

第一次作业不懂事,不知道后面还有顺序图和状态图的部分,架构如下:

MyUmlInteraction
	|- MyClass
		|- MyOperation
		|- MyInterface

后来将类图、状态图和顺序图剥离出来,架构如下:

MyUmlInteraction
	|- ClassInteraction
	|	|- MyClass
	|		|- MyOperation
	|		|- MyInterface
	|
	|- SequenceInteraction
	|	|- MySequence
	|
	|- StateInteraction
		|- MyStateMachine

从小往大的说,MyOperationMyInterface封装了UmlOperationUmlInterface,然后MyClass就表示一个“类”,ClassInteraction保存了所有的类及其关系。

MySequence是一整个顺序图的抽象,MyStateMachine是一整个状态图的抽象。

SequenceInteractionStateInteraction分别保存了所有的顺序图和状态图。

XXXInteraction内实现了各个检查和查询的接口。

架构设计及OO方法理解

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

学到了第四单元,了解了一些设计上的规则后,我才知道,自己曾经写出过那么拉废不堪的代码和架构。

现在来看OO,我觉得,就是抽象出了“类”和“关系”两大实体,作业和上机,就是在帮助我们掌握抽象出“类”以及维护好关系上。

第一单元,表达式与求导,我较早地使用了OO的思想,将各个factor封装成相应的类,从第一次作业到第二次作业没有推倒重来,但是架构上,写出了关系上相互依赖的两个类,维护非常困难。

第二单元,多线程模拟电梯,除了几天速成多线程外,重点学习了线程之间的交互。也就是说,维护好线程之间的关系,既要高效,也要避免死锁。

第三单元,看到了各式各样的JML,我体会到了设计架构时,那种自然语言表达上的艰辛,以及将JML翻译成人话时痛苦。

第四单元,UML的解析。依旧是被课程组下发的官方包震惊到的一次,官方包里琳琅满目的类,有条不紊的设计,让我大开眼界。借用李安导演一句话,“我虽然看不懂,但是大受震撼“。类、异常、解析器,还有很多看不懂的东西,我觉得这就是一个项目应该有的架构,一家人整整齐齐。

测试理解与实践

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

我在上OO课前,对测试的理解就是,用正常数据、边缘数据和异常数据去测试自己的项目,对输出进行检查。

学习了OO后,我才知道,自己的看法还是太单薄了。

如果测试的行为有等级,我想可以分成三层,

第一层,手动构造样例。比如第一单元写完以后,手动输入一些表达式;

第二层,对拍。实现了机械化的输入,提高了效率;

第三层,使用JUnit,将测试模块化。

在实践上,第一单元和第二单元我都只做到了第一层,到了第三单元和第四单元,在同学的帮助下,使用对拍机。很可惜,我只做到了手动构造样例和对拍,并没有涉足JUnit使用。

课程收获

总结自己的课程收获

  1. 收获了OO的知识,做好架构,组织整个工程结构的能力;
  2. 收获了测试的方法,对拍机给我留下了深刻的印象;
  3. 收获了友谊。

改进建议

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

实话实说,我上课就没怎么听过,每周的OO课,要么在看OS,要么在做离散作业。

我记得听过一节JML,后来发现课上老师默认我会JML语法,以及课的内容对我完成homework没有大的帮助,我就听地更少了。

说到具体的建议,我有一个,有一次上机,我在最后5分钟左右提交了一次,我没做完,只是想保存下进度,然后,做完了,发现再也交不上了。。。。

要是在倒数5分钟提交的时候,系统弹出一个对话框,警告我这是最后一次提交的机会,那该多好。

第二个建议,本次博客要求“三个建议”太多了,少一点。

总结

OO这门课,让我见识到了北航课程组实力的强劲,比同校的其他课、其他学校的同样的课,都要强不少。

指导书、官方包、测评机、互测环节,很强。

原文地址:https://www.cnblogs.com/ticlab/p/14921657.html