20172303 2017-2018-2 《程序設計與數據結構》實驗二報告

20172303 2017-2018-2 《程序設計與數據結構》實驗二報告

  • 課程:《程序設計與數據結構》
  • 班級: 1723
  • 姓名: 範雯琪
  • 學號:20172303
  • 實驗教師:王志強
  • 助教:張旭升/劉偉康
  • 實驗日期:2018年4月17日
  • 必修/選修: 必修

1.實驗內容

  1. 初步掌握單元測試和TDD
  2. 理解並掌握面向對象三要素:封裝、繼承、多態
  3. 初步掌握UML建模
  4. 熟悉S.O.L.I.D原則
  5. 瞭解設計模式
  6. 完成藍墨雲上 (1)-(5)實驗。

2.實驗過程及結果

過程:

  • 本次實驗老師一共設置了5個提交節點分別是:
節點一
  • 參考IDEA 簡易教程完成單元測試的學習
  • 提交最後三個JUnit測試用例(正常狀況,錯誤狀況,邊界狀況)都經過的截圖,截圖上要有畫圖加水印,輸入本身的學號
  • 本提交點考查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中表達

結果:

節點一

節點二



節點三



節點四

碼雲連接
html

節點五

3.實驗過程當中遇到的問題和解決過程

  • 問題1:作實驗二時,所寫的容量顯示錯誤

  • 問題1解決方案:經過測試顯示結果修改了容量,但不清楚爲何要這麼改。詢問張旭升學長後知道了是根據輸入的字符數量規定好的。
  • 問題2:UML類圖的使用
  • 問題2解決方案:當時作的時候特別匆忙作的特別特別爛...我都很差意思拿節點五的分了。後來又從新寫了一遍:爲了鞏固依照PP9.3的程序寫了它的UML類圖。
    舊圖:

    新圖:

    PP9.3:

其餘(感悟、思考等)

感悟

  • 本週的實驗其實很簡單,只要照着博客一步一步踏實地作下去就好,但作完發現本身學會了不少東西。首先使用JUnit真的能節省不少時間,而後學會使用UML類圖讓本身對每一個程度的總體結構有了一個很是明晰的認識。

參考資料

相關文章
相關標籤/搜索