实验二

Java实验报告二:Java开发环境的熟悉

 

一、实验要求:

1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程

2.完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导

3. 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。

4. 请大家先在实验楼中的~/Code目录中用自己的学号建立一个目录,代码和UML图要放到这个目录中,截图中没有学号的会要求重做,然后跟着下面的步骤练习

二、实验内容

1. 初步掌握单元测试和TDD

2. 理解并掌握面向对象三要素:封装、继承、多态

3. 初步掌握UML建模

4. 熟悉S.O.L.I.D原则

 

三、实验过程

实验一:

需求:我们要在一个MyUtil类中解决一个百分制成绩转成“优、良、中、及格、不及格”五级制成绩的功能。

 

实验二:

TDD(Test Driven Devlopment, 测试驱动开发)

 

  • 明确当前要完成的功能,记录成一个测试列表
  • 快速完成编写针对此功能的测试用例
  • 测试代码编译不通过(没产品代码呢)
  • 编写产品代码
  • 测试通过
  • 对代码进行重构,并保证测试通过(重构下次实验练习)
  • 循环完成所有功能的开发

 

 

 

 

 

 

 

 

 

 

实验三:

我们可以用UML中的类图来描述类Dog,首先我们在实验楼的环境中打开shell,在命令行中输入umbrello,打开UML建模软件umbrello

在UML 里,一个类的属性能显示它的名字,类型,初始化值,属性也可以显示private,public,protected。 类的方法能显示它们的方法名,参数,返回类型,以及方法的private,public,protected属性。

 

 

 

 

 

     

 

 

实验四:

使用TDD的方式设计关实现复数类Complex。

步骤耗时百分比
需求分析  1h  
设计  1h  
代码实现  1h  
测试  30min  
分析总结

 

 

伪代码:

复数的加减运算:定义一个整型a作为实部;定义一个整型b作为虚部;运算后定义newA作为实部;运算后定义newB作为虚部;加法运算返回p1;减法运算返回p2;输出加、减运算结果;

 

产品代码:

                                                                          

class complex

{

int a,b; 

complex(int a,int b){

this.a=a;

this.b=b;

}

int Shi(){

return a;

}

int Xu(){

return b;

}

complex add(complex p){

int aa=p.Shi();

int bb=p.Xu();

int newA=aa+a;

int newB=bb+b;

complex p1=new complex(newA, newB);

 

return p1;

}

complex sub(complex p){

int aa=p.Shi();

int bb=p.Xu();

int newA=aa-a;

int newB=bb-b;

complex p2=new complex(newA,newB);

 

return p2;

}

}

public class Shiyan{

public static void main(String[] args){

 

complex c1=new complex(1,2);
complex c2=new complex(3,4);
complex p1=c1.add(c2);

int p1a=p1.Shi();

int p1b=p1.Xu();

System.out.println("a="+p1a+",bi="+p1b+"i");

System.out.printf("和=%d+%di",p1a,p1b);

System.out.println();

complex p2=c1.sub(c2);

int p2a=p2.Shi();

int p2b=p2.Xu();

System.out.printf("差=%d-%di",p1a,p1b);

}

}

 

测试代码:

 

五、实验收获

 

 单元测试的好处是让大家处于时刻注意的状态,进度不会赶。并且可以抽出时间练习

 

posted on 2015-05-07 17:05  20135325  阅读(147)  评论(0编辑  收藏  举报

导航