迎來OO的曙光,總結規格的意義——OO第四次博客總結

一切都要結束了,砥礪前行~算法


 

1、測試與正確性論證的效果差別編程

  測試,顧名思義就是咱們暴力用大量數據轟炸編寫的程序的過程。平常的OO過程當中,咱們常常互相尋求「測試集」,正是由於測試使用特定數據對咱們的功能進行鍼對性測試,好處在於能夠很直觀很明顯的找到bug所在,而且復現性也很強。可是偏向於窮舉,也就是咱們日常對於本身的數據集太小,而擔憂本身有沒有徹底覆蓋全部的可能,即便本身測試的過程當中沒有發現問題,也內心惴惴不安,從而尋求更大測試集。這種方式便於實現與分析,可是不能徹底驗證程序正確性。多線程

  測試則須要經過輸入特定數據等方式,檢查程序是否和預期相同,由於測試不可能窮舉,致使了不窮舉的測試不可能驗證程序是徹底正確的,只能驗證程序在測試時沒有發生錯誤,儘管如此,測試依然是一種高效的檢查程序的方法,經過輸入數據或復現現場,直觀的發現代碼的問題,進而在代碼中找到問題的來源並修正。單元測試


 

2、OCL語言與JSF規格測試

  對象約束語言(Object Constraint Language),簡稱OCL,是一種指示用戶建模系統中的限制方式。它是UML可選的附加內容,能夠用來更好地定義對象的行爲,併爲任何類元指定約束。在對象約束語言中,對象表明了系統的組件,它定義了完善的項目,約束表明限制,而語言並不是是指一種正式的計算機語言。spa

 

  OCL是一種形式語言,能夠應用於任何實現方式的非正規語言。對象約束語言對UML中圖形或其餘組件都沒有控制權,它只是在使用時返回值。OCL並不能修改對象的狀態,而是用來指示對狀態的修改什麼時候發生。OCL表達式以附加在模型元素上的條件和限制來表現對該對象的約束,其中包括附加在模型元素上的不變量或約束的表達式、附加在操做和方法上的前置條件和後置條件等。線程


 

 

3、第十四次做業模型圖設計

UML類圖 對象

 

UML時序圖blog

 

UML順序圖


 

 

4、學期總結

一、四個單元模塊知識點之間的關係

  第一單元主要是一些設計思想,類的抽象,屬性私有化,接口,繼承等等,第二單元是多線程的共享數據管理和衝突解決,只有掌握了第一單元的內容,封裝好每一個類,才能實現更好多線程的程序。第三單元是規格化設計。第四單元是單元測試和正確性論證,根據規格對每一個方法進行測試和覆蓋率檢查,對每一個類進行正確性論證。

二、梳理與進步

①多項式加減

②傻瓜單電梯

③可捎帶單電梯

④可捎帶多線程電梯

⑤文件變動掃描器

⑥出租車調度

⑦可開關道路的出租車調度

⑧可開關道路和帶有紅綠燈的出租車調度

⑨可開關道路和帶有可追蹤出租車和紅綠燈的出租車調度

  一個學期的數次編程聯繫中,提升最大的應該是設計。之前在編寫一個程序,看中的是算法,但當程序有了必定規模和屢次的增補,沒有一個好的設計極可能致使以後的新功能收到影響,甚至不得不重構。測試的水平卻不想設計同樣平穩上升,而是先上升後降低,主要緣由在於後期做業的設計佔了更多的時間,完成代碼後每每已經沒有足夠的時間進行測試。

三、對工程化開發的理解

  工程化開發,在我看來是在寫代碼的漫漫長路上轉階段的一步,是從做業到項目的轉變,由於做業能夠是一我的完成的,你寫的邏輯,你測試的方法你本身知道就能夠工做,可是項目中,咱們須要考慮到不少事情達成共識,例如變量的命名規則,類的設計,接口的統一,只有明確了這些,纔可以保證代碼能夠互相開發,互相閱讀,互相協做,一個明確的規範就是工程化開發的第一要義。

四、指望與建議

  我覺的目前課程挺好的,你們一塊兒加油吧~

相關文章
相關標籤/搜索