zoukankan      html  css  js  c++  java
  • 20172330 2017-2018-2 《程序设计与数据结构》实验二报告

    20172330 2017-2018-2 《程序设计与数据结构》实验二报告

    课程:《程序设计与数据结构》
    班级: 1723
    姓名: 李楠
    学号:30
    实验教师:王志强
    实验日期:2018年4月18日
    必修/选修: 必修

    1.实验内容

    1:初步掌握单元测试和TDD
    2:理解并掌握面向对象三要素:封装、继承、多态
    3:初步掌握UML建模
    4:熟悉S.O.L.I.D原则
    5:了解设计模式
    6:完成蓝墨云上 (1)-(5)实验。

    2. 实验过程及结果

    实验1:练习单元测试,学会写三种代码(伪代码,产品代码,测试代码),通过Junit来进行测试。

    在做实验一的时候因为全部是按照书上一步一步做下来的,所以并没有出现太多的问题。
    测试用例截图:

    实验2:以TDD的方式学习Stringbuffer类,使用Junit进行测验。

    实验二步骤参考资料中也都包含,所以问题也不太大。最终做出来效果是正确的。
    测试用例截图:

    实验3:对设计用例进行扩充,按照学号除6的余数进行。从中体会OCP,DIP模式。

    在做实验三的时候出现了很多问题,因为刚开始读题的时候,我以为需要编写六个类,所以便把所有的类都编写了一遍,然后在提交的时候,要求是Double等类不应输出整型数,但我却输出的是整型数
    测试用例截图:






    实验4:以TDD模式开发一个Complex类,并用Junit进行测试

    在做这个的时候花了很多时间,因为不知道该怎样去计算,后来我是先初始化构造一个复数,然后确定他的实部和虚部,然后通过下面的方法计算加减乘除:

        Complex ComplexAdd(Complex c){//复数相加
            double a = c.getA();
            double b = c.getB();
            double newA = a + this.a;
            double newB = b + this.b;
            Complex Result = new Complex(newA,newB);
            return Result;
        }
    
        Complex ComplexMinus(Complex c){//复数相减
            double a = c.getA();
            double b = c.getB();
            double newA = a - this.a;
            double newB = b - this.b;
            Complex Result = new Complex(newA,newB);
            return Result;
        }
    
        Complex ComplexMulti(Complex c){//复数相乘
            double a = c.getA();
            double b = c.getB();
            double newA = a * this.a;
            double newB = b * this.b;
            Complex Result = new Complex(newA,newB);
            return Result;
        }
    
        Complex ComplexDiv(Complex c){//复数相除
            double a = c.getA();
            double b = c.getB();
            double newA = a / this.a;
            double newB = b / this.b;
            Complex Result = new Complex(newA,newB);
            return Result;
        }   
    

    测试用例截图:

    实验5:使用StarUml进行建模

    因为我是在下载的时候下载了黑的版本,所以和别人的不太一样,刚开始做的时候对那些英文都看不明白,然后慢慢的摸索做了大致的轮廓。
    Uml图:

    3. 实验过程中遇到的问题和解决过程

    问题1:首先是在上传的时候,当我把在idea弄好的内容用虚拟机上传时出现了错误导致我git文件出错
    问题1解决方案:在试了好多方法都没用之后只好直接将原文件备份删除,然后重新创建了一个项目,再把所有内容重新传上去。

    问题2:因为一直不太用idea,导致经常出现创建了太多的测试类,以及出了问题不知道该怎么解决
    问题2解决方案:在看参考资料以及问同学之后,逐渐学会了Ait+Enter快捷键以及处理文件运行的方法,慢慢的开始会使用,但还是不够熟练存在很多问题,所以还是要多练习。

    其他(感悟、思考等)

    这次实验对于idea的使用有了更进一步的了解,对于TDD、SOLID、OCP、DIP等知识学习之后有所掌握,还是存在许多不足,需要继续努力。

    参考资料

  • 相关阅读:
    微信企业号-上传、获取临时素材文件
    微信企业号-身份验证
    【转】android 电池(三):android电池系统
    【转】android 电池(二):android关机充电流程、充电画面显示
    【转】android 电池(一):锂电池基本原理篇
    【转】android 物理按键
    【转】android 电容屏(三):驱动调试之驱动程序分析篇
    【转】android 电容屏(二):驱动调试之基本概念篇
    【转】android 电容屏(一):电容屏基本原理篇
    名言警句
  • 原文地址:https://www.cnblogs.com/linanlalala/p/8921730.html
Copyright © 2011-2022 走看看