172303 2017-2018-2 《程序設計與數據結構》實驗二報告
阿新 • • 發佈:2018-04-25
ava boolean uml 包含 鏈接 屬性 ole mis err
172303 2017-2018-2 《程序設計與數據結構》實驗二報告
- 課程:《程序設計與數據結構》
- 班級: 1723
- 姓名: 範雯琪
- 學號:20172303
- 實驗教師:王誌強
- 助教:張旭升/劉偉康
- 實驗日期:2018年4月17日
- 必修/選修: 必修
1.實驗內容
- 初步掌握單元測試和TDD
- 理解並掌握面向對象三要素:封裝、繼承、多態
- 初步掌握UML建模
- 熟悉S.O.L.I.D原則
- 了解設計模式
- 完成藍墨雲上 (1)-(5)實驗。
2.實驗過程及結果
過程:
- 本次實驗老師一共設置了5個提交節點分別是:
節點一
- 參考IDEA 簡易教程完成單元測試的學習
- 提交最後三個JUnit測試用例(正常情況,錯誤情況,邊界情況)都通過的截圖,截圖上要有畫圖加水印,輸入自己的學號
- 本提交點考查JUnit會不會使用,測試用例至少要包含正常情況,錯誤情況,邊界情況的測試
節點二
- 參考積極主動敲代碼,使用JUnit學習Java
以 TDD的方式研究學習StringBuffer - 提交你的單元測試用例和測試通過的截圖,截圖要加上學號水印
- 測試自己會不會寫JUnit測試用例
節點三
- 參考實驗二 Java面向對象程序設計
對設計模式示例進行擴充,體會OCP原則和DIP原則的應用,初步理解設計模式 - 用自己的學號%6進行取余運算,根據結果進行代碼擴充:
- 0:讓系統支持Byte類,並在MyDoc類中添加測試代碼表明添加正確,提交測試代碼和運行結的截圖,加上學號水印
- 1:讓系統支持Short類,並在MyDoc類中添加測試代碼表明添加正確,提交測試代碼和運行結的截圖,加上學號水印
- 2:讓系統支持Boolean類,並在MyDoc類中添加測試代碼表明添加正確,提交測試代碼和運行結的截圖,加上學號水印
- 3:讓系統支持Long類,並在MyDoc類中添加測試代碼表明添加正確,提交測試代碼和運行結的截圖,加上學號水印
- 4:讓系統支持Float類,並在MyDoc類中添加測試代碼表明添加正確,提交測試代碼和運行結的截圖,加上學號水印
- 5:讓系統支持Double類,並在MyDoc類中添加測試代碼表明添加正確,提交測試代碼和運行結的截圖,加上學號水印
節點四
- 提交:單元測試代碼和運行成功截圖及碼雲上代碼鏈接,截圖要加上學號水印
- 任務:以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)
節點五
- 使用StarUML對實驗二中的代碼進行建模,發類圖的截圖,加上學號水印
- 類圖中至少兩個類
- 類,繼承,接口實現,組合在UML中表達
結果:
節點一
節點二
節點三
節點四
碼雲鏈接
節點五
3.實驗過程中遇到的問題和解決過程
- 問題1:做實驗二時,所寫的容量顯示錯誤
- 問題1解決方案:通過測試顯示結果修改了容量,但不清楚為什麽要這麽改。詢問張旭升學長後知道了是根據輸入的字符數量規定好的。
- 問題2:UML類圖的使用
- 問題2解決方案:當時做的時候特別匆忙做的特別特別爛...我都不好意思拿節點五的分了。後來又重新寫了一遍:為了鞏固依照PP9.3的程序寫了它的UML類圖。
舊圖:
新圖:
PP9.3:
其他(感悟、思考等)
感悟
本周的實驗其實很簡單,只要照著博客一步一步踏實地做下去就好,但做完發現自己學會了很多東西。首先使用JUnit真的能節省很多時間,然後學會使用UML類圖讓自己對每個程度的整體結構有了一個非常明晰的認識。
參考資料
- 實驗二《Java面向對象程序設計》的一點說明
172303 2017-2018-2 《程序設計與數據結構》實驗二報告