OO第四次總結

1、測試與正確性論證編程

  測試是根據所寫的程序,在其合理的範圍內設計一些測試樣例,來判斷這一段程序是否存在着問題。安全

  正確性論證則是在邏輯上對所寫程序進行判斷、論證其正確性與合理性,是否達到了設計要求。多線程

  於是測試的優勢就是簡單快捷,相比於正確性論證的長篇大論,直接測試顯然容易的多,可是其缺點也很明顯,覆蓋率低,一般也只能發現BUG,但BUG出現的緣由還須要進一步去判斷。而正確性論證因爲是在邏輯上進行判斷,可以在論證過程當中直接發現錯誤之處,覆蓋率很高,可是論證過程很是繁瑣複雜,耗費精力。單元測試

2、OCL語言和JSF學習

  OCL是對象約束語言(object constraint language)的縮寫,它是一種對模型元素進行約束的語言。OCL語言精確,沒有二義性,經過一些基本類型和一些集合類型的表達式來表示對元素的約束。形式簡單,沒有使用過多的數學知識,可以輕鬆掌握。測試

  而課上使用的JSF與OCL語言的類似之處在於他們都是對某個事物施加必定的約束,不一樣之處在於JSF所採用的「REQUIRES」和」EFFECTS」都是以布爾表達式的邏輯形式出現的,所以須要必定的數學上的知識。可是JSF仍然能夠採用天然語言描述,所以在必定程度上不如OCL嚴謹。編碼

3、第14次做業spa

  UML圖線程

  順序圖設計

  狀態圖

  程序開始後即輸入指令,將指令存儲好後開始調度,不須要電梯移動的直接輸出,須要的就尋找捎帶指令再一塊兒運行,直到全部的指令都被運行。

4、學期總結

  1. 四個單元

  這學期的學習內容被分爲四個單元,第一單元主要是用來學習一些基礎性的東西,如面向對象思想、繼承和接口的使用等,爲後面的內容打下基礎。第二單元則是多線程編程,涉及各類各樣的多線程操做,如同步、多線程安全性。第三單元則是在第二單元的基礎上開始接觸規格設計,學習規格,同時也在學習對代碼的擴展和補充。第四單元則是學習如何去正確的測試代碼的正確性,如使用單元測試和正確性論證。這四個單元按照層次,慢慢上升。一開始只是單純的編碼,再後來開始涉及規格以及測試,這樣按部就班,來充分學習面向對象的編程。

  2. 我的進步

  天然是瞭解到了面向對象的思想,以前所接觸的都是面向過程,只考慮按着順序要怎麼幹,而面向對象則是將其做爲對象,考慮他要幹什麼。雖然理解的不是很透徹,但也很是有收穫。在OO的壓力之下,代碼能力以及本身的心態都有了很大程度的提升。同時明白了撰寫代碼不能只爲一時考慮,更要爲後來的補充、擴展考慮,寫規格,至少也寫個註釋,這樣對於將來所可能的改動就會簡單不少。爲一次工做所偷懶,在後面的工做可能會付出更多的時間。

  3. 工程化的理解

  所謂工程化,確定規模巨大,同時抽象程度很是高,就是單純告訴你要幹什麼以及一些須要實現的內容,其他的所有須要本身去肯定。工程也一般是一個團隊來負責,團隊內部確定也須要共同努力,好好溝通。在代碼的撰寫中,也必須注意各類接口、擴展性,由於這不是一我的的工做,爲了本身的便利極可能對致使其餘人遇到麻煩,須要加強程序的可讀性。而工程裏測試的重要性也是很是高,必須盡全力去測試,去找到可能存在的漏洞,固然首先撰寫出正確嚴謹的代碼是更好的。

  4. 關於課程

  其實OO課程的模式我很是喜歡,可是總有些人去選擇鑽空子或者是惡意測試。同時因爲題目老是或多或少的存在着一些歧義,致使不一樣的人可能會有不一樣的理解。而助教們也是很忙的,所以可能ISSUE上的更新也不及時,致使產生了不少問題。若是可以及時的將ISSUE上一些重要的內容都通知一下就會很不錯。同時但願將咱們這一屆在課程中踩到的指導書中的坑告訴給下一屆,可別讓他們再被坑了。

相關文章
相關標籤/搜索