• 2017-2018-2 20165204实验二《Java面向对象程序设计》实验报告


    2017-2018-2 20165204实验二《Java面向对象程序设计》实验报告

    实验报告封面

    课程:Java程序设计 班级:1652班 姓名:贾普涵 学号:20165204 成绩:

    指导教师:娄嘉鹏 实验日期:2018年4月16日
    实验时间:15:35 - 17:15

    实验序号:二 实验名称:Java面向对象程序设计

    实验内容:

    1 初步掌握单元测试和TDD

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

    3 初步掌握UML建模

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

    5 了解设计模式

    实验要求:

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

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

    3 实验报告中统计自己的PSP(Personal Software Process)时间;

    4 严禁抄袭。

    二、实验内容

    提交点一

    按照老师的教程的详细的指导,比较顺利地完成了要求的任务。

    但是遇到了不少问题

    1. 我的idea是使用了网络上别人分享的激活码,修改host文件来激活的。(我觉得问题可能在这)第一次点击setting中的plugin时里面空无一物,且无法在第一个选项中找到老师所说的JUtil GeneratorV2.0。但是在第二个从浏览器中下载找到了下载源,可是碰到了如下图情况。
    • 解决方法:世界上可以解决百分之九十问题的方法:重启电脑。
    1. 在成功进入之后,我却发现我的plugin中多了一堆(如下图)。当然并没有阻碍我成功完成实验,只不过很疑惑是哪里冒出来的。

    2. 在小灯泡创建test的那一步,如下图小白框中的junit单词会被标注红色下划波浪线,导致无法正确创建。

    • 解决方法:问题出现时在Junit3选项下方会出现Fix按钮,点击即可。

    码云链接

    提交点二

    使用TDD进行测试,首先要知道StringBuffer类中的测试内容都是什么意思。

    charAt(int i) 返回索引的i值,从0开始计数。

    capacity() string分配的储存容量

    indexOf(String s) 检索相关位置的字符串

    length() 字如其名,字符串的长度。

    之后就能够自己编写测试代码了(这里皮了一下),实验截图如下。
    如图所示,四个测试都成功了。

    码云链接

    提交点三

    体会OCP原则和DIP原则的应用。
    根据老师提供的教程,成功的改为了Float要求。

    码云链接

    提交点四

    使用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)
    

    测试代码运行成功截图如下

    码云链接

    提交点五

    PSP表格

    步骤 耗时 百分比
    学习并设计 100min 50%
    代码实现 40min 20%
    截图、上传、博客 60min 30%

    学习感想

    JUnit确实是非常强大的测试工具,第一次使用觉得是自己找错误,让电脑跑正确。后来慢慢变成电脑帮我找出错误,让程序跑正确。本次的实验任务难度明显提升,花费了我大量的时间来逐步完成。其实总共花的时间比PSP表中多得多,但是有效学习时间大致是我表格中所统计的(总共的时间其实有0.7天了)。以后效率还是需要提升,继续将IDEA这个工具用的更加得心应手。

  • 相关阅读:
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    2017软件工程实践总结
    华为软件开发云评测
    android开发——用户头像
    学生&部门智能匹配程序
    学生会里学生汇
    数独棋盘生成器
    读与思
    Java接口
  • 原文地址:https://www.cnblogs.com/jph596299009/p/8854573.html
Copyright © 2020-2023  润新知