zoukankan      html  css  js  c++  java
  • 20145321 实验二实验报告

    20145321 实验二实验报告

    实验内容

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

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

    3.初步掌握UML建模

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

    5.了解设计模式

    PSP统计

     

    步骤耗时百分比
    需求分析 30min 15%
    设计 60min 30%
    代码实现 60min 30%
    测试 30min 15%
    分析总结 20min 10%

    实验步骤

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

    (1)伪代码:

     复数类Complex
     复数=实部+虚部i
     复数相加=(实部+实部)+(虚部+虚部)i
     复数相减=(实部-实部)+(虚部-虚部)i
     打印复数
     虚部>0,“实部”+“+”+“虚部”i
     虚部<0,“实部”+“-”+“虚部”i
     虚部=0,“实部”

    (2)产品代码:

     class ComplexNumber {
     private double m_dRealPart,m_dImaginPart;
    
     public ComplexNumber(){
        m_dRealPart = 0;
        m_dImaginPart = 0;
     }
     public ComplexNumber(double r,double I){
        m_dRealPart = r;
        m_dImaginPart = i;
     }
     public  double GetRealPart(){
        return m_dRealPart;
     }
     public double GetImaginaryPart(){
        return m_dImaginPart;
     }
     public void SetRealPart(double d){
        m_dRealPart = d;
     }
     public void SetImaginaryPart(double d){
        m_dImaginPart = d;
     }
     public ComplexNumber ComplexAdd(ComplexNumber c){
        ComplexNumber result = new ComplexNumber();
        result.SetRealPart(this.m_dRealPart+c.GetRealPart());
        result.SetImaginaryPart(this.m_dImaginPart+c.GetImaginaryPart());
        return result;
     }
     public ComplexNumber ComplexAdd(double c){
        ComplexNumber result = new ComplexNumber();
        result.SetRealPart(this.m_dRealPart+c);
        result.SetImaginaryPart(this.m_dImaginPart);
        return result;
     }
     public ComplexNumber ComplexMinus(ComplexNumber c){
        ComplexNumber result = new ComplexNumber();
        result.SetRealPart(this.m_dRealPart-c.GetRealPart());
        result.SetImaginaryPart(this.m_dImaginPart-c.GetImaginaryPart());
        return result;
     }
     public ComplexNumber ComplexMinus(double c){
        ComplexNumber result = new ComplexNumber();
        result.SetRealPart(this.m_dRealPart-c);
        result.SetImaginaryPart(this.m_dImaginPart);
        return result;
     }
     public ComplexNumber ComplexMuti(ComplexNumber c){
        ComplexNumber result = new ComplexNumber();
        result.SetRealPart(this.m_dRealPart*c.GetRealPart()-this.m_dImaginPart*c.GetImaginaryPart());
        result.SetImaginaryPart(this.m_dRealPart*c.GetImaginaryPart()+this.m_dImaginPart*c.GetRealPart());
        return result;
     }
     public ComplexNumber ComplexMuti(double c){
        ComplexNumber result = new ComplexNumber();
        result.SetRealPart(this.m_dRealPart*c);
        result.SetImaginaryPart(this.m_dImaginPart*c);
        return result;
     }
     public String toString(){
        return ""+this.m_dRealPart+"+"+this.m_dImaginPart+"i";
     }
     }

    (3)测试代码:

     import org.junit.Test;  
     @Test
     public void TestStringWay() {
        ComplexNumber complexnumber = new ComplexNumber(7,3);
        System.out.println(complexnumber.toString());
        assertFquals(73.0+3.0i",complexnumber.toString());
     }

    2.单元测试

    3.StarUML建模

  • 相关阅读:
    4/19学习总结
    人月神话读后感8
    4/18学习总结:PullToRefresh
    构建之法阅读笔记03
    构建之法阅读笔记02
    个人总结
    大二下学期课程总结
    学习进度16
    学习进度15
    课堂测试-找英语单词最长链
  • 原文地址:https://www.cnblogs.com/5321z/p/5402280.html
Copyright © 2011-2022 走看看