測試與正確性論證的效果差別及各自的優缺點:java
測試針對一些典型的輸入狀況進行方法驗證,可操做性更強,結果直觀。但不能徹底覆蓋全部的輸入狀況。編程
正確性論證則是根據代碼邏輯從全部的方面對方法進行論證,可操做性不好,工程量大,不過驗證出來的結果更加可信。多線程
OCL語言與JSF規格:框架
OCL語言具備以下特色:模塊化
1.OCL是一種精確的,無二義性的語言測試
2.OCL是一種規範說明性語言,全部有關實現的問題都不能用OCL來表達線程
3.OCL是一種純表達式語言,具備沒有任何反作用的申明性語言設計
4.OCL是一種類型化語言,每個表達式都是有類型的對象
5.OCL是一種程序設計語言,不能用OCL編寫程序邏輯和控制流程blog
jsf是以命題邏輯爲主,利用蘊含表達式將代碼邏輯與結果表達清楚,主要用於描述方法規格,但在實際操做中,很難將複雜的邏輯表達式簡單地用蘊含表達式表示清楚,表達能力有限,但這二者都是約束型的方法或者規格。
整理總結四個學期所學所練:
1.闡述四個單元模塊知識點之間的關係:
第一單元是簡單的java面向對象程序,其中第一次做業的感覺就是程序對輸入處理的重要性,二三次做業是簡單的電梯調度的實現,第一單元是一個過渡單元,從過程編程到面向對象編程的過渡,另外就是熟悉java語言。
第二單元是多線程編程,通過了第一單元的洗禮,對面向對象有了一絲理解,java也有了必定的編程基礎,接下來就是深刻多線程編程,多線程編程也是由淺入深,從最開始三個多線程電梯,而後文件監控系統和100輛出租車,加深對多線程的理解和運用掌握。
第三單元是多線程編程的續寫,100輛出租車的各類要求增長,難度係數提高,從紅綠燈暫停,初始化文件,道路開閉等等,都是對多線程編程的進一步考驗。
前三單元主要是對編程能力的提高,第四單元則重視程序規格,代碼的質量。第四單元經過jsf測試和正確性驗證等方法讓咱們對代碼的設計更加劇視,不斷提高本身的代碼質量,更合理地構造代碼框架。
2.梳理本身所設計實現的程序,分析本身在設計、測試和質量上的進步
第一次做業入門級別,學會了正則表達,輸入的處理重要性。電梯的調度程序,代碼比較散亂,複雜。在程序處理方面沒有大局觀,想到一種狀況就添加一種狀況,徹底沒有考慮是遺漏了仍是重複了;程序實現的方式不是最優。第二次多電梯重構了一次,代碼明顯減小。程序的質量不斷提升,冗餘代碼明顯減小。在出租車階段,程序的輸出處理變得更加友好。
3.對工程化開發的理解
看到有同窗都提到了計算機組成,我想說我也是這樣。仔細想來,要是本身沒有經歷過計組的洗禮,面對OO這門課的時候估計會不知所措,畢竟OO每週的程序做業均可以看做是一個系統,而不是一個簡單的過程化程序,要想完成這樣一個系統化程序,就必須有一個系統的觀念。在我看來,工程化開發是對一個系統的開發模式,要有一個總體的觀念,另外要懂得將各部分細化,再整合,也就是模塊化。
4.指望與建議
這門課學起來是有意思,每次完成做業就像是本身作完了一個小系統,有成就感。另外本身的編程能力獲得了鍛鍊,不論是代碼質量,仍是編程思想。但願老師和助教們繼續加油,完善這門課內容和評測機制。