《数据结构与面向对象程序设计》实验3报告
学号 20182329 2019-2020-1 《数据结构与面向对象程序设计》实验3报告
- 课程:《程序设计与数据结构》
- 班级: 1823
- 姓名: 李一卓
- 学号:20182329
- 实验教师:王志强
- 实验日期:2019年9月30日
- 必修/选修: 必修
1.实验内容
- 提交最后三个JUnit测试用例(正常情况,错误情况,边界情况)都通过的截图,截图上要有画图加水印,输入自己的学号( http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST)
- 以 TDD的方式研究学习StringBuffer。提交你的单元测试用例和测试通过的截图,截图要加上学号水印
- 对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式
- 以TDD的方式开发一个复数类Complex
- 使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印,类图中只少两个类
类,继承,接口实现,组合在UML中表达
2. 实验过程及结果
- 首先在老师所给的网址上学习单元测试,先从伪代码开始编写,再到产品代码,然后是单元测试代码,产品代码相当于测试代码的子函数,测试代码将数输入产品代码运行
下面是三个测试代码
- Java中有单元测试工具JUnit来辅助进行TDD,我们用TDD的方式把前面百分制转五分制的例子重写一次,体会一下有测试工具支持的开发的好处。IDEA中使用JUnit要安装插件,选择File->Setting打开设置对话框:下载插件JUnit。然后在产品代码上选择产生Test代码。进行TDD编写,运用@选择测试方法,如图:
-
编写一个复数类的函数,用get、set、toString设定方法实现传参数,实现加减乘除的运算,然后再写一个TDD测试代码进行测试,代码如图所示:
-
首先自己在网上查找staruml软件的使用方法,在IDEA中先快捷键ctrl+alt+shift+u显示自己代码的类于方法,再在UML上绘制图谱,如下图:
3. 实验过程中遇到的问题和解决过程
-
问题1:在进行编写complex函数的复数运算时,使用alt+insert自动生成toString输出复数RealPart和ImagePart发现出现无法输出
-
问题1解决方案:后来自己编写toString,用条件运算卡住return数值。
-
问题2:在使用UML时,设置变量时没有设置好变量类型,同样在连接源代码和测试代码时,没有改清楚其中的关系,数据调用错误,逻辑混乱了。
-
问题2解决方案:用newform template设置一个新文件,其中类于类的关系第五第八章的类的关系,继承,聚合,关联等等,还有改变类名、属性、方法。如图:
其他(感悟、思考等)
首先我在学习测试代码中,感觉就像是主函数子函数之间的传递参数,其实适逢简单。之后的TDD测试也是十分简单,只要注意函数之间的返回值就行。最为重要的是Java的精髓是类的编写调用,各个类的关系和调用,让针对对象的运算更加方便。