1、測試與正確性論證學習
測試與正確性論證是從系統的不一樣層面對其可靠性進行驗證。測試
正確性論證可以從類的規格以及方法過程規格出發,對代碼實現進行邏輯上的證實,更加穩定可靠,正確性論證的難點在於,並非系統的每一個部分均可以很輕易的使用數學語言建模,在不少狀況下不易論證。正確性論證在操做上有必定的難度。spa
測試更偏重於模擬應用場景,經過歐運行大量的測試用例來覆蓋運行代碼的每一個分支從而對程序總體進行正確性檢驗,不過相對於正確性論證,缺少嚴謹性,不能像正確性論證同樣能夠全面的論證程序的正確性。對象
2、OCL語言blog
對象約束語言(Object Consttraint Language, OCL)是用來進行約束定義的,形式化的無二義語言。它是聲明性語言,不會改變模型中的內容,是一種類型性語言,每個表達式都有類型,易學好用。開發
它與JSF的類似之處: 數學
1.均可以描述不變量、前置條件和後置條件;效率
2.都是基於數學的爲此邏輯,有一個形式化的數學語義;工程化
3.無二異性。基礎
與JSF的不一樣之處:
1.OCL使用ASCII字符表達數學中的概念,而JSF強調使用數學語言;
2.OCL是一種類型語言,任何表達式的值都屬於同一類型,但JSF在這一方面並無要求。
3、圖
1.UML類圖
4、學期總結
1.知識點關係梳理
2.程序梳理
3.對工程化開發的理解
工程化開發須要遵循一些特定的規則,不只方便本身審查代碼,也方便代碼的交流理解,畢竟程序有不肯定性且代碼規模日益增大,因此須要提升開發效率,下降維護難度,這是必行之舉。
4.對課程的指望與建議
1.建議老師及助教將指導書中不夠明晰的地方統一一下,能夠減小同窗在碼代碼時浪費在研究要求上的時間;
2.衷心但願老師們不要把熬夜當成什麼光榮的事情,並對此加以支持和鼓勵。就我瞭解,有部分同窗通過熬夜已經至關不適,雖然說學習進步是喜聞樂見的事,但身體應該是更爲重要的基礎吧。