20172303 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中表达
结果:
节点一

1332969-20180424220605538-2049552553.png

节点二

1332969-20180424220646079-937821853.png
1332969-20180424220656987-139206845.png
1332969-20180424220706977-1621729467.png

节点三

1332969-20180424220723618-1081027050.png
1332969-20180424220733007-17153167.png
1332969-20180424220741275-285693469.png

节点四

码云链接
1332969-20180424220803431-1382246554.png

节点五

1332969-20180424220916675-669157633.png

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

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

其他(感悟、思考等)

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

参考资料

转载于:https://www.cnblogs.com/PFrame/p/8934116.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值