天天看點

oo第四篇部落格作業

測試與正确性論證的效果差異及各自的優缺點:

測試針對一些典型的輸入情況進行方法驗證,可操作性更強,結果直覺。但不能完全覆寫所有的輸入情況。

正确性論證則是根據代碼邏輯從所有的方面對方法進行論證,可操作性很差,工程量大,不過驗證出來的結果更加可信。

OCL語言與JSF規格:

OCL語言具有如下特點:

1.OCL是一種精确的,無二義性的語言

2.OCL是一種規範說明性語言,所有有關實作的問題都不能用OCL來表達

3.OCL是一種純表達式語言,具有沒有任何副作用的申明性語言

4.OCL是一種類型化語言,每一個表達式都是有類型的

5.OCL是一種程式設計語言,不能用OCL編寫程式邏輯和控制流程

jsf是以命題邏輯為主,利用蘊含表達式将代碼邏輯與結果表達清楚,主要用于描述方法規格,但在實際操作中,很難将複雜的邏輯表達式簡單地用蘊含表達式表示清楚,表達能力有限,但這兩者都是限制型的方法或者規格。

oo第四篇部落格作業
oo第四篇部落格作業
oo第四篇部落格作業

整理總結四個學期所學所練:

1.闡述四個單元子產品知識點之間的關系:

第一單元是簡單的java面向對象程式,其中第一次作業的感受就是程式對輸入處理的重要性,二三次作業是簡單的電梯排程的實作,第一單元是一個過渡單元,從過程程式設計到面向對象程式設計的過渡,另外就是熟悉java語言。

第二單元是多線程程式設計,經過了第一單元的洗禮,對面向對象有了一絲了解,java也有了一定的程式設計基礎,接下來就是深入多線程程式設計,多線程程式設計也是由淺入深,從最開始三個多線程電梯,然後檔案監控系統和100輛計程車,加深對多線程的了解和運用掌握。

第三單元是多線程程式設計的續寫,100輛計程車的各種要求增加,難度系數提升,從紅綠燈暫停,初始化檔案,道路開閉等等,都是對多線程程式設計的進一步考驗。

前三單元主要是對程式設計能力的提升,第四單元則重視程式規格,代碼的品質。第四單元通過jsf測試和正确性驗證等方法讓我們對代碼的設計更加重視,不斷提升自己的代碼品質,更合理地構造代碼架構。

 2.梳理自己所設計實作的程式,分析自己在設計、測試和品質上的進步

第一次作業入門級别,學會了正則表達,輸入的處理重要性。電梯的排程程式,代碼比較散亂,複雜。在程式處理方面沒有大局觀,想到一種情況就添加一種情況,完全沒有考慮是遺漏了還是重複了;程式實作的方式不是最優。第二次多電梯重構了一次,代碼明顯減少。程式的品質不斷提高,備援代碼明顯減少。在計程車階段,程式的輸出處理變得更加友好。

3.對工程化開發的了解

看到有同學都提到了計算機組成,我想說我也是這樣。仔細想來,要是自己沒有經曆過計組的洗禮,面對OO這門課的時候估計會不知所措,畢竟OO每周的程式作業都可以看作是一個系統,而不是一個簡單的過程化程式,要想完成這樣一個系統化程式,就必須有一個系統的觀念。在我看來,工程化開發是對一個系統的開發模式,要有一個整體的觀念,另外要懂得将各部分細化,再整合,也就是子產品化。

4.期望與建議

這門課學起來是有意思,每次完成作業就像是自己做完了一個小系統,有成就感。另外自己的程式設計能力得到了鍛煉,不管是代碼品質,還是程式設計思想。希望老師和助教們繼續加油,完善這門課内容和評測機制。

我以我血薦軒轅