一、測試與正確性論證比較
測試是使用測試樣例對程式進行檢測而正確性論證則是根據**的邏輯進行驗證。
測試想要完全覆蓋的難度較大,需要大量的樣例才能達到近似的完全覆蓋,而正確性論證則不需要花費那麼大的精力,只需要根據**的邏輯和規格進行一系列驗證即可。
二者相互補充,相輔相成。正確性論證可能由於一開始設計的錯誤導致程式執行的錯誤,而測試則難以覆蓋全面,二者相互補充之後便可以對程式進行充分的測試。
二、ocl與jsf
物件約束語言(object constraint language),簡稱ocl,是一種指示使用者建模系統中的限制方式。它是uml可選的附加內容,可以用來更好地定義物件的行為,並為任何類元指定約束。
與jsf的相似:二者都是形式語言,宣告式的語言,都沒有二義性,都有前置條件和後置條件以及不變式;
與jsf的區別:ocl每個表示式都是具有型別的,且具有許多的基本資料型別等,不像jsf一樣完全使用邏輯表示式。
三、第十四次作業uml圖
1.uml類圖
2.uml時序圖
3.uml狀態圖
四、學期小結
1、知識點小結
第乙個單元主要講的是物件導向語言的思想等,較為簡單,也是為了讓我們入門;
第二單元難度便加大了,開始進行多執行緒的相關訓練,講了多執行緒的機制、衝突等等;
第三單元便開始了規格化設計,主要是jsf語言的書寫與程式的規格化設計;
第四單元則是**的驗證與測試,主要是單元化測試、正確性論證等。
這四個單元是循序漸進,相輔相成。
2、個人程式分析
這乙個學期一共寫了9個程式,從最簡單的多項式加減到最後的計程車問題,可以看出**的質量是逐漸提高的。
現在看前幾次作業,發現當初的**是那麼的慘不忍睹,乙個方法上百行,很難看出到底在寫什麼;而後面的**便好了許多,方法也就十幾行二十行,條理較為清晰,讀起來也很方便,修改bug也很簡單。儘管如此,**還是有很大的進步空間,是可以再進行提高的。
3、工程化開發理解
工程化開發即是按照一定的規格設計進行程式的開發,便於團隊間的合作,提高工作效率和降低成本。
良好的工程化,能降低溝通成本,實現更好的協同,節省開發和測試人員的重複勞動,降低發布的常見問題等等。
4、對課程的期望與建議
其實能提出的建議不多,一是希望指導書能詳盡一點,同時後面幾次作業互測的時候能把扣分點明確一下,以減少或避免惡意扣分現象的發生。
對於互測機制,其實沒什麼好說的,雖然確實很想吐槽但也很難想到更好的替代方法,全部讓助教和老師來批改作業也很不現實。
至於期望嘛,自然是希望oo越辦越好,能好好的鍛鍊一下學弟學妹咯。
OO最後一次部落格兒
測試和正確性論證的效果差異 測試一般分為 功能測試 單元測試 魯棒性測試 效能測試 回歸測試等。測試的優點是操作簡單粗暴 缺點是如果測試集不夠大可能不能覆蓋所有可能出現的場景,也就是說測試不夠全面的問題。正確性論證偏理論,是從邏輯層面分析 正確性。其優點是能覆蓋到 的所有分支,從而保證 的正確性 缺...
OO第一次部落格總結
oo是我大學裡經歷的又乙個難關。和計算機組成相比,物件導向程式設計的起點更高。第一次作業 第一次作業給了我乙個下馬威,因為當時正在準備乙個補考,沒有時間學習j a,等到考完,時間已經不多。我的學習一直是沒有效率的,之前程式設計基礎也很差。我開始時候看指導書感覺很難懂,然後同學說要學習字串陣列和正規表...
最後一次救贖
連這個也廢掉了嗎?66歲的王安石枯槁的身軀在料峭的春寒中顫慄著,昏花的雙眼無力地凝視著西北方向 那裡有承載他嘔心瀝血的未竟事業的帝都,是他生命中最為燦爛輝煌也最為寥落失意的地方。稟性剛毅的倔強老人無法想象,自己窮盡一生的政治智慧型所醞釀的帝國變革方略竟以這樣一種方式謝幕,他深切熱愛的國家和人民繼續在...