北京电子科技学院
实 验 报 告
课程:移动平台应用开发实践 班级:201592 姓名:苏泽楠 学号:20159207
成绩: 指导教师:娄嘉鹏 实验日期:2015.10.5
实验密级: 预习程度: 实验时间:
仪器组次: 必修/选修:选修 实验序号:2
实验名称: Java面向对象程序设计
实验目的:
1. 初步掌握单元测试和TDD
2. 理解并掌握面向对象三要素:封装、继承、多态
3. 初步掌握UML建模
4. 熟悉S.O.L.I.D原则
5. 了解设计模式
实验要求:
1.学习《Linux基础入门(新版)》《Vim编辑器》 课程
3. 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施
4. 在~/Code目录中用自己的学号建立一个目录,代码和UML图要放到这个目录中,截图中没有学号的会要求重做,然后跟着下面的步骤练习。
实验设备:
名称 | 型号 | 数量 |
Computer | X230 | 1 |
|
|
|
实验内容:
(一)单元测试
伪代码(与语法无关,主要是用来阐释这个产品的主要功能)
产品代码(一个产品所需要的且用某种语言实现的代码)
测试代码(主要用来测试产品能否上线,通过对边界值、域、可用值等的测试来检验产品)
下面我就演示一下关于本次实验的内容:
我们要在MyUtil类中解决一个百分制成绩转成“优、良、中、及格、不及格”五级制成绩的功能。
首先,按娄老师的要求,我展示一下我的文件夹路径:
第一步:书写伪代码如下:
若成绩小于60,转成“不及格”
若成绩在60与70之间,转成“及格”
若成绩在70与80之间,转成“中等”
若成绩在80与90之间,转成“良好”
若成绩在90与100之间,转成“优秀”
其他,转成“错误”
第二步:书写测试代码如下:
第三步:书写产品代码如下:
运行一下,发现错误,根据错误改进产品代码,
改进后的代码如下:运行成功
第四步:测试边界值和异常情况如下:
由上可知,TDD方法已成功实现产品代码。
接下来,我来演示面向对象的三要素:封装、继承、多态:
首先,我下载了startUml软件,它是一个建模软件,可以画uml(统一建模语言)图,我理解的抽象和封装是:比如说你和我都是人,咱们就可以抽象一下说,我们属于人类,其实,人类就是一个抽象类,而封装就是把人类的属性(我们都有胳膊、腿、鼻子等等)都封装在人类这个类中。
接下来是继承:Dog和Cat都继承了Animal的属性:
如上,用父类声明引用,用子类生成对象,就是多态。
练习:使用TDD的方式设计实现复数类Complex。
还是用上面的方法,
第一步:书写伪代码:
若无输入,则复数的实部为0,虚部为0
若只输入实部,则复数的实部为输入的数,虚部为0
若只输入虚部,则复数的实部为0,虚部为输入的数
若实部和虚部都输入,则复数的实部与虚部为相应的输入值
第二步:书写测试代码,根据测试情况来书写产品代码:
步骤 | 耗时 | 百分比 |
需求分析 | 6min | 15.4% |
设计 | 12min | 30.8% |
代码实现 | 10min | 25.6% |
测试 | 7min | 17.9% |
分析总结 | 4min | 10.3%
|
单元测试的好处:
1:在测试中进行项目,边改边写,可以将自己设计的项目不断优化;
2:单元测试是按模块进行的,这有助于实现模块的“块内高内聚,块间低耦合”;
3:为后续的测试奠定基础,单元测试做好了,后续测试的效率就会提升。
总结
此次试验遇到的问题:
在使用myeclipse的时候,根据AnimalTest.java来修改Animal.java,但修改了好长时间,AnimalTest.java又出现了
错误。
解决办法:我将myeclipse关闭,然后又打开,将所有文件ctrl+s了一下,结果错误就消失了。
分析原因:写完代码一定要ctrl+s一下,要不然无法实现文件的关联,有些方法就无法调用了。