20155218 《Java程序设计》实验二(Java面向对象程序设计)实验报告
20155218 《Java程序设计》实验二(Java面向对象程序设计)实验报告
一、实验内容及步骤
(一)单元测试
主要学习安装和使用junit来测试编写的程序,并学习以TDD(Test Driven Devlopment,测试驱动开发)方式来编写程序。
(二)面向对象三要素
- 要求:使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。
(三)设计模式初步
- 要求:对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式。让系统支持Double类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印。
二、实验练习:使用TDD的方式设计关实现复数类Complex
产品代码:
public class Complex{
private double r;
private double i;
public Complex(double r, double i) {
this.r = r;
this.i = i;
}
public static double getRealPart(double r) {
return r;
}
public static double getImagePart(double i) {
return i;
}
public Complex Add(Complex c) {
return new Complex(r + c.r, i + c.i);
}
public Complex Sub(Complex c) {
return new Complex(r - c.r, i - c.i);
}
public Complex Multi(Complex c) {
return new Complex(r * c.r - i * c.i, r * c.i + i * c.r);
}
public Complex Div(Complex c) {
return new Complex((r * c.i + i * c.r)/(c.i * c.i + c.r * c.r), (i * c.i + r * c.r)/(c.i * c.i + c.r * c.r));
}
public String toString() {
String s = " ";
if (i > 0)
s = r + "+" + i + "i";
if (i == 0)
s = r + "";
if (i < 0)
s = r + " " + i + "i";
return s;
}
}
测试代码:
三、总结与分析
(一)遇到的问题及解决方案:
- 问题一:在file里找不到settings:
- 解决方案:在蓝墨云提问后,郝博雅同学给了我一个解决的方法,在开始页面的configure设置里找到了plugins,再选其中的browse,就能设置了。
- 问题二:在starUML里无法向windows系统下对java进行逆向工程,但在下载java插件中就可以了。
(二)PSP
| 步骤 |耗时 | 百分比)|
| -------- | :----------------😐:----------------😐:---------------: |:-----😐
| 需求分析 | 10min | 11.11% |
| 设计 | 15min | 16.66% |
| 代码实现 | 40min | 44.44% |
| 测试 | 5min | 5.55% |
| 分析总结 | 20min | 22.22% |