一、实验内容
1. 初步掌握单元测试和TDD
2. 理解并掌握面向对象三要素:封装、继承、多态
3. 初步掌握UML建模
4. 熟悉S.O.L.I.D原则
5. 了解设计模式
二、实验步骤
1. 第一类实验:
2.第二类实验:
3.第三类:
练习:
1使用TDD的方式设计关实现复数类Complex。
(1)伪代码
实现复数类:
建立复数,实部和虚部;
复数相加,输出复数;
复数相减,输出复数。
(2)产品代码
代码:
产品代码
public class Complex { double rePart,imPart; Complex() { this.rePart=0; this.imPart=0; } Complex(double rePart) { this.rePart=rePart; this.imPart=0; } Complex(double rePart,double imPart){ this.rePart=rePart; this.imPart=imPart; } Complex Jia(Complex p1,Complex p2){ Complex p =new Complex(p1.rePart+p2.rePart,p1.imPart+p2.imPart); return p; } Complex Jian(Complex p1,Complex p2){ Complex p =new Complex(p1.rePart-p2.rePart,p1.imPart-p2.imPart); return p; }
void Print() { System.out.println("复数的值为:"); if(this.imPart!=0) System.out.println(this.rePart+"+"+this.imPart+"i"); else System.out.println(this.rePart); }
测试代码
public class ComplexTest{
public static void main (String[] args){ Complex c =new Complex(); Complex c1 = new Complex (2,7); Complex c2 = new Complex (5,2); c1.Print(); c2.Print(); System.out.println("两复数之和为:"); System.out.println((c.Jia(c1, c2).rePart+"+"+c.Jia(c1, c2).imPart+"i").toString()); System.out.println("两复数之差为:"); System.out.println((c.Jian(c1, c2).rePart+"+"+c.Jian(c1, c2).imPart+"i").toString()); } }
}
总结
PSP(Personal Software Process)时间
步骤 | 耗时 | 百分比 |
需求分析 | 15分钟 | 5.5% |
设计 | 15分钟 | 5.5% |
代码实现 | 90分钟 | 33.3% |
测试 | 120分钟 | 44.4% |
分析总结 | 30分钟 | 12% |
遇到的问题:1.在运行Tdddemo 的时候未找到 junit test, 在仔细研读教材后发现是没在代码中加注释@Test。
2.最后练习时总有提示我主函数不因该有参数,后使mian 函数为空参数,解决!
3.还有再用umbrello是一直不知道箭头怎么用,就先截了图,然后箭头是用画图软件弄上去的,后面知道了图也没改,但我知道怎么弄的了^_^。