172303 2017-2018-2 《程序设计与数据结构》实验二报告

Posted PFrame

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了172303 2017-2018-2 《程序设计与数据结构》实验二报告相关的知识,希望对你有一定的参考价值。

20172303 2017-2018-2 《程序设计与数据结构》实验二报告

  • 课程:《程序设计与数据结构》
  • 班级: 1723
  • 姓名: 范雯琪
  • 学号:20172303
  • 实验教师:王志强
  • 助教:张旭升/刘伟康
  • 实验日期:2018年4月17日
  • 必修/选修: 必修

1.实验内容

  1. 初步掌握单元测试和TDD
  2. 理解并掌握面向对象三要素:封装、继承、多态
  3. 初步掌握UML建模
  4. 熟悉S.O.L.I.D原则
  5. 了解设计模式
  6. 完成蓝墨云上 (1)-(5)实验。

2.实验过程及结果

过程:

  • 本次实验老师一共设置了5个提交节点分别是:
节点一
  • 参考IDEA 简易教程完成单元测试的学习
  • 提交最后三个JUnit测试用例(正常情况,错误情况,边界情况)都通过的截图,截图上要有画图加水印,输入自己的学号
  • 本提交点考查JUnit会不会使用,测试用例至少要包含正常情况,错误情况,边界情况的测试
节点二
节点三
  • 参考实验二 Java面向对象程序设计
    对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式
  • 用自己的学号%6进行取余运算,根据结果进行代码扩充:
    • 0:让系统支持Byte类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
    • 1:让系统支持Short类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
    • 2:让系统支持Boolean类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
    • 3:让系统支持Long类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
    • 4:让系统支持Float类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
    • 5:让系统支持Double类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
节点四
  • 提交:单元测试代码和运行成功截图及码云上代码链接,截图要加上学号水印
  • 任务:以TDD的方式开发一个复数类Complex,要求如下:
// 定义属性并生成getter,setter
double RealPart;
double ImagePart;
// 定义构造函数
public Complex()
public Complex(double R,double I)

//Override Object
public boolean equals(Object obj)
public String toString()

// 定义公有方法:加减乘除
Complex ComplexAdd(Complex a)
Complex ComplexSub(Complex a)
Complex ComplexMulti(Complex a)
Complex ComplexDiv(Complex a)
节点五
  • 使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印
  • 类图中至少两个类
  • 类,继承,接口实现,组合在UML中表达

结果:

节点一

节点二



节点三



节点四

码云链接

节点五

3.实验过程中遇到的问题和解决过程

  • 问题1:做实验二时,所写的容量显示错误

  • 问题1解决方案:通过测试显示结果修改了容量,但不清楚为什么要这么改。询问张旭升学长后知道了是根据输入的字符数量规定好的。
  • 问题2:UML类图的使用
  • 问题2解决方案:当时做的时候特别匆忙做的特别特别烂...我都不好意思拿节点五的分了。后来又重新写了一遍:为了巩固依照PP9.3的程序写了它的UML类图。
    旧图:

    新图:

    PP9.3:

其他(感悟、思考等)

感悟

  • 本周的实验其实很简单,只要照着博客一步一步踏实地做下去就好,但做完发现自己学会了很多东西。首先使用JUnit真的能节省很多时间,然后学会使用UML类图让自己对每个程度的整体结构有了一个非常明晰的认识。

参考资料

以上是关于172303 2017-2018-2 《程序设计与数据结构》实验二报告的主要内容,如果未能解决你的问题,请参考以下文章

2017-2018-2《程序设计与数据结构》实验四报告

20172327 2017-2018-2 《程序设计与数据结构》实验2报告

20172317 2017-2018-2 《程序设计与数据结构》实验二报告

20172321 2017-2018-2 《程序设计与数据结构》实验五报告

学号 2017-2018-2 《程序设计与数据结构》实验五报告

20172310 2017-2018-2 《程序设计与数据结构》实验五报告