標籤:
一、實驗過程:
1.先建立一個學號命名的文檔:
2.一個百分製成績轉化為等級:
3.建立一個包,另一個測試:
4.開啟UML,建模軟體umbrello進行建模:
相關程式:
5.我的儲存:
二、遇到的問題以及解決方案:
這次的實驗總體上比較順利,就是自己邊做邊想花費了很多的時間。但還是遇到了一些小問題。
比如說:實驗指導上對於UML建模由Cat和Dog變為Animal包括Cat和Dog的模型圖這一部分的變化講的不是很詳細,
所以我已開始不會做。但是後來明白Animal 也是需要自己建立立的,所以後來徹底明白了這個實驗中UML的用法。
也會自己畫連接線。
三、PSP時間統計:
步驟 耗時百分比
需求分析 40%
設計 20%
代碼實現 10%
測試 10%
分析總結 20%
四、使用TDD的方法設計並實現複數類Complex
1.產品代碼:
public class Complex {
//實部realpart,虛部imaginPart
private double realPart;
private double imaginPart;
//複數類Complex()建構函式,將實部虛部都置為0
public Complex(){
this.realPart = 0;
this.imaginPart = 0;
}
//Complex(double r,double i)建立複數對象的同時完成複數的實部,虛部的初始化
public Complex(double r,double i){
this.realPart = r;
this.imaginPart = i;
}
//getRealPart()擷取實部
public double getRealPart(){
return realPart;
}
//getImaginaryPart()擷取虛部
public double getImaginaryPart(){
return imaginPart;
}
//setRealPart(double d)設定實部
public void setRealPart(double d){
this.realPart = d;
}
//setImaginaryPart(double d)設定虛部
public void setImaginaryPart(double d){
this.imaginPart = d;
}
//add(Complex c)複數相加
public void add(Complex c1,Complex c2){
Complex c = new Complex(c1.realPart+c2.realPart,c1.imaginPart+c2.imaginPart);
print(c);
}
//minus(Complex c)複數相減
public void minus(Complex c1,Complex c2){
Complex c = new Complex(c1.realPart-c2.realPart,c1.imaginPart-c2.imaginPart);
print(c);
}
//ComplexMulti(Complex c)複數相乘
public void ComplexMulti(Complex c1,Complex c2){
Complex c = new Complex(c1.realPart*c2.realPart-c1.imaginPart*c2.imaginPart,c1.realPart*c2.imaginPart+c1.imaginPart*c2.realPart);
print(c);
}
//toString()把當前複數對象的實部,虛部組合成a+bi的字串形式
public void print(Complex c){
double a = c.realPart;
double b = c.imaginPart;
System.out.println(a+"+"+b+"i");
}
}
2.測試代碼:
import org.junit.Test;
import junit.framework.TestCase;
public class ComplexTest extends Complex {
@Test
public void printTest(){
Complex c1 = new Complex(3.5,9);
Complex c2 = new Complex(9,23);
Complex c = new Complex();
c.ComplexMulti(c1, c2);
c.add(c1, c2);
c.minus(c1, c2);
}
}
五、體會
這次的實驗並不難,但是內容很多,要看的東西也有很多。而且有了除Java編程之外,另外的東西,
例如UML建模軟體。而且每次實驗的感覺都是可以接觸到很多新的東西,對我很有提高。
Java第二次實驗20135204