20172306《程序设计与数据结构》实验二报告

20172306 《程序设计与数据结构》实验二报告

课程:《程序设计与数据结构》
班级: 1723
姓名: 刘辰
学号:20172306
实验教师:王志强
助教:张旭升和刘伟康
实验日期:2018年4月22日
必修/选修: 必修
1.实验内容
此处填写实验的具体内容:
初步掌握单元测试和TDD
理解并掌握面向对象三要素:封装、继承、多态
初步掌握UML建模
熟悉S.O.L.I.D原则
了解设计模式
完成蓝墨云上 (1)-(5)实验。
2.实验过程及结果
实验一和实验二是在课上做的,在做的时候,感觉还不算特别难。在课上基本就完成了。


对于这两个实验,主要就是学会应用单元测试和TDD。
实验三,是使用不同的类对自己的学号进行求余运算,这个也是主要利用Junit和TDD。最开始,我将这几种分别建立一个class文件,然后引用Data等类,后来觉得特别的多而且繁杂,所以将他们放在了一起。感觉更加的规整。只不过每次在测试时都需要将后面的测试更改一下,但是我觉得已经够方便的了。

实验四是花的时间最长的一个,花了一个下午加一个晚上。总是不断地在类与测试的过程中出现问题,然后反复修改,它要求建一个Complex的类进行复数的加减乘除,并进行测试。
(https://gitee.com/CS-IMIS-23/20172306.git)(https://gitee.com/CS-IMIS-23/20172306.git)
实验五主要是度UML类图的的应用。在最开始看到那个软件的界面时,一脸的懵,完全不知道干什么,但是每一个都点一点,查查有道的单词,就明白了。

3.实验过程中遇到的问题和解决过程
问题1:在test中,有一个assertEquals,但是我不知道这个东西到底是为什么?
问题1解决方案:对于assertEquals([String message],expected,actual)这个,message是个可选的消息,假如提供,将会在发生错误时报告这个消息。expected是期望值,通常都是用户指定的内容。actual是被测试的代码返回的实际值。 同时,我还看了方艺雯的博客,发现她和我提出的问题相同。所以在百度之后又看了她的,我理解更多。(http://www.cnblogs.com/YiYiYi/p/8934246.html)
问题2:在这个里面,Animal是抽象类,但是我知道应该在UML类图中Animal应该为斜体,但是我不知道怎么把它变成斜体。

问题2解决方案:问了同学,才知道原来斜体是在这个位置
只要打上对号,就可以把抽象类变成斜体。
问题3:
问题3解决方案:它会有一个错误提示。后来仔细想了一下,加了toString方法。就成功了。

其他(感悟、思考等)
这次的作业是我觉得可以花时间好好思考的目前为止唯一的一次。对于实验四,我也真的有认真思考实现测试。可以说,在实现的时候,成就感还是很大的。但是真的太辛苦了,我自己的基础本来就不是很好,现在进度快的越来越跟不上的感觉。

参考资料

原文地址:https://www.cnblogs.com/lc1021/p/8909031.html