一.測試與正確性論證的區別編程
測試是檢驗程序正確性的廣泛且實用的方法,測試者經過使用許多廣泛和特殊的樣例,來檢測程序邏輯是否有問題,運行結果是否符合預期結果。但僅是測試者給出的測試樣例經過並不能證實程序徹底沒有錯。在以前學過的的分支覆蓋的知識來看,即使覆蓋率達到90%,也不能證實程序沒錯。多線程
而正確性論證是對達到預期目的的陳述。把程序邏輯構形成不一樣分支,經過每一個規格瞭解到每一個分支的每一個方法的結果與頂層邏輯的對應預期結構是否一致,不用管程序的運行過程,只要知足規格的前置條件和後置條件便可。但對於較複雜的程序邏輯,對分支的構建就會比較麻煩,邏輯不嚴密可能會有遺漏或錯誤。因此一般在實踐中咱們須要二者結合來檢驗程序的正確性。學習
二.OCL語言測試
OCL語言是約束對象語言,用來約束定義,形式化的無二義性語言。與JSF類似,一樣擁有前置條件,後置條件和不變式。線程
OCL做爲形式化語言,基本語言要素包括:類型(基本類型,高級類型)、操做、表達式、語句。OCL的基本類型包括整型,實型,字符串型,布爾型。OCL定義的高級數據類型有羣,集合,袋和序列。對象
三.第十四次做業總結blog
四.學期總結開發
這學期的OO學習大體分爲四個部分,第一部分是讓咱們學習Java基礎,也就是第一,二次做業寫一些簡單的程序,不過由於在學習前期沒作好準備,致使前幾回做業菜的不忍直視,而後緊接着就是第二部分開是接觸多線程,剛一接觸感受挺難的,學到如今其實也不簡單,可能當時的思想出了問題,一直沒能學好多線程,到後來工程化開發,慢慢緩了過來,再到最後的測試,撰寫規格和正確性論證,分支覆蓋等。對本身的代碼進行檢測。從編寫到工程化測試,讓咱們學習了一套的流程。字符串
對本身來講,剛開始大部分人都沒有Java編程經驗,可是本身在初始時由於學習不夠,致使前面菜的不行,寫一個最簡單的多項式計算很困難,不過通過慢慢的學習,bug也逐漸變少,開始有了面向對象的思想,知道該怎麼去編程序。讓本身的工程化開發能力有很大的進步。工程化
OO這門課,讓我從基本代碼編程都困難,到如今使編程能力有一個很大的提高。並且要感謝OO課程帶來的緊迫的節奏,促使我在落下的時候不放棄,逼着我往前走。若是是日常的課,可能就隨便放棄了吧。
最後,個人天,OO終於結束啦。祝本課程越辦越好~