第四次課程總結

一.測試與正確性論證的效果差別
1.測試
優勢:測試尋找bug的方式比較簡單, 能夠很快速的驗證程序的基本功能, 調試很是方便.
缺點:測試很難達到對程序的全面覆蓋, 構造一些複雜的測試樣例可能難度較大.測試沒法證實程序是徹底正確的.
2.正確性論證
優勢:正確性論證能夠證實程序是正確的.
缺點:論證步驟複雜,難度較大, 而且若是論證的條件存在問題一樣可能致使錯誤的論證.編程


二.調研OCL語言
OCL語言是用來描述UML建模細節的對象約束語言, 是一種形式化的語言,
和jsf的類似之處有:
在理想狀況下都沒有二義性, 都使用了不變量, 前置條件和後置條件對方法進行了約束.
不一樣之處:
OCL使用了數學語言和天然語言結合的方式, 而JSF用的是數學語言.
OCL是一種類型語言, 任何表達式的值都是屬於一個類型的.多線程

三. 第十四次做業的單電梯系統的UML類圖、一幅順序圖和一幅狀態圖函數

1.UML圖學習

 

 二.順序圖測試

 

三.狀態圖spa

 

 

四.總結
1.課程總結線程

第一單元重點在於對於面向對象編程思想的學習. 是從面向過程編程到面向對象編程的一個過渡學習.設計

第二單元重點在於學習多線程, 基於第一單元所編寫的單線程電梯, 將其改寫成多線程電梯.側重於實際應用, 難度較大, 調試bug的難度也比第一單元難了很多, 而且常常出現死鎖或者其餘crash.
第三單元學習了規格化,JSF, 這單元再也不側重於編寫程序, 而在於構建程序, 規格化程序, 學習讓本身程序規格更加規範.
第四單元是正確性論證. 正確性論證基於第三單元的編寫的規格(jsf), 同時和測試也是向對立的兩種徹底不一樣的驗證程序的方法.
調試

2.程序梳理
剛開始編寫程序的時候, 對我來講處理輸入是一個很大的難點, 對於正則使用不熟練, 致使對於輸入的判斷很複雜, 思路不清晰, 同時設計程序時, 常常將許多語句堆在一個代碼中, 或者代碼中出現了許多重複的語句.經過練習, 我正則使用的更加熟練了, 關於處理數據方面的代碼寫得更加的整潔, 思路清晰, 對於代碼中常常出現的部分也都封裝成了一個函數, 程序結構的設計也更加的合理.對象

3.本身對工程化開發的理解
工程化開發是很是有必要的, 咱們如今寫的代碼還比較短, 處理起來還比較簡單, 當代碼多到必定程度時, 若是沒有工程化的方法, 可能修改一個很小的參數都許多廢很大的勁. 工程化對於代碼的可維護性是很是有必要的. 同時工程化寫出的代碼由於遵照相應的規則, 閱讀性和拓展性也很是好.

4.對課程的建議該課程對我學習面向對象的編程有很大的做用, 可是該課程的做業量實在是太大了, 對我學習其餘課程產生了很大的負面做用. 建議適當的爲學生們減負, 明確每次做業的重點. 其實該課程的互測環節對你們的做用是弊大於利

相關文章
相關標籤/搜索