1、論述測試與正確性論證程序員
測試是拿出測試數據來進行實際上的測試,而正確性論證則是經過代碼規格來論述代碼方法實現過程。安全
很明顯大規模覆蓋性的測試樣例能夠很快的發現bug可是要找到bug發生的根源則有必定上的難度,而正確性論證是創建在代碼規格上的,因此很容易在論證過程當中找到不嚴謹的可能產生bug的地方。二者對應實踐與理論,顯然互相結合起來就能更好的規避bug。多線程
2、OCL語言與JSF的不一樣之處學習
對象約束語言(Object Constraint Language)簡稱OCL,是一種指示用戶建模系統中的限制方式。它是UML可選的附加內容,能夠用來更好的定義對象的行爲,併爲任何類元指定約束。測試
相同點:都有前置條件、後置條件和不變式; 都是對對象/方法的約束。spa
不一樣點:OCL是一種語言,有許多基本數據類型,而JSF相對來講簡略並且沒有一個較爲具體的規範。線程
3、對象
類圖:blog
順序圖:開發
狀態圖:
4、總結
1.關係
第一單元經過多項式運算和簡單電梯帶咱們走進Java面向對象基礎——提供基礎。
第二單元接觸多線程以及線程安全——工程化代碼量基礎。
第三單元代碼工程化——工程化代碼提供測試基礎。
第四單元編寫測試集、代碼方法正確性論證——工程化代碼測試。
2.梳理
本身的程序總剛開始時的面向過程逐漸向面向對象風格轉變,類和方法的封裝愈來愈駕輕就熟,代碼之間更加緊密有條有理的聯繫在一塊兒,而不是像之前的混成一團。從Java的基礎開始慢慢地對工程化有所瞭解,體會到工程化的嚴謹對之後的工做確定是大有幫助的。
3.工程化開發自我感受就是把每次的做業所須要的每一個類分配給每個程序員來編寫,每一個人各司其職,對本身負責的這個類進行各類安全性以及有效性的考量,同時要保證代碼的可讀性以及可維護性,最後編一個main類把每一個人寫的類整合起來造成一個完整的程序。
4.本學期的OO學習中,我沒有碰到其餘同窗那樣的各類撕逼什麼的(多是菜雞不想互啄8),bug基本報得有理有據,因此沒有那種跟測試者或者被測者撕起來而影響到對OO的學習心態,因此感受OO是帶點緊張(趕點ddl、星期五晚互測結果公佈)和體驗學到新知識的快樂中度過的。每次做業多多少少都能學到新的代碼寫法或者是產生新的代碼構思邏輯。但OO的這種互測制度仍是有必定漏洞的,常見的就好比測試者惡意扣分,還有就是測試者不用心測試,可能代碼都沒有拉下來,這樣對被測者是很不負責任的,並且在編寫測試集的時候一般也能夠發現本身的程序錯誤(本身常常測着測着發現找了本身幾個bug被測的卻都經過了)。還有就是被測者readme的過分限制雖然說指導書上沒能說起的能夠自行readme,但有的同窗就利用了readme來限制各類條件張口就來什麼不能這麼這麼輸入,而不是對本身的程序編寫代碼來應對readme內容的輸入而後再readme說輸入這些會怎麼怎麼樣,有的人甚至指導書有要求的也要readme,我佛了,不過結合以前本身的經歷多是互測時鑽readme空子的人太多了8,因此你們都對本身readme文檔比較注重。但願之後的OO指導書指導得可以明確一點,issue是很重要的一個討論區,但它畢竟不是指導書的補丁,同窗們可能就會在這上面對測試結果產生分歧什麼的。